<?xml version="1.0" ?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage lines-valid="84" lines-covered="74" line-rate="0.8809" branches-valid="65" branches-covered="34" branch-rate="0.523" timestamp="1713511050015" complexity="0" version="0.1">
  <sources>
    <source>/app</source>
  </sources>
  <packages>
    <package name="main" line-rate="0.8809" branch-rate="0.523">
      <classes>
        <class name="helpers.js" filename="helpers.js" line-rate="0.9655" branch-rate="0.6818000000000001">
          <methods>
            <method name="(anonymous_0)" hits="1" signature="()V">
              <lines>
                <line number="4" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_1)" hits="3" signature="()V">
              <lines>
                <line number="7" hits="3"/>
              </lines>
            </method>
            <method name="(anonymous_2)" hits="2" signature="()V">
              <lines>
                <line number="13" hits="2"/>
              </lines>
            </method>
            <method name="(anonymous_3)" hits="2" signature="()V">
              <lines>
                <line number="14" hits="2"/>
              </lines>
            </method>
            <method name="(anonymous_4)" hits="1" signature="()V">
              <lines>
                <line number="22" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_5)" hits="1" signature="()V">
              <lines>
                <line number="23" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_6)" hits="1" signature="()V">
              <lines>
                <line number="26" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_7)" hits="1" signature="()V">
              <lines>
                <line number="36" hits="1"/>
              </lines>
            </method>
          </methods>
          <lines>
            <line number="1" hits="1" branch="false"/>
            <line number="2" hits="1" branch="false"/>
            <line number="3" hits="1" branch="false"/>
            <line number="5" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="8" hits="3" branch="true" condition-coverage="100% (2/2)"/>
            <line number="9" hits="1" branch="false"/>
            <line number="11" hits="2" branch="false"/>
            <line number="12" hits="2" branch="false"/>
            <line number="13" hits="2" branch="false"/>
            <line number="15" hits="2" branch="true" condition-coverage="100% (2/2)"/>
            <line number="16" hits="1" branch="false"/>
            <line number="18" hits="1" branch="false"/>
            <line number="19" hits="1" branch="false"/>
            <line number="23" hits="1" branch="false"/>
            <line number="25" hits="1" branch="true" condition-coverage="75% (3/4)"/>
            <line number="26" hits="1" branch="false"/>
            <line number="28" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="30" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="32" hits="1" branch="false"/>
            <line number="37" hits="1" branch="false"/>
            <line number="38" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="39" hits="1" branch="false"/>
            <line number="40" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="41" hits="1" branch="false"/>
            <line number="42" hits="1" branch="false"/>
            <line number="43" hits="1" branch="true" condition-coverage="75% (3/4)"/>
            <line number="44" hits="1" branch="false"/>
            <line number="48" hits="0" branch="false"/>
            <line number="52" hits="1" branch="false"/>
          </lines>
        </class>
        <class name="index.js" filename="index.js" line-rate="0.8362999999999999" branch-rate="0.44179999999999997">
          <methods>
            <method name="sendMessage" hits="1" signature="()V">
              <lines>
                <line number="7" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_1)" hits="1" signature="()V">
              <lines>
                <line number="17" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_2)" hits="1" signature="()V">
              <lines>
                <line number="28" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_3)" hits="1" signature="()V">
              <lines>
                <line number="32" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_4)" hits="1" signature="()V">
              <lines>
                <line number="44" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_5)" hits="1" signature="()V">
              <lines>
                <line number="63" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_6)" hits="1" signature="()V">
              <lines>
                <line number="70" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_7)" hits="1" signature="()V">
              <lines>
                <line number="75" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_8)" hits="0" signature="()V">
              <lines>
                <line number="76" hits="0"/>
              </lines>
            </method>
            <method name="(anonymous_9)" hits="1" signature="()V">
              <lines>
                <line number="87" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_10)" hits="1" signature="()V">
              <lines>
                <line number="92" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_11)" hits="1" signature="()V">
              <lines>
                <line number="95" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_12)" hits="1" signature="()V">
              <lines>
                <line number="97" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_13)" hits="1" signature="()V">
              <lines>
                <line number="103" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_14)" hits="0" signature="()V">
              <lines>
                <line number="104" hits="0"/>
              </lines>
            </method>
            <method name="(anonymous_15)" hits="1" signature="()V">
              <lines>
                <line number="107" hits="1"/>
              </lines>
            </method>
            <method name="(anonymous_16)" hits="0" signature="()V">
              <lines>
                <line number="111" hits="0"/>
              </lines>
            </method>
            <method name="(anonymous_17)" hits="0" signature="()V">
              <lines>
                <line number="113" hits="0"/>
              </lines>
            </method>
            <method name="(anonymous_18)" hits="1" signature="()V">
              <lines>
                <line number="116" hits="1"/>
              </lines>
            </method>
          </methods>
          <lines>
            <line number="2" hits="1" branch="false"/>
            <line number="3" hits="1" branch="false"/>
            <line number="4" hits="1" branch="false"/>
            <line number="5" hits="1" branch="false"/>
            <line number="6" hits="1" branch="false"/>
            <line number="8" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="10" hits="1" branch="true" condition-coverage="75% (3/4)"/>
            <line number="11" hits="0" branch="false"/>
            <line number="13" hits="1" branch="false"/>
            <line number="18" hits="1" branch="false"/>
            <line number="19" hits="1" branch="false"/>
            <line number="20" hits="1" branch="false"/>
            <line number="21" hits="1" branch="false"/>
            <line number="22" hits="1" branch="false"/>
            <line number="23" hits="1" branch="false"/>
            <line number="24" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="25" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="29" hits="1" branch="false"/>
            <line number="32" hits="1" branch="false"/>
            <line number="33" hits="1" branch="false"/>
            <line number="34" hits="1" branch="false"/>
            <line number="38" hits="1" branch="false"/>
            <line number="40" hits="0" branch="false"/>
            <line number="43" hits="1" branch="false"/>
            <line number="45" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="46" hits="1" branch="false"/>
            <line number="54" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="55" hits="1" branch="false"/>
            <line number="56" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="57" hits="0" branch="true" condition-coverage="0% (0/2)"/>
            <line number="58" hits="0" branch="false"/>
            <line number="61" hits="1" branch="false"/>
            <line number="64" hits="1" branch="false"/>
            <line number="65" hits="1" branch="false"/>
            <line number="66" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="67" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="68" hits="1" branch="false"/>
            <line number="71" hits="1" branch="false"/>
            <line number="75" hits="1" branch="false"/>
            <line number="77" hits="0" branch="true" condition-coverage="0% (0/3)"/>
            <line number="78" hits="0" branch="true" condition-coverage="0% (0/2)"/>
            <line number="79" hits="0" branch="false"/>
            <line number="88" hits="1" branch="false"/>
            <line number="93" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="94" hits="1" branch="false"/>
            <line number="95" hits="1" branch="false"/>
            <line number="98" hits="1" branch="true" condition-coverage="50% (1/2)"/>
            <line number="104" hits="1" branch="true" condition-coverage="0% (0/2)"/>
            <line number="105" hits="1" branch="true" condition-coverage="75% (3/4)"/>
            <line number="106" hits="1" branch="false"/>
            <line number="107" hits="1" branch="false"/>
            <line number="112" hits="0" branch="false"/>
            <line number="113" hits="0" branch="false"/>
            <line number="117" hits="1" branch="true" condition-coverage="100% (2/2)"/>
            <line number="121" hits="1" branch="false"/>
          </lines>
        </class>
      </classes>
    </package>
  </packages>
</coverage>
