mirror of
https://github.com/dirtydishes/dreamio.git
synced 2026-06-06 13:37:24 +00:00
236 lines
No EOL
241 KiB
HTML
236 lines
No EOL
241 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Streamline Native Player Controls</title>
|
|
<style>
|
|
:root {
|
|
color-scheme: light;
|
|
--ink: #17151f;
|
|
--muted: #686174;
|
|
--paper: #fbfaf8;
|
|
--panel: #f2f0ec;
|
|
--line: #ded9d1;
|
|
--accent: #6f55d9;
|
|
--accent-soft: #ebe6ff;
|
|
--good: #166b4a;
|
|
}
|
|
body {
|
|
margin: 0;
|
|
background: var(--paper);
|
|
color: var(--ink);
|
|
font: 16px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
}
|
|
main {
|
|
max-width: 980px;
|
|
margin: 0 auto;
|
|
padding: 48px 22px 72px;
|
|
}
|
|
header {
|
|
border-bottom: 1px solid var(--line);
|
|
margin-bottom: 32px;
|
|
padding-bottom: 24px;
|
|
}
|
|
h1 {
|
|
font-size: clamp(2rem, 5vw, 3.4rem);
|
|
line-height: 1.02;
|
|
margin: 0 0 14px;
|
|
letter-spacing: 0;
|
|
}
|
|
h2 {
|
|
font-size: 1.05rem;
|
|
margin: 34px 0 10px;
|
|
text-transform: uppercase;
|
|
letter-spacing: .08em;
|
|
color: var(--accent);
|
|
}
|
|
p { max-width: 72ch; }
|
|
ul { padding-left: 1.25rem; }
|
|
li { margin: 6px 0; }
|
|
code {
|
|
font-family: "SF Mono", Menlo, Consolas, monospace;
|
|
background: var(--panel);
|
|
border: 1px solid var(--line);
|
|
border-radius: 5px;
|
|
padding: 1px 5px;
|
|
}
|
|
.summary {
|
|
font-size: 1.12rem;
|
|
color: var(--muted);
|
|
max-width: 74ch;
|
|
}
|
|
.callout {
|
|
background: var(--accent-soft);
|
|
border: 1px solid color-mix(in srgb, var(--accent) 24%, transparent);
|
|
border-radius: 8px;
|
|
padding: 14px 16px;
|
|
max-width: 74ch;
|
|
}
|
|
.validation {
|
|
color: var(--good);
|
|
font-weight: 700;
|
|
}
|
|
.diff-frame {
|
|
margin-top: 14px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 8px;
|
|
overflow: auto;
|
|
background: #fff;
|
|
max-height: 720px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<header>
|
|
<h1>Streamline Native Player Controls</h1>
|
|
<p class="summary">The native playback overlay was reduced from a large bottom control panel into a compact, centered control pill that leaves more of the video visible while preserving playback, seeking, jump, captions, and close actions.</p>
|
|
</header>
|
|
|
|
<section>
|
|
<h2>Summary</h2>
|
|
<p>Dreamio's native player controls now occupy much less vertical and horizontal space. The bottom controls use tighter padding, smaller circular buttons, smaller time labels, and a slimmer scrubber thumb so the screen feels more like a native iOS video player.</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Changes Made</h2>
|
|
<ul>
|
|
<li>Reworked the controls from a wide full-width panel into a centered compact overlay capped at 430 points.</li>
|
|
<li>Combined elapsed time, scrubber, and remaining time into one horizontal row.</li>
|
|
<li>Reduced button sizes while keeping circular targets for close, jump, play/pause, and captions.</li>
|
|
<li>Reduced control padding and spacing to lower the overlay height.</li>
|
|
<li>Added custom scrubber thumb images for a slimmer native-feeling slider.</li>
|
|
</ul>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Context</h2>
|
|
<p>The previous player overlay was visually heavy and could feel like it took over the bottom half of the playback surface. The requested direction was to make it much more streamlined and closer to a native player experience.</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Important Implementation Details</h2>
|
|
<p>The behavior lives in <code>Dreamio/NativePlayerViewController.swift</code>. This change only adjusts the UIKit control layout and visual treatment. It does not change VLC playback, stream resolution, subtitle selection behavior, timers, or dismiss behavior.</p>
|
|
<p>The compact overlay keeps the scrubber usable by giving it a minimum width while allowing the container to shrink to its content and stay within the safe area.</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Relevant Diff Snippets</h2>
|
|
<p>The rendered diff below was generated with <code>@pierre/diffs/ssr</code>.</p>
|
|
<div class="diff-frame"><svg data-icon-sprite aria-hidden="true" width="0" height="0">
|
|
<symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
|
|
<path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-brand-github" viewBox="0 0 16 16">
|
|
<path d="M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-chevron" viewBox="0 0 16 16">
|
|
<path d="M1.47 4.47a.75.75 0 0 1 1.06 0L8 9.94l5.47-5.47a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-chevrons-narrow" viewBox="0 0 10 16">
|
|
<path d="M4.47 2.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1-1.06 1.06L5 3.81 2.28 6.53a.75.75 0 0 1-1.06-1.06zM1.22 9.47a.75.75 0 0 1 1.06 0L5 12.19l2.72-2.72a.75.75 0 0 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0l-3.25-3.25a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-diff-split" viewBox="0 0 16 16">
|
|
<path d="M14 0H8.5v16H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2m-1.5 6.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0"/><path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.5V0zm.5 7.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1" opacity=".3"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-diff-unified" viewBox="0 0 16 16">
|
|
<path fill-rule="evenodd" d="M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8.5h16zm-8-4a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1A.5.5 0 0 0 8 10" clip-rule="evenodd"/><path fill-rule="evenodd" d="M14 0a2 2 0 0 1 2 2v5.5H0V2a2 2 0 0 1 2-2zM6.5 3.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z" clip-rule="evenodd" opacity=".4"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-expand" viewBox="0 0 16 16">
|
|
<path d="M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-expand-all" viewBox="0 0 16 16">
|
|
<path d="M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-file-code" viewBox="0 0 16 16">
|
|
<path d="M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z"/><path d="M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-plus" viewBox="0 0 16 16">
|
|
<path d="M8 3a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 8 3"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-added" viewBox="0 0 16 16">
|
|
<path d="M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-deleted" viewBox="0 0 16 16">
|
|
<path d="M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-diffstat" viewBox="0 0 16 16">
|
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-ignored" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-modified" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-moved" viewBox="0 0 16 16">
|
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05"/>
|
|
</symbol>
|
|
<symbol id="diffs-icon-symbol-ref" viewBox="0 0 16 16">
|
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"/>
|
|
</symbol>
|
|
</svg><style data-core-css="">@layer base, theme, rendered, unsafe;
|
|
@layer base,theme,rendered,unsafe;@layer base{:host{--diffs-font-fallback:"SF Mono", Monaco, Consolas, "Ubuntu Mono", "Liberation Mono", "Courier New", monospace;--diffs-header-font-fallback:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;--diffs-mixer:light-dark(#000,#fff);--diffs-gap-fallback:8px;--diffs-scrollbar-gutter-fallback:6px;--diffs-scrollbar-gutter:var(--diffs-scrollbar-gutter-override,var(--diffs-scrollbar-gutter-measured,var(--diffs-scrollbar-gutter-fallback)));--diffs-added-light:#0dbe4e;--diffs-added-dark:#5ecc71;--diffs-modified-light:#009fff;--diffs-modified-dark:#69b1ff;--diffs-deleted-light:#ff2e3f;--diffs-deleted-dark:#ff6762;color-scheme:light dark;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);font-feature-settings:var(--diffs-font-features);--diffs-bg:light-dark(var(--diffs-light-bg,#fff),var(--diffs-dark-bg,#000));--diffs-bg-buffer:var(--diffs-bg-buffer-override,light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));--diffs-bg-context:var(--diffs-bg-context-override,light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));--diffs-bg-context-gutter:var(--diffs-bg-context-gutter-override,light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));--diffs-bg-separator:var(--diffs-bg-separator-override,light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));--diffs-fg:light-dark(var(--diffs-light,#000),var(--diffs-dark,#fff));--diffs-fg-number:var(--diffs-fg-number-override,light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));--diffs-fg-conflict-marker:var(--diffs-fg-conflict-marker-override,var(--diffs-fg-number));--diffs-deletion-base:var(--diffs-deletion-color-override,light-dark(var(--diffs-light-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-light))),var(--diffs-dark-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-dark)))));--diffs-addition-base:var(--diffs-addition-color-override,light-dark(var(--diffs-light-addition-color,var(--diffs-addition-color,var(--diffs-added-light))),var(--diffs-dark-addition-color,var(--diffs-addition-color,var(--diffs-added-dark)))));--diffs-modified-base:var(--diffs-modified-color-override,light-dark(var(--diffs-light-modified-color,var(--diffs-modified-color,var(--diffs-modified-light))),var(--diffs-dark-modified-color,var(--diffs-modified-color,var(--diffs-modified-dark)))));--diffs-bg-deletion:var(--diffs-bg-deletion-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));--diffs-bg-deletion-emphasis:var(--diffs-bg-deletion-emphasis-override,light-dark(rgb(from var(--diffs-deletion-base) r g b / .15),rgb(from var(--diffs-deletion-base) r g b / .2)));--diffs-bg-addition:var(--diffs-bg-addition-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));--diffs-bg-addition-emphasis:var(--diffs-bg-addition-emphasis-override,light-dark(rgb(from var(--diffs-addition-base) r g b / .15),rgb(from var(--diffs-addition-base) r g b / .2)));--diffs-selection-base:var(--diffs-modified-base);--diffs-selection-number-fg:light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));background-color:var(--diffs-bg);color:var(--diffs-fg);display:block}pre,code,[data-error-wrapper]{isolation:isolate;font-family:var(--diffs-font-family,var(--diffs-font-fallback));outline:none;margin:0;padding:0;display:block}pre,code{background-color:var(--diffs-bg)}code{contain:content}*,:before,:after{box-sizing:border-box}[data-icon-sprite]{display:none}[data-diffs-header],[data-separator]{font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback))}[data-diffs-header][data-sticky]{z-index:1;background-color:var(--diffs-bg);position:sticky;top:0}[data-file-info]{color:var(--fg);background-color:color-mix(in lab, var(--bg) 98%, var(--fg));border-block:1px solid color-mix(in lab, var(--bg) 95%, var(--fg));padding:10px;font-weight:700}[data-diff],[data-file]{--diffs-grid-number-column-width:minmax(min-content, max-content);--diffs-code-grid:var(--diffs-grid-number-column-width) 1fr}[data-dehydrated]:is([data-diff],[data-file]){--diffs-code-grid:var(--diffs-grid-number-column-width) minmax(0, 1fr)}:is([data-diff],[data-file]):hover [data-code]::-webkit-scrollbar-thumb{background-color:var(--diffs-bg-context)}@supports (-webkit-touch-callout:none){:host{--diffs-scrollbar-gutter-fallback:0px}}[data-line] span{color:light-dark(var(--diffs-token-light,var(--diffs-light)),var(--diffs-token-dark,var(--diffs-dark)));background-color:light-dark(var(--diffs-token-light-bg,inherit),var(--diffs-token-dark-bg,inherit));font-weight:light-dark(var(--diffs-token-light-font-weight,inherit),var(--diffs-token-dark-font-weight,inherit));font-style:light-dark(var(--diffs-token-light-font-style,inherit),var(--diffs-token-dark-font-style,inherit));-webkit-text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit));text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit))}[data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);color:var(--diffs-fg);background-color:var(--diffs-line-bg,var(--diffs-bg))}@media (pointer:fine){:is([data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]):where([data-hovered]){--diffs-computed-hovered-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-selected-line-bg) 97%, var(--diffs-bg-hover-override,var(--diffs-mixer))),color-mix(in lab, var(--diffs-computed-selected-line-bg) 91%, var(--diffs-bg-hover-override,var(--diffs-mixer))));--diffs-line-bg:var(--diffs-computed-hovered-line-bg,inherit)}}[data-decoration-bg]:is([data-line],[data-no-newline]){--mix-deco-light:92%;--mix-deco-dark:85%}[data-decoration-bg][data-decoration-bg-depth="2"]:is([data-line],[data-no-newline]){--mix-deco-light:88%;--mix-deco-dark:80%}[data-decoration-bg][data-decoration-bg-depth="3"]:is([data-line],[data-no-newline]){--mix-deco-light:85%;--mix-deco-dark:78%}@media (pointer:fine){[data-decoration-bg][data-hovered]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:85%;--mix-deco-dark:85%}[data-decoration-bg][data-hovered][data-decoration-bg-depth="2"]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:83%;--mix-deco-dark:83%}[data-decoration-bg][data-hovered][data-decoration-bg-depth="3"]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:81%;--mix-deco-dark:81%}}[data-decoration-bg]:is([data-line],[data-no-newline]){--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) var(--mix-deco-light), var(--diffs-decoration-bg)),color-mix(in lab, var(--diffs-bg) var(--mix-deco-dark), var(--diffs-decoration-bg)));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-line-annotation],[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context);--diffs-computed-decoration-bg:var(--diffs-annotation-bg);--diffs-computed-diff-line-bg:var(--diffs-annotation-bg);--diffs-computed-selected-line-bg:var(--diffs-annotation-bg);--diffs-line-bg:var(--diffs-annotation-bg)}[data-merge-conflict-actions],[data-gutter-buffer=merge-conflict-action],[data-gutter-buffer=merge-conflict-marker-base],[data-gutter-buffer=merge-conflict-marker-separator],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator]{--diffs-computed-decoration-bg:var(--diffs-bg-context);--diffs-computed-diff-line-bg:var(--diffs-bg-context);--diffs-computed-selected-line-bg:var(--diffs-bg-context);--diffs-line-bg:var(--diffs-bg-context)}[data-gutter-buffer=merge-conflict-marker-start],[data-merge-conflict=marker-start]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-gutter-buffer=merge-conflict-marker-end],[data-merge-conflict=marker-end]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-has-merge-conflict] [data-line-annotation],[data-has-merge-conflict] [data-gutter-buffer=annotation]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);--diffs-line-bg:var(--diffs-bg)}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number]{--mix-light:91%;--mix-dark:85%}:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--mix-light:88%;--mix-dark:80%}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--diffs-diff-line-mix-target:var(--diffs-bg)}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-deletion-override,var(--diffs-deletion-base))}@media (pointer:fine){[data-line-type=change-deletion][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:75%}}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-deletion-override,var(--diffs-deletion-base));--diffs-diff-line-mix-target:var(--diffs-bg-deletion-number-override,var(--diffs-deletion-base))}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-addition-override,var(--diffs-addition-base))}@media (pointer:fine){[data-line-type=change-addition][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--diffs-bg-addition-number-override,var(--diffs-addition-base))}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-current-override,var(--diffs-addition-base))}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--conflict-bg-current-number-override,var(--diffs-addition-base))}@media (pointer:fine){[data-merge-conflict=current][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-incoming-override,var(--diffs-modified-base))}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-modified-base);--diffs-diff-line-mix-target:var(--conflict-bg-incoming-number-override,var(--diffs-modified-base))}@media (pointer:fine){[data-merge-conflict=incoming][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]{--diffs-selection-mix-target:var(--diffs-bg-selection-override,var(--diffs-selection-base))}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--mix-selection-light:82%;--mix-selection-dark:75%}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:75%;--mix-selection-dark:70%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]){--mix-selection-light:75%;--mix-selection-dark:60%;--diffs-selection-mix-target:var(--diffs-bg-selection-number-override,var(--diffs-selection-base))}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:70%;--mix-selection-dark:55%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--diffs-computed-selected-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-light), var(--diffs-selection-mix-target)),color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-dark), var(--diffs-selection-mix-target)));--diffs-line-bg:var(--diffs-computed-selected-line-bg,inherit)}[data-selected-line]:is([data-gutter-buffer],[data-column-number]){color:var(--diffs-selection-number-fg)}[data-no-newline]{-webkit-user-select:none;user-select:none}[data-no-newline] span{opacity:.6}[data-diff-type=split][data-overflow=scroll]{grid-template-columns:1fr 1fr;display:grid}[data-diff-type=split][data-overflow=scroll] [data-additions]{border-left:1px solid var(--diffs-bg)}[data-diff-type=split][data-overflow=scroll] [data-deletions]{border-right:1px solid var(--diffs-bg)}[data-code]{grid-auto-flow:dense;grid-template-columns:var(--diffs-code-grid);overflow:var(--diffs-overflow-override,scroll) clip;overscroll-behavior-x:none;tab-size:var(--diffs-tab-size,2);padding-top:var(--diffs-gap-block,var(--diffs-gap-fallback));padding-bottom:max(0px, calc(var(--diffs-gap-block,var(--diffs-gap-fallback)) - var(--diffs-scrollbar-gutter)));scrollbar-gutter:stable;align-self:flex-start;display:grid}[data-diffs-scrollbar-measure]{opacity:0;pointer-events:none;scrollbar-gutter:auto;grid-template-columns:none;width:100px;height:100px;padding:0;position:absolute;top:-200px;left:-200px}[data-container-size]{container-type:inline-size}[data-code]::-webkit-scrollbar{width:0;height:var(--diffs-scrollbar-gutter)}[data-code]::-webkit-scrollbar-track{background:0 0}[data-code]::-webkit-scrollbar-thumb{background-color:#0000;background-clip:content-box;border:1px solid #0000;border-radius:3px}[data-code]::-webkit-scrollbar-corner{background-color:#0000}@supports ((-moz-appearance:none)){[data-code]{scrollbar-width:thin;scrollbar-color:var(--diffs-bg-context) transparent;padding-bottom:var(--diffs-gap-block,var(--diffs-gap-fallback))}}:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]) [data-code],[data-overflow=wrap]:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]){padding-top:0}[data-gutter]{grid-template-rows:subgrid;grid-template-columns:subgrid;z-index:3;background-color:var(--diffs-bg);grid-column:1;display:grid;position:relative}[data-gutter] [data-gutter-buffer],[data-gutter] [data-column-number]{border-right:var(--diffs-gap-style,2px solid var(--diffs-bg))}[data-content]{grid-template-rows:subgrid;grid-template-columns:subgrid;background-color:var(--diffs-bg);grid-column:2;min-width:0;display:grid}[data-diff-type=split][data-overflow=wrap]{grid-auto-flow:dense;grid-template-columns:repeat(2, var(--diffs-code-grid));padding-block:var(--diffs-gap-block,var(--diffs-gap-fallback));display:grid}[data-diff-type=split][data-overflow=wrap] [data-deletions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-gutter]{grid-column:1}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-content]{border-right:1px solid var(--diffs-bg);grid-column:2}[data-diff-type=split][data-overflow=wrap] [data-additions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-gutter]{border-left:1px solid var(--diffs-bg);grid-column:3}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-content]{grid-column:4}[data-overflow=scroll] [data-gutter]{position:sticky;left:0}[data-interactive-lines] [data-line]{cursor:pointer}[data-interactive-line-numbers] [data-column-number]{cursor:pointer;touch-action:none}[data-content-buffer],[data-gutter-buffer]{-webkit-user-select:none;user-select:none;min-height:1lh;position:relative}[data-gutter-buffer]{padding-left:2ch;padding-right:1ch}[data-gutter-buffer]:before{content:"";min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));display:block}[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context-gutter);min-height:0}[data-gutter-buffer=buffer]{--diffs-line-bg:var(--diffs-bg-context-gutter)}[data-content-buffer]{background-position:5px 0;background-size:8px 8px;background-origin:border-box;background-image:repeating-linear-gradient(-45deg, transparent, transparent 4.242px, var(--diffs-bg-buffer) 4.242px, var(--diffs-bg-buffer) 5.656px);grid-column:1}[data-separator]{box-sizing:content-box;background-color:var(--diffs-bg)}[data-separator=simple]{min-height:4px}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata],[data-separator=simple]{background-color:var(--diffs-bg-separator)}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata]{height:32px;position:relative}[data-separator-wrapper]{-webkit-user-select:none;user-select:none;fill:currentColor;background-color:var(--diffs-bg);align-items:center;height:100%;display:flex;position:absolute;inset-inline:0}[data-content] [data-separator-wrapper]{display:none}[data-separator=metadata] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;color:var(--diffs-fg-number);white-space:nowrap;text-overflow:ellipsis;min-width:min-content;padding-inline:1ch;inset-inline:100% auto;overflow:hidden}[data-separator=line-info]{margin-block:var(--diffs-gap-block,var(--diffs-gap-fallback))}[data-separator=line-info] [data-separator-wrapper]{min-width:16px}[data-separator=line-info-basic],[data-separator=metadata]{margin-block:0}[data-separator=line-info][data-separator-first]{margin-top:0}[data-separator=line-info][data-separator-last]{margin-bottom:0}[data-expand-index] [data-separator-wrapper]{grid-template-columns:32px auto;display:grid}[data-expand-index] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:32px 32px auto}[data-expand-button],[data-separator-content]{background-color:var(--diffs-bg-separator);flex:none;align-items:center;display:flex}[data-expand-index] [data-separator-content]:hover{cursor:pointer;text-decoration:underline}[data-expand-button]{cursor:pointer;min-width:32px;color:var(--diffs-fg-number);border-right:2px solid var(--diffs-bg);flex-shrink:0;justify-content:center;align-self:stretch}[data-expand-button]:hover{color:var(--diffs-fg)}[data-expand-button][data-expand-all-button]{display:none}[data-expand-down] [data-icon]{transform:scaleY(-1)}[data-separator-content]{height:100%;color:var(--diffs-fg-number);flex:auto;justify-content:flex-start;padding:0 1ch;overflow:hidden}:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-content]{-webkit-user-select:none;user-select:none;height:100%;overflow:clip}[data-unmodified-lines]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;display:block;overflow:hidden}@supports (width:1cqi){[data-unified] [data-separator=line-info] [data-separator-wrapper]{padding-inline:var(--diffs-gap-inline,var(--diffs-gap-fallback));width:100cqi}:is([data-unified] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content]{border-radius:6px}[data-unified] [data-separator=line-info][data-expand-index] [data-separator-wrapper] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-gutter] [data-separator=line-info] [data-separator-wrapper]{padding-left:var(--diffs-gap-inline,var(--diffs-gap-fallback))}[data-gutter] [data-separator=line-info] [data-separator-content]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-gutter] [data-separator=line-info][data-expand-index] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-additions] [data-content] [data-separator=line-info]{background-color:var(--diffs-bg)}:is([data-additions] [data-content] [data-separator=line-info]) [data-separator-wrapper]{display:none}[data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);border-top-right-radius:6px;border-bottom-right-radius:6px;height:100%;display:block}:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}[data-overflow=scroll] [data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{width:calc(100cqi - var(--diffs-gap-inline,var(--diffs-gap-fallback)))}[data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;margin-right:var(--diffs-gap-inline,var(--diffs-gap-fallback));border-top-right-radius:6px;border-bottom-right-radius:6px;display:block}:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}@media (pointer:fine){[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:unset}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:6px;border-top-left-radius:unset}}}@media (pointer:coarse){[data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px 34px auto}:is([data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]) [data-separator-content]{grid-column:unset;grid-row:unset}@supports (width:1cqi){:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up],[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:unset;border-top-left-radius:unset}}}@media (pointer:fine){[data-separator-wrapper][data-separator-multi-button]{grid-template-rows:50% 50%;display:grid}[data-separator-wrapper][data-separator-multi-button] [data-separator-content]{grid-area:1/2/-1;min-width:min-content}[data-separator-wrapper][data-separator-multi-button] [data-expand-button]{grid-column:1}[data-separator=line-info] [data-separator-wrapper],[data-separator=line-info] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px auto}[data-separator=line-info-basic][data-expand-index] [data-separator-wrapper]{grid-template-columns:100% auto}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-up]{border-bottom:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-down]{border-top:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}}[data-additions] [data-gutter] [data-separator-wrapper],[data-additions] [data-separator=line-info-basic] [data-separator-wrapper],[data-content] [data-separator-wrapper]{display:none}[data-line-annotation]{min-height:var(--diffs-annotation-min-height,0);z-index:2}[data-merge-conflict-actions]{z-index:2}[data-separator=custom]{grid-template-columns:subgrid;display:grid}[data-line],[data-column-number],[data-no-newline]{padding-inline:1ch;position:relative}[data-indicators=classic] [data-line]{padding-inline-start:2ch}:is([data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion]),[data-line]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion])):before{-webkit-user-select:none;user-select:none;width:1ch;height:1lh;display:inline-block;position:absolute;top:0;left:0}:is([data-line]:is([data-indicators=classic] [data-line-type=change-addition]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition])):before{content:"+";color:var(--diffs-addition-base)}:is([data-line]:is([data-indicators=classic] [data-line-type=change-deletion]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-deletion])):before{content:"-";color:var(--diffs-deletion-base)}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion],[data-indicators=bars] [data-line-type=change-addition]):before{content:"";-webkit-user-select:none;user-select:none;contain:strict;width:4px;height:100%;display:block;position:absolute;top:0;left:0}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion]):before{background-image:linear-gradient(0deg, var(--diffs-bg-deletion) 50%, var(--diffs-deletion-base) 50%);background-repeat:repeat;background-size:2px 2px;background-size:calc(1lh/round(1lh / 2px)) calc(1lh/round(1lh / 2px))}[data-column-number]:is([data-indicators=bars] [data-line-type=change-addition]):before{background-color:var(--diffs-addition-base)}[data-overflow=wrap] [data-line],[data-overflow=wrap] [data-annotation-content]{white-space:pre-wrap;word-break:break-word}[data-overflow=scroll] [data-line]{white-space:pre;min-height:1lh}[data-column-number]{box-sizing:content-box;text-align:right;-webkit-user-select:none;user-select:none;color:var(--diffs-fg-number);padding-left:2ch}[data-line-number-content]{min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));z-index:1;display:inline-block;position:relative}[data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]{min-width:4px;padding:0}:is([data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]):before{min-width:0}[data-disable-line-numbers] [data-line-number-content]{display:none}[data-disable-line-numbers] [data-gutter-utility-slot]{right:unset;justify-content:flex-start;left:0}[data-disable-line-numbers][data-indicators=bars] [data-gutter-utility-slot]{left:6px}[data-file][data-disable-line-numbers] [data-gutter-buffer],[data-file][data-disable-line-numbers] [data-column-number]{border-right:0;min-width:0}[data-diff-span]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}[data-line-type=change-addition] [data-diff-span]{background-color:var(--diffs-bg-addition-emphasis)}[data-line-type=change-deletion] [data-diff-span]{background-color:var(--diffs-bg-deletion-emphasis)}[data-merge-conflict=marker-start],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator],[data-merge-conflict=marker-end]{color:var(--diffs-fg);padding-left:1ch}[data-merge-conflict=marker-start],[data-merge-conflict=marker-end]{align-items:center;display:flex}:is([data-merge-conflict=marker-start],[data-merge-conflict=marker-end]):after{color:var(--diffs-fg-conflict-marker);font-size:.75rem;font-style:normal;line-height:1.25rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));padding-left:1ch}[data-merge-conflict=marker-start]:after{content:"(Current Change)"}[data-merge-conflict=marker-end]:after{content:"(Incoming Change)"}[data-merge-conflict-actions-content]{min-height:1.75rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));color:var(--diffs-fg);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;line-height:1.2;display:flex}[data-merge-conflict-action]{appearance:none;color:var(--diffs-fg-number);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-style:normal}[data-merge-conflict-action]:hover{color:var(--diffs-fg)}[data-merge-conflict-action=current]:hover{color:var(--diffs-addition-base)}[data-merge-conflict-action=incoming]:hover{color:var(--diffs-modified-base)}[data-merge-conflict-action-separator]{color:var(--diffs-fg-number);opacity:.6;-webkit-user-select:none;user-select:none}[data-diffs-header=default]{background-color:var(--diffs-bg);justify-content:space-between;align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));min-height:calc(1lh + var(--diffs-gap-block,var(--diffs-gap-fallback))*3);z-index:2;flex-direction:row;padding-inline:16px;display:flex;position:relative;top:0}[data-header-content]{align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));white-space:nowrap;flex-direction:row;min-width:0;display:flex}[data-header-content] [data-prev-name],[data-header-content] [data-title]{text-overflow:ellipsis;white-space:nowrap;direction:rtl;min-width:0;overflow:hidden}[data-prev-name]{opacity:.7}[data-rename-icon]{fill:currentColor;flex-grow:0;flex-shrink:0}[data-diffs-header=default] [data-metadata]{white-space:nowrap;align-items:center;gap:1ch;display:flex}[data-diffs-header=default] [data-additions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-addition-base)}[data-diffs-header=default] [data-deletions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-deletion-base)}[data-change-icon]{fill:currentColor;flex-shrink:0}[data-change-icon=change],[data-change-icon=rename-pure],[data-change-icon=rename-changed]{color:var(--diffs-modified-base)}[data-change-icon=new]{color:var(--diffs-addition-base)}[data-change-icon=deleted]{color:var(--diffs-deletion-base)}[data-change-icon=file]{opacity:.6}[data-annotation-content]{z-index:2;isolation:isolate;align-self:flex-start;min-width:0;display:flow-root;position:relative}[data-overflow=scroll] [data-annotation-content],[data-overflow=scroll] [data-merge-conflict-actions-content]{width:var(--diffs-column-content-width,auto);left:var(--diffs-column-number-width,0);position:sticky}[data-annotation-slot]{text-wrap-mode:wrap;word-break:normal;white-space-collapse:collapse}[data-gutter-utility-slot]{touch-action:none;justify-content:flex-end;display:flex;position:absolute;top:0;bottom:0;right:0}[data-utility-button]{appearance:none;cursor:pointer;width:1lh;height:1lh;font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);background-color:var(--diffs-modified-base);color:var(--diffs-bg);fill:currentColor;z-index:4;touch-action:none;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:calc(1ch - 1lh);padding:0;display:flex;position:relative}[data-utility-button]:before{content:"";display:block;position:absolute;inset:0 0 0 -4px}[data-decoration-bar-stack]{pointer-events:none;isolation:isolate;z-index:1;background-color:var(--diffs-decoration-bar-color,transparent);box-sizing:content-box;border-left:2px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg);width:6px;position:absolute;top:0;bottom:0;right:-2px}[data-decoration-bar-depth="1"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 20%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="2"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 45%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="3"] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 65%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-start] [data-decoration-bar-stack]{border-top-left-radius:5px;border-top-right-radius:5px}[data-decoration-bar-end] [data-decoration-bar-stack]{z-index:3;border-bottom-right-radius:5px;border-bottom-left-radius:5px}[data-placeholder]{contain:strict}[data-error-wrapper]{padding:var(--diffs-gap-block,var(--diffs-gap-fallback)) var(--diffs-gap-inline,var(--diffs-gap-fallback));scrollbar-width:none;max-height:400px;overflow:auto}[data-error-wrapper] [data-error-message]{color:var(--diffs-deletion-base);font-size:18px;font-weight:700}[data-error-wrapper] [data-error-stack]{color:var(--diffs-fg-number)}}@layer theme,rendered,unsafe;
|
|
@layer theme {
|
|
|
|
}</style><style data-theme-css="">@layer base, theme, rendered, unsafe;
|
|
@layer rendered {
|
|
:host {
|
|
--diffs-scrollbar-gutter-measured: var(--diffs-scrollbar-gutter-fallback);
|
|
--diffs-dark:#fafafa;--diffs-dark-bg:#0a0a0a;--diffs-dark-addition-color:#07c480;--diffs-dark-deletion-color:#ff2e3f;--diffs-dark-modified-color:#009fff;--diffs-light:#0a0a0a;--diffs-light-bg:#ffffff;--diffs-light-addition-color:#18a46c;--diffs-light-deletion-color:#d52c36;--diffs-light-modified-color:#009fff;
|
|
}
|
|
}</style><div data-diffs-header="default" data-change-type="change"><div data-header-content=""><slot name="header-prefix"></slot><svg width="16" height="16" viewBox="0 0 16 16" data-change-icon="change"><use href="#diffs-icon-symbol-modified"></use></svg><div data-title=""><bdi>Dreamio/NativePlayerViewController.swift</bdi></div></div><div data-metadata=""><span data-deletions-count="">-36</span><span data-additions-count="">+54</span><slot name="header-metadata"></slot></div></div><pre data-diff="" data-diff-type="split" data-overflow="scroll" data-background="" data-indicators="bars" tabindex="0" style="--diffs-min-number-column-width-default:3ch;" data-dehydrated=""><code data-code="" data-container-size="" data-deletions=""><div data-gutter="" style="grid-row: span 130"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">22 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="23" data-line-index="22,22"><span data-line-number-content="">23</span></div><div data-line-type="context" data-column-number="24" data-line-index="23,23"><span data-line-number-content="">24</span></div><div data-line-type="context" data-column-number="25" data-line-index="24,24"><span data-line-number-content="">25</span></div><div data-line-type="change-deletion" data-column-number="26" data-line-index="25,25"><span data-line-number-content="">26</span></div><div data-line-type="context" data-column-number="27" data-line-index="27,26"><span data-line-number-content="">27</span></div><div data-line-type="context" data-column-number="28" data-line-index="28,27"><span data-line-number-content="">28</span></div><div data-line-type="context" data-column-number="29" data-line-index="29,28"><span data-line-number-content="">29</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line-type="context" data-column-number="31" data-line-index="31,30"><span data-line-number-content="">31</span></div><div data-line-type="context" data-column-number="32" data-line-index="32,31"><span data-line-number-content="">32</span></div><div data-line-type="context" data-column-number="33" data-line-index="33,32"><span data-line-number-content="">33</span></div><div data-line-type="change-deletion" data-column-number="34" data-line-index="34,33"><span data-line-number-content="">34</span></div><div data-line-type="context" data-column-number="35" data-line-index="36,34"><span data-line-number-content="">35</span></div><div data-line-type="context" data-column-number="36" data-line-index="37,35"><span data-line-number-content="">36</span></div><div data-line-type="context" data-column-number="37" data-line-index="38,36"><span data-line-number-content="">37</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">14 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="52" data-line-index="53,51"><span data-line-number-content="">52</span></div><div data-line-type="context" data-column-number="53" data-line-index="54,52"><span data-line-number-content="">53</span></div><div data-line-type="context" data-column-number="54" data-line-index="55,53"><span data-line-number-content="">54</span></div><div data-line-type="change-deletion" data-column-number="55" data-line-index="56,54"><span data-line-number-content="">55</span></div><div data-line-type="context" data-column-number="56" data-line-index="58,55"><span data-line-number-content="">56</span></div><div data-line-type="context" data-column-number="57" data-line-index="59,56"><span data-line-number-content="">57</span></div><div data-line-type="context" data-column-number="58" data-line-index="60,57"><span data-line-number-content="">58</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="61" data-line-index="63,60"><span data-line-number-content="">61</span></div><div data-line-type="context" data-column-number="62" data-line-index="64,61"><span data-line-number-content="">62</span></div><div data-line-type="context" data-column-number="63" data-line-index="65,62"><span data-line-number-content="">63</span></div><div data-line-type="change-deletion" data-column-number="64" data-line-index="66,63"><span data-line-number-content="">64</span></div><div data-line-type="context" data-column-number="65" data-line-index="68,64"><span data-line-number-content="">65</span></div><div data-line-type="context" data-column-number="66" data-line-index="69,65"><span data-line-number-content="">66</span></div><div data-line-type="context" data-column-number="67" data-line-index="70,66"><span data-line-number-content="">67</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">7 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="75" data-line-index="78,74"><span data-line-number-content="">75</span></div><div data-line-type="context" data-column-number="76" data-line-index="79,75"><span data-line-number-content="">76</span></div><div data-line-type="context" data-column-number="77" data-line-index="80,76"><span data-line-number-content="">77</span></div><div data-gutter-buffer="buffer" data-buffer-size="2" style="grid-row: span 2;min-height:calc(2 * 1lh);"></div><div data-line-type="context" data-column-number="78" data-line-index="83,79"><span data-line-number-content="">78</span></div><div data-line-type="context" data-column-number="79" data-line-index="84,80"><span data-line-number-content="">79</span></div><div data-line-type="context" data-column-number="80" data-line-index="85,81"><span data-line-number-content="">80</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">103 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="184" data-line-index="189,185"><span data-line-number-content="">184</span></div><div data-line-type="context" data-column-number="185" data-line-index="190,186"><span data-line-number-content="">185</span></div><div data-line-type="context" data-column-number="186" data-line-index="191,187"><span data-line-number-content="">186</span></div><div data-gutter-buffer="buffer" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh);"></div><div data-line-type="context" data-column-number="187" data-line-index="193,189"><span data-line-number-content="">187</span></div><div data-line-type="context" data-column-number="188" data-line-index="194,190"><span data-line-number-content="">188</span></div><div data-line-type="context" data-column-number="189" data-line-index="195,191"><span data-line-number-content="">189</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="192" data-line-index="198,194"><span data-line-number-content="">192</span></div><div data-line-type="context" data-column-number="193" data-line-index="199,195"><span data-line-number-content="">193</span></div><div data-line-type="context" data-column-number="194" data-line-index="200,196"><span data-line-number-content="">194</span></div><div data-gutter-buffer="buffer" data-buffer-size="6" style="grid-row: span 6;min-height:calc(6 * 1lh);"></div><div data-line-type="context" data-column-number="195" data-line-index="207,203"><span data-line-number-content="">195</span></div><div data-line-type="context" data-column-number="196" data-line-index="208,204"><span data-line-number-content="">196</span></div><div data-line-type="context" data-column-number="197" data-line-index="209,205"><span data-line-number-content="">197</span></div><div data-line-type="context" data-column-number="198" data-line-index="210,206"><span data-line-number-content="">198</span></div><div data-line-type="change-deletion" data-column-number="199" data-line-index="211,207"><span data-line-number-content="">199</span></div><div data-line-type="change-deletion" data-column-number="200" data-line-index="212,208"><span data-line-number-content="">200</span></div><div data-line-type="change-deletion" data-column-number="201" data-line-index="213,209"><span data-line-number-content="">201</span></div><div data-line-type="change-deletion" data-column-number="202" data-line-index="214,210"><span data-line-number-content="">202</span></div><div data-line-type="change-deletion" data-column-number="203" data-line-index="215,211"><span data-line-number-content="">203</span></div><div data-line-type="change-deletion" data-column-number="204" data-line-index="216,212"><span data-line-number-content="">204</span></div><div data-line-type="change-deletion" data-column-number="205" data-line-index="217,213"><span data-line-number-content="">205</span></div><div data-line-type="context" data-column-number="206" data-line-index="220,214"><span data-line-number-content="">206</span></div><div data-line-type="change-deletion" data-column-number="207" data-line-index="221,215"><span data-line-number-content="">207</span></div><div data-line-type="context" data-column-number="208" data-line-index="223,216"><span data-line-number-content="">208</span></div><div data-line-type="context" data-column-number="209" data-line-index="224,217"><span data-line-number-content="">209</span></div><div data-line-type="change-deletion" data-column-number="210" data-line-index="225,218"><span data-line-number-content="">210</span></div><div data-line-type="context" data-column-number="211" data-line-index="227,219"><span data-line-number-content="">211</span></div><div data-line-type="context" data-column-number="212" data-line-index="228,220"><span data-line-number-content="">212</span></div><div data-line-type="context" data-column-number="213" data-line-index="229,221"><span data-line-number-content="">213</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">14 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="228" data-line-index="244,236"><span data-line-number-content="">228</span></div><div data-line-type="context" data-column-number="229" data-line-index="245,237"><span data-line-number-content="">229</span></div><div data-line-type="context" data-column-number="230" data-line-index="246,238"><span data-line-number-content="">230</span></div><div data-line-type="change-deletion" data-column-number="231" data-line-index="247,239"><span data-line-number-content="">231</span></div><div data-line-type="change-deletion" data-column-number="232" data-line-index="248,240"><span data-line-number-content="">232</span></div><div data-line-type="change-deletion" data-column-number="233" data-line-index="249,241"><span data-line-number-content="">233</span></div><div data-line-type="change-deletion" data-column-number="234" data-line-index="250,242"><span data-line-number-content="">234</span></div><div data-line-type="change-deletion" data-column-number="235" data-line-index="251,243"><span data-line-number-content="">235</span></div><div data-line-type="change-deletion" data-column-number="236" data-line-index="252,244"><span data-line-number-content="">236</span></div><div data-line-type="change-deletion" data-column-number="237" data-line-index="253,245"><span data-line-number-content="">237</span></div><div data-line-type="change-deletion" data-column-number="238" data-line-index="254,246"><span data-line-number-content="">238</span></div><div data-line-type="change-deletion" data-column-number="239" data-line-index="255,247"><span data-line-number-content="">239</span></div><div data-line-type="change-deletion" data-column-number="240" data-line-index="256,248"><span data-line-number-content="">240</span></div><div data-line-type="change-deletion" data-column-number="241" data-line-index="257,249"><span data-line-number-content="">241</span></div><div data-line-type="change-deletion" data-column-number="242" data-line-index="258,250"><span data-line-number-content="">242</span></div><div data-line-type="change-deletion" data-column-number="243" data-line-index="259,251"><span data-line-number-content="">243</span></div><div data-line-type="change-deletion" data-column-number="244" data-line-index="260,252"><span data-line-number-content="">244</span></div><div data-line-type="change-deletion" data-column-number="245" data-line-index="261,253"><span data-line-number-content="">245</span></div><div data-line-type="change-deletion" data-column-number="246" data-line-index="262,254"><span data-line-number-content="">246</span></div><div data-line-type="change-deletion" data-column-number="247" data-line-index="263,255"><span data-line-number-content="">247</span></div><div data-line-type="change-deletion" data-column-number="248" data-line-index="264,256"><span data-line-number-content="">248</span></div><div data-line-type="change-deletion" data-column-number="249" data-line-index="265,257"><span data-line-number-content="">249</span></div><div data-line-type="change-deletion" data-column-number="250" data-line-index="266,258"><span data-line-number-content="">250</span></div><div data-line-type="change-deletion" data-column-number="251" data-line-index="267,259"><span data-line-number-content="">251</span></div><div data-line-type="change-deletion" data-column-number="252" data-line-index="268,260"><span data-line-number-content="">252</span></div><div data-gutter-buffer="buffer" data-buffer-size="5" style="grid-row: span 5;min-height:calc(5 * 1lh);"></div><div data-line-type="context" data-column-number="253" data-line-index="296,266"><span data-line-number-content="">253</span></div><div data-line-type="context" data-column-number="254" data-line-index="297,267"><span data-line-number-content="">254</span></div><div data-line-type="context" data-column-number="255" data-line-index="298,268"><span data-line-number-content="">255</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">129 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="385" data-line-index="428,398"><span data-line-number-content="">385</span></div><div data-line-type="context" data-column-number="386" data-line-index="429,399"><span data-line-number-content="">386</span></div><div data-line-type="context" data-column-number="387" data-line-index="430,400"><span data-line-number-content="">387</span></div><div data-line-type="change-deletion" data-column-number="388" data-line-index="431,401"><span data-line-number-content="">388</span></div><div data-line-type="context" data-column-number="389" data-line-index="433,402"><span data-line-number-content="">389</span></div><div data-line-type="context" data-column-number="390" data-line-index="434,403"><span data-line-number-content="">390</span></div><div data-line-type="context" data-column-number="391" data-line-index="435,404"><span data-line-number-content="">391</span></div><div data-gutter-buffer="buffer" data-buffer-size="9" style="grid-row: span 9;min-height:calc(9 * 1lh);"></div><div data-line-type="context" data-column-number="392" data-line-index="445,414"><span data-line-number-content="">392</span></div></div><div data-content="" style="grid-row: span 130"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">22 unmodified lines</span></div></div></div><div data-line="23" data-alt-line="23" data-line-type="context" data-line-index="22,22"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">setImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">UIImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">systemName</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "xmark"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">normal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="24" data-alt-line="24" data-line-type="context" data-line-index="23,23"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">tintColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span></div><div data-line="25" data-alt-line="25" data-line-type="context" data-line-index="24,24"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">backgroundColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> UIColor.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">black</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">withAlphaComponent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">0.45</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="26" data-line-type="change-deletion" data-line-index="25,25"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">layer</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cornerRadius</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">22</span></span></div><div data-line="27" data-alt-line="27" data-line-type="context" data-line-index="27,26"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">accessibilityLabel</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "Close"</span></div><div data-line="28" data-alt-line="28" data-line-type="context" data-line-index="28,27"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button</span></div><div data-line="29" data-alt-line="29" data-line-type="context" data-line-index="29,28"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line="31" data-alt-line="31" data-line-type="context" data-line-index="31,30"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> private</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer: UIVisualEffectView </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="32" data-alt-line="32" data-line-type="context" data-line-index="32,31"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> view </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIVisualEffectView</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">effect</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIBlurEffect</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">style</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">systemUltraThinMaterialDark</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span></div><div data-line="33" data-alt-line="33" data-line-type="context" data-line-index="33,32"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="34" data-line-type="change-deletion" data-line-index="34,33"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">layer</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cornerRadius</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">12</span></span></div><div data-line="35" data-alt-line="35" data-line-type="context" data-line-index="36,34"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">clipsToBounds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> true</span></div><div data-line="36" data-alt-line="36" data-line-type="context" data-line-index="37,35"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> view</span></div><div data-line="37" data-alt-line="37" data-line-type="context" data-line-index="38,36"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }()</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">14 unmodified lines</span></div></div></div><div data-line="52" data-alt-line="52" data-line-type="context" data-line-index="53,51"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UILabel</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-line="53" data-alt-line="53" data-line-type="context" data-line-index="54,52"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="54" data-alt-line="54" data-line-type="context" data-line-index="55,53"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">textColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span></div><div data-line="55" data-line-type="change-deletion" data-line-index="56,54"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">font</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">monospacedDigitSystemFont</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">ofSize</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">13</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, weight</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">medium</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="56" data-alt-line="56" data-line-type="context" data-line-index="58,55"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.text </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "0:00"</span></div><div data-line="57" data-alt-line="57" data-line-type="context" data-line-index="59,56"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label</span></div><div data-line="58" data-alt-line="58" data-line-type="context" data-line-index="60,57"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line="61" data-alt-line="61" data-line-type="context" data-line-index="63,60"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UILabel</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-line="62" data-alt-line="62" data-line-type="context" data-line-index="64,61"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="63" data-alt-line="63" data-line-type="context" data-line-index="65,62"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">textColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span></div><div data-line="64" data-line-type="change-deletion" data-line-index="66,63"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">font</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">monospacedDigitSystemFont</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">ofSize</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">13</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, weight</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">medium</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="65" data-alt-line="65" data-line-type="context" data-line-index="68,64"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">textAlignment</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">right</span></div><div data-line="66" data-alt-line="66" data-line-type="context" data-line-index="69,65"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.text </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "-0:00"</span></div><div data-line="67" data-alt-line="67" data-line-type="context" data-line-index="70,66"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">7 unmodified lines</span></div></div></div><div data-line="75" data-alt-line="75" data-line-type="context" data-line-index="78,74"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> slider.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">minimumTrackTintColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">red</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0.64</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, green</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0.48</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, blue</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1.0</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, alpha</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="76" data-alt-line="76" data-line-type="context" data-line-index="79,75"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> slider.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">maximumTrackTintColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> UIColor.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">withAlphaComponent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">0.3</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="77" data-alt-line="77" data-line-type="context" data-line-index="80,76"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> slider.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">thumbTintColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span></div><div data-content-buffer="" data-buffer-size="2" style="grid-row: span 2;min-height:calc(2 * 1lh)"></div><div data-line="78" data-alt-line="80" data-line-type="context" data-line-index="83,79"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> slider</span></div><div data-line="79" data-alt-line="81" data-line-type="context" data-line-index="84,80"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-line="80" data-alt-line="82" data-line-type="context" data-line-index="85,81">
|
|
</div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">103 unmodified lines</span></div></div></div><div data-line="184" data-alt-line="186" data-line-type="context" data-line-index="189,185"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> jumpBackButton.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">jumpBack</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchUpInside</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="185" data-alt-line="187" data-line-type="context" data-line-index="190,186"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> jumpForwardButton.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">jumpForward</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchUpInside</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="186" data-alt-line="188" data-line-type="context" data-line-index="191,187"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> captionsButton.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">showCaptions</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchUpInside</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-content-buffer="" data-buffer-size="1" style="grid-row: span 1;min-height:calc(1 * 1lh)"></div><div data-line="187" data-alt-line="190" data-line-type="context" data-line-index="193,189"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> scrubber.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">scrubbingStarted</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchDown</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="188" data-alt-line="191" data-line-type="context" data-line-index="194,190"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> scrubber.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">scrubberChanged</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">valueChanged</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="189" data-alt-line="192" data-line-type="context" data-line-index="195,191"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> scrubber.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">scrubbingEnded</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> [.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchUpInside</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchUpOutside</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchCancel</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line="192" data-alt-line="195" data-line-type="context" data-line-index="198,194"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> tap.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cancelsTouchesInView</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="193" data-alt-line="196" data-line-type="context" data-line-index="199,195"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> tapSurfaceView.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addGestureRecognizer</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">tap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="194" data-alt-line="197" data-line-type="context" data-line-index="200,196">
|
|
</div><div data-content-buffer="" data-buffer-size="6" style="grid-row: span 6;min-height:calc(6 * 1lh)"></div><div data-line="195" data-alt-line="204" data-line-type="context" data-line-index="207,203"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIStackView</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">arrangedSubviews</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> [jumpBackButton, playPauseButton, jumpForwardButton, captionsButton]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="196" data-alt-line="205" data-line-type="context" data-line-index="208,204"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="197" data-alt-line="206" data-line-type="context" data-line-index="209,205"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">axis</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">horizontal</span></div><div data-line="198" data-alt-line="207" data-line-type="context" data-line-index="210,206"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow.alignment </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">center</span></div><div data-line="199" data-line-type="change-deletion" data-line-index="211,207"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">distribution</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">equalCentering</span></span></div><div data-line="200" data-line-type="change-deletion" data-line-index="212,208"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">spacing</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">18</span></span></div><div data-line="201" data-line-type="change-deletion" data-line-index="213,209">
|
|
</div><div data-line="202" data-line-type="change-deletion" data-line-index="214,210"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> timeRow </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIStackView</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">arrangedSubviews</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> [elapsedLabel, remainingLabel]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="203" data-line-type="change-deletion" data-line-index="215,211"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> timeRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="204" data-line-type="change-deletion" data-line-index="216,212"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> timeRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">axis</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">horizontal</span></div><div data-line="205" data-line-type="change-deletion" data-line-index="217,213"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> timeRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">distribution</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">fillEqually</span></div><div data-line="206" data-alt-line="210" data-line-type="context" data-line-index="220,214">
|
|
</div><div data-line="207" data-line-type="change-deletion" data-line-index="221,215"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIStackView</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">arrangedSubviews</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> [</span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">scrubber</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">timeRow, </span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">controlRow]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="208" data-alt-line="212" data-line-type="context" data-line-index="223,216"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="209" data-alt-line="213" data-line-type="context" data-line-index="224,217"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">axis</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">vertical</span></div><div data-line="210" data-line-type="change-deletion" data-line-index="225,218"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">spacing</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">8</span></span></div><div data-line="211" data-alt-line="215" data-line-type="context" data-line-index="227,219"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">contentView</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addSubview</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">stack</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="212" data-alt-line="216" data-line-type="context" data-line-index="228,220">
|
|
</div><div data-line="213" data-alt-line="217" data-line-type="context" data-line-index="229,221"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> NSLayoutConstraint.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">activate</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">[</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">14 unmodified lines</span></div></div></div><div data-line="228" data-alt-line="232" data-line-type="context" data-line-index="244,236"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> failureLabel.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> -28</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="229" data-alt-line="233" data-line-type="context" data-line-index="245,237"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> failureLabel.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">centerYAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">centerYAnchor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="230" data-alt-line="234" data-line-type="context" data-line-index="246,238">
|
|
</div><div data-line="231" data-line-type="change-deletion" data-line-index="247,239"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> closeButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">44</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="232" data-line-type="change-deletion" data-line-index="248,240"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> closeButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">heightAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">44</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="233" data-line-type="change-deletion" data-line-index="249,241"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> closeButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">topAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">topAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">12</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="234" data-line-type="change-deletion" data-line-index="250,242"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> closeButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> -</span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">12</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="235" data-line-type="change-deletion" data-line-index="251,243">
|
|
</div><div data-line="236" data-line-type="change-deletion" data-line-index="252,244"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">leadingAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">leadingAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 18</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="237" data-line-type="change-deletion" data-line-index="253,245"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> -</span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">18</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="238" data-line-type="change-deletion" data-line-index="254,246"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">bottomAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> </span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">bottomAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> -18</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="239" data-line-type="change-deletion" data-line-index="255,247">
|
|
</div><div data-line="240" data-line-type="change-deletion" data-line-index="256,248"><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">leadingAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">contentView</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">leadingAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 16</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></span></div><div data-line="241" data-line-type="change-deletion" data-line-index="257,249"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">contentView</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">-16</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="242" data-line-type="change-deletion" data-line-index="258,250"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">topAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">contentView</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">topAnchor</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">14</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="243" data-line-type="change-deletion" data-line-index="259,251"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">bottomAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">contentView</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">bottomAnchor</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">-14</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="244" data-line-type="change-deletion" data-line-index="260,252">
|
|
</div><div data-line="245" data-line-type="change-deletion" data-line-index="261,253"><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> jumpBackButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 44</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></span></div><div data-line="246" data-line-type="change-deletion" data-line-index="262,254"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">jumpBackButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">heightAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">44</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="247" data-line-type="change-deletion" data-line-index="263,255"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">playPauseButton</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">54</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="248" data-line-type="change-deletion" data-line-index="264,256"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">playPauseButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">heightAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">54</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="249" data-line-type="change-deletion" data-line-index="265,257"><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> jumpForwardButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 44</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></span></div><div data-line="250" data-line-type="change-deletion" data-line-index="266,258"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">jumpForwardButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">heightAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">44</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="251" data-line-type="change-deletion" data-line-index="267,259"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">captionsButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">44</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="252" data-line-type="change-deletion" data-line-index="268,260"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">captionsButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">heightAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">44</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span></div><div data-content-buffer="" data-buffer-size="5" style="grid-row: span 5;min-height:calc(5 * 1lh)"></div><div data-line="253" data-alt-line="262" data-line-type="context" data-line-index="296,266"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> ])</span></div><div data-line="254" data-alt-line="263" data-line-type="context" data-line-index="297,267"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="255" data-alt-line="264" data-line-type="context" data-line-index="298,268">
|
|
</div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">129 unmodified lines</span></div></div></div><div data-line="385" data-alt-line="394" data-line-type="context" data-line-index="428,398"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">setImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">UIImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">systemName</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> systemName</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">normal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="386" data-alt-line="395" data-line-type="context" data-line-index="429,399"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">tintColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span></div><div data-line="387" data-alt-line="396" data-line-type="context" data-line-index="430,400"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">backgroundColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> UIColor.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">black</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">withAlphaComponent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">0.35</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="388" data-line-type="change-deletion" data-line-index="431,401"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">layer</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cornerRadius</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">22</span></span></div><div data-line="389" data-alt-line="398" data-line-type="context" data-line-index="433,402"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">accessibilityLabel</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label</span></div><div data-line="390" data-alt-line="399" data-line-type="context" data-line-index="434,403"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button</span></div><div data-line="391" data-alt-line="400" data-line-type="context" data-line-index="435,404"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-content-buffer="" data-buffer-size="9" style="grid-row: span 9;min-height:calc(9 * 1lh)"></div><div data-line="392" data-alt-line="410" data-line-type="context" data-line-index="445,414"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">}</span></div></div></code><code data-code="" data-container-size="" data-additions=""><div data-gutter="" style="grid-row: span 130"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">22 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="23" data-line-index="22,22"><span data-line-number-content="">23</span></div><div data-line-type="context" data-column-number="24" data-line-index="23,23"><span data-line-number-content="">24</span></div><div data-line-type="context" data-column-number="25" data-line-index="24,24"><span data-line-number-content="">25</span></div><div data-line-type="change-addition" data-column-number="26" data-line-index="26,25"><span data-line-number-content="">26</span></div><div data-line-type="context" data-column-number="27" data-line-index="27,26"><span data-line-number-content="">27</span></div><div data-line-type="context" data-column-number="28" data-line-index="28,27"><span data-line-number-content="">28</span></div><div data-line-type="context" data-column-number="29" data-line-index="29,28"><span data-line-number-content="">29</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line-type="context" data-column-number="31" data-line-index="31,30"><span data-line-number-content="">31</span></div><div data-line-type="context" data-column-number="32" data-line-index="32,31"><span data-line-number-content="">32</span></div><div data-line-type="context" data-column-number="33" data-line-index="33,32"><span data-line-number-content="">33</span></div><div data-line-type="change-addition" data-column-number="34" data-line-index="35,33"><span data-line-number-content="">34</span></div><div data-line-type="context" data-column-number="35" data-line-index="36,34"><span data-line-number-content="">35</span></div><div data-line-type="context" data-column-number="36" data-line-index="37,35"><span data-line-number-content="">36</span></div><div data-line-type="context" data-column-number="37" data-line-index="38,36"><span data-line-number-content="">37</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">14 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="52" data-line-index="53,51"><span data-line-number-content="">52</span></div><div data-line-type="context" data-column-number="53" data-line-index="54,52"><span data-line-number-content="">53</span></div><div data-line-type="context" data-column-number="54" data-line-index="55,53"><span data-line-number-content="">54</span></div><div data-line-type="change-addition" data-column-number="55" data-line-index="57,54"><span data-line-number-content="">55</span></div><div data-line-type="context" data-column-number="56" data-line-index="58,55"><span data-line-number-content="">56</span></div><div data-line-type="context" data-column-number="57" data-line-index="59,56"><span data-line-number-content="">57</span></div><div data-line-type="context" data-column-number="58" data-line-index="60,57"><span data-line-number-content="">58</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="61" data-line-index="63,60"><span data-line-number-content="">61</span></div><div data-line-type="context" data-column-number="62" data-line-index="64,61"><span data-line-number-content="">62</span></div><div data-line-type="context" data-column-number="63" data-line-index="65,62"><span data-line-number-content="">63</span></div><div data-line-type="change-addition" data-column-number="64" data-line-index="67,63"><span data-line-number-content="">64</span></div><div data-line-type="context" data-column-number="65" data-line-index="68,64"><span data-line-number-content="">65</span></div><div data-line-type="context" data-column-number="66" data-line-index="69,65"><span data-line-number-content="">66</span></div><div data-line-type="context" data-column-number="67" data-line-index="70,66"><span data-line-number-content="">67</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">7 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="75" data-line-index="78,74"><span data-line-number-content="">75</span></div><div data-line-type="context" data-column-number="76" data-line-index="79,75"><span data-line-number-content="">76</span></div><div data-line-type="context" data-column-number="77" data-line-index="80,76"><span data-line-number-content="">77</span></div><div data-line-type="change-addition" data-column-number="78" data-line-index="81,77"><span data-line-number-content="">78</span></div><div data-line-type="change-addition" data-column-number="79" data-line-index="82,78"><span data-line-number-content="">79</span></div><div data-line-type="context" data-column-number="80" data-line-index="83,79"><span data-line-number-content="">80</span></div><div data-line-type="context" data-column-number="81" data-line-index="84,80"><span data-line-number-content="">81</span></div><div data-line-type="context" data-column-number="82" data-line-index="85,81"><span data-line-number-content="">82</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">103 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="186" data-line-index="189,185"><span data-line-number-content="">186</span></div><div data-line-type="context" data-column-number="187" data-line-index="190,186"><span data-line-number-content="">187</span></div><div data-line-type="context" data-column-number="188" data-line-index="191,187"><span data-line-number-content="">188</span></div><div data-line-type="change-addition" data-column-number="189" data-line-index="192,188"><span data-line-number-content="">189</span></div><div data-line-type="context" data-column-number="190" data-line-index="193,189"><span data-line-number-content="">190</span></div><div data-line-type="context" data-column-number="191" data-line-index="194,190"><span data-line-number-content="">191</span></div><div data-line-type="context" data-column-number="192" data-line-index="195,191"><span data-line-number-content="">192</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="195" data-line-index="198,194"><span data-line-number-content="">195</span></div><div data-line-type="context" data-column-number="196" data-line-index="199,195"><span data-line-number-content="">196</span></div><div data-line-type="context" data-column-number="197" data-line-index="200,196"><span data-line-number-content="">197</span></div><div data-line-type="change-addition" data-column-number="198" data-line-index="201,197"><span data-line-number-content="">198</span></div><div data-line-type="change-addition" data-column-number="199" data-line-index="202,198"><span data-line-number-content="">199</span></div><div data-line-type="change-addition" data-column-number="200" data-line-index="203,199"><span data-line-number-content="">200</span></div><div data-line-type="change-addition" data-column-number="201" data-line-index="204,200"><span data-line-number-content="">201</span></div><div data-line-type="change-addition" data-column-number="202" data-line-index="205,201"><span data-line-number-content="">202</span></div><div data-line-type="change-addition" data-column-number="203" data-line-index="206,202"><span data-line-number-content="">203</span></div><div data-line-type="context" data-column-number="204" data-line-index="207,203"><span data-line-number-content="">204</span></div><div data-line-type="context" data-column-number="205" data-line-index="208,204"><span data-line-number-content="">205</span></div><div data-line-type="context" data-column-number="206" data-line-index="209,205"><span data-line-number-content="">206</span></div><div data-line-type="context" data-column-number="207" data-line-index="210,206"><span data-line-number-content="">207</span></div><div data-line-type="change-addition" data-column-number="208" data-line-index="218,207"><span data-line-number-content="">208</span></div><div data-line-type="change-addition" data-column-number="209" data-line-index="219,208"><span data-line-number-content="">209</span></div><div data-gutter-buffer="buffer" data-buffer-size="5" style="grid-row: span 5;min-height:calc(5 * 1lh);"></div><div data-line-type="context" data-column-number="210" data-line-index="220,214"><span data-line-number-content="">210</span></div><div data-line-type="change-addition" data-column-number="211" data-line-index="222,215"><span data-line-number-content="">211</span></div><div data-line-type="context" data-column-number="212" data-line-index="223,216"><span data-line-number-content="">212</span></div><div data-line-type="context" data-column-number="213" data-line-index="224,217"><span data-line-number-content="">213</span></div><div data-line-type="change-addition" data-column-number="214" data-line-index="226,218"><span data-line-number-content="">214</span></div><div data-line-type="context" data-column-number="215" data-line-index="227,219"><span data-line-number-content="">215</span></div><div data-line-type="context" data-column-number="216" data-line-index="228,220"><span data-line-number-content="">216</span></div><div data-line-type="context" data-column-number="217" data-line-index="229,221"><span data-line-number-content="">217</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">14 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="232" data-line-index="244,236"><span data-line-number-content="">232</span></div><div data-line-type="context" data-column-number="233" data-line-index="245,237"><span data-line-number-content="">233</span></div><div data-line-type="context" data-column-number="234" data-line-index="246,238"><span data-line-number-content="">234</span></div><div data-line-type="change-addition" data-column-number="235" data-line-index="269,239"><span data-line-number-content="">235</span></div><div data-line-type="change-addition" data-column-number="236" data-line-index="270,240"><span data-line-number-content="">236</span></div><div data-line-type="change-addition" data-column-number="237" data-line-index="271,241"><span data-line-number-content="">237</span></div><div data-line-type="change-addition" data-column-number="238" data-line-index="272,242"><span data-line-number-content="">238</span></div><div data-line-type="change-addition" data-column-number="239" data-line-index="273,243"><span data-line-number-content="">239</span></div><div data-line-type="change-addition" data-column-number="240" data-line-index="274,244"><span data-line-number-content="">240</span></div><div data-line-type="change-addition" data-column-number="241" data-line-index="275,245"><span data-line-number-content="">241</span></div><div data-line-type="change-addition" data-column-number="242" data-line-index="276,246"><span data-line-number-content="">242</span></div><div data-line-type="change-addition" data-column-number="243" data-line-index="277,247"><span data-line-number-content="">243</span></div><div data-line-type="change-addition" data-column-number="244" data-line-index="278,248"><span data-line-number-content="">244</span></div><div data-line-type="change-addition" data-column-number="245" data-line-index="279,249"><span data-line-number-content="">245</span></div><div data-line-type="change-addition" data-column-number="246" data-line-index="280,250"><span data-line-number-content="">246</span></div><div data-line-type="change-addition" data-column-number="247" data-line-index="281,251"><span data-line-number-content="">247</span></div><div data-line-type="change-addition" data-column-number="248" data-line-index="282,252"><span data-line-number-content="">248</span></div><div data-line-type="change-addition" data-column-number="249" data-line-index="283,253"><span data-line-number-content="">249</span></div><div data-line-type="change-addition" data-column-number="250" data-line-index="284,254"><span data-line-number-content="">250</span></div><div data-line-type="change-addition" data-column-number="251" data-line-index="285,255"><span data-line-number-content="">251</span></div><div data-line-type="change-addition" data-column-number="252" data-line-index="286,256"><span data-line-number-content="">252</span></div><div data-line-type="change-addition" data-column-number="253" data-line-index="287,257"><span data-line-number-content="">253</span></div><div data-line-type="change-addition" data-column-number="254" data-line-index="288,258"><span data-line-number-content="">254</span></div><div data-line-type="change-addition" data-column-number="255" data-line-index="289,259"><span data-line-number-content="">255</span></div><div data-line-type="change-addition" data-column-number="256" data-line-index="290,260"><span data-line-number-content="">256</span></div><div data-line-type="change-addition" data-column-number="257" data-line-index="291,261"><span data-line-number-content="">257</span></div><div data-line-type="change-addition" data-column-number="258" data-line-index="292,262"><span data-line-number-content="">258</span></div><div data-line-type="change-addition" data-column-number="259" data-line-index="293,263"><span data-line-number-content="">259</span></div><div data-line-type="change-addition" data-column-number="260" data-line-index="294,264"><span data-line-number-content="">260</span></div><div data-line-type="change-addition" data-column-number="261" data-line-index="295,265"><span data-line-number-content="">261</span></div><div data-line-type="context" data-column-number="262" data-line-index="296,266"><span data-line-number-content="">262</span></div><div data-line-type="context" data-column-number="263" data-line-index="297,267"><span data-line-number-content="">263</span></div><div data-line-type="context" data-column-number="264" data-line-index="298,268"><span data-line-number-content="">264</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">129 unmodified lines</span></div></div></div><div data-line-type="context" data-column-number="394" data-line-index="428,398"><span data-line-number-content="">394</span></div><div data-line-type="context" data-column-number="395" data-line-index="429,399"><span data-line-number-content="">395</span></div><div data-line-type="context" data-column-number="396" data-line-index="430,400"><span data-line-number-content="">396</span></div><div data-line-type="change-addition" data-column-number="397" data-line-index="432,401"><span data-line-number-content="">397</span></div><div data-line-type="context" data-column-number="398" data-line-index="433,402"><span data-line-number-content="">398</span></div><div data-line-type="context" data-column-number="399" data-line-index="434,403"><span data-line-number-content="">399</span></div><div data-line-type="context" data-column-number="400" data-line-index="435,404"><span data-line-number-content="">400</span></div><div data-line-type="change-addition" data-column-number="401" data-line-index="436,405"><span data-line-number-content="">401</span></div><div data-line-type="change-addition" data-column-number="402" data-line-index="437,406"><span data-line-number-content="">402</span></div><div data-line-type="change-addition" data-column-number="403" data-line-index="438,407"><span data-line-number-content="">403</span></div><div data-line-type="change-addition" data-column-number="404" data-line-index="439,408"><span data-line-number-content="">404</span></div><div data-line-type="change-addition" data-column-number="405" data-line-index="440,409"><span data-line-number-content="">405</span></div><div data-line-type="change-addition" data-column-number="406" data-line-index="441,410"><span data-line-number-content="">406</span></div><div data-line-type="change-addition" data-column-number="407" data-line-index="442,411"><span data-line-number-content="">407</span></div><div data-line-type="change-addition" data-column-number="408" data-line-index="443,412"><span data-line-number-content="">408</span></div><div data-line-type="change-addition" data-column-number="409" data-line-index="444,413"><span data-line-number-content="">409</span></div><div data-line-type="context" data-column-number="410" data-line-index="445,414"><span data-line-number-content="">410</span></div></div><div data-content="" style="grid-row: span 130"><div data-separator="line-info" data-separator-first=""><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">22 unmodified lines</span></div></div></div><div data-line="23" data-alt-line="23" data-line-type="context" data-line-index="22,22"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">setImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">UIImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">systemName</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "xmark"</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">normal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="24" data-alt-line="24" data-line-type="context" data-line-index="23,23"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">tintColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span></div><div data-line="25" data-alt-line="25" data-line-type="context" data-line-index="24,24"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">backgroundColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> UIColor.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">black</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">withAlphaComponent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">0.45</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="26" data-line-type="change-addition" data-line-index="26,25"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">layer</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cornerRadius</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">18</span></span></div><div data-line="27" data-alt-line="27" data-line-type="context" data-line-index="27,26"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">accessibilityLabel</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "Close"</span></div><div data-line="28" data-alt-line="28" data-line-type="context" data-line-index="28,27"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button</span></div><div data-line="29" data-alt-line="29" data-line-type="context" data-line-index="29,28"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">1 unmodified line</span></div></div></div><div data-line="31" data-alt-line="31" data-line-type="context" data-line-index="31,30"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> private</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer: UIVisualEffectView </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> {</span></div><div data-line="32" data-alt-line="32" data-line-type="context" data-line-index="32,31"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> view </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIVisualEffectView</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">effect</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIBlurEffect</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">style</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">systemUltraThinMaterialDark</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">))</span></div><div data-line="33" data-alt-line="33" data-line-type="context" data-line-index="33,32"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="34" data-line-type="change-addition" data-line-index="35,33"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">layer</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cornerRadius</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">16</span></span></div><div data-line="35" data-alt-line="35" data-line-type="context" data-line-index="36,34"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">clipsToBounds</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> true</span></div><div data-line="36" data-alt-line="36" data-line-type="context" data-line-index="37,35"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> view</span></div><div data-line="37" data-alt-line="37" data-line-type="context" data-line-index="38,36"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }()</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">14 unmodified lines</span></div></div></div><div data-line="52" data-alt-line="52" data-line-type="context" data-line-index="53,51"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UILabel</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-line="53" data-alt-line="53" data-line-type="context" data-line-index="54,52"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="54" data-alt-line="54" data-line-type="context" data-line-index="55,53"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">textColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span></div><div data-line="55" data-line-type="change-addition" data-line-index="57,54"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">font</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">monospacedDigitSystemFont</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">ofSize</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">11</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, weight</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">semibold</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="56" data-alt-line="56" data-line-type="context" data-line-index="58,55"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.text </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "0:00"</span></div><div data-line="57" data-alt-line="57" data-line-type="context" data-line-index="59,56"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label</span></div><div data-line="58" data-alt-line="58" data-line-type="context" data-line-index="60,57"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line="61" data-alt-line="61" data-line-type="context" data-line-index="63,60"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UILabel</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-line="62" data-alt-line="62" data-line-type="context" data-line-index="64,61"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="63" data-alt-line="63" data-line-type="context" data-line-index="65,62"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">textColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span></div><div data-line="64" data-line-type="change-addition" data-line-index="67,63"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">font</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">monospacedDigitSystemFont</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">ofSize</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">11</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, weight</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">semibold</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="65" data-alt-line="65" data-line-type="context" data-line-index="68,64"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">textAlignment</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">right</span></div><div data-line="66" data-alt-line="66" data-line-type="context" data-line-index="69,65"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label.text </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43"> "-0:00"</span></div><div data-line="67" data-alt-line="67" data-line-type="context" data-line-index="70,66"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">7 unmodified lines</span></div></div></div><div data-line="75" data-alt-line="75" data-line-type="context" data-line-index="78,74"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> slider.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">minimumTrackTintColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">red</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0.64</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, green</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 0.48</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, blue</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1.0</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, alpha</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 1</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="76" data-alt-line="76" data-line-type="context" data-line-index="79,75"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> slider.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">maximumTrackTintColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> UIColor.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">withAlphaComponent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">0.3</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="77" data-alt-line="77" data-line-type="context" data-line-index="80,76"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> slider.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">thumbTintColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span></div><div data-line="78" data-line-type="change-addition" data-line-index="81,77"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> slider.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">setThumbImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">NativePlayerViewController.scrubberThumbImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">diameter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 12</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">normal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="79" data-line-type="change-addition" data-line-index="82,78"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> slider.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">setThumbImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">NativePlayerViewController.scrubberThumbImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">diameter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 16</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">highlighted</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="80" data-alt-line="78" data-line-type="context" data-line-index="83,79"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> slider</span></div><div data-line="81" data-alt-line="79" data-line-type="context" data-line-index="84,80"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-line="82" data-alt-line="80" data-line-type="context" data-line-index="85,81">
|
|
</div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">103 unmodified lines</span></div></div></div><div data-line="186" data-alt-line="184" data-line-type="context" data-line-index="189,185"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> jumpBackButton.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">jumpBack</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchUpInside</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="187" data-alt-line="185" data-line-type="context" data-line-index="190,186"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> jumpForwardButton.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">jumpForward</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchUpInside</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="188" data-alt-line="186" data-line-type="context" data-line-index="191,187"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> captionsButton.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">showCaptions</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchUpInside</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="189" data-line-type="change-addition" data-line-index="192,188"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> playPauseButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">layer</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cornerRadius</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 21</span></div><div data-line="190" data-alt-line="187" data-line-type="context" data-line-index="193,189"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> scrubber.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">scrubbingStarted</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchDown</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="191" data-alt-line="188" data-line-type="context" data-line-index="194,190"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> scrubber.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">scrubberChanged</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">valueChanged</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="192" data-alt-line="189" data-line-type="context" data-line-index="195,191"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> scrubber.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addTarget</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C">self</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, action</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> #selector</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">scrubbingEnded</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> [.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchUpInside</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchUpOutside</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">touchCancel</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">2 unmodified lines</span></div></div></div><div data-line="195" data-alt-line="192" data-line-type="context" data-line-index="198,194"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> tap.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cancelsTouchesInView</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="196" data-alt-line="193" data-line-type="context" data-line-index="199,195"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> tapSurfaceView.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addGestureRecognizer</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">tap</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="197" data-alt-line="194" data-line-type="context" data-line-index="200,196">
|
|
</div><div data-line="198" data-line-type="change-addition" data-line-index="201,197"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> timeAndScrubRow </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIStackView</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">arrangedSubviews</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> [elapsedLabel, scrubber, remainingLabel]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="199" data-line-type="change-addition" data-line-index="202,198"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> timeAndScrubRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="200" data-line-type="change-addition" data-line-index="203,199"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> timeAndScrubRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">axis</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">horizontal</span></div><div data-line="201" data-line-type="change-addition" data-line-index="204,200"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> timeAndScrubRow.alignment </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">center</span></div><div data-line="202" data-line-type="change-addition" data-line-index="205,201"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> timeAndScrubRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">spacing</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 8</span></div><div data-line="203" data-line-type="change-addition" data-line-index="206,202">
|
|
</div><div data-line="204" data-alt-line="195" data-line-type="context" data-line-index="207,203"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIStackView</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">arrangedSubviews</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> [jumpBackButton, playPauseButton, jumpForwardButton, captionsButton]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="205" data-alt-line="196" data-line-type="context" data-line-index="208,204"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="206" data-alt-line="197" data-line-type="context" data-line-index="209,205"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">axis</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">horizontal</span></div><div data-line="207" data-alt-line="198" data-line-type="context" data-line-index="210,206"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow.alignment </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">center</span></div><div data-line="208" data-line-type="change-addition" data-line-index="218,207"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">distribution</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">equalSpacing</span></span></div><div data-line="209" data-line-type="change-addition" data-line-index="219,208"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlRow.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">spacing</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">14</span></span></div><div data-content-buffer="" data-buffer-size="5" style="grid-row: span 5;min-height:calc(5 * 1lh)"></div><div data-line="210" data-alt-line="206" data-line-type="context" data-line-index="220,214">
|
|
</div><div data-line="211" data-line-type="change-addition" data-line-index="222,215"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIStackView</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">arrangedSubviews</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> [</span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">timeAndScrubRow</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, controlRow]</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="212" data-alt-line="208" data-line-type="context" data-line-index="223,216"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">translatesAutoresizingMaskIntoConstraints</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> false</span></div><div data-line="213" data-alt-line="209" data-line-type="context" data-line-index="224,217"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">axis</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">vertical</span></div><div data-line="214" data-line-type="change-addition" data-line-index="226,218"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">spacing</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">6</span></span></div><div data-line="215" data-alt-line="211" data-line-type="context" data-line-index="227,219"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">contentView</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">addSubview</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">stack</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="216" data-alt-line="212" data-line-type="context" data-line-index="228,220">
|
|
</div><div data-line="217" data-alt-line="213" data-line-type="context" data-line-index="229,221"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> NSLayoutConstraint.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">activate</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">[</span></div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">14 unmodified lines</span></div></div></div><div data-line="232" data-alt-line="228" data-line-type="context" data-line-index="244,236"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> failureLabel.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> -28</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="233" data-alt-line="229" data-line-type="context" data-line-index="245,237"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> failureLabel.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">centerYAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">centerYAnchor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="234" data-alt-line="230" data-line-type="context" data-line-index="246,238">
|
|
</div><div data-line="235" data-line-type="change-addition" data-line-index="269,239"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> closeButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">36</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="236" data-line-type="change-addition" data-line-index="270,240"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> closeButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">heightAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">36</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="237" data-line-type="change-addition" data-line-index="271,241"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> closeButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">topAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">topAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">10</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="238" data-line-type="change-addition" data-line-index="272,242"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> closeButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> -</span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">10</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="239" data-line-type="change-addition" data-line-index="273,243">
|
|
</div><div data-line="240" data-line-type="change-addition" data-line-index="274,244"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">centerXAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">centerXAnchor</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="241" data-line-type="change-addition" data-line-index="275,245"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">lessThanOrEqualTo</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> -</span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">24</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="242" data-line-type="change-addition" data-line-index="276,246"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">lessThanOrEqualToConstant</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">430</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="243" data-line-type="change-addition" data-line-index="277,247"><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">bottomAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> view.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">safeAreaLayoutGuide</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">bottomAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> -12</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></span></div><div data-line="244" data-line-type="change-addition" data-line-index="278,248">
|
|
</div><div data-line="245" data-line-type="change-addition" data-line-index="279,249"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">leadingAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">contentView</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">leadingAnchor</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">12</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="246" data-line-type="change-addition" data-line-index="280,250"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">contentView</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">trailingAnchor</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">-12</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="247" data-line-type="change-addition" data-line-index="281,251"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">topAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">contentView</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span data-diff-span=""><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">topAnchor</span></span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">8</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="248" data-line-type="change-addition" data-line-index="282,252"><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> stack.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">bottomAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalTo</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> controlsContainer.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">contentView</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">bottomAnchor</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, constant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> -10</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></span></div><div data-line="249" data-line-type="change-addition" data-line-index="283,253">
|
|
</div><div data-line="250" data-line-type="change-addition" data-line-index="284,254"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">elapsedLabel.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">42</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="251" data-line-type="change-addition" data-line-index="285,255"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">remainingLabel</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">42</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="252" data-line-type="change-addition" data-line-index="286,256"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">scrubber.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span data-diff-span=""><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">greaterThanOrEqualToConstant</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">160</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="253" data-line-type="change-addition" data-line-index="287,257">
|
|
</div><div data-line="254" data-line-type="change-addition" data-line-index="288,258"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">jumpBackButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">36</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="255" data-line-type="change-addition" data-line-index="289,259"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">jumpBackButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">heightAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">36</span></span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="256" data-line-type="change-addition" data-line-index="290,260"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> </span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">playPauseButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">42</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></span><span data-diff-span=""><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></span></div><div data-line="257" data-line-type="change-addition" data-line-index="291,261"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> playPauseButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">heightAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 42</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="258" data-line-type="change-addition" data-line-index="292,262"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> jumpForwardButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 36</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="259" data-line-type="change-addition" data-line-index="293,263"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> jumpForwardButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">heightAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 36</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="260" data-line-type="change-addition" data-line-index="294,264"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> captionsButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">widthAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 36</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">,</span></div><div data-line="261" data-line-type="change-addition" data-line-index="295,265"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> captionsButton.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">heightAnchor</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">constraint</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">equalToConstant</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> 36</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="262" data-alt-line="253" data-line-type="context" data-line-index="296,266"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> ])</span></div><div data-line="263" data-alt-line="254" data-line-type="context" data-line-index="297,267"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="264" data-alt-line="255" data-line-type="context" data-line-index="298,268">
|
|
</div><div data-separator="line-info"><div data-separator-wrapper=""><div data-separator-content=""><span data-unmodified-lines="">129 unmodified lines</span></div></div></div><div data-line="394" data-alt-line="385" data-line-type="context" data-line-index="428,398"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">setImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">UIImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">systemName</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> systemName</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, for</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">normal</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="395" data-alt-line="386" data-line-type="context" data-line-index="429,399"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">tintColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span></div><div data-line="396" data-alt-line="387" data-line-type="context" data-line-index="430,400"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">backgroundColor</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> UIColor.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">black</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">withAlphaComponent</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">0.35</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span></div><div data-line="397" data-line-type="change-addition" data-line-index="432,401"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">layer</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cornerRadius</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7"> </span><span data-diff-span=""><span style="--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7">18</span></span></div><div data-line="398" data-alt-line="389" data-line-type="context" data-line-index="433,402"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">accessibilityLabel</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> label</span></div><div data-line="399" data-alt-line="390" data-line-type="context" data-line-index="434,403"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> button</span></div><div data-line="400" data-alt-line="391" data-line-type="context" data-line-index="435,404"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> }</span></div><div data-line="401" data-line-type="change-addition" data-line-index="436,405">
|
|
</div><div data-line="402" data-line-type="change-addition" data-line-index="437,406"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> private</span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> static</span><span style="--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE"> func</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> scrubberThumbImage</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">diameter</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">: CGFloat</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> -></span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> UIImage </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">{</span></div><div data-line="403" data-line-type="change-addition" data-line-index="438,407"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> let</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> format </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">=</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIGraphicsImageRendererFormat</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-line="404" data-line-type="change-addition" data-line-index="439,408"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> format.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">scale</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> =</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> UIScreen.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">main</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">scale</span></div><div data-line="405" data-line-type="change-addition" data-line-index="440,409"><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61"> return</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> UIGraphicsImageRenderer</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">size</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> CGSize</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">width</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> diameter, height</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> diameter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, format</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> format</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.image </span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">{</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> context </span><span style="--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61">in</span></div><div data-line="406" data-line-type="change-addition" data-line-index="441,410"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> UIColor.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">white</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">setFill</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">()</span></div><div data-line="407" data-line-type="change-addition" data-line-index="442,411"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A"> context.</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">cgContext</span><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">.</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">fillEllipse</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">in</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> CGRect</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">origin</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> .</span><span style="--diffs-token-dark:#FFA359;--diffs-token-light:#D47628">zero</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">, size</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> CGSize</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">(</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF">width</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> diameter, height</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">:</span><span style="--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF"> diameter</span><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363">)))</span></div><div data-line="408" data-line-type="change-addition" data-line-index="443,412"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="409" data-line-type="change-addition" data-line-index="444,413"><span style="--diffs-token-dark:#636363;--diffs-token-light:#636363"> }</span></div><div data-line="410" data-alt-line="392" data-line-type="context" data-line-index="445,414"><span style="--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A">}</span></div></div></code></pre></div>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Expected Impact for End-Users</h2>
|
|
<p>Users should see more video and less chrome when controls are visible. Playback controls remain familiar, but the overlay is quieter and less intrusive, especially on smaller phones or landscape playback.</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Validation</h2>
|
|
<p class="validation">Passed:</p>
|
|
<ul>
|
|
<li><code>xcodebuild -workspace Dreamio.xcworkspace -scheme Dreamio -sdk iphonesimulator -configuration Debug build</code></li>
|
|
</ul>
|
|
<p>The build completed successfully. Xcode still reports the existing MobileVLCKit script-phase warning about missing outputs; this was not introduced by this player UI change.</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Issues, Limitations, and Mitigations</h2>
|
|
<ul>
|
|
<li>No simulator playback walkthrough was performed in this pass, so the exact visual feel should still be checked on device or simulator with real playback.</li>
|
|
<li>The controls are intentionally smaller. Accessibility labels remain in place, but future work could add larger pointer or VoiceOver-specific affordances if needed.</li>
|
|
</ul>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Follow-up Work</h2>
|
|
<p>No required follow-up Beads issues were created. A useful next polish pass would be a simulator/device visual check during active playback, especially in portrait and landscape.</p>
|
|
</section>
|
|
</main>
|
|
</body>
|
|
</html> |