Skip to content

Instantly share code, notes, and snippets.

@bryevdv
Created July 31, 2026 18:49
Show Gist options
  • Select an option

  • Save bryevdv/752b28a55656ff4c611ee8e345a38dcb to your computer and use it in GitHub Desktop.

Select an option

Save bryevdv/752b28a55656ff4c611ee8e345a38dcb to your computer and use it in GitHub Desktop.
Bokeh 3.10.0 adapted backport range diffs
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Bokeh PR #15029 — dual-color range diff</title>
<style>
:root { color-scheme: light; }
body {
margin: 0;
background: #ffffff;
color: #1f2328;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
header {
padding: 16px 20px;
border-bottom: 1px solid #d0d7de;
font-family: system-ui, sans-serif;
}
h1 { margin: 0 0 6px; font-size: 18px; }
p { margin: 0; color: #57606a; font-size: 14px; }
a { color: #0969da; }
.diff-added { background: rgb(26 127 55 / 10%); }
.diff-removed { background: rgb(207 34 46 / 10%); }
pre {
margin: 0;
padding: 20px;
overflow: auto;
font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
tab-size: 8;
}
</style>
</head>
<body>
<header>
<h1>Bokeh PR #15029 — dual-color range diff</h1>
<p>
<a href="https://github.com/bokeh/bokeh/commit/358f4cac7b619e7538f320f0138a95e0b204e8f7">original</a>
<a href="https://github.com/bokeh/bokeh/commit/13765b3e5418a1ae5eca90a6090ad7aff2a3977d">backport</a>
</p>
</header>
<pre><code><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">1: 358f4cac7b </span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold">!</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> 1: 13765b3e54</span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold"> Migrate to slickgrid 5.18 (#15029)</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">Commit message</span>
* fix package lock
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> (cherry picked from commit 358f4cac7b619e7538f320f0138a95e0b204e8f7)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span></span>
## bokehjs/package-lock.json ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@</span>
],
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/package-lock.json</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - },</span></span>
&quot;node_modules/json-buffer&quot;: {
&quot;version&quot;: &quot;3.0.1&quot;,
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> &quot;dev&quot;: true,</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> &quot;resolved&quot;: &quot;https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz&quot;,</span></span>
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@</span>
&quot;node&quot;: &quot;&gt;=8&quot;
}</code></pre>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Bokeh PR #15133 — dual-color range diff</title>
<style>
:root { color-scheme: light; }
body {
margin: 0;
background: #ffffff;
color: #1f2328;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
header {
padding: 16px 20px;
border-bottom: 1px solid #d0d7de;
font-family: system-ui, sans-serif;
}
h1 { margin: 0 0 6px; font-size: 18px; }
p { margin: 0; color: #57606a; font-size: 14px; }
a { color: #0969da; }
.diff-added { background: rgb(26 127 55 / 10%); }
.diff-removed { background: rgb(207 34 46 / 10%); }
pre {
margin: 0;
padding: 20px;
overflow: auto;
font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
tab-size: 8;
}
</style>
</head>
<body>
<header>
<h1>Bokeh PR #15133 — dual-color range diff</h1>
<p>
<a href="https://github.com/bokeh/bokeh/commit/ec0c71d62de592b7bcc0e651ae89a1ac1c5eb671">original</a>
<a href="https://github.com/bokeh/bokeh/commit/64f5d71275863173f500213f7fd8d4e8de5b7f58">backport</a>
</p>
</header>
<pre><code><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">1: ec0c71d62d </span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold">!</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> 1: 64f5d71275</span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold"> Invalidate datatable rows during initial render (#15133)</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">Commit message</span>
---------
Co-authored-by: Mateusz Paprocki &lt;mattpap@gmail.com&gt;
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> (cherry picked from commit ec0c71d62de592b7bcc0e651ae89a1ac1c5eb671)</span></span>
## bokehjs/src/lib/models/widgets/tables/data_table.ts ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/src/lib/models/widgets/tables/data_table.ts: export class DataTableView extends WidgetView {</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Bug__in_issue_#15123__doesn&#x27;t_allow_to_render_the_c</span>
## bokehjs/test/integration/regressions.ts ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/test/integration/regressions.ts: describe(&quot;Bug&quot;, () =&gt; {</span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> await view.ready</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> ).to.be.true</span></span>
})
})
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></code></pre></span>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Bokeh PR #15160 — dual-color range diff</title>
<style>
:root { color-scheme: light; }
body {
margin: 0;
background: #ffffff;
color: #1f2328;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
header {
padding: 16px 20px;
border-bottom: 1px solid #d0d7de;
font-family: system-ui, sans-serif;
}
h1 { margin: 0 0 6px; font-size: 18px; }
p { margin: 0; color: #57606a; font-size: 14px; }
a { color: #0969da; }
.diff-added { background: rgb(26 127 55 / 10%); }
.diff-removed { background: rgb(207 34 46 / 10%); }
pre {
margin: 0;
padding: 20px;
overflow: auto;
font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
tab-size: 8;
}
</style>
</head>
<body>
<header>
<h1>Bokeh PR #15160 — dual-color range diff</h1>
<p>
<a href="https://github.com/bokeh/bokeh/commit/f8f24f2f1f390c8ff217791965a548fb2a5b0ae7">original</a>
<a href="https://github.com/bokeh/bokeh/commit/5940d7f7acaee90d13c91f252c05ae35e3c84e0c">backport</a>
</p>
</header>
<pre><code><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">1: f8f24f2f1f </span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold">!</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> 1: 5940d7f7ac</span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold"> Autosize individual columns in DataTable with autosize_mode=&#x27;fit_viewport&#x27; (#15160)</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">Commit message</span>
* added baseline
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> (cherry picked from commit f8f24f2f1f390c8ff217791965a548fb2a5b0ae7)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span></span>
## bokehjs/src/lib/models/widgets/tables/data_table.ts ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/src/lib/models/widgets/tables/data_table.ts: export class DataTableView extends WidgetView {</span>
}
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Bug__in_issue_#15159__doesn&#x27;t_autosize_individual_c</span>
## bokehjs/test/integration/regressions.ts ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/test/integration/regressions.ts: describe(&quot;Bug&quot;, () =&gt; {</span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> expect(output.warn.includes(&quot;cannot determine location of axis based on its fixed_location&quot;)).to.be.true</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> await view.ready</span></span>
})
})
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></code></pre></span>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Bokeh PR #15183 — dual-color range diff</title>
<style>
:root { color-scheme: light; }
body {
margin: 0;
background: #ffffff;
color: #1f2328;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
header {
padding: 16px 20px;
border-bottom: 1px solid #d0d7de;
font-family: system-ui, sans-serif;
}
h1 { margin: 0 0 6px; font-size: 18px; }
p { margin: 0; color: #57606a; font-size: 14px; }
a { color: #0969da; }
.diff-added { background: rgb(26 127 55 / 10%); }
.diff-removed { background: rgb(207 34 46 / 10%); }
pre {
margin: 0;
padding: 20px;
overflow: auto;
font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
tab-size: 8;
}
</style>
</head>
<body>
<header>
<h1>Bokeh PR #15183 — dual-color range diff</h1>
<p>
<a href="https://github.com/bokeh/bokeh/commit/63bfbcc56640b5434fc55bc2006dba12b9c29367">original</a>
<a href="https://github.com/bokeh/bokeh/commit/87f4764e5e160500ed3247afacd91c80c5c9251d">backport</a>
</p>
</header>
<pre><code><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">1: 63bfbcc566 </span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold">!</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> 1: 87f4764e5e</span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold"> Handle Datatable not rendering when shared glyph is rendered first (#15183)</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">Commit message</span>
* fix pixel shift
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> (cherry picked from commit 63bfbcc56640b5434fc55bc2006dba12b9c29367)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span></span>
## bokehjs/src/lib/models/widgets/tables/data_table.ts ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/src/lib/models/widgets/tables/data_table.ts: export class DataTableView extends WidgetView {</span>
}</code></pre>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Bokeh PR #15190 — dual-color range diff</title>
<style>
:root { color-scheme: light; }
body {
margin: 0;
background: #ffffff;
color: #1f2328;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
header {
padding: 16px 20px;
border-bottom: 1px solid #d0d7de;
font-family: system-ui, sans-serif;
}
h1 { margin: 0 0 6px; font-size: 18px; }
p { margin: 0; color: #57606a; font-size: 14px; }
a { color: #0969da; }
.diff-added { background: rgb(26 127 55 / 10%); }
.diff-removed { background: rgb(207 34 46 / 10%); }
pre {
margin: 0;
padding: 20px;
overflow: auto;
font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
tab-size: 8;
}
</style>
</head>
<body>
<header>
<h1>Bokeh PR #15190 — dual-color range diff</h1>
<p>
<a href="https://github.com/bokeh/bokeh/commit/4692700f679d2521513b54d04d0a900a4b55b8dc">original</a>
<a href="https://github.com/bokeh/bokeh/commit/a4d7fad1ac1bcf5f15d2ddd1e2026917f3f38ac8">backport</a>
</p>
</header>
<pre><code><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">1: 4692700f67 </span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold">!</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> 1: a4d7fad1ac</span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold"> Fix syncing of selection between DataTable and CDS (#15190)</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">Commit message</span>
* added baseline image
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> (cherry picked from commit 4692700f679d2521513b54d04d0a900a4b55b8dc)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span></span>
## bokehjs/src/lib/models/widgets/tables/data_table.ts ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/src/lib/models/widgets/tables/data_table.ts: import type {Arrayable} from &quot;core/types&quot;</span>
import {dict} from &quot;core/util/object&quot;
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Bug__in_issue_#14565__doesn&#x27;t_allow_to_correctly_re</span>
## bokehjs/test/integration/regressions.ts ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/test/integration/regressions.ts: describe(&quot;Bug&quot;, () =&gt; {</span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> await view.ready</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> await display(new Row({children: [new Column({children: [table]}), p]}), [450, 250])</span></span>
})
})
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/regressions.ts: describe(&quot;Bug&quot;, () =&gt; {</span>
table.view.filter = new IndexFilter({indices: [0, 1, 2]})
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/unit/regressions.ts: ${view.host_selector} {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/unit/regressions.ts: describe(&quot;Bug&quot;, () =&gt; {</span></span>
})
})
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/regressions.ts: ${view.host_selector} {</span>
describe(&quot;in issue #14568&quot;, () =&gt; {
it(&quot;doesn&#x27;t allow zooming to respect bounds when using FactorRange&quot;, async () =&gt; {
const factors = [&quot;A&quot;, &quot;B&quot;, &quot;C&quot;]
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/unit/regressions.ts: ${view.host_selector} {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> expect(view.frame.bbox.height == 180)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/unit/regressions.ts: describe(&quot;Bug&quot;, () =&gt; {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> expect(view.frame.bbox.height).to.be.equal(180)</span></span>
})
})
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></code></pre></span>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Bokeh PR #15205 — dual-color range diff</title>
<style>
:root { color-scheme: light; }
body {
margin: 0;
background: #ffffff;
color: #1f2328;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
header {
padding: 16px 20px;
border-bottom: 1px solid #d0d7de;
font-family: system-ui, sans-serif;
}
h1 { margin: 0 0 6px; font-size: 18px; }
p { margin: 0; color: #57606a; font-size: 14px; }
a { color: #0969da; }
.diff-added { background: rgb(26 127 55 / 10%); }
.diff-removed { background: rgb(207 34 46 / 10%); }
pre {
margin: 0;
padding: 20px;
overflow: auto;
font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
tab-size: 8;
}
</style>
</head>
<body>
<header>
<h1>Bokeh PR #15205 — dual-color range diff</h1>
<p>
<a href="https://github.com/bokeh/bokeh/commit/d6699c44a611e99eb2b6b72c507b9ecb56476942">original</a>
<a href="https://github.com/bokeh/bokeh/commit/f24df1f08077ae37d0d687148fd404f9a087a080">backport</a>
</p>
</header>
<pre><code><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">1: d6699c44a6 </span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold">!</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> 1: f24df1f080</span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold"> Bokehjs tab load performance (#15205)</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">Commit message</span>
* Update Linux baseline for issue 8469
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> (cherry picked from commit d6699c44a611e99eb2b6b72c507b9ecb56476942)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span></span>
## bokehjs/src/lib/core/visuals/hatch.ts ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/src/lib/core/visuals/hatch.ts: export class Hatch extends VisualProperties {</span>
protected _update_iteration: number = 0
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/src/lib/core/visuals/visual.ts: export abstract class VisualProperties {</span>
}
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> ## bokehjs/src/lib/models/layouts/tabs.tsx ##</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/src/lib/models/layouts/tabs.tsx: export class TabsView extends LayoutDOMView {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> declare readonly values: Tabs.Attrs</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> ## bokehjs/src/lib/models/layouts/tabs.ts ##</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/src/lib/models/layouts/tabs.ts: export class TabsView extends LayoutDOMView {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> declare model: Tabs</span></span>
protected tooltip_views: ViewStorage&lt;Tooltip&gt; = new Map()
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + protected readonly _materialized_tabs: Set&lt;UIElement&gt; = new Set()</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> protected header_el: HTMLElement</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> headers_wrapper_el: HTMLElement</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> header_els: HTMLElement[]</span></span>
override connect_signals(): void {
super.connect_signals()
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- const {tabs} = this.model.properties</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ const {active, link_layouts, tabs} = this.model.properties</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- const {tabs, active} = this.model.properties</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ const {tabs, active, link_layouts} = this.model.properties</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> this.on_change(tabs, async () =&gt; {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> this._update_headers()</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> await this.update_children()</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ this.update_active()</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> })</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- this.on_change(active, () =&gt; {</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + this.on_change([active, link_layouts], async () =&gt; {</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await this.update_children()</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ })</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> this.update_active()</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> })</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ this.on_transitive_change(tabs, async () =&gt; {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ await this.update_children()</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ this.update_active()</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ }, {signal: (tab) =&gt; (tab as TabPanel).properties.child.change})</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> }</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> this.on_transitive_change(tabs, async () =&gt; {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> await this.update_children()</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/src/lib/models/layouts/tabs.tsx: export class TabsView extends LayoutDOMView {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> override async lazy_initialize(): Promise&lt;void&gt; {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/src/lib/models/layouts/tabs.ts: export class TabsView extends LayoutDOMView {</span></span>
}
get child_models(): UIElement[] {
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/src/lib/models/layouts/tabs.tsx: export class TabsView extends LayoutDOM</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + this._materialized_tabs.add(tabs[this.normalized_active].child)</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + return children.filter((child) =&gt; this._materialized_tabs.has(child))</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + }</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ }</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ get normalized_active(): number {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ return Math.max(0, Math.min(this.model.active, this.model.tabs.length - 1))</span></span>
}
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> override _update_layout(): void {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/src/lib/models/layouts/tabs.tsx: export class TabsView extends LayoutDOMView {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> )</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> })</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> protected override _intrinsic_display(): FullDisplay {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/src/lib/models/layouts/tabs.ts: export class TabsView extends LayoutDOMView {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> }</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> </span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> update_active(): void {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- const i = this.model.active</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ const i = this.normalized_active</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- const panel_els = this.sig_child_views.map((view, i) =&gt; {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ const child_views = this.sig_child_views</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ const panel_els = tabs.map((tab, i) =&gt; {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> const is_active = i == active</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> const active_cls = is_active ? tabs_css.active : null</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ const view = child_views.find((view) =&gt; view.model == tab.child)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> const {header_els} = this</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> for (const el of header_els) {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/src/lib/models/layouts/tabs.ts: export class TabsView extends LayoutDOMView {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> hide(child_view.el)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> }</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> const ref = (el: HTMLElement | null) =&gt; {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- if (el != null) {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ if (el != null &amp;&amp; view != null) {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> view.render_to(el)</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> view.r_after_render()</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> }</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- if (i in child_views) {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- show(child_views[i].el)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ const active_child = this.model.tabs[i]?.child</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ const active_view = child_views.find((view) =&gt; view.model == active_child)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ if (active_view != null) {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ show(active_view.el)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> }</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> }</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> }</span></span>
## bokehjs/src/lib/models/plots/plot_canvas.ts ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/src/lib/models/plots/plot_canvas.ts: export class PlotView extends LayoutDOMView implements Paintable {</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/src/lib/models/renderers/composite_renderer.ts: export abstract class Co</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + protected _computed_element_views: ViewOf&lt;ElementLike&gt;[] = []</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> override _children_views(): ChildView[] {</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> return [...super._children_views(), ...this.renderer_views, ...this.element_views]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> override children_views(): ChildView[] {</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> return [...super.children_views(), ...this.renderer_views, ...this.element_views]</span></span>
}
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/src/lib/models/renderers/composite_renderer.ts: export abstract class CompositeRendererView extends RendererView {</span>
return [...this.model.renderers, ...this._computed_renderers]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/src/lib/models/renderers/composite_renderer.ts: export abstract class Co</span>
protected async _update_renderers(): Promise&lt;void&gt; {
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> ## bokehjs/test/baselines/linux/Bug__in_PR_#15184__should_maintain_consistent_tab_widths_regardless_of_the_active_tab.blf ##</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> Column bbox=[0, 0, 173, 112]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> Tabs bbox=[0, 0, 173, 56]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> Div bbox=[5, 34, 29, 17]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Div bbox=[5, 34, 29, 17]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> Tabs bbox=[0, 56, 173, 56]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> Div bbox=[5, 34, 29, 17]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Div bbox=[5, 34, 29, 17]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span></span>
## bokehjs/test/baselines/linux/Bug__in_issue_#12465__doesn&#x27;t_allow_to_correctly_display_DataTable_in_Tabs.blf ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@</span>
Tabs bbox=[0, 0, 310, 189]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Bug__in_issue_#14417__supports_scrollable_headers_f</span>
Scatter bbox=[37, 13, 150, 157]
LinearAxis bbox=[29, 178, 166, 22]
LinearAxis bbox=[0, 5, 29, 173]
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[37, 13, 150, 157]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[29, 178, 166, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 29, 173]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[121, 0, 200, 200]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[136, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 200, 200]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[29, 5, 166, 173]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[37, 13, 150, 157]</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Bug__in_issue_#9133__doesn&#x27;t_allow_to_set_fixed_siz</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - ClickButton bbox=[0, 147, 30, 30]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - ClickButton bbox=[0, 177, 30, 30]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> ## bokehjs/test/baselines/linux/Examples__should_support_custom_styles_to_follow_Office_like_styling.blf ##</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Examples__should_support_custom_styles_to_follow_Office_like_styling.blf: Row bbox=[0, 0, 1220, 1030]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> ClickButton bbox=[0, 117, 30, 30]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> ClickButton bbox=[0, 147, 30, 30]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> ClickButton bbox=[0, 177, 30, 30]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[1, 32, 600, 600]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Canvas bbox=[0, 0, 600, 600]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- CartesianFrame bbox=[22, 5, 548, 572]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- GlyphRenderer bbox=[47, 31, 498, 520]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Line bbox=[47, 31, 498, 520]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- LinearAxis bbox=[22, 577, 548, 23]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- LinearAxis bbox=[0, 5, 22, 572]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Title bbox=[22, 5, 548, 0]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- ToolbarPanel bbox=[570, 5, 30, 572]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Toolbar bbox=[570, 5, 30, 572]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- OnOffButton bbox=[0, 25, 30, 30]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- OnOffButton bbox=[0, 55, 30, 30]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- OnOffButton bbox=[0, 86, 30, 30]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- ClickButton bbox=[0, 117, 30, 30]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- ClickButton bbox=[0, 147, 30, 30]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- ClickButton bbox=[0, 177, 30, 30]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> Column bbox=[602, 0, 600, 906]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> TextInput bbox=[5, 5, 320, 59]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> PasswordInput bbox=[5, 75, 241, 36]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above.blf: Tabs bbox=[0, 0, 133, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above.blf: Tabs bbox=[0, 0, 123, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above.blf:</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_active_==_1.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_active_==_1.blf: Tabs bbox=[0, 0, 133, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_active_==_1.blf: Tabs bbox=[0, 0, 123, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_disabled=true.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_disabled=true.blf: Tabs bbox=[0, 0, 133, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_disabled=true.blf: Tabs bbox=[0, 0, 123, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_overflow.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_overflow.blf: Tabs bbox=[0, 0, 250, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_overflow.blf: Tabs bbox=[0, 0, 231, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_overflow_and_active_off-screen.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_overflow_and_active_off-screen.blf: Tabs bbox=[0, 0, 250, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_overflow_and_active_off-screen.blf: Tabs bbox=[0, 0, 231, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_second_tab_disabled.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_second_tab_disabled.blf: Tabs bbox=[0, 0, 133, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_second_tab_disabled.blf: Tabs bbox=[0, 0, 123, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_above_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below.blf: Tabs bbox=[0, 0, 133, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below.blf: Tabs bbox=[0, 0, 123, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below.blf:</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_active_==_1.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_active_==_1.blf: Tabs bbox=[0, 0, 133, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_active_==_1.blf: Tabs bbox=[0, 0, 123, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_disabled=true.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_disabled=true.blf: Tabs bbox=[0, 0, 133, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_disabled=true.blf: Tabs bbox=[0, 0, 123, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_overflow.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_overflow.blf: Tabs bbox=[0, 0, 250, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_overflow.blf: Tabs bbox=[0, 0, 231, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_overflow_and_active_off-screen.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_overflow_and_active_off-screen.blf: Tabs bbox=[0, 0, 250, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_overflow_and_active_off-screen.blf: Tabs bbox=[0, 0, 231, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_second_tab_disabled.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_second_tab_disabled.blf: Tabs bbox=[0, 0, 133, 129]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_below_with_second_tab_disabled.blf: Tabs bbox=[0, 0, 123, 129]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left.blf: T</span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[51, 0, 100, 100]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[50, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[26, 5, 69, 73]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[29, 8, 63, 67]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[29, 8, 63, 67]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[26, 78, 69, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[51, 0, 100, 100]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[50, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[26, 5, 69, 73]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[29, 8, 63, 67]</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_a</span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[51, 0, 100, 100]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[50, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[26, 5, 69, 73]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[29, 8, 63, 67]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[29, 8, 63, 67]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[26, 78, 69, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[51, 0, 100, 100]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[50, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[26, 5, 69, 73]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[29, 8, 63, 67]</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_d</span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[51, 0, 100, 100]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[50, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[26, 5, 69, 73]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[29, 8, 63, 67]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[29, 8, 63, 67]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[26, 78, 69, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[51, 0, 100, 100]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[50, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[26, 5, 69, 73]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[29, 8, 63, 67]</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_d</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_overflow.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_overflow.blf: Tabs bbox=[0, 0, 167, 151]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_overflow.blf: Tabs bbox=[0, 0, 167, 135]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_o</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_overflow_and_active_off-screen.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_overflow_and_active_off-screen.blf: Tabs bbox=[0, 0, 167, 151]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_overflow_and_active_off-screen.blf: Tabs bbox=[0, 0, 167, 135]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_left_with_s</span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[51, 0, 100, 100]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[50, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[26, 5, 69, 73]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[29, 8, 63, 67]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Scatter bbox=[29, 8, 63, 67]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[26, 78, 69, 22]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #e79096; text-decoration-color: #e79096">- Figure bbox=[51, 0, 100, 100]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- Figure bbox=[50, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - Canvas bbox=[0, 0, 100, 100]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - CartesianFrame bbox=[26, 5, 69, 73]</span></span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - GlyphRenderer bbox=[29, 8, 63, 67]</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_right_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_right_with_overflow.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_right_with_overflow.blf: Tabs bbox=[0, 0, 167, 151]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_right_with_overflow.blf: Tabs bbox=[0, 0, 167, 135]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_right_with_</span>
<span class="diff-removed"> <span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold"> - LinearAxis bbox=[0, 5, 26, 73]</span></span>
## bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_right_with_overflow_and_active_off-screen.blf ##
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_right_with_overflow_and_active_off-screen.blf: Tabs bbox=[0, 0, 167, 151]</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ bokehjs/test/baselines/linux/Tabs__should_allow_tabs_header_location_right_with_overflow_and_active_off-screen.blf: Tabs bbox=[0, 0, 167, 135]</span></span>
Scatter bbox=[29, 8, 63, 67]
LinearAxis bbox=[26, 78, 69, 22]
LinearAxis bbox=[0, 5, 26, 73]
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/core/visuals.ts: export class SomeModel extends Model {</span>
## bokehjs/test/unit/models/layouts/tabs.ts ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@</span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> import {expect, expect_instanceof} from &quot;#framework/assertions&quot;</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> import {expect, expect_not_null} from &quot;#framework/assertions&quot;</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +import {display} from &quot;#framework/layouts&quot;</span></span>
import {TabPanel} from &quot;@bokehjs/models/layouts/tab_panel&quot;
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/models/layouts/tabs.ts: import {Range1d} from &quot;@bokehjs/models</span>
describe(&quot;Tabs&quot;, () =&gt; {
function new_tabs(num_panels: number, add_tooltip: boolean = false): Tabs {
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ bokehjs/test/unit/models/layouts/tabs.ts: describe(&quot;Tabs&quot;, () =&gt; {</span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> expect(tabs.active).to.be.equal(1) // Should select old index 2, which is now index 1</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> expect(tabs.tabs.length).to.be.equal(2)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> expect(tab.tooltip.content).to.be.equal(`Tab #${i}`)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> }</span></span>
})
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + it(&quot;should retain materialized tab child views&quot;, async () =&gt; {</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + const tabs = new_tabs(3)</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + const {view: tabs_view} = await display(tabs, null)</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ const [view0] = tabs_view.sig_child_views</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ const [view0] = tabs_view.child_views</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(view0.model).to.be.identical(tabs.tabs[0].child)</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + tabs.active = 1</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await defer()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ const [retained_view0, view1] = tabs_view.sig_child_views</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ const [retained_view0, view1] = tabs_view.child_views</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(retained_view0).to.be.identical(view0)</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(view1.model).to.be.identical(tabs.tabs[1].child)</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + tabs.active = 0</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await defer()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ expect(tabs_view.sig_child_views).to.be.equal([view0, view1])</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ expect(tabs_view.child_views).to.be.equal([view0, view1])</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(view0.is_destroyed).to.be.false</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(view1.is_destroyed).to.be.false</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + })</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/models/layouts/tabs.ts: describe(&quot;Tabs&quot;, () =&gt; {</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await defer()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await tabs_view.ready</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ const [view0, view1] = tabs_view.sig_child_views</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ const [view0, view1] = tabs_view.child_views</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + tabs.tabs = [tab1, tab2]</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await defer()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await tabs_view.ready</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ const [retained_view1, view2] = tabs_view.sig_child_views</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ const [retained_view1, view2] = tabs_view.child_views</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(retained_view1).to.be.identical(view1)</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(view0.model).to.be.identical(tab0.child)</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(view0.is_destroyed).to.be.true</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/models/layouts/tabs.ts: describe(&quot;Tabs&quot;, () =&gt; {</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await defer()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await tabs_view.ready</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ const [still_retained_view1, replacement_view] = tabs_view.sig_child_views</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ const [still_retained_view1, replacement_view] = tabs_view.child_views</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(still_retained_view1).to.be.identical(view1)</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(view2.is_destroyed).to.be.true</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(replacement_view.model).to.be.identical(replacement)</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/models/layouts/tabs.ts: describe(&quot;Tabs&quot;, () =&gt; {</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await defer()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await tabs_view.ready</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ expect(tabs_view.sig_child_views).to.be.equal([])</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ expect(tabs_view.child_views).to.be.equal([])</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(view1.is_destroyed).to.be.true</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(replacement_view.is_destroyed).to.be.true</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/models/layouts/tabs.ts: describe(&quot;Tabs&quot;, () =&gt; {</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await defer()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await tabs_view.ready</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ expect(tabs_view.sig_child_views.map((view) =&gt; view.model)).to.be.equal([restored[1].child])</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ expect(tabs_view.child_views.map((view) =&gt; view.model)).to.be.equal([restored[1].child])</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + })</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + it(&quot;should eagerly materialize all tab children only when layouts are linked&quot;, async () =&gt; {</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/models/layouts/tabs.ts: describe(&quot;Tabs&quot;, () =&gt; {</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + tabs.link_layouts = true</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + const {view: tabs_view} = await display(tabs, null)</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ const linked_views = tabs_view.sig_child_views</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ const linked_views = tabs_view.child_views</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(linked_views.map((view) =&gt; view.model)).to.be.equal(tabs.tabs.map((tab) =&gt; tab.child))</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + tabs.link_layouts = false</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await defer()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await tabs_view.ready</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ expect(tabs_view.sig_child_views.map((view) =&gt; view.model)).to.be.equal([tabs.tabs[0].child])</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ expect(tabs_view.sig_child_views[0]).to.be.identical(linked_views[0])</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ expect(tabs_view.child_views.map((view) =&gt; view.model)).to.be.equal([tabs.tabs[0].child])</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ expect(tabs_view.child_views[0]).to.be.identical(linked_views[0])</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(linked_views[1].is_destroyed).to.be.true</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + expect(linked_views[2].is_destroyed).to.be.true</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/models/layouts/tabs.ts: describe(&quot;Tabs&quot;, () =&gt; {</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await defer()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await tabs_view.ready</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ expect(tabs_view.sig_child_views.map((view) =&gt; view.model)).to.be.equal([</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ expect(tabs_view.child_views.map((view) =&gt; view.model)).to.be.equal([</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + tabs.tabs[0].child,</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + tabs.tabs[1].child,</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + ])</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">bokehjs/test/unit/models/layouts/tabs.ts: describe(&quot;Tabs&quot;, () =&gt; {</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await defer()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + await tabs_view.ready</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+ expect(tabs_view.sig_child_views.map((view) =&gt; view.model)).to.be.equal(tabs.tabs.map((tab) =&gt; tab.child))</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ expect(tabs_view.child_views.map((view) =&gt; view.model)).to.be.equal(tabs.tabs.map((tab) =&gt; tab.child))</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + })</span></span>
})
</code></pre>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Bokeh PR #15239 — dual-color range diff</title>
<style>
:root { color-scheme: light; }
body {
margin: 0;
background: #ffffff;
color: #1f2328;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
header {
padding: 16px 20px;
border-bottom: 1px solid #d0d7de;
font-family: system-ui, sans-serif;
}
h1 { margin: 0 0 6px; font-size: 18px; }
p { margin: 0; color: #57606a; font-size: 14px; }
a { color: #0969da; }
.diff-added { background: rgb(26 127 55 / 10%); }
.diff-removed { background: rgb(207 34 46 / 10%); }
pre {
margin: 0;
padding: 20px;
overflow: auto;
font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
tab-size: 8;
}
</style>
</head>
<body>
<header>
<h1>Bokeh PR #15239 — dual-color range diff</h1>
<p>
<a href="https://github.com/bokeh/bokeh/commit/452a9d41d305be349c439a1a30e79dd6780a4eca">original</a>
<a href="https://github.com/bokeh/bokeh/commit/40c9a3b9dfb05cf927c001ceafb4a9c41508049d">backport</a>
</p>
</header>
<pre><code><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">1: 452a9d41d3 </span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold">!</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> 1: 40c9a3b9df</span><span style="color: #9a6700; text-decoration-color: #9a6700; font-weight: bold"> Make Bokeh server usable by ASGI frameworks without Tornado (#15239)</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">Commit message</span>
* Support directory applications in BokehASGI
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> (cherry picked from commit 452a9d41d305be349c439a1a30e79dd6780a4eca)</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span></span>
## docs/bokeh/source/docs/first_steps/installation.rst ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ docs/bokeh/source/docs/first_steps/installation.rst: Bokeh can be installed using either the Python package installer ``pip``, or</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">tests/unit/bokeh/embed/test_server__embed.py: class TestServerDocument:</span>
## tests/unit/bokeh/io/test_doc.py ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ tests/unit/bokeh/io/test_doc.py: import pytest ; pytest</span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> #-----------------------------------------------------------------------------</span></span>
# Standard library imports
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> import gc</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+import gc</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +import threading</span></span>
import weakref
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">tests/unit/bokeh/io/test_doc.py: def test_patch_curdoc() -&gt; None:</span>
def _doc():
return Document()
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold">@@ tests/unit/bokeh/io/test_doc.py: def test_patch_curdoc_weakref_raises() -&gt; None:</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> bid.curdoc()</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> assert str(e.value) == &quot;Patched curdoc has been previously destroyed&quot;</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> def test_patch_curdoc_weakref_raises() -&gt; None:</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> with bid.patch_curdoc(_doc()):</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ gc.collect()</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> with pytest.raises(RuntimeError) as e:</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> bid.curdoc()</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #cf222e; text-decoration-color: #cf222e; font-weight: bold">- assert str(e) == &quot;Patched curdoc has been previously destroyed&quot;</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+ assert str(e.value) == &quot;Patched curdoc has been previously destroyed&quot;</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold">+</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +def test_patch_curdoc_is_context_local() -&gt; None:</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + docs = [Document(), Document()]</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + barrier = threading.Barrier(2)</span></span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">tests/unit/bokeh/io/test_doc.py: def test_patch_curdoc_weakref_raises() -&gt; None:</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + thread.join()</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> + assert set(seen) == set(docs)</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8cbf9b; text-decoration-color: #8cbf9b">+</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> </span></span>
#-----------------------------------------------------------------------------
# Private API
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> #-----------------------------------------------------------------------------</span></span>
## tests/unit/bokeh/server/_util_server.py ##
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ tests/unit/bokeh/server/_util_server.py: async def http_get(io_loop: IOLoop, url: str, headers: dict[str, str] | None = N</span>
<span style="background-color: #fbefff; color: #8250df; font-weight: bold">@@</span> <span style="color: #afafd7; text-decoration-color: #afafd7; font-weight: bold">tests/unit/bokeh/test_typing.py: if TYPE_CHECKING:</span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +from bokeh.document import Document</span></span>
<span class="diff-added"> <span style="color: #1a7f37; text-decoration-color: #1a7f37; font-weight: bold"> +from bokeh.io import curdoc</span></span>
from bokeh.models.annotations import LegendItem
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> from bokeh.models.ranges import Range1d</span></span>
<span class="diff-removed"> <span style="background-color: #ffebe9; color: #cf222e; font-weight: bold">-</span><span style="color: #8f9193; text-decoration-color: #8f9193"> from bokeh.models.tools import HoverTool, PanTool</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> from bokeh.plotting import figure</span></span>
<span class="diff-added"> <span style="background-color: #dafbe1; color: #1a7f37; font-weight: bold">+</span><span style="font-weight: bold"> </span></span>
<span style="color: #8250df; text-decoration-color: #8250df; font-weight: bold"> @@ tests/unit/bokeh/test_typing.py: from bokeh.plotting import figure</span>
# General API
#-----------------------------------------------------------------------------</code></pre>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment