<!DOCTYPE html>
<html lang="en-us">
<head><meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Grcov report - hnefatafl-ai.rs </title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css"></head>
<body>
<div class="container">
<nav class="breadcrumb is-right" aria-label="breadcrumbs">
<ul><li><a href="../../index.html">top_level</a></li><li><a href="./index.html">src/bin</a></li><li class="is-active"><a href="#">hnefatafl-ai.rs</a></li>
</ul>
</nav>
<nav class="level">
<div class="level-item has-text-centered">
<div>
<p class="heading">Lines</p>
<p class="title has-text-danger">
<abbr title="0 / 144">0 %</abbr></p>
</div>
</div>
<div class="level-item has-text-centered">
<div>
<p class="heading">Functions</p>
<p class="title has-text-danger">
<abbr title="0 / 6">0 %</abbr></p>
</div>
</div>
<div class="level-item has-text-centered">
<div>
<p class="heading">Branches</p>
<p class="title has-text-success">
<abbr title="0 / 0">100 %</abbr></p>
</div>
</div>
</nav>
<div role="table" aria-label="Coverage report"><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="1"
role="cell">
<a href="#1">1</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// This file is part of hnefatafl-copenhagen.</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="2"
role="cell">
<a href="#2">2</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">//</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="3"
role="cell">
<a href="#3">3</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// hnefatafl-copenhagen is free software: you can redistribute it and/or modify</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="4"
role="cell">
<a href="#4">4</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// it under the terms of the GNU Affero General Public License as published by</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="5"
role="cell">
<a href="#5">5</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// the Free Software Foundation, either version 3 of the License, or</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="6"
role="cell">
<a href="#6">6</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// (at your option) any later version.</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="7"
role="cell">
<a href="#7">7</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">//</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="8"
role="cell">
<a href="#8">8</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// hnefatafl-copenhagen is distributed in the hope that it will be useful,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="9"
role="cell">
<a href="#9">9</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// but WITHOUT ANY WARRANTY; without even the implied warranty of</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="10"
role="cell">
<a href="#10">10</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="11"
role="cell">
<a href="#11">11</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// GNU Affero General Public License for more details.</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="12"
role="cell">
<a href="#12">12</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">//</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="13"
role="cell">
<a href="#13">13</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// You should have received a copy of the GNU Affero General Public License</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="14"
role="cell">
<a href="#14">14</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// along with this program. If not, see <https://www.gnu.org/licenses/>.</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="15"
role="cell">
<a href="#15">15</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="16"
role="cell">
<a href="#16">16</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">#![deny(clippy::expect_used)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="17"
role="cell">
<a href="#17">17</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">#![deny(clippy::indexing_slicing)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="18"
role="cell">
<a href="#18">18</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">#![deny(clippy::panic)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="19"
role="cell">
<a href="#19">19</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">#![deny(clippy::unwrap_used)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="20"
role="cell">
<a href="#20">20</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="21"
role="cell">
<a href="#21">21</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">use std::{</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="22"
role="cell">
<a href="#22">22</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> io::{BufRead, BufReader, Write},</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="23"
role="cell">
<a href="#23">23</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> net::{TcpStream, ToSocketAddrs as _},</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="24"
role="cell">
<a href="#24">24</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> time::Duration,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="25"
role="cell">
<a href="#25">25</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">};</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="26"
role="cell">
<a href="#26">26</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="27"
role="cell">
<a href="#27">27</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">use anyhow::Error;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="28"
role="cell">
<a href="#28">28</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">use clap::{CommandFactory, Parser};</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="29"
role="cell">
<a href="#29">29</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">use hnefatafl_copenhagen::{</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="30"
role="cell">
<a href="#30">30</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> COPYRIGHT, LONG_VERSION, VERSION_ID,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="31"
role="cell">
<a href="#31">31</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> ai::AI,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="32"
role="cell">
<a href="#32">32</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> game::Game,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="33"
role="cell">
<a href="#33">33</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> play::Plae,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="34"
role="cell">
<a href="#34">34</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> role::Role,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="35"
role="cell">
<a href="#35">35</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> status::Status,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="36"
role="cell">
<a href="#36">36</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> utils::{self, choose_ai},</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="37"
role="cell">
<a href="#37">37</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">};</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="38"
role="cell">
<a href="#38">38</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">use log::{debug, info, trace};</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="39"
role="cell">
<a href="#39">39</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">use socket2::{Domain, SockAddr, Socket, TcpKeepalive, Type};</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="40"
role="cell">
<a href="#40">40</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="41"
role="cell">
<a href="#41">41</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">// Move 26, defender wins, corner escape, time per move 15s 2025-03-06 (hnefatafl-equi).</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="42"
role="cell">
<a href="#42">42</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="43"
role="cell">
<a href="#43">43</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">const PORT: &str = ":49152";</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="44"
role="cell">
<a href="#44">44</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="45"
role="cell">
<a href="#45">45</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">/// Copenhagen Hnefatafl AI</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="46"
role="cell">
<a href="#46">46</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">///</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="47"
role="cell">
<a href="#47">47</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">/// This is an AI client that connects to a server.</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="48"
role="cell">
<a href="#48">48</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">#[allow(clippy::struct_excessive_bools)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="49"
role="cell">
<a href="#49">49</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">#[derive(Parser, Debug)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="50"
role="cell">
<a href="#50">50</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">#[command(long_version = LONG_VERSION, about = "Copenhagen Hnefatafl AI")]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="51"
role="cell">
<a href="#51">51</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">struct Args {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="52"
role="cell">
<a href="#52">52</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// Enter your username</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="53"
role="cell">
<a href="#53">53</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="54"
role="cell">
<a href="#54">54</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> username: String,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="55"
role="cell">
<a href="#55">55</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="56"
role="cell">
<a href="#56">56</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// Enter your password</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="57"
role="cell">
<a href="#57">57</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(default_value = "", long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="58"
role="cell">
<a href="#58">58</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> password: String,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="59"
role="cell">
<a href="#59">59</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="60"
role="cell">
<a href="#60">60</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// Set the role as attacker or defender</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="61"
role="cell">
<a href="#61">61</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(default_value_t = Role::Attacker, long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="62"
role="cell">
<a href="#62">62</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> role: Role,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="63"
role="cell">
<a href="#63">63</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="64"
role="cell">
<a href="#64">64</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// Connect to the HTP server at host</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="65"
role="cell">
<a href="#65">65</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(default_value = "hnefatafl.org", long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="66"
role="cell">
<a href="#66">66</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> host: String,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="67"
role="cell">
<a href="#67">67</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="68"
role="cell">
<a href="#68">68</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// Choose an AI to play as</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="69"
role="cell">
<a href="#69">69</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(default_value = "basic", long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="70"
role="cell">
<a href="#70">70</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> ai: String,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="71"
role="cell">
<a href="#71">71</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="72"
role="cell">
<a href="#72">72</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// Whether to log on the debug level</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="73"
role="cell">
<a href="#73">73</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="74"
role="cell">
<a href="#74">74</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> debug: bool,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="75"
role="cell">
<a href="#75">75</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="76"
role="cell">
<a href="#76">76</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// How many seconds to run the monte-carlo AI</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="77"
role="cell">
<a href="#77">77</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="78"
role="cell">
<a href="#78">78</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> seconds: Option<u64>,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="79"
role="cell">
<a href="#79">79</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="80"
role="cell">
<a href="#80">80</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// How deep in the game tree to go with Ai</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="81"
role="cell">
<a href="#81">81</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> ///</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="82"
role="cell">
<a href="#82">82</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// [default basic: 4]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="83"
role="cell">
<a href="#83">83</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// [default monte-carlo: 20]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="84"
role="cell">
<a href="#84">84</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="85"
role="cell">
<a href="#85">85</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> depth: Option<u8>,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="86"
role="cell">
<a href="#86">86</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="87"
role="cell">
<a href="#87">87</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// Join game with id</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="88"
role="cell">
<a href="#88">88</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="89"
role="cell">
<a href="#89">89</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> join_game: Option<u128>,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="90"
role="cell">
<a href="#90">90</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="91"
role="cell">
<a href="#91">91</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// Run the basic AI sequentially</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="92"
role="cell">
<a href="#92">92</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="93"
role="cell">
<a href="#93">93</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> sequential: bool,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="94"
role="cell">
<a href="#94">94</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="95"
role="cell">
<a href="#95">95</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// Whether the application is being run by systemd</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="96"
role="cell">
<a href="#96">96</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="97"
role="cell">
<a href="#97">97</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> systemd: bool,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="98"
role="cell">
<a href="#98">98</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="99"
role="cell">
<a href="#99">99</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> /// Build the manpage</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="100"
role="cell">
<a href="#100">100</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> #[arg(long)]</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="101"
role="cell">
<a href="#101">101</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> man: bool,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="102"
role="cell">
<a href="#102">102</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2">}</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="103"
role="cell">
<a href="#103">103</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="104"
role="cell">
<a href="#104">104</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">fn main() -> anyhow::Result<()> {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="105"
role="cell">
<a href="#105">105</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let args = Args::parse();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="106"
role="cell">
<a href="#106">106</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> utils::init_logger("hnefatafl_ai", args.debug, args.systemd);</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="107"
role="cell">
<a href="#107">107</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="108"
role="cell">
<a href="#108">108</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if args.man {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="109"
role="cell">
<a href="#109">109</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut buffer: Vec<u8> = Vec::default();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="110"
role="cell">
<a href="#110">110</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let cmd = Args::command().name("hnefatafl-ai").long_version(None);</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="111"
role="cell">
<a href="#111">111</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let man = clap_mangen::Man::new(cmd).date("2025-06-23");</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="112"
role="cell">
<a href="#112">112</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="113"
role="cell">
<a href="#113">113</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> man.render(&mut buffer)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="114"
role="cell">
<a href="#114">114</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> write!(buffer, "{COPYRIGHT}")?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="115"
role="cell">
<a href="#115">115</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="116"
role="cell">
<a href="#116">116</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> std::fs::write("hnefatafl-ai.1", buffer)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="117"
role="cell">
<a href="#117">117</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> return Ok(());</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="118"
role="cell">
<a href="#118">118</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="119"
role="cell">
<a href="#119">119</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="120"
role="cell">
<a href="#120">120</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut username = "ai-".to_string();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="121"
role="cell">
<a href="#121">121</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> username.push_str(&args.username);</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="122"
role="cell">
<a href="#122">122</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="123"
role="cell">
<a href="#123">123</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut address_string = args.host.clone();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="124"
role="cell">
<a href="#124">124</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> address_string.push_str(PORT);</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="125"
role="cell">
<a href="#125">125</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="126"
role="cell">
<a href="#126">126</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut is_ipv6 = false;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="127"
role="cell">
<a href="#127">127</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut socket_address = None;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="128"
role="cell">
<a href="#128">128</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let socket_addresses = address_string.to_socket_addrs()?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="129"
role="cell">
<a href="#129">129</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="130"
role="cell">
<a href="#130">130</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> for address in socket_addresses.clone() {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="131"
role="cell">
<a href="#131">131</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if address.is_ipv6() {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="132"
role="cell">
<a href="#132">132</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> socket_address = Some(address);</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="133"
role="cell">
<a href="#133">133</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> is_ipv6 = true;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="134"
role="cell">
<a href="#134">134</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> break;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="135"
role="cell">
<a href="#135">135</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="136"
role="cell">
<a href="#136">136</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="137"
role="cell">
<a href="#137">137</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="138"
role="cell">
<a href="#138">138</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if !is_ipv6 {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="139"
role="cell">
<a href="#139">139</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> for address in socket_addresses {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="140"
role="cell">
<a href="#140">140</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if address.is_ipv4() {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="141"
role="cell">
<a href="#141">141</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> socket_address = Some(address);</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="142"
role="cell">
<a href="#142">142</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> break;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="143"
role="cell">
<a href="#143">143</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="144"
role="cell">
<a href="#144">144</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="145"
role="cell">
<a href="#145">145</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="146"
role="cell">
<a href="#146">146</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="147"
role="cell">
<a href="#147">147</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let socket_address = socket_address.ok_or_else(|| {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="148"
role="cell">
<a href="#148">148</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> anyhow::Error::msg(format!(</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="149"
role="cell">
<a href="#149">149</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> "There is no IP address for the host: {address_string}"</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="150"
role="cell">
<a href="#150">150</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> ))</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="151"
role="cell">
<a href="#151">151</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> })?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="152"
role="cell">
<a href="#152">152</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="153"
role="cell">
<a href="#153">153</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let address: SockAddr = socket_address.into();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="154"
role="cell">
<a href="#154">154</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let keepalive = TcpKeepalive::new()</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="155"
role="cell">
<a href="#155">155</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> .with_time(Duration::from_secs(30))</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="156"
role="cell">
<a href="#156">156</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> .with_interval(Duration::from_secs(30))</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="157"
role="cell">
<a href="#157">157</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> .with_retries(3);</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="158"
role="cell">
<a href="#158">158</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="159"
role="cell">
<a href="#159">159</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let domain_type = if is_ipv6 { Domain::IPV6 } else { Domain::IPV4 };</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="160"
role="cell">
<a href="#160">160</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let socket = Socket::new(domain_type, Type::STREAM, None)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="161"
role="cell">
<a href="#161">161</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> socket.set_tcp_keepalive(&keepalive)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="162"
role="cell">
<a href="#162">162</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="163"
role="cell">
<a href="#163">163</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> socket.connect(&address).unwrap_or_else(|error| {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="164"
role="cell">
<a href="#164">164</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> eprintln!("socket.connect {address_string}: {error}");</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="165"
role="cell">
<a href="#165">165</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> });</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="166"
role="cell">
<a href="#166">166</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="167"
role="cell">
<a href="#167">167</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> info!("connected to {socket_address}");</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="168"
role="cell">
<a href="#168">168</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="169"
role="cell">
<a href="#169">169</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut tcp: TcpStream = socket.into();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="170"
role="cell">
<a href="#170">170</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut reader = BufReader::new(tcp.try_clone()?);</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="171"
role="cell">
<a href="#171">171</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="172"
role="cell">
<a href="#172">172</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> tcp.write_all(format!("{VERSION_ID} login {username} {}\n", args.password).as_bytes())?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="173"
role="cell">
<a href="#173">173</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="174"
role="cell">
<a href="#174">174</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut buf = String::new();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="175"
role="cell">
<a href="#175">175</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> reader.read_line(&mut buf)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="176"
role="cell">
<a href="#176">176</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> assert_eq!(buf, "= login\n");</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="177"
role="cell">
<a href="#177">177</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> buf.clear();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="178"
role="cell">
<a href="#178">178</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="179"
role="cell">
<a href="#179">179</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if let Some(game_id) = args.join_game {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="180"
role="cell">
<a href="#180">180</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> tcp.write_all(format!("join_game_pending {game_id}\n").as_bytes())?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="181"
role="cell">
<a href="#181">181</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="182"
role="cell">
<a href="#182">182</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let ai = choose_ai(&args.ai, args.seconds, args.depth, args.sequential)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="183"
role="cell">
<a href="#183">183</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> handle_messages(ai, game_id, &mut reader, &mut tcp)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="184"
role="cell">
<a href="#184">184</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> } else {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="185"
role="cell">
<a href="#185">185</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> loop {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="186"
role="cell">
<a href="#186">186</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> new_game(&mut tcp, args.role, &mut reader, &mut buf)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="187"
role="cell">
<a href="#187">187</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="188"
role="cell">
<a href="#188">188</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> info!("{buf}");</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="189"
role="cell">
<a href="#189">189</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="190"
role="cell">
<a href="#190">190</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let message: Vec<_> = buf.split_ascii_whitespace().collect();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="191"
role="cell">
<a href="#191">191</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let Some(message) = message.get(3) else {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="192"
role="cell">
<a href="#192">192</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> return Err(anyhow::Error::msg("Expecting message[3] to be a game_id"));</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="193"
role="cell">
<a href="#193">193</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> };</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="194"
role="cell">
<a href="#194">194</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="195"
role="cell">
<a href="#195">195</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let game_id = message.parse()?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="196"
role="cell">
<a href="#196">196</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> buf.clear();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="197"
role="cell">
<a href="#197">197</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="198"
role="cell">
<a href="#198">198</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> wait_for_challenger(&mut reader, &mut buf, &mut tcp, game_id)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="199"
role="cell">
<a href="#199">199</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="200"
role="cell">
<a href="#200">200</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let ai = choose_ai(&args.ai, args.seconds, args.depth, args.sequential)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="201"
role="cell">
<a href="#201">201</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> handle_messages(ai, game_id, &mut reader, &mut tcp)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="202"
role="cell">
<a href="#202">202</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="203"
role="cell">
<a href="#203">203</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="204"
role="cell">
<a href="#204">204</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="205"
role="cell">
<a href="#205">205</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> Ok(())</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="206"
role="cell">
<a href="#206">206</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">}</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="207"
role="cell">
<a href="#207">207</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="208"
role="cell">
<a href="#208">208</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">fn new_game(</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="209"
role="cell">
<a href="#209">209</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> tcp: &mut TcpStream,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="210"
role="cell">
<a href="#210">210</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> role: Role,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="211"
role="cell">
<a href="#211">211</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> reader: &mut BufReader<TcpStream>,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="212"
role="cell">
<a href="#212">212</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> buf: &mut String,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="213"
role="cell">
<a href="#213">213</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">) -> anyhow::Result<()> {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="214"
role="cell">
<a href="#214">214</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> tcp.write_all(format!("new_game {role} rated fischer 900000 10 11\n").as_bytes())?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="215"
role="cell">
<a href="#215">215</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="216"
role="cell">
<a href="#216">216</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> loop {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="217"
role="cell">
<a href="#217">217</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> reader.read_line(buf)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="218"
role="cell">
<a href="#218">218</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="219"
role="cell">
<a href="#219">219</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if buf.trim().is_empty() {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="220"
role="cell">
<a href="#220">220</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> return Err(Error::msg("the TCP stream has closed"));</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="221"
role="cell">
<a href="#221">221</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="222"
role="cell">
<a href="#222">222</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="223"
role="cell">
<a href="#223">223</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let message: Vec<_> = buf.split_ascii_whitespace().collect();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="224"
role="cell">
<a href="#224">224</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if let Some(message) = message.get(1)</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="225"
role="cell">
<a href="#225">225</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> && *message == "new_game"</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="226"
role="cell">
<a href="#226">226</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="227"
role="cell">
<a href="#227">227</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> return Ok(());</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="228"
role="cell">
<a href="#228">228</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="229"
role="cell">
<a href="#229">229</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="230"
role="cell">
<a href="#230">230</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> buf.clear();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="231"
role="cell">
<a href="#231">231</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="232"
role="cell">
<a href="#232">232</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">}</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="233"
role="cell">
<a href="#233">233</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="234"
role="cell">
<a href="#234">234</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">fn wait_for_challenger(</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="235"
role="cell">
<a href="#235">235</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> reader: &mut BufReader<TcpStream>,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="236"
role="cell">
<a href="#236">236</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> buf: &mut String,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="237"
role="cell">
<a href="#237">237</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> tcp: &mut TcpStream,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="238"
role="cell">
<a href="#238">238</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> game_id: u128,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="239"
role="cell">
<a href="#239">239</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">) -> anyhow::Result<()> {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="240"
role="cell">
<a href="#240">240</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> loop {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="241"
role="cell">
<a href="#241">241</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> reader.read_line(buf)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="242"
role="cell">
<a href="#242">242</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="243"
role="cell">
<a href="#243">243</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if buf.trim().is_empty() {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="244"
role="cell">
<a href="#244">244</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> return Err(Error::msg("the TCP stream has closed"));</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="245"
role="cell">
<a href="#245">245</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="246"
role="cell">
<a href="#246">246</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="247"
role="cell">
<a href="#247">247</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let message: Vec<_> = buf.split_ascii_whitespace().collect();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="248"
role="cell">
<a href="#248">248</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if Some("challenge_requested") == message.get(1).copied() {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="249"
role="cell">
<a href="#249">249</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> info!("{message:?}");</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="250"
role="cell">
<a href="#250">250</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> buf.clear();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="251"
role="cell">
<a href="#251">251</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="252"
role="cell">
<a href="#252">252</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> break;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="253"
role="cell">
<a href="#253">253</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="254"
role="cell">
<a href="#254">254</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="255"
role="cell">
<a href="#255">255</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> buf.clear();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="256"
role="cell">
<a href="#256">256</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="257"
role="cell">
<a href="#257">257</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="258"
role="cell">
<a href="#258">258</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> tcp.write_all(format!("join_game {game_id}\n").as_bytes())?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="259"
role="cell">
<a href="#259">259</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> Ok(())</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="260"
role="cell">
<a href="#260">260</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">}</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="261"
role="cell">
<a href="#261">261</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="262"
role="cell">
<a href="#262">262</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">fn handle_messages(</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="263"
role="cell">
<a href="#263">263</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> mut ai: Box<dyn AI>,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="264"
role="cell">
<a href="#264">264</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> game_id: u128,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="265"
role="cell">
<a href="#265">265</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> reader: &mut BufReader<TcpStream>,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="266"
role="cell">
<a href="#266">266</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> tcp: &mut TcpStream,</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="267"
role="cell">
<a href="#267">267</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">) -> anyhow::Result<()> {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="268"
role="cell">
<a href="#268">268</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut game = Game::default();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="269"
role="cell">
<a href="#269">269</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="270"
role="cell">
<a href="#270">270</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> debug!("{game}\n");</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="271"
role="cell">
<a href="#271">271</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="272"
role="cell">
<a href="#272">272</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut buf = String::new();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="273"
role="cell">
<a href="#273">273</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> loop {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="274"
role="cell">
<a href="#274">274</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> reader.read_line(&mut buf)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="275"
role="cell">
<a href="#275">275</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="276"
role="cell">
<a href="#276">276</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if buf.trim().is_empty() {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="277"
role="cell">
<a href="#277">277</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> return Err(Error::msg("the TCP stream has closed"));</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="278"
role="cell">
<a href="#278">278</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="279"
role="cell">
<a href="#279">279</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="280"
role="cell">
<a href="#280">280</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let mut message: Vec<_> = buf.split_ascii_whitespace().collect();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="281"
role="cell">
<a href="#281">281</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="282"
role="cell">
<a href="#282">282</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if Some("generate_move") == message.get(2).copied() {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="283"
role="cell">
<a href="#283">283</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let generate_move = ai.generate_move(&mut game)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="284"
role="cell">
<a href="#284">284</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="285"
role="cell">
<a href="#285">285</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> tcp.write_all(format!("game {game_id} {}\n", generate_move.play).as_bytes())?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="286"
role="cell">
<a href="#286">286</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="287"
role="cell">
<a href="#287">287</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> debug!("{game}");</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="288"
role="cell">
<a href="#288">288</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> info!("{generate_move}");</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="289"
role="cell">
<a href="#289">289</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> trace!("{}", generate_move.heat_map);</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="290"
role="cell">
<a href="#290">290</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="291"
role="cell">
<a href="#291">291</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if game.status != Status::Ongoing {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="292"
role="cell">
<a href="#292">292</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> return Ok(());</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="293"
role="cell">
<a href="#293">293</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="294"
role="cell">
<a href="#294">294</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> } else if Some("play") == message.get(2).copied() {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="295"
role="cell">
<a href="#295">295</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let words = message.split_off(2);</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="296"
role="cell">
<a href="#296">296</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> let play = Plae::try_from(words)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="297"
role="cell">
<a href="#297">297</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> ai.play(&mut game, &play)?;</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="298"
role="cell">
<a href="#298">298</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="299"
role="cell">
<a href="#299">299</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> debug!("{game}\n");</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="300"
role="cell">
<a href="#300">300</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="301"
role="cell">
<a href="#301">301</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> if game.status != Status::Ongoing {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="302"
role="cell">
<a href="#302">302</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> return Ok(());</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="303"
role="cell">
<a href="#303">303</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="304"
role="cell">
<a href="#304">304</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> } else if Some("game_over") == message.get(1).copied() {</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="305"
role="cell">
<a href="#305">305</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> return Ok(());</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="306"
role="cell">
<a href="#306">306</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="307"
role="cell">
<a href="#307">307</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"></pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="308"
role="cell">
<a href="#308">308</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2"> buf.clear();</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="309"
role="cell">
<a href="#309">309</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
role="cell" aria-label="no coverage">
</div>
<div class="column has-background-white p-0"
role="cell">
<pre class="has-background-white py-0 px-2"> }</pre>
</div>
</div><div class="columns p-0 m-0" role="row">
<div
class="column is-1 is-narrow p-0 has-text-centered"
id="310"
role="cell">
<a href="#310">310</a>
</div>
<div
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
role="cell" aria-label="0">
</div>
<div class="column has-background-danger-light p-0"
role="cell">
<pre class="has-background-danger-light py-0 px-2">}</pre>
</div>
</div></div>
</div>
<footer class="footer">
<div class="content has-text-centered">
<p class="heading">Date: 2026-01-28 15:49</p>
</div>
</footer>
</body>
</html>