<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1780917457295" clover="3.2.0">
  <project timestamp="1780917457295" name="All files">
    <metrics statements="6002" coveredstatements="5155" conditionals="2142" coveredconditionals="1527" methods="1265" coveredmethods="1023" elements="9409" coveredelements="7705" complexity="0" loc="6002" ncloc="6002" packages="70" files="146" classes="146"/>
    <package name="src">
      <metrics statements="2" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="0"/>
      <file name="main.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/main.ts">
        <metrics statements="2" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="0"/>
        <line num="5" count="125" type="stmt"/>
        <line num="6" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app">
      <metrics statements="73" coveredstatements="54" conditionals="32" coveredconditionals="20" methods="21" coveredmethods="17"/>
      <file name="app.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/app.component.html">
        <metrics statements="26" coveredstatements="25" conditionals="14" coveredconditionals="12" methods="2" coveredmethods="2"/>
        <line num="1" count="124" type="stmt"/>
        <line num="3" count="67320" type="cond" truecount="1" falsecount="1"/>
        <line num="4" count="0" type="stmt"/>
        <line num="7" count="67320" type="cond" truecount="1" falsecount="1"/>
        <line num="8" count="124" type="stmt"/>
        <line num="9" count="67320" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="103" type="stmt"/>
        <line num="12" count="103" type="stmt"/>
        <line num="14" count="60420" type="stmt"/>
        <line num="15" count="60420" type="cond" truecount="2" falsecount="0"/>
        <line num="16" count="104" type="stmt"/>
        <line num="18" count="60420" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="30152" type="stmt"/>
        <line num="21" count="60420" type="cond" truecount="2" falsecount="0"/>
        <line num="22" count="58" type="stmt"/>
        <line num="24" count="103" type="stmt"/>
        <line num="25" count="60420" type="stmt"/>
        <line num="26" count="103" type="stmt"/>
        <line num="29" count="103" type="stmt"/>
        <line num="30" count="103" type="stmt"/>
        <line num="31" count="103" type="stmt"/>
        <line num="33" count="67320" type="cond" truecount="2" falsecount="0"/>
        <line num="34" count="125" type="stmt"/>
        <line num="35" count="125" type="stmt"/>
        <line num="36" count="125" type="stmt"/>
        <line num="38" count="124" type="stmt"/>
      </file>
      <file name="app.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/app.component.ts">
        <metrics statements="40" coveredstatements="22" conditionals="16" coveredconditionals="6" methods="13" coveredmethods="9"/>
        <line num="26" count="249" type="cond" truecount="2" falsecount="0"/>
        <line num="27" count="124" type="stmt"/>
        <line num="28" count="124" type="stmt"/>
        <line num="29" count="124" type="stmt"/>
        <line num="30" count="124" type="stmt"/>
        <line num="32" count="124" type="stmt"/>
        <line num="35" count="124" type="stmt"/>
        <line num="37" count="124" type="stmt"/>
        <line num="41" count="124" type="stmt"/>
        <line num="42" count="3883" type="stmt"/>
        <line num="44" count="295" type="stmt"/>
        <line num="45" count="295" type="cond" truecount="4" falsecount="0"/>
        <line num="46" count="248" type="stmt"/>
        <line num="49" count="47" type="stmt"/>
        <line num="55" count="3" type="stmt"/>
        <line num="59" count="124" type="stmt"/>
        <line num="60" count="124" type="stmt"/>
        <line num="62" count="124" type="stmt"/>
        <line num="74" count="124" type="stmt"/>
        <line num="76" count="0" type="stmt"/>
        <line num="77" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="78" count="0" type="stmt"/>
        <line num="79" count="0" type="stmt"/>
        <line num="81" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="82" count="0" type="stmt"/>
        <line num="89" count="124" type="stmt"/>
        <line num="91" count="235" type="stmt"/>
        <line num="94" count="0" type="stmt"/>
        <line num="95" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="96" count="0" type="stmt"/>
        <line num="97" count="0" type="stmt"/>
        <line num="99" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="100" count="0" type="stmt"/>
        <line num="107" count="0" type="stmt"/>
        <line num="108" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="109" count="0" type="stmt"/>
        <line num="111" count="0" type="stmt"/>
        <line num="115" count="0" type="stmt"/>
        <line num="116" count="0" type="stmt"/>
        <line num="117" count="125" type="stmt"/>
      </file>
      <file name="app.config.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/app.config.ts">
        <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="3"/>
        <line num="17" count="125" type="stmt"/>
        <line num="27" count="125" type="stmt"/>
        <line num="28" count="125" type="stmt"/>
      </file>
      <file name="app.routes.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/app.routes.ts">
        <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="44" count="125" type="stmt"/>
      </file>
      <file name="status-count.pipe.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/status-count.pipe.ts">
        <metrics statements="3" coveredstatements="3" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
        <line num="8" count="333" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="1352" type="stmt"/>
        <line num="11" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.administrator">
      <metrics statements="24" coveredstatements="23" conditionals="4" coveredconditionals="3" methods="9" coveredmethods="8"/>
      <file name="administrator.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/administrator/administrator.component.html">
        <metrics statements="13" coveredstatements="13" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="3"/>
        <line num="1" count="5" type="stmt"/>
        <line num="4" count="5" type="stmt"/>
        <line num="5" count="5" type="stmt"/>
        <line num="6" count="5" type="stmt"/>
        <line num="7" count="5" type="stmt"/>
        <line num="8" count="5" type="stmt"/>
        <line num="9" count="5" type="stmt"/>
        <line num="10" count="5" type="stmt"/>
        <line num="11" count="5" type="stmt"/>
        <line num="12" count="5" type="stmt"/>
        <line num="13" count="5" type="stmt"/>
        <line num="14" count="5" type="stmt"/>
        <line num="16" count="5" type="stmt"/>
      </file>
      <file name="administrator.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/administrator/administrator.component.ts">
        <metrics statements="11" coveredstatements="10" conditionals="4" coveredconditionals="3" methods="6" coveredmethods="5"/>
        <line num="16" count="130" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="5" type="stmt"/>
        <line num="18" count="5" type="stmt"/>
        <line num="24" count="3" type="stmt"/>
        <line num="26" count="3" type="stmt"/>
        <line num="27" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="28" count="3" type="stmt"/>
        <line num="29" count="3" type="stmt"/>
        <line num="30" count="0" type="stmt"/>
        <line num="37" count="3" type="stmt"/>
        <line num="38" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.calendar-heatmap">
      <metrics statements="84" coveredstatements="65" conditionals="20" coveredconditionals="10" methods="10" coveredmethods="6"/>
      <file name="calendar-heatmap.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/calendar-heatmap/calendar-heatmap.component.html">
        <metrics statements="4" coveredstatements="3" conditionals="2" coveredconditionals="1" methods="1" coveredmethods="0"/>
        <line num="1" count="16788" type="cond" truecount="1" falsecount="1"/>
        <line num="2" count="0" type="stmt"/>
        <line num="4" count="471" type="stmt"/>
        <line num="5" count="16788" type="stmt"/>
      </file>
      <file name="calendar-heatmap.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/calendar-heatmap/calendar-heatmap.component.ts">
        <metrics statements="80" coveredstatements="62" conditionals="18" coveredconditionals="9" methods="9" coveredmethods="6"/>
        <line num="21" count="125" type="stmt"/>
        <line num="30" count="596" type="cond" truecount="2" falsecount="0"/>
        <line num="31" count="471" type="stmt"/>
        <line num="32" count="471" type="stmt"/>
        <line num="37" count="471" type="stmt"/>
        <line num="38" count="471" type="stmt"/>
        <line num="39" count="471" type="stmt"/>
        <line num="40" count="471" type="stmt"/>
        <line num="48" count="231" type="stmt"/>
        <line num="50" count="231" type="stmt"/>
        <line num="52" count="231" type="stmt"/>
        <line num="57" count="231" type="cond" truecount="3" falsecount="1"/>
        <line num="59" count="77" type="stmt"/>
        <line num="60" count="77" type="stmt"/>
        <line num="63" count="77" type="stmt"/>
        <line num="64" count="77" type="stmt"/>
        <line num="67" count="77" type="stmt"/>
        <line num="68" count="77" type="stmt"/>
        <line num="71" count="0" type="stmt"/>
        <line num="72" count="0" type="stmt"/>
        <line num="75" count="231" type="stmt"/>
        <line num="77" count="231" type="stmt"/>
        <line num="78" count="231" type="stmt"/>
        <line num="79" count="462" type="stmt"/>
        <line num="80" count="462" type="stmt"/>
        <line num="81" count="462" type="cond" truecount="1" falsecount="1"/>
        <line num="82" count="462" type="stmt"/>
        <line num="85" count="231" type="stmt"/>
        <line num="86" count="231" type="stmt"/>
        <line num="88" count="0" type="stmt"/>
        <line num="93" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="94" count="0" type="stmt"/>
        <line num="95" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="96" count="0" type="cond" truecount="0" falsecount="3"/>
        <line num="98" count="0" type="stmt"/>
        <line num="99" count="0" type="stmt"/>
        <line num="102" count="0" type="stmt"/>
        <line num="103" count="0" type="stmt"/>
        <line num="106" count="0" type="stmt"/>
        <line num="114" count="231" type="stmt"/>
        <line num="115" count="231" type="stmt"/>
        <line num="116" count="231" type="stmt"/>
        <line num="117" count="231" type="stmt"/>
        <line num="118" count="231" type="stmt"/>
        <line num="119" count="231" type="stmt"/>
        <line num="120" count="231" type="stmt"/>
        <line num="122" count="4851" type="stmt"/>
        <line num="123" count="4851" type="stmt"/>
        <line num="124" count="4851" type="stmt"/>
        <line num="125" count="33957" type="stmt"/>
        <line num="126" count="33957" type="stmt"/>
        <line num="127" count="33957" type="stmt"/>
        <line num="128" count="33957" type="stmt"/>
        <line num="129" count="33957" type="stmt"/>
        <line num="132" count="231" type="stmt"/>
        <line num="133" count="231" type="stmt"/>
        <line num="135" count="231" type="stmt"/>
        <line num="136" count="231" type="stmt"/>
        <line num="138" count="231" type="stmt"/>
        <line num="139" count="231" type="stmt"/>
        <line num="141" count="231" type="stmt"/>
        <line num="149" count="231" type="cond" truecount="3" falsecount="0"/>
        <line num="151" count="77" type="stmt"/>
        <line num="152" count="77" type="stmt"/>
        <line num="154" count="77" type="stmt"/>
        <line num="155" count="77" type="stmt"/>
        <line num="157" count="77" type="stmt"/>
        <line num="158" count="77" type="stmt"/>
        <line num="161" count="231" type="stmt"/>
        <line num="169" count="0" type="stmt"/>
        <line num="170" count="0" type="stmt"/>
        <line num="171" count="0" type="stmt"/>
        <line num="172" count="0" type="stmt"/>
        <line num="173" count="0" type="stmt"/>
        <line num="174" count="0" type="stmt"/>
        <line num="204" count="526" type="stmt"/>
        <line num="205" count="526" type="stmt"/>
        <line num="206" count="526" type="stmt"/>
        <line num="207" count="526" type="stmt"/>
        <line num="219" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.campaign">
      <metrics statements="104" coveredstatements="90" conditionals="36" coveredconditionals="26" methods="23" coveredmethods="15"/>
      <file name="campaign.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/campaign/campaign.component.html">
        <metrics statements="57" coveredstatements="57" conditionals="16" coveredconditionals="15" methods="4" coveredmethods="3"/>
        <line num="10" count="1508" type="stmt"/>
        <line num="11" count="16" type="stmt"/>
        <line num="12" count="16" type="stmt"/>
        <line num="13" count="16" type="stmt"/>
        <line num="15" count="1508" type="cond" truecount="2" falsecount="0"/>
        <line num="16" count="3" type="stmt"/>
        <line num="18" count="1508" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="13" type="stmt"/>
        <line num="21" count="16" type="stmt"/>
        <line num="22" count="16" type="stmt"/>
        <line num="23" count="1508" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="6" type="stmt"/>
        <line num="25" count="402" type="stmt"/>
        <line num="26" count="3" type="stmt"/>
        <line num="27" count="3" type="stmt"/>
        <line num="29" count="1508" type="cond" truecount="2" falsecount="0"/>
        <line num="30" count="13" type="stmt"/>
        <line num="31" count="352" type="stmt"/>
        <line num="33" count="1508" type="cond" truecount="2" falsecount="0"/>
        <line num="34" count="13" type="stmt"/>
        <line num="35" count="352" type="stmt"/>
        <line num="36" count="13" type="stmt"/>
        <line num="37" count="13" type="stmt"/>
        <line num="40" count="16" type="stmt"/>
        <line num="42" count="1508" type="stmt"/>
        <line num="44" count="16" type="stmt"/>
        <line num="45" count="16" type="stmt"/>
        <line num="46" count="16" type="stmt"/>
        <line num="48" count="16" type="stmt"/>
        <line num="50" count="16" type="stmt"/>
        <line num="51" count="16" type="stmt"/>
        <line num="52" count="16" type="stmt"/>
        <line num="54" count="16" type="stmt"/>
        <line num="55" count="1508" type="cond" truecount="2" falsecount="0"/>
        <line num="56" count="352" type="cond" truecount="2" falsecount="0"/>
        <line num="58" count="190" type="stmt"/>
        <line num="60" count="190" type="stmt"/>
        <line num="63" count="7" type="stmt"/>
        <line num="64" count="7" type="stmt"/>
        <line num="65" count="7" type="stmt"/>
        <line num="66" count="7" type="stmt"/>
        <line num="67" count="7" type="stmt"/>
        <line num="68" count="7" type="stmt"/>
        <line num="69" count="7" type="stmt"/>
        <line num="71" count="7" type="stmt"/>
        <line num="73" count="686" type="stmt"/>
        <line num="74" count="686" type="stmt"/>
        <line num="75" count="686" type="stmt"/>
        <line num="76" count="686" type="stmt"/>
        <line num="77" count="686" type="stmt"/>
        <line num="78" count="10" type="stmt"/>
        <line num="79" count="10" type="stmt"/>
        <line num="82" count="7" type="stmt"/>
        <line num="84" count="704" type="cond" truecount="1" falsecount="1"/>
        <line num="87" count="704" type="stmt"/>
        <line num="89" count="13" type="stmt"/>
        <line num="100" count="16" type="stmt"/>
      </file>
      <file name="campaign.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/campaign/campaign.component.ts">
        <metrics statements="47" coveredstatements="33" conditionals="20" coveredconditionals="11" methods="19" coveredmethods="12"/>
        <line num="16" count="141" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="16" type="stmt"/>
        <line num="18" count="16" type="stmt"/>
        <line num="19" count="16" type="stmt"/>
        <line num="20" count="16" type="stmt"/>
        <line num="26" count="16" type="stmt"/>
        <line num="27" count="16" type="stmt"/>
        <line num="31" count="16" type="stmt"/>
        <line num="36" count="16" type="cond" truecount="2" falsecount="0"/>
        <line num="37" count="16" type="cond" truecount="2" falsecount="0"/>
        <line num="38" count="13" type="stmt"/>
        <line num="40" count="13" type="stmt"/>
        <line num="41" count="13" type="stmt"/>
        <line num="42" count="13" type="stmt"/>
        <line num="43" count="13" type="stmt"/>
        <line num="46" count="0" type="stmt"/>
        <line num="53" count="4" type="stmt"/>
        <line num="54" count="4" type="stmt"/>
        <line num="55" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="56" count="4" type="stmt"/>
        <line num="58" count="0" type="stmt"/>
        <line num="59" count="0" type="stmt"/>
        <line num="63" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="64" count="3" type="stmt"/>
        <line num="66" count="3" type="stmt"/>
        <line num="67" count="3" type="stmt"/>
        <line num="70" count="0" type="stmt"/>
        <line num="77" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="78" count="1" type="stmt"/>
        <line num="80" count="1" type="stmt"/>
        <line num="83" count="0" type="stmt"/>
        <line num="90" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="91" count="2" type="stmt"/>
        <line num="93" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="94" count="2" type="stmt"/>
        <line num="95" count="2" type="stmt"/>
        <line num="98" count="0" type="stmt"/>
        <line num="102" count="0" type="stmt"/>
        <line num="109" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="110" count="0" type="stmt"/>
        <line num="112" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="113" count="0" type="stmt"/>
        <line num="114" count="0" type="stmt"/>
        <line num="117" count="0" type="stmt"/>
        <line num="121" count="0" type="stmt"/>
        <line num="128" count="13" type="stmt"/>
        <line num="129" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.campaigns">
      <metrics statements="22" coveredstatements="22" conditionals="6" coveredconditionals="6" methods="3" coveredmethods="3"/>
      <file name="campaigns.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/campaigns/campaigns.component.html">
        <metrics statements="18" coveredstatements="18" conditionals="4" coveredconditionals="4" methods="0" coveredmethods="0"/>
        <line num="1" count="15" type="stmt"/>
        <line num="3" count="680" type="cond" truecount="2" falsecount="0"/>
        <line num="4" count="14" type="stmt"/>
        <line num="6" count="680" type="cond" truecount="2" falsecount="0"/>
        <line num="8" count="212" type="stmt"/>
        <line num="11" count="14" type="stmt"/>
        <line num="12" count="14" type="stmt"/>
        <line num="13" count="14" type="stmt"/>
        <line num="14" count="14" type="stmt"/>
        <line num="16" count="14" type="stmt"/>
        <line num="17" count="1624" type="stmt"/>
        <line num="18" count="3354" type="stmt"/>
        <line num="19" count="3354" type="stmt"/>
        <line num="20" count="3354" type="stmt"/>
        <line num="21" count="106" type="stmt"/>
        <line num="23" count="14" type="stmt"/>
        <line num="24" count="424" type="stmt"/>
        <line num="25" count="14" type="stmt"/>
      </file>
      <file name="campaigns.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/campaigns/campaigns.component.ts">
        <metrics statements="4" coveredstatements="4" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
        <line num="15" count="140" type="cond" truecount="2" falsecount="0"/>
        <line num="16" count="15" type="stmt"/>
        <line num="21" count="14" type="stmt"/>
        <line num="22" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.command-center">
      <metrics statements="19" coveredstatements="19" conditionals="8" coveredconditionals="8" methods="9" coveredmethods="9"/>
      <file name="command-center.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/command-center/command-center.component.html">
        <metrics statements="7" coveredstatements="7" conditionals="4" coveredconditionals="4" methods="1" coveredmethods="1"/>
        <line num="2" count="54" type="stmt"/>
        <line num="4" count="20322" type="stmt"/>
        <line num="5" count="10188" type="cond" truecount="2" falsecount="0"/>
        <line num="9" count="10161" type="stmt"/>
        <line num="13" count="20322" type="cond" truecount="2" falsecount="0"/>
        <line num="14" count="234" type="stmt"/>
        <line num="16" count="27" type="stmt"/>
      </file>
      <file name="command-center.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/command-center/command-center.component.ts">
        <metrics statements="12" coveredstatements="12" conditionals="4" coveredconditionals="4" methods="8" coveredmethods="8"/>
        <line num="16" count="152" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="27" type="stmt"/>
        <line num="24" count="27" type="stmt"/>
        <line num="26" count="4138" type="stmt"/>
        <line num="32" count="10166" type="stmt"/>
        <line num="36" count="5" type="stmt"/>
        <line num="37" count="5" type="cond" truecount="2" falsecount="0"/>
        <line num="38" count="1" type="stmt"/>
        <line num="39" count="1" type="stmt"/>
        <line num="41" count="4" type="stmt"/>
        <line num="43" count="4" type="stmt"/>
        <line num="46" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.commands-table">
      <metrics statements="79" coveredstatements="70" conditionals="38" coveredconditionals="25" methods="14" coveredmethods="12"/>
      <file name="commands-table.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/commands-table/commands-table.component.html">
        <metrics statements="33" coveredstatements="33" conditionals="8" coveredconditionals="7" methods="3" coveredmethods="2"/>
        <line num="2" count="196" type="stmt"/>
        <line num="3" count="1" type="stmt"/>
        <line num="4" count="1" type="stmt"/>
        <line num="5" count="1" type="stmt"/>
        <line num="7" count="1" type="stmt"/>
        <line num="8" count="1" type="stmt"/>
        <line num="10" count="1" type="stmt"/>
        <line num="11" count="196" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="1" type="stmt"/>
        <line num="14" count="4" type="stmt"/>
        <line num="17" count="86" type="stmt"/>
        <line num="18" count="1" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="34" count="1" type="stmt"/>
        <line num="36" count="1760" type="cond" truecount="1" falsecount="1"/>
        <line num="37" count="1760" type="stmt"/>
        <line num="38" count="1760" type="stmt"/>
        <line num="39" count="1760" type="stmt"/>
        <line num="40" count="40" type="stmt"/>
        <line num="41" count="860" type="cond" truecount="4" falsecount="0"/>
        <line num="42" count="40" type="stmt"/>
        <line num="43" count="1760" type="stmt"/>
        <line num="44" count="40" type="stmt"/>
        <line num="46" count="1" type="stmt"/>
        <line num="48" count="1" type="stmt"/>
      </file>
      <file name="commands-table.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/commands-table/commands-table.component.ts">
        <metrics statements="46" coveredstatements="37" conditionals="30" coveredconditionals="18" methods="11" coveredmethods="10"/>
        <line num="21" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="22" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="39" count="1" type="stmt"/>
        <line num="40" count="1" type="stmt"/>
        <line num="41" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="42" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="44" count="2" type="stmt"/>
        <line num="45" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="46" count="0" type="stmt"/>
        <line num="49" count="2" type="stmt"/>
        <line num="50" count="2" type="stmt"/>
        <line num="52" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="53" count="0" type="stmt"/>
        <line num="55" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="56" count="0" type="stmt"/>
        <line num="59" count="2" type="stmt"/>
        <line num="60" count="2" type="stmt"/>
        <line num="66" count="2" type="stmt"/>
        <line num="68" count="2" type="stmt"/>
        <line num="69" count="8" type="stmt"/>
        <line num="76" count="4" type="stmt"/>
        <line num="78" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="79" count="4" type="stmt"/>
        <line num="81" count="4" type="stmt"/>
        <line num="83" count="0" type="stmt"/>
        <line num="91" count="2" type="cond" truecount="3" falsecount="1"/>
        <line num="92" count="2" type="stmt"/>
        <line num="94" count="2" type="cond" truecount="3" falsecount="1"/>
        <line num="95" count="2" type="stmt"/>
        <line num="98" count="2" type="cond" truecount="2" falsecount="2"/>
        <line num="99" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="100" count="0" type="stmt"/>
        <line num="103" count="0" type="stmt"/>
        <line num="105" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="106" count="0" type="stmt"/>
        <line num="109" count="2" type="stmt"/>
        <line num="113" count="1" type="stmt"/>
        <line num="114" count="1" type="stmt"/>
        <line num="116" count="1" type="stmt"/>
        <line num="120" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.countdown">
      <metrics statements="119" coveredstatements="94" conditionals="60" coveredconditionals="25" methods="11" coveredmethods="7"/>
      <file name="countdown.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/countdown/countdown.component.html">
        <metrics statements="60" coveredstatements="60" conditionals="30" coveredconditionals="15" methods="0" coveredmethods="0"/>
        <line num="1" count="1" type="stmt"/>
        <line num="2" count="836" type="cond" truecount="1" falsecount="1"/>
        <line num="5" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="6" count="1" type="stmt"/>
        <line num="8" count="837" type="stmt"/>
        <line num="9" count="1" type="stmt"/>
        <line num="10" count="1" type="stmt"/>
        <line num="12" count="837" type="stmt"/>
        <line num="13" count="1" type="stmt"/>
        <line num="14" count="1" type="stmt"/>
        <line num="16" count="837" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="18" count="1" type="stmt"/>
        <line num="20" count="837" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="26" count="836" type="cond" truecount="1" falsecount="1"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="837" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="33" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="34" count="1" type="stmt"/>
        <line num="35" count="1" type="stmt"/>
        <line num="37" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="38" count="1" type="stmt"/>
        <line num="39" count="1" type="stmt"/>
        <line num="41" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="42" count="1" type="stmt"/>
        <line num="43" count="1" type="stmt"/>
        <line num="45" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="46" count="1" type="stmt"/>
        <line num="47" count="1" type="stmt"/>
        <line num="49" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="50" count="1" type="stmt"/>
        <line num="51" count="1" type="stmt"/>
        <line num="53" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="54" count="1" type="stmt"/>
        <line num="56" count="1" type="stmt"/>
        <line num="60" count="1" type="stmt"/>
        <line num="61" count="1" type="stmt"/>
        <line num="62" count="1" type="stmt"/>
        <line num="64" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="65" count="1" type="stmt"/>
        <line num="66" count="1" type="stmt"/>
        <line num="68" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="69" count="1" type="stmt"/>
        <line num="70" count="1" type="stmt"/>
        <line num="72" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="73" count="1" type="stmt"/>
        <line num="74" count="1" type="stmt"/>
        <line num="76" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="77" count="1" type="stmt"/>
        <line num="78" count="1" type="stmt"/>
        <line num="80" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="81" count="1" type="stmt"/>
        <line num="82" count="1" type="stmt"/>
        <line num="84" count="837" type="cond" truecount="1" falsecount="1"/>
        <line num="85" count="1" type="stmt"/>
        <line num="87" count="1" type="stmt"/>
        <line num="89" count="1" type="stmt"/>
      </file>
      <file name="countdown.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/countdown/countdown.component.ts">
        <metrics statements="59" coveredstatements="34" conditionals="30" coveredconditionals="10" methods="11" coveredmethods="7"/>
        <line num="14" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="1" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="18" count="1" type="stmt"/>
        <line num="19" count="1" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="36" count="1" type="cond" truecount="2" falsecount="2"/>
        <line num="37" count="0" type="stmt"/>
        <line num="39" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="40" count="0" type="stmt"/>
        <line num="41" count="0" type="stmt"/>
        <line num="43" count="0" type="stmt"/>
        <line num="44" count="0" type="stmt"/>
        <line num="47" count="0" type="stmt"/>
        <line num="48" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="49" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="50" count="0" type="stmt"/>
        <line num="52" count="0" type="stmt"/>
        <line num="55" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="56" count="0" type="stmt"/>
        <line num="58" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="60" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="61" count="0" type="stmt"/>
        <line num="68" count="1" type="stmt"/>
        <line num="69" count="1" type="stmt"/>
        <line num="70" count="57" type="stmt"/>
        <line num="71" count="1" type="stmt"/>
        <line num="75" count="3" type="stmt"/>
        <line num="76" count="3" type="stmt"/>
        <line num="80" count="0" type="stmt"/>
        <line num="81" count="0" type="stmt"/>
        <line num="85" count="61" type="stmt"/>
        <line num="86" count="61" type="cond" truecount="1" falsecount="1"/>
        <line num="87" count="61" type="stmt"/>
        <line num="89" count="61" type="stmt"/>
        <line num="90" count="61" type="cond" truecount="1" falsecount="1"/>
        <line num="91" count="0" type="stmt"/>
        <line num="94" count="61" type="stmt"/>
        <line num="95" count="61" type="stmt"/>
        <line num="96" count="61" type="stmt"/>
        <line num="97" count="61" type="stmt"/>
        <line num="100" count="0" type="stmt"/>
        <line num="101" count="0" type="stmt"/>
        <line num="102" count="0" type="stmt"/>
        <line num="103" count="0" type="stmt"/>
        <line num="108" count="1672" type="cond" truecount="1" falsecount="1"/>
        <line num="109" count="0" type="stmt"/>
        <line num="111" count="1672" type="cond" truecount="2" falsecount="0"/>
        <line num="115" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="116" count="4" type="stmt"/>
        <line num="118" count="4" type="stmt"/>
        <line num="119" count="4" type="stmt"/>
        <line num="122" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.custom-view">
      <metrics statements="60" coveredstatements="53" conditionals="23" coveredconditionals="16" methods="8" coveredmethods="7"/>
      <file name="custom-view.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/custom-view/custom-view.component.html">
        <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="1" count="1" type="stmt"/>
        <line num="2" count="1" type="stmt"/>
        <line num="3" count="1" type="stmt"/>
      </file>
      <file name="custom-view.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/custom-view/custom-view.component.ts">
        <metrics statements="57" coveredstatements="50" conditionals="23" coveredconditionals="16" methods="8" coveredmethods="7"/>
        <line num="12" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="13" count="1" type="stmt"/>
        <line num="14" count="1" type="stmt"/>
        <line num="15" count="1" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="23" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="24" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="25" count="1" type="stmt"/>
        <line num="27" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="28" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="31" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="32" count="1" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="36" count="0" type="stmt"/>
        <line num="40" count="0" type="stmt"/>
        <line num="46" count="1" type="stmt"/>
        <line num="47" count="1" type="stmt"/>
        <line num="48" count="1" type="stmt"/>
        <line num="50" count="1" type="stmt"/>
        <line num="51" count="8" type="stmt"/>
        <line num="52" count="8" type="stmt"/>
        <line num="53" count="8" type="stmt"/>
        <line num="54" count="8" type="stmt"/>
        <line num="55" count="4" type="stmt"/>
        <line num="57" count="8" type="cond" truecount="2" falsecount="0"/>
        <line num="58" count="1" type="stmt"/>
        <line num="59" count="1" type="stmt"/>
        <line num="60" count="1" type="stmt"/>
        <line num="62" count="8" type="stmt"/>
        <line num="66" count="8" type="stmt"/>
        <line num="68" count="8" type="cond" truecount="8" falsecount="3"/>
        <line num="70" count="1" type="stmt"/>
        <line num="71" count="1" type="stmt"/>
        <line num="74" count="1" type="stmt"/>
        <line num="75" count="1" type="stmt"/>
        <line num="78" count="1" type="stmt"/>
        <line num="79" count="1" type="stmt"/>
        <line num="82" count="1" type="stmt"/>
        <line num="83" count="1" type="stmt"/>
        <line num="86" count="1" type="stmt"/>
        <line num="87" count="1" type="stmt"/>
        <line num="90" count="1" type="stmt"/>
        <line num="91" count="1" type="stmt"/>
        <line num="94" count="1" type="stmt"/>
        <line num="95" count="1" type="stmt"/>
        <line num="98" count="0" type="stmt"/>
        <line num="99" count="0" type="stmt"/>
        <line num="102" count="1" type="stmt"/>
        <line num="103" count="1" type="stmt"/>
        <line num="106" count="0" type="stmt"/>
        <line num="107" count="0" type="stmt"/>
        <line num="110" count="0" type="stmt"/>
        <line num="113" count="8" type="stmt"/>
        <line num="114" count="8" type="stmt"/>
        <line num="115" count="8" type="stmt"/>
        <line num="116" count="6" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.custom-views">
      <metrics statements="35" coveredstatements="31" conditionals="6" coveredconditionals="4" methods="12" coveredmethods="10"/>
      <file name="custom-views.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/custom-views/custom-views.component.html">
        <metrics statements="13" coveredstatements="13" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="2"/>
        <line num="2" count="256" type="stmt"/>
        <line num="4" count="256" type="stmt"/>
        <line num="7" count="4" type="stmt"/>
        <line num="8" count="4" type="stmt"/>
        <line num="9" count="4" type="stmt"/>
        <line num="11" count="4" type="stmt"/>
        <line num="13" count="94" type="stmt"/>
        <line num="14" count="92" type="stmt"/>
        <line num="15" count="2" type="stmt"/>
        <line num="17" count="4" type="stmt"/>
        <line num="19" count="512" type="stmt"/>
        <line num="20" count="4" type="stmt"/>
        <line num="22" count="512" type="stmt"/>
      </file>
      <file name="custom-views.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/custom-views/custom-views.component.ts">
        <metrics statements="22" coveredstatements="18" conditionals="6" coveredconditionals="4" methods="10" coveredmethods="8"/>
        <line num="17" count="129" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="4" type="stmt"/>
        <line num="19" count="4" type="stmt"/>
        <line num="26" count="4" type="stmt"/>
        <line num="30" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="31" count="0" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="36" count="1" type="stmt"/>
        <line num="41" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="42" count="0" type="stmt"/>
        <line num="44" count="1" type="stmt"/>
        <line num="47" count="1" type="stmt"/>
        <line num="53" count="4" type="stmt"/>
        <line num="55" count="4" type="stmt"/>
        <line num="57" count="4" type="stmt"/>
        <line num="60" count="0" type="stmt"/>
        <line num="65" count="0" type="stmt"/>
        <line num="71" count="2" type="stmt"/>
        <line num="72" count="2" type="stmt"/>
        <line num="74" count="2" type="stmt"/>
        <line num="78" count="2" type="stmt"/>
        <line num="79" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.dashboard">
      <metrics statements="48" coveredstatements="47" conditionals="4" coveredconditionals="3" methods="4" coveredmethods="4"/>
      <file name="dashboard.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/dashboard/dashboard.component.html">
        <metrics statements="42" coveredstatements="41" conditionals="2" coveredconditionals="1" methods="0" coveredmethods="0"/>
        <line num="2" count="157" type="stmt"/>
        <line num="5" count="11192" type="cond" truecount="1" falsecount="1"/>
        <line num="6" count="0" type="stmt"/>
        <line num="8" count="157" type="stmt"/>
        <line num="12" count="77" type="stmt"/>
        <line num="13" count="11192" type="stmt"/>
        <line num="14" count="11269" type="stmt"/>
        <line num="17" count="77" type="stmt"/>
        <line num="20" count="77" type="stmt"/>
        <line num="21" count="11192" type="stmt"/>
        <line num="22" count="11269" type="stmt"/>
        <line num="25" count="77" type="stmt"/>
        <line num="28" count="77" type="stmt"/>
        <line num="29" count="11192" type="stmt"/>
        <line num="30" count="11269" type="stmt"/>
        <line num="33" count="77" type="stmt"/>
        <line num="36" count="77" type="stmt"/>
        <line num="37" count="11192" type="stmt"/>
        <line num="38" count="11269" type="stmt"/>
        <line num="41" count="77" type="stmt"/>
        <line num="44" count="77" type="stmt"/>
        <line num="45" count="11192" type="stmt"/>
        <line num="46" count="11269" type="stmt"/>
        <line num="49" count="77" type="stmt"/>
        <line num="52" count="77" type="stmt"/>
        <line num="53" count="11192" type="stmt"/>
        <line num="54" count="11269" type="stmt"/>
        <line num="58" count="77" type="stmt"/>
        <line num="61" count="11192" type="stmt"/>
        <line num="63" count="157" type="stmt"/>
        <line num="64" count="157" type="stmt"/>
        <line num="65" count="157" type="stmt"/>
        <line num="66" count="157" type="stmt"/>
        <line num="68" count="157" type="stmt"/>
        <line num="69" count="157" type="stmt"/>
        <line num="70" count="157" type="stmt"/>
        <line num="71" count="157" type="stmt"/>
        <line num="72" count="157" type="stmt"/>
        <line num="73" count="157" type="stmt"/>
        <line num="74" count="157" type="stmt"/>
        <line num="75" count="157" type="stmt"/>
        <line num="78" count="157" type="stmt"/>
      </file>
      <file name="dashboard.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/dashboard/dashboard.component.ts">
        <metrics statements="6" coveredstatements="6" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="4"/>
        <line num="16" count="282" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="157" type="stmt"/>
        <line num="24" count="77" type="stmt"/>
        <line num="25" count="131" type="stmt"/>
        <line num="30" count="130" type="stmt"/>
        <line num="31" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device">
      <metrics statements="35" coveredstatements="33" conditionals="10" coveredconditionals="10" methods="9" coveredmethods="7"/>
      <file name="device.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device/device.component.html">
        <metrics statements="15" coveredstatements="15" conditionals="6" coveredconditionals="6" methods="0" coveredmethods="0"/>
        <line num="1" count="198" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="46" type="stmt"/>
        <line num="5" count="396" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="3" type="stmt"/>
        <line num="9" count="3" type="stmt"/>
        <line num="10" count="3" type="stmt"/>
        <line num="11" count="3" type="stmt"/>
        <line num="12" count="3" type="stmt"/>
        <line num="20" count="3" type="stmt"/>
        <line num="23" count="396" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="3" type="stmt"/>
        <line num="25" count="184" type="stmt"/>
        <line num="26" count="92" type="stmt"/>
        <line num="27" count="92" type="stmt"/>
        <line num="28" count="3" type="stmt"/>
      </file>
      <file name="device.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device/device.component.ts">
        <metrics statements="20" coveredstatements="18" conditionals="4" coveredconditionals="4" methods="9" coveredmethods="7"/>
        <line num="23" count="133" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="8" type="stmt"/>
        <line num="25" count="8" type="stmt"/>
        <line num="29" count="8" type="stmt"/>
        <line num="31" count="8" type="stmt"/>
        <line num="36" count="6" type="stmt"/>
        <line num="37" count="6" type="stmt"/>
        <line num="38" count="6" type="stmt"/>
        <line num="39" count="6" type="stmt"/>
        <line num="42" count="7" type="stmt"/>
        <line num="43" count="7" type="cond" truecount="2" falsecount="0"/>
        <line num="44" count="3" type="stmt"/>
        <line num="47" count="4" type="stmt"/>
        <line num="49" count="0" type="stmt"/>
        <line num="52" count="4" type="stmt"/>
        <line num="56" count="7" type="stmt"/>
        <line num="59" count="0" type="stmt"/>
        <line num="66" count="6" type="stmt"/>
        <line num="67" count="6" type="stmt"/>
        <line num="68" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-card">
      <metrics statements="50" coveredstatements="48" conditionals="16" coveredconditionals="10" methods="5" coveredmethods="5"/>
      <file name="device-card.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-card/device-card.component.html">
        <metrics statements="38" coveredstatements="37" conditionals="10" coveredconditionals="6" methods="0" coveredmethods="0"/>
        <line num="1" count="92" type="cond" truecount="1" falsecount="1"/>
        <line num="5" count="187" type="stmt"/>
        <line num="6" count="187" type="stmt"/>
        <line num="10" count="3" type="stmt"/>
        <line num="11" count="187" type="stmt"/>
        <line num="13" count="3" type="stmt"/>
        <line num="14" count="184" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="3" type="stmt"/>
        <line num="18" count="187" type="stmt"/>
        <line num="20" count="3" type="stmt"/>
        <line num="22" count="184" type="cond" truecount="1" falsecount="1"/>
        <line num="25" count="3" type="stmt"/>
        <line num="26" count="184" type="cond" truecount="1" falsecount="1"/>
        <line num="27" count="0" type="stmt"/>
        <line num="29" count="184" type="cond" truecount="1" falsecount="1"/>
        <line num="30" count="187" type="stmt"/>
        <line num="33" count="3" type="stmt"/>
        <line num="36" count="3" type="stmt"/>
        <line num="38" count="184" type="stmt"/>
        <line num="39" count="3" type="stmt"/>
        <line num="40" count="3" type="stmt"/>
        <line num="41" count="3" type="stmt"/>
        <line num="42" count="3" type="stmt"/>
        <line num="43" count="3" type="stmt"/>
        <line num="44" count="184" type="stmt"/>
        <line num="45" count="3" type="stmt"/>
        <line num="46" count="3" type="stmt"/>
        <line num="47" count="3" type="stmt"/>
        <line num="48" count="3" type="stmt"/>
        <line num="49" count="3" type="stmt"/>
        <line num="50" count="184" type="stmt"/>
        <line num="51" count="3" type="stmt"/>
        <line num="52" count="3" type="stmt"/>
        <line num="53" count="3" type="stmt"/>
        <line num="54" count="3" type="stmt"/>
        <line num="57" count="3" type="stmt"/>
        <line num="58" count="92" type="stmt"/>
        <line num="59" count="3" type="stmt"/>
      </file>
      <file name="device-card.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-card/device-card.component.ts">
        <metrics statements="12" coveredstatements="11" conditionals="6" coveredconditionals="4" methods="5" coveredmethods="5"/>
        <line num="15" count="128" type="cond" truecount="2" falsecount="0"/>
        <line num="16" count="3" type="stmt"/>
        <line num="25" count="3" type="stmt"/>
        <line num="26" count="3" type="stmt"/>
        <line num="28" count="3" type="stmt"/>
        <line num="29" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="30" count="3" type="stmt"/>
        <line num="32" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="33" count="3" type="stmt"/>
        <line num="36" count="0" type="stmt"/>
        <line num="43" count="3" type="stmt"/>
        <line num="44" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-card-logic">
      <metrics statements="34" coveredstatements="29" conditionals="15" coveredconditionals="11" methods="5" coveredmethods="5"/>
      <file name="device-card-logic.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-card-logic/device-card-logic.component.html">
        <metrics statements="19" coveredstatements="15" conditionals="7" coveredconditionals="6" methods="0" coveredmethods="0"/>
        <line num="1" count="264" type="cond" truecount="4" falsecount="1"/>
        <line num="3" count="4" type="stmt"/>
        <line num="4" count="528" type="cond" truecount="2" falsecount="0"/>
        <line num="6" count="345" type="stmt"/>
        <line num="7" count="345" type="stmt"/>
        <line num="8" count="1" type="stmt"/>
        <line num="11" count="4" type="stmt"/>
        <line num="12" count="4" type="stmt"/>
        <line num="13" count="532" type="stmt"/>
        <line num="14" count="4" type="stmt"/>
        <line num="17" count="264" type="stmt"/>
        <line num="18" count="532" type="stmt"/>
        <line num="19" count="4" type="stmt"/>
        <line num="24" count="4" type="stmt"/>
        <line num="26" count="4" type="stmt"/>
        <line num="29" count="0" type="stmt"/>
        <line num="30" count="0" type="stmt"/>
        <line num="31" count="0" type="stmt"/>
        <line num="33" count="0" type="stmt"/>
      </file>
      <file name="device-card-logic.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-card-logic/device-card-logic.component.ts">
        <metrics statements="15" coveredstatements="14" conditionals="8" coveredconditionals="5" methods="5" coveredmethods="5"/>
        <line num="14" count="129" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="4" type="stmt"/>
        <line num="18" count="4" type="stmt"/>
        <line num="26" count="4" type="stmt"/>
        <line num="27" count="4" type="stmt"/>
        <line num="29" count="4" type="stmt"/>
        <line num="30" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="31" count="4" type="stmt"/>
        <line num="33" count="4" type="stmt"/>
        <line num="34" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="35" count="4" type="stmt"/>
        <line num="36" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="37" count="0" type="stmt"/>
        <line num="39" count="4" type="stmt"/>
        <line num="46" count="3" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-card-mini">
      <metrics statements="14" coveredstatements="14" conditionals="6" coveredconditionals="4" methods="5" coveredmethods="5"/>
      <file name="device-card-mini.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-card-mini/device-card-mini.component.html">
        <metrics statements="7" coveredstatements="7" conditionals="2" coveredconditionals="1" methods="0" coveredmethods="0"/>
        <line num="1" count="54" type="cond" truecount="1" falsecount="1"/>
        <line num="6" count="111" type="stmt"/>
        <line num="7" count="111" type="stmt"/>
        <line num="9" count="3" type="stmt"/>
        <line num="10" count="3" type="stmt"/>
        <line num="11" count="111" type="stmt"/>
        <line num="14" count="3" type="stmt"/>
      </file>
      <file name="device-card-mini.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-card-mini/device-card-mini.component.ts">
        <metrics statements="7" coveredstatements="7" conditionals="4" coveredconditionals="3" methods="5" coveredmethods="5"/>
        <line num="13" count="128" type="cond" truecount="2" falsecount="0"/>
        <line num="14" count="3" type="stmt"/>
        <line num="22" count="3" type="stmt"/>
        <line num="24" count="6" type="stmt"/>
        <line num="25" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="26" count="3" type="stmt"/>
        <line num="33" count="3" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-deployer">
      <metrics statements="77" coveredstatements="71" conditionals="20" coveredconditionals="19" methods="16" coveredmethods="11"/>
      <file name="device-deployer.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-deployer/device-deployer.component.html">
        <metrics statements="52" coveredstatements="51" conditionals="16" coveredconditionals="15" methods="3" coveredmethods="2"/>
        <line num="1" count="3" type="stmt"/>
        <line num="2" count="250" type="cond" truecount="2" falsecount="0"/>
        <line num="3" count="2" type="stmt"/>
        <line num="6" count="250" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="210" type="stmt"/>
        <line num="11" count="3" type="stmt"/>
        <line num="12" count="3" type="stmt"/>
        <line num="13" count="3" type="stmt"/>
        <line num="14" count="210" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="1" type="stmt"/>
        <line num="18" count="3" type="stmt"/>
        <line num="19" count="3" type="stmt"/>
        <line num="21" count="3" type="stmt"/>
        <line num="22" count="3" type="stmt"/>
        <line num="23" count="210" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="54" type="stmt"/>
        <line num="25" count="3" type="stmt"/>
        <line num="26" count="3" type="stmt"/>
        <line num="27" count="3" type="stmt"/>
        <line num="30" count="3" type="stmt"/>
        <line num="31" count="3" type="stmt"/>
        <line num="32" count="3" type="stmt"/>
        <line num="35" count="3" type="stmt"/>
        <line num="37" count="210" type="cond" truecount="2" falsecount="0"/>
        <line num="39" count="3" type="stmt"/>
        <line num="40" count="111" type="stmt"/>
        <line num="41" count="3" type="stmt"/>
        <line num="44" count="3" type="stmt"/>
        <line num="47" count="103" type="cond" truecount="2" falsecount="0"/>
        <line num="48" count="1" type="stmt"/>
        <line num="49" count="1" type="stmt"/>
        <line num="51" count="2" type="stmt"/>
        <line num="52" count="102" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="56" count="1" type="stmt"/>
        <line num="60" count="210" type="cond" truecount="2" falsecount="0"/>
        <line num="61" count="3" type="stmt"/>
        <line num="63" count="210" type="cond" truecount="1" falsecount="1"/>
        <line num="64" count="0" type="stmt"/>
        <line num="67" count="3" type="stmt"/>
        <line num="68" count="210" type="stmt"/>
        <line num="71" count="28" type="stmt"/>
        <line num="75" count="29" type="stmt"/>
        <line num="76" count="29" type="stmt"/>
        <line num="77" count="1" type="stmt"/>
        <line num="78" count="29" type="stmt"/>
        <line num="80" count="1" type="stmt"/>
        <line num="82" count="1" type="stmt"/>
        <line num="83" count="29" type="stmt"/>
        <line num="87" count="1" type="stmt"/>
        <line num="91" count="3" type="stmt"/>
        <line num="93" count="3" type="stmt"/>
      </file>
      <file name="device-deployer.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-deployer/device-deployer.component.ts">
        <metrics statements="25" coveredstatements="20" conditionals="4" coveredconditionals="4" methods="13" coveredmethods="9"/>
        <line num="20" count="128" type="cond" truecount="2" falsecount="0"/>
        <line num="27" count="3" type="stmt"/>
        <line num="28" count="3" type="stmt"/>
        <line num="29" count="3" type="stmt"/>
        <line num="30" count="3" type="stmt"/>
        <line num="31" count="3" type="stmt"/>
        <line num="35" count="3" type="stmt"/>
        <line num="36" count="4" type="stmt"/>
        <line num="37" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="38" count="1" type="stmt"/>
        <line num="41" count="3" type="stmt"/>
        <line num="42" count="3" type="stmt"/>
        <line num="43" count="3" type="stmt"/>
        <line num="44" count="3" type="stmt"/>
        <line num="45" count="1" type="stmt"/>
        <line num="48" count="0" type="stmt"/>
        <line num="49" count="0" type="stmt"/>
        <line num="60" count="3" type="stmt"/>
        <line num="61" count="3" type="stmt"/>
        <line num="65" count="1" type="stmt"/>
        <line num="67" count="1" type="stmt"/>
        <line num="69" count="0" type="stmt"/>
        <line num="73" count="0" type="stmt"/>
        <line num="74" count="0" type="stmt"/>
        <line num="76" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-deployers">
      <metrics statements="19" coveredstatements="19" conditionals="6" coveredconditionals="6" methods="3" coveredmethods="3"/>
      <file name="device-deployers.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-deployers/device-deployers.component.html">
        <metrics statements="15" coveredstatements="15" conditionals="4" coveredconditionals="4" methods="0" coveredmethods="0"/>
        <line num="1" count="3" type="stmt"/>
        <line num="3" count="72" type="stmt"/>
        <line num="5" count="72" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="72" type="cond" truecount="2" falsecount="0"/>
        <line num="8" count="10" type="stmt"/>
        <line num="11" count="1" type="stmt"/>
        <line num="12" count="1" type="stmt"/>
        <line num="13" count="1" type="stmt"/>
        <line num="15" count="1" type="stmt"/>
        <line num="16" count="10" type="stmt"/>
        <line num="17" count="21" type="stmt"/>
        <line num="18" count="21" type="stmt"/>
        <line num="19" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="23" count="72" type="stmt"/>
      </file>
      <file name="device-deployers.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-deployers/device-deployers.component.ts">
        <metrics statements="4" coveredstatements="4" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
        <line num="16" count="128" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="3" type="stmt"/>
        <line num="22" count="3" type="stmt"/>
        <line num="23" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-from-deployer">
      <metrics statements="92" coveredstatements="78" conditionals="22" coveredconditionals="19" methods="29" coveredmethods="19"/>
      <file name="device-from-deployer.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-from-deployer/device-from-deployer.component.html">
        <metrics statements="54" coveredstatements="53" conditionals="16" coveredconditionals="15" methods="7" coveredmethods="6"/>
        <line num="1" count="302" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="1" type="stmt"/>
        <line num="4" count="604" type="cond" truecount="1" falsecount="1"/>
        <line num="5" count="0" type="stmt"/>
        <line num="7" count="604" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="584" type="stmt"/>
        <line num="13" count="2" type="stmt"/>
        <line num="14" count="2" type="stmt"/>
        <line num="15" count="2" type="stmt"/>
        <line num="16" count="586" type="stmt"/>
        <line num="17" count="2" type="stmt"/>
        <line num="18" count="584" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="2" type="stmt"/>
        <line num="20" count="336" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="2" type="stmt"/>
        <line num="22" count="2" type="stmt"/>
        <line num="23" count="2" type="stmt"/>
        <line num="24" count="2" type="stmt"/>
        <line num="25" count="2" type="stmt"/>
        <line num="26" count="2" type="stmt"/>
        <line num="27" count="2" type="stmt"/>
        <line num="28" count="2" type="stmt"/>
        <line num="29" count="2" type="stmt"/>
        <line num="30" count="2" type="stmt"/>
        <line num="31" count="2" type="stmt"/>
        <line num="32" count="2" type="stmt"/>
        <line num="33" count="2" type="stmt"/>
        <line num="34" count="2" type="stmt"/>
        <line num="35" count="2" type="stmt"/>
        <line num="36" count="2" type="stmt"/>
        <line num="38" count="2" type="stmt"/>
        <line num="40" count="2" type="stmt"/>
        <line num="42" count="584" type="cond" truecount="2" falsecount="0"/>
        <line num="45" count="362" type="stmt"/>
        <line num="46" count="362" type="stmt"/>
        <line num="47" count="2" type="stmt"/>
        <line num="48" count="2" type="stmt"/>
        <line num="49" count="362" type="stmt"/>
        <line num="50" count="2" type="stmt"/>
        <line num="51" count="2" type="stmt"/>
        <line num="52" count="362" type="stmt"/>
        <line num="53" count="2" type="stmt"/>
        <line num="55" count="2" type="stmt"/>
        <line num="58" count="225" type="cond" truecount="2" falsecount="0"/>
        <line num="59" count="1" type="stmt"/>
        <line num="60" count="1" type="stmt"/>
        <line num="62" count="225" type="cond" truecount="2" falsecount="0"/>
        <line num="63" count="1" type="stmt"/>
        <line num="64" count="1" type="stmt"/>
        <line num="66" count="2" type="stmt"/>
        <line num="67" count="224" type="stmt"/>
        <line num="68" count="1" type="stmt"/>
        <line num="70" count="1" type="stmt"/>
        <line num="73" count="2" type="stmt"/>
      </file>
      <file name="device-from-deployer.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-from-deployer/device-from-deployer.component.ts">
        <metrics statements="38" coveredstatements="25" conditionals="6" coveredconditionals="4" methods="22" coveredmethods="13"/>
        <line num="21" count="127" type="cond" truecount="2" falsecount="0"/>
        <line num="26" count="2" type="stmt"/>
        <line num="28" count="2" type="stmt"/>
        <line num="29" count="2" type="stmt"/>
        <line num="30" count="2" type="stmt"/>
        <line num="33" count="2" type="stmt"/>
        <line num="34" count="3" type="stmt"/>
        <line num="35" count="3" type="stmt"/>
        <line num="36" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="37" count="2" type="stmt"/>
        <line num="38" count="3" type="stmt"/>
        <line num="40" count="3" type="stmt"/>
        <line num="41" count="0" type="stmt"/>
        <line num="45" count="1" type="stmt"/>
        <line num="46" count="1" type="stmt"/>
        <line num="47" count="1" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="55" count="1" type="stmt"/>
        <line num="58" count="0" type="stmt"/>
        <line num="64" count="1" type="stmt"/>
        <line num="66" count="1" type="stmt"/>
        <line num="69" count="0" type="stmt"/>
        <line num="75" count="0" type="stmt"/>
        <line num="77" count="0" type="stmt"/>
        <line num="80" count="0" type="stmt"/>
        <line num="86" count="1" type="stmt"/>
        <line num="88" count="0" type="stmt"/>
        <line num="89" count="0" type="stmt"/>
        <line num="92" count="0" type="stmt"/>
        <line num="98" count="1" type="stmt"/>
        <line num="100" count="1" type="stmt"/>
        <line num="101" count="1" type="stmt"/>
        <line num="103" count="0" type="stmt"/>
        <line num="104" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="105" count="0" type="stmt"/>
        <line num="107" count="0" type="stmt"/>
        <line num="112" count="1" type="stmt"/>
        <line num="113" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-setup">
      <metrics statements="42" coveredstatements="42" conditionals="8" coveredconditionals="7" methods="7" coveredmethods="7"/>
      <file name="device-setup.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-setup/device-setup.component.html">
        <metrics statements="27" coveredstatements="27" conditionals="4" coveredconditionals="4" methods="1" coveredmethods="1"/>
        <line num="1" count="22" type="cond" truecount="2" falsecount="0"/>
        <line num="3" count="37" type="stmt"/>
        <line num="4" count="37" type="stmt"/>
        <line num="6" count="1" type="stmt"/>
        <line num="7" count="37" type="stmt"/>
        <line num="8" count="3" type="stmt"/>
        <line num="9" count="108" type="stmt"/>
        <line num="10" count="3" type="stmt"/>
        <line num="12" count="1" type="stmt"/>
        <line num="13" count="36" type="stmt"/>
        <line num="16" count="1" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="18" count="1" type="stmt"/>
        <line num="19" count="1" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="23" count="333" type="stmt"/>
        <line num="24" count="9" type="stmt"/>
        <line num="25" count="333" type="stmt"/>
        <line num="26" count="9" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="29" count="2" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="35" count="44" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="1" type="stmt"/>
        <line num="37" count="1" type="stmt"/>
        <line num="38" count="1" type="stmt"/>
      </file>
      <file name="device-setup.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-setup/device-setup.component.ts">
        <metrics statements="15" coveredstatements="15" conditionals="4" coveredconditionals="3" methods="6" coveredmethods="6"/>
        <line num="17" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="1" type="stmt"/>
        <line num="19" count="1" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="31" count="1" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="34" count="1" type="stmt"/>
        <line num="42" count="1" type="stmt"/>
        <line num="44" count="1" type="stmt"/>
        <line num="45" count="1" type="stmt"/>
        <line num="48" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-setups">
      <metrics statements="16" coveredstatements="16" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
      <file name="device-setups.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-setups/device-setups.component.html">
        <metrics statements="12" coveredstatements="12" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="1" count="4" type="stmt"/>
        <line num="3" count="108" type="stmt"/>
        <line num="5" count="108" type="stmt"/>
        <line num="8" count="4" type="stmt"/>
        <line num="9" count="4" type="stmt"/>
        <line num="10" count="4" type="stmt"/>
        <line num="12" count="4" type="stmt"/>
        <line num="13" count="38" type="stmt"/>
        <line num="14" count="79" type="stmt"/>
        <line num="15" count="79" type="stmt"/>
        <line num="16" count="3" type="stmt"/>
        <line num="18" count="4" type="stmt"/>
      </file>
      <file name="device-setups.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-setups/device-setups.component.ts">
        <metrics statements="4" coveredstatements="4" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
        <line num="14" count="129" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="4" type="stmt"/>
        <line num="21" count="4" type="stmt"/>
        <line num="22" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-states">
      <metrics statements="97" coveredstatements="87" conditionals="32" coveredconditionals="22" methods="23" coveredmethods="15"/>
      <file name="device-states.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-states/device-states.component.html">
        <metrics statements="42" coveredstatements="42" conditionals="8" coveredconditionals="6" methods="4" coveredmethods="1"/>
        <line num="1" count="167" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="50" type="stmt"/>
        <line num="5" count="334" type="cond" truecount="2" falsecount="0"/>
        <line num="9" count="236" type="stmt"/>
        <line num="10" count="236" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="15" count="2" type="stmt"/>
        <line num="16" count="2" type="stmt"/>
        <line num="17" count="2" type="stmt"/>
        <line num="22" count="119" type="cond" truecount="0" falsecount="2"/>
        <line num="23" count="234" type="stmt"/>
        <line num="24" count="2" type="stmt"/>
        <line num="25" count="2" type="stmt"/>
        <line num="27" count="2" type="stmt"/>
        <line num="28" count="234" type="cond" truecount="2" falsecount="0"/>
        <line num="29" count="1" type="stmt"/>
        <line num="40" count="2" type="stmt"/>
        <line num="41" count="1" type="stmt"/>
        <line num="43" count="30" type="stmt"/>
        <line num="46" count="1" type="stmt"/>
        <line num="47" count="1" type="stmt"/>
        <line num="49" count="1" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="55" count="1" type="stmt"/>
        <line num="56" count="1" type="stmt"/>
        <line num="57" count="1" type="stmt"/>
        <line num="59" count="1" type="stmt"/>
        <line num="61" count="620" type="stmt"/>
        <line num="62" count="620" type="stmt"/>
        <line num="63" count="620" type="stmt"/>
        <line num="65" count="20" type="stmt"/>
        <line num="66" count="620" type="stmt"/>
        <line num="67" count="20" type="stmt"/>
        <line num="68" count="620" type="stmt"/>
        <line num="69" count="20" type="stmt"/>
        <line num="73" count="20" type="stmt"/>
        <line num="75" count="1" type="stmt"/>
        <line num="77" count="2" type="stmt"/>
        <line num="78" count="2" type="stmt"/>
        <line num="79" count="117" type="stmt"/>
        <line num="83" count="2" type="stmt"/>
      </file>
      <file name="device-states.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-states/device-states.component.ts">
        <metrics statements="55" coveredstatements="45" conditionals="24" coveredconditionals="16" methods="19" coveredmethods="14"/>
        <line num="36" count="128" type="cond" truecount="2" falsecount="0"/>
        <line num="37" count="3" type="stmt"/>
        <line num="38" count="3" type="stmt"/>
        <line num="39" count="3" type="stmt"/>
        <line num="45" count="3" type="stmt"/>
        <line num="46" count="3" type="stmt"/>
        <line num="49" count="3" type="stmt"/>
        <line num="50" count="3" type="stmt"/>
        <line num="51" count="3" type="stmt"/>
        <line num="52" count="3" type="stmt"/>
        <line num="59" count="2" type="stmt"/>
        <line num="64" count="2" type="stmt"/>
        <line num="65" count="2" type="stmt"/>
        <line num="66" count="2" type="stmt"/>
        <line num="67" count="2" type="stmt"/>
        <line num="68" count="2" type="stmt"/>
        <line num="70" count="5" type="stmt"/>
        <line num="71" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="72" count="1" type="stmt"/>
        <line num="73" count="1" type="stmt"/>
        <line num="76" count="2" type="stmt"/>
        <line num="78" count="0" type="stmt"/>
        <line num="79" count="0" type="stmt"/>
        <line num="82" count="2" type="stmt"/>
        <line num="88" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="89" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="91" count="2" type="stmt"/>
        <line num="95" count="2" type="stmt"/>
        <line num="96" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="97" count="2" type="stmt"/>
        <line num="102" count="0" type="stmt"/>
        <line num="106" count="0" type="stmt"/>
        <line num="110" count="0" type="stmt"/>
        <line num="111" count="0" type="stmt"/>
        <line num="113" count="0" type="stmt"/>
        <line num="120" count="0" type="stmt"/>
        <line num="121" count="0" type="stmt"/>
        <line num="125" count="4" type="stmt"/>
        <line num="129" count="3" type="stmt"/>
        <line num="130" count="3" type="stmt"/>
        <line num="132" count="3" type="stmt"/>
        <line num="137" count="9" type="stmt"/>
        <line num="140" count="2" type="stmt"/>
        <line num="143" count="1" type="stmt"/>
        <line num="149" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="150" count="1" type="stmt"/>
        <line num="152" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="153" count="1" type="stmt"/>
        <line num="156" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="157" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="158" count="0" type="stmt"/>
        <line num="161" count="1" type="stmt"/>
        <line num="162" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="164" count="1" type="stmt"/>
        <line num="165" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.devices">
      <metrics statements="79" coveredstatements="64" conditionals="36" coveredconditionals="20" methods="13" coveredmethods="7"/>
      <file name="devices.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/devices/devices.component.html">
        <metrics statements="44" coveredstatements="42" conditionals="20" coveredconditionals="12" methods="1" coveredmethods="0"/>
        <line num="1" count="2" type="stmt"/>
        <line num="3" count="72" type="cond" truecount="1" falsecount="1"/>
        <line num="4" count="0" type="stmt"/>
        <line num="7" count="72" type="cond" truecount="1" falsecount="1"/>
        <line num="9" count="38" type="cond" truecount="0" falsecount="2"/>
        <line num="11" count="36" type="stmt"/>
        <line num="14" count="2" type="stmt"/>
        <line num="15" count="2" type="stmt"/>
        <line num="16" count="2" type="stmt"/>
        <line num="17" count="2" type="stmt"/>
        <line num="18" count="2" type="stmt"/>
        <line num="19" count="2" type="stmt"/>
        <line num="20" count="2" type="stmt"/>
        <line num="22" count="2" type="stmt"/>
        <line num="23" count="80" type="stmt"/>
        <line num="24" count="168" type="stmt"/>
        <line num="25" count="168" type="stmt"/>
        <line num="26" count="8" type="stmt"/>
        <line num="27" count="160" type="cond" truecount="2" falsecount="0"/>
        <line num="28" count="88" type="stmt"/>
        <line num="30" count="8" type="stmt"/>
        <line num="31" count="8" type="stmt"/>
        <line num="32" count="160" type="cond" truecount="1" falsecount="1"/>
        <line num="33" count="8" type="stmt"/>
        <line num="34" count="168" type="stmt"/>
        <line num="35" count="140" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="154" type="cond" truecount="1" falsecount="1"/>
        <line num="37" count="280" type="cond" truecount="2" falsecount="0"/>
        <line num="38" count="12" type="stmt"/>
        <line num="41" count="120" type="stmt"/>
        <line num="42" count="252" type="stmt"/>
        <line num="43" count="12" type="stmt"/>
        <line num="47" count="8" type="stmt"/>
        <line num="49" count="8" type="stmt"/>
        <line num="50" count="160" type="cond" truecount="1" falsecount="1"/>
        <line num="51" count="88" type="stmt"/>
        <line num="53" count="8" type="stmt"/>
        <line num="54" count="0" type="stmt"/>
        <line num="55" count="8" type="stmt"/>
        <line num="56" count="8" type="stmt"/>
        <line num="57" count="8" type="stmt"/>
        <line num="58" count="80" type="cond" truecount="1" falsecount="1"/>
        <line num="60" count="8" type="stmt"/>
        <line num="63" count="2" type="stmt"/>
      </file>
      <file name="devices.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/devices/devices.component.ts">
        <metrics statements="35" coveredstatements="22" conditionals="16" coveredconditionals="8" methods="12" coveredmethods="7"/>
        <line num="18" count="127" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="2" type="stmt"/>
        <line num="20" count="2" type="stmt"/>
        <line num="21" count="2" type="stmt"/>
        <line num="27" count="2" type="stmt"/>
        <line num="28" count="2" type="stmt"/>
        <line num="30" count="2" type="stmt"/>
        <line num="31" count="2" type="stmt"/>
        <line num="35" count="2" type="stmt"/>
        <line num="36" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="37" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="38" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="39" count="2" type="cond" truecount="2" falsecount="2"/>
        <line num="40" count="0" type="stmt"/>
        <line num="43" count="2" type="stmt"/>
        <line num="46" count="2" type="stmt"/>
        <line num="48" count="2" type="stmt"/>
        <line num="50" count="3" type="stmt"/>
        <line num="51" count="3" type="stmt"/>
        <line num="52" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="53" count="0" type="stmt"/>
        <line num="60" count="2" type="stmt"/>
        <line num="64" count="0" type="stmt"/>
        <line num="65" count="0" type="stmt"/>
        <line num="67" count="0" type="stmt"/>
        <line num="74" count="4" type="stmt"/>
        <line num="80" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="82" count="0" type="stmt"/>
        <line num="83" count="0" type="stmt"/>
        <line num="85" count="0" type="stmt"/>
        <line num="86" count="0" type="stmt"/>
        <line num="88" count="0" type="stmt"/>
        <line num="89" count="0" type="stmt"/>
        <line num="94" count="0" type="stmt"/>
        <line num="95" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.empty-placeholder">
      <metrics statements="20" coveredstatements="19" conditionals="8" coveredconditionals="5" methods="5" coveredmethods="5"/>
      <file name="empty-placeholder.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/empty-placeholder/empty-placeholder.component.html">
        <metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
        <line num="3" count="95" type="stmt"/>
        <line num="4" count="3" type="stmt"/>
        <line num="5" count="3" type="stmt"/>
        <line num="7" count="3" type="stmt"/>
      </file>
      <file name="empty-placeholder.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/empty-placeholder/empty-placeholder.component.ts">
        <metrics statements="16" coveredstatements="15" conditionals="8" coveredconditionals="5" methods="4" coveredmethods="4"/>
        <line num="11" count="128" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="3" type="stmt"/>
        <line num="13" count="3" type="stmt"/>
        <line num="15" count="3" type="stmt"/>
        <line num="17" count="3" type="stmt"/>
        <line num="20" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="21" count="0" type="stmt"/>
        <line num="24" count="3" type="stmt"/>
        <line num="25" count="3" type="stmt"/>
        <line num="26" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="27" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="28" count="3" type="stmt"/>
        <line num="30" count="3" type="stmt"/>
        <line num="31" count="3" type="stmt"/>
        <line num="38" count="1" type="stmt"/>
        <line num="39" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.error">
      <metrics statements="37" coveredstatements="34" conditionals="22" coveredconditionals="13" methods="7" coveredmethods="5"/>
      <file name="error.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/error/error.component.html">
        <metrics statements="20" coveredstatements="18" conditionals="14" coveredconditionals="7" methods="2" coveredmethods="1"/>
        <line num="4" count="8" type="stmt"/>
        <line num="5" count="416" type="cond" truecount="1" falsecount="1"/>
        <line num="6" count="0" type="stmt"/>
        <line num="8" count="416" type="cond" truecount="1" falsecount="1"/>
        <line num="9" count="8" type="stmt"/>
        <line num="11" count="8" type="stmt"/>
        <line num="12" count="8" type="stmt"/>
        <line num="13" count="416" type="cond" truecount="1" falsecount="1"/>
        <line num="14" count="0" type="stmt"/>
        <line num="16" count="416" type="cond" truecount="1" falsecount="1"/>
        <line num="17" count="424" type="cond" truecount="1" falsecount="1"/>
        <line num="19" count="424" type="stmt"/>
        <line num="20" count="416" type="cond" truecount="1" falsecount="1"/>
        <line num="21" count="424" type="stmt"/>
        <line num="23" count="416" type="cond" truecount="1" falsecount="1"/>
        <line num="24" count="424" type="stmt"/>
        <line num="26" count="8" type="stmt"/>
        <line num="27" count="8" type="stmt"/>
        <line num="28" count="8" type="stmt"/>
        <line num="32" count="8" type="stmt"/>
      </file>
      <file name="error.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/error/error.component.ts">
        <metrics statements="17" coveredstatements="16" conditionals="8" coveredconditionals="6" methods="5" coveredmethods="4"/>
        <line num="12" count="133" type="cond" truecount="2" falsecount="0"/>
        <line num="13" count="8" type="stmt"/>
        <line num="14" count="8" type="stmt"/>
        <line num="17" count="8" type="stmt"/>
        <line num="22" count="11" type="cond" truecount="2" falsecount="0"/>
        <line num="23" count="6" type="stmt"/>
        <line num="26" count="5" type="stmt"/>
        <line num="27" count="5" type="cond" truecount="1" falsecount="1"/>
        <line num="28" count="5" type="cond" truecount="1" falsecount="1"/>
        <line num="29" count="5" type="stmt"/>
        <line num="31" count="5" type="stmt"/>
        <line num="32" count="5" type="stmt"/>
        <line num="38" count="0" type="stmt"/>
        <line num="42" count="4" type="stmt"/>
        <line num="43" count="4" type="stmt"/>
        <line num="44" count="4" type="stmt"/>
        <line num="46" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.event">
      <metrics statements="20" coveredstatements="17" conditionals="6" coveredconditionals="5" methods="4" coveredmethods="3"/>
      <file name="event.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event/event.component.html">
        <metrics statements="10" coveredstatements="8" conditionals="4" coveredconditionals="3" methods="0" coveredmethods="0"/>
        <line num="2" count="121" type="cond" truecount="2" falsecount="0"/>
        <line num="4" count="231" type="stmt"/>
        <line num="5" count="231" type="stmt"/>
        <line num="6" count="231" type="stmt"/>
        <line num="7" count="115" type="stmt"/>
        <line num="8" count="115" type="stmt"/>
        <line num="10" count="1" type="stmt"/>
        <line num="12" count="242" type="cond" truecount="1" falsecount="1"/>
        <line num="14" count="0" type="stmt"/>
        <line num="15" count="0" type="stmt"/>
      </file>
      <file name="event.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event/event.component.ts">
        <metrics statements="10" coveredstatements="9" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="3"/>
        <line num="14" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="1" type="stmt"/>
        <line num="16" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="34" count="0" type="stmt"/>
        <line num="38" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.event-rule">
      <metrics statements="17" coveredstatements="15" conditionals="8" coveredconditionals="7" methods="4" coveredmethods="3"/>
      <file name="event-rule.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event-rule/event-rule.component.html">
        <metrics statements="9" coveredstatements="8" conditionals="6" coveredconditionals="5" methods="0" coveredmethods="0"/>
        <line num="1" count="22" type="cond" truecount="1" falsecount="1"/>
        <line num="2" count="0" type="stmt"/>
        <line num="5" count="44" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="37" type="stmt"/>
        <line num="8" count="37" type="stmt"/>
        <line num="9" count="37" type="stmt"/>
        <line num="10" count="36" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="18" type="stmt"/>
        <line num="13" count="1" type="stmt"/>
      </file>
      <file name="event-rule.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event-rule/event-rule.component.ts">
        <metrics statements="8" coveredstatements="7" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="3"/>
        <line num="16" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="1" type="stmt"/>
        <line num="18" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="35" count="0" type="stmt"/>
        <line num="38" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.event-rules">
      <metrics statements="62" coveredstatements="54" conditionals="34" coveredconditionals="26" methods="14" coveredmethods="9"/>
      <file name="event-rules.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event-rules/event-rules.component.html">
        <metrics statements="22" coveredstatements="20" conditionals="10" coveredconditionals="7" methods="4" coveredmethods="1"/>
        <line num="1" count="42" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="1" type="stmt"/>
        <line num="4" count="84" type="cond" truecount="1" falsecount="1"/>
        <line num="5" count="0" type="stmt"/>
        <line num="8" count="84" type="cond" truecount="2" falsecount="0"/>
        <line num="9" count="0" type="stmt"/>
        <line num="12" count="84" type="cond" truecount="2" falsecount="0"/>
        <line num="14" count="37" type="cond" truecount="0" falsecount="2"/>
        <line num="16" count="36" type="stmt"/>
        <line num="18" count="1" type="stmt"/>
        <line num="19" count="1" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="360" type="stmt"/>
        <line num="31" count="760" type="stmt"/>
        <line num="32" count="760" type="stmt"/>
        <line num="33" count="40" type="stmt"/>
        <line num="36" count="1" type="stmt"/>
      </file>
      <file name="event-rules.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event-rules/event-rules.component.ts">
        <metrics statements="40" coveredstatements="34" conditionals="24" coveredconditionals="19" methods="10" coveredmethods="8"/>
        <line num="20" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="37" count="1" type="stmt"/>
        <line num="38" count="1" type="stmt"/>
        <line num="39" count="1" type="cond" truecount="2" falsecount="0"/>
        <line num="40" count="1" type="cond" truecount="2" falsecount="0"/>
        <line num="42" count="1" type="stmt"/>
        <line num="43" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="44" count="0" type="stmt"/>
        <line num="47" count="1" type="stmt"/>
        <line num="48" count="1" type="stmt"/>
        <line num="53" count="4" type="stmt"/>
        <line num="54" count="4" type="stmt"/>
        <line num="55" count="4" type="stmt"/>
        <line num="56" count="4" type="stmt"/>
        <line num="59" count="0" type="stmt"/>
        <line num="65" count="3" type="stmt"/>
        <line num="66" count="3" type="cond" truecount="3" falsecount="1"/>
        <line num="67" count="3" type="stmt"/>
        <line num="69" count="3" type="cond" truecount="3" falsecount="1"/>
        <line num="70" count="3" type="stmt"/>
        <line num="73" count="3" type="cond" truecount="4" falsecount="0"/>
        <line num="74" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="75" count="2" type="stmt"/>
        <line num="78" count="0" type="stmt"/>
        <line num="80" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="81" count="2" type="stmt"/>
        <line num="84" count="3" type="stmt"/>
        <line num="88" count="0" type="stmt"/>
        <line num="89" count="0" type="stmt"/>
        <line num="91" count="0" type="stmt"/>
        <line num="98" count="2" type="stmt"/>
        <line num="99" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.events">
      <metrics statements="73" coveredstatements="61" conditionals="38" coveredconditionals="25" methods="14" coveredmethods="9"/>
      <file name="events.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/events/events.component.html">
        <metrics statements="24" coveredstatements="23" conditionals="10" coveredconditionals="7" methods="4" coveredmethods="1"/>
        <line num="1" count="276" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="4" type="stmt"/>
        <line num="4" count="552" type="cond" truecount="1" falsecount="1"/>
        <line num="5" count="0" type="stmt"/>
        <line num="8" count="552" type="cond" truecount="2" falsecount="0"/>
        <line num="9" count="1" type="stmt"/>
        <line num="12" count="552" type="cond" truecount="2" falsecount="0"/>
        <line num="14" count="71" type="cond" truecount="0" falsecount="2"/>
        <line num="16" count="68" type="stmt"/>
        <line num="18" count="3" type="stmt"/>
        <line num="19" count="3" type="stmt"/>
        <line num="20" count="3" type="stmt"/>
        <line num="21" count="3" type="stmt"/>
        <line num="25" count="3" type="stmt"/>
        <line num="26" count="3" type="stmt"/>
        <line num="27" count="3" type="stmt"/>
        <line num="28" count="3" type="stmt"/>
        <line num="30" count="3" type="stmt"/>
        <line num="31" count="554" type="stmt"/>
        <line num="32" count="1150" type="stmt"/>
        <line num="33" count="1150" type="stmt"/>
        <line num="34" count="1150" type="stmt"/>
        <line num="35" count="42" type="stmt"/>
        <line num="38" count="3" type="stmt"/>
      </file>
      <file name="events.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/events/events.component.ts">
        <metrics statements="49" coveredstatements="38" conditionals="28" coveredconditionals="18" methods="10" coveredmethods="8"/>
        <line num="22" count="130" type="cond" truecount="2" falsecount="0"/>
        <line num="23" count="5" type="stmt"/>
        <line num="24" count="5" type="stmt"/>
        <line num="25" count="5" type="stmt"/>
        <line num="28" count="5" type="stmt"/>
        <line num="32" count="5" type="stmt"/>
        <line num="33" count="5" type="stmt"/>
        <line num="34" count="5" type="stmt"/>
        <line num="35" count="5" type="stmt"/>
        <line num="36" count="5" type="stmt"/>
        <line num="37" count="5" type="stmt"/>
        <line num="38" count="5" type="stmt"/>
        <line num="43" count="4" type="stmt"/>
        <line num="44" count="4" type="stmt"/>
        <line num="45" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="46" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="48" count="4" type="stmt"/>
        <line num="49" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="50" count="0" type="stmt"/>
        <line num="52" count="4" type="stmt"/>
        <line num="53" count="4" type="stmt"/>
        <line num="55" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="56" count="0" type="stmt"/>
        <line num="58" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="59" count="1" type="stmt"/>
        <line num="61" count="4" type="stmt"/>
        <line num="62" count="4" type="stmt"/>
        <line num="68" count="7" type="stmt"/>
        <line num="69" count="7" type="stmt"/>
        <line num="71" count="7" type="stmt"/>
        <line num="72" count="7" type="stmt"/>
        <line num="75" count="0" type="stmt"/>
        <line num="81" count="3" type="stmt"/>
        <line num="82" count="3" type="cond" truecount="3" falsecount="1"/>
        <line num="83" count="3" type="stmt"/>
        <line num="85" count="3" type="cond" truecount="3" falsecount="1"/>
        <line num="86" count="3" type="stmt"/>
        <line num="89" count="3" type="cond" truecount="2" falsecount="2"/>
        <line num="90" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="91" count="0" type="stmt"/>
        <line num="94" count="0" type="stmt"/>
        <line num="96" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="97" count="0" type="stmt"/>
        <line num="100" count="3" type="stmt"/>
        <line num="104" count="0" type="stmt"/>
        <line num="105" count="0" type="stmt"/>
        <line num="107" count="0" type="stmt"/>
        <line num="114" count="8" type="stmt"/>
        <line num="115" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.footer">
      <metrics statements="5" coveredstatements="5" conditionals="4" coveredconditionals="4" methods="3" coveredmethods="3"/>
      <file name="footer.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/footer/footer.component.html">
        <metrics statements="1" coveredstatements="1" conditionals="2" coveredconditionals="2" methods="0" coveredmethods="0"/>
        <line num="1" count="60523" type="cond" truecount="2" falsecount="0"/>
      </file>
      <file name="footer.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/footer/footer.component.ts">
        <metrics statements="4" coveredstatements="4" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
        <line num="11" count="228" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="103" type="stmt"/>
        <line num="19" count="103" type="stmt"/>
        <line num="20" count="103" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.forced-signals">
      <metrics statements="78" coveredstatements="61" conditionals="32" coveredconditionals="19" methods="18" coveredmethods="12"/>
      <file name="forced-signals.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/forced-signals/forced-signals.component.html">
        <metrics statements="29" coveredstatements="29" conditionals="4" coveredconditionals="3" methods="4" coveredmethods="2"/>
        <line num="2" count="104" type="stmt"/>
        <line num="3" count="1" type="stmt"/>
        <line num="4" count="1" type="stmt"/>
        <line num="5" count="1" type="stmt"/>
        <line num="7" count="1" type="stmt"/>
        <line num="8" count="1" type="stmt"/>
        <line num="10" count="1" type="stmt"/>
        <line num="11" count="104" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="1" type="stmt"/>
        <line num="13" count="2" type="stmt"/>
        <line num="16" count="20" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="34" count="42" type="cond" truecount="1" falsecount="1"/>
        <line num="35" count="42" type="stmt"/>
        <line num="36" count="42" type="stmt"/>
        <line num="37" count="42" type="stmt"/>
        <line num="38" count="2" type="stmt"/>
        <line num="39" count="2" type="stmt"/>
        <line num="41" count="1" type="stmt"/>
        <line num="43" count="1" type="stmt"/>
      </file>
      <file name="forced-signals.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/forced-signals/forced-signals.component.ts">
        <metrics statements="49" coveredstatements="32" conditionals="28" coveredconditionals="16" methods="14" coveredmethods="10"/>
        <line num="20" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="36" count="1" type="stmt"/>
        <line num="37" count="1" type="stmt"/>
        <line num="38" count="1" type="cond" truecount="2" falsecount="0"/>
        <line num="39" count="1" type="cond" truecount="2" falsecount="0"/>
        <line num="41" count="1" type="stmt"/>
        <line num="42" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="43" count="0" type="stmt"/>
        <line num="46" count="1" type="stmt"/>
        <line num="47" count="1" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="55" count="1" type="stmt"/>
        <line num="56" count="4" type="stmt"/>
        <line num="63" count="2" type="stmt"/>
        <line num="65" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="66" count="2" type="stmt"/>
        <line num="68" count="2" type="stmt"/>
        <line num="70" count="0" type="stmt"/>
        <line num="78" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="79" count="1" type="stmt"/>
        <line num="81" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="82" count="1" type="stmt"/>
        <line num="85" count="1" type="cond" truecount="2" falsecount="2"/>
        <line num="86" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="87" count="0" type="stmt"/>
        <line num="90" count="0" type="stmt"/>
        <line num="92" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="93" count="0" type="stmt"/>
        <line num="96" count="1" type="stmt"/>
        <line num="100" count="1" type="stmt"/>
        <line num="102" count="0" type="stmt"/>
        <line num="103" count="0" type="stmt"/>
        <line num="106" count="0" type="stmt"/>
        <line num="107" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="108" count="0" type="stmt"/>
        <line num="110" count="0" type="stmt"/>
        <line num="111" count="0" type="stmt"/>
        <line num="117" count="0" type="stmt"/>
        <line num="118" count="0" type="stmt"/>
        <line num="120" count="0" type="stmt"/>
        <line num="124" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.four-o-four">
      <metrics statements="22" coveredstatements="22" conditionals="4" coveredconditionals="4" methods="4" coveredmethods="4"/>
      <file name="four-o-four.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/four-o-four/four-o-four.component.html">
        <metrics statements="13" coveredstatements="13" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
        <line num="2" count="5" type="stmt"/>
        <line num="3" count="5" type="stmt"/>
        <line num="5" count="5" type="stmt"/>
        <line num="6" count="5" type="stmt"/>
        <line num="7" count="157" type="stmt"/>
        <line num="8" count="5" type="stmt"/>
        <line num="9" count="5" type="stmt"/>
        <line num="10" count="5" type="stmt"/>
        <line num="11" count="5" type="stmt"/>
        <line num="12" count="5" type="stmt"/>
        <line num="13" count="5" type="stmt"/>
        <line num="14" count="5" type="stmt"/>
        <line num="16" count="5" type="stmt"/>
      </file>
      <file name="four-o-four.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/four-o-four/four-o-four.component.ts">
        <metrics statements="9" coveredstatements="9" conditionals="4" coveredconditionals="4" methods="3" coveredmethods="3"/>
        <line num="11" count="130" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="5" type="stmt"/>
        <line num="13" count="5" type="stmt"/>
        <line num="15" count="5" type="stmt"/>
        <line num="18" count="4" type="stmt"/>
        <line num="22" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="23" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="28" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.global-error">
      <metrics statements="25" coveredstatements="20" conditionals="10" coveredconditionals="6" methods="5" coveredmethods="4"/>
      <file name="global-error.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/global-error/global-error.component.html">
        <metrics statements="11" coveredstatements="10" conditionals="4" coveredconditionals="2" methods="0" coveredmethods="0"/>
        <line num="3" count="1" type="stmt"/>
        <line num="4" count="52" type="stmt"/>
        <line num="5" count="1" type="stmt"/>
        <line num="7" count="1" type="stmt"/>
        <line num="8" count="1" type="stmt"/>
        <line num="9" count="1" type="stmt"/>
        <line num="10" count="52" type="cond" truecount="1" falsecount="1"/>
        <line num="11" count="0" type="stmt"/>
        <line num="13" count="52" type="cond" truecount="1" falsecount="1"/>
        <line num="14" count="1" type="stmt"/>
        <line num="18" count="1" type="stmt"/>
      </file>
      <file name="global-error.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/global-error/global-error.component.ts">
        <metrics statements="14" coveredstatements="10" conditionals="6" coveredconditionals="4" methods="5" coveredmethods="4"/>
        <line num="12" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="13" count="1" type="stmt"/>
        <line num="18" count="1" type="stmt"/>
        <line num="19" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="26" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="27" count="0" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="35" count="2" type="stmt"/>
        <line num="36" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="37" count="0" type="stmt"/>
        <line num="43" count="0" type="stmt"/>
        <line num="44" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.header">
      <metrics statements="50" coveredstatements="45" conditionals="8" coveredconditionals="8" methods="11" coveredmethods="7"/>
      <file name="header.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/header/header.component.html">
        <metrics statements="28" coveredstatements="28" conditionals="6" coveredconditionals="6" methods="1" coveredmethods="0"/>
        <line num="4" count="103" type="stmt"/>
        <line num="5" count="103" type="stmt"/>
        <line num="6" count="103" type="stmt"/>
        <line num="7" count="103" type="stmt"/>
        <line num="8" count="103" type="stmt"/>
        <line num="9" count="103" type="stmt"/>
        <line num="10" count="60523" type="stmt"/>
        <line num="11" count="103" type="stmt"/>
        <line num="14" count="103" type="stmt"/>
        <line num="15" count="60420" type="cond" truecount="2" falsecount="0"/>
        <line num="16" count="25861" type="stmt"/>
        <line num="18" count="60420" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="51824" type="stmt"/>
        <line num="21" count="103" type="stmt"/>
        <line num="22" count="103" type="stmt"/>
        <line num="24" count="103" type="stmt"/>
        <line num="26" count="103" type="stmt"/>
        <line num="27" count="103" type="stmt"/>
        <line num="28" count="103" type="stmt"/>
        <line num="29" count="60420" type="cond" truecount="2" falsecount="0"/>
        <line num="30" count="97" type="stmt"/>
        <line num="31" count="97" type="stmt"/>
        <line num="32" count="97" type="stmt"/>
        <line num="33" count="97" type="stmt"/>
        <line num="35" count="103" type="stmt"/>
        <line num="36" count="103" type="stmt"/>
        <line num="37" count="103" type="stmt"/>
        <line num="42" count="103" type="stmt"/>
      </file>
      <file name="header.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/header/header.component.ts">
        <metrics statements="22" coveredstatements="17" conditionals="2" coveredconditionals="2" methods="10" coveredmethods="7"/>
        <line num="17" count="228" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="103" type="stmt"/>
        <line num="19" count="103" type="stmt"/>
        <line num="20" count="103" type="stmt"/>
        <line num="22" count="103" type="stmt"/>
        <line num="23" count="103" type="stmt"/>
        <line num="34" count="103" type="stmt"/>
        <line num="36" count="102" type="stmt"/>
        <line num="39" count="0" type="stmt"/>
        <line num="43" count="103" type="stmt"/>
        <line num="44" count="103" type="stmt"/>
        <line num="45" count="3039" type="stmt"/>
        <line num="46" count="103" type="stmt"/>
        <line num="47" count="102" type="stmt"/>
        <line num="48" count="102" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="58" count="3142" type="stmt"/>
        <line num="62" count="0" type="stmt"/>
        <line num="63" count="0" type="stmt"/>
        <line num="64" count="0" type="stmt"/>
        <line num="66" count="0" type="stmt"/>
        <line num="67" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.leftbar">
      <metrics statements="85" coveredstatements="79" conditionals="8" coveredconditionals="5" methods="10" coveredmethods="7"/>
      <file name="leftbar.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/leftbar/leftbar.component.html">
        <metrics statements="68" coveredstatements="65" conditionals="4" coveredconditionals="3" methods="0" coveredmethods="0"/>
        <line num="4" count="104" type="stmt"/>
        <line num="5" count="104" type="stmt"/>
        <line num="7" count="104" type="stmt"/>
        <line num="9" count="104" type="stmt"/>
        <line num="10" count="104" type="stmt"/>
        <line num="11" count="104" type="stmt"/>
        <line num="13" count="104" type="stmt"/>
        <line num="14" count="104" type="stmt"/>
        <line num="15" count="104" type="stmt"/>
        <line num="17" count="104" type="stmt"/>
        <line num="18" count="60304" type="cond" truecount="2" falsecount="0"/>
        <line num="20" count="100" type="stmt"/>
        <line num="21" count="100" type="stmt"/>
        <line num="22" count="100" type="stmt"/>
        <line num="24" count="100" type="stmt"/>
        <line num="28" count="104" type="stmt"/>
        <line num="29" count="104" type="stmt"/>
        <line num="30" count="104" type="stmt"/>
        <line num="33" count="104" type="stmt"/>
        <line num="34" count="104" type="stmt"/>
        <line num="36" count="104" type="stmt"/>
        <line num="37" count="104" type="stmt"/>
        <line num="38" count="104" type="stmt"/>
        <line num="39" count="104" type="stmt"/>
        <line num="40" count="104" type="stmt"/>
        <line num="42" count="104" type="stmt"/>
        <line num="43" count="104" type="stmt"/>
        <line num="44" count="104" type="stmt"/>
        <line num="46" count="104" type="stmt"/>
        <line num="48" count="104" type="stmt"/>
        <line num="49" count="104" type="stmt"/>
        <line num="50" count="104" type="stmt"/>
        <line num="52" count="104" type="stmt"/>
        <line num="54" count="104" type="stmt"/>
        <line num="55" count="104" type="stmt"/>
        <line num="56" count="104" type="stmt"/>
        <line num="58" count="104" type="stmt"/>
        <line num="59" count="104" type="stmt"/>
        <line num="60" count="104" type="stmt"/>
        <line num="61" count="104" type="stmt"/>
        <line num="62" count="104" type="stmt"/>
        <line num="63" count="104" type="stmt"/>
        <line num="64" count="104" type="stmt"/>
        <line num="65" count="104" type="stmt"/>
        <line num="66" count="104" type="stmt"/>
        <line num="67" count="104" type="stmt"/>
        <line num="68" count="104" type="stmt"/>
        <line num="69" count="104" type="stmt"/>
        <line num="70" count="104" type="stmt"/>
        <line num="80" count="104" type="stmt"/>
        <line num="81" count="60304" type="stmt"/>
        <line num="82" count="104" type="stmt"/>
        <line num="83" count="60304" type="stmt"/>
        <line num="84" count="104" type="stmt"/>
        <line num="86" count="104" type="stmt"/>
        <line num="87" count="104" type="stmt"/>
        <line num="88" count="60304" type="cond" truecount="1" falsecount="1"/>
        <line num="91" count="0" type="stmt"/>
        <line num="92" count="0" type="stmt"/>
        <line num="94" count="0" type="stmt"/>
        <line num="96" count="104" type="stmt"/>
        <line num="98" count="30152" type="stmt"/>
        <line num="99" count="60408" type="stmt"/>
        <line num="101" count="104" type="stmt"/>
        <line num="103" count="30152" type="stmt"/>
        <line num="104" count="60408" type="stmt"/>
        <line num="106" count="104" type="stmt"/>
        <line num="109" count="104" type="stmt"/>
      </file>
      <file name="leftbar.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/leftbar/leftbar.component.ts">
        <metrics statements="17" coveredstatements="14" conditionals="4" coveredconditionals="2" methods="10" coveredmethods="7"/>
        <line num="14" count="229" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="104" type="stmt"/>
        <line num="17" count="104" type="stmt"/>
        <line num="19" count="104" type="stmt"/>
        <line num="20" count="104" type="stmt"/>
        <line num="24" count="104" type="stmt"/>
        <line num="26" count="102" type="stmt"/>
        <line num="33" count="104" type="stmt"/>
        <line num="35" count="252" type="stmt"/>
        <line num="39" count="104" type="stmt"/>
        <line num="41" count="190" type="stmt"/>
        <line num="45" count="104" type="stmt"/>
        <line num="47" count="100" type="stmt"/>
        <line num="50" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="51" count="0" type="stmt"/>
        <line num="58" count="0" type="stmt"/>
        <line num="59" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.loader">
      <metrics statements="5" coveredstatements="5" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
      <file name="loader.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/loader/loader.component.html">
        <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="3" count="1197" type="stmt"/>
        <line num="4" count="39" type="stmt"/>
        <line num="6" count="39" type="stmt"/>
      </file>
      <file name="loader.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/loader/loader.component.ts">
        <metrics statements="2" coveredstatements="2" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="9" count="164" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="39" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.login">
      <metrics statements="56" coveredstatements="52" conditionals="10" coveredconditionals="8" methods="15" coveredmethods="13"/>
      <file name="login.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/login/login.component.html">
        <metrics statements="20" coveredstatements="20" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
        <line num="6" count="41" type="stmt"/>
        <line num="7" count="5912" type="stmt"/>
        <line num="8" count="41" type="stmt"/>
        <line num="9" count="5912" type="stmt"/>
        <line num="11" count="41" type="stmt"/>
        <line num="12" count="41" type="stmt"/>
        <line num="13" count="41" type="stmt"/>
        <line num="14" count="41" type="stmt"/>
        <line num="15" count="41" type="stmt"/>
        <line num="18" count="41" type="stmt"/>
        <line num="21" count="41" type="stmt"/>
        <line num="22" count="41" type="stmt"/>
        <line num="23" count="41" type="stmt"/>
        <line num="24" count="41" type="stmt"/>
        <line num="25" count="41" type="stmt"/>
        <line num="28" count="41" type="stmt"/>
        <line num="29" count="5912" type="stmt"/>
        <line num="30" count="41" type="stmt"/>
        <line num="32" count="41" type="stmt"/>
        <line num="39" count="41" type="stmt"/>
      </file>
      <file name="login.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/login/login.component.ts">
        <metrics statements="36" coveredstatements="32" conditionals="10" coveredconditionals="8" methods="14" coveredmethods="12"/>
        <line num="20" count="166" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="41" type="stmt"/>
        <line num="22" count="41" type="stmt"/>
        <line num="23" count="41" type="stmt"/>
        <line num="24" count="41" type="stmt"/>
        <line num="25" count="41" type="stmt"/>
        <line num="28" count="41" type="stmt"/>
        <line num="32" count="41" type="stmt"/>
        <line num="39" count="41" type="stmt"/>
        <line num="41" count="41" type="cond" truecount="4" falsecount="0"/>
        <line num="42" count="1" type="stmt"/>
        <line num="46" count="41" type="stmt"/>
        <line num="48" count="41" type="stmt"/>
        <line num="51" count="41" type="stmt"/>
        <line num="54" count="41" type="stmt"/>
        <line num="60" count="41" type="stmt"/>
        <line num="61" count="717" type="stmt"/>
        <line num="64" count="41" type="stmt"/>
        <line num="66" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="67" count="0" type="stmt"/>
        <line num="68" count="0" type="stmt"/>
        <line num="69" count="0" type="stmt"/>
        <line num="77" count="23" type="stmt"/>
        <line num="81" count="24" type="stmt"/>
        <line num="82" count="24" type="stmt"/>
        <line num="83" count="24" type="stmt"/>
        <line num="86" count="22" type="stmt"/>
        <line num="87" count="22" type="stmt"/>
        <line num="88" count="22" type="stmt"/>
        <line num="89" count="22" type="stmt"/>
        <line num="90" count="22" type="stmt"/>
        <line num="92" count="22" type="stmt"/>
        <line num="93" count="21" type="cond" truecount="2" falsecount="0"/>
        <line num="99" count="1" type="stmt"/>
        <line num="107" count="717" type="stmt"/>
        <line num="109" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.modes-table">
      <metrics statements="48" coveredstatements="39" conditionals="18" coveredconditionals="9" methods="8" coveredmethods="7"/>
      <file name="modes-table.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/modes-table/modes-table.component.html">
        <metrics statements="25" coveredstatements="22" conditionals="8" coveredconditionals="4" methods="1" coveredmethods="1"/>
        <line num="1" count="92" type="cond" truecount="1" falsecount="1"/>
        <line num="2" count="0" type="stmt"/>
        <line num="4" count="184" type="cond" truecount="1" falsecount="1"/>
        <line num="5" count="3" type="stmt"/>
        <line num="7" count="92" type="stmt"/>
        <line num="10" count="3" type="stmt"/>
        <line num="11" count="3" type="stmt"/>
        <line num="12" count="3" type="stmt"/>
        <line num="13" count="3" type="stmt"/>
        <line num="14" count="3" type="stmt"/>
        <line num="15" count="3" type="stmt"/>
        <line num="17" count="3" type="stmt"/>
        <line num="19" count="561" type="stmt"/>
        <line num="20" count="561" type="stmt"/>
        <line num="21" count="561" type="stmt"/>
        <line num="22" count="561" type="stmt"/>
        <line num="23" count="9" type="stmt"/>
        <line num="24" count="552" type="cond" truecount="2" falsecount="0"/>
        <line num="25" count="184" type="stmt"/>
        <line num="28" count="92" type="stmt"/>
        <line num="30" count="9" type="stmt"/>
        <line num="31" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="32" count="0" type="stmt"/>
        <line num="36" count="9" type="stmt"/>
        <line num="38" count="3" type="stmt"/>
      </file>
      <file name="modes-table.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/modes-table/modes-table.component.ts">
        <metrics statements="23" coveredstatements="17" conditionals="10" coveredconditionals="5" methods="7" coveredmethods="6"/>
        <line num="18" count="128" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="3" type="stmt"/>
        <line num="20" count="3" type="stmt"/>
        <line num="22" count="3" type="stmt"/>
        <line num="25" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="26" count="3" type="stmt"/>
        <line num="31" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="32" count="3" type="stmt"/>
        <line num="37" count="3" type="stmt"/>
        <line num="38" count="3" type="stmt"/>
        <line num="42" count="1" type="stmt"/>
        <line num="43" count="1" type="stmt"/>
        <line num="45" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="46" count="1" type="stmt"/>
        <line num="49" count="0" type="stmt"/>
        <line num="51" count="1" type="stmt"/>
        <line num="52" count="1" type="stmt"/>
        <line num="55" count="0" type="stmt"/>
        <line num="56" count="0" type="stmt"/>
        <line num="57" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="58" count="0" type="stmt"/>
        <line num="60" count="0" type="stmt"/>
        <line num="63" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.multi-select-signals">
      <metrics statements="140" coveredstatements="130" conditionals="48" coveredconditionals="41" methods="40" coveredmethods="35"/>
      <file name="multi-select-signals.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/multi-select-signals/multi-select-signals.component.html">
        <metrics statements="34" coveredstatements="34" conditionals="10" coveredconditionals="10" methods="10" coveredmethods="9"/>
        <line num="2" count="90" type="stmt"/>
        <line num="4" count="16419" type="stmt"/>
        <line num="9" count="16419" type="stmt"/>
        <line num="10" count="16464" type="cond" truecount="2" falsecount="0"/>
        <line num="14" count="49" type="stmt"/>
        <line num="17" count="16419" type="stmt"/>
        <line num="18" count="45" type="stmt"/>
        <line num="21" count="16419" type="stmt"/>
        <line num="22" count="16419" type="stmt"/>
        <line num="23" count="16419" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="16419" type="stmt"/>
        <line num="30" count="32883" type="cond" truecount="2" falsecount="0"/>
        <line num="31" count="45" type="stmt"/>
        <line num="33" count="45" type="stmt"/>
        <line num="34" count="32838" type="stmt"/>
        <line num="35" count="32838" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="45" type="stmt"/>
        <line num="38" count="45" type="stmt"/>
        <line num="39" count="1" type="stmt"/>
        <line num="43" count="45" type="stmt"/>
        <line num="48" count="45" type="stmt"/>
        <line num="51" count="32838" type="stmt"/>
        <line num="52" count="16464" type="cond" truecount="2" falsecount="0"/>
        <line num="55" count="16419" type="stmt"/>
        <line num="59" count="390" type="stmt"/>
        <line num="61" count="45" type="stmt"/>
        <line num="62" count="26" type="stmt"/>
        <line num="63" count="54" type="stmt"/>
        <line num="64" count="2" type="stmt"/>
        <line num="66" count="45" type="stmt"/>
        <line num="67" count="45" type="stmt"/>
        <line num="68" count="45" type="stmt"/>
        <line num="69" count="32838" type="stmt"/>
        <line num="72" count="45" type="stmt"/>
      </file>
      <file name="multi-select-signals.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/multi-select-signals/multi-select-signals.component.ts">
        <metrics statements="106" coveredstatements="96" conditionals="38" coveredconditionals="31" methods="30" coveredmethods="26"/>
        <line num="23" count="170" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="45" type="stmt"/>
        <line num="25" count="45" type="stmt"/>
        <line num="26" count="45" type="stmt"/>
        <line num="27" count="45" type="stmt"/>
        <line num="29" count="45" type="stmt"/>
        <line num="30" count="45" type="stmt"/>
        <line num="31" count="45" type="stmt"/>
        <line num="32" count="45" type="stmt"/>
        <line num="33" count="45" type="stmt"/>
        <line num="34" count="45" type="stmt"/>
        <line num="35" count="45" type="stmt"/>
        <line num="36" count="45" type="stmt"/>
        <line num="37" count="45" type="stmt"/>
        <line num="39" count="45" type="stmt"/>
        <line num="40" count="45" type="stmt"/>
        <line num="41" count="45" type="stmt"/>
        <line num="42" count="45" type="stmt"/>
        <line num="44" count="45" type="stmt"/>
        <line num="46" count="45" type="stmt"/>
        <line num="47" count="45" type="stmt"/>
        <line num="48" count="45" type="stmt"/>
        <line num="51" count="8" type="stmt"/>
        <line num="52" count="8" type="stmt"/>
        <line num="53" count="8" type="stmt"/>
        <line num="57" count="16427" type="stmt"/>
        <line num="61" count="45" type="stmt"/>
        <line num="62" count="45" type="stmt"/>
        <line num="63" count="45" type="stmt"/>
        <line num="65" count="45" type="stmt"/>
        <line num="66" count="100" type="stmt"/>
        <line num="67" count="100" type="cond" truecount="2" falsecount="0"/>
        <line num="68" count="56" type="cond" truecount="2" falsecount="0"/>
        <line num="69" count="55" type="stmt"/>
        <line num="72" count="1" type="stmt"/>
        <line num="74" count="56" type="cond" truecount="4" falsecount="0"/>
        <line num="75" count="1" type="stmt"/>
        <line num="77" count="56" type="stmt"/>
        <line num="80" count="44" type="stmt"/>
        <line num="84" count="45" type="stmt"/>
        <line num="85" count="45" type="stmt"/>
        <line num="89" count="45" type="stmt"/>
        <line num="91" count="45" type="stmt"/>
        <line num="92" count="6898" type="cond" truecount="4" falsecount="0"/>
        <line num="93" count="576" type="stmt"/>
        <line num="96" count="6322" type="cond" truecount="2" falsecount="0"/>
        <line num="97" count="138" type="stmt"/>
        <line num="98" count="138" type="cond" truecount="2" falsecount="0"/>
        <line num="99" count="1" type="stmt"/>
        <line num="102" count="6322" type="stmt"/>
        <line num="104" count="45" type="stmt"/>
        <line num="105" count="45" type="stmt"/>
        <line num="111" count="118" type="stmt"/>
        <line num="113" count="118" type="cond" truecount="2" falsecount="0"/>
        <line num="114" count="744818" type="cond" truecount="2" falsecount="0"/>
        <line num="117" count="25" type="stmt"/>
        <line num="119" count="118" type="stmt"/>
        <line num="125" count="48" type="stmt"/>
        <line num="127" count="48" type="stmt"/>
        <line num="133" count="73" type="stmt"/>
        <line num="137" count="118" type="stmt"/>
        <line num="138" count="118" type="cond" truecount="1" falsecount="1"/>
        <line num="139" count="0" type="stmt"/>
        <line num="144" count="60" type="stmt"/>
        <line num="145" count="168" type="stmt"/>
        <line num="146" count="168" type="stmt"/>
        <line num="147" count="168" type="stmt"/>
        <line num="148" count="142" type="cond" truecount="1" falsecount="1"/>
        <line num="149" count="0" type="stmt"/>
        <line num="152" count="168" type="stmt"/>
        <line num="153" count="168" type="stmt"/>
        <line num="160" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="161" count="1" type="stmt"/>
        <line num="164" count="1" type="stmt"/>
        <line num="165" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="166" count="0" type="stmt"/>
        <line num="167" count="0" type="stmt"/>
        <line num="169" count="1" type="stmt"/>
        <line num="170" count="1" type="stmt"/>
        <line num="172" count="1" type="stmt"/>
        <line num="173" count="1" type="stmt"/>
        <line num="175" count="1" type="stmt"/>
        <line num="178" count="0" type="stmt"/>
        <line num="185" count="1" type="stmt"/>
        <line num="187" count="1" type="stmt"/>
        <line num="188" count="1" type="stmt"/>
        <line num="189" count="1" type="stmt"/>
        <line num="190" count="1" type="stmt"/>
        <line num="191" count="1" type="stmt"/>
        <line num="192" count="1" type="stmt"/>
        <line num="193" count="1" type="stmt"/>
        <line num="195" count="1" type="stmt"/>
        <line num="198" count="0" type="stmt"/>
        <line num="204" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="208" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="209" count="0" type="stmt"/>
        <line num="211" count="1" type="stmt"/>
        <line num="213" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="214" count="0" type="stmt"/>
        <line num="216" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="217" count="1" type="stmt"/>
        <line num="218" count="1" type="stmt"/>
        <line num="221" count="0" type="stmt"/>
        <line num="223" count="1" type="stmt"/>
        <line num="226" count="0" type="stmt"/>
        <line num="229" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.petri">
      <metrics statements="74" coveredstatements="69" conditionals="43" coveredconditionals="29" methods="16" coveredmethods="14"/>
      <file name="petri.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/petri/petri.component.html">
        <metrics statements="28" coveredstatements="27" conditionals="12" coveredconditionals="12" methods="1" coveredmethods="1"/>
        <line num="1" count="580" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="58" type="stmt"/>
        <line num="5" count="1160" type="cond" truecount="2" falsecount="0"/>
        <line num="6" count="0" type="stmt"/>
        <line num="8" count="5" type="stmt"/>
        <line num="10" count="1165" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="1160" type="cond" truecount="2" falsecount="0"/>
        <line num="13" count="1" type="stmt"/>
        <line num="14" count="309" type="stmt"/>
        <line num="15" count="1" type="stmt"/>
        <line num="16" count="308" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="2" type="stmt"/>
        <line num="18" count="2" type="stmt"/>
        <line num="19" count="2" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="22" count="309" type="stmt"/>
        <line num="23" count="8" type="stmt"/>
        <line num="24" count="456" type="stmt"/>
        <line num="25" count="8" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="31" count="1160" type="cond" truecount="2" falsecount="0"/>
        <line num="33" count="1" type="stmt"/>
        <line num="34" count="1" type="stmt"/>
        <line num="35" count="1" type="stmt"/>
        <line num="36" count="1" type="stmt"/>
        <line num="37" count="313" type="stmt"/>
        <line num="39" count="1" type="stmt"/>
        <line num="42" count="5" type="stmt"/>
      </file>
      <file name="petri.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/petri/petri.component.ts">
        <metrics statements="46" coveredstatements="42" conditionals="31" coveredconditionals="17" methods="15" coveredmethods="13"/>
        <line num="20" count="130" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="5" type="stmt"/>
        <line num="22" count="5" type="stmt"/>
        <line num="30" count="5" type="stmt"/>
        <line num="31" count="5" type="stmt"/>
        <line num="34" count="5" type="stmt"/>
        <line num="37" count="4" type="stmt"/>
        <line num="38" count="4" type="stmt"/>
        <line num="40" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="41" count="4" type="stmt"/>
        <line num="43" count="12" type="stmt"/>
        <line num="44" count="8" type="cond" truecount="2" falsecount="0"/>
        <line num="45" count="4" type="stmt"/>
        <line num="48" count="4" type="stmt"/>
        <line num="50" count="0" type="stmt"/>
        <line num="53" count="4" type="stmt"/>
        <line num="54" count="4" type="stmt"/>
        <line num="63" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="64" count="2" type="cond" truecount="4" falsecount="1"/>
        <line num="65" count="0" type="stmt"/>
        <line num="66" count="0" type="stmt"/>
        <line num="68" count="2" type="stmt"/>
        <line num="69" count="2" type="stmt"/>
        <line num="70" count="2" type="stmt"/>
        <line num="72" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="73" count="2" type="stmt"/>
        <line num="74" count="2" type="stmt"/>
        <line num="77" count="2" type="stmt"/>
        <line num="79" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="80" count="6" type="stmt"/>
        <line num="84" count="2" type="stmt"/>
        <line num="86" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="87" count="6" type="stmt"/>
        <line num="92" count="4" type="stmt"/>
        <line num="93" count="4" type="stmt"/>
        <line num="97" count="6" type="stmt"/>
        <line num="98" count="6" type="stmt"/>
        <line num="99" count="6" type="stmt"/>
        <line num="103" count="6" type="stmt"/>
        <line num="104" count="6" type="stmt"/>
        <line num="105" count="6" type="stmt"/>
        <line num="109" count="462" type="stmt"/>
        <line num="113" count="156" type="stmt"/>
        <line num="117" count="0" type="stmt"/>
        <line num="121" count="2" type="cond" truecount="2" falsecount="4"/>
        <line num="125" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.phase">
      <metrics statements="86" coveredstatements="79" conditionals="29" coveredconditionals="24" methods="17" coveredmethods="13"/>
      <file name="phase.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/phase/phase.component.html">
        <metrics statements="42" coveredstatements="42" conditionals="8" coveredconditionals="8" methods="3" coveredmethods="3"/>
        <line num="8" count="2028" type="stmt"/>
        <line num="9" count="9" type="stmt"/>
        <line num="10" count="9" type="stmt"/>
        <line num="12" count="9" type="stmt"/>
        <line num="13" count="9" type="stmt"/>
        <line num="14" count="2028" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="4" type="stmt"/>
        <line num="17" count="2028" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="5" type="stmt"/>
        <line num="22" count="9" type="stmt"/>
        <line num="23" count="2028" type="stmt"/>
        <line num="25" count="9" type="stmt"/>
        <line num="26" count="9" type="stmt"/>
        <line num="27" count="9" type="stmt"/>
        <line num="29" count="9" type="stmt"/>
        <line num="31" count="9" type="stmt"/>
        <line num="32" count="9" type="stmt"/>
        <line num="33" count="9" type="stmt"/>
        <line num="36" count="9" type="stmt"/>
        <line num="38" count="9" type="stmt"/>
        <line num="39" count="9" type="stmt"/>
        <line num="40" count="9" type="stmt"/>
        <line num="41" count="1014" type="stmt"/>
        <line num="43" count="9" type="stmt"/>
        <line num="45" count="9" type="stmt"/>
        <line num="46" count="9" type="stmt"/>
        <line num="47" count="9" type="stmt"/>
        <line num="48" count="1014" type="stmt"/>
        <line num="50" count="9" type="stmt"/>
        <line num="51" count="9" type="stmt"/>
        <line num="52" count="2028" type="cond" truecount="2" falsecount="0"/>
        <line num="53" count="8" type="stmt"/>
        <line num="54" count="570" type="stmt"/>
        <line num="56" count="9" type="stmt"/>
        <line num="57" count="444" type="stmt"/>
        <line num="58" count="5" type="stmt"/>
        <line num="59" count="888" type="stmt"/>
        <line num="60" count="5" type="stmt"/>
        <line num="68" count="9" type="stmt"/>
        <line num="70" count="2028" type="cond" truecount="2" falsecount="0"/>
        <line num="71" count="5" type="stmt"/>
        <line num="72" count="406" type="stmt"/>
      </file>
      <file name="phase.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/phase/phase.component.ts">
        <metrics statements="44" coveredstatements="37" conditionals="21" coveredconditionals="16" methods="14" coveredmethods="10"/>
        <line num="17" count="134" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="9" type="stmt"/>
        <line num="19" count="9" type="stmt"/>
        <line num="20" count="9" type="stmt"/>
        <line num="21" count="9" type="stmt"/>
        <line num="22" count="9" type="stmt"/>
        <line num="38" count="9" type="stmt"/>
        <line num="45" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="46" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="47" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="48" count="5" type="stmt"/>
        <line num="50" count="5" type="stmt"/>
        <line num="51" count="5" type="stmt"/>
        <line num="52" count="5" type="stmt"/>
        <line num="53" count="5" type="stmt"/>
        <line num="54" count="5" type="stmt"/>
        <line num="55" count="5" type="stmt"/>
        <line num="56" count="5" type="stmt"/>
        <line num="59" count="0" type="stmt"/>
        <line num="66" count="5" type="stmt"/>
        <line num="67" count="5" type="stmt"/>
        <line num="68" count="5" type="stmt"/>
        <line num="69" count="5" type="stmt"/>
        <line num="70" count="5" type="cond" truecount="4" falsecount="1"/>
        <line num="71" count="5" type="stmt"/>
        <line num="73" count="0" type="stmt"/>
        <line num="74" count="0" type="stmt"/>
        <line num="78" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="79" count="4" type="stmt"/>
        <line num="81" count="4" type="stmt"/>
        <line num="82" count="4" type="stmt"/>
        <line num="85" count="0" type="stmt"/>
        <line num="92" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="93" count="1" type="stmt"/>
        <line num="95" count="1" type="stmt"/>
        <line num="98" count="0" type="stmt"/>
        <line num="105" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="106" count="1" type="stmt"/>
        <line num="108" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="109" count="1" type="stmt"/>
        <line num="110" count="1" type="stmt"/>
        <line num="113" count="0" type="stmt"/>
        <line num="117" count="0" type="stmt"/>
        <line num="121" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.phases-graph">
      <metrics statements="340" coveredstatements="288" conditionals="124" coveredconditionals="91" methods="110" coveredmethods="89"/>
      <file name="phases-graph.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/phases-graph/phases-graph.component.html">
        <metrics statements="44" coveredstatements="43" conditionals="16" coveredconditionals="14" methods="11" coveredmethods="8"/>
        <line num="3" count="7" type="stmt"/>
        <line num="5" count="5839" type="cond" truecount="2" falsecount="0"/>
        <line num="14" count="2916" type="stmt"/>
        <line num="20" count="7" type="stmt"/>
        <line num="21" count="1875" type="stmt"/>
        <line num="23" count="7" type="stmt"/>
        <line num="24" count="2916" type="stmt"/>
        <line num="26" count="5832" type="cond" truecount="2" falsecount="0"/>
        <line num="28" count="6" type="stmt"/>
        <line num="30" count="2358" type="cond" truecount="2" falsecount="0"/>
        <line num="31" count="18" type="stmt"/>
        <line num="33" count="6" type="stmt"/>
        <line num="34" count="1161" type="stmt"/>
        <line num="37" count="7" type="stmt"/>
        <line num="39" count="5832" type="cond" truecount="2" falsecount="0"/>
        <line num="42" count="6" type="stmt"/>
        <line num="44" count="2364" type="cond" truecount="2" falsecount="0"/>
        <line num="48" count="1179" type="stmt"/>
        <line num="50" count="6" type="stmt"/>
        <line num="52" count="12" type="stmt"/>
        <line num="53" count="6" type="stmt"/>
        <line num="54" count="2358" type="cond" truecount="0" falsecount="2"/>
        <line num="55" count="1179" type="stmt"/>
        <line num="56" count="6" type="stmt"/>
        <line num="57" count="6" type="stmt"/>
        <line num="58" count="6" type="stmt"/>
        <line num="59" count="6" type="stmt"/>
        <line num="60" count="6" type="stmt"/>
        <line num="61" count="6" type="stmt"/>
        <line num="63" count="6" type="stmt"/>
        <line num="64" count="1179" type="stmt"/>
        <line num="65" count="0" type="stmt"/>
        <line num="66" count="6" type="stmt"/>
        <line num="68" count="6" type="stmt"/>
        <line num="71" count="5832" type="cond" truecount="2" falsecount="0"/>
        <line num="73" count="687" type="cond" truecount="2" falsecount="0"/>
        <line num="74" count="675" type="stmt"/>
        <line num="75" count="12" type="stmt"/>
        <line num="76" count="73" type="stmt"/>
        <line num="77" count="7905" type="stmt"/>
        <line num="78" count="73" type="stmt"/>
        <line num="80" count="12" type="stmt"/>
        <line num="83" count="5832" type="stmt"/>
        <line num="84" count="7" type="stmt"/>
      </file>
      <file name="phases-graph.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/phases-graph/phases-graph.component.ts">
        <metrics statements="296" coveredstatements="245" conditionals="108" coveredconditionals="77" methods="99" coveredmethods="81"/>
        <line num="35" count="33" type="stmt"/>
        <line num="41" count="21" type="stmt"/>
        <line num="42" count="21" type="stmt"/>
        <line num="43" count="21" type="stmt"/>
        <line num="44" count="21" type="cond" truecount="1" falsecount="1"/>
        <line num="45" count="21" type="stmt"/>
        <line num="46" count="21" type="stmt"/>
        <line num="47" count="21" type="stmt"/>
        <line num="48" count="21" type="stmt"/>
        <line num="50" count="21" type="stmt"/>
        <line num="54" count="12" type="stmt"/>
        <line num="55" count="12" type="stmt"/>
        <line num="56" count="12" type="stmt"/>
        <line num="57" count="12" type="cond" truecount="1" falsecount="1"/>
        <line num="58" count="12" type="stmt"/>
        <line num="59" count="12" type="stmt"/>
        <line num="60" count="12" type="stmt"/>
        <line num="61" count="12" type="stmt"/>
        <line num="63" count="12" type="stmt"/>
        <line num="74" count="132" type="cond" truecount="2" falsecount="0"/>
        <line num="75" count="7" type="stmt"/>
        <line num="76" count="7" type="stmt"/>
        <line num="77" count="7" type="stmt"/>
        <line num="79" count="7" type="stmt"/>
        <line num="83" count="7" type="stmt"/>
        <line num="85" count="7" type="stmt"/>
        <line num="86" count="7" type="stmt"/>
        <line num="87" count="7" type="stmt"/>
        <line num="88" count="7" type="stmt"/>
        <line num="89" count="7" type="stmt"/>
        <line num="90" count="7" type="stmt"/>
        <line num="91" count="7" type="stmt"/>
        <line num="92" count="7" type="stmt"/>
        <line num="94" count="7" type="stmt"/>
        <line num="95" count="42" type="stmt"/>
        <line num="97" count="7" type="stmt"/>
        <line num="99" count="7" type="stmt"/>
        <line num="100" count="7" type="stmt"/>
        <line num="101" count="7" type="stmt"/>
        <line num="102" count="7" type="stmt"/>
        <line num="103" count="7" type="stmt"/>
        <line num="104" count="7" type="stmt"/>
        <line num="106" count="7" type="stmt"/>
        <line num="107" count="7" type="stmt"/>
        <line num="108" count="7" type="stmt"/>
        <line num="110" count="7" type="stmt"/>
        <line num="112" count="7" type="stmt"/>
        <line num="113" count="1" type="stmt"/>
        <line num="114" count="1" type="stmt"/>
        <line num="117" count="7" type="stmt"/>
        <line num="119" count="23" type="stmt"/>
        <line num="120" count="23" type="cond" truecount="2" falsecount="0"/>
        <line num="121" count="16" type="cond" truecount="1" falsecount="1"/>
        <line num="122" count="16" type="stmt"/>
        <line num="125" count="0" type="stmt"/>
        <line num="130" count="7" type="stmt"/>
        <line num="132" count="7" type="stmt"/>
        <line num="133" count="7" type="stmt"/>
        <line num="134" count="54" type="stmt"/>
        <line num="136" count="54" type="cond" truecount="2" falsecount="0"/>
        <line num="137" count="27" type="stmt"/>
        <line num="138" count="27" type="stmt"/>
        <line num="139" count="27" type="stmt"/>
        <line num="140" count="33" type="stmt"/>
        <line num="151" count="3" type="stmt"/>
        <line num="152" count="3" type="stmt"/>
        <line num="153" count="3" type="stmt"/>
        <line num="154" count="6" type="stmt"/>
        <line num="155" count="3" type="stmt"/>
        <line num="157" count="3" type="stmt"/>
        <line num="159" count="3" type="stmt"/>
        <line num="160" count="3" type="stmt"/>
        <line num="162" count="3" type="stmt"/>
        <line num="168" count="3" type="stmt"/>
        <line num="169" count="3" type="cond" truecount="4" falsecount="0"/>
        <line num="170" count="3" type="stmt"/>
        <line num="171" count="6" type="stmt"/>
        <line num="172" count="6" type="stmt"/>
        <line num="174" count="6" type="stmt"/>
        <line num="175" count="6" type="stmt"/>
        <line num="179" count="3" type="stmt"/>
        <line num="180" count="12" type="cond" truecount="1" falsecount="1"/>
        <line num="181" count="12" type="cond" truecount="1" falsecount="1"/>
        <line num="182" count="0" type="stmt"/>
        <line num="183" count="0" type="stmt"/>
        <line num="185" count="12" type="stmt"/>
        <line num="187" count="12" type="stmt"/>
        <line num="188" count="12" type="cond" truecount="1" falsecount="1"/>
        <line num="189" count="0" type="stmt"/>
        <line num="190" count="0" type="stmt"/>
        <line num="191" count="0" type="stmt"/>
        <line num="192" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="193" count="0" type="stmt"/>
        <line num="194" count="0" type="stmt"/>
        <line num="197" count="0" type="stmt"/>
        <line num="200" count="0" type="stmt"/>
        <line num="201" count="0" type="stmt"/>
        <line num="204" count="12" type="stmt"/>
        <line num="205" count="12" type="stmt"/>
        <line num="207" count="12" type="cond" truecount="1" falsecount="1"/>
        <line num="208" count="12" type="cond" truecount="2" falsecount="0"/>
        <line num="209" count="12" type="stmt"/>
        <line num="210" count="12" type="stmt"/>
        <line num="213" count="12" type="stmt"/>
        <line num="215" count="18" type="cond" truecount="2" falsecount="0"/>
        <line num="219" count="12" type="stmt"/>
        <line num="222" count="12" type="stmt"/>
        <line num="223" count="12" type="stmt"/>
        <line num="224" count="3" type="stmt"/>
        <line num="225" count="18" type="cond" truecount="2" falsecount="0"/>
        <line num="229" count="3" type="stmt"/>
        <line num="230" count="3" type="stmt"/>
        <line num="231" count="12" type="stmt"/>
        <line num="232" count="12" type="stmt"/>
        <line num="233" count="12" type="cond" truecount="1" falsecount="1"/>
        <line num="234" count="12" type="stmt"/>
        <line num="235" count="12" type="cond" truecount="1" falsecount="1"/>
        <line num="236" count="0" type="stmt"/>
        <line num="240" count="3" type="stmt"/>
        <line num="241" count="3" type="stmt"/>
        <line num="243" count="3" type="cond" truecount="5" falsecount="1"/>
        <line num="244" count="12" type="stmt"/>
        <line num="245" count="12" type="stmt"/>
        <line num="246" count="3" type="stmt"/>
        <line num="249" count="0" type="stmt"/>
        <line num="253" count="0" type="stmt"/>
        <line num="259" count="4" type="stmt"/>
        <line num="260" count="4" type="stmt"/>
        <line num="261" count="4" type="stmt"/>
        <line num="265" count="12" type="stmt"/>
        <line num="266" count="12" type="stmt"/>
        <line num="267" count="12" type="stmt"/>
        <line num="268" count="12" type="stmt"/>
        <line num="269" count="73" type="cond" truecount="3" falsecount="1"/>
        <line num="271" count="12" type="stmt"/>
        <line num="275" count="1" type="stmt"/>
        <line num="279" count="2" type="stmt"/>
        <line num="283" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="284" count="0" type="stmt"/>
        <line num="286" count="1" type="stmt"/>
        <line num="287" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="288" count="0" type="stmt"/>
        <line num="290" count="1" type="stmt"/>
        <line num="294" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="295" count="0" type="stmt"/>
        <line num="298" count="4" type="stmt"/>
        <line num="299" count="4" type="stmt"/>
        <line num="300" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="301" count="3" type="stmt"/>
        <line num="303" count="4" type="stmt"/>
        <line num="305" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="306" count="4" type="stmt"/>
        <line num="307" count="5376" type="stmt"/>
        <line num="310" count="4" type="stmt"/>
        <line num="314" count="21" type="cond" truecount="2" falsecount="0"/>
        <line num="318" count="21" type="cond" truecount="2" falsecount="0"/>
        <line num="322" count="9" type="stmt"/>
        <line num="324" count="9" type="stmt"/>
        <line num="326" count="9" type="cond" truecount="1" falsecount="1"/>
        <line num="327" count="0" type="stmt"/>
        <line num="330" count="9" type="stmt"/>
        <line num="331" count="9" type="stmt"/>
        <line num="332" count="9" type="stmt"/>
        <line num="333" count="13" type="stmt"/>
        <line num="334" count="13" type="stmt"/>
        <line num="335" count="13" type="stmt"/>
        <line num="336" count="13" type="stmt"/>
        <line num="337" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="338" count="5" type="cond" truecount="1" falsecount="1"/>
        <line num="339" count="5" type="stmt"/>
        <line num="342" count="1" type="stmt"/>
        <line num="343" count="1" type="stmt"/>
        <line num="345" count="1" type="stmt"/>
        <line num="346" count="1" type="stmt"/>
        <line num="347" count="1" type="stmt"/>
        <line num="350" count="0" type="stmt"/>
        <line num="351" count="0" type="stmt"/>
        <line num="358" count="1" type="stmt"/>
        <line num="359" count="1" type="stmt"/>
        <line num="361" count="1" type="stmt"/>
        <line num="362" count="1" type="stmt"/>
        <line num="363" count="1" type="stmt"/>
        <line num="366" count="0" type="stmt"/>
        <line num="367" count="0" type="stmt"/>
        <line num="374" count="1" type="stmt"/>
        <line num="375" count="1" type="stmt"/>
        <line num="377" count="1" type="stmt"/>
        <line num="378" count="1" type="stmt"/>
        <line num="379" count="1" type="stmt"/>
        <line num="382" count="0" type="stmt"/>
        <line num="383" count="0" type="stmt"/>
        <line num="390" count="1" type="stmt"/>
        <line num="391" count="1" type="stmt"/>
        <line num="393" count="1" type="stmt"/>
        <line num="394" count="1" type="stmt"/>
        <line num="395" count="1" type="stmt"/>
        <line num="398" count="0" type="stmt"/>
        <line num="399" count="0" type="stmt"/>
        <line num="406" count="5" type="stmt"/>
        <line num="408" count="1" type="stmt"/>
        <line num="409" count="1" type="stmt"/>
        <line num="411" count="1" type="stmt"/>
        <line num="412" count="1" type="stmt"/>
        <line num="413" count="1" type="stmt"/>
        <line num="416" count="0" type="stmt"/>
        <line num="417" count="0" type="stmt"/>
        <line num="424" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="425" count="4" type="stmt"/>
        <line num="426" count="4" type="stmt"/>
        <line num="427" count="8" type="cond" truecount="1" falsecount="1"/>
        <line num="428" count="4" type="stmt"/>
        <line num="432" count="1" type="stmt"/>
        <line num="433" count="1" type="stmt"/>
        <line num="435" count="1" type="stmt"/>
        <line num="436" count="1" type="stmt"/>
        <line num="437" count="1" type="stmt"/>
        <line num="440" count="0" type="stmt"/>
        <line num="441" count="0" type="stmt"/>
        <line num="453" count="0" type="stmt"/>
        <line num="454" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="455" count="0" type="stmt"/>
        <line num="457" count="0" type="stmt"/>
        <line num="459" count="0" type="stmt"/>
        <line num="460" count="0" type="stmt"/>
        <line num="461" count="0" type="stmt"/>
        <line num="464" count="0" type="stmt"/>
        <line num="465" count="0" type="stmt"/>
        <line num="477" count="1" type="stmt"/>
        <line num="478" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="479" count="0" type="stmt"/>
        <line num="481" count="1" type="stmt"/>
        <line num="483" count="1" type="stmt"/>
        <line num="484" count="1" type="stmt"/>
        <line num="485" count="1" type="stmt"/>
        <line num="488" count="0" type="stmt"/>
        <line num="489" count="0" type="stmt"/>
        <line num="497" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="498" count="4" type="stmt"/>
        <line num="499" count="8" type="cond" truecount="1" falsecount="1"/>
        <line num="500" count="4" type="stmt"/>
        <line num="505" count="1" type="stmt"/>
        <line num="506" count="1" type="stmt"/>
        <line num="508" count="1" type="stmt"/>
        <line num="509" count="1" type="stmt"/>
        <line num="510" count="1" type="stmt"/>
        <line num="513" count="0" type="stmt"/>
        <line num="514" count="0" type="stmt"/>
        <line num="523" count="1" type="stmt"/>
        <line num="524" count="1" type="stmt"/>
        <line num="526" count="1" type="stmt"/>
        <line num="527" count="1" type="stmt"/>
        <line num="528" count="1" type="stmt"/>
        <line num="531" count="0" type="stmt"/>
        <line num="532" count="0" type="stmt"/>
        <line num="541" count="9" type="stmt"/>
        <line num="545" count="52" type="stmt"/>
        <line num="546" count="9" type="cond" truecount="1" falsecount="1"/>
        <line num="547" count="9" type="stmt"/>
        <line num="549" count="9" type="stmt"/>
        <line num="550" count="9" type="cond" truecount="1" falsecount="1"/>
        <line num="551" count="6048" type="cond" truecount="2" falsecount="0"/>
        <line num="554" count="9" type="stmt"/>
        <line num="555" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="556" count="8" type="stmt"/>
        <line num="557" count="8" type="stmt"/>
        <line num="559" count="9" type="cond" truecount="1" falsecount="1"/>
        <line num="560" count="9" type="stmt"/>
        <line num="561" count="9" type="stmt"/>
        <line num="564" count="9" type="stmt"/>
        <line num="565" count="9" type="stmt"/>
        <line num="568" count="9" type="stmt"/>
        <line num="569" count="9" type="stmt"/>
        <line num="573" count="24" type="cond" truecount="2" falsecount="0"/>
        <line num="577" count="0" type="stmt"/>
        <line num="581" count="0" type="stmt"/>
        <line num="585" count="2" type="stmt"/>
        <line num="586" count="2" type="cond" truecount="4" falsecount="0"/>
        <line num="587" count="2" type="stmt"/>
        <line num="589" count="4" type="stmt"/>
        <line num="590" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="592" count="4" type="stmt"/>
        <line num="593" count="4" type="stmt"/>
        <line num="596" count="2" type="stmt"/>
        <line num="597" count="2" type="stmt"/>
        <line num="600" count="0" type="stmt"/>
        <line num="606" count="1" type="stmt"/>
        <line num="607" count="1" type="cond" truecount="4" falsecount="0"/>
        <line num="608" count="1" type="stmt"/>
        <line num="609" count="2" type="stmt"/>
        <line num="610" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="612" count="2" type="stmt"/>
        <line num="613" count="2" type="stmt"/>
        <line num="616" count="1" type="stmt"/>
        <line num="617" count="1" type="stmt"/>
        <line num="620" count="0" type="stmt"/>
        <line num="623" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.pid">
      <metrics statements="136" coveredstatements="111" conditionals="75" coveredconditionals="51" methods="23" coveredmethods="20"/>
      <file name="pid.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/pid/pid.component.html">
        <metrics statements="30" coveredstatements="26" conditionals="18" coveredconditionals="17" methods="2" coveredmethods="2"/>
        <line num="1" count="1262" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="54" type="stmt"/>
        <line num="5" count="2524" type="cond" truecount="2" falsecount="0"/>
        <line num="6" count="0" type="stmt"/>
        <line num="8" count="2524" type="stmt"/>
        <line num="10" count="2529" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="5" type="stmt"/>
        <line num="12" count="2524" type="cond" truecount="2" falsecount="0"/>
        <line num="13" count="4" type="stmt"/>
        <line num="15" count="2524" type="cond" truecount="2" falsecount="0"/>
        <line num="16" count="10" type="stmt"/>
        <line num="17" count="1424" type="stmt"/>
        <line num="18" count="10" type="stmt"/>
        <line num="20" count="5" type="stmt"/>
        <line num="22" count="5" type="stmt"/>
        <line num="23" count="2524" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="4" type="stmt"/>
        <line num="26" count="2524" type="cond" truecount="2" falsecount="0"/>
        <line num="27" count="9" type="stmt"/>
        <line num="28" count="1320" type="stmt"/>
        <line num="29" count="9" type="stmt"/>
        <line num="31" count="5" type="stmt"/>
        <line num="33" count="5" type="stmt"/>
        <line num="34" count="2524" type="cond" truecount="2" falsecount="0"/>
        <line num="35" count="4" type="stmt"/>
        <line num="37" count="2524" type="cond" truecount="1" falsecount="1"/>
        <line num="38" count="0" type="stmt"/>
        <line num="39" count="0" type="stmt"/>
        <line num="40" count="0" type="stmt"/>
        <line num="43" count="5" type="stmt"/>
      </file>
      <file name="pid.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/pid/pid.component.ts">
        <metrics statements="106" coveredstatements="85" conditionals="57" coveredconditionals="34" methods="21" coveredmethods="18"/>
        <line num="27" count="130" type="cond" truecount="2" falsecount="0"/>
        <line num="28" count="5" type="stmt"/>
        <line num="29" count="5" type="stmt"/>
        <line num="41" count="5" type="stmt"/>
        <line num="44" count="5" type="stmt"/>
        <line num="47" count="5" type="stmt"/>
        <line num="49" count="5" type="stmt"/>
        <line num="50" count="5" type="stmt"/>
        <line num="54" count="20" type="stmt"/>
        <line num="58" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="59" count="4" type="stmt"/>
        <line num="62" count="7" type="cond" truecount="4" falsecount="0"/>
        <line num="63" count="1" type="stmt"/>
        <line num="64" count="1" type="stmt"/>
        <line num="66" count="10" type="stmt"/>
        <line num="67" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="68" count="2" type="stmt"/>
        <line num="71" count="4" type="stmt"/>
        <line num="73" count="0" type="stmt"/>
        <line num="76" count="4" type="stmt"/>
        <line num="77" count="4" type="stmt"/>
        <line num="78" count="4" type="stmt"/>
        <line num="84" count="0" type="stmt"/>
        <line num="85" count="0" type="stmt"/>
        <line num="91" count="2" type="cond" truecount="4" falsecount="1"/>
        <line num="92" count="0" type="stmt"/>
        <line num="93" count="0" type="stmt"/>
        <line num="95" count="2" type="stmt"/>
        <line num="96" count="2" type="stmt"/>
        <line num="97" count="2" type="stmt"/>
        <line num="99" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="100" count="2" type="stmt"/>
        <line num="101" count="2" type="stmt"/>
        <line num="103" count="2" type="stmt"/>
        <line num="104" count="2" type="stmt"/>
        <line num="108" count="2" type="stmt"/>
        <line num="110" count="10" type="cond" truecount="1" falsecount="1"/>
        <line num="111" count="0" type="stmt"/>
        <line num="113" count="10" type="cond" truecount="2" falsecount="2"/>
        <line num="115" count="10" type="stmt"/>
        <line num="116" count="10" type="stmt"/>
        <line num="117" count="10" type="stmt"/>
        <line num="118" count="10" type="cond" truecount="3" falsecount="1"/>
        <line num="119" count="10" type="stmt"/>
        <line num="121" count="10" type="stmt"/>
        <line num="122" count="10" type="stmt"/>
        <line num="125" count="10" type="stmt"/>
        <line num="128" count="0" type="stmt"/>
        <line num="129" count="0" type="stmt"/>
        <line num="131" count="10" type="cond" truecount="4" falsecount="0"/>
        <line num="132" count="9" type="stmt"/>
        <line num="134" count="9" type="stmt"/>
        <line num="135" count="9" type="stmt"/>
        <line num="140" count="1" type="stmt"/>
        <line num="141" count="1" type="stmt"/>
        <line num="143" count="10" type="stmt"/>
        <line num="145" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="147" count="0" type="stmt"/>
        <line num="148" count="0" type="stmt"/>
        <line num="149" count="0" type="stmt"/>
        <line num="150" count="0" type="stmt"/>
        <line num="152" count="0" type="stmt"/>
        <line num="153" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="154" count="0" type="stmt"/>
        <line num="155" count="0" type="stmt"/>
        <line num="156" count="0" type="stmt"/>
        <line num="159" count="0" type="stmt"/>
        <line num="160" count="0" type="stmt"/>
        <line num="168" count="2" type="stmt"/>
        <line num="169" count="2" type="stmt"/>
        <line num="170" count="2" type="stmt"/>
        <line num="171" count="2" type="stmt"/>
        <line num="172" count="8" type="stmt"/>
        <line num="173" count="8" type="stmt"/>
        <line num="174" count="8" type="stmt"/>
        <line num="176" count="2" type="stmt"/>
        <line num="177" count="18" type="stmt"/>
        <line num="178" count="18" type="stmt"/>
        <line num="179" count="18" type="stmt"/>
        <line num="182" count="2" type="stmt"/>
        <line num="183" count="2" type="stmt"/>
        <line num="184" count="2" type="stmt"/>
        <line num="185" count="56" type="cond" truecount="2" falsecount="0"/>
        <line num="186" count="26" type="stmt"/>
        <line num="187" count="26" type="stmt"/>
        <line num="188" count="26" type="stmt"/>
        <line num="193" count="2" type="stmt"/>
        <line num="194" count="26" type="stmt"/>
        <line num="195" count="26" type="stmt"/>
        <line num="199" count="4" type="stmt"/>
        <line num="200" count="4" type="stmt"/>
        <line num="201" count="4" type="stmt"/>
        <line num="202" count="104" type="cond" truecount="1" falsecount="1"/>
        <line num="203" count="104" type="cond" truecount="2" falsecount="0"/>
        <line num="204" count="52" type="stmt"/>
        <line num="206" count="104" type="cond" truecount="2" falsecount="0"/>
        <line num="207" count="52" type="stmt"/>
        <line num="211" count="4" type="stmt"/>
        <line num="213" count="2" type="stmt"/>
        <line num="217" count="10" type="stmt"/>
        <line num="218" count="10" type="stmt"/>
        <line num="219" count="10" type="stmt"/>
        <line num="223" count="2" type="cond" truecount="2" falsecount="4"/>
        <line num="230" count="0" type="stmt"/>
        <line num="234" count="3" type="stmt"/>
        <line num="235" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.pid-designer">
      <metrics statements="31" coveredstatements="30" conditionals="10" coveredconditionals="8" methods="5" coveredmethods="5"/>
      <file name="pid-designer.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/pid-designer/pid-designer.component.html">
        <metrics statements="9" coveredstatements="9" conditionals="4" coveredconditionals="3" methods="2" coveredmethods="2"/>
        <line num="3" count="142" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="2" type="stmt"/>
        <line num="8" count="2" type="stmt"/>
        <line num="9" count="140" type="cond" truecount="1" falsecount="1"/>
        <line num="10" count="141" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="13" count="2" type="stmt"/>
        <line num="14" count="2" type="stmt"/>
        <line num="16" count="2" type="stmt"/>
      </file>
      <file name="pid-designer.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/pid-designer/pid-designer.component.ts">
        <metrics statements="22" coveredstatements="21" conditionals="6" coveredconditionals="5" methods="3" coveredmethods="3"/>
        <line num="14" count="127" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="2" type="stmt"/>
        <line num="19" count="2" type="stmt"/>
        <line num="21" count="2" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="61" count="1" type="stmt"/>
        <line num="63" count="1" type="stmt"/>
        <line num="68" count="3" type="stmt"/>
        <line num="69" count="3" type="stmt"/>
        <line num="70" count="3" type="stmt"/>
        <line num="73" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="74" count="1" type="stmt"/>
        <line num="76" count="0" type="stmt"/>
        <line num="78" count="1" type="stmt"/>
        <line num="81" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="82" count="2" type="stmt"/>
        <line num="83" count="2" type="stmt"/>
        <line num="84" count="2" type="stmt"/>
        <line num="86" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.profile">
      <metrics statements="60" coveredstatements="58" conditionals="8" coveredconditionals="7" methods="8" coveredmethods="6"/>
      <file name="profile.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/profile/profile.component.html">
        <metrics statements="33" coveredstatements="33" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="12" count="4" type="stmt"/>
        <line num="13" count="380" type="stmt"/>
        <line num="15" count="4" type="stmt"/>
        <line num="16" count="4" type="stmt"/>
        <line num="17" count="4" type="stmt"/>
        <line num="19" count="4" type="stmt"/>
        <line num="21" count="4" type="stmt"/>
        <line num="22" count="4" type="stmt"/>
        <line num="23" count="4" type="stmt"/>
        <line num="25" count="4" type="stmt"/>
        <line num="27" count="4" type="stmt"/>
        <line num="28" count="4" type="stmt"/>
        <line num="29" count="380" type="stmt"/>
        <line num="30" count="4" type="stmt"/>
        <line num="31" count="4" type="stmt"/>
        <line num="34" count="4" type="stmt"/>
        <line num="36" count="4" type="stmt"/>
        <line num="37" count="4" type="stmt"/>
        <line num="38" count="4" type="stmt"/>
        <line num="39" count="4" type="stmt"/>
        <line num="40" count="4" type="stmt"/>
        <line num="43" count="4" type="stmt"/>
        <line num="44" count="380" type="cond" truecount="2" falsecount="0"/>
        <line num="47" count="2" type="stmt"/>
        <line num="48" count="2" type="stmt"/>
        <line num="49" count="2" type="stmt"/>
        <line num="51" count="2" type="stmt"/>
        <line num="52" count="2" type="stmt"/>
        <line num="54" count="2" type="stmt"/>
        <line num="56" count="4" type="stmt"/>
        <line num="57" count="380" type="stmt"/>
        <line num="58" count="4" type="stmt"/>
        <line num="64" count="4" type="stmt"/>
      </file>
      <file name="profile.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/profile/profile.component.ts">
        <metrics statements="27" coveredstatements="25" conditionals="6" coveredconditionals="5" methods="7" coveredmethods="5"/>
        <line num="17" count="129" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="4" type="stmt"/>
        <line num="19" count="4" type="stmt"/>
        <line num="20" count="4" type="stmt"/>
        <line num="23" count="4" type="stmt"/>
        <line num="24" count="4" type="stmt"/>
        <line num="27" count="4" type="stmt"/>
        <line num="37" count="3" type="stmt"/>
        <line num="38" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="39" count="2" type="stmt"/>
        <line num="42" count="3" type="stmt"/>
        <line num="44" count="3" type="stmt"/>
        <line num="53" count="3" type="stmt"/>
        <line num="55" count="2" type="stmt"/>
        <line num="56" count="2" type="stmt"/>
        <line num="57" count="2" type="stmt"/>
        <line num="58" count="2" type="stmt"/>
        <line num="59" count="2" type="stmt"/>
        <line num="60" count="2" type="stmt"/>
        <line num="66" count="3" type="stmt"/>
        <line num="67" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="68" count="0" type="stmt"/>
        <line num="71" count="3" type="stmt"/>
        <line num="77" count="2" type="stmt"/>
        <line num="80" count="2" type="stmt"/>
        <line num="83" count="0" type="stmt"/>
        <line num="87" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.refresh-rate-selector">
      <metrics statements="24" coveredstatements="24" conditionals="8" coveredconditionals="8" methods="5" coveredmethods="5"/>
      <file name="refresh-rate-selector.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/refresh-rate-selector/refresh-rate-selector.component.html">
        <metrics statements="15" coveredstatements="15" conditionals="6" coveredconditionals="6" methods="1" coveredmethods="1"/>
        <line num="1" count="47" type="stmt"/>
        <line num="2" count="29446" type="cond" truecount="2" falsecount="0"/>
        <line num="3" count="1" type="stmt"/>
        <line num="4" count="1" type="stmt"/>
        <line num="6" count="1" type="stmt"/>
        <line num="8" count="29446" type="cond" truecount="2" falsecount="0"/>
        <line num="9" count="47" type="stmt"/>
        <line num="10" count="47" type="stmt"/>
        <line num="12" count="47" type="stmt"/>
        <line num="14" count="94" type="stmt"/>
        <line num="15" count="29446" type="stmt"/>
        <line num="16" count="14770" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="14723" type="stmt"/>
        <line num="21" count="47" type="stmt"/>
        <line num="22" count="47" type="stmt"/>
      </file>
      <file name="refresh-rate-selector.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/refresh-rate-selector/refresh-rate-selector.component.ts">
        <metrics statements="9" coveredstatements="9" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="4"/>
        <line num="16" count="172" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="47" type="stmt"/>
        <line num="19" count="47" type="stmt"/>
        <line num="25" count="14724" type="stmt"/>
        <line num="29" count="48" type="stmt"/>
        <line num="30" count="48" type="stmt"/>
        <line num="34" count="47" type="stmt"/>
        <line num="43" count="47" type="stmt"/>
        <line num="44" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.register">
      <metrics statements="82" coveredstatements="79" conditionals="20" coveredconditionals="19" methods="10" coveredmethods="9"/>
      <file name="register.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/register/register.component.html">
        <metrics statements="56" coveredstatements="56" conditionals="12" coveredconditionals="12" methods="1" coveredmethods="1"/>
        <line num="6" count="1" type="stmt"/>
        <line num="7" count="288" type="stmt"/>
        <line num="9" count="1" type="stmt"/>
        <line num="10" count="1" type="stmt"/>
        <line num="11" count="288" type="stmt"/>
        <line num="13" count="1" type="stmt"/>
        <line num="14" count="1" type="stmt"/>
        <line num="15" count="1" type="stmt"/>
        <line num="16" count="1" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="34" count="1" type="stmt"/>
        <line num="35" count="1" type="stmt"/>
        <line num="38" count="1" type="stmt"/>
        <line num="41" count="1" type="stmt"/>
        <line num="42" count="1" type="stmt"/>
        <line num="43" count="1" type="stmt"/>
        <line num="44" count="288" type="cond" truecount="2" falsecount="0"/>
        <line num="46" count="1" type="stmt"/>
        <line num="47" count="68" type="cond" truecount="2" falsecount="0"/>
        <line num="48" count="1" type="stmt"/>
        <line num="49" count="1" type="stmt"/>
        <line num="50" count="1" type="stmt"/>
        <line num="51" count="1" type="stmt"/>
        <line num="52" count="68" type="cond" truecount="2" falsecount="0"/>
        <line num="53" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="55" count="1" type="stmt"/>
        <line num="56" count="1" type="stmt"/>
        <line num="57" count="68" type="cond" truecount="2" falsecount="0"/>
        <line num="58" count="1" type="stmt"/>
        <line num="59" count="1" type="stmt"/>
        <line num="60" count="1" type="stmt"/>
        <line num="61" count="1" type="stmt"/>
        <line num="62" count="68" type="cond" truecount="2" falsecount="0"/>
        <line num="63" count="1" type="stmt"/>
        <line num="64" count="1" type="stmt"/>
        <line num="65" count="1" type="stmt"/>
        <line num="66" count="1" type="stmt"/>
        <line num="67" count="68" type="cond" truecount="2" falsecount="0"/>
        <line num="68" count="1" type="stmt"/>
        <line num="70" count="1" type="stmt"/>
        <line num="72" count="1" type="stmt"/>
        <line num="73" count="1" type="stmt"/>
        <line num="76" count="1" type="stmt"/>
        <line num="78" count="288" type="stmt"/>
        <line num="86" count="1" type="stmt"/>
      </file>
      <file name="register.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/register/register.component.ts">
        <metrics statements="26" coveredstatements="23" conditionals="8" coveredconditionals="7" methods="9" coveredmethods="8"/>
        <line num="17" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="1" type="stmt"/>
        <line num="19" count="1" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="35" count="1" type="stmt"/>
        <line num="43" count="1" type="stmt"/>
        <line num="44" count="28" type="stmt"/>
        <line num="49" count="798" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="55" count="1" type="stmt"/>
        <line num="56" count="1" type="stmt"/>
        <line num="58" count="1" type="cond" truecount="5" falsecount="1"/>
        <line num="59" count="0" type="stmt"/>
        <line num="60" count="0" type="stmt"/>
        <line num="63" count="1" type="stmt"/>
        <line num="66" count="1" type="stmt"/>
        <line num="67" count="1" type="stmt"/>
        <line num="68" count="1" type="stmt"/>
        <line num="74" count="0" type="stmt"/>
        <line num="81" count="28" type="stmt"/>
        <line num="83" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signal">
      <metrics statements="17" coveredstatements="16" conditionals="4" coveredconditionals="4" methods="4" coveredmethods="3"/>
      <file name="signal.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal/signal.component.html">
        <metrics statements="9" coveredstatements="9" conditionals="2" coveredconditionals="2" methods="0" coveredmethods="0"/>
        <line num="1" count="1481" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="2962" type="stmt"/>
        <line num="4" count="2962" type="stmt"/>
        <line num="5" count="2902" type="stmt"/>
        <line num="6" count="7" type="stmt"/>
        <line num="7" count="2902" type="stmt"/>
        <line num="8" count="2902" type="stmt"/>
        <line num="9" count="7" type="stmt"/>
        <line num="10" count="7" type="stmt"/>
      </file>
      <file name="signal.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal/signal.component.ts">
        <metrics statements="8" coveredstatements="7" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="3"/>
        <line num="24" count="132" type="cond" truecount="2" falsecount="0"/>
        <line num="25" count="7" type="stmt"/>
        <line num="26" count="7" type="stmt"/>
        <line num="33" count="7" type="stmt"/>
        <line num="34" count="7" type="stmt"/>
        <line num="35" count="7" type="stmt"/>
        <line num="38" count="0" type="stmt"/>
        <line num="42" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signal-card">
      <metrics statements="120" coveredstatements="108" conditionals="56" coveredconditionals="47" methods="20" coveredmethods="15"/>
      <file name="signal-card.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-card/signal-card.component.html">
        <metrics statements="70" coveredstatements="67" conditionals="38" coveredconditionals="34" methods="1" coveredmethods="0"/>
        <line num="1" count="3069" type="cond" truecount="2" falsecount="0"/>
        <line num="8" count="28" type="stmt"/>
        <line num="10" count="28" type="stmt"/>
        <line num="12" count="4894" type="stmt"/>
        <line num="13" count="4866" type="cond" truecount="2" falsecount="0"/>
        <line num="14" count="4741" type="stmt"/>
        <line num="17" count="28" type="stmt"/>
        <line num="22" count="28" type="stmt"/>
        <line num="23" count="4894" type="stmt"/>
        <line num="25" count="28" type="stmt"/>
        <line num="28" count="28" type="stmt"/>
        <line num="29" count="4894" type="stmt"/>
        <line num="31" count="28" type="stmt"/>
        <line num="34" count="28" type="stmt"/>
        <line num="35" count="4894" type="cond" truecount="2" falsecount="0"/>
        <line num="38" count="28" type="stmt"/>
        <line num="39" count="4866" type="cond" truecount="2" falsecount="0"/>
        <line num="41" count="2954" type="stmt"/>
        <line num="43" count="22" type="stmt"/>
        <line num="44" count="2954" type="cond" truecount="1" falsecount="1"/>
        <line num="45" count="22" type="stmt"/>
        <line num="46" count="2954" type="cond" truecount="2" falsecount="0"/>
        <line num="47" count="785" type="stmt"/>
        <line num="49" count="2954" type="cond" truecount="2" falsecount="0"/>
        <line num="50" count="2191" type="cond" truecount="2" falsecount="0"/>
        <line num="51" count="95" type="stmt"/>
        <line num="52" count="21" type="stmt"/>
        <line num="54" count="22" type="stmt"/>
        <line num="56" count="2954" type="cond" truecount="2" falsecount="0"/>
        <line num="57" count="0" type="stmt"/>
        <line num="60" count="22" type="stmt"/>
        <line num="61" count="2954" type="cond" truecount="2" falsecount="0"/>
        <line num="63" count="164" type="stmt"/>
        <line num="65" count="3" type="stmt"/>
        <line num="67" count="164" type="stmt"/>
        <line num="68" count="3" type="stmt"/>
        <line num="69" count="328" type="cond" truecount="1" falsecount="1"/>
        <line num="70" count="0" type="stmt"/>
        <line num="72" count="328" type="cond" truecount="1" falsecount="1"/>
        <line num="73" count="331" type="cond" truecount="1" falsecount="1"/>
        <line num="74" count="0" type="stmt"/>
        <line num="75" count="3" type="stmt"/>
        <line num="78" count="3" type="stmt"/>
        <line num="80" count="2954" type="cond" truecount="2" falsecount="0"/>
        <line num="83" count="22" type="stmt"/>
        <line num="84" count="2976" type="stmt"/>
        <line num="86" count="22" type="stmt"/>
        <line num="88" count="2954" type="cond" truecount="2" falsecount="0"/>
        <line num="91" count="22" type="stmt"/>
        <line num="92" count="22" type="stmt"/>
        <line num="93" count="2954" type="cond" truecount="2" falsecount="0"/>
        <line num="94" count="1456" type="stmt"/>
        <line num="96" count="22" type="stmt"/>
        <line num="97" count="43" type="stmt"/>
        <line num="101" count="22" type="stmt"/>
        <line num="103" count="22" type="stmt"/>
        <line num="105" count="4866" type="cond" truecount="2" falsecount="0"/>
        <line num="109" count="28" type="stmt"/>
        <line num="110" count="3040" type="stmt"/>
        <line num="112" count="28" type="stmt"/>
        <line num="115" count="28" type="stmt"/>
        <line num="116" count="3040" type="stmt"/>
        <line num="119" count="28" type="stmt"/>
        <line num="121" count="4894" type="stmt"/>
        <line num="122" count="28" type="stmt"/>
        <line num="123" count="4866" type="cond" truecount="2" falsecount="0"/>
        <line num="124" count="27" type="stmt"/>
        <line num="125" count="2357" type="cond" truecount="2" falsecount="0"/>
        <line num="126" count="27" type="stmt"/>
        <line num="129" count="28" type="stmt"/>
      </file>
      <file name="signal-card.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-card/signal-card.component.ts">
        <metrics statements="50" coveredstatements="41" conditionals="18" coveredconditionals="13" methods="19" coveredmethods="15"/>
        <line num="25" count="153" type="cond" truecount="2" falsecount="0"/>
        <line num="26" count="28" type="stmt"/>
        <line num="28" count="28" type="stmt"/>
        <line num="31" count="28" type="stmt"/>
        <line num="32" count="28" type="stmt"/>
        <line num="39" count="28" type="stmt"/>
        <line num="41" count="28" type="stmt"/>
        <line num="43" count="28" type="stmt"/>
        <line num="46" count="28" type="stmt"/>
        <line num="47" count="28" type="stmt"/>
        <line num="48" count="28" type="stmt"/>
        <line num="49" count="28" type="stmt"/>
        <line num="51" count="28" type="stmt"/>
        <line num="53" count="28" type="stmt"/>
        <line num="57" count="28" type="stmt"/>
        <line num="58" count="28" type="stmt"/>
        <line num="59" count="28" type="stmt"/>
        <line num="60" count="28" type="cond" truecount="2" falsecount="0"/>
        <line num="61" count="18" type="stmt"/>
        <line num="62" count="50" type="stmt"/>
        <line num="64" count="10" type="stmt"/>
        <line num="65" count="28" type="stmt"/>
        <line num="68" count="50" type="cond" truecount="4" falsecount="0"/>
        <line num="69" count="22" type="stmt"/>
        <line num="71" count="121" type="stmt"/>
        <line num="72" count="50" type="cond" truecount="2" falsecount="0"/>
        <line num="73" count="49" type="stmt"/>
        <line num="79" count="28" type="stmt"/>
        <line num="81" count="28" type="stmt"/>
        <line num="82" count="32" type="stmt"/>
        <line num="85" count="32" type="stmt"/>
        <line num="86" count="32" type="cond" truecount="3" falsecount="1"/>
        <line num="87" count="0" type="stmt"/>
        <line num="91" count="0" type="stmt"/>
        <line num="97" count="28" type="stmt"/>
        <line num="98" count="41" type="stmt"/>
        <line num="101" count="34" type="stmt"/>
        <line num="102" count="34" type="stmt"/>
        <line num="105" count="6" type="stmt"/>
        <line num="111" count="20" type="stmt"/>
        <line num="112" count="20" type="stmt"/>
        <line num="116" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="117" count="0" type="stmt"/>
        <line num="118" count="0" type="stmt"/>
        <line num="121" count="0" type="stmt"/>
        <line num="122" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="123" count="0" type="stmt"/>
        <line num="125" count="0" type="stmt"/>
        <line num="132" count="392" type="stmt"/>
        <line num="133" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signal-command">
      <metrics statements="98" coveredstatements="79" conditionals="72" coveredconditionals="54" methods="28" coveredmethods="21"/>
      <file name="signal-command.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-command/signal-command.component.html">
        <metrics statements="33" coveredstatements="33" conditionals="44" coveredconditionals="37" methods="9" coveredmethods="7"/>
        <line num="1" count="31" type="stmt"/>
        <line num="3" count="5182" type="cond" truecount="2" falsecount="0"/>
        <line num="4" count="227" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="5182" type="cond" truecount="2" falsecount="0"/>
        <line num="9" count="493" type="stmt"/>
        <line num="10" count="10" type="stmt"/>
        <line num="11" count="493" type="cond" truecount="0" falsecount="2"/>
        <line num="15" count="244" type="stmt"/>
        <line num="17" count="488" type="cond" truecount="1" falsecount="1"/>
        <line num="18" count="493" type="stmt"/>
        <line num="20" count="5" type="stmt"/>
        <line num="23" count="5182" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="1737" type="cond" truecount="2" falsecount="0"/>
        <line num="27" count="5182" type="cond" truecount="2" falsecount="0"/>
        <line num="29" count="817" type="cond" truecount="2" falsecount="0"/>
        <line num="30" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="35" count="5182" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="20" type="cond" truecount="6" falsecount="0"/>
        <line num="38" count="1938" type="stmt"/>
        <line num="39" count="3876" type="cond" truecount="1" falsecount="1"/>
        <line num="40" count="20" type="stmt"/>
        <line num="42" count="1938" type="stmt"/>
        <line num="45" count="31" type="stmt"/>
        <line num="46" count="11" type="cond" truecount="6" falsecount="0"/>
        <line num="48" count="653" type="stmt"/>
        <line num="51" count="5182" type="cond" truecount="2" falsecount="0"/>
        <line num="52" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="53" count="234" type="stmt"/>
        <line num="54" count="472" type="stmt"/>
        <line num="55" count="4" type="stmt"/>
        <line num="57" count="31" type="stmt"/>
      </file>
      <file name="signal-command.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-command/signal-command.component.ts">
        <metrics statements="65" coveredstatements="46" conditionals="28" coveredconditionals="17" methods="19" coveredmethods="14"/>
        <line num="25" count="156" type="cond" truecount="2" falsecount="0"/>
        <line num="26" count="31" type="stmt"/>
        <line num="29" count="31" type="stmt"/>
        <line num="32" count="31" type="stmt"/>
        <line num="33" count="31" type="stmt"/>
        <line num="34" count="31" type="stmt"/>
        <line num="47" count="31" type="stmt"/>
        <line num="48" count="31" type="stmt"/>
        <line num="51" count="35" type="cond" truecount="2" falsecount="0"/>
        <line num="52" count="35" type="cond" truecount="2" falsecount="0"/>
        <line num="53" count="23" type="stmt"/>
        <line num="54" count="23" type="stmt"/>
        <line num="57" count="12" type="stmt"/>
        <line num="58" count="12" type="stmt"/>
        <line num="61" count="35" type="stmt"/>
        <line num="63" count="40" type="stmt"/>
        <line num="68" count="38" type="stmt"/>
        <line num="69" count="38" type="cond" truecount="2" falsecount="0"/>
        <line num="70" count="36" type="stmt"/>
        <line num="73" count="2" type="stmt"/>
        <line num="78" count="35" type="stmt"/>
        <line num="79" count="35" type="stmt"/>
        <line num="83" count="22" type="stmt"/>
        <line num="87" count="3" type="stmt"/>
        <line num="89" count="3" type="stmt"/>
        <line num="91" count="3" type="stmt"/>
        <line num="94" count="0" type="stmt"/>
        <line num="95" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="96" count="0" type="stmt"/>
        <line num="98" count="0" type="stmt"/>
        <line num="104" count="1" type="stmt"/>
        <line num="106" count="1" type="stmt"/>
        <line num="108" count="1" type="stmt"/>
        <line num="111" count="0" type="stmt"/>
        <line num="112" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="113" count="0" type="stmt"/>
        <line num="115" count="0" type="stmt"/>
        <line num="121" count="5" type="stmt"/>
        <line num="123" count="5" type="stmt"/>
        <line num="125" count="4" type="stmt"/>
        <line num="128" count="0" type="stmt"/>
        <line num="129" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="130" count="0" type="stmt"/>
        <line num="132" count="0" type="stmt"/>
        <line num="138" count="2" type="stmt"/>
        <line num="139" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="141" count="2" type="stmt"/>
        <line num="142" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="145" count="0" type="stmt"/>
        <line num="146" count="0" type="stmt"/>
        <line num="147" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="148" count="0" type="stmt"/>
        <line num="150" count="0" type="stmt"/>
        <line num="156" count="9" type="stmt"/>
        <line num="157" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="158" count="7" type="stmt"/>
        <line num="161" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="162" count="1" type="stmt"/>
        <line num="164" count="8" type="cond" truecount="2" falsecount="0"/>
        <line num="165" count="7" type="stmt"/>
        <line num="167" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="168" count="1" type="stmt"/>
        <line num="170" count="0" type="stmt"/>
        <line num="174" count="0" type="stmt"/>
        <line num="175" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signal-countdown">
      <metrics statements="9" coveredstatements="8" conditionals="4" coveredconditionals="3" methods="5" coveredmethods="4"/>
      <file name="signal-countdown.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-countdown/signal-countdown.component.html">
        <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="1" count="418" type="stmt"/>
      </file>
      <file name="signal-countdown.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-countdown/signal-countdown.component.ts">
        <metrics statements="8" coveredstatements="7" conditionals="4" coveredconditionals="3" methods="5" coveredmethods="4"/>
        <line num="13" count="126" type="cond" truecount="2" falsecount="0"/>
        <line num="14" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="23" count="6" type="stmt"/>
        <line num="25" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="26" count="6" type="stmt"/>
        <line num="32" count="0" type="stmt"/>
        <line num="33" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signals">
      <metrics statements="30" coveredstatements="29" conditionals="10" coveredconditionals="8" methods="3" coveredmethods="3"/>
      <file name="signals.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals/signals.component.html">
        <metrics statements="22" coveredstatements="21" conditionals="8" coveredconditionals="6" methods="0" coveredmethods="0"/>
        <line num="1" count="835" type="cond" truecount="1" falsecount="1"/>
        <line num="2" count="0" type="stmt"/>
        <line num="5" count="1670" type="cond" truecount="1" falsecount="1"/>
        <line num="7" count="11" type="stmt"/>
        <line num="8" count="1670" type="cond" truecount="2" falsecount="0"/>
        <line num="9" count="11" type="stmt"/>
        <line num="11" count="1670" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="1291" type="stmt"/>
        <line num="16" count="11" type="stmt"/>
        <line num="18" count="11" type="stmt"/>
        <line num="21" count="1291" type="stmt"/>
        <line num="22" count="11" type="stmt"/>
        <line num="24" count="11" type="stmt"/>
        <line num="27" count="1291" type="stmt"/>
        <line num="28" count="11" type="stmt"/>
        <line num="30" count="11" type="stmt"/>
        <line num="33" count="1291" type="stmt"/>
        <line num="34" count="11" type="stmt"/>
        <line num="37" count="11" type="stmt"/>
        <line num="39" count="11" type="stmt"/>
        <line num="40" count="11" type="stmt"/>
        <line num="41" count="11" type="stmt"/>
      </file>
      <file name="signals.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals/signals.component.ts">
        <metrics statements="8" coveredstatements="8" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
        <line num="23" count="136" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="11" type="stmt"/>
        <line num="25" count="11" type="stmt"/>
        <line num="27" count="11" type="stmt"/>
        <line num="32" count="11" type="stmt"/>
        <line num="33" count="11" type="stmt"/>
        <line num="35" count="11" type="stmt"/>
        <line num="36" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signals-graph">
      <metrics statements="387" coveredstatements="353" conditionals="179" coveredconditionals="144" methods="59" coveredmethods="51"/>
      <file name="signals-graph.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-graph/signals-graph.component.html">
        <metrics statements="53" coveredstatements="52" conditionals="10" coveredconditionals="9" methods="8" coveredmethods="8"/>
        <line num="1" count="13183" type="cond" truecount="1" falsecount="1"/>
        <line num="2" count="0" type="stmt"/>
        <line num="4" count="48" type="stmt"/>
        <line num="5" count="13183" type="stmt"/>
        <line num="6" count="96" type="stmt"/>
        <line num="12" count="48" type="stmt"/>
        <line num="14" count="48" type="stmt"/>
        <line num="16" count="48" type="stmt"/>
        <line num="17" count="48" type="stmt"/>
        <line num="20" count="48" type="stmt"/>
        <line num="22" count="48" type="stmt"/>
        <line num="23" count="26366" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="1" type="stmt"/>
        <line num="26" count="2" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="33" count="48" type="stmt"/>
        <line num="34" count="49" type="stmt"/>
        <line num="36" count="49" type="stmt"/>
        <line num="38" count="49" type="stmt"/>
        <line num="39" count="49" type="stmt"/>
        <line num="41" count="49" type="stmt"/>
        <line num="43" count="48" type="stmt"/>
        <line num="45" count="48" type="stmt"/>
        <line num="46" count="26366" type="cond" truecount="2" falsecount="0"/>
        <line num="47" count="49" type="stmt"/>
        <line num="49" count="49" type="stmt"/>
        <line num="51" count="49" type="stmt"/>
        <line num="52" count="49" type="stmt"/>
        <line num="54" count="49" type="stmt"/>
        <line num="56" count="48" type="stmt"/>
        <line num="57" count="1" type="stmt"/>
        <line num="59" count="2" type="stmt"/>
        <line num="61" count="1" type="stmt"/>
        <line num="62" count="1" type="stmt"/>
        <line num="64" count="1" type="stmt"/>
        <line num="67" count="48" type="stmt"/>
        <line num="69" count="26366" type="cond" truecount="2" falsecount="0"/>
        <line num="72" count="24050" type="stmt"/>
        <line num="73" count="42" type="stmt"/>
        <line num="75" count="24050" type="stmt"/>
        <line num="76" count="42" type="stmt"/>
        <line num="78" count="24050" type="stmt"/>
        <line num="79" count="42" type="stmt"/>
        <line num="81" count="24050" type="stmt"/>
        <line num="82" count="42" type="stmt"/>
        <line num="84" count="24050" type="stmt"/>
        <line num="86" count="42" type="stmt"/>
        <line num="88" count="48" type="stmt"/>
        <line num="90" count="26414" type="cond" truecount="2" falsecount="0"/>
        <line num="91" count="48" type="stmt"/>
        <line num="92" count="48" type="stmt"/>
      </file>
      <file name="signals-graph.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-graph/signals-graph.component.ts">
        <metrics statements="334" coveredstatements="301" conditionals="169" coveredconditionals="135" methods="51" coveredmethods="43"/>
        <line num="26" count="125" type="stmt"/>
        <line num="35" count="173" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="48" type="stmt"/>
        <line num="39" count="48" type="stmt"/>
        <line num="41" count="48" type="stmt"/>
        <line num="42" count="48" type="stmt"/>
        <line num="45" count="48" type="stmt"/>
        <line num="46" count="48" type="stmt"/>
        <line num="48" count="48" type="stmt"/>
        <line num="50" count="48" type="stmt"/>
        <line num="65" count="48" type="stmt"/>
        <line num="69" count="48" type="stmt"/>
        <line num="70" count="48" type="stmt"/>
        <line num="71" count="48" type="stmt"/>
        <line num="73" count="48" type="stmt"/>
        <line num="74" count="48" type="stmt"/>
        <line num="78" count="48" type="stmt"/>
        <line num="79" count="48" type="stmt"/>
        <line num="81" count="48" type="stmt"/>
        <line num="83" count="48" type="stmt"/>
        <line num="84" count="48" type="stmt"/>
        <line num="85" count="48" type="stmt"/>
        <line num="86" count="48" type="stmt"/>
        <line num="87" count="48" type="stmt"/>
        <line num="88" count="48" type="stmt"/>
        <line num="91" count="48" type="stmt"/>
        <line num="92" count="48" type="stmt"/>
        <line num="94" count="48" type="stmt"/>
        <line num="95" count="48" type="stmt"/>
        <line num="97" count="48" type="stmt"/>
        <line num="99" count="48" type="cond" truecount="2" falsecount="0"/>
        <line num="100" count="41" type="stmt"/>
        <line num="105" count="48" type="stmt"/>
        <line num="106" count="48" type="stmt"/>
        <line num="107" count="1" type="stmt"/>
        <line num="109" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="110" count="1" type="stmt"/>
        <line num="111" count="1" type="stmt"/>
        <line num="112" count="1" type="stmt"/>
        <line num="116" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="117" count="1" type="stmt"/>
        <line num="118" count="1" type="stmt"/>
        <line num="121" count="1" type="stmt"/>
        <line num="123" count="1" type="stmt"/>
        <line num="124" count="1" type="stmt"/>
        <line num="125" count="1" type="stmt"/>
        <line num="130" count="112" type="cond" truecount="2" falsecount="0"/>
        <line num="131" count="49" type="stmt"/>
        <line num="132" count="49" type="cond" truecount="5" falsecount="0"/>
        <line num="133" count="13" type="stmt"/>
        <line num="134" count="13" type="stmt"/>
        <line num="135" count="13" type="stmt"/>
        <line num="136" count="13" type="stmt"/>
        <line num="138" count="49" type="stmt"/>
        <line num="140" count="63" type="cond" truecount="1" falsecount="1"/>
        <line num="141" count="0" type="stmt"/>
        <line num="142" count="0" type="cond" truecount="0" falsecount="5"/>
        <line num="143" count="0" type="stmt"/>
        <line num="144" count="0" type="stmt"/>
        <line num="145" count="0" type="stmt"/>
        <line num="146" count="0" type="stmt"/>
        <line num="148" count="0" type="stmt"/>
        <line num="151" count="63" type="stmt"/>
        <line num="152" count="63" type="stmt"/>
        <line num="154" count="63" type="stmt"/>
        <line num="156" count="63" type="stmt"/>
        <line num="160" count="41" type="stmt"/>
        <line num="161" count="41" type="stmt"/>
        <line num="162" count="41" type="stmt"/>
        <line num="163" count="65" type="stmt"/>
        <line num="164" count="32" type="stmt"/>
        <line num="166" count="65" type="cond" truecount="4" falsecount="0"/>
        <line num="167" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="168" count="6" type="stmt"/>
        <line num="169" count="6" type="stmt"/>
        <line num="172" count="59" type="cond" truecount="2" falsecount="0"/>
        <line num="173" count="59" type="stmt"/>
        <line num="174" count="59" type="stmt"/>
        <line num="178" count="41" type="stmt"/>
        <line num="182" count="111" type="cond" truecount="2" falsecount="0"/>
        <line num="183" count="38" type="stmt"/>
        <line num="185" count="38" type="stmt"/>
        <line num="186" count="38" type="stmt"/>
        <line num="187" count="38" type="cond" truecount="2" falsecount="0"/>
        <line num="188" count="10" type="stmt"/>
        <line num="190" count="38" type="cond" truecount="2" falsecount="0"/>
        <line num="191" count="25" type="stmt"/>
        <line num="194" count="13" type="stmt"/>
        <line num="195" count="12" type="cond" truecount="2" falsecount="0"/>
        <line num="196" count="9" type="stmt"/>
        <line num="197" count="9" type="stmt"/>
        <line num="201" count="38" type="stmt"/>
        <line num="202" count="38" type="stmt"/>
        <line num="204" count="38" type="cond" truecount="1" falsecount="1"/>
        <line num="205" count="38" type="stmt"/>
        <line num="206" count="38" type="stmt"/>
        <line num="207" count="38" type="stmt"/>
        <line num="211" count="38" type="stmt"/>
        <line num="213" count="38" type="stmt"/>
        <line num="216" count="38" type="stmt"/>
        <line num="219" count="73" type="stmt"/>
        <line num="220" count="73" type="stmt"/>
        <line num="222" count="73" type="cond" truecount="1" falsecount="1"/>
        <line num="224" count="0" type="stmt"/>
        <line num="235" count="86" type="cond" truecount="5" falsecount="0"/>
        <line num="236" count="41" type="stmt"/>
        <line num="237" count="41" type="stmt"/>
        <line num="240" count="45" type="stmt"/>
        <line num="242" count="45" type="stmt"/>
        <line num="243" count="45" type="stmt"/>
        <line num="246" count="45" type="stmt"/>
        <line num="253" count="45" type="stmt"/>
        <line num="254" count="45" type="cond" truecount="4" falsecount="0"/>
        <line num="255" count="38" type="stmt"/>
        <line num="257" count="60" type="stmt"/>
        <line num="259" count="60" type="cond" truecount="1" falsecount="1"/>
        <line num="260" count="60" type="cond" truecount="4" falsecount="0"/>
        <line num="261" count="31" type="stmt"/>
        <line num="263" count="60" type="stmt"/>
        <line num="266" count="53" type="stmt"/>
        <line num="270" count="53" type="stmt"/>
        <line num="273" count="53" type="stmt"/>
        <line num="274" count="80" type="cond" truecount="5" falsecount="0"/>
        <line num="275" count="29" type="stmt"/>
        <line num="278" count="53" type="stmt"/>
        <line num="280" count="53" type="stmt"/>
        <line num="282" count="53" type="cond" truecount="2" falsecount="0"/>
        <line num="283" count="29" type="stmt"/>
        <line num="286" count="24" type="stmt"/>
        <line num="289" count="53" type="stmt"/>
        <line num="290" count="53" type="stmt"/>
        <line num="291" count="53" type="stmt"/>
        <line num="294" count="0" type="stmt"/>
        <line num="295" count="0" type="stmt"/>
        <line num="300" count="7" type="stmt"/>
        <line num="302" count="10" type="stmt"/>
        <line num="303" count="10" type="stmt"/>
        <line num="304" count="10" type="stmt"/>
        <line num="305" count="10" type="cond" truecount="4" falsecount="0"/>
        <line num="306" count="8" type="stmt"/>
        <line num="307" count="8" type="stmt"/>
        <line num="309" count="10" type="cond" truecount="2" falsecount="0"/>
        <line num="310" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="312" count="2" type="stmt"/>
        <line num="314" count="2" type="stmt"/>
        <line num="318" count="6" type="stmt"/>
        <line num="320" count="1" type="stmt"/>
        <line num="321" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="322" count="1" type="stmt"/>
        <line num="324" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="325" count="1" type="stmt"/>
        <line num="330" count="6" type="stmt"/>
        <line num="334" count="9" type="stmt"/>
        <line num="338" count="9" type="stmt"/>
        <line num="341" count="9" type="stmt"/>
        <line num="342" count="9" type="cond" truecount="5" falsecount="0"/>
        <line num="343" count="3" type="stmt"/>
        <line num="346" count="9" type="stmt"/>
        <line num="348" count="9" type="stmt"/>
        <line num="350" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="351" count="3" type="stmt"/>
        <line num="354" count="6" type="stmt"/>
        <line num="357" count="9" type="stmt"/>
        <line num="358" count="9" type="stmt"/>
        <line num="359" count="9" type="stmt"/>
        <line num="362" count="0" type="stmt"/>
        <line num="363" count="0" type="stmt"/>
        <line num="371" count="78" type="cond" truecount="2" falsecount="0"/>
        <line num="372" count="21" type="stmt"/>
        <line num="373" count="21" type="stmt"/>
        <line num="376" count="57" type="cond" truecount="1" falsecount="1"/>
        <line num="377" count="0" type="stmt"/>
        <line num="380" count="57" type="cond" truecount="2" falsecount="0"/>
        <line num="381" count="53" type="stmt"/>
        <line num="383" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="384" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="385" count="2" type="stmt"/>
        <line num="386" count="2" type="stmt"/>
        <line num="388" count="2" type="stmt"/>
        <line num="391" count="55" type="stmt"/>
        <line num="392" count="55" type="stmt"/>
        <line num="393" count="55" type="stmt"/>
        <line num="395" count="132" type="stmt"/>
        <line num="397" count="130" type="stmt"/>
        <line num="398" count="72" type="stmt"/>
        <line num="399" count="0" type="stmt"/>
        <line num="401" count="72" type="cond" truecount="1" falsecount="1"/>
        <line num="402" count="0" type="stmt"/>
        <line num="405" count="72" type="stmt"/>
        <line num="406" count="2" type="stmt"/>
        <line num="407" count="2" type="stmt"/>
        <line num="409" count="72" type="stmt"/>
        <line num="414" count="206" type="stmt"/>
        <line num="415" count="206" type="stmt"/>
        <line num="416" count="206" type="stmt"/>
        <line num="417" count="206" type="stmt"/>
        <line num="418" count="73" type="stmt"/>
        <line num="419" count="73" type="stmt"/>
        <line num="420" count="73" type="stmt"/>
        <line num="427" count="73" type="stmt"/>
        <line num="428" count="73" type="stmt"/>
        <line num="429" count="73" type="stmt"/>
        <line num="436" count="206" type="cond" truecount="2" falsecount="0"/>
        <line num="437" count="194" type="cond" truecount="1" falsecount="1"/>
        <line num="438" count="194" type="stmt"/>
        <line num="439" count="59" type="stmt"/>
        <line num="440" count="59" type="stmt"/>
        <line num="441" count="59" type="stmt"/>
        <line num="448" count="59" type="stmt"/>
        <line num="449" count="59" type="stmt"/>
        <line num="450" count="59" type="stmt"/>
        <line num="451" count="59" type="stmt"/>
        <line num="461" count="206" type="stmt"/>
        <line num="477" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="479" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="480" count="0" type="stmt"/>
        <line num="481" count="0" type="stmt"/>
        <line num="482" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="484" count="0" type="stmt"/>
        <line num="512" count="1902" type="stmt"/>
        <line num="513" count="1902" type="cond" truecount="1" falsecount="1"/>
        <line num="519" count="0" type="stmt"/>
        <line num="520" count="0" type="stmt"/>
        <line num="521" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="530" count="206" type="cond" truecount="2" falsecount="0"/>
        <line num="531" count="640" type="stmt"/>
        <line num="532" count="36" type="stmt"/>
        <line num="535" count="206" type="stmt"/>
        <line num="537" count="206" type="cond" truecount="1" falsecount="1"/>
        <line num="538" count="206" type="stmt"/>
        <line num="541" count="206" type="cond" truecount="4" falsecount="0"/>
        <line num="542" count="155" type="stmt"/>
        <line num="553" count="51" type="stmt"/>
        <line num="556" count="206" type="stmt"/>
        <line num="565" count="62" type="cond" truecount="2" falsecount="0"/>
        <line num="566" count="8" type="stmt"/>
        <line num="568" count="62" type="cond" truecount="2" falsecount="0"/>
        <line num="569" count="61" type="stmt"/>
        <line num="572" count="1" type="stmt"/>
        <line num="576" count="62" type="stmt"/>
        <line num="577" count="62" type="stmt"/>
        <line num="581" count="206" type="stmt"/>
        <line num="616" count="204" type="stmt"/>
        <line num="617" count="295" type="stmt"/>
        <line num="618" count="295" type="cond" truecount="1" falsecount="1"/>
        <line num="619" count="0" type="stmt"/>
        <line num="621" count="295" type="stmt"/>
        <line num="622" count="295" type="cond" truecount="2" falsecount="0"/>
        <line num="623" count="133" type="stmt"/>
        <line num="625" count="295" type="stmt"/>
        <line num="626" count="295" type="cond" truecount="2" falsecount="0"/>
        <line num="627" count="30" type="stmt"/>
        <line num="630" count="295" type="stmt"/>
        <line num="631" count="295" type="stmt"/>
        <line num="633" count="295" type="stmt"/>
        <line num="634" count="295" type="stmt"/>
        <line num="635" count="293" type="cond" truecount="2" falsecount="0"/>
        <line num="636" count="243" type="stmt"/>
        <line num="637" count="243" type="stmt"/>
        <line num="639" count="50" type="stmt"/>
        <line num="642" count="295" type="stmt"/>
        <line num="652" count="295" type="stmt"/>
        <line num="662" count="295" type="cond" truecount="2" falsecount="0"/>
        <line num="663" count="133" type="stmt"/>
        <line num="664" count="133" type="stmt"/>
        <line num="665" count="133" type="stmt"/>
        <line num="666" count="133" type="stmt"/>
        <line num="669" count="295" type="stmt"/>
        <line num="670" count="295" type="cond" truecount="2" falsecount="0"/>
        <line num="671" count="106" type="stmt"/>
        <line num="674" count="204" type="stmt"/>
        <line num="678" count="85" type="stmt"/>
        <line num="679" count="85" type="stmt"/>
        <line num="680" count="85" type="stmt"/>
        <line num="682" count="85" type="stmt"/>
        <line num="683" count="85" type="cond" truecount="2" falsecount="0"/>
        <line num="685" count="44" type="stmt"/>
        <line num="689" count="85" type="stmt"/>
        <line num="690" count="85" type="stmt"/>
        <line num="694" count="70" type="cond" truecount="2" falsecount="0"/>
        <line num="695" count="64" type="stmt"/>
        <line num="696" count="64" type="stmt"/>
        <line num="698" count="6" type="cond" truecount="4" falsecount="0"/>
        <line num="699" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="700" count="0" type="stmt"/>
        <line num="701" count="0" type="stmt"/>
        <line num="703" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="704" count="0" type="stmt"/>
        <line num="706" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="707" count="0" type="stmt"/>
        <line num="713" count="119" type="stmt"/>
        <line num="714" count="119" type="stmt"/>
        <line num="719" count="119" type="stmt"/>
        <line num="723" count="119" type="cond" truecount="2" falsecount="0"/>
        <line num="724" count="2" type="stmt"/>
        <line num="725" count="2" type="stmt"/>
        <line num="727" count="119" type="stmt"/>
        <line num="733" count="2" type="stmt"/>
        <line num="735" count="2" type="stmt"/>
        <line num="736" count="2" type="stmt"/>
        <line num="739" count="0" type="stmt"/>
        <line num="745" count="1" type="stmt"/>
        <line num="747" count="1" type="stmt"/>
        <line num="748" count="1" type="stmt"/>
        <line num="751" count="0" type="stmt"/>
        <line num="757" count="2" type="stmt"/>
        <line num="758" count="2" type="stmt"/>
        <line num="762" count="246" type="cond" truecount="1" falsecount="1"/>
        <line num="763" count="0" type="stmt"/>
        <line num="765" count="246" type="stmt"/>
        <line num="775" count="246" type="stmt"/>
        <line num="776" count="246" type="stmt"/>
        <line num="777" count="82" type="stmt"/>
        <line num="787" count="0" type="stmt"/>
        <line num="809" count="82" type="stmt"/>
        <line num="811" count="246" type="stmt"/>
        <line num="815" count="10" type="stmt"/>
        <line num="819" count="2" type="stmt"/>
        <line num="823" count="49" type="stmt"/>
        <line num="825" count="49" type="stmt"/>
        <line num="826" count="49" type="stmt"/>
        <line num="827" count="12" type="stmt"/>
        <line num="831" count="49" type="stmt"/>
        <line num="832" count="69" type="stmt"/>
        <line num="833" count="69" type="cond" truecount="2" falsecount="0"/>
        <line num="834" count="57" type="stmt"/>
        <line num="835" count="57" type="stmt"/>
        <line num="836" count="57" type="stmt"/>
        <line num="837" count="57" type="stmt"/>
        <line num="838" count="57" type="stmt"/>
        <line num="839" count="57" type="stmt"/>
        <line num="840" count="57" type="stmt"/>
        <line num="848" count="6" type="stmt"/>
        <line num="849" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signals-graphs">
      <metrics statements="131" coveredstatements="118" conditionals="59" coveredconditionals="46" methods="36" coveredmethods="30"/>
      <file name="signals-graphs.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-graphs/signals-graphs.component.html">
        <metrics statements="51" coveredstatements="50" conditionals="30" coveredconditionals="22" methods="13" coveredmethods="9"/>
        <line num="1" count="12004" type="cond" truecount="1" falsecount="1"/>
        <line num="2" count="0" type="stmt"/>
        <line num="6" count="24008" type="cond" truecount="1" falsecount="1"/>
        <line num="8" count="42" type="stmt"/>
        <line num="9" count="24008" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="10739" type="stmt"/>
        <line num="12" count="24008" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="1716" type="cond" truecount="0" falsecount="2"/>
        <line num="20" count="840" type="stmt"/>
        <line num="23" count="36" type="stmt"/>
        <line num="24" count="36" type="stmt"/>
        <line num="26" count="72" type="stmt"/>
        <line num="27" count="1680" type="stmt"/>
        <line num="28" count="876" type="cond" truecount="0" falsecount="2"/>
        <line num="32" count="36" type="stmt"/>
        <line num="34" count="36" type="stmt"/>
        <line num="36" count="42" type="stmt"/>
        <line num="37" count="24008" type="cond" truecount="2" falsecount="0"/>
        <line num="39" count="68" type="stmt"/>
        <line num="40" count="22328" type="stmt"/>
        <line num="41" count="11198" type="cond" truecount="0" falsecount="2"/>
        <line num="45" count="34" type="stmt"/>
        <line num="46" count="34" type="stmt"/>
        <line num="48" count="24008" type="cond" truecount="2" falsecount="0"/>
        <line num="49" count="11988" type="stmt"/>
        <line num="51" count="24008" type="cond" truecount="2" falsecount="0"/>
        <line num="52" count="16" type="stmt"/>
        <line num="55" count="84" type="stmt"/>
        <line num="56" count="24008" type="stmt"/>
        <line num="57" count="12046" type="cond" truecount="2" falsecount="0"/>
        <line num="62" count="42" type="stmt"/>
        <line num="63" count="42" type="stmt"/>
        <line num="64" count="24008" type="cond" truecount="2" falsecount="0"/>
        <line num="66" count="68" type="stmt"/>
        <line num="67" count="22328" type="stmt"/>
        <line num="68" count="11198" type="cond" truecount="2" falsecount="0"/>
        <line num="71" count="34" type="stmt"/>
        <line num="72" count="34" type="stmt"/>
        <line num="74" count="42" type="stmt"/>
        <line num="75" count="24008" type="stmt"/>
        <line num="76" count="84" type="stmt"/>
        <line num="79" count="42" type="stmt"/>
        <line num="80" count="12004" type="stmt"/>
        <line num="81" count="12046" type="cond" truecount="2" falsecount="0"/>
        <line num="82" count="124" type="stmt"/>
        <line num="83" count="6" type="stmt"/>
        <line num="84" count="12004" type="stmt"/>
        <line num="86" count="42" type="stmt"/>
        <line num="87" count="24008" type="cond" truecount="2" falsecount="0"/>
        <line num="88" count="27" type="stmt"/>
        <line num="90" count="42" type="stmt"/>
      </file>
      <file name="signals-graphs.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-graphs/signals-graphs.component.ts">
        <metrics statements="80" coveredstatements="68" conditionals="29" coveredconditionals="24" methods="23" coveredmethods="21"/>
        <line num="27" count="179" type="cond" truecount="2" falsecount="0"/>
        <line num="28" count="54" type="stmt"/>
        <line num="29" count="54" type="stmt"/>
        <line num="32" count="54" type="stmt"/>
        <line num="33" count="54" type="stmt"/>
        <line num="34" count="54" type="stmt"/>
        <line num="36" count="54" type="stmt"/>
        <line num="37" count="54" type="stmt"/>
        <line num="39" count="54" type="stmt"/>
        <line num="46" count="54" type="stmt"/>
        <line num="60" count="54" type="stmt"/>
        <line num="61" count="54" type="stmt"/>
        <line num="63" count="54" type="stmt"/>
        <line num="65" count="54" type="stmt"/>
        <line num="66" count="1" type="stmt"/>
        <line num="67" count="1" type="stmt"/>
        <line num="69" count="54" type="stmt"/>
        <line num="81" count="54" type="stmt"/>
        <line num="82" count="54" type="stmt"/>
        <line num="87" count="57" type="stmt"/>
        <line num="88" count="57" type="stmt"/>
        <line num="89" count="57" type="stmt"/>
        <line num="90" count="57" type="cond" truecount="4" falsecount="0"/>
        <line num="91" count="43" type="stmt"/>
        <line num="96" count="57" type="cond" truecount="2" falsecount="0"/>
        <line num="97" count="43" type="stmt"/>
        <line num="98" count="72" type="stmt"/>
        <line num="99" count="72" type="cond" truecount="2" falsecount="0"/>
        <line num="100" count="30" type="cond" truecount="2" falsecount="0"/>
        <line num="101" count="25" type="stmt"/>
        <line num="104" count="5" type="stmt"/>
        <line num="107" count="42" type="cond" truecount="1" falsecount="1"/>
        <line num="108" count="0" type="stmt"/>
        <line num="109" count="0" type="stmt"/>
        <line num="110" count="0" type="stmt"/>
        <line num="119" count="57" type="stmt"/>
        <line num="121" count="57" type="cond" truecount="2" falsecount="0"/>
        <line num="122" count="12" type="stmt"/>
        <line num="125" count="57" type="cond" truecount="5" falsecount="0"/>
        <line num="126" count="5" type="stmt"/>
        <line num="127" count="5" type="stmt"/>
        <line num="132" count="42" type="stmt"/>
        <line num="136" count="42" type="stmt"/>
        <line num="138" count="42" type="stmt"/>
        <line num="140" count="42" type="stmt"/>
        <line num="141" count="42" type="stmt"/>
        <line num="143" count="42" type="stmt"/>
        <line num="145" count="42" type="stmt"/>
        <line num="147" count="42" type="stmt"/>
        <line num="157" count="42" type="stmt"/>
        <line num="159" count="42" type="stmt"/>
        <line num="160" count="42" type="stmt"/>
        <line num="162" count="42" type="stmt"/>
        <line num="166" count="12" type="stmt"/>
        <line num="167" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="168" count="6" type="stmt"/>
        <line num="171" count="0" type="stmt"/>
        <line num="176" count="61" type="stmt"/>
        <line num="179" count="61" type="stmt"/>
        <line num="183" count="62" type="stmt"/>
        <line num="187" count="42" type="stmt"/>
        <line num="191" count="8" type="cond" truecount="2" falsecount="0"/>
        <line num="192" count="1" type="stmt"/>
        <line num="193" count="1" type="stmt"/>
        <line num="197" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="198" count="0" type="stmt"/>
        <line num="199" count="0" type="stmt"/>
        <line num="201" count="0" type="stmt"/>
        <line num="202" count="0" type="stmt"/>
        <line num="203" count="0" type="stmt"/>
        <line num="207" count="15" type="stmt"/>
        <line num="211" count="0" type="stmt"/>
        <line num="212" count="0" type="stmt"/>
        <line num="216" count="2" type="stmt"/>
        <line num="217" count="2" type="stmt"/>
        <line num="221" count="1" type="stmt"/>
        <line num="222" count="1" type="stmt"/>
        <line num="226" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="227" count="3" type="stmt"/>
        <line num="229" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signals-table">
      <metrics statements="104" coveredstatements="88" conditionals="48" coveredconditionals="35" methods="26" coveredmethods="16"/>
      <file name="signals-table.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-table/signals-table.component.html">
        <metrics statements="44" coveredstatements="43" conditionals="16" coveredconditionals="13" methods="8" coveredmethods="4"/>
        <line num="1" count="927" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="14" type="stmt"/>
        <line num="4" count="1854" type="cond" truecount="2" falsecount="0"/>
        <line num="5" count="14" type="stmt"/>
        <line num="8" count="640" type="stmt"/>
        <line num="11" count="14" type="stmt"/>
        <line num="12" count="14" type="stmt"/>
        <line num="13" count="14" type="stmt"/>
        <line num="15" count="14" type="stmt"/>
        <line num="16" count="1280" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="2" type="stmt"/>
        <line num="18" count="2" type="stmt"/>
        <line num="19" count="2" type="stmt"/>
        <line num="20" count="2" type="stmt"/>
        <line num="21" count="2" type="stmt"/>
        <line num="22" count="2" type="stmt"/>
        <line num="24" count="14" type="stmt"/>
        <line num="26" count="1294" type="cond" truecount="2" falsecount="0"/>
        <line num="29" count="14" type="stmt"/>
        <line num="33" count="14" type="stmt"/>
        <line num="34" count="14" type="stmt"/>
        <line num="35" count="14" type="stmt"/>
        <line num="36" count="14" type="stmt"/>
        <line num="37" count="14" type="stmt"/>
        <line num="38" count="1280" type="cond" truecount="2" falsecount="0"/>
        <line num="39" count="3" type="stmt"/>
        <line num="41" count="14" type="stmt"/>
        <line num="43" count="14" type="stmt"/>
        <line num="45" count="14699" type="stmt"/>
        <line num="46" count="14024" type="stmt"/>
        <line num="47" count="14699" type="stmt"/>
        <line num="48" count="14699" type="stmt"/>
        <line num="49" count="14699" type="stmt"/>
        <line num="50" count="14024" type="cond" truecount="2" falsecount="0"/>
        <line num="52" count="1280" type="stmt"/>
        <line num="53" count="90" type="stmt"/>
        <line num="55" count="675" type="stmt"/>
        <line num="57" count="14" type="stmt"/>
        <line num="60" count="1854" type="cond" truecount="0" falsecount="2"/>
        <line num="61" count="14" type="stmt"/>
        <line num="62" count="14" type="stmt"/>
        <line num="63" count="1854" type="cond" truecount="1" falsecount="1"/>
        <line num="64" count="0" type="stmt"/>
        <line num="67" count="14" type="stmt"/>
      </file>
      <file name="signals-table.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-table/signals-table.component.ts">
        <metrics statements="60" coveredstatements="45" conditionals="32" coveredconditionals="22" methods="18" coveredmethods="12"/>
        <line num="27" count="139" type="cond" truecount="2" falsecount="0"/>
        <line num="28" count="14" type="stmt"/>
        <line num="29" count="14" type="stmt"/>
        <line num="30" count="14" type="stmt"/>
        <line num="36" count="14" type="stmt"/>
        <line num="37" count="14" type="stmt"/>
        <line num="39" count="14" type="stmt"/>
        <line num="40" count="14" type="stmt"/>
        <line num="41" count="14" type="stmt"/>
        <line num="42" count="14" type="stmt"/>
        <line num="45" count="14" type="stmt"/>
        <line num="46" count="14" type="stmt"/>
        <line num="48" count="14" type="stmt"/>
        <line num="50" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="51" count="3" type="stmt"/>
        <line num="52" count="3" type="stmt"/>
        <line num="57" count="14" type="stmt"/>
        <line num="58" count="18" type="cond" truecount="2" falsecount="0"/>
        <line num="59" count="18" type="cond" truecount="2" falsecount="0"/>
        <line num="61" count="14" type="stmt"/>
        <line num="62" count="14" type="cond" truecount="1" falsecount="1"/>
        <line num="63" count="14" type="stmt"/>
        <line num="68" count="7012" type="stmt"/>
        <line num="72" count="0" type="stmt"/>
        <line num="76" count="0" type="stmt"/>
        <line num="77" count="0" type="stmt"/>
        <line num="81" count="20" type="stmt"/>
        <line num="82" count="20" type="stmt"/>
        <line num="86" count="4" type="stmt"/>
        <line num="87" count="4" type="stmt"/>
        <line num="89" count="4" type="stmt"/>
        <line num="96" count="28" type="stmt"/>
        <line num="100" count="63" type="stmt"/>
        <line num="101" count="63" type="cond" truecount="2" falsecount="0"/>
        <line num="104" count="63" type="stmt"/>
        <line num="105" count="63" type="stmt"/>
        <line num="108" count="0" type="stmt"/>
        <line num="114" count="26" type="stmt"/>
        <line num="115" count="26" type="cond" truecount="3" falsecount="1"/>
        <line num="116" count="26" type="stmt"/>
        <line num="118" count="26" type="cond" truecount="3" falsecount="1"/>
        <line num="119" count="26" type="stmt"/>
        <line num="121" count="26" type="cond" truecount="4" falsecount="0"/>
        <line num="122" count="8" type="cond" truecount="1" falsecount="1"/>
        <line num="123" count="0" type="stmt"/>
        <line num="126" count="8" type="stmt"/>
        <line num="128" count="8" type="cond" truecount="1" falsecount="1"/>
        <line num="131" count="18" type="stmt"/>
        <line num="134" count="26" type="stmt"/>
        <line num="138" count="0" type="stmt"/>
        <line num="139" count="0" type="stmt"/>
        <line num="140" count="0" type="stmt"/>
        <line num="147" count="0" type="stmt"/>
        <line num="148" count="0" type="stmt"/>
        <line num="149" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="150" count="0" type="stmt"/>
        <line num="151" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="152" count="0" type="stmt"/>
        <line num="155" count="0" type="stmt"/>
        <line num="157" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signals-values-table">
      <metrics statements="193" coveredstatements="177" conditionals="44" coveredconditionals="28" methods="45" coveredmethods="39"/>
      <file name="signals-values-table.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-values-table/signals-values-table.component.html">
        <metrics statements="93" coveredstatements="92" conditionals="14" coveredconditionals="12" methods="13" coveredmethods="11"/>
        <line num="1" count="5" type="stmt"/>
        <line num="2" count="2719" type="stmt"/>
        <line num="5" count="5438" type="stmt"/>
        <line num="6" count="10" type="stmt"/>
        <line num="8" count="5438" type="stmt"/>
        <line num="9" count="12" type="stmt"/>
        <line num="10" count="5" type="stmt"/>
        <line num="11" count="2724" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="5438" type="stmt"/>
        <line num="15" count="5" type="stmt"/>
        <line num="25" count="5" type="stmt"/>
        <line num="26" count="5" type="stmt"/>
        <line num="27" count="5" type="stmt"/>
        <line num="28" count="2719" type="stmt"/>
        <line num="29" count="2719" type="stmt"/>
        <line num="31" count="5" type="stmt"/>
        <line num="35" count="5" type="stmt"/>
        <line num="36" count="5" type="stmt"/>
        <line num="37" count="5" type="stmt"/>
        <line num="38" count="2719" type="stmt"/>
        <line num="39" count="2719" type="stmt"/>
        <line num="41" count="5" type="stmt"/>
        <line num="43" count="16393" type="stmt"/>
        <line num="46" count="32809" type="stmt"/>
        <line num="47" count="32786" type="stmt"/>
        <line num="48" count="23" type="stmt"/>
        <line num="49" count="32786" type="cond" truecount="2" falsecount="0"/>
        <line num="50" count="2" type="stmt"/>
        <line num="51" count="2059" type="stmt"/>
        <line num="52" count="2" type="stmt"/>
        <line num="53" count="58" type="cond" truecount="2" falsecount="0"/>
        <line num="54" count="56" type="stmt"/>
        <line num="55" count="2" type="stmt"/>
        <line num="56" count="2" type="stmt"/>
        <line num="57" count="112" type="stmt"/>
        <line num="58" count="114" type="stmt"/>
        <line num="59" count="2" type="stmt"/>
        <line num="60" count="2" type="stmt"/>
        <line num="62" count="2" type="stmt"/>
        <line num="65" count="5" type="stmt"/>
        <line num="66" count="2719" type="stmt"/>
        <line num="67" count="5" type="stmt"/>
        <line num="68" count="73" type="stmt"/>
        <line num="69" count="2" type="stmt"/>
        <line num="71" count="5" type="stmt"/>
        <line num="74" count="2" type="stmt"/>
        <line num="75" count="2059" type="stmt"/>
        <line num="76" count="2" type="stmt"/>
        <line num="77" count="75" type="stmt"/>
        <line num="78" count="2" type="stmt"/>
        <line num="80" count="2" type="stmt"/>
        <line num="83" count="2" type="stmt"/>
        <line num="84" count="2059" type="stmt"/>
        <line num="85" count="2" type="stmt"/>
        <line num="86" count="67" type="stmt"/>
        <line num="87" count="2" type="stmt"/>
        <line num="89" count="2" type="stmt"/>
        <line num="92" count="2" type="stmt"/>
        <line num="93" count="2059" type="stmt"/>
        <line num="94" count="2" type="stmt"/>
        <line num="95" count="68" type="stmt"/>
        <line num="97" count="1" type="stmt"/>
        <line num="98" count="15" type="stmt"/>
        <line num="100" count="1" type="stmt"/>
        <line num="102" count="2" type="stmt"/>
        <line num="104" count="23" type="stmt"/>
        <line num="105" count="10" type="stmt"/>
        <line num="106" count="5438" type="stmt"/>
        <line num="109" count="23" type="stmt"/>
        <line num="110" count="5" type="stmt"/>
        <line num="111" count="5" type="stmt"/>
        <line num="113" count="5" type="stmt"/>
        <line num="115" count="64" type="stmt"/>
        <line num="116" count="12762" type="stmt"/>
        <line num="117" count="64" type="stmt"/>
        <line num="118" count="64" type="stmt"/>
        <line num="119" count="12762" type="stmt"/>
        <line num="120" count="64" type="stmt"/>
        <line num="122" count="12698" type="stmt"/>
        <line num="123" count="85174" type="cond" truecount="4" falsecount="2"/>
        <line num="125" count="0" type="stmt"/>
        <line num="128" count="5885" type="stmt"/>
        <line num="130" count="404" type="stmt"/>
        <line num="131" count="37053" type="stmt"/>
        <line num="133" count="404" type="stmt"/>
        <line num="135" count="12698" type="stmt"/>
        <line num="137" count="64" type="stmt"/>
        <line num="139" count="5" type="stmt"/>
        <line num="141" count="5438" type="cond" truecount="2" falsecount="0"/>
        <line num="142" count="5" type="stmt"/>
        <line num="143" count="5438" type="stmt"/>
        <line num="144" count="74" type="stmt"/>
        <line num="146" count="5" type="stmt"/>
      </file>
      <file name="signals-values-table.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-values-table/signals-values-table.component.ts">
        <metrics statements="100" coveredstatements="85" conditionals="30" coveredconditionals="16" methods="32" coveredmethods="28"/>
        <line num="36" count="36" type="stmt"/>
        <line num="37" count="36" type="stmt"/>
        <line num="38" count="36" type="stmt"/>
        <line num="39" count="36" type="stmt"/>
        <line num="40" count="36" type="stmt"/>
        <line num="41" count="36" type="stmt"/>
        <line num="42" count="36" type="stmt"/>
        <line num="43" count="36" type="stmt"/>
        <line num="44" count="36" type="stmt"/>
        <line num="45" count="36" type="stmt"/>
        <line num="46" count="36" type="stmt"/>
        <line num="50" count="79" type="stmt"/>
        <line num="51" count="79" type="stmt"/>
        <line num="52" count="79" type="stmt"/>
        <line num="63" count="130" type="cond" truecount="2" falsecount="0"/>
        <line num="64" count="5" type="stmt"/>
        <line num="65" count="5" type="stmt"/>
        <line num="66" count="5" type="stmt"/>
        <line num="68" count="5" type="stmt"/>
        <line num="73" count="5" type="stmt"/>
        <line num="74" count="5" type="stmt"/>
        <line num="84" count="5" type="stmt"/>
        <line num="92" count="5" type="stmt"/>
        <line num="94" count="5" type="stmt"/>
        <line num="97" count="5" type="stmt"/>
        <line num="98" count="5" type="stmt"/>
        <line num="99" count="5" type="stmt"/>
        <line num="101" count="5" type="stmt"/>
        <line num="111" count="5" type="stmt"/>
        <line num="115" count="5" type="stmt"/>
        <line num="116" count="19" type="stmt"/>
        <line num="117" count="19" type="cond" truecount="2" falsecount="0"/>
        <line num="118" count="14" type="cond" truecount="1" falsecount="1"/>
        <line num="119" count="14" type="stmt"/>
        <line num="122" count="0" type="stmt"/>
        <line num="124" count="14" type="stmt"/>
        <line num="127" count="5" type="stmt"/>
        <line num="133" count="1" type="stmt"/>
        <line num="134" count="1" type="stmt"/>
        <line num="135" count="1" type="stmt"/>
        <line num="142" count="0" type="stmt"/>
        <line num="143" count="0" type="stmt"/>
        <line num="144" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="145" count="0" type="stmt"/>
        <line num="146" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="147" count="0" type="stmt"/>
        <line num="154" count="15" type="stmt"/>
        <line num="155" count="15" type="stmt"/>
        <line num="157" count="15" type="stmt"/>
        <line num="158" count="15" type="stmt"/>
        <line num="159" count="36" type="stmt"/>
        <line num="160" count="36" type="stmt"/>
        <line num="161" count="36" type="stmt"/>
        <line num="163" count="15" type="stmt"/>
        <line num="164" count="15" type="stmt"/>
        <line num="165" count="15" type="stmt"/>
        <line num="166" count="15" type="stmt"/>
        <line num="167" count="15" type="stmt"/>
        <line num="173" count="15" type="stmt"/>
        <line num="174" count="24" type="stmt"/>
        <line num="177" count="24" type="stmt"/>
        <line num="179" count="24" type="stmt"/>
        <line num="180" count="79" type="stmt"/>
        <line num="181" count="79" type="cond" truecount="1" falsecount="1"/>
        <line num="182" count="79" type="stmt"/>
        <line num="185" count="24" type="stmt"/>
        <line num="191" count="15" type="stmt"/>
        <line num="193" count="57" type="stmt"/>
        <line num="194" count="226" type="stmt"/>
        <line num="195" count="226" type="cond" truecount="1" falsecount="1"/>
        <line num="196" count="226" type="stmt"/>
        <line num="197" count="364" type="stmt"/>
        <line num="198" count="226" type="cond" truecount="2" falsecount="0"/>
        <line num="199" count="220" type="stmt"/>
        <line num="201" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="202" count="6" type="stmt"/>
        <line num="203" count="6" type="stmt"/>
        <line num="212" count="5900" type="stmt"/>
        <line num="216" count="5" type="stmt"/>
        <line num="217" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="218" count="0" type="stmt"/>
        <line num="219" count="0" type="stmt"/>
        <line num="225" count="6" type="stmt"/>
        <line num="226" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="227" count="1" type="stmt"/>
        <line num="232" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="233" count="0" type="stmt"/>
        <line num="234" count="0" type="stmt"/>
        <line num="236" count="0" type="stmt"/>
        <line num="240" count="0" type="stmt"/>
        <line num="244" count="36" type="stmt"/>
        <line num="245" count="36" type="cond" truecount="2" falsecount="0"/>
        <line num="246" count="36" type="stmt"/>
        <line num="247" count="36" type="cond" truecount="2" falsecount="0"/>
        <line num="248" count="36" type="stmt"/>
        <line num="250" count="15" type="stmt"/>
        <line num="251" count="15" type="stmt"/>
        <line num="255" count="71" type="stmt"/>
        <line num="259" count="71" type="stmt"/>
        <line num="260" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.theme-builder">
      <metrics statements="121" coveredstatements="112" conditionals="24" coveredconditionals="17" methods="20" coveredmethods="17"/>
      <file name="theme-builder.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/theme-builder/theme-builder.component.html">
        <metrics statements="48" coveredstatements="45" conditionals="10" coveredconditionals="7" methods="4" coveredmethods="4"/>
        <line num="1" count="13183" type="stmt"/>
        <line num="3" count="48" type="stmt"/>
        <line num="4" count="48" type="stmt"/>
        <line num="5" count="48" type="stmt"/>
        <line num="6" count="26366" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="1" type="stmt"/>
        <line num="10" count="48" type="stmt"/>
        <line num="12" count="48" type="stmt"/>
        <line num="13" count="48" type="stmt"/>
        <line num="14" count="48" type="stmt"/>
        <line num="18" count="13183" type="stmt"/>
        <line num="21" count="13183" type="stmt"/>
        <line num="24" count="26366" type="cond" truecount="1" falsecount="1"/>
        <line num="25" count="0" type="stmt"/>
        <line num="28" count="48" type="stmt"/>
        <line num="30" count="48" type="stmt"/>
        <line num="31" count="48" type="stmt"/>
        <line num="33" count="26366" type="stmt"/>
        <line num="34" count="48" type="stmt"/>
        <line num="35" count="26366" type="cond" truecount="1" falsecount="1"/>
        <line num="36" count="0" type="stmt"/>
        <line num="38" count="48" type="stmt"/>
        <line num="40" count="48" type="stmt"/>
        <line num="41" count="48" type="stmt"/>
        <line num="43" count="26366" type="stmt"/>
        <line num="44" count="48" type="stmt"/>
        <line num="45" count="26366" type="cond" truecount="1" falsecount="1"/>
        <line num="46" count="0" type="stmt"/>
        <line num="48" count="48" type="stmt"/>
        <line num="50" count="48" type="stmt"/>
        <line num="51" count="48" type="stmt"/>
        <line num="52" count="48" type="stmt"/>
        <line num="54" count="48" type="stmt"/>
        <line num="55" count="48" type="stmt"/>
        <line num="56" count="26366" type="cond" truecount="2" falsecount="0"/>
        <line num="58" count="1014" type="stmt"/>
        <line num="59" count="5" type="stmt"/>
        <line num="60" count="1014" type="stmt"/>
        <line num="61" count="5" type="stmt"/>
        <line num="62" count="5" type="stmt"/>
        <line num="64" count="5" type="stmt"/>
        <line num="65" count="5" type="stmt"/>
        <line num="66" count="5" type="stmt"/>
        <line num="68" count="48" type="stmt"/>
        <line num="70" count="50" type="stmt"/>
        <line num="71" count="25352" type="stmt"/>
        <line num="72" count="50" type="stmt"/>
        <line num="75" count="48" type="stmt"/>
      </file>
      <file name="theme-builder.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/theme-builder/theme-builder.component.ts">
        <metrics statements="73" coveredstatements="67" conditionals="14" coveredconditionals="10" methods="16" coveredmethods="13"/>
        <line num="17" count="173" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="48" type="stmt"/>
        <line num="19" count="48" type="stmt"/>
        <line num="20" count="48" type="stmt"/>
        <line num="22" count="48" type="stmt"/>
        <line num="24" count="48" type="stmt"/>
        <line num="25" count="48" type="stmt"/>
        <line num="26" count="48" type="stmt"/>
        <line num="30" count="48" type="stmt"/>
        <line num="32" count="48" type="stmt"/>
        <line num="33" count="48" type="stmt"/>
        <line num="36" count="48" type="stmt"/>
        <line num="38" count="48" type="stmt"/>
        <line num="48" count="48" type="stmt"/>
        <line num="50" count="48" type="stmt"/>
        <line num="56" count="55" type="cond" truecount="2" falsecount="0"/>
        <line num="57" count="50" type="stmt"/>
        <line num="59" count="5" type="cond" truecount="1" falsecount="1"/>
        <line num="60" count="5" type="stmt"/>
        <line num="61" count="5" type="stmt"/>
        <line num="62" count="5" type="stmt"/>
        <line num="63" count="5" type="stmt"/>
        <line num="64" count="5" type="stmt"/>
        <line num="65" count="5" type="stmt"/>
        <line num="66" count="5" type="stmt"/>
        <line num="71" count="52732" type="stmt"/>
        <line num="72" count="52732" type="cond" truecount="3" falsecount="1"/>
        <line num="76" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="77" count="0" type="stmt"/>
        <line num="78" count="0" type="stmt"/>
        <line num="80" count="2" type="stmt"/>
        <line num="82" count="2" type="stmt"/>
        <line num="83" count="2" type="stmt"/>
        <line num="84" count="2" type="stmt"/>
        <line num="85" count="2" type="stmt"/>
        <line num="86" count="2" type="stmt"/>
        <line num="87" count="2" type="stmt"/>
        <line num="88" count="2" type="stmt"/>
        <line num="90" count="2" type="stmt"/>
        <line num="92" count="2" type="stmt"/>
        <line num="93" count="2" type="stmt"/>
        <line num="94" count="2" type="stmt"/>
        <line num="95" count="2" type="stmt"/>
        <line num="96" count="2" type="stmt"/>
        <line num="99" count="0" type="stmt"/>
        <line num="105" count="1" type="stmt"/>
        <line num="106" count="1" type="stmt"/>
        <line num="107" count="1" type="stmt"/>
        <line num="108" count="1" type="stmt"/>
        <line num="109" count="1" type="stmt"/>
        <line num="110" count="1" type="stmt"/>
        <line num="111" count="1" type="stmt"/>
        <line num="113" count="1" type="stmt"/>
        <line num="115" count="1" type="stmt"/>
        <line num="116" count="1" type="stmt"/>
        <line num="117" count="1" type="stmt"/>
        <line num="120" count="0" type="stmt"/>
        <line num="126" count="1" type="stmt"/>
        <line num="128" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="129" count="1" type="stmt"/>
        <line num="130" count="1" type="stmt"/>
        <line num="131" count="1" type="stmt"/>
        <line num="134" count="0" type="stmt"/>
        <line num="138" count="0" type="stmt"/>
        <line num="144" count="50" type="stmt"/>
        <line num="145" count="50" type="stmt"/>
        <line num="146" count="50" type="stmt"/>
        <line num="147" count="50" type="stmt"/>
        <line num="148" count="50" type="stmt"/>
        <line num="149" count="50" type="stmt"/>
        <line num="150" count="50" type="stmt"/>
        <line num="154" count="1" type="stmt"/>
        <line num="155" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.themes">
      <metrics statements="31" coveredstatements="31" conditionals="8" coveredconditionals="7" methods="16" coveredmethods="16"/>
      <file name="themes.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/themes/themes.component.html">
        <metrics statements="14" coveredstatements="14" conditionals="4" coveredconditionals="4" methods="7" coveredmethods="7"/>
        <line num="1" count="13231" type="cond" truecount="2" falsecount="0"/>
        <line num="3" count="26366" type="stmt"/>
        <line num="4" count="26366" type="stmt"/>
        <line num="5" count="26366" type="stmt"/>
        <line num="6" count="48" type="stmt"/>
        <line num="8" count="26366" type="stmt"/>
        <line num="9" count="26366" type="stmt"/>
        <line num="10" count="48" type="stmt"/>
        <line num="11" count="26366" type="stmt"/>
        <line num="12" count="13183" type="stmt"/>
        <line num="13" count="48" type="stmt"/>
        <line num="14" count="26366" type="stmt"/>
        <line num="15" count="26414" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="48" type="stmt"/>
      </file>
      <file name="themes.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/themes/themes.component.ts">
        <metrics statements="17" coveredstatements="17" conditionals="4" coveredconditionals="3" methods="9" coveredmethods="9"/>
        <line num="14" count="173" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="48" type="stmt"/>
        <line num="17" count="48" type="stmt"/>
        <line num="20" count="48" type="stmt"/>
        <line num="23" count="48" type="stmt"/>
        <line num="26" count="48" type="stmt"/>
        <line num="30" count="59" type="stmt"/>
        <line num="32" count="59" type="stmt"/>
        <line num="35" count="59" type="stmt"/>
        <line num="37" count="59" type="stmt"/>
        <line num="43" count="9" type="cond" truecount="1" falsecount="1"/>
        <line num="44" count="3" type="stmt"/>
        <line num="45" count="3" type="stmt"/>
        <line num="49" count="2" type="stmt"/>
        <line num="53" count="11" type="stmt"/>
        <line num="54" count="11" type="stmt"/>
        <line num="55" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.themes-list">
      <metrics statements="91" coveredstatements="83" conditionals="30" coveredconditionals="26" methods="16" coveredmethods="13"/>
      <file name="themes-list.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/themes-list/themes-list.component.html">
        <metrics statements="57" coveredstatements="56" conditionals="20" coveredconditionals="20" methods="6" coveredmethods="6"/>
        <line num="1" count="96" type="stmt"/>
        <line num="3" count="26366" type="stmt"/>
        <line num="8" count="273" type="stmt"/>
        <line num="11" count="96" type="stmt"/>
        <line num="15" count="96" type="stmt"/>
        <line num="16" count="96" type="stmt"/>
        <line num="17" count="96" type="stmt"/>
        <line num="18" count="52732" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="48" type="stmt"/>
        <line num="21" count="96" type="stmt"/>
        <line num="22" count="52732" type="cond" truecount="2" falsecount="0"/>
        <line num="23" count="48" type="stmt"/>
        <line num="25" count="96" type="stmt"/>
        <line num="29" count="307" type="stmt"/>
        <line num="30" count="123335" type="stmt"/>
        <line num="31" count="123028" type="cond" truecount="2" falsecount="0"/>
        <line num="32" count="226" type="stmt"/>
        <line num="34" count="307" type="stmt"/>
        <line num="35" count="123335" type="stmt"/>
        <line num="38" count="123028" type="stmt"/>
        <line num="39" count="123028" type="cond" truecount="2" falsecount="0"/>
        <line num="40" count="101" type="stmt"/>
        <line num="43" count="28" type="stmt"/>
        <line num="45" count="307" type="stmt"/>
        <line num="46" count="178" type="stmt"/>
        <line num="48" count="307" type="stmt"/>
        <line num="49" count="307" type="stmt"/>
        <line num="50" count="123028" type="stmt"/>
        <line num="51" count="123028" type="cond" truecount="2" falsecount="0"/>
        <line num="52" count="28" type="stmt"/>
        <line num="55" count="0" type="stmt"/>
        <line num="57" count="307" type="stmt"/>
        <line num="58" count="279" type="stmt"/>
        <line num="62" count="307" type="stmt"/>
        <line num="63" count="123028" type="cond" truecount="2" falsecount="0"/>
        <line num="65" count="54933" type="cond" truecount="2" falsecount="0"/>
        <line num="66" count="133" type="stmt"/>
        <line num="67" count="133" type="stmt"/>
        <line num="69" count="307" type="stmt"/>
        <line num="70" count="123028" type="cond" truecount="2" falsecount="0"/>
        <line num="71" count="55530" type="stmt"/>
        <line num="72" count="273" type="stmt"/>
        <line num="74" count="307" type="stmt"/>
        <line num="75" count="5984" type="stmt"/>
        <line num="76" count="39" type="stmt"/>
        <line num="78" count="307" type="stmt"/>
        <line num="79" count="123028" type="cond" truecount="2" falsecount="0"/>
        <line num="80" count="133" type="stmt"/>
        <line num="81" count="54800" type="cond" truecount="2" falsecount="0"/>
        <line num="82" count="21952" type="stmt"/>
        <line num="83" count="110" type="stmt"/>
        <line num="85" count="133" type="stmt"/>
        <line num="87" count="307" type="stmt"/>
        <line num="89" count="96" type="stmt"/>
        <line num="91" count="98" type="stmt"/>
        <line num="92" count="98" type="stmt"/>
        <line num="94" count="96" type="stmt"/>
      </file>
      <file name="themes-list.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/themes-list/themes-list.component.ts">
        <metrics statements="34" coveredstatements="27" conditionals="10" coveredconditionals="6" methods="10" coveredmethods="7"/>
        <line num="17" count="221" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="96" type="stmt"/>
        <line num="19" count="96" type="stmt"/>
        <line num="22" count="96" type="stmt"/>
        <line num="23" count="96" type="stmt"/>
        <line num="24" count="96" type="stmt"/>
        <line num="27" count="2" type="stmt"/>
        <line num="28" count="2" type="stmt"/>
        <line num="29" count="2" type="stmt"/>
        <line num="31" count="2" type="stmt"/>
        <line num="32" count="2" type="stmt"/>
        <line num="33" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="34" count="1" type="stmt"/>
        <line num="37" count="1" type="stmt"/>
        <line num="41" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="42" count="0" type="stmt"/>
        <line num="45" count="0" type="stmt"/>
        <line num="52" count="5" type="stmt"/>
        <line num="53" count="5" type="stmt"/>
        <line num="54" count="5" type="stmt"/>
        <line num="55" count="5" type="stmt"/>
        <line num="57" count="5" type="stmt"/>
        <line num="58" count="5" type="stmt"/>
        <line num="59" count="5" type="stmt"/>
        <line num="60" count="5" type="cond" truecount="2" falsecount="0"/>
        <line num="61" count="3" type="stmt"/>
        <line num="64" count="2" type="stmt"/>
        <line num="68" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="69" count="0" type="stmt"/>
        <line num="72" count="0" type="stmt"/>
        <line num="79" count="3" type="stmt"/>
        <line num="83" count="91" type="stmt"/>
        <line num="87" count="0" type="stmt"/>
        <line num="88" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.users-table">
      <metrics statements="49" coveredstatements="48" conditionals="14" coveredconditionals="13" methods="8" coveredmethods="6"/>
      <file name="users-table.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/users-table/users-table.component.html">
        <metrics statements="34" coveredstatements="34" conditionals="6" coveredconditionals="6" methods="0" coveredmethods="0"/>
        <line num="2" count="408" type="stmt"/>
        <line num="3" count="7" type="stmt"/>
        <line num="4" count="7" type="stmt"/>
        <line num="5" count="7" type="stmt"/>
        <line num="7" count="7" type="stmt"/>
        <line num="8" count="7" type="stmt"/>
        <line num="11" count="204" type="stmt"/>
        <line num="13" count="204" type="stmt"/>
        <line num="16" count="4" type="stmt"/>
        <line num="17" count="4" type="stmt"/>
        <line num="18" count="4" type="stmt"/>
        <line num="19" count="4" type="stmt"/>
        <line num="20" count="4" type="stmt"/>
        <line num="21" count="4" type="stmt"/>
        <line num="22" count="4" type="stmt"/>
        <line num="23" count="4" type="stmt"/>
        <line num="25" count="7" type="stmt"/>
        <line num="27" count="384" type="stmt"/>
        <line num="28" count="384" type="stmt"/>
        <line num="29" count="384" type="stmt"/>
        <line num="30" count="384" type="stmt"/>
        <line num="31" count="16" type="stmt"/>
        <line num="32" count="184" type="cond" truecount="2" falsecount="0"/>
        <line num="33" count="16" type="stmt"/>
        <line num="34" count="16" type="stmt"/>
        <line num="35" count="184" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="16" type="stmt"/>
        <line num="37" count="16" type="stmt"/>
        <line num="38" count="368" type="cond" truecount="2" falsecount="0"/>
        <line num="39" count="138" type="stmt"/>
        <line num="41" count="16" type="stmt"/>
        <line num="42" count="46" type="stmt"/>
        <line num="45" count="16" type="stmt"/>
        <line num="48" count="7" type="stmt"/>
      </file>
      <file name="users-table.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/users-table/users-table.component.ts">
        <metrics statements="15" coveredstatements="14" conditionals="8" coveredconditionals="7" methods="8" coveredmethods="6"/>
        <line num="16" count="132" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="7" type="stmt"/>
        <line num="24" count="4" type="stmt"/>
        <line num="26" count="4" type="stmt"/>
        <line num="27" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="28" count="4" type="stmt"/>
        <line num="29" count="4" type="stmt"/>
        <line num="30" count="0" type="stmt"/>
        <line num="40" count="184" type="cond" truecount="2" falsecount="0"/>
        <line num="41" count="80" type="stmt"/>
        <line num="43" count="104" type="stmt"/>
        <line num="47" count="184" type="cond" truecount="2" falsecount="0"/>
        <line num="48" count="46" type="stmt"/>
        <line num="50" count="138" type="stmt"/>
        <line num="51" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.videos">
      <metrics statements="46" coveredstatements="39" conditionals="18" coveredconditionals="10" methods="15" coveredmethods="12"/>
      <file name="videos.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/videos/videos.component.html">
        <metrics statements="15" coveredstatements="15" conditionals="6" coveredconditionals="6" methods="2" coveredmethods="2"/>
        <line num="1" count="381" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="4" type="stmt"/>
        <line num="5" count="762" type="cond" truecount="2" falsecount="0"/>
        <line num="9" count="4" type="stmt"/>
        <line num="10" count="550" type="stmt"/>
        <line num="12" count="279" type="cond" truecount="2" falsecount="0"/>
        <line num="14" count="275" type="stmt"/>
        <line num="16" count="4" type="stmt"/>
        <line num="19" count="4" type="stmt"/>
        <line num="20" count="4" type="stmt"/>
        <line num="21" count="554" type="stmt"/>
        <line num="23" count="127" type="stmt"/>
        <line num="24" count="126" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="28" count="4" type="stmt"/>
      </file>
      <file name="videos.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/videos/videos.component.ts">
        <metrics statements="31" coveredstatements="24" conditionals="12" coveredconditionals="4" methods="13" coveredmethods="10"/>
        <line num="17" count="130" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="5" type="stmt"/>
        <line num="19" count="5" type="stmt"/>
        <line num="22" count="5" type="stmt"/>
        <line num="25" count="8" type="stmt"/>
        <line num="27" count="5" type="stmt"/>
        <line num="28" count="5" type="stmt"/>
        <line num="29" count="5" type="stmt"/>
        <line num="33" count="4" type="stmt"/>
        <line num="35" count="4" type="stmt"/>
        <line num="36" count="4" type="stmt"/>
        <line num="39" count="0" type="stmt"/>
        <line num="45" count="2" type="stmt"/>
        <line num="49" count="1" type="stmt"/>
        <line num="50" count="1" type="stmt"/>
        <line num="51" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="52" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="55" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="56" count="1" type="stmt"/>
        <line num="57" count="1" type="stmt"/>
        <line num="58" count="1" type="stmt"/>
        <line num="59" count="1" type="stmt"/>
        <line num="63" count="0" type="stmt"/>
        <line num="71" count="3" type="stmt"/>
        <line num="72" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="73" count="0" type="stmt"/>
        <line num="74" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="75" count="0" type="stmt"/>
        <line num="77" count="0" type="stmt"/>
        <line num="80" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.view-builder">
      <metrics statements="137" coveredstatements="116" conditionals="60" coveredconditionals="45" methods="23" coveredmethods="19"/>
      <file name="view-builder.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/view-builder/view-builder.component.html">
        <metrics statements="41" coveredstatements="38" conditionals="16" coveredconditionals="13" methods="7" coveredmethods="7"/>
        <line num="2" count="2" type="stmt"/>
        <line num="3" count="920" type="cond" truecount="2" falsecount="0"/>
        <line num="4" count="1" type="stmt"/>
        <line num="6" count="920" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="301" type="stmt"/>
        <line num="9" count="2" type="stmt"/>
        <line num="10" count="920" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="13" count="2" type="stmt"/>
        <line num="14" count="920" type="cond" truecount="1" falsecount="1"/>
        <line num="15" count="0" type="stmt"/>
        <line num="18" count="922" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="920" type="cond" truecount="1" falsecount="1"/>
        <line num="20" count="0" type="stmt"/>
        <line num="22" count="920" type="cond" truecount="1" falsecount="1"/>
        <line num="23" count="0" type="stmt"/>
        <line num="26" count="2" type="stmt"/>
        <line num="29" count="8" type="stmt"/>
        <line num="30" count="2" type="stmt"/>
        <line num="31" count="2" type="stmt"/>
        <line num="32" count="2" type="stmt"/>
        <line num="33" count="2" type="stmt"/>
        <line num="34" count="2" type="stmt"/>
        <line num="35" count="2" type="stmt"/>
        <line num="36" count="2" type="stmt"/>
        <line num="37" count="2" type="stmt"/>
        <line num="38" count="2" type="stmt"/>
        <line num="39" count="2" type="stmt"/>
        <line num="40" count="2" type="stmt"/>
        <line num="42" count="2" type="stmt"/>
        <line num="44" count="922" type="cond" truecount="2" falsecount="0"/>
        <line num="45" count="8" type="stmt"/>
        <line num="48" count="2" type="stmt"/>
        <line num="49" count="2" type="stmt"/>
        <line num="50" count="920" type="cond" truecount="2" falsecount="0"/>
        <line num="51" count="2" type="stmt"/>
        <line num="52" count="2" type="stmt"/>
        <line num="53" count="300" type="stmt"/>
        <line num="55" count="2" type="stmt"/>
        <line num="56" count="2" type="stmt"/>
        <line num="60" count="2" type="stmt"/>
      </file>
      <file name="view-builder.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/view-builder/view-builder.component.ts">
        <metrics statements="96" coveredstatements="78" conditionals="44" coveredconditionals="32" methods="16" coveredmethods="12"/>
        <line num="16" count="127" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="2" type="stmt"/>
        <line num="18" count="2" type="stmt"/>
        <line num="19" count="2" type="stmt"/>
        <line num="20" count="2" type="stmt"/>
        <line num="21" count="2" type="stmt"/>
        <line num="23" count="2" type="stmt"/>
        <line num="24" count="2" type="stmt"/>
        <line num="25" count="2" type="stmt"/>
        <line num="28" count="2" type="stmt"/>
        <line num="32" count="2" type="stmt"/>
        <line num="33" count="2" type="stmt"/>
        <line num="34" count="2" type="stmt"/>
        <line num="37" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="38" count="2" type="stmt"/>
        <line num="43" count="2" type="stmt"/>
        <line num="44" count="2" type="stmt"/>
        <line num="45" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="46" count="1" type="stmt"/>
        <line num="48" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="49" count="1" type="stmt"/>
        <line num="50" count="1" type="stmt"/>
        <line num="51" count="1" type="stmt"/>
        <line num="54" count="0" type="stmt"/>
        <line num="58" count="0" type="stmt"/>
        <line num="65" count="8" type="stmt"/>
        <line num="66" count="8" type="cond" truecount="8" falsecount="3"/>
        <line num="68" count="1" type="stmt"/>
        <line num="75" count="1" type="stmt"/>
        <line num="78" count="1" type="stmt"/>
        <line num="85" count="1" type="stmt"/>
        <line num="88" count="1" type="stmt"/>
        <line num="93" count="1" type="stmt"/>
        <line num="96" count="1" type="stmt"/>
        <line num="103" count="1" type="stmt"/>
        <line num="106" count="1" type="stmt"/>
        <line num="111" count="1" type="stmt"/>
        <line num="114" count="1" type="stmt"/>
        <line num="121" count="1" type="stmt"/>
        <line num="124" count="1" type="stmt"/>
        <line num="129" count="1" type="stmt"/>
        <line num="132" count="0" type="stmt"/>
        <line num="137" count="0" type="stmt"/>
        <line num="140" count="1" type="stmt"/>
        <line num="145" count="1" type="stmt"/>
        <line num="148" count="0" type="stmt"/>
        <line num="157" count="0" type="stmt"/>
        <line num="160" count="0" type="stmt"/>
        <line num="163" count="8" type="stmt"/>
        <line num="167" count="8" type="stmt"/>
        <line num="168" count="8" type="stmt"/>
        <line num="169" count="8" type="stmt"/>
        <line num="171" count="8" type="stmt"/>
        <line num="172" count="8" type="cond" truecount="2" falsecount="0"/>
        <line num="173" count="7" type="stmt"/>
        <line num="176" count="1" type="stmt"/>
        <line num="178" count="8" type="stmt"/>
        <line num="181" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="182" count="0" type="stmt"/>
        <line num="185" count="0" type="stmt"/>
        <line num="191" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="192" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="193" count="1" type="stmt"/>
        <line num="195" count="1" type="stmt"/>
        <line num="198" count="0" type="stmt"/>
        <line num="203" count="1" type="stmt"/>
        <line num="205" count="1" type="stmt"/>
        <line num="206" count="1" type="stmt"/>
        <line num="207" count="1" type="stmt"/>
        <line num="210" count="0" type="stmt"/>
        <line num="218" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="219" count="1" type="stmt"/>
        <line num="221" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="222" count="1" type="stmt"/>
        <line num="223" count="1" type="stmt"/>
        <line num="226" count="0" type="stmt"/>
        <line num="230" count="0" type="stmt"/>
        <line num="237" count="2" type="stmt"/>
        <line num="238" count="2" type="stmt"/>
        <line num="239" count="2" type="stmt"/>
        <line num="242" count="2" type="cond" truecount="3" falsecount="1"/>
        <line num="243" count="0" type="stmt"/>
        <line num="246" count="2" type="stmt"/>
        <line num="250" count="2" type="stmt"/>
        <line num="251" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="252" count="0" type="stmt"/>
        <line num="255" count="2" type="stmt"/>
        <line num="259" count="2" type="stmt"/>
        <line num="260" count="16" type="cond" truecount="2" falsecount="0"/>
        <line num="265" count="2" type="cond" truecount="4" falsecount="1"/>
        <line num="266" count="0" type="stmt"/>
        <line num="270" count="2" type="stmt"/>
        <line num="271" count="2" type="stmt"/>
        <line num="276" count="2" type="stmt"/>
        <line num="279" count="0" type="stmt"/>
        <line num="281" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.guards">
      <metrics statements="15" coveredstatements="15" conditionals="4" coveredconditionals="4" methods="2" coveredmethods="2"/>
      <file name="admin.guard.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/guards/admin.guard.ts">
        <metrics statements="8" coveredstatements="8" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="5" count="125" type="stmt"/>
        <line num="6" count="12" type="stmt"/>
        <line num="7" count="12" type="stmt"/>
        <line num="9" count="12" type="stmt"/>
        <line num="10" count="12" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="2" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="15" count="10" type="stmt"/>
      </file>
      <file name="auth.guard.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/guards/auth.guard.ts">
        <metrics statements="7" coveredstatements="7" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="5" count="125" type="stmt"/>
        <line num="6" count="247" type="stmt"/>
        <line num="7" count="247" type="stmt"/>
        <line num="9" count="247" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="22" type="stmt"/>
        <line num="11" count="22" type="stmt"/>
        <line num="13" count="225" type="stmt"/>
      </file>
    </package>
    <package name="src.app.http-interceptors">
      <metrics statements="8" coveredstatements="8" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
      <file name="auth.interceptor.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/http-interceptors/auth.interceptor.ts">
        <metrics statements="8" coveredstatements="8" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
        <line num="7" count="2696" type="stmt"/>
        <line num="8" count="2696" type="stmt"/>
        <line num="10" count="2696" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="145" type="stmt"/>
        <line num="14" count="2551" type="stmt"/>
        <line num="18" count="2551" type="stmt"/>
        <line num="22" count="2551" type="stmt"/>
        <line num="25" count="190" type="stmt"/>
      </file>
    </package>
    <package name="src.app.models">
      <metrics statements="1057" coveredstatements="778" conditionals="240" coveredconditionals="151" methods="153" coveredmethods="115"/>
      <file name="canvas.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/canvas.ts">
        <metrics statements="280" coveredstatements="187" conditionals="35" coveredconditionals="25" methods="50" coveredmethods="36"/>
        <line num="12" count="3850" type="stmt"/>
        <line num="13" count="3850" type="stmt"/>
        <line num="17" count="1142" type="stmt"/>
        <line num="21" count="0" type="stmt"/>
        <line num="25" count="0" type="stmt"/>
        <line num="29" count="12" type="stmt"/>
        <line num="40" count="250" type="stmt"/>
        <line num="41" count="250" type="stmt"/>
        <line num="42" count="250" type="stmt"/>
        <line num="43" count="250" type="stmt"/>
        <line num="47" count="125" type="stmt"/>
        <line num="48" count="125" type="stmt"/>
        <line num="56" count="662" type="stmt"/>
        <line num="57" count="662" type="stmt"/>
        <line num="58" count="662" type="stmt"/>
        <line num="67" count="366" type="stmt"/>
        <line num="68" count="366" type="stmt"/>
        <line num="78" count="1390" type="stmt"/>
        <line num="79" count="1390" type="stmt"/>
        <line num="80" count="1390" type="stmt"/>
        <line num="85" count="40" type="stmt"/>
        <line num="86" count="40" type="stmt"/>
        <line num="87" count="40" type="stmt"/>
        <line num="88" count="40" type="stmt"/>
        <line num="89" count="40" type="stmt"/>
        <line num="100" count="1370" type="stmt"/>
        <line num="104" count="894" type="stmt"/>
        <line num="105" count="894" type="stmt"/>
        <line num="106" count="894" type="stmt"/>
        <line num="107" count="894" type="stmt"/>
        <line num="108" count="894" type="stmt"/>
        <line num="109" count="894" type="stmt"/>
        <line num="110" count="894" type="stmt"/>
        <line num="111" count="894" type="stmt"/>
        <line num="117" count="338" type="stmt"/>
        <line num="118" count="338" type="stmt"/>
        <line num="120" count="338" type="cond" truecount="1" falsecount="1"/>
        <line num="121" count="338" type="stmt"/>
        <line num="122" count="338" type="stmt"/>
        <line num="125" count="338" type="cond" truecount="2" falsecount="0"/>
        <line num="126" count="334" type="stmt"/>
        <line num="127" count="334" type="stmt"/>
        <line num="128" count="334" type="stmt"/>
        <line num="131" count="338" type="stmt"/>
        <line num="136" count="274" type="stmt"/>
        <line num="141" count="274" type="stmt"/>
        <line num="142" count="274" type="stmt"/>
        <line num="144" count="274" type="cond" truecount="1" falsecount="1"/>
        <line num="145" count="274" type="stmt"/>
        <line num="146" count="274" type="stmt"/>
        <line num="149" count="274" type="cond" truecount="1" falsecount="1"/>
        <line num="150" count="274" type="stmt"/>
        <line num="151" count="274" type="stmt"/>
        <line num="152" count="274" type="stmt"/>
        <line num="155" count="274" type="stmt"/>
        <line num="160" count="20" type="stmt"/>
        <line num="163" count="20" type="stmt"/>
        <line num="164" count="20" type="stmt"/>
        <line num="167" count="20" type="stmt"/>
        <line num="169" count="20" type="stmt"/>
        <line num="172" count="20" type="stmt"/>
        <line num="175" count="20" type="stmt"/>
        <line num="176" count="20" type="stmt"/>
        <line num="177" count="20" type="stmt"/>
        <line num="180" count="20" type="cond" truecount="2" falsecount="0"/>
        <line num="183" count="20" type="stmt"/>
        <line num="184" count="20" type="stmt"/>
        <line num="187" count="20" type="cond" truecount="1" falsecount="1"/>
        <line num="188" count="20" type="stmt"/>
        <line num="189" count="20" type="stmt"/>
        <line num="192" count="20" type="cond" truecount="1" falsecount="1"/>
        <line num="193" count="20" type="stmt"/>
        <line num="194" count="20" type="stmt"/>
        <line num="195" count="20" type="stmt"/>
        <line num="198" count="20" type="stmt"/>
        <line num="204" count="366" type="stmt"/>
        <line num="206" count="366" type="stmt"/>
        <line num="207" count="366" type="stmt"/>
        <line num="209" count="366" type="stmt"/>
        <line num="210" count="366" type="stmt"/>
        <line num="211" count="366" type="stmt"/>
        <line num="212" count="366" type="stmt"/>
        <line num="216" count="366" type="stmt"/>
        <line num="217" count="366" type="stmt"/>
        <line num="218" count="366" type="stmt"/>
        <line num="222" count="366" type="stmt"/>
        <line num="227" count="366" type="stmt"/>
        <line num="228" count="366" type="stmt"/>
        <line num="231" count="366" type="stmt"/>
        <line num="232" count="366" type="stmt"/>
        <line num="233" count="366" type="stmt"/>
        <line num="236" count="366" type="stmt"/>
        <line num="240" count="0" type="stmt"/>
        <line num="242" count="0" type="stmt"/>
        <line num="243" count="0" type="stmt"/>
        <line num="244" count="0" type="stmt"/>
        <line num="247" count="0" type="stmt"/>
        <line num="248" count="0" type="stmt"/>
        <line num="249" count="0" type="stmt"/>
        <line num="253" count="450" type="stmt"/>
        <line num="255" count="450" type="stmt"/>
        <line num="256" count="450" type="stmt"/>
        <line num="257" count="1506" type="stmt"/>
        <line num="260" count="450" type="stmt"/>
        <line num="261" count="450" type="stmt"/>
        <line num="262" count="450" type="stmt"/>
        <line num="263" count="450" type="cond" truecount="2" falsecount="0"/>
        <line num="264" count="140" type="stmt"/>
        <line num="265" count="140" type="stmt"/>
        <line num="267" count="450" type="stmt"/>
        <line num="271" count="0" type="stmt"/>
        <line num="272" count="0" type="stmt"/>
        <line num="273" count="0" type="stmt"/>
        <line num="274" count="0" type="stmt"/>
        <line num="275" count="0" type="stmt"/>
        <line num="276" count="0" type="stmt"/>
        <line num="277" count="0" type="stmt"/>
        <line num="290" count="18" type="cond" truecount="2" falsecount="0"/>
        <line num="291" count="6" type="stmt"/>
        <line num="292" count="6" type="stmt"/>
        <line num="295" count="18" type="cond" truecount="2" falsecount="0"/>
        <line num="296" count="6" type="stmt"/>
        <line num="297" count="6" type="stmt"/>
        <line num="300" count="18" type="stmt"/>
        <line num="301" count="18" type="stmt"/>
        <line num="302" count="18" type="stmt"/>
        <line num="303" count="18" type="stmt"/>
        <line num="308" count="0" type="stmt"/>
        <line num="312" count="12" type="stmt"/>
        <line num="316" count="6" type="stmt"/>
        <line num="317" count="6" type="stmt"/>
        <line num="318" count="6" type="stmt"/>
        <line num="319" count="6" type="stmt"/>
        <line num="320" count="6" type="stmt"/>
        <line num="321" count="192" type="stmt"/>
        <line num="322" count="192" type="stmt"/>
        <line num="323" count="192" type="stmt"/>
        <line num="324" count="192" type="stmt"/>
        <line num="326" count="6" type="stmt"/>
        <line num="335" count="6" type="stmt"/>
        <line num="336" count="6" type="stmt"/>
        <line num="337" count="6" type="stmt"/>
        <line num="341" count="2372" type="stmt"/>
        <line num="345" count="2372" type="stmt"/>
        <line num="349" count="2360" type="stmt"/>
        <line num="353" count="2360" type="stmt"/>
        <line num="357" count="6" type="stmt"/>
        <line num="358" count="6" type="stmt"/>
        <line num="359" count="6" type="stmt"/>
        <line num="363" count="6" type="stmt"/>
        <line num="368" count="12" type="stmt"/>
        <line num="369" count="12" type="cond" truecount="2" falsecount="0"/>
        <line num="371" count="10" type="stmt"/>
        <line num="372" count="10" type="stmt"/>
        <line num="373" count="10" type="stmt"/>
        <line num="374" count="10" type="stmt"/>
        <line num="375" count="10" type="stmt"/>
        <line num="379" count="2" type="stmt"/>
        <line num="380" count="2" type="stmt"/>
        <line num="381" count="2" type="stmt"/>
        <line num="382" count="2" type="stmt"/>
        <line num="383" count="2" type="stmt"/>
        <line num="385" count="12" type="stmt"/>
        <line num="386" count="12" type="stmt"/>
        <line num="391" count="6" type="stmt"/>
        <line num="392" count="6" type="stmt"/>
        <line num="393" count="6" type="stmt"/>
        <line num="394" count="6" type="stmt"/>
        <line num="398" count="0" type="stmt"/>
        <line num="399" count="0" type="stmt"/>
        <line num="400" count="0" type="stmt"/>
        <line num="401" count="0" type="stmt"/>
        <line num="405" count="0" type="stmt"/>
        <line num="406" count="0" type="stmt"/>
        <line num="407" count="0" type="stmt"/>
        <line num="408" count="0" type="stmt"/>
        <line num="409" count="0" type="stmt"/>
        <line num="410" count="0" type="stmt"/>
        <line num="414" count="0" type="stmt"/>
        <line num="415" count="0" type="stmt"/>
        <line num="416" count="0" type="stmt"/>
        <line num="417" count="0" type="stmt"/>
        <line num="418" count="0" type="stmt"/>
        <line num="419" count="0" type="stmt"/>
        <line num="425" count="2266" type="stmt"/>
        <line num="426" count="2266" type="stmt"/>
        <line num="427" count="2266" type="stmt"/>
        <line num="431" count="22" type="stmt"/>
        <line num="432" count="22" type="stmt"/>
        <line num="433" count="22" type="stmt"/>
        <line num="448" count="6" type="stmt"/>
        <line num="450" count="6" type="stmt"/>
        <line num="451" count="6" type="stmt"/>
        <line num="454" count="6" type="stmt"/>
        <line num="455" count="6" type="stmt"/>
        <line num="456" count="6" type="stmt"/>
        <line num="458" count="6" type="stmt"/>
        <line num="459" count="6" type="stmt"/>
        <line num="460" count="6" type="stmt"/>
        <line num="462" count="6" type="stmt"/>
        <line num="463" count="0" type="stmt"/>
        <line num="464" count="0" type="stmt"/>
        <line num="467" count="6" type="stmt"/>
        <line num="468" count="22" type="stmt"/>
        <line num="469" count="22" type="stmt"/>
        <line num="471" count="22" type="stmt"/>
        <line num="473" count="22" type="stmt"/>
        <line num="476" count="6" type="stmt"/>
        <line num="477" count="0" type="stmt"/>
        <line num="481" count="6" type="stmt"/>
        <line num="482" count="22" type="cond" truecount="1" falsecount="1"/>
        <line num="483" count="0" type="stmt"/>
        <line num="484" count="0" type="stmt"/>
        <line num="485" count="0" type="stmt"/>
        <line num="486" count="0" type="stmt"/>
        <line num="487" count="0" type="stmt"/>
        <line num="491" count="6" type="stmt"/>
        <line num="492" count="0" type="stmt"/>
        <line num="493" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="494" count="0" type="stmt"/>
        <line num="496" count="0" type="stmt"/>
        <line num="497" count="0" type="stmt"/>
        <line num="500" count="6" type="stmt"/>
        <line num="501" count="6" type="stmt"/>
        <line num="505" count="22" type="stmt"/>
        <line num="506" count="22" type="stmt"/>
        <line num="507" count="22" type="stmt"/>
        <line num="510" count="22" type="stmt"/>
        <line num="517" count="6" type="stmt"/>
        <line num="518" count="6" type="stmt"/>
        <line num="519" count="6" type="stmt"/>
        <line num="524" count="0" type="stmt"/>
        <line num="525" count="0" type="stmt"/>
        <line num="526" count="0" type="stmt"/>
        <line num="528" count="0" type="stmt"/>
        <line num="529" count="0" type="stmt"/>
        <line num="530" count="0" type="stmt"/>
        <line num="531" count="0" type="stmt"/>
        <line num="532" count="0" type="stmt"/>
        <line num="533" count="0" type="stmt"/>
        <line num="534" count="0" type="stmt"/>
        <line num="537" count="0" type="stmt"/>
        <line num="538" count="0" type="stmt"/>
        <line num="539" count="0" type="stmt"/>
        <line num="540" count="0" type="stmt"/>
        <line num="541" count="0" type="stmt"/>
        <line num="542" count="0" type="stmt"/>
        <line num="543" count="0" type="stmt"/>
        <line num="548" count="0" type="stmt"/>
        <line num="549" count="0" type="stmt"/>
        <line num="550" count="0" type="stmt"/>
        <line num="552" count="0" type="stmt"/>
        <line num="553" count="0" type="stmt"/>
        <line num="554" count="0" type="stmt"/>
        <line num="555" count="0" type="stmt"/>
        <line num="556" count="0" type="stmt"/>
        <line num="557" count="0" type="stmt"/>
        <line num="558" count="0" type="stmt"/>
        <line num="564" count="0" type="stmt"/>
        <line num="566" count="0" type="stmt"/>
        <line num="567" count="0" type="stmt"/>
        <line num="568" count="0" type="stmt"/>
        <line num="569" count="0" type="stmt"/>
        <line num="570" count="0" type="stmt"/>
        <line num="571" count="0" type="stmt"/>
        <line num="573" count="0" type="stmt"/>
        <line num="574" count="0" type="stmt"/>
        <line num="575" count="0" type="stmt"/>
        <line num="576" count="0" type="stmt"/>
        <line num="577" count="0" type="stmt"/>
        <line num="579" count="0" type="stmt"/>
        <line num="581" count="0" type="stmt"/>
        <line num="582" count="0" type="stmt"/>
        <line num="583" count="0" type="stmt"/>
        <line num="584" count="0" type="stmt"/>
        <line num="585" count="0" type="stmt"/>
        <line num="587" count="0" type="stmt"/>
        <line num="593" count="16" type="stmt"/>
        <line num="594" count="16" type="cond" truecount="1" falsecount="1"/>
        <line num="595" count="0" type="stmt"/>
      </file>
      <file name="colorSetting.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/colorSetting.ts">
        <metrics statements="4" coveredstatements="4" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="19" count="125" type="cond" truecount="2" falsecount="0"/>
        <line num="20" count="125" type="stmt"/>
        <line num="21" count="125" type="stmt"/>
        <line num="22" count="125" type="stmt"/>
      </file>
      <file name="devices.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/devices.ts">
        <metrics statements="5" coveredstatements="5" conditionals="4" coveredconditionals="4" methods="1" coveredmethods="1"/>
        <line num="55" count="194" type="cond" truecount="2" falsecount="0"/>
        <line num="56" count="162" type="stmt"/>
        <line num="58" count="32" type="cond" truecount="2" falsecount="0"/>
        <line num="59" count="12" type="stmt"/>
        <line num="62" count="20" type="stmt"/>
      </file>
      <file name="events.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/events.ts">
        <metrics statements="6" coveredstatements="6" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
        <line num="9" count="1" type="stmt"/>
        <line num="10" count="1" type="stmt"/>
        <line num="11" count="2" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="14" count="2" type="stmt"/>
        <line num="16" count="1" type="stmt"/>
      </file>
      <file name="petri.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/petri.ts">
        <metrics statements="248" coveredstatements="189" conditionals="83" coveredconditionals="40" methods="31" coveredmethods="26"/>
        <line num="4" count="125" type="stmt"/>
        <line num="5" count="125" type="stmt"/>
        <line num="8" count="366" type="cond" truecount="2" falsecount="0"/>
        <line num="9" count="186" type="stmt"/>
        <line num="11" count="180" type="stmt"/>
        <line num="12" count="125" type="stmt"/>
        <line num="20" count="58" type="stmt"/>
        <line num="24" count="174" type="stmt"/>
        <line num="26" count="174" type="stmt"/>
        <line num="27" count="174" type="stmt"/>
        <line num="28" count="174" type="stmt"/>
        <line num="29" count="174" type="stmt"/>
        <line num="30" count="174" type="stmt"/>
        <line num="31" count="174" type="cond" truecount="2" falsecount="0"/>
        <line num="32" count="4" type="stmt"/>
        <line num="34" count="174" type="stmt"/>
        <line num="35" count="174" type="stmt"/>
        <line num="45" count="64" type="stmt"/>
        <line num="49" count="192" type="stmt"/>
        <line num="50" count="192" type="stmt"/>
        <line num="51" count="192" type="stmt"/>
        <line num="52" count="192" type="stmt"/>
        <line num="54" count="192" type="stmt"/>
        <line num="56" count="192" type="stmt"/>
        <line num="57" count="192" type="stmt"/>
        <line num="58" count="192" type="stmt"/>
        <line num="59" count="192" type="stmt"/>
        <line num="60" count="192" type="stmt"/>
        <line num="62" count="192" type="stmt"/>
        <line num="63" count="192" type="stmt"/>
        <line num="72" count="366" type="stmt"/>
        <line num="73" count="366" type="stmt"/>
        <line num="74" count="366" type="stmt"/>
        <line num="75" count="366" type="stmt"/>
        <line num="76" count="366" type="stmt"/>
        <line num="77" count="366" type="stmt"/>
        <line num="78" count="366" type="stmt"/>
        <line num="79" count="366" type="cond" truecount="2" falsecount="0"/>
        <line num="81" count="360" type="cond" truecount="2" falsecount="0"/>
        <line num="82" count="192" type="stmt"/>
        <line num="83" count="192" type="stmt"/>
        <line num="86" count="168" type="stmt"/>
        <line num="87" count="168" type="stmt"/>
        <line num="89" count="360" type="stmt"/>
        <line num="94" count="6" type="stmt"/>
        <line num="95" count="6" type="stmt"/>
        <line num="96" count="6" type="stmt"/>
        <line num="97" count="6" type="stmt"/>
        <line num="99" count="6" type="stmt"/>
        <line num="100" count="6" type="stmt"/>
        <line num="101" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="102" count="6" type="stmt"/>
        <line num="103" count="6" type="stmt"/>
        <line num="104" count="6" type="stmt"/>
        <line num="106" count="6" type="stmt"/>
        <line num="107" count="6" type="stmt"/>
        <line num="108" count="6" type="stmt"/>
        <line num="119" count="64" type="stmt"/>
        <line num="120" count="64" type="stmt"/>
        <line num="121" count="64" type="stmt"/>
        <line num="130" count="58" type="stmt"/>
        <line num="131" count="58" type="stmt"/>
        <line num="132" count="58" type="stmt"/>
        <line num="159" count="244" type="stmt"/>
        <line num="173" count="2" type="stmt"/>
        <line num="174" count="2" type="stmt"/>
        <line num="177" count="2" type="stmt"/>
        <line num="178" count="2" type="stmt"/>
        <line num="179" count="2" type="stmt"/>
        <line num="180" count="2" type="stmt"/>
        <line num="181" count="2" type="stmt"/>
        <line num="182" count="2" type="stmt"/>
        <line num="184" count="2" type="stmt"/>
        <line num="186" count="2" type="stmt"/>
        <line num="187" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="188" count="0" type="stmt"/>
        <line num="190" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="191" count="0" type="stmt"/>
        <line num="200" count="2" type="stmt"/>
        <line num="201" count="2" type="stmt"/>
        <line num="202" count="58" type="stmt"/>
        <line num="205" count="2" type="stmt"/>
        <line num="207" count="2" type="stmt"/>
        <line num="208" count="64" type="stmt"/>
        <line num="211" count="2" type="stmt"/>
        <line num="212" count="2" type="stmt"/>
        <line num="213" count="64" type="stmt"/>
        <line num="214" count="64" type="stmt"/>
        <line num="215" count="64" type="stmt"/>
        <line num="217" count="2" type="stmt"/>
        <line num="218" count="2" type="stmt"/>
        <line num="219" count="58" type="stmt"/>
        <line num="220" count="58" type="stmt"/>
        <line num="221" count="58" type="stmt"/>
        <line num="224" count="2" type="stmt"/>
        <line num="229" count="12" type="stmt"/>
        <line num="230" count="12" type="stmt"/>
        <line num="231" count="12" type="stmt"/>
        <line num="232" count="12" type="stmt"/>
        <line num="233" count="348" type="stmt"/>
        <line num="234" count="384" type="stmt"/>
        <line num="235" count="12" type="stmt"/>
        <line num="236" count="732" type="stmt"/>
        <line num="237" count="732" type="cond" truecount="1" falsecount="1"/>
        <line num="238" count="0" type="stmt"/>
        <line num="240" count="732" type="stmt"/>
        <line num="241" count="732" type="cond" truecount="4" falsecount="0"/>
        <line num="242" count="12" type="stmt"/>
        <line num="243" count="12" type="stmt"/>
        <line num="246" count="12" type="cond" truecount="2" falsecount="0"/>
        <line num="247" count="6" type="stmt"/>
        <line num="249" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="250" count="6" type="stmt"/>
        <line num="252" count="12" type="stmt"/>
        <line num="257" count="120" type="cond" truecount="2" falsecount="0"/>
        <line num="258" count="62" type="stmt"/>
        <line num="261" count="58" type="stmt"/>
        <line num="263" count="120" type="stmt"/>
        <line num="264" count="120" type="stmt"/>
        <line num="265" count="3654" type="cond" truecount="2" falsecount="0"/>
        <line num="266" count="120" type="stmt"/>
        <line num="269" count="120" type="stmt"/>
        <line num="274" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="275" count="0" type="stmt"/>
        <line num="278" count="0" type="stmt"/>
        <line num="280" count="0" type="stmt"/>
        <line num="281" count="0" type="stmt"/>
        <line num="282" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="283" count="0" type="stmt"/>
        <line num="286" count="0" type="stmt"/>
        <line num="290" count="0" type="stmt"/>
        <line num="296" count="2" type="stmt"/>
        <line num="297" count="2" type="stmt"/>
        <line num="298" count="2" type="stmt"/>
        <line num="299" count="2" type="stmt"/>
        <line num="300" count="2" type="stmt"/>
        <line num="301" count="2" type="stmt"/>
        <line num="302" count="2" type="stmt"/>
        <line num="303" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="304" count="98" type="stmt"/>
        <line num="305" count="98" type="stmt"/>
        <line num="306" count="120" type="stmt"/>
        <line num="307" count="120" type="cond" truecount="1" falsecount="1"/>
        <line num="308" count="120" type="stmt"/>
        <line num="309" count="120" type="stmt"/>
        <line num="313" count="98" type="stmt"/>
        <line num="314" count="98" type="stmt"/>
        <line num="316" count="98" type="stmt"/>
        <line num="318" count="2" type="stmt"/>
        <line num="325" count="2" type="stmt"/>
        <line num="327" count="2" type="stmt"/>
        <line num="328" count="2" type="stmt"/>
        <line num="331" count="2" type="stmt"/>
        <line num="333" count="2" type="stmt"/>
        <line num="336" count="2" type="stmt"/>
        <line num="337" count="122" type="cond" truecount="2" falsecount="0"/>
        <line num="338" count="100" type="stmt"/>
        <line num="340" count="122" type="stmt"/>
        <line num="344" count="2" type="stmt"/>
        <line num="345" count="100" type="stmt"/>
        <line num="346" count="122" type="stmt"/>
        <line num="351" count="2" type="stmt"/>
        <line num="357" count="0" type="stmt"/>
        <line num="358" count="0" type="stmt"/>
        <line num="359" count="0" type="stmt"/>
        <line num="360" count="0" type="stmt"/>
        <line num="361" count="0" type="stmt"/>
        <line num="363" count="0" type="stmt"/>
        <line num="364" count="0" type="stmt"/>
        <line num="365" count="0" type="stmt"/>
        <line num="366" count="0" type="stmt"/>
        <line num="367" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="368" count="0" type="stmt"/>
        <line num="371" count="0" type="stmt"/>
        <line num="372" count="0" type="stmt"/>
        <line num="373" count="0" type="stmt"/>
        <line num="375" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="379" count="0" type="stmt"/>
        <line num="380" count="0" type="stmt"/>
        <line num="381" count="0" type="stmt"/>
        <line num="383" count="0" type="stmt"/>
        <line num="384" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="385" count="0" type="stmt"/>
        <line num="386" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="387" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="388" count="0" type="stmt"/>
        <line num="389" count="0" type="stmt"/>
        <line num="396" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="397" count="0" type="stmt"/>
        <line num="398" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="399" count="0" type="stmt"/>
        <line num="400" count="0" type="stmt"/>
        <line num="401" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="402" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="403" count="0" type="stmt"/>
        <line num="406" count="0" type="stmt"/>
        <line num="413" count="0" type="stmt"/>
        <line num="414" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="415" count="0" type="stmt"/>
        <line num="416" count="0" type="stmt"/>
        <line num="417" count="0" type="stmt"/>
        <line num="418" count="0" type="stmt"/>
        <line num="423" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="424" count="0" type="stmt"/>
        <line num="428" count="0" type="stmt"/>
        <line num="432" count="2" type="stmt"/>
        <line num="433" count="2" type="stmt"/>
        <line num="434" count="122" type="stmt"/>
        <line num="436" count="2" type="stmt"/>
        <line num="441" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="444" count="6" type="stmt"/>
        <line num="445" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="446" count="0" type="stmt"/>
        <line num="450" count="6" type="stmt"/>
        <line num="451" count="6" type="stmt"/>
        <line num="452" count="6" type="stmt"/>
        <line num="454" count="6" type="stmt"/>
        <line num="455" count="6" type="stmt"/>
        <line num="456" count="6" type="stmt"/>
        <line num="457" count="6" type="stmt"/>
        <line num="459" count="6" type="stmt"/>
        <line num="460" count="192" type="stmt"/>
        <line num="461" count="192" type="stmt"/>
        <line num="462" count="192" type="cond" truecount="3" falsecount="1"/>
        <line num="463" count="192" type="stmt"/>
        <line num="467" count="6" type="stmt"/>
        <line num="468" count="174" type="stmt"/>
        <line num="469" count="174" type="stmt"/>
        <line num="470" count="174" type="cond" truecount="3" falsecount="1"/>
        <line num="471" count="174" type="stmt"/>
        <line num="475" count="6" type="stmt"/>
        <line num="476" count="6" type="stmt"/>
        <line num="477" count="174" type="stmt"/>
        <line num="480" count="6" type="stmt"/>
        <line num="481" count="4" type="stmt"/>
        <line num="482" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="483" count="4" type="stmt"/>
        <line num="487" count="6" type="stmt"/>
        <line num="488" count="174" type="stmt"/>
        <line num="489" count="174" type="cond" truecount="1" falsecount="1"/>
        <line num="490" count="174" type="stmt"/>
        <line num="491" count="174" type="cond" truecount="1" falsecount="1"/>
        <line num="492" count="0" type="stmt"/>
        <line num="494" count="174" type="stmt"/>
        <line num="499" count="6" type="stmt"/>
        <line num="500" count="192" type="stmt"/>
        <line num="501" count="192" type="cond" truecount="1" falsecount="1"/>
        <line num="502" count="192" type="stmt"/>
      </file>
      <file name="pid.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/pid.ts">
        <metrics statements="414" coveredstatements="299" conditionals="88" coveredconditionals="62" methods="41" coveredmethods="28"/>
        <line num="7" count="108" type="stmt"/>
        <line num="22" count="125" type="stmt"/>
        <line num="28" count="125" type="stmt"/>
        <line num="32" count="1500" type="stmt"/>
        <line num="37" count="70" type="stmt"/>
        <line num="38" count="70" type="cond" truecount="1" falsecount="1"/>
        <line num="39" count="0" type="stmt"/>
        <line num="41" count="70" type="stmt"/>
        <line num="42" count="70" type="stmt"/>
        <line num="43" count="70" type="stmt"/>
        <line num="44" count="70" type="stmt"/>
        <line num="45" count="70" type="stmt"/>
        <line num="46" count="70" type="stmt"/>
        <line num="50" count="0" type="stmt"/>
        <line num="51" count="0" type="stmt"/>
        <line num="52" count="0" type="stmt"/>
        <line num="53" count="0" type="stmt"/>
        <line num="54" count="0" type="stmt"/>
        <line num="55" count="0" type="stmt"/>
        <line num="56" count="0" type="stmt"/>
        <line num="61" count="0" type="stmt"/>
        <line num="62" count="0" type="stmt"/>
        <line num="63" count="0" type="stmt"/>
        <line num="65" count="0" type="stmt"/>
        <line num="67" count="0" type="stmt"/>
        <line num="68" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="70" count="0" type="stmt"/>
        <line num="73" count="0" type="stmt"/>
        <line num="75" count="0" type="stmt"/>
        <line num="76" count="0" type="stmt"/>
        <line num="80" count="0" type="stmt"/>
        <line num="81" count="0" type="stmt"/>
        <line num="86" count="125" type="stmt"/>
        <line num="102" count="0" type="stmt"/>
        <line num="117" count="28" type="stmt"/>
        <line num="118" count="28" type="stmt"/>
        <line num="122" count="0" type="stmt"/>
        <line num="123" count="0" type="stmt"/>
        <line num="124" count="0" type="stmt"/>
        <line num="125" count="0" type="stmt"/>
        <line num="130" count="100" type="stmt"/>
        <line num="131" count="100" type="stmt"/>
        <line num="132" count="100" type="stmt"/>
        <line num="133" count="100" type="stmt"/>
        <line num="134" count="100" type="stmt"/>
        <line num="137" count="100" type="cond" truecount="2" falsecount="0"/>
        <line num="138" count="80" type="stmt"/>
        <line num="139" count="80" type="stmt"/>
        <line num="140" count="80" type="stmt"/>
        <line num="141" count="80" type="stmt"/>
        <line num="142" count="80" type="stmt"/>
        <line num="145" count="20" type="stmt"/>
        <line num="146" count="20" type="stmt"/>
        <line num="147" count="20" type="stmt"/>
        <line num="148" count="20" type="stmt"/>
        <line num="149" count="20" type="stmt"/>
        <line num="151" count="100" type="stmt"/>
        <line num="152" count="100" type="cond" truecount="2" falsecount="0"/>
        <line num="153" count="20" type="stmt"/>
        <line num="155" count="80" type="cond" truecount="2" falsecount="0"/>
        <line num="156" count="40" type="cond" truecount="2" falsecount="0"/>
        <line num="158" count="24" type="cond" truecount="2" falsecount="0"/>
        <line num="159" count="8" type="stmt"/>
        <line num="161" count="16" type="cond" truecount="1" falsecount="1"/>
        <line num="162" count="0" type="stmt"/>
        <line num="164" count="16" type="cond" truecount="1" falsecount="1"/>
        <line num="165" count="16" type="stmt"/>
        <line num="167" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="168" count="0" type="stmt"/>
        <line num="171" count="0" type="stmt"/>
        <line num="174" count="16" type="cond" truecount="1" falsecount="1"/>
        <line num="175" count="0" type="stmt"/>
        <line num="176" count="0" type="stmt"/>
        <line num="181" count="100" type="stmt"/>
        <line num="183" count="100" type="cond" truecount="2" falsecount="0"/>
        <line num="184" count="80" type="cond" truecount="2" falsecount="0"/>
        <line num="185" count="64" type="stmt"/>
        <line num="188" count="16" type="stmt"/>
        <line num="198" count="16" type="stmt"/>
        <line num="199" count="16" type="stmt"/>
        <line num="201" count="16" type="stmt"/>
        <line num="202" count="16" type="stmt"/>
        <line num="203" count="16" type="stmt"/>
        <line num="204" count="16" type="stmt"/>
        <line num="205" count="16" type="stmt"/>
        <line num="206" count="16" type="stmt"/>
        <line num="208" count="16" type="stmt"/>
        <line num="210" count="16" type="stmt"/>
        <line num="211" count="16" type="stmt"/>
        <line num="212" count="16" type="stmt"/>
        <line num="213" count="16" type="stmt"/>
        <line num="214" count="16" type="stmt"/>
        <line num="215" count="16" type="stmt"/>
        <line num="218" count="16" type="stmt"/>
        <line num="219" count="16" type="stmt"/>
        <line num="220" count="16" type="stmt"/>
        <line num="229" count="104" type="stmt"/>
        <line num="230" count="104" type="stmt"/>
        <line num="231" count="104" type="stmt"/>
        <line num="232" count="104" type="stmt"/>
        <line num="233" count="104" type="stmt"/>
        <line num="235" count="104" type="stmt"/>
        <line num="236" count="104" type="stmt"/>
        <line num="237" count="104" type="stmt"/>
        <line num="238" count="104" type="stmt"/>
        <line num="240" count="104" type="stmt"/>
        <line num="242" count="104" type="stmt"/>
        <line num="244" count="104" type="stmt"/>
        <line num="245" count="104" type="stmt"/>
        <line num="247" count="104" type="stmt"/>
        <line num="248" count="104" type="stmt"/>
        <line num="250" count="104" type="stmt"/>
        <line num="252" count="104" type="stmt"/>
        <line num="265" count="0" type="stmt"/>
        <line num="266" count="0" type="stmt"/>
        <line num="267" count="0" type="stmt"/>
        <line num="269" count="0" type="stmt"/>
        <line num="270" count="0" type="stmt"/>
        <line num="272" count="0" type="stmt"/>
        <line num="277" count="0" type="stmt"/>
        <line num="278" count="0" type="stmt"/>
        <line num="291" count="0" type="stmt"/>
        <line num="292" count="0" type="stmt"/>
        <line num="293" count="0" type="stmt"/>
        <line num="294" count="0" type="stmt"/>
        <line num="295" count="0" type="stmt"/>
        <line num="297" count="0" type="stmt"/>
        <line num="299" count="0" type="stmt"/>
        <line num="303" count="0" type="stmt"/>
        <line num="304" count="0" type="stmt"/>
        <line num="308" count="0" type="stmt"/>
        <line num="321" count="0" type="stmt"/>
        <line num="322" count="0" type="stmt"/>
        <line num="323" count="0" type="stmt"/>
        <line num="324" count="0" type="stmt"/>
        <line num="326" count="0" type="stmt"/>
        <line num="328" count="0" type="stmt"/>
        <line num="333" count="0" type="stmt"/>
        <line num="347" count="10" type="stmt"/>
        <line num="348" count="10" type="stmt"/>
        <line num="349" count="10" type="stmt"/>
        <line num="350" count="10" type="stmt"/>
        <line num="352" count="10" type="stmt"/>
        <line num="353" count="10" type="stmt"/>
        <line num="354" count="10" type="stmt"/>
        <line num="355" count="10" type="stmt"/>
        <line num="356" count="10" type="stmt"/>
        <line num="357" count="10" type="stmt"/>
        <line num="358" count="10" type="stmt"/>
        <line num="359" count="10" type="stmt"/>
        <line num="360" count="10" type="stmt"/>
        <line num="361" count="10" type="stmt"/>
        <line num="362" count="10" type="stmt"/>
        <line num="364" count="10" type="stmt"/>
        <line num="365" count="10" type="cond" truecount="2" falsecount="0"/>
        <line num="366" count="8" type="stmt"/>
        <line num="367" count="8" type="stmt"/>
        <line num="371" count="10" type="cond" truecount="4" falsecount="0"/>
        <line num="372" count="4" type="stmt"/>
        <line num="373" count="4" type="stmt"/>
        <line num="374" count="4" type="stmt"/>
        <line num="389" count="8" type="stmt"/>
        <line num="390" count="8" type="stmt"/>
        <line num="391" count="8" type="stmt"/>
        <line num="392" count="8" type="stmt"/>
        <line num="393" count="8" type="stmt"/>
        <line num="395" count="8" type="stmt"/>
        <line num="396" count="8" type="stmt"/>
        <line num="398" count="8" type="stmt"/>
        <line num="399" count="8" type="stmt"/>
        <line num="401" count="8" type="stmt"/>
        <line num="403" count="8" type="stmt"/>
        <line num="404" count="8" type="stmt"/>
        <line num="407" count="8" type="stmt"/>
        <line num="408" count="8" type="stmt"/>
        <line num="409" count="8" type="stmt"/>
        <line num="410" count="8" type="stmt"/>
        <line num="411" count="8" type="stmt"/>
        <line num="412" count="8" type="stmt"/>
        <line num="414" count="8" type="stmt"/>
        <line num="415" count="8" type="stmt"/>
        <line num="416" count="8" type="stmt"/>
        <line num="418" count="8" type="stmt"/>
        <line num="419" count="8" type="stmt"/>
        <line num="420" count="8" type="stmt"/>
        <line num="423" count="8" type="stmt"/>
        <line num="424" count="8" type="stmt"/>
        <line num="426" count="8" type="stmt"/>
        <line num="427" count="8" type="stmt"/>
        <line num="429" count="8" type="stmt"/>
        <line num="430" count="8" type="stmt"/>
        <line num="432" count="8" type="stmt"/>
        <line num="433" count="8" type="stmt"/>
        <line num="434" count="8" type="stmt"/>
        <line num="437" count="8" type="stmt"/>
        <line num="438" count="8" type="stmt"/>
        <line num="439" count="8" type="stmt"/>
        <line num="443" count="8" type="stmt"/>
        <line num="444" count="8" type="stmt"/>
        <line num="447" count="8" type="stmt"/>
        <line num="448" count="8" type="stmt"/>
        <line num="449" count="8" type="stmt"/>
        <line num="450" count="8" type="stmt"/>
        <line num="451" count="8" type="stmt"/>
        <line num="452" count="8" type="stmt"/>
        <line num="454" count="8" type="stmt"/>
        <line num="468" count="0" type="stmt"/>
        <line num="472" count="0" type="stmt"/>
        <line num="473" count="0" type="stmt"/>
        <line num="474" count="0" type="stmt"/>
        <line num="479" count="0" type="stmt"/>
        <line num="480" count="0" type="stmt"/>
        <line num="481" count="0" type="stmt"/>
        <line num="482" count="0" type="stmt"/>
        <line num="483" count="0" type="stmt"/>
        <line num="484" count="0" type="stmt"/>
        <line num="486" count="0" type="stmt"/>
        <line num="487" count="0" type="stmt"/>
        <line num="489" count="0" type="stmt"/>
        <line num="490" count="0" type="stmt"/>
        <line num="491" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="492" count="0" type="stmt"/>
        <line num="494" count="0" type="stmt"/>
        <line num="495" count="0" type="stmt"/>
        <line num="496" count="0" type="stmt"/>
        <line num="497" count="0" type="stmt"/>
        <line num="498" count="0" type="stmt"/>
        <line num="501" count="0" type="stmt"/>
        <line num="503" count="0" type="stmt"/>
        <line num="504" count="0" type="stmt"/>
        <line num="505" count="0" type="stmt"/>
        <line num="506" count="0" type="stmt"/>
        <line num="507" count="0" type="stmt"/>
        <line num="508" count="0" type="stmt"/>
        <line num="509" count="0" type="stmt"/>
        <line num="512" count="0" type="stmt"/>
        <line num="513" count="0" type="stmt"/>
        <line num="516" count="0" type="stmt"/>
        <line num="520" count="0" type="stmt"/>
        <line num="522" count="0" type="stmt"/>
        <line num="526" count="0" type="stmt"/>
        <line num="528" count="0" type="stmt"/>
        <line num="530" count="0" type="stmt"/>
        <line num="532" count="0" type="stmt"/>
        <line num="534" count="0" type="stmt"/>
        <line num="546" count="0" type="stmt"/>
        <line num="547" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="548" count="0" type="stmt"/>
        <line num="550" count="0" type="stmt"/>
        <line num="551" count="0" type="stmt"/>
        <line num="552" count="0" type="stmt"/>
        <line num="569" count="4" type="stmt"/>
        <line num="572" count="16" type="stmt"/>
        <line num="573" count="16" type="stmt"/>
        <line num="574" count="16" type="stmt"/>
        <line num="575" count="16" type="stmt"/>
        <line num="577" count="16" type="stmt"/>
        <line num="578" count="16" type="cond" truecount="4" falsecount="1"/>
        <line num="579" count="0" type="stmt"/>
        <line num="581" count="16" type="cond" truecount="2" falsecount="0"/>
        <line num="582" count="8" type="cond" truecount="2" falsecount="0"/>
        <line num="583" count="24" type="stmt"/>
        <line num="584" count="8" type="cond" truecount="1" falsecount="1"/>
        <line num="585" count="0" type="stmt"/>
        <line num="589" count="16" type="stmt"/>
        <line num="590" count="16" type="stmt"/>
        <line num="596" count="125" type="stmt"/>
        <line num="597" count="125" type="stmt"/>
        <line num="598" count="125" type="stmt"/>
        <line num="599" count="125" type="stmt"/>
        <line num="600" count="125" type="stmt"/>
        <line num="601" count="125" type="stmt"/>
        <line num="602" count="125" type="stmt"/>
        <line num="603" count="125" type="stmt"/>
        <line num="604" count="125" type="stmt"/>
        <line num="605" count="125" type="stmt"/>
        <line num="606" count="125" type="stmt"/>
        <line num="607" count="125" type="stmt"/>
        <line num="625" count="88" type="stmt"/>
        <line num="626" count="88" type="stmt"/>
        <line num="627" count="88" type="stmt"/>
        <line num="628" count="88" type="stmt"/>
        <line num="629" count="88" type="stmt"/>
        <line num="633" count="88" type="stmt"/>
        <line num="639" count="304" type="stmt"/>
        <line num="640" count="304" type="stmt"/>
        <line num="642" count="304" type="stmt"/>
        <line num="643" count="304" type="stmt"/>
        <line num="644" count="304" type="cond" truecount="2" falsecount="0"/>
        <line num="645" count="294" type="cond" truecount="2" falsecount="0"/>
        <line num="646" count="250" type="stmt"/>
        <line num="647" count="250" type="stmt"/>
        <line num="648" count="250" type="stmt"/>
        <line num="651" count="44" type="stmt"/>
        <line num="655" count="10" type="cond" truecount="1" falsecount="1"/>
        <line num="656" count="0" type="stmt"/>
        <line num="657" count="0" type="stmt"/>
        <line num="658" count="0" type="stmt"/>
        <line num="661" count="10" type="stmt"/>
        <line num="665" count="304" type="stmt"/>
        <line num="666" count="304" type="stmt"/>
        <line num="687" count="38" type="stmt"/>
        <line num="690" count="8" type="stmt"/>
        <line num="691" count="8" type="stmt"/>
        <line num="692" count="8" type="stmt"/>
        <line num="693" count="8" type="stmt"/>
        <line num="697" count="116" type="stmt"/>
        <line num="698" count="116" type="stmt"/>
        <line num="699" count="116" type="stmt"/>
        <line num="700" count="116" type="stmt"/>
        <line num="702" count="116" type="stmt"/>
        <line num="705" count="116" type="stmt"/>
        <line num="706" count="116" type="stmt"/>
        <line num="709" count="116" type="stmt"/>
        <line num="710" count="116" type="stmt"/>
        <line num="711" count="116" type="stmt"/>
        <line num="713" count="116" type="cond" truecount="2" falsecount="0"/>
        <line num="714" count="52" type="cond" truecount="3" falsecount="1"/>
        <line num="715" count="0" type="stmt"/>
        <line num="716" count="0" type="stmt"/>
        <line num="718" count="52" type="cond" truecount="4" falsecount="0"/>
        <line num="719" count="8" type="stmt"/>
        <line num="722" count="44" type="stmt"/>
        <line num="727" count="116" type="stmt"/>
        <line num="732" count="116" type="stmt"/>
        <line num="737" count="116" type="stmt"/>
        <line num="739" count="116" type="stmt"/>
        <line num="741" count="116" type="stmt"/>
        <line num="742" count="116" type="stmt"/>
        <line num="744" count="116" type="cond" truecount="1" falsecount="1"/>
        <line num="745" count="0" type="stmt"/>
        <line num="746" count="0" type="stmt"/>
        <line num="749" count="116" type="stmt"/>
        <line num="756" count="30" type="stmt"/>
        <line num="760" count="84" type="stmt"/>
        <line num="761" count="84" type="stmt"/>
        <line num="762" count="84" type="stmt"/>
        <line num="763" count="84" type="stmt"/>
        <line num="765" count="84" type="stmt"/>
        <line num="767" count="84" type="stmt"/>
        <line num="768" count="84" type="stmt"/>
        <line num="769" count="84" type="stmt"/>
        <line num="770" count="84" type="stmt"/>
        <line num="771" count="84" type="stmt"/>
        <line num="772" count="84" type="stmt"/>
        <line num="773" count="84" type="stmt"/>
        <line num="775" count="84" type="stmt"/>
        <line num="777" count="84" type="stmt"/>
        <line num="780" count="84" type="stmt"/>
        <line num="785" count="30" type="stmt"/>
        <line num="786" count="30" type="stmt"/>
        <line num="787" count="30" type="stmt"/>
        <line num="788" count="30" type="stmt"/>
        <line num="789" count="30" type="stmt"/>
        <line num="808" count="4" type="stmt"/>
        <line num="812" count="4" type="stmt"/>
        <line num="813" count="4" type="stmt"/>
        <line num="814" count="4" type="stmt"/>
        <line num="815" count="4" type="stmt"/>
        <line num="816" count="4" type="stmt"/>
        <line num="821" count="10" type="stmt"/>
        <line num="822" count="10" type="stmt"/>
        <line num="823" count="10" type="stmt"/>
        <line num="824" count="10" type="stmt"/>
        <line num="825" count="280" type="stmt"/>
        <line num="826" count="280" type="cond" truecount="4" falsecount="0"/>
        <line num="827" count="10" type="stmt"/>
        <line num="828" count="10" type="stmt"/>
        <line num="831" count="10" type="stmt"/>
        <line num="832" count="40" type="stmt"/>
        <line num="833" count="40" type="cond" truecount="2" falsecount="2"/>
        <line num="834" count="0" type="stmt"/>
        <line num="835" count="0" type="stmt"/>
        <line num="838" count="10" type="stmt"/>
        <line num="839" count="90" type="stmt"/>
        <line num="840" count="90" type="cond" truecount="2" falsecount="2"/>
        <line num="841" count="0" type="stmt"/>
        <line num="842" count="0" type="stmt"/>
        <line num="845" count="10" type="stmt"/>
        <line num="846" count="10" type="stmt"/>
        <line num="850" count="4" type="stmt"/>
        <line num="851" count="4" type="stmt"/>
        <line num="852" count="4" type="stmt"/>
        <line num="853" count="70" type="stmt"/>
        <line num="857" count="4" type="stmt"/>
        <line num="858" count="4" type="stmt"/>
        <line num="859" count="8" type="stmt"/>
        <line num="862" count="4" type="stmt"/>
        <line num="863" count="4" type="stmt"/>
        <line num="864" count="30" type="stmt"/>
        <line num="867" count="4" type="stmt"/>
        <line num="869" count="4" type="stmt"/>
        <line num="870" count="4" type="stmt"/>
        <line num="871" count="88" type="stmt"/>
        <line num="874" count="4" type="stmt"/>
        <line num="879" count="4" type="stmt"/>
        <line num="880" count="4" type="stmt"/>
        <line num="881" count="70" type="stmt"/>
        <line num="883" count="4" type="stmt"/>
        <line num="888" count="10" type="cond" truecount="2" falsecount="0"/>
        <line num="891" count="10" type="stmt"/>
        <line num="892" count="10" type="cond" truecount="1" falsecount="1"/>
        <line num="893" count="0" type="stmt"/>
        <line num="898" count="10" type="stmt"/>
        <line num="899" count="10" type="stmt"/>
        <line num="900" count="10" type="stmt"/>
        <line num="904" count="10" type="stmt"/>
        <line num="905" count="304" type="stmt"/>
        <line num="908" count="10" type="stmt"/>
        <line num="909" count="238" type="stmt"/>
        <line num="912" count="10" type="stmt"/>
        <line num="913" count="32" type="stmt"/>
        <line num="916" count="10" type="stmt"/>
        <line num="917" count="84" type="stmt"/>
      </file>
      <file name="signals.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/signals.ts">
        <metrics statements="97" coveredstatements="86" conditionals="22" coveredconditionals="18" methods="25" coveredmethods="20"/>
        <line num="50" count="22817" type="stmt"/>
        <line num="54" count="9046" type="stmt"/>
        <line num="58" count="3961" type="stmt"/>
        <line num="62" count="25" type="stmt"/>
        <line num="66" count="118" type="cond" truecount="2" falsecount="0"/>
        <line num="67" count="56" type="stmt"/>
        <line num="68" count="56" type="stmt"/>
        <line num="69" count="202" type="stmt"/>
        <line num="71" count="56" type="stmt"/>
        <line num="72" count="56" type="stmt"/>
        <line num="73" count="202" type="cond" truecount="2" falsecount="0"/>
        <line num="74" count="146" type="stmt"/>
        <line num="77" count="56" type="stmt"/>
        <line num="79" count="62" type="stmt"/>
        <line num="97" count="84" type="stmt"/>
        <line num="98" count="84" type="stmt"/>
        <line num="102" count="84" type="stmt"/>
        <line num="103" count="84" type="stmt"/>
        <line num="104" count="84" type="stmt"/>
        <line num="105" count="84" type="stmt"/>
        <line num="106" count="84" type="stmt"/>
        <line num="107" count="84" type="stmt"/>
        <line num="108" count="84" type="stmt"/>
        <line num="109" count="84" type="stmt"/>
        <line num="113" count="295" type="stmt"/>
        <line num="114" count="295" type="stmt"/>
        <line num="116" count="295" type="stmt"/>
        <line num="117" count="109105" type="stmt"/>
        <line num="118" count="109105" type="stmt"/>
        <line num="119" count="109105" type="stmt"/>
        <line num="121" count="295" type="stmt"/>
        <line num="125" count="21" type="stmt"/>
        <line num="136" count="12" type="stmt"/>
        <line num="137" count="12" type="stmt"/>
        <line num="138" count="12" type="stmt"/>
        <line num="142" count="0" type="stmt"/>
        <line num="146" count="0" type="stmt"/>
        <line num="147" count="0" type="stmt"/>
        <line num="158" count="72" type="stmt"/>
        <line num="159" count="72" type="stmt"/>
        <line num="160" count="72" type="stmt"/>
        <line num="164" count="0" type="stmt"/>
        <line num="168" count="21" type="stmt"/>
        <line num="169" count="21" type="stmt"/>
        <line num="179" count="190" type="stmt"/>
        <line num="180" count="190" type="stmt"/>
        <line num="181" count="190" type="stmt"/>
        <line num="185" count="21" type="stmt"/>
        <line num="186" count="21" type="stmt"/>
        <line num="187" count="37" type="cond" truecount="2" falsecount="0"/>
        <line num="188" count="1" type="stmt"/>
        <line num="193" count="1" type="stmt"/>
        <line num="196" count="36" type="stmt"/>
        <line num="200" count="36" type="stmt"/>
        <line num="203" count="21" type="stmt"/>
        <line num="207" count="0" type="stmt"/>
        <line num="208" count="0" type="stmt"/>
        <line num="209" count="0" type="stmt"/>
        <line num="211" count="0" type="stmt"/>
        <line num="215" count="2" type="stmt"/>
        <line num="216" count="2" type="stmt"/>
        <line num="217" count="4" type="stmt"/>
        <line num="218" count="6" type="stmt"/>
        <line num="219" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="220" count="0" type="stmt"/>
        <line num="223" count="4" type="stmt"/>
        <line num="224" count="4" type="stmt"/>
        <line num="225" count="4" type="stmt"/>
        <line num="226" count="4" type="stmt"/>
        <line num="227" count="4" type="stmt"/>
        <line num="228" count="4" type="stmt"/>
        <line num="229" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="230" count="0" type="stmt"/>
        <line num="231" count="0" type="stmt"/>
        <line num="234" count="4" type="stmt"/>
        <line num="235" count="4" type="stmt"/>
        <line num="237" count="4" type="stmt"/>
        <line num="243" count="53" type="stmt"/>
        <line num="244" count="53" type="stmt"/>
        <line num="245" count="80" type="cond" truecount="2" falsecount="0"/>
        <line num="246" count="80" type="stmt"/>
        <line num="247" count="80" type="stmt"/>
        <line num="248" count="80" type="cond" truecount="2" falsecount="0"/>
        <line num="249" count="47" type="cond" truecount="2" falsecount="0"/>
        <line num="250" count="11" type="stmt"/>
        <line num="259" count="36" type="stmt"/>
        <line num="268" count="33" type="cond" truecount="2" falsecount="2"/>
        <line num="269" count="33" type="stmt"/>
        <line num="270" count="33" type="stmt"/>
        <line num="271" count="33" type="cond" truecount="2" falsecount="0"/>
        <line num="272" count="5" type="stmt"/>
        <line num="273" count="5" type="stmt"/>
        <line num="276" count="28" type="stmt"/>
        <line num="277" count="28" type="stmt"/>
        <line num="281" count="53" type="stmt"/>
        <line num="285" count="84" type="stmt"/>
        <line num="297" count="34" type="stmt"/>
      </file>
      <file name="status.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/status.ts">
        <metrics statements="3" coveredstatements="2" conditionals="6" coveredconditionals="0" methods="3" coveredmethods="2"/>
        <line num="14" count="360" type="stmt"/>
        <line num="18" count="0" type="cond" truecount="0" falsecount="6"/>
        <line num="26" count="360" type="stmt"/>
      </file>
    </package>
    <package name="src.app.pipes">
      <metrics statements="73" coveredstatements="54" conditionals="65" coveredconditionals="38" methods="9" coveredmethods="9"/>
      <file name="duration.pipe.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/pipes/duration.pipe.ts">
        <metrics statements="43" coveredstatements="33" conditionals="32" coveredconditionals="17" methods="4" coveredmethods="4"/>
        <line num="7" count="167" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="71" type="stmt"/>
        <line num="12" count="71" type="stmt"/>
        <line num="13" count="71" type="stmt"/>
        <line num="14" count="71" type="stmt"/>
        <line num="15" count="71" type="stmt"/>
        <line num="17" count="71" type="cond" truecount="1" falsecount="1"/>
        <line num="18" count="0" type="stmt"/>
        <line num="19" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="20" count="0" type="stmt"/>
        <line num="24" count="71" type="cond" truecount="1" falsecount="1"/>
        <line num="25" count="0" type="stmt"/>
        <line num="26" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="27" count="0" type="stmt"/>
        <line num="32" count="71" type="cond" truecount="2" falsecount="0"/>
        <line num="33" count="32" type="stmt"/>
        <line num="34" count="32" type="cond" truecount="1" falsecount="1"/>
        <line num="35" count="0" type="stmt"/>
        <line num="39" count="71" type="cond" truecount="2" falsecount="0"/>
        <line num="40" count="3" type="stmt"/>
        <line num="41" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="42" count="1" type="stmt"/>
        <line num="46" count="71" type="stmt"/>
        <line num="47" count="125" type="stmt"/>
        <line num="55" count="125" type="cond" truecount="0" falsecount="2"/>
        <line num="58" count="1" type="stmt"/>
        <line num="60" count="1" type="stmt"/>
        <line num="61" count="1" type="stmt"/>
        <line num="62" count="1" type="stmt"/>
        <line num="63" count="1" type="stmt"/>
        <line num="64" count="1" type="stmt"/>
        <line num="66" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="67" count="0" type="stmt"/>
        <line num="70" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="71" count="0" type="stmt"/>
        <line num="74" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="75" count="1" type="stmt"/>
        <line num="78" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="79" count="1" type="stmt"/>
        <line num="82" count="1" type="cond" truecount="2" falsecount="2"/>
        <line num="83" count="0" type="stmt"/>
        <line num="86" count="1" type="stmt"/>
        <line num="87" count="125" type="stmt"/>
      </file>
      <file name="number-suffix.pipe.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/pipes/number-suffix.pipe.ts">
        <metrics statements="20" coveredstatements="13" conditionals="24" coveredconditionals="14" methods="3" coveredmethods="3"/>
        <line num="7" count="175" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="579" type="stmt"/>
        <line num="12" count="579" type="cond" truecount="7" falsecount="1"/>
        <line num="13" count="452" type="cond" truecount="2" falsecount="4"/>
        <line num="14" count="0" type="stmt"/>
        <line num="16" count="452" type="stmt"/>
        <line num="20" count="127" type="stmt"/>
        <line num="21" count="127" type="cond" truecount="1" falsecount="1"/>
        <line num="22" count="127" type="stmt"/>
        <line num="24" count="127" type="stmt"/>
        <line num="26" count="0" type="stmt"/>
        <line num="28" count="0" type="stmt"/>
        <line num="30" count="0" type="stmt"/>
        <line num="36" count="127" type="cond" truecount="1" falsecount="1"/>
        <line num="37" count="127" type="cond" truecount="1" falsecount="1"/>
        <line num="38" count="127" type="stmt"/>
        <line num="39" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="40" count="0" type="stmt"/>
        <line num="42" count="0" type="stmt"/>
        <line num="44" count="125" type="stmt"/>
      </file>
      <file name="value.pipe.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/pipes/value.pipe.ts">
        <metrics statements="10" coveredstatements="8" conditionals="9" coveredconditionals="7" methods="2" coveredmethods="2"/>
        <line num="9" count="149" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="24" type="stmt"/>
        <line num="14" count="29" type="cond" truecount="1" falsecount="1"/>
        <line num="15" count="0" type="stmt"/>
        <line num="18" count="29" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="21" count="3" type="stmt"/>
        <line num="23" count="0" type="stmt"/>
        <line num="26" count="26" type="stmt"/>
        <line num="27" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.services">
      <metrics statements="417" coveredstatements="368" conditionals="170" coveredconditionals="110" methods="159" coveredmethods="143"/>
      <file name="init.service.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/services/init.service.ts">
        <metrics statements="55" coveredstatements="46" conditionals="16" coveredconditionals="11" methods="13" coveredmethods="13"/>
        <line num="9" count="250" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="125" type="stmt"/>
        <line num="13" count="125" type="stmt"/>
        <line num="14" count="125" type="stmt"/>
        <line num="16" count="125" type="stmt"/>
        <line num="17" count="125" type="stmt"/>
        <line num="18" count="125" type="stmt"/>
        <line num="21" count="125" type="stmt"/>
        <line num="22" count="125" type="stmt"/>
        <line num="23" count="125" type="stmt"/>
        <line num="24" count="125" type="stmt"/>
        <line num="25" count="125" type="cond" truecount="3" falsecount="1"/>
        <line num="26" count="0" type="stmt"/>
        <line num="28" count="125" type="cond" truecount="1" falsecount="1"/>
        <line num="29" count="0" type="stmt"/>
        <line num="31" count="125" type="stmt"/>
        <line num="33" count="125" type="stmt"/>
        <line num="34" count="125" type="stmt"/>
        <line num="36" count="125" type="stmt"/>
        <line num="37" count="124" type="cond" truecount="1" falsecount="1"/>
        <line num="39" count="124" type="stmt"/>
        <line num="40" count="124" type="stmt"/>
        <line num="41" count="124" type="stmt"/>
        <line num="45" count="0" type="stmt"/>
        <line num="46" count="0" type="stmt"/>
        <line num="50" count="125" type="stmt"/>
        <line num="51" count="125" type="stmt"/>
        <line num="52" count="125" type="stmt"/>
        <line num="53" count="124" type="cond" truecount="2" falsecount="0"/>
        <line num="56" count="0" type="stmt"/>
        <line num="57" count="0" type="stmt"/>
        <line num="61" count="125" type="stmt"/>
        <line num="62" count="125" type="stmt"/>
        <line num="63" count="125" type="stmt"/>
        <line num="68" count="125" type="stmt"/>
        <line num="69" count="123" type="cond" truecount="1" falsecount="1"/>
        <line num="70" count="0" type="stmt"/>
        <line num="74" count="123" type="stmt"/>
        <line num="77" count="125" type="stmt"/>
        <line num="78" count="125" type="stmt"/>
        <line num="79" count="125" type="stmt"/>
        <line num="80" count="125" type="stmt"/>
        <line num="85" count="125" type="stmt"/>
        <line num="86" count="125" type="stmt"/>
        <line num="87" count="250" type="stmt"/>
        <line num="88" count="248" type="cond" truecount="1" falsecount="1"/>
        <line num="89" count="0" type="stmt"/>
        <line num="92" count="123" type="stmt"/>
        <line num="95" count="250" type="stmt"/>
        <line num="96" count="250" type="stmt"/>
        <line num="97" count="250" type="stmt"/>
        <line num="98" count="0" type="stmt"/>
        <line num="101" count="248" type="stmt"/>
        <line num="102" count="248" type="stmt"/>
        <line num="104" count="125" type="stmt"/>
      </file>
      <file name="style.service.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/services/style.service.ts">
        <metrics statements="9" coveredstatements="8" conditionals="4" coveredconditionals="3" methods="3" coveredmethods="3"/>
        <line num="6" count="246" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="121" type="stmt"/>
        <line num="32" count="121" type="stmt"/>
        <line num="37" count="847" type="stmt"/>
        <line num="39" count="847" type="stmt"/>
        <line num="40" count="847" type="cond" truecount="1" falsecount="1"/>
        <line num="41" count="0" type="stmt"/>
        <line num="43" count="847" type="stmt"/>
        <line num="45" count="125" type="stmt"/>
      </file>
      <file name="twinpad-api.service.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/services/twinpad-api.service.ts">
        <metrics statements="353" coveredstatements="314" conditionals="150" coveredconditionals="96" methods="143" coveredmethods="127"/>
        <line num="28" count="250" type="cond" truecount="2" falsecount="0"/>
        <line num="29" count="125" type="stmt"/>
        <line num="30" count="125" type="stmt"/>
        <line num="39" count="125" type="stmt"/>
        <line num="40" count="125" type="stmt"/>
        <line num="44" count="125" type="stmt"/>
        <line num="47" count="125" type="stmt"/>
        <line num="48" count="125" type="stmt"/>
        <line num="49" count="125" type="stmt"/>
        <line num="50" count="125" type="stmt"/>
        <line num="52" count="124" type="cond" truecount="1" falsecount="1"/>
        <line num="53" count="124" type="stmt"/>
        <line num="54" count="124" type="stmt"/>
        <line num="57" count="0" type="stmt"/>
        <line num="58" count="0" type="stmt"/>
        <line num="59" count="0" type="stmt"/>
        <line num="76" count="2321" type="cond" truecount="2" falsecount="0"/>
        <line num="77" count="216" type="stmt"/>
        <line num="80" count="2321" type="stmt"/>
        <line num="82" count="2321" type="cond" truecount="4" falsecount="2"/>
        <line num="84" count="38" type="stmt"/>
        <line num="86" count="0" type="stmt"/>
        <line num="88" count="29" type="stmt"/>
        <line num="90" count="8" type="stmt"/>
        <line num="92" count="2246" type="stmt"/>
        <line num="94" count="0" type="stmt"/>
        <line num="95" count="0" type="stmt"/>
        <line num="107" count="162" type="stmt"/>
        <line num="108" count="162" type="stmt"/>
        <line num="109" count="162" type="stmt"/>
        <line num="111" count="226" type="stmt"/>
        <line num="113" count="7" type="stmt"/>
        <line num="114" count="7" type="stmt"/>
        <line num="115" count="7" type="stmt"/>
        <line num="121" count="206" type="stmt"/>
        <line num="122" count="7" type="stmt"/>
        <line num="123" count="0" type="stmt"/>
        <line num="126" count="162" type="stmt"/>
        <line num="127" count="100" type="stmt"/>
        <line num="140" count="211" type="stmt"/>
        <line num="141" count="207" type="stmt"/>
        <line num="143" count="285" type="stmt"/>
        <line num="145" count="0" type="stmt"/>
        <line num="146" count="0" type="stmt"/>
        <line num="147" count="0" type="stmt"/>
        <line num="153" count="283" type="stmt"/>
        <line num="154" count="0" type="stmt"/>
        <line num="155" count="0" type="stmt"/>
        <line num="159" count="211" type="stmt"/>
        <line num="164" count="103" type="stmt"/>
        <line num="169" count="111" type="stmt"/>
        <line num="172" count="111" type="stmt"/>
        <line num="173" count="111" type="stmt"/>
        <line num="174" count="111" type="stmt"/>
        <line num="175" count="111" type="cond" truecount="5" falsecount="0"/>
        <line num="176" count="105" type="stmt"/>
        <line num="178" count="111" type="stmt"/>
        <line num="181" count="0" type="stmt"/>
        <line num="183" count="0" type="stmt"/>
        <line num="184" count="0" type="stmt"/>
        <line num="185" count="0" type="stmt"/>
        <line num="191" count="11" type="stmt"/>
        <line num="196" count="174" type="stmt"/>
        <line num="200" count="14" type="stmt"/>
        <line num="204" count="4" type="stmt"/>
        <line num="208" count="1" type="stmt"/>
        <line num="212" count="1" type="stmt"/>
        <line num="216" count="3" type="stmt"/>
        <line num="218" count="3" type="stmt"/>
        <line num="222" count="77" type="stmt"/>
        <line num="223" count="77" type="stmt"/>
        <line num="227" count="119" type="stmt"/>
        <line num="229" count="119" type="stmt"/>
        <line num="231" count="119" type="cond" truecount="2" falsecount="0"/>
        <line num="232" count="9" type="stmt"/>
        <line num="234" count="119" type="cond" truecount="2" falsecount="0"/>
        <line num="235" count="56" type="stmt"/>
        <line num="237" count="119" type="cond" truecount="2" falsecount="0"/>
        <line num="238" count="20" type="stmt"/>
        <line num="240" count="119" type="cond" truecount="2" falsecount="0"/>
        <line num="241" count="8" type="stmt"/>
        <line num="244" count="119" type="cond" truecount="2" falsecount="0"/>
        <line num="245" count="85" type="stmt"/>
        <line num="247" count="119" type="stmt"/>
        <line num="249" count="119" type="stmt"/>
        <line num="250" count="119" type="stmt"/>
        <line num="251" count="776" type="stmt"/>
        <line num="252" count="776" type="stmt"/>
        <line num="253" count="776" type="stmt"/>
        <line num="254" count="776" type="stmt"/>
        <line num="256" count="119" type="stmt"/>
        <line num="257" count="119" type="stmt"/>
        <line num="258" count="119" type="stmt"/>
        <line num="264" count="93" type="stmt"/>
        <line num="268" count="145" type="stmt"/>
        <line num="272" count="38" type="stmt"/>
        <line num="274" count="38" type="stmt"/>
        <line num="275" count="38" type="stmt"/>
        <line num="276" count="59" type="stmt"/>
        <line num="278" count="38" type="stmt"/>
        <line num="284" count="2" type="stmt"/>
        <line num="285" count="2" type="stmt"/>
        <line num="286" count="2" type="stmt"/>
        <line num="290" count="84" type="stmt"/>
        <line num="293" count="84" type="stmt"/>
        <line num="298" count="0" type="stmt"/>
        <line num="302" count="32" type="stmt"/>
        <line num="304" count="32" type="stmt"/>
        <line num="310" count="4" type="stmt"/>
        <line num="311" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="312" count="4" type="stmt"/>
        <line num="314" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="315" count="4" type="stmt"/>
        <line num="318" count="4" type="stmt"/>
        <line num="319" count="4" type="stmt"/>
        <line num="326" count="6" type="stmt"/>
        <line num="327" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="328" count="6" type="stmt"/>
        <line num="330" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="331" count="6" type="stmt"/>
        <line num="333" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="334" count="4" type="stmt"/>
        <line num="336" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="337" count="4" type="stmt"/>
        <line num="339" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="340" count="4" type="stmt"/>
        <line num="342" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="343" count="4" type="stmt"/>
        <line num="346" count="6" type="stmt"/>
        <line num="347" count="5" type="stmt"/>
        <line num="352" count="3" type="stmt"/>
        <line num="353" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="354" count="3" type="stmt"/>
        <line num="357" count="3" type="stmt"/>
        <line num="358" count="3" type="stmt"/>
        <line num="363" count="5" type="stmt"/>
        <line num="364" count="5" type="cond" truecount="1" falsecount="1"/>
        <line num="365" count="5" type="stmt"/>
        <line num="367" count="5" type="cond" truecount="1" falsecount="1"/>
        <line num="368" count="5" type="stmt"/>
        <line num="370" count="5" type="cond" truecount="1" falsecount="1"/>
        <line num="371" count="5" type="stmt"/>
        <line num="374" count="5" type="stmt"/>
        <line num="375" count="5" type="stmt"/>
        <line num="380" count="4" type="stmt"/>
        <line num="381" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="382" count="4" type="stmt"/>
        <line num="384" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="385" count="4" type="stmt"/>
        <line num="387" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="388" count="4" type="stmt"/>
        <line num="391" count="4" type="stmt"/>
        <line num="392" count="4" type="stmt"/>
        <line num="397" count="2" type="stmt"/>
        <line num="399" count="2" type="stmt"/>
        <line num="403" count="1" type="stmt"/>
        <line num="405" count="1" type="stmt"/>
        <line num="409" count="47" type="stmt"/>
        <line num="412" count="40" type="stmt"/>
        <line num="418" count="0" type="stmt"/>
        <line num="421" count="0" type="stmt"/>
        <line num="426" count="88" type="stmt"/>
        <line num="427" count="88" type="stmt"/>
        <line num="430" count="81" type="stmt"/>
        <line num="431" count="81" type="stmt"/>
        <line num="432" count="263" type="stmt"/>
        <line num="434" count="81" type="stmt"/>
        <line num="439" count="45" type="stmt"/>
        <line num="440" count="45" type="stmt"/>
        <line num="443" count="45" type="stmt"/>
        <line num="444" count="45" type="stmt"/>
        <line num="445" count="68" type="stmt"/>
        <line num="447" count="45" type="stmt"/>
        <line num="452" count="1" type="stmt"/>
        <line num="456" count="3" type="stmt"/>
        <line num="460" count="6" type="stmt"/>
        <line num="464" count="3" type="stmt"/>
        <line num="468" count="68" type="stmt"/>
        <line num="472" count="7" type="stmt"/>
        <line num="473" count="7" type="stmt"/>
        <line num="474" count="7" type="stmt"/>
        <line num="475" count="7" type="cond" truecount="1" falsecount="1"/>
        <line num="476" count="0" type="stmt"/>
        <line num="478" count="7" type="cond" truecount="2" falsecount="0"/>
        <line num="479" count="1" type="stmt"/>
        <line num="481" count="7" type="cond" truecount="2" falsecount="0"/>
        <line num="482" count="1" type="stmt"/>
        <line num="484" count="7" type="cond" truecount="2" falsecount="0"/>
        <line num="485" count="2" type="stmt"/>
        <line num="488" count="7" type="stmt"/>
        <line num="492" count="1" type="stmt"/>
        <line num="495" count="1" type="stmt"/>
        <line num="496" count="1" type="stmt"/>
        <line num="497" count="1" type="stmt"/>
        <line num="498" count="1" type="stmt"/>
        <line num="503" count="77" type="stmt"/>
        <line num="504" count="77" type="stmt"/>
        <line num="508" count="77" type="stmt"/>
        <line num="509" count="77" type="stmt"/>
        <line num="513" count="4" type="stmt"/>
        <line num="514" count="4" type="stmt"/>
        <line num="516" count="4" type="stmt"/>
        <line num="520" count="1" type="stmt"/>
        <line num="523" count="1" type="stmt"/>
        <line num="524" count="1" type="stmt"/>
        <line num="529" count="2" type="stmt"/>
        <line num="530" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="531" count="0" type="stmt"/>
        <line num="533" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="534" count="0" type="stmt"/>
        <line num="537" count="2" type="stmt"/>
        <line num="541" count="1" type="stmt"/>
        <line num="542" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="543" count="0" type="stmt"/>
        <line num="545" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="546" count="0" type="stmt"/>
        <line num="549" count="1" type="stmt"/>
        <line num="553" count="21" type="stmt"/>
        <line num="557" count="13" type="stmt"/>
        <line num="561" count="3" type="stmt"/>
        <line num="565" count="3" type="stmt"/>
        <line num="569" count="1" type="stmt"/>
        <line num="570" count="1" type="stmt"/>
        <line num="574" count="2" type="stmt"/>
        <line num="578" count="67" type="stmt"/>
        <line num="582" count="5" type="stmt"/>
        <line num="586" count="4" type="stmt"/>
        <line num="590" count="4" type="stmt"/>
        <line num="594" count="1" type="stmt"/>
        <line num="598" count="1" type="stmt"/>
        <line num="602" count="1" type="stmt"/>
        <line num="606" count="4" type="stmt"/>
        <line num="610" count="1" type="stmt"/>
        <line num="614" count="4" type="stmt"/>
        <line num="616" count="4" type="stmt"/>
        <line num="617" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="618" count="0" type="stmt"/>
        <line num="620" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="621" count="0" type="stmt"/>
        <line num="624" count="4" type="stmt"/>
        <line num="626" count="4" type="stmt"/>
        <line num="627" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="628" count="0" type="stmt"/>
        <line num="630" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="631" count="0" type="stmt"/>
        <line num="633" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="634" count="0" type="stmt"/>
        <line num="637" count="4" type="stmt"/>
        <line num="641" count="0" type="stmt"/>
        <line num="645" count="4" type="stmt"/>
        <line num="649" count="2" type="stmt"/>
        <line num="653" count="1" type="stmt"/>
        <line num="658" count="1" type="stmt"/>
        <line num="662" count="1" type="stmt"/>
        <line num="666" count="1" type="stmt"/>
        <line num="670" count="1" type="stmt"/>
        <line num="674" count="48" type="stmt"/>
        <line num="678" count="0" type="stmt"/>
        <line num="682" count="1" type="stmt"/>
        <line num="686" count="1" type="stmt"/>
        <line num="690" count="1" type="stmt"/>
        <line num="694" count="1" type="stmt"/>
        <line num="698" count="1" type="stmt"/>
        <line num="702" count="2" type="stmt"/>
        <line num="706" count="2" type="stmt"/>
        <line num="710" count="59" type="stmt"/>
        <line num="711" count="59" type="stmt"/>
        <line num="715" count="59" type="stmt"/>
        <line num="719" count="8" type="stmt"/>
        <line num="720" count="8" type="stmt"/>
        <line num="721" count="23" type="cond" truecount="1" falsecount="1"/>
        <line num="722" count="23" type="stmt"/>
        <line num="725" count="8" type="stmt"/>
        <line num="729" count="8" type="stmt"/>
        <line num="733" count="49" type="stmt"/>
        <line num="734" count="49" type="stmt"/>
        <line num="738" count="1" type="stmt"/>
        <line num="742" count="2708" type="stmt"/>
        <line num="746" count="12" type="stmt"/>
        <line num="747" count="12" type="cond" truecount="2" falsecount="0"/>
        <line num="748" count="1" type="stmt"/>
        <line num="750" count="11" type="stmt"/>
        <line num="754" count="12" type="stmt"/>
        <line num="755" count="12" type="cond" truecount="2" falsecount="0"/>
        <line num="756" count="1" type="stmt"/>
        <line num="758" count="11" type="stmt"/>
        <line num="762" count="0" type="stmt"/>
        <line num="763" count="0" type="stmt"/>
        <line num="767" count="22" type="stmt"/>
        <line num="768" count="22" type="cond" truecount="2" falsecount="0"/>
        <line num="769" count="13" type="stmt"/>
        <line num="771" count="22" type="stmt"/>
        <line num="775" count="24" type="stmt"/>
        <line num="776" count="24" type="stmt"/>
        <line num="777" count="24" type="stmt"/>
        <line num="778" count="24" type="stmt"/>
        <line num="782" count="24" type="stmt"/>
        <line num="787" count="1" type="stmt"/>
        <line num="788" count="1" type="stmt"/>
        <line num="792" count="330" type="cond" truecount="2" falsecount="0"/>
        <line num="793" count="2" type="stmt"/>
        <line num="795" count="328" type="stmt"/>
        <line num="799" count="2" type="stmt"/>
        <line num="808" count="2" type="stmt"/>
        <line num="812" count="2" type="stmt"/>
        <line num="816" count="10" type="stmt"/>
        <line num="821" count="435" type="stmt"/>
        <line num="822" count="435" type="cond" truecount="2" falsecount="0"/>
        <line num="823" count="333" type="stmt"/>
        <line num="824" count="333" type="cond" truecount="3" falsecount="1"/>
        <line num="825" count="333" type="stmt"/>
        <line num="828" count="102" type="stmt"/>
        <line num="829" count="102" type="stmt"/>
        <line num="833" count="124" type="stmt"/>
        <line num="835" count="146" type="cond" truecount="2" falsecount="0"/>
        <line num="836" count="106" type="cond" truecount="2" falsecount="2"/>
        <line num="838" count="106" type="stmt"/>
        <line num="842" count="40" type="stmt"/>
        <line num="843" count="40" type="stmt"/>
        <line num="847" count="0" type="stmt"/>
        <line num="853" count="105" type="stmt"/>
        <line num="854" count="105" type="cond" truecount="3" falsecount="1"/>
        <line num="855" count="0" type="stmt"/>
        <line num="857" count="105" type="stmt"/>
        <line num="858" count="174" type="stmt"/>
        <line num="866" count="106" type="stmt"/>
        <line num="867" count="106" type="stmt"/>
        <line num="868" count="111" type="stmt"/>
        <line num="876" count="107" type="stmt"/>
        <line num="880" count="1" type="stmt"/>
        <line num="884" count="1" type="stmt"/>
        <line num="888" count="0" type="stmt"/>
        <line num="892" count="3" type="stmt"/>
        <line num="896" count="3" type="stmt"/>
        <line num="898" count="1" type="stmt"/>
        <line num="899" count="1" type="stmt"/>
        <line num="900" count="1" type="stmt"/>
        <line num="902" count="1" type="stmt"/>
        <line num="908" count="3" type="stmt"/>
        <line num="909" count="3" type="stmt"/>
        <line num="914" count="1" type="stmt"/>
        <line num="917" count="1" type="stmt"/>
        <line num="921" count="1" type="stmt"/>
        <line num="925" count="0" type="stmt"/>
        <line num="928" count="0" type="stmt"/>
        <line num="932" count="0" type="stmt"/>
        <line num="936" count="1" type="stmt"/>
        <line num="939" count="1" type="stmt"/>
        <line num="943" count="1" type="stmt"/>
        <line num="947" count="1" type="stmt"/>
        <line num="951" count="1" type="stmt"/>
        <line num="955" count="1" type="stmt"/>
        <line num="956" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.services.resolvers">
      <metrics statements="8" coveredstatements="8" conditionals="4" coveredconditionals="3" methods="3" coveredmethods="3"/>
      <file name="images.service.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/services/resolvers/images.service.ts">
        <metrics statements="8" coveredstatements="8" conditionals="4" coveredconditionals="3" methods="3" coveredmethods="3"/>
        <line num="6" count="249" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="124" type="stmt"/>
        <line num="10" count="124" type="stmt"/>
        <line num="11" count="744" type="cond" truecount="1" falsecount="1"/>
        <line num="12" count="744" type="stmt"/>
        <line num="13" count="744" type="stmt"/>
        <line num="14" count="744" type="stmt"/>
        <line num="17" count="125" type="stmt"/>
      </file>
    </package>
    <package name="src.app.utils">
      <metrics statements="59" coveredstatements="52" conditionals="40" coveredconditionals="32" methods="12" coveredmethods="10"/>
      <file name="utils.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/utils/utils.ts">
        <metrics statements="59" coveredstatements="52" conditionals="40" coveredconditionals="32" methods="12" coveredmethods="10"/>
        <line num="2" count="8692" type="cond" truecount="4" falsecount="0"/>
        <line num="3" count="6649" type="stmt"/>
        <line num="6" count="2043" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="321" type="stmt"/>
        <line num="8" count="321" type="stmt"/>
        <line num="9" count="4429" type="stmt"/>
        <line num="11" count="321" type="stmt"/>
        <line num="14" count="1722" type="stmt"/>
        <line num="15" count="1722" type="stmt"/>
        <line num="16" count="4192" type="cond" truecount="1" falsecount="1"/>
        <line num="17" count="4192" type="stmt"/>
        <line num="20" count="1722" type="stmt"/>
        <line num="26" count="4851" type="stmt"/>
        <line num="29" count="4851" type="cond" truecount="1" falsecount="1"/>
        <line num="32" count="4851" type="stmt"/>
        <line num="35" count="4851" type="stmt"/>
        <line num="38" count="4851" type="stmt"/>
        <line num="40" count="4851" type="stmt"/>
        <line num="46" count="12912" type="cond" truecount="2" falsecount="0"/>
        <line num="47" count="11916" type="stmt"/>
        <line num="49" count="996" type="cond" truecount="1" falsecount="1"/>
        <line num="50" count="996" type="stmt"/>
        <line num="52" count="0" type="stmt"/>
        <line num="56" count="0" type="stmt"/>
        <line num="57" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="61" count="0" type="stmt"/>
        <line num="65" count="4395" type="cond" truecount="4" falsecount="0"/>
        <line num="66" count="4181" type="stmt"/>
        <line num="69" count="214" type="cond" truecount="4" falsecount="0"/>
        <line num="70" count="178" type="cond" truecount="1" falsecount="1"/>
        <line num="71" count="0" type="stmt"/>
        <line num="74" count="178" type="cond" truecount="2" falsecount="0"/>
        <line num="75" count="22" type="stmt"/>
        <line num="78" count="156" type="stmt"/>
        <line num="79" count="2040" type="cond" truecount="2" falsecount="0"/>
        <line num="80" count="1" type="stmt"/>
        <line num="83" count="155" type="stmt"/>
        <line num="86" count="36" type="stmt"/>
        <line num="87" count="44" type="cond" truecount="3" falsecount="1"/>
        <line num="88" count="0" type="stmt"/>
        <line num="90" count="44" type="cond" truecount="2" falsecount="0"/>
        <line num="93" count="28" type="stmt"/>
        <line num="96" count="8" type="stmt"/>
        <line num="100" count="1924" type="stmt"/>
        <line num="104" count="75" type="stmt"/>
        <line num="105" count="75" type="stmt"/>
        <line num="106" count="180" type="cond" truecount="2" falsecount="0"/>
        <line num="107" count="105" type="stmt"/>
        <line num="110" count="75" type="stmt"/>
        <line num="114" count="12" type="stmt"/>
        <line num="115" count="12" type="cond" truecount="1" falsecount="1"/>
        <line num="116" count="0" type="stmt"/>
        <line num="119" count="12" type="stmt"/>
        <line num="124" count="6" type="stmt"/>
        <line num="125" count="6" type="stmt"/>
        <line num="126" count="6" type="stmt"/>
        <line num="127" count="6" type="stmt"/>
        <line num="128" count="6" type="stmt"/>
        <line num="129" count="6" type="stmt"/>
      </file>
    </package>
    <package name="src.environments">
      <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
      <file name="environment.development.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/environments/environment.development.ts">
        <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="1" count="125" type="stmt"/>
      </file>
    </package>
  </project>
</coverage>
