chatcontrol_dk/slides/bornhack/2023/every_message/talk.html

377 lines
97 KiB
HTML
Raw Normal View History

<!DOCTYPE html><html lang="de-DE"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0"><meta name="apple-mobile-web-app-capable" content="yes"><meta http-equiv="X-UA-Compatible" content="ie=edge"><meta property="og:type" content="website"><meta name="twitter:card" content="summary"><style>@media screen{body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background-color:initial;border:0;color:inherit;cursor:pointer;font-size:inherit;opacity:.8;outline:none;padding:0;transition:opacity .2s linear}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:disabled{cursor:not-allowed;opacity:.15!important}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover{opacity:1}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:active{opacity:.6}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:not(:disabled){transition:none}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-prev{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNNjggOTAgMjggNTBsNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-next{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2
/*!
* Marp / Marpit Gaia theme.
*
* @theme gaia
* @author Yuki Hattori
*
* @auto-scaling true
* @size 16:9 1280px 720px
* @size 4:3 960px 720px
*/div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) code.hljs{display:block;overflow-x:auto;padding:1em}div#\:\$p>svg>foreignObject>section code.hljs{padding:3px 5px}div#\:\$p>svg>foreignObject>section .hljs{background:#000;color:#f8f8f8}div#\:\$p>svg>foreignObject>section .hljs-comment,div#\:\$p>svg>foreignObject>section .hljs-quote{color:#aeaeae;font-style:italic}div#\:\$p>svg>foreignObject>section .hljs-keyword,div#\:\$p>svg>foreignObject>section .hljs-selector-tag,div#\:\$p>svg>foreignObject>section .hljs-type{color:#e28964}div#\:\$p>svg>foreignObject>section .hljs-string{color:#65b042}div#\:\$p>svg>foreignObject>section .hljs-subst{color:#daefa3}div#\:\$p>svg>foreignObject>section .hljs-link,div#\:\$p>svg>foreignObject>section .hljs-regexp{color:#e9c062}div#\:\$p>svg>foreignObject>section .hljs-name,div#\:\$p>svg>foreignObject>section .hljs-section,div#\:\$p>svg>foreignObject>section .hljs-tag,div#\:\$p>svg>foreignObject>section .hljs-title{color:#89bdff}div#\:\$p>svg>foreignObject>section .hljs-class .hljs-title,div#\:\$p>svg>foreignObject>section .hljs-doctag,div#\:\$p>svg>foreignObject>section .hljs-title.class_{text-decoration:underline}div#\:\$p>svg>foreignObject>section .hljs-bullet,div#\:\$p>svg>foreignObject>section .hljs-number,div#\:\$p>svg>foreignObject>section .hljs-symbol{color:#3387cc}div#\:\$p>svg>foreignObject>section .hljs-params,div#\:\$p>svg>foreignObject>section .hljs-template-variable,div#\:\$p>svg>foreignObject>section .hljs-variable{color:#3e87e3}div#\:\$p>svg>foreignObject>section .hljs-attribute{color:#cda869}div#\:\$p>svg>foreignObject>section .hljs-meta{color:#8996a8}div#\:\$p>svg>foreignObject>section .hljs-formula{background-color:#0e2231;color:#f8f8f8;font-style:italic}div#\:\$p>svg>foreignObject>section .hljs-addition{background-color:#253b22;color:#f8f8f8}div#\:\$p>svg>foreignObject>section .hljs-deletion{background-color:#420e09;color:#f8f8f8}div#\:\$p>svg>foreignObject>section .hljs-selector-class{color:#9b703f}div#\:\$p>svg>foreignObject>section .hljs-selector-id{color:#8b98ab}div#\:\$p>svg>foreignObject>section .hljs-emphasis{font-style:italic}div#\:\$p>svg>foreignObject>section .hljs-strong{font-weight:700}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1),div#\:\$p>svg>foreignObject>section :is(h2,marp-h2),div#\:\$p>svg>foreignObject>section :is(h3,marp-h3),div#\:\$p>svg>foreignObject>section :is(h4,marp-h4),div#\:\$p>svg>foreignObject>section :is(h5,marp-h5),div#\:\$p>svg>foreignObject>section :is(h6,marp-h6){margin:.5em 0 0}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1) strong,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2) strong,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3) strong,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4) strong,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5) strong,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6) strong{font-weight:inherit}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1)::part(auto-scaling),div#\:\$p>svg>foreignObject>section :is(h2,marp-h2)::part(auto-scaling),div#\:\$p>svg>foreignObject>section :is(h3,marp-h3)::part(auto-scaling),div#\:\$p>svg>foreignObject>section :is(h4,marp-h4)::part(auto-scaling),div#\:\$p>svg>foreignObject>section :is(h5,marp-h5)::part(auto-scaling),div#\:\$p>svg>foreignObject>section :is(h6,marp-h6)::part(auto-scaling){max-height:580px}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1){font-size:1.8em}div#\:\$p>svg>foreignObject>section :is(h2,marp-h2){font-size:1.5em}div#\:\$p>svg>foreignObject>section :is(h3,marp-h3){font-size:1.3em}div#\:\$p>svg>foreignObject>section :is(h4,marp-h4){font-size:1.1em}div#\:\$p>svg>foreignObject>section :is(h5,marp-h5){font-size:1em}div#\:\$p>svg>foreignObject>section :is(h6,marp-h6){font-size:.9em}div#\:\$p>svg>foreignObject>section blockquote,div#\:\$p>svg>foreignObject>section p{margin:1em 0 0}div#\:\$p>svg>foreignObject>section ol>li,div#\:\$p>svg>foreignObject>section ul>li{margin:.3em 0 0}div#\:\$p>svg>foreignObject>section ol>li>p,div#\:\$p>svg>foreignObject>section ul>li>p{margin:.6em 0 0}div#\:\$p>svg>foreignObject>section code{dis
<h1 id="chatcontrol-every-private-message-is-suspicious">Chatcontrol: Every private message is suspicious</h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="2" data-theme="gaia" style="--theme:gaia;">
<ul>
<li>There is a new mass surveillance law underway</li>
<li>The <strong>European Commission</strong> wants to scan pretty much all private messages and private files stored on the internet.</li>
<li>They argue this is needed to fight sexual abuse of children on the internet</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="3" data-theme="gaia" style="--theme:gaia;">
<h2 id="sexual-abuse-of-children">Sexual abuse of children ...</h2>
<ul>
<li>Children are abused and do not only suffer in the moment,</li>
<li>but they are also traumatized for life.</li>
<li>Many children develop severe psychological disorders like PTSD.</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="4" data-theme="gaia" style="--theme:gaia;">
<h2 id="on-the-internet">... on the internet</h2>
<ul>
<li>Pedophiles exchange images of abuse</li>
<li>Distribution is very hard to stop</li>
<li>Grooming of minors through the internet is another serious problem</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="5" data-theme="gaia" style="--theme:gaia;">
<h2 id="consequences-of-media-sharing">Consequences of media sharing</h2>
<ul>
<li>Police can identify and rescue abuse victims</li>
<li>Eradication of media on the internet is near impossible</li>
<li>Pedophiles get inspired to produce new and more extreme content</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="6" data-theme="gaia" style="--theme:gaia;">
<h1 id="current-solutions">Current solutions</h1>
<ul>
<li>This is a real problem that needs to be addressed</li>
<li>But the solutions have to make sense</li>
<li>Law enforcement is already fighting it</li>
<li>Many digital service providers <strong>automatically detect</strong> illegal content and offer ways to report it</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="7" data-theme="gaia" style="--theme:gaia;">
<h2 id="eprivacy-directive-2002-you-may-not-scan-private-messages">ePrivacy Directive (2002): You may not scan private messages!</h2>
<ul>
<li>Article 5.1: Confidentiality of Information</li>
<li>Article 6: Storing of traffic-related data</li>
</ul>
<p>Digital service providers are not allowed to listen/tap into <strong>personal communication</strong>!<br />
But they (especially US services) have been doing that nevertheless for many years!</p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="8" data-theme="gaia" style="--theme:gaia;">
<h1 id="chatcontrol-i-feb-2021">Chatcontrol I (Feb. 2021)</h1>
<p><img src="img/derogation_front_page.png" alt="" /></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="9" data-theme="gaia" style="--theme:gaia;">
<p>» The proposed regulation is a <strong>temporary measure</strong> aimed at <strong>allowing</strong> tech companies to continue to <strong>voluntarily</strong> track child sexual abuse material«</p>
<ul>
<li>Chatcontrol I was approved in July 2021</li>
<li>Chatcontrol I Expiry date: 3 August 2024</li>
<li>Chatcontrol II was already being drafted at the time</li>
<li>Final title for Chatcontrol II: &quot;Proposal for a Regulation laying down rules to prevent and combat child sexual abuse&quot;</li>
<li>Upcoming european elections: 6 to 9 June 2024</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="10" data-theme="gaia" style="--theme:gaia;">
<h1 id="chatcontrol-ii-may-2022">Chatcontrol II (May 2022)</h1>
<table>
<thead>
<tr>
<th style="text-align:left">Law</th>
<th style="text-align:center">Type</th>
<th style="text-align:center">Scanning of public data</th>
<th style="text-align:left">Scanning of private data</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">ePrivacy</td>
<td style="text-align:center">Directive</td>
<td style="text-align:center">Voluntary</td>
<td style="text-align:left">Forbidden</td>
</tr>
<tr>
<td style="text-align:left">Chatcontrol I</td>
<td style="text-align:center">Regulation</td>
<td style="text-align:center">Voluntary</td>
<td style="text-align:left">Voluntary</td>
</tr>
<tr>
<td style="text-align:left">Chatcontrol II</td>
<td style="text-align:center">Regulation</td>
<td style="text-align:center">Required</td>
<td style="text-align:left">Required</td>
</tr>
</tbody>
</table>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="11" data-theme="gaia" style="--theme:gaia;">
<h2 id="putting-required-scanning-into-perspective">Putting required scanning into perspective</h2>
<p><img src="img/cake.png" alt="" style="height:300px;" /> <img src="img/uncle_sam_everyone.png" alt="" style="height:300px;" /></p>
<p><em>(for illustration purposes only, actual data unavailable)</em></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="12" data-theme="gaia" style="--theme:gaia;">
<h2 id="scan-and-identify">Scan and identify ...</h2>
<ul>
<li>Known CSAM</li>
<li>Unknown CSAM</li>
<li>Grooming attempts</li>
</ul>
<p>In Media:</p>
<ul>
<li>Images, Video</li>
<li>Text (grooming)</li>
<li>Audio: Maybe. Potential distiction between live and stored audio messages</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="13" data-theme="gaia" style="--theme:gaia;">
<h2 id="what-about-encryption">What about encryption?</h2>
<ul>
<li>End-to-End encryption is explicitly named as a technology in the chatcontrol II proposal</li>
<li>&quot;Security Through Encryption and Despite Encryption&quot;</li>
<li>Client-side scanning or encryption backdoors will be required</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="left"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;img/chatcontrol_flowchart.png&quot;);background-size:auto 720px;"></figure></div></section></foreignObject><foreignObject width="50%" height="720" x="50%"><section id="14" data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="left">
<h2 id="reporting-of-suspicious-content">Reporting of suspicious content</h2>
<p>The <strong>new EU CSAM centre</strong> is needed because even the commission admits that there will be false positives!</p>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="left"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="15" data-theme="gaia" style="--theme:gaia;">
<h1 id="whos-behind-chatcontrol">Who's behind chatcontrol?</h1>
<p><img src="img/ursula.jpg" alt="" style="height:400px;" /> <img src="img/ylva.jpg" alt="" style="height:400px;" /></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="16" data-theme="gaia" style="--theme:gaia;">
<h2 id="zensursula-2009">Zensursula (2009)</h2>
<p><img src="img/ursula-von-der-leyen-internetsperren.webp" alt="" style="height:400px;" /></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;img/ursula.jpg&quot;);"></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="17" data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h2 id="zensursula-2009-1">Zensursula (2009)</h2>
<ul>
<li>Claim: Hosting providers don't delete CSAM -&gt; we need to block</li>
<li>List of CSAM pages was leaked</li>
<li>All CSAM was deleted in short time. Argument debunked</li>
</ul>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="left"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;img/ursula.jpg&quot;);"></figure></div></section></foreignObject><foreignObject width="50%" height="720" x="50%"><section id="18" data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="left">
<h2 id="zensursula-2009-2">Zensursula (2009)</h2>
<ul>
<li>Lots of press coverage in Germany</li>
<li>Very successful petition to stop the law</li>
<li>The law never came into effect and was abolished by next government</li>
</ul>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="left"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;img/ylva.jpg&quot;);"></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="19" data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h2 id="ylva-johansson">Ylva Johansson</h2>
<ul>
<li>EU Commissioner for Home Affairs</li>
<li>Is in charge of the chatcontrol proposal</li>
<li>Won the Dutch Big Brother Award 2022 (Bits of Freedom)</li>
<li>Insists that chatcontrol II is absolutely necessary</li>
</ul>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;img/kutcher_photoshooting.jpeg&quot;);"></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="20" data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h2 id="ashton-kutcher">Ashton Kutcher</h2>
<ul>
<li>American Actor and founder of the Thorn foundation</li>
<li>Child protection advocate with a focus on technical solutions</li>
<li>Popular visitor at EU institutions</li>
</ul>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="left"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;img/kutcher_photoshooting.jpeg&quot;);"></figure></div></section></foreignObject><foreignObject width="50%" height="720" x="50%"><section id="21" data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="left">
<h2 id="ashton-kutcher-1">Ashton Kutcher</h2>
<ul>
<li>Claims that he has technical solutions to the problem</li>
<li>Claims that no one wants to talk about the topic, because no one understands the technology</li>
</ul>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="left"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="22" data-theme="gaia" style="--theme:gaia;">
<h2 id="notable-critics-of-chatcontrol">Notable critics of chatcontrol</h2>
<ul>
<li>Deutscher Kinderschutzbund (The Federal Association of the Child Protection Association in Germany)</li>
<li>MOGIS e.V. (Missbrauchsopfer gegen Internetsperren/Child abuse victims against internet censorship)</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="23" data-theme="gaia" style="--theme:gaia;">
<h2 id="activism">Activism</h2>
<p><img src="img/mullvad.jpg" alt="" style="width:500px;height:300px;" /> <img src="img/fussballfans.jpg" alt="" style="width:500px;height:300px;" /></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="24" data-theme="gaia" style="--theme:gaia;">
<h3 id="chatcontroldk">Chatcontrol.dk</h3>
<ul>
<li>online activism for Denmark</li>
<li>Illustrate how chatcontrol will impact our daily lives</li>
<li>Independent Dutch translation of the website: <a href="https://chatcontrole.nl/">https://chatcontrole.nl/</a></li>
<li>Talk to me after the presentation!</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="25" data-theme="gaia" style="--theme:gaia;">
<h1 id="scanning-private-messages-globally">Scanning private messages globally</h1>
<p>see page 8 of <a href="https://www2.datainnovation.org/2022-E2EE-monitoring-obligations.pdf">https://www2.datainnovation.org/2022-E2EE-monitoring-obligations.pdf</a></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="26" data-theme="gaia" style="--theme:gaia;">
<h1 id="legal-and-technical-reality">Legal and technical reality</h1>
<p>Listening to the experts ...</p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="27" data-theme="gaia" style="--theme:gaia;">
<h2 id="legal-service-of-the-council-of-the-eu-12">Legal Service of the Council of the EU (1/2)</h2>
<blockquote>
<p>With this regard, it must be taken into consideration that interpersonal communication services are <strong>used by almost the entire population</strong> and may also be used for the dissemination of CSAM and/or for solicitation of children.</p>
</blockquote>
<p><a href="https://cdn.netzpolitik.org/wp-upload/2023/05/2023-04-26_Council_Legal-Service_CSAR_8787.pdf">source</a></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="28" data-theme="gaia" style="--theme:gaia;">
<h2 id="legal-service-of-the-council-of-the-eu-22">Legal Service of the Council of the EU (2/2)</h2>
<blockquote>
<p>Detection orders addressed to those services would entail a variable but in almost all cases very broad scope of <strong>automated analysis of personal data and access to personal and confidential information</strong> concerning a very large number of persons that are <strong>not involved, even indirectly, in child sexual abuse offences</strong>.</p>
</blockquote>
<p><a href="https://cdn.netzpolitik.org/wp-upload/2023/05/2023-04-26_Council_Legal-Service_CSAR_8787.pdf">source</a></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="29" data-theme="gaia" style="--theme:gaia;">
<h2 id="scientific-service-of-german-parliament">Scientific service of german parliament:</h2>
<blockquote>
<p>Zudem wäre eine <strong>Ausweitung der Überwachung</strong> auch auf andere Bereiche <strong>möglich und zu befürchten</strong></p>
</blockquote>
<blockquote>
<p>Vor dem Hintergrund der bisherigen Rechtsprechung [..] ist davon auszugehen, dass an die Verordnung 2022/0155 (COD) hohe Anforderungen zu stellen sind und der Verordnungsentwurf in seiner aktuellen Fassung <strong>so nicht in Kraft treten dürfte</strong>.</p>
</blockquote>
<p><a href="https://netzpolitik.org/2022/wissenschaftliche-dienste-chatkontrolle-darf-so-nicht-in-kraft-treten/#2022-10-07_Bundestag_Wissenschaftliche-Dienste_Chatkontrolle">source</a></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="30" data-theme="gaia" style="--theme:gaia;">
<h2 id="professor-stefan-axelsson">Professor Stefan Axelsson</h2>
<p><em>(Prof. digital forensik och cybersäkerhet, Stockholms Universitet)</em></p>
<blockquote>
<p>Inte ens Östtysklands säkerhetspolis <strong>Stasi</strong> hade övervakning på den här nivån.</p>
</blockquote>
<blockquote>
<p>De pedofiler som man verkligen vill komma åt, de kommunicerar inte på det här viset. De kommunicerar på <strong>Darknet</strong> och andra liknande ställen.</p>
</blockquote>
<p><a href="https://www.svt.se/nyheter/utrikes/eu-forslaget-chat-control-kritiseras">source</a></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="31" data-theme="gaia" style="--theme:gaia;">
<h2 id="professor-mathew-green">Professor Mathew Green</h2>
<p><em>(Prof. of Cryptography @JHU, USA)</em></p>
<p><img src="img/matthew_green_alarming.png" alt="" style="height:170px;" /> <img src="img/matthew_green_reprogram.png" alt="" style="height:170px;" /> <img src="img/matthew_green_technologies_dont_exist.png" alt="" style="height:170px;" /></p>
<p><a href="https://ioc.exchange/@matthew_d_green/110001087185622691">source</a></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="32" data-theme="gaia" style="--theme:gaia;">
<h2 id="professor-mathew-green-1">Professor Mathew Green</h2>
<p><em>(Prof. of Cryptography @JHU, USA)</em></p>
<blockquote>
<p>My impression is that the authors <strong>do not understand</strong>, at a purely technical level, that they are asking technology providers to deploy systems that none of them know how to build safely. <strong>Nor has the Commission consulted people with the technical and scientific expertise that would be needed to make this proposal viable</strong></p>
</blockquote>
<p><a href="https://blog.cryptographyengineering.com/2023/03/23/remarks-on-chat-control/">source</a></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="33" data-theme="gaia" style="--theme:gaia;">
<h2 id="open-letter-13">Open Letter (1/3)</h2>
<p>Signed by Cryptographers like Ronald Rivest, Martin Hellman, Bruce Schneier, ..., <a href="https://netzpolitik.org/2023/wissenschaftler-warnen-chatkontrolle-ist-der-falsche-weg/#2023-07-04_Joint-statement-scientists-researchers-EU-CSAR">(source)</a></p>
<blockquote>
<p>Research has shown that for all known perceptual hash functions, it is <strong>virtually always possible</strong> to make <strong>small changes</strong> to an image that result in a <strong>large change of the hash value</strong> which allows evasion of detection (false negative).</p>
</blockquote>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="34" data-theme="gaia" style="--theme:gaia;">
<h2 id="open-letter-23">Open Letter (2/3)</h2>
<blockquote>
<p>Moreover, it is also possible to <strong>create a legitimate picture</strong> that will be <strong>falsely detected</strong> as illegal material as it has the same hash as a picture that is in the database (false positive). This can be achieved even <strong>without knowing the hash database</strong>. Such an attack could be used to frame innocent users and to flood Law Enforcement Agencies with false positives <strong>diverting resources away from real investigations</strong> into child sexual abuse.</p>
</blockquote>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="35" data-theme="gaia" style="--theme:gaia;">
<h2 id="open-letter-33">Open Letter (3/3)</h2>
<blockquote>
<p>Even if such a CSS system could be conceived, there is an <strong>extremely high risk that it will be abused</strong>. We expect that there will be substantial pressure on policymakers to extend the scope, [..] the <strong>hash values give no information on the content itself</strong>, it would be <strong>impossible</strong> for outsiders to <strong>detect this abuse</strong>.</p>
</blockquote>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="36" data-theme="gaia" style="--theme:gaia;">
<h1 id="chatcontrol--life-in-the-eu">Chatcontrol &amp; life in the EU</h1>
<p>It is no longer just the nerds who live on the internet.</p>
<p><img src="img/smartphone_users.jpg" alt="" style="height:400px;" /> <img src="img/eu_countries.png" alt="" style="height:400px;" /></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="37" data-theme="gaia" style="--theme:gaia;">
<h2 id="dangers-to-foss-repositories-12">Dangers to FOSS repositories (1/2)</h2>
<p>Chapter II, Section 1, Article 6:</p>
<blockquote>
<p>Providers of software application stores shall:<br />
(a) make reasonable efforts to <strong>assess</strong>, where possible together with the providers of software applications, whether each service offered through the software applications that they intermediate presents a <strong>risk of being used for the purpose of the solicitation of children</strong>;</p>
</blockquote>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="38" data-theme="gaia" style="--theme:gaia;">
<h2 id="dangers-to-foss-repositories-22">Dangers to FOSS repositories (2/2)</h2>
<p>Chapter II, Section 1, Article 6:</p>
<blockquote>
<p>Providers of software application stores shall:<br />
(b) take reasonable measures to <strong>prevent child users from accessing the software</strong> applications in relation to which they have identified a significant risk of use of the service concerned for the purpose of the solicitation of children; (c) take the necessary <strong>age verification</strong> and age assessment measures <strong>to reliably identify child users on their services</strong>, enabling them to take the measures referred to in point (b).</p>
</blockquote>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="left"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;img/child_computer.jpg&quot;);"></figure></div></section></foreignObject><foreignObject width="50%" height="720" x="50%"><section id="39" data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="left">
<h1 id="how-to-grow-up-if">How to grow up if ...</h1>
<ul>
<li>you do not learn how to navigate the world in the information age?</li>
<li>you do not learn when/how to talk to strangers offline &amp; online?</li>
</ul>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="left"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;img/child_computer.jpg&quot;);"></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="40" data-theme="gaia" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h1 id="how-to-grow-up-if-1">How to grow up if ...</h1>
<ul>
<li>you cannot freely share secrets with the people you trust?</li>
<li>you cannot find peers outside of your village/city that share your interests/concerns?</li>
</ul>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="41" data-theme="gaia" style="--theme:gaia;">
<h1 id="circumventing-chatcontrol">Circumventing chatcontrol</h1>
<ul>
<li>Encrypt data outside of communication program</li>
<li>Block the CSAM reporting server in firewall</li>
<li>Patch open source software so that it doesn't spy on you</li>
</ul>
<p>People who deeply care about circumventing chatcontrol will be able to do so.</p>
<p>Chatcontrol does not work and has serious negative side-effects!</p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="42" data-theme="gaia" style="--theme:gaia;">
<h1 id="the-way-forward">The way forward</h1>
<ul>
<li>Society needs to <strong>empower</strong> children through education</li>
<li>Ongoing discussions in the LIBE committee. Write to your MEP (in LIBE)!</li>
<li>Potential vote in the parliament in the coming months</li>
<li>Talk to the press. This needs more coverage in more EU countries, because this affects basically everyone</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="43" data-theme="gaia" style="--theme:gaia;">
<p>Thank you for your attention</p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="44" data-theme="gaia" style="--theme:gaia;">
<h2 id="appendix-enforcing-chatcontrol">Appendix: Enforcing Chatcontrol</h2>
<p>Chapter III, Section 2, Article 27:</p>
<blockquote>
<p>[..] Coordinating Authorities shall have the following <strong>powers of investigation</strong>, [..]:</p>
</blockquote>
<blockquote>
<p>(b) the power to carry out <strong>on-site inspections</strong> of any premises that those providers or the other persons [..] in order to <strong>examine, seize, take or obtain copies of information relating to a suspected infringement of this Regulation</strong> in any form, irrespective of the storage medium;</p>
</blockquote>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="45" data-theme="gaia" style="--theme:gaia;">
<h1 id="appendix-criticsm-of-ylva-johansson">Appendix: Criticsm of Ylva Johansson</h1>
<p><a href="https://edri.org/our-work/commissioner-johansson-cannot-be-trusted-with-the-eus-proposed-csa-regulation/">https://edri.org/our-work/commissioner-johansson-cannot-be-trusted-with-the-eus-proposed-csa-regulation/</a></p>
</section>
<script>!function(){"use strict";const t={h1:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"1"},style:"display: block; font-size: 2em; margin-block-start: 0.67em; margin-block-end: 0.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h2:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"2"},style:"display: block; font-size: 1.5em; margin-block-start: 0.83em; margin-block-end: 0.83em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h3:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"3"},style:"display: block; font-size: 1.17em; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h4:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"4"},style:"display: block; margin-block-start: 1.33em; margin-block-end: 1.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h5:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"5"},style:"display: block; font-size: 0.83em; margin-block-start: 1.67em; margin-block-end: 1.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h6:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"6"},style:"display: block; font-size: 0.67em; margin-block-start: 2.33em; margin-block-end: 2.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},span:{proto:()=>HTMLSpanElement},pre:{proto:()=>HTMLElement,style:"display: block; font-family: monospace; white-space: pre; margin: 1em 0; --marp-auto-scaling-white-space: pre;"}},e="data-marp-auto-scaling-wrapper",i="data-marp-auto-scaling-svg",n="data-marp-auto-scaling-container";class s extends HTMLElement{constructor(){super(),this.svgPreserveAspectRatio="xMinYMid meet";const t=t=>([e])=>{const{width:i,height:n}=e.contentRect;this[t]={width:i,height:n},this.updateSVGRect()};this.attachShadow({mode:"open"}),this.containerObserver=new ResizeObserver(t("containerSize")),this.wrapperObserver=new ResizeObserver(((...e)=>{t("wrapperSize")(...e),this.flushSvgDisplay()}))}static get observedAttributes(){return["data-downscale-only"]}connectedCallback(){var t,s,o,r,a;this.shadowRoot.innerHTML=`\n<style>\n svg[${i}] { display: block; width: 100%; height: auto; vertical-align: top; }\n span[${n}] { display: table; white-space: var(--marp-auto-scaling-white-space, nowrap); width: max-content; }\n</style>\n<div ${e}>\n <svg part="svg" ${i}>\n <foreignObject><span ${n}><slot></slot></span></foreignObject>\n </svg>\n</div>\n `.split(/\n\s*/).join(""),this.wrapper=null!==(t=this.shadowRoot.querySelector(`div[${e}]`))&&void 0!==t?t:void 0;const l=this.svg;this.svg=null!==(o=null===(s=this.wrapper)||void 0===s?void 0:s.querySelector(`svg[${i}]`))&&void 0!==o?o:void 0,this.svg!==l&&(this.svgComputedStyle=this.svg?window.getComputedStyle(this.svg):void 0),this.container=null!==(a=null===(r=this.svg)||void 0===r?void 0:r.querySelector(`span[${n}]`))&&void 0!==a?a:void 0,this.observe()}disconnectedCallback(){this.svg=void 0,this.svgComputedStyle=void 0,this.wrapper=void 0,this.container=void 0,this.observe()}attributeChangedCallback(){this.observe()}flushSvgDisplay(){const{svg:t}=this;t&&(t.style.display="inline",requestAnimationFrame((()=>{t.style.display=""})))}observe(){this.containerObserver.disconnect(),this.wrapperObserver.disconnect(),this.wrapper&&this.wrapperObserver.observe(this.wrapper),this.container&&this.containerObserver.observe(this.container),this.svgComputedStyle&&this.observeSVGStyle(this.svgComputedStyle)}observeSVGStyle(t){const e=()=>{const i=(()=>{const e=t.getPropertyValue("--preserve-aspect-ratio");if(e)return e.trim();return`x${(({textAlign:t,direction:e})=>{if(t.endsWith("left"))return"Min";if(t.endsWith("right"))return"Max";if("start"===t||"end"===t){let i="rtl"===e;return"end"===t&&(i=!i),i?"Max":"Min"}return"Mid"})(t)}YMid meet`})();i!==this.svgPreserveAspectRatio&&(this.svgPreserveAspectRatio=i,this.updateSVGRect()),t===this.svgComputedStyle&&requestAnimationFrame(e)};e()
</script></foreignObject></svg></div><div class="bespoke-marp-note" data-index="26" tabindex="0"><p>this will affect almost everyone</p></div><div class="bespoke-marp-note" data-index="27" tabindex="0"><p>a lot of innocent persons will have their confidentiality violated</p></div><div class="bespoke-marp-note" data-index="28" tabindex="0"><p>Expansion of surveillance is very likely.
The current proposal is not compatible with existing laws</p></div><div class="bespoke-marp-note" data-index="32" tabindex="0"><p>It is easy fool detection algorithms to not report images</p></div><div class="bespoke-marp-note" data-index="33" tabindex="0"><p>It is easy fool detection algorithms to falsy report images
This will take away resources from law enforcement</p></div><div class="bespoke-marp-note" data-index="34" tabindex="0"><p>There is a high risk of abuse of the law, because hashes can represent anything</p></div><div class="bespoke-marp-note" data-index="35" tabindex="0"><p>The internet supports the single market, travel, work, live freely within the union
Chatcontrol is highly anti-european
&quot;Group of diverse people using smartphones&quot; by Rawpixel Ltd is licensed under CC BY 2.0.</p></div><div class="bespoke-marp-note" data-index="36" tabindex="0"><p>[point 14]software application stores means a type of online intermediation services, which is focused on software applications
as the intermediated product or service;
Volunteers have to review thousands of software packages that they offer. This is not feasible.</p></div><div class="bespoke-marp-note" data-index="37" tabindex="0"><p>Children will not be able to use software with &quot;significant&quot; risk of solicitation.
Chatcontrol disempowers children!
public service
Software repositories need to introduce age control</p></div><div class="bespoke-marp-note" data-index="38" tabindex="0"><p>&quot;That's my Doctorate finished. Will make much more sense than me writing it myself ☺ #student #baby #child #computer #typing #doctorate #phd #maternityleave&quot; by elliemcc11 is licensed under CC BY-SA 2.0.</p></div><div class="bespoke-marp-note" data-index="39" tabindex="0"><p>The fact that we can connect to any other human on the planet regardless of age, gender, sexual orientation, skin color and other factors is not a bug but a feature!
&quot;That's my Doctorate finished. Will make much more sense than me writing it myself ☺ [..] by elliemcc11 is licensed under CC BY-SA 2.0.</p></div><script>/*!! License: https://unpkg.com/@marp-team/marp-cli@3.1.0/lib/bespoke.js.LICENSE.txt */
!function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t={from:function(e,t){var n,r=1===(e.parent||e).nodeType?e.parent||e:document.querySelector(e.parent||e),o=[].filter.call("string"==typeof e.slides?r.querySelectorAll(e.slides):e.slides||r.children,(function(e){return"SCRIPT"!==e.nodeName})),i={},a=function(e,t){return(t=t||{}).index=o.indexOf(e),t.slide=e,t},s=function(e,t){i[e]=(i[e]||[]).filter((function(e){return e!==t}))},l=function(e,t){return(i[e]||[]).reduce((function(e,n){return e&&!1!==n(t)}),!0)},c=function(e,t){o[e]&&(n&&l("deactivate",a(n,t)),n=o[e],l("activate",a(n,t)))},d=function(e,t){var r=o.indexOf(n)+e;l(e>0?"next":"prev",a(n,t))&&c(r,t)},u={off:s,on:function(e,t){return(i[e]||(i[e]=[])).push(t),s.bind(null,e,t)},fire:l,slide:function(e,t){if(!arguments.length)return o.indexOf(n);l("slide",a(o[e],t))&&c(e,t)},next:d.bind(null,1),prev:d.bind(null,-1),parent:r,slides:o,destroy:function(e){l("destroy",a(n,e)),i={}}};return(t||[]).forEach((function(e){e(u)})),n||c(0),u}},n=e(t);const r=document.body,o=(...e)=>history.replaceState(...e),i="presenter",a="next",s=["",i,a],l="bespoke-marp-",c=`data-${l}`,d=(e,{protocol:t,host:n,pathname:r,hash:o}=location)=>{const i=e.toString();return`${t}//${n}${r}${i?"?":""}${i}${o}`},u=()=>r.dataset.bespokeView,f=e=>new URLSearchParams(location.search).get(e),m=(e,t={})=>{var n;const r={location,setter:o,...t},i=new URLSearchParams(r.location.search);for(const t of Object.keys(e)){const n=e[t];"string"==typeof n?i.set(t,n):i.delete(t)}try{r.setter({...null!==(n=window.history.state)&&void 0!==n?n:{}},"",d(i,r.location))}catch(e){console.error(e)}},g=(()=>{const e="bespoke-marp";try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch(e){return!1}})(),p=e=>{try{return localStorage.getItem(e)}catch(e){return null}},v=(e,t)=>{try{return localStorage.setItem(e,t),!0}catch(e){return!1}},h=e=>{try{return localStorage.removeItem(e),!0}catch(e){return!1}},y=(e,t)=>{const n="aria-hidden";t?e.setAttribute(n,"true"):e.removeAttribute(n)},b=e=>{e.parent.classList.add(`${l}parent`),e.slides.forEach((e=>e.classList.add(`${l}slide`))),e.on("activate",(t=>{const n=`${l}active`,r=t.slide,o=r.classList,i=!o.contains(n);if(e.slides.forEach((e=>{e.classList.remove(n),y(e,!0)})),o.add(n),y(r,!1),i){const e=`${n}-ready`;o.add(e),document.body.clientHeight,o.remove(e)}}))},w=e=>{let t=0,n=0;Object.defineProperty(e,"fragments",{enumerable:!0,value:e.slides.map((e=>[null,...e.querySelectorAll("[data-marpit-fragment]")]))});const r=r=>void 0!==e.fragments[t][n+r],o=(r,o)=>{t=r,n=o,e.fragments.forEach(((e,t)=>{e.forEach(((e,n)=>{if(null==e)return;const i=t<r||t===r&&n<=o;e.setAttribute(`${c}fragment`,(i?"":"in")+"active");const a=`${c}current-fragment`;t===r&&n===o?e.setAttribute(a,"current"):e.removeAttribute(a)}))})),e.fragmentIndex=o;const i={slide:e.slides[r],index:r,fragments:e.fragments[r],fragmentIndex:o};e.fire("fragment",i)};e.on("next",(({fragment:i=!0})=>{if(i){if(r(1))return o(t,n+1),!1;const i=t+1;e.fragments[i]&&o(i,0)}else{const r=e.fragments[t].length;if(n+1<r)return o(t,r-1),!1;const i=e.fragments[t+1];i&&o(t+1,i.length-1)}})),e.on("prev",(({fragment:i=!0})=>{if(r(-1)&&i)return o(t,n-1),!1;const a=t-1;e.fragments[a]&&o(a,e.fragments[a].length-1)})),e.on("slide",(({index:t,fragment:n})=>{let r=0;if(void 0!==n){const o=e.fragments[t];if(o){const{length:e}=o;r=-1===n?e-1:Math.min(Math.max(n,0),e-1)}}o(t,r)})),o(0,0)},x=document,k=()=>!(!x.fullscreenEnabled&&!x.webkitFullscreenEnabled),$=()=>!(!x.fullscreenElement&&!x.webkitFullscreenElement),E=e=>{e.fullscreen=()=>{k()&&(async()=>{return $()?null===(e=x.exitFullscreen||x.webkitExitFullscreen)||void 0===e?void 0:e.call(x):((e=x.body)=>{var t;return null===(t=e.requestFullscreen||e.webkitRequestFullscreen)||void 0===t?void 0:t.call(e)})();var e})()},document.addEventListener("keydown",(t=>{"f"!==t.key&&"F11"!==t.key||t.altKey||t.ctrlKey||t.metaKey||!k()||(e.fullscreen(),t.preventDefault())}))},L=`${l}inactive`,S=(e=2e3)=>({parent:t,fire:n})=>{c