<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1786712864">
  <project timestamp="1786712864">
    <file name="/workspace/src/extensions/CampaignEvents/maintenance/AggregateParticipantAnswers.php">
      <class name="MediaWiki\Extension\CampaignEvents\Maintenance\AggregateParticipantAnswers" namespace="global">
        <metrics complexity="35" methods="8" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="231" coveredstatements="218" elements="239" coveredelements="222"/>
      </class>
      <line num="62" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="72" type="method" name="execute" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="81" type="method" name="aggregateAnswers" visibility="private" complexity="2" crap="2.00" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="135" type="method" name="processBatch" visibility="private" complexity="10" crap="10" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="159" type="stmt" count="0"/>
      <line num="163" type="stmt" count="1"/>
      <line num="164" type="stmt" count="1"/>
      <line num="166" type="stmt" count="1"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="173" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="183" type="stmt" count="1"/>
      <line num="184" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="189" type="stmt" count="1"/>
      <line num="190" type="stmt" count="1"/>
      <line num="195" type="stmt" count="1"/>
      <line num="196" type="stmt" count="1"/>
      <line num="197" type="stmt" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="203" type="stmt" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="208" type="stmt" count="1"/>
      <line num="209" type="stmt" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="211" type="stmt" count="1"/>
      <line num="212" type="stmt" count="1"/>
      <line num="213" type="stmt" count="1"/>
      <line num="216" type="stmt" count="1"/>
      <line num="225" type="method" name="loadDataForBatch" visibility="private" complexity="11" crap="11.21" count="1"/>
      <line num="227" type="stmt" count="1"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="233" type="stmt" count="1"/>
      <line num="234" type="stmt" count="1"/>
      <line num="237" type="stmt" count="1"/>
      <line num="238" type="stmt" count="1"/>
      <line num="240" type="stmt" count="1"/>
      <line num="241" type="stmt" count="1"/>
      <line num="242" type="stmt" count="1"/>
      <line num="243" type="stmt" count="1"/>
      <line num="244" type="stmt" count="1"/>
      <line num="245" type="stmt" count="1"/>
      <line num="246" type="stmt" count="1"/>
      <line num="247" type="stmt" count="1"/>
      <line num="248" type="stmt" count="1"/>
      <line num="249" type="stmt" count="1"/>
      <line num="253" type="stmt" count="1"/>
      <line num="254" type="stmt" count="1"/>
      <line num="255" type="stmt" count="1"/>
      <line num="256" type="stmt" count="1"/>
      <line num="257" type="stmt" count="1"/>
      <line num="258" type="stmt" count="1"/>
      <line num="259" type="stmt" count="1"/>
      <line num="260" type="stmt" count="1"/>
      <line num="261" type="stmt" count="1"/>
      <line num="262" type="stmt" count="1"/>
      <line num="263" type="stmt" count="1"/>
      <line num="267" type="stmt" count="1"/>
      <line num="268" type="stmt" count="0"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="277" type="stmt" count="1"/>
      <line num="278" type="stmt" count="1"/>
      <line num="279" type="stmt" count="1"/>
      <line num="280" type="stmt" count="1"/>
      <line num="281" type="stmt" count="1"/>
      <line num="282" type="stmt" count="1"/>
      <line num="284" type="stmt" count="1"/>
      <line num="285" type="stmt" count="1"/>
      <line num="286" type="stmt" count="1"/>
      <line num="287" type="stmt" count="1"/>
      <line num="289" type="stmt" count="1"/>
      <line num="291" type="stmt" count="1"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="295" type="stmt" count="1"/>
      <line num="296" type="stmt" count="1"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="302" type="stmt" count="1"/>
      <line num="303" type="stmt" count="1"/>
      <line num="312" type="method" name="updateAggregationTimestamps" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="313" type="stmt" count="1"/>
      <line num="314" type="stmt" count="1"/>
      <line num="315" type="stmt" count="1"/>
      <line num="316" type="stmt" count="1"/>
      <line num="317" type="stmt" count="1"/>
      <line num="318" type="stmt" count="1"/>
      <line num="319" type="stmt" count="1"/>
      <line num="320" type="stmt" count="1"/>
      <line num="321" type="stmt" count="1"/>
      <line num="322" type="stmt" count="1"/>
      <line num="336" type="method" name="purgeAggregates" visibility="private" complexity="3" crap="3.00" count="1"/>
      <line num="337" type="stmt" count="1"/>
      <line num="339" type="stmt" count="1"/>
      <line num="340" type="stmt" count="1"/>
      <line num="341" type="stmt" count="1"/>
      <line num="342" type="stmt" count="1"/>
      <line num="343" type="stmt" count="1"/>
      <line num="344" type="stmt" count="1"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="349" type="stmt" count="1"/>
      <line num="350" type="stmt" count="1"/>
      <line num="351" type="stmt" count="1"/>
      <line num="352" type="stmt" count="1"/>
      <line num="357" type="stmt" count="1"/>
      <line num="358" type="stmt" count="1"/>
      <line num="359" type="stmt" count="1"/>
      <line num="360" type="stmt" count="1"/>
      <line num="361" type="stmt" count="1"/>
      <line num="362" type="stmt" count="1"/>
      <line num="363" type="stmt" count="1"/>
      <line num="364" type="stmt" count="1"/>
      <line num="365" type="stmt" count="1"/>
      <line num="366" type="stmt" count="1"/>
      <line num="367" type="stmt" count="1"/>
      <line num="368" type="stmt" count="1"/>
      <line num="369" type="stmt" count="1"/>
      <line num="372" type="stmt" count="1"/>
      <line num="373" type="stmt" count="1"/>
      <line num="374" type="stmt" count="1"/>
      <line num="376" type="stmt" count="1"/>
      <line num="382" type="method" name="purgeAggregatesForEvents" visibility="private" complexity="5" crap="5" count="1"/>
      <line num="383" type="stmt" count="1"/>
      <line num="384" type="stmt" count="1"/>
      <line num="385" type="stmt" count="1"/>
      <line num="386" type="stmt" count="1"/>
      <line num="387" type="stmt" count="1"/>
      <line num="388" type="stmt" count="1"/>
      <line num="389" type="stmt" count="1"/>
      <line num="390" type="stmt" count="1"/>
      <line num="391" type="stmt" count="1"/>
      <line num="392" type="stmt" count="1"/>
      <line num="393" type="stmt" count="1"/>
      <line num="394" type="stmt" count="1"/>
      <line num="397" type="stmt" count="1"/>
      <line num="398" type="stmt" count="1"/>
      <line num="399" type="stmt" count="1"/>
      <line num="400" type="stmt" count="1"/>
      <line num="401" type="stmt" count="1"/>
      <line num="402" type="stmt" count="1"/>
      <line num="403" type="stmt" count="1"/>
      <line num="404" type="stmt" count="1"/>
      <line num="405" type="stmt" count="1"/>
      <line num="406" type="stmt" count="1"/>
      <line num="407" type="stmt" count="1"/>
      <line num="408" type="stmt" count="1"/>
      <line num="409" type="stmt" count="1"/>
      <line num="410" type="stmt" count="1"/>
      <line num="414" type="stmt" count="1"/>
      <line num="415" type="stmt" count="1"/>
      <line num="416" type="stmt" count="1"/>
      <line num="417" type="stmt" count="1"/>
      <line num="418" type="stmt" count="1"/>
      <line num="419" type="stmt" count="1"/>
      <line num="424" type="stmt" count="0"/>
      <metrics loc="425" ncloc="347" classes="1" methods="8" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="232" coveredstatements="218" elements="240" coveredelements="222"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/maintenance/FindPotentialInvitees.php">
      <class name="MediaWiki\Extension\CampaignEvents\Maintenance\FindPotentialInvitees" namespace="global">
        <metrics complexity="10" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="43" elements="49" coveredelements="44"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="21" type="stmt" count="1"/>
      <line num="22" type="stmt" count="1"/>
      <line num="23" type="stmt" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="25" type="stmt" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="27" type="stmt" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="32" type="stmt" count="1"/>
      <line num="33" type="stmt" count="1"/>
      <line num="39" type="method" name="execute" visibility="public" complexity="4" crap="4.00" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="70" type="method" name="getArticlesByWiki" visibility="private" complexity="5" crap="5.05" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="97" type="stmt" count="0"/>
      <metrics loc="98" ncloc="80" classes="1" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="43" elements="50" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/maintenance/UpdateUTCTimestamps.php">
      <class name="MediaWiki\Extension\CampaignEvents\Maintenance\UpdateUTCTimestamps" namespace="global">
        <metrics complexity="14" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="83" elements="96" coveredelements="85"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="54" type="method" name="execute" visibility="public" complexity="2" crap="2.00" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="89" type="method" name="validateTimezones" visibility="private" complexity="4" crap="12.19" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="107" type="method" name="updateBatch" visibility="private" complexity="6" crap="6" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="158" type="stmt" count="0"/>
      <line num="161" type="stmt" count="1"/>
      <line num="170" type="method" name="getUpdateTimeConditional" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="173" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <metrics loc="186" ncloc="154" classes="1" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="93" coveredstatements="83" elements="98" coveredelements="85"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Address/Address.php">
      <class name="MediaWiki\Extension\CampaignEvents\Address\Address" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="3" elements="16" coveredelements="6"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <line num="22" type="method" name="getAddressWithoutCountry" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="23" type="stmt" count="1"/>
      <line num="26" type="method" name="getCountryCode" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="27" type="stmt" count="1"/>
      <line num="34" type="method" name="toJsonArray" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="45" type="method" name="newFromJsonArray" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <metrics loc="52" ncloc="41" classes="1" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="3" elements="16" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Address/AddressStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Address\AddressStore" namespace="global">
        <metrics complexity="14" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="102" coveredstatements="102" elements="108" coveredelements="108"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="27"/>
      <line num="23" type="stmt" count="27"/>
      <line num="25" type="method" name="updateAddresses" visibility="public" complexity="4" crap="4" count="16"/>
      <line num="29" type="stmt" count="16"/>
      <line num="31" type="stmt" count="16"/>
      <line num="32" type="stmt" count="16"/>
      <line num="33" type="stmt" count="11"/>
      <line num="34" type="stmt" count="11"/>
      <line num="35" type="stmt" count="11"/>
      <line num="36" type="stmt" count="11"/>
      <line num="37" type="stmt" count="11"/>
      <line num="40" type="stmt" count="16"/>
      <line num="41" type="stmt" count="16"/>
      <line num="42" type="stmt" count="16"/>
      <line num="43" type="stmt" count="16"/>
      <line num="44" type="stmt" count="16"/>
      <line num="45" type="stmt" count="16"/>
      <line num="46" type="stmt" count="16"/>
      <line num="47" type="stmt" count="16"/>
      <line num="49" type="stmt" count="16"/>
      <line num="50" type="stmt" count="8"/>
      <line num="52" type="stmt" count="8"/>
      <line num="53" type="stmt" count="8"/>
      <line num="54" type="stmt" count="8"/>
      <line num="55" type="stmt" count="8"/>
      <line num="56" type="stmt" count="8"/>
      <line num="58" type="stmt" count="8"/>
      <line num="59" type="stmt" count="8"/>
      <line num="60" type="stmt" count="8"/>
      <line num="61" type="stmt" count="8"/>
      <line num="62" type="stmt" count="8"/>
      <line num="63" type="stmt" count="8"/>
      <line num="64" type="stmt" count="8"/>
      <line num="65" type="stmt" count="8"/>
      <line num="66" type="stmt" count="8"/>
      <line num="67" type="stmt" count="8"/>
      <line num="68" type="stmt" count="8"/>
      <line num="69" type="stmt" count="8"/>
      <line num="70" type="stmt" count="8"/>
      <line num="71" type="stmt" count="8"/>
      <line num="74" type="stmt" count="16"/>
      <line num="75" type="stmt" count="11"/>
      <line num="76" type="stmt" count="11"/>
      <line num="77" type="stmt" count="11"/>
      <line num="78" type="stmt" count="11"/>
      <line num="79" type="stmt" count="11"/>
      <line num="80" type="stmt" count="11"/>
      <line num="81" type="stmt" count="11"/>
      <line num="82" type="stmt" count="11"/>
      <line num="83" type="stmt" count="11"/>
      <line num="84" type="stmt" count="11"/>
      <line num="92" type="method" name="acquireAddressID" visibility="public" complexity="2" crap="2" count="16"/>
      <line num="93" type="stmt" count="16"/>
      <line num="98" type="stmt" count="16"/>
      <line num="99" type="stmt" count="16"/>
      <line num="100" type="stmt" count="16"/>
      <line num="101" type="stmt" count="16"/>
      <line num="102" type="stmt" count="16"/>
      <line num="103" type="stmt" count="16"/>
      <line num="104" type="stmt" count="16"/>
      <line num="105" type="stmt" count="16"/>
      <line num="106" type="stmt" count="16"/>
      <line num="108" type="stmt" count="16"/>
      <line num="109" type="stmt" count="6"/>
      <line num="111" type="stmt" count="10"/>
      <line num="112" type="stmt" count="10"/>
      <line num="113" type="stmt" count="10"/>
      <line num="114" type="stmt" count="10"/>
      <line num="115" type="stmt" count="10"/>
      <line num="116" type="stmt" count="10"/>
      <line num="117" type="stmt" count="10"/>
      <line num="118" type="stmt" count="10"/>
      <line num="119" type="stmt" count="10"/>
      <line num="120" type="stmt" count="10"/>
      <line num="122" type="stmt" count="16"/>
      <line num="125" type="method" name="getEventAddress" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="126" type="stmt" count="4"/>
      <line num="127" type="stmt" count="4"/>
      <line num="128" type="stmt" count="4"/>
      <line num="129" type="stmt" count="4"/>
      <line num="130" type="stmt" count="4"/>
      <line num="131" type="stmt" count="4"/>
      <line num="134" type="stmt" count="4"/>
      <line num="135" type="stmt" count="1"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <line num="140" type="stmt" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="143" type="stmt" count="3"/>
      <line num="151" type="method" name="getAddressesForEvents" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="152" type="stmt" count="2"/>
      <line num="153" type="stmt" count="2"/>
      <line num="154" type="stmt" count="2"/>
      <line num="155" type="stmt" count="2"/>
      <line num="156" type="stmt" count="2"/>
      <line num="157" type="stmt" count="2"/>
      <line num="159" type="stmt" count="2"/>
      <line num="160" type="stmt" count="2"/>
      <line num="161" type="stmt" count="2"/>
      <line num="162" type="stmt" count="2"/>
      <line num="164" type="stmt" count="1"/>
      <line num="166" type="stmt" count="2"/>
      <line num="168" type="stmt" count="1"/>
      <line num="171" type="method" name="addressFromRow" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="172" type="stmt" count="4"/>
      <line num="173" type="stmt" count="4"/>
      <line num="174" type="stmt" count="4"/>
      <line num="175" type="stmt" count="4"/>
      <metrics loc="178" ncloc="158" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="102" coveredstatements="102" elements="108" coveredelements="108"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Address/CountryProvider.php">
      <class name="MediaWiki\Extension\CampaignEvents\Address\CountryProvider" namespace="global">
        <metrics complexity="6" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="9" elements="14" coveredelements="12"/>
      </class>
      <line num="37" type="method" name="getAvailableCountries" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="38" type="stmt" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="48" type="method" name="getValidCountryCodes" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="57" type="method" name="isValidCountryCode" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="58" type="stmt" count="5"/>
      <line num="59" type="stmt" count="2"/>
      <line num="65" type="stmt" count="3"/>
      <line num="71" type="method" name="getCountryName" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="72" type="stmt" count="4"/>
      <line num="73" type="stmt" count="4"/>
      <line num="74" type="stmt" count="1"/>
      <line num="76" type="stmt" count="3"/>
      <metrics loc="79" ncloc="52" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="9" elements="14" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/CampaignEventsServices.php">
      <class name="MediaWiki\Extension\CampaignEvents\CampaignEventsServices" namespace="global">
        <metrics complexity="63" methods="63" coveredmethods="63" conditionals="0" coveredconditionals="0" statements="63" coveredstatements="63" elements="126" coveredelements="126"/>
      </class>
      <line num="78" type="method" name="getDatabaseHelper" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="82" type="method" name="getPageFactory" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="83" type="stmt" count="2"/>
      <line num="86" type="method" name="getCentralUserLookup" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="90" type="method" name="getEventStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="91" type="stmt" count="2"/>
      <line num="94" type="method" name="getEventLookup" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="95" type="stmt" count="2"/>
      <line num="98" type="method" name="getEventGoalStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="102" type="method" name="getPermissionChecker" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="106" type="method" name="getUserMailer" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="110" type="method" name="getEventFactory" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="114" type="method" name="getCampaignsPageFormatter" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <line num="118" type="method" name="getParticipantsStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="119" type="stmt" count="2"/>
      <line num="122" type="method" name="getOrganizersStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="126" type="method" name="getEditEventCommand" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="127" type="stmt" count="2"/>
      <line num="130" type="method" name="getDeleteEventCommand" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="134" type="method" name="getRoleFormatter" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="135" type="stmt" count="2"/>
      <line num="138" type="method" name="getRegisterParticipantCommand" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="144" type="method" name="getUnregisterParticipantCommand" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="147" type="stmt" count="2"/>
      <line num="150" type="method" name="getEventsPagerFactory" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="151" type="stmt" count="2"/>
      <line num="154" type="method" name="getEventPageDecoratorFactory" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="157" type="stmt" count="2"/>
      <line num="160" type="method" name="getHookRunner" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="161" type="stmt" count="2"/>
      <line num="164" type="method" name="getPolicyMessagesLookup" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="168" type="method" name="getAddressStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="172" type="method" name="getEventTimeFormatter" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="176" type="method" name="getPageURLResolver" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="180" type="method" name="getPageEventLookup" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="181" type="stmt" count="2"/>
      <line num="184" type="method" name="getPageAuthorLookup" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="185" type="stmt" count="2"/>
      <line num="188" type="method" name="getUserLinker" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="189" type="stmt" count="2"/>
      <line num="192" type="method" name="getFrontendModulesFactory" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="193" type="stmt" count="2"/>
      <line num="196" type="method" name="getTrackingToolRegistry" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="197" type="stmt" count="2"/>
      <line num="200" type="method" name="getUserNotifier" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="201" type="stmt" count="2"/>
      <line num="204" type="method" name="getPermissionLookup" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="205" type="stmt" count="2"/>
      <line num="208" type="method" name="getEventPageCacheUpdater" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="209" type="stmt" count="2"/>
      <line num="212" type="method" name="getTrackingToolEventWatcher" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="215" type="stmt" count="2"/>
      <line num="218" type="method" name="getTrackingToolUpdater" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="219" type="stmt" count="2"/>
      <line num="222" type="method" name="getEventQuestionsRegistry" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="223" type="stmt" count="2"/>
      <line num="226" type="method" name="getEventQuestionsStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="227" type="stmt" count="2"/>
      <line num="230" type="method" name="getParticipantAnswersStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="231" type="stmt" count="2"/>
      <line num="234" type="method" name="getEventAggregatedAnswersStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="237" type="stmt" count="2"/>
      <line num="240" type="method" name="getPotentialInviteesFinder" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="241" type="stmt" count="2"/>
      <line num="244" type="method" name="getArticleListParser" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="248" type="method" name="getInvitationListGenerator" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="252" type="method" name="getDiscoveryPromotionStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="258" type="method" name="getDiscoverableEventsLookup" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="261" type="stmt" count="2"/>
      <line num="264" type="method" name="getInvitationListStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="265" type="stmt" count="2"/>
      <line num="268" type="method" name="getWikiLookup" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="269" type="stmt" count="2"/>
      <line num="272" type="method" name="getEventWikisStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="273" type="stmt" count="2"/>
      <line num="276" type="method" name="getTopicRegistry" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="277" type="stmt" count="2"/>
      <line num="280" type="method" name="getEventTopicsStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="281" type="stmt" count="2"/>
      <line num="284" type="method" name="getEventContributionStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="287" type="stmt" count="2"/>
      <line num="290" type="method" name="getWikiConfiguration" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="291" type="stmt" count="2"/>
      <line num="294" type="method" name="getEventTypesRegistry" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="295" type="stmt" count="2"/>
      <line num="298" type="method" name="getCountryProvider" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="299" type="stmt" count="2"/>
      <line num="302" type="method" name="getEventFormatter" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="303" type="stmt" count="2"/>
      <line num="306" type="method" name="getEventContributionComputeMetrics" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="309" type="stmt" count="2"/>
      <line num="312" type="method" name="getEventContributionValidator" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="315" type="stmt" count="2"/>
      <line num="318" type="method" name="getEventContributionsPagerFactory" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="321" type="stmt" count="2"/>
      <line num="324" type="method" name="getWorklistPagesPagerFactory" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="327" type="stmt" count="2"/>
      <line num="330" type="method" name="getEventGoalCompletionCalculator" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="333" type="stmt" count="2"/>
      <line num="336" type="method" name="getGoalProgressFormatter" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="339" type="stmt" count="2"/>
      <line num="342" type="method" name="getWorklistArticleHelper" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="345" type="stmt" count="2"/>
      <line num="348" type="method" name="getWorklistEventsStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="349" type="stmt" count="2"/>
      <line num="352" type="method" name="getWorklistSecondaryStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="353" type="stmt" count="2"/>
      <line num="356" type="method" name="getWorklistPagesSecondaryStore" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="359" type="stmt" count="2"/>
      <metrics loc="362" ncloc="359" classes="1" methods="63" coveredmethods="63" conditionals="0" coveredconditionals="0" statements="63" coveredstatements="63" elements="126" coveredelements="126"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Config/CommunityConfiguration/Schemas/CampaignEventsSchema.php">
      <class name="MediaWiki\Extension\CampaignEvents\Config\CommunityConfiguration\Schemas\CampaignEventsSchema" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="22" ncloc="21" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Database/CampaignsDatabaseHelper.php">
      <class name="MediaWiki\Extension\CampaignEvents\Database\CampaignsDatabaseHelper" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="20" type="method" name="getReplicaConnection" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="24" type="method" name="getPrimaryConnection" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <metrics loc="28" ncloc="28" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/DeleteEventCommand.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\DeleteEventCommand" namespace="global">
        <metrics complexity="9" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="17" elements="21" coveredelements="21"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="30" type="stmt" count="6"/>
      <line num="36" type="method" name="deleteIfAllowed" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="41" type="stmt" count="3"/>
      <line num="42" type="stmt" count="1"/>
      <line num="44" type="stmt" count="2"/>
      <line num="47" type="method" name="authorizeDeletion" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="52" type="stmt" count="1"/>
      <line num="54" type="stmt" count="2"/>
      <line num="62" type="method" name="deleteUnsafe" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="1"/>
      <line num="72" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="78" type="stmt" count="2"/>
      <metrics loc="81" ncloc="69" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="17" elements="21" coveredelements="21"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/EditEventCommand.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\EditEventCommand" namespace="global">
        <metrics complexity="60" methods="12" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="200" coveredstatements="169" elements="212" coveredelements="176"/>
      </class>
      <line num="45" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="41"/>
      <line num="62" type="stmt" count="41"/>
      <line num="71" type="method" name="doEditIfAllowed" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="76" type="stmt" count="6"/>
      <line num="77" type="stmt" count="6"/>
      <line num="78" type="stmt" count="2"/>
      <line num="80" type="stmt" count="4"/>
      <line num="83" type="method" name="authorizeEdit" visibility="private" complexity="5" crap="5" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="1"/>
      <line num="97" type="stmt" count="2"/>
      <line num="107" type="method" name="doEditUnsafe" visibility="public" complexity="15" crap="15.34" count="20"/>
      <line num="112" type="stmt" count="20"/>
      <line num="113" type="stmt" count="20"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="126" type="stmt" count="19"/>
      <line num="127" type="stmt" count="2"/>
      <line num="128" type="stmt" count="2"/>
      <line num="131" type="stmt" count="17"/>
      <line num="132" type="stmt" count="17"/>
      <line num="133" type="stmt" count="10"/>
      <line num="135" type="stmt" count="7"/>
      <line num="137" type="stmt" count="7"/>
      <line num="138" type="stmt" count="7"/>
      <line num="139" type="stmt" count="4"/>
      <line num="140" type="stmt" count="4"/>
      <line num="141" type="stmt" count="4"/>
      <line num="142" type="stmt" count="4"/>
      <line num="143" type="stmt" count="4"/>
      <line num="145" type="stmt" count="4"/>
      <line num="146" type="stmt" count="1"/>
      <line num="148" type="stmt" count="3"/>
      <line num="149" type="stmt" count="1"/>
      <line num="152" type="stmt" count="5"/>
      <line num="153" type="stmt" count="5"/>
      <line num="154" type="stmt" count="5"/>
      <line num="155" type="stmt" count="5"/>
      <line num="156" type="stmt" count="3"/>
      <line num="157" type="stmt" count="3"/>
      <line num="158" type="stmt" count="0"/>
      <line num="160" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="172" type="stmt" count="5"/>
      <line num="173" type="stmt" count="2"/>
      <line num="176" type="stmt" count="3"/>
      <line num="177" type="stmt" count="3"/>
      <line num="178" type="stmt" count="3"/>
      <line num="179" type="stmt" count="3"/>
      <line num="180" type="stmt" count="3"/>
      <line num="181" type="stmt" count="3"/>
      <line num="182" type="stmt" count="3"/>
      <line num="183" type="stmt" count="3"/>
      <line num="184" type="stmt" count="3"/>
      <line num="186" type="stmt" count="3"/>
      <line num="188" type="stmt" count="3"/>
      <line num="189" type="stmt" count="3"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="194" type="stmt" count="3"/>
      <line num="203" type="method" name="updateTrackingTools" visibility="private" complexity="2" crap="2.07" count="4"/>
      <line num="212" type="stmt" count="4"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="4"/>
      <line num="222" type="stmt" count="4"/>
      <line num="223" type="stmt" count="2"/>
      <line num="224" type="stmt" count="2"/>
      <line num="225" type="stmt" count="2"/>
      <line num="226" type="stmt" count="2"/>
      <line num="227" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="230" type="stmt" count="2"/>
      <line num="231" type="stmt" count="2"/>
      <line num="232" type="stmt" count="2"/>
      <line num="233" type="stmt" count="2"/>
      <line num="245" type="stmt" count="4"/>
      <line num="246" type="stmt" count="4"/>
      <line num="247" type="stmt" count="4"/>
      <line num="248" type="stmt" count="4"/>
      <line num="257" type="method" name="addOrganizers" visibility="private" complexity="6" crap="6.01" count="2"/>
      <line num="263" type="stmt" count="2"/>
      <line num="264" type="stmt" count="1"/>
      <line num="265" type="stmt" count="1"/>
      <line num="266" type="stmt" count="1"/>
      <line num="267" type="stmt" count="1"/>
      <line num="268" type="stmt" count="1"/>
      <line num="269" type="stmt" count="0"/>
      <line num="271" type="stmt" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="275" type="stmt" count="2"/>
      <line num="276" type="stmt" count="2"/>
      <line num="277" type="stmt" count="2"/>
      <line num="278" type="stmt" count="2"/>
      <line num="279" type="stmt" count="2"/>
      <line num="281" type="stmt" count="2"/>
      <line num="282" type="stmt" count="1"/>
      <line num="284" type="stmt" count="2"/>
      <line num="292" type="method" name="validateOrganizers" visibility="public" complexity="7" crap="7" count="14"/>
      <line num="293" type="stmt" count="14"/>
      <line num="294" type="stmt" count="2"/>
      <line num="295" type="stmt" count="2"/>
      <line num="296" type="stmt" count="2"/>
      <line num="299" type="stmt" count="12"/>
      <line num="300" type="stmt" count="2"/>
      <line num="301" type="stmt" count="2"/>
      <line num="302" type="stmt" count="2"/>
      <line num="303" type="stmt" count="2"/>
      <line num="306" type="stmt" count="10"/>
      <line num="307" type="stmt" count="10"/>
      <line num="308" type="stmt" count="10"/>
      <line num="309" type="stmt" count="2"/>
      <line num="313" type="stmt" count="10"/>
      <line num="314" type="stmt" count="2"/>
      <line num="315" type="stmt" count="2"/>
      <line num="316" type="stmt" count="2"/>
      <line num="317" type="stmt" count="2"/>
      <line num="318" type="stmt" count="2"/>
      <line num="319" type="stmt" count="2"/>
      <line num="320" type="stmt" count="2"/>
      <line num="323" type="stmt" count="8"/>
      <line num="324" type="stmt" count="8"/>
      <line num="325" type="stmt" count="4"/>
      <line num="328" type="stmt" count="4"/>
      <line num="336" type="method" name="organizerNamesToCentralIDs" visibility="private" complexity="5" crap="5" count="8"/>
      <line num="337" type="stmt" count="8"/>
      <line num="338" type="stmt" count="8"/>
      <line num="339" type="stmt" count="8"/>
      <line num="340" type="stmt" count="8"/>
      <line num="341" type="stmt" count="2"/>
      <line num="342" type="stmt" count="2"/>
      <line num="343" type="stmt" count="2"/>
      <line num="344" type="stmt" count="2"/>
      <line num="347" type="stmt" count="6"/>
      <line num="348" type="stmt" count="6"/>
      <line num="349" type="stmt" count="2"/>
      <line num="350" type="stmt" count="2"/>
      <line num="354" type="stmt" count="6"/>
      <line num="355" type="stmt" count="2"/>
      <line num="356" type="stmt" count="2"/>
      <line num="357" type="stmt" count="2"/>
      <line num="358" type="stmt" count="2"/>
      <line num="359" type="stmt" count="2"/>
      <line num="361" type="stmt" count="4"/>
      <line num="369" type="method" name="checkOrganizerNotRemovingTheCreator" visibility="private" complexity="5" crap="5.14" count="2"/>
      <line num="374" type="stmt" count="2"/>
      <line num="375" type="stmt" count="2"/>
      <line num="376" type="stmt" count="2"/>
      <line num="377" type="stmt" count="2"/>
      <line num="379" type="stmt" count="2"/>
      <line num="381" type="stmt" count="0"/>
      <line num="385" type="stmt" count="2"/>
      <line num="386" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="391" type="stmt" count="2"/>
      <line num="393" type="stmt" count="2"/>
      <line num="394" type="stmt" count="2"/>
      <line num="396" type="stmt" count="1"/>
      <line num="397" type="stmt" count="1"/>
      <line num="398" type="stmt" count="1"/>
      <line num="399" type="stmt" count="1"/>
      <line num="402" type="stmt" count="1"/>
      <line num="405" type="method" name="checkCanEditEventDates" visibility="private" complexity="4" crap="4" count="4"/>
      <line num="409" type="stmt" count="4"/>
      <line num="410" type="stmt" count="4"/>
      <line num="414" type="stmt" count="4"/>
      <line num="415" type="stmt" count="4"/>
      <line num="416" type="stmt" count="4"/>
      <line num="418" type="stmt" count="2"/>
      <line num="420" type="stmt" count="2"/>
      <line num="423" type="method" name="updateWorklistAssociation" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="444" type="method" name="eventHasAnswersOrAggregates" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="445" type="stmt" count="3"/>
      <line num="446" type="stmt" count="3"/>
      <metrics loc="449" ncloc="385" classes="1" methods="12" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="200" coveredstatements="169" elements="212" coveredelements="176"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/EventFactory.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\EventFactory" namespace="global">
        <metrics complexity="105" methods="15" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="294" coveredstatements="281" elements="309" coveredelements="293"/>
      </class>
      <line num="63" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="115"/>
      <line num="75" type="stmt" count="115"/>
      <line num="111" type="method" name="newEvent" visibility="public" complexity="16" crap="16.21" count="115"/>
      <line num="139" type="stmt" count="115"/>
      <line num="141" type="stmt" count="115"/>
      <line num="142" type="stmt" count="1"/>
      <line num="145" type="stmt" count="115"/>
      <line num="146" type="stmt" count="115"/>
      <line num="147" type="stmt" count="115"/>
      <line num="149" type="stmt" count="115"/>
      <line num="150" type="stmt" count="1"/>
      <line num="153" type="stmt" count="115"/>
      <line num="154" type="stmt" count="115"/>
      <line num="155" type="stmt" count="115"/>
      <line num="156" type="stmt" count="115"/>
      <line num="157" type="stmt" count="99"/>
      <line num="158" type="stmt" count="99"/>
      <line num="159" type="stmt" count="99"/>
      <line num="160" type="stmt" count="99"/>
      <line num="161" type="stmt" count="99"/>
      <line num="162" type="stmt" count="99"/>
      <line num="163" type="stmt" count="99"/>
      <line num="166" type="stmt" count="115"/>
      <line num="167" type="stmt" count="115"/>
      <line num="168" type="stmt" count="115"/>
      <line num="170" type="stmt" count="115"/>
      <line num="171" type="stmt" count="115"/>
      <line num="172" type="stmt" count="115"/>
      <line num="174" type="stmt" count="115"/>
      <line num="175" type="stmt" count="115"/>
      <line num="176" type="stmt" count="115"/>
      <line num="178" type="stmt" count="115"/>
      <line num="179" type="stmt" count="115"/>
      <line num="180" type="stmt" count="115"/>
      <line num="181" type="stmt" count="115"/>
      <line num="182" type="stmt" count="115"/>
      <line num="183" type="stmt" count="115"/>
      <line num="184" type="stmt" count="115"/>
      <line num="185" type="stmt" count="115"/>
      <line num="186" type="stmt" count="115"/>
      <line num="187" type="stmt" count="106"/>
      <line num="189" type="stmt" count="9"/>
      <line num="192" type="stmt" count="115"/>
      <line num="193" type="stmt" count="115"/>
      <line num="194" type="stmt" count="115"/>
      <line num="195" type="stmt" count="7"/>
      <line num="199" type="stmt" count="115"/>
      <line num="200" type="stmt" count="103"/>
      <line num="203" type="stmt" count="115"/>
      <line num="204" type="stmt" count="115"/>
      <line num="205" type="stmt" count="115"/>
      <line num="206" type="stmt" count="115"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="211" type="stmt" count="115"/>
      <line num="212" type="stmt" count="115"/>
      <line num="213" type="stmt" count="115"/>
      <line num="214" type="stmt" count="115"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="224" type="stmt" count="115"/>
      <line num="227" type="stmt" count="115"/>
      <line num="228" type="stmt" count="115"/>
      <line num="229" type="stmt" count="115"/>
      <line num="231" type="stmt" count="115"/>
      <line num="232" type="stmt" count="115"/>
      <line num="233" type="stmt" count="115"/>
      <line num="236" type="stmt" count="115"/>
      <line num="237" type="stmt" count="115"/>
      <line num="239" type="stmt" count="115"/>
      <line num="240" type="stmt" count="115"/>
      <line num="241" type="stmt" count="115"/>
      <line num="242" type="stmt" count="115"/>
      <line num="243" type="stmt" count="115"/>
      <line num="244" type="stmt" count="3"/>
      <line num="245" type="stmt" count="3"/>
      <line num="246" type="stmt" count="3"/>
      <line num="249" type="stmt" count="112"/>
      <line num="250" type="stmt" count="85"/>
      <line num="256" type="stmt" count="27"/>
      <line num="257" type="stmt" count="27"/>
      <line num="258" type="stmt" count="27"/>
      <line num="259" type="stmt" count="27"/>
      <line num="260" type="stmt" count="27"/>
      <line num="261" type="stmt" count="27"/>
      <line num="262" type="stmt" count="27"/>
      <line num="263" type="stmt" count="27"/>
      <line num="264" type="stmt" count="27"/>
      <line num="265" type="stmt" count="27"/>
      <line num="266" type="stmt" count="27"/>
      <line num="267" type="stmt" count="27"/>
      <line num="268" type="stmt" count="27"/>
      <line num="269" type="stmt" count="27"/>
      <line num="270" type="stmt" count="27"/>
      <line num="271" type="stmt" count="27"/>
      <line num="272" type="stmt" count="27"/>
      <line num="273" type="stmt" count="27"/>
      <line num="274" type="stmt" count="27"/>
      <line num="275" type="stmt" count="27"/>
      <line num="276" type="stmt" count="27"/>
      <line num="277" type="stmt" count="27"/>
      <line num="278" type="stmt" count="27"/>
      <line num="279" type="stmt" count="27"/>
      <line num="290" type="method" name="validatePage" visibility="private" complexity="11" crap="11" count="115"/>
      <line num="295" type="stmt" count="115"/>
      <line num="296" type="stmt" count="115"/>
      <line num="297" type="stmt" count="1"/>
      <line num="301" type="stmt" count="114"/>
      <line num="302" type="stmt" count="4"/>
      <line num="303" type="stmt" count="1"/>
      <line num="304" type="stmt" count="1"/>
      <line num="305" type="stmt" count="1"/>
      <line num="306" type="stmt" count="1"/>
      <line num="307" type="stmt" count="3"/>
      <line num="308" type="stmt" count="1"/>
      <line num="309" type="stmt" count="2"/>
      <line num="310" type="stmt" count="1"/>
      <line num="311" type="stmt" count="1"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="1"/>
      <line num="314" type="stmt" count="1"/>
      <line num="317" type="stmt" count="110"/>
      <line num="319" type="stmt" count="110"/>
      <line num="320" type="stmt" count="110"/>
      <line num="322" type="stmt" count="8"/>
      <line num="325" type="stmt" count="102"/>
      <line num="329" type="method" name="validateTypes" visibility="private" complexity="6" crap="6" count="115"/>
      <line num="330" type="stmt" count="115"/>
      <line num="331" type="stmt" count="115"/>
      <line num="333" type="stmt" count="115"/>
      <line num="334" type="stmt" count="1"/>
      <line num="337" type="stmt" count="115"/>
      <line num="338" type="stmt" count="2"/>
      <line num="341" type="stmt" count="115"/>
      <line num="342" type="stmt" count="115"/>
      <line num="343" type="stmt" count="4"/>
      <line num="344" type="stmt" count="4"/>
      <line num="345" type="stmt" count="4"/>
      <line num="346" type="stmt" count="4"/>
      <line num="349" type="stmt" count="115"/>
      <line num="350" type="stmt" count="1"/>
      <line num="353" type="stmt" count="115"/>
      <line num="360" type="method" name="validateWikis" visibility="private" complexity="4" crap="4" count="115"/>
      <line num="361" type="stmt" count="115"/>
      <line num="362" type="stmt" count="1"/>
      <line num="365" type="stmt" count="114"/>
      <line num="366" type="stmt" count="114"/>
      <line num="367" type="stmt" count="114"/>
      <line num="368" type="stmt" count="2"/>
      <line num="371" type="stmt" count="114"/>
      <line num="372" type="stmt" count="114"/>
      <line num="373" type="stmt" count="4"/>
      <line num="374" type="stmt" count="4"/>
      <line num="375" type="stmt" count="4"/>
      <line num="376" type="stmt" count="4"/>
      <line num="379" type="stmt" count="114"/>
      <line num="387" type="method" name="validateTopics" visibility="private" complexity="3" crap="3" count="115"/>
      <line num="388" type="stmt" count="115"/>
      <line num="389" type="stmt" count="115"/>
      <line num="390" type="stmt" count="115"/>
      <line num="391" type="stmt" count="2"/>
      <line num="394" type="stmt" count="115"/>
      <line num="395" type="stmt" count="115"/>
      <line num="396" type="stmt" count="4"/>
      <line num="397" type="stmt" count="4"/>
      <line num="398" type="stmt" count="4"/>
      <line num="399" type="stmt" count="4"/>
      <line num="402" type="stmt" count="115"/>
      <line num="408" type="method" name="validateTrackingTool" visibility="private" complexity="8" crap="8" count="115"/>
      <line num="409" type="stmt" count="115"/>
      <line num="410" type="stmt" count="114"/>
      <line num="411" type="stmt" count="1"/>
      <line num="413" type="stmt" count="113"/>
      <line num="414" type="stmt" count="1"/>
      <line num="416" type="stmt" count="112"/>
      <line num="420" type="stmt" count="1"/>
      <line num="421" type="stmt" count="1"/>
      <line num="422" type="stmt" count="1"/>
      <line num="423" type="stmt" count="1"/>
      <line num="424" type="stmt" count="1"/>
      <line num="431" type="method" name="validateTimezone" visibility="private" complexity="4" crap="4" count="115"/>
      <line num="432" type="stmt" count="115"/>
      <line num="433" type="stmt" count="12"/>
      <line num="434" type="stmt" count="12"/>
      <line num="438" type="stmt" count="8"/>
      <line num="442" type="stmt" count="107"/>
      <line num="443" type="stmt" count="8"/>
      <line num="444" type="stmt" count="8"/>
      <line num="448" type="method" name="validateLocalDates" visibility="private" complexity="9" crap="9" count="99"/>
      <line num="454" type="stmt" count="99"/>
      <line num="456" type="stmt" count="99"/>
      <line num="457" type="stmt" count="99"/>
      <line num="458" type="stmt" count="99"/>
      <line num="459" type="stmt" count="99"/>
      <line num="460" type="stmt" count="1"/>
      <line num="461" type="stmt" count="1"/>
      <line num="462" type="stmt" count="98"/>
      <line num="464" type="stmt" count="2"/>
      <line num="465" type="stmt" count="2"/>
      <line num="467" type="stmt" count="96"/>
      <line num="469" type="stmt" count="96"/>
      <line num="471" type="stmt" count="1"/>
      <line num="475" type="stmt" count="99"/>
      <line num="476" type="stmt" count="1"/>
      <line num="477" type="stmt" count="1"/>
      <line num="478" type="stmt" count="98"/>
      <line num="480" type="stmt" count="2"/>
      <line num="481" type="stmt" count="2"/>
      <line num="483" type="stmt" count="96"/>
      <line num="486" type="stmt" count="99"/>
      <line num="487" type="stmt" count="1"/>
      <line num="490" type="stmt" count="99"/>
      <line num="493" type="method" name="validateMeetingInfo" visibility="private" complexity="10" crap="10" count="115"/>
      <line num="499" type="stmt" count="115"/>
      <line num="501" type="stmt" count="115"/>
      <line num="502" type="stmt" count="2"/>
      <line num="504" type="stmt" count="2"/>
      <line num="507" type="stmt" count="113"/>
      <line num="508" type="stmt" count="106"/>
      <line num="509" type="stmt" count="105"/>
      <line num="510" type="stmt" count="105"/>
      <line num="511" type="stmt" count="1"/>
      <line num="514" type="stmt" count="7"/>
      <line num="515" type="stmt" count="1"/>
      <line num="518" type="stmt" count="113"/>
      <line num="519" type="stmt" count="104"/>
      <line num="520" type="stmt" count="103"/>
      <line num="522" type="stmt" count="104"/>
      <line num="523" type="stmt" count="9"/>
      <line num="524" type="stmt" count="2"/>
      <line num="526" type="stmt" count="113"/>
      <line num="529" type="method" name="isValidURL" visibility="private" complexity="10" crap="10.14" count="115"/>
      <line num="532" type="stmt" count="115"/>
      <line num="535" type="stmt" count="115"/>
      <line num="536" type="stmt" count="115"/>
      <line num="540" type="stmt" count="115"/>
      <line num="541" type="stmt" count="115"/>
      <line num="542" type="stmt" count="115"/>
      <line num="544" type="stmt" count="6"/>
      <line num="548" type="stmt" count="115"/>
      <line num="549" type="stmt" count="115"/>
      <line num="550" type="stmt" count="1"/>
      <line num="554" type="stmt" count="115"/>
      <line num="555" type="stmt" count="115"/>
      <line num="556" type="stmt" count="2"/>
      <line num="558" type="stmt" count="115"/>
      <line num="559" type="stmt" count="0"/>
      <line num="561" type="stmt" count="115"/>
      <line num="562" type="stmt" count="0"/>
      <line num="565" type="stmt" count="115"/>
      <line num="568" type="method" name="validateLocation" visibility="private" complexity="4" crap="4" count="104"/>
      <line num="572" type="stmt" count="104"/>
      <line num="573" type="stmt" count="104"/>
      <line num="574" type="stmt" count="3"/>
      <line num="576" type="stmt" count="104"/>
      <line num="577" type="stmt" count="1"/>
      <line num="579" type="stmt" count="104"/>
      <line num="590" type="method" name="validateContributionsTracking" visibility="private" complexity="5" crap="5" count="103"/>
      <line num="596" type="stmt" count="103"/>
      <line num="597" type="stmt" count="103"/>
      <line num="599" type="stmt" count="1"/>
      <line num="602" type="stmt" count="102"/>
      <line num="603" type="stmt" count="102"/>
      <line num="604" type="stmt" count="2"/>
      <line num="605" type="stmt" count="2"/>
      <line num="606" type="stmt" count="2"/>
      <line num="607" type="stmt" count="2"/>
      <line num="608" type="stmt" count="2"/>
      <line num="609" type="stmt" count="2"/>
      <line num="610" type="stmt" count="2"/>
      <line num="611" type="stmt" count="2"/>
      <line num="613" type="stmt" count="100"/>
      <line num="614" type="stmt" count="1"/>
      <line num="616" type="stmt" count="99"/>
      <line num="627" type="method" name="validateGoal" visibility="private" complexity="10" crap="10" count="115"/>
      <line num="628" type="stmt" count="115"/>
      <line num="630" type="stmt" count="115"/>
      <line num="631" type="stmt" count="12"/>
      <line num="634" type="stmt" count="103"/>
      <line num="635" type="stmt" count="1"/>
      <line num="638" type="stmt" count="102"/>
      <line num="639" type="stmt" count="102"/>
      <line num="640" type="stmt" count="1"/>
      <line num="643" type="stmt" count="101"/>
      <line num="644" type="stmt" count="1"/>
      <line num="647" type="stmt" count="100"/>
      <line num="648" type="stmt" count="1"/>
      <line num="651" type="stmt" count="99"/>
      <line num="652" type="stmt" count="99"/>
      <line num="653" type="stmt" count="99"/>
      <line num="654" type="stmt" count="99"/>
      <line num="656" type="stmt" count="99"/>
      <line num="663" type="method" name="validateParticipantQuestions" visibility="private" complexity="4" crap="4" count="115"/>
      <line num="664" type="stmt" count="115"/>
      <line num="665" type="stmt" count="115"/>
      <line num="666" type="stmt" count="115"/>
      <line num="668" type="stmt" count="115"/>
      <line num="669" type="stmt" count="1"/>
      <line num="670" type="stmt" count="1"/>
      <line num="673" type="stmt" count="115"/>
      <line num="674" type="stmt" count="115"/>
      <line num="675" type="stmt" count="1"/>
      <line num="677" type="stmt" count="115"/>
      <metrics loc="680" ncloc="573" classes="1" methods="15" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="294" coveredstatements="281" elements="309" coveredelements="293"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/EventRegistration.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\EventRegistration" namespace="global">
        <metrics complexity="37" methods="32" coveredmethods="30" conditionals="0" coveredconditionals="0" statements="123" coveredstatements="117" elements="155" coveredelements="147"/>
      </class>
      <line num="69" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="95" type="stmt" count="4"/>
      <line num="96" type="stmt" count="4"/>
      <line num="97" type="stmt" count="4"/>
      <line num="98" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <line num="118" type="method" name="getID" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="122" type="method" name="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="126" type="method" name="getPage" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="130" type="method" name="getStatus" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="134" type="method" name="getTimezone" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="141" type="method" name="getStartLocalTimestamp" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="148" type="method" name="getStartUTCTimestamp" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="149" type="stmt" count="12"/>
      <line num="150" type="stmt" count="12"/>
      <line num="151" type="stmt" count="12"/>
      <line num="157" type="method" name="getEndLocalTimestamp" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="164" type="method" name="getEndUTCTimestamp" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="165" type="stmt" count="13"/>
      <line num="166" type="stmt" count="13"/>
      <line num="167" type="stmt" count="13"/>
      <line num="170" type="method" name="isPast" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="171" type="stmt" count="6"/>
      <line num="174" type="method" name="isOngoing" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="175" type="stmt" count="3"/>
      <line num="178" type="method" name="isFuture" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="179" type="stmt" count="5"/>
      <line num="183" type="method" name="getTypes" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="184" type="stmt" count="1"/>
      <line num="190" type="method" name="getWikis" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="191" type="stmt" count="1"/>
      <line num="197" type="method" name="getTopics" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="201" type="method" name="getParticipationOptions" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="205" type="method" name="getMeetingURL" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="206" type="stmt" count="1"/>
      <line num="209" type="method" name="getAddress" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="218" type="method" name="getAddressOrThrow" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="225" type="method" name="getChatURL" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="226" type="stmt" count="1"/>
      <line num="229" type="method" name="getIsTestEvent" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="233" type="method" name="hasContributionTracking" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="234" type="stmt" count="1"/>
      <line num="237" type="method" name="getGoal" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="238" type="stmt" count="1"/>
      <line num="245" type="method" name="getTrackingTools" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="246" type="stmt" count="1"/>
      <line num="252" type="method" name="getParticipantQuestions" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="253" type="stmt" count="1"/>
      <line num="256" type="method" name="getCreationTimestamp" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="257" type="stmt" count="1"/>
      <line num="260" type="method" name="getLastEditTimestamp" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="261" type="stmt" count="1"/>
      <line num="264" type="method" name="getDeletionTimestamp" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="265" type="stmt" count="1"/>
      <line num="268" type="method" name="isOnLocalWiki" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="278" type="method" name="toJsonArray" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="279" type="stmt" count="1"/>
      <line num="280" type="stmt" count="1"/>
      <line num="281" type="stmt" count="1"/>
      <line num="282" type="stmt" count="1"/>
      <line num="283" type="stmt" count="1"/>
      <line num="284" type="stmt" count="1"/>
      <line num="285" type="stmt" count="1"/>
      <line num="286" type="stmt" count="1"/>
      <line num="287" type="stmt" count="1"/>
      <line num="288" type="stmt" count="1"/>
      <line num="290" type="stmt" count="1"/>
      <line num="291" type="stmt" count="1"/>
      <line num="292" type="stmt" count="1"/>
      <line num="293" type="stmt" count="1"/>
      <line num="294" type="stmt" count="1"/>
      <line num="295" type="stmt" count="1"/>
      <line num="296" type="stmt" count="1"/>
      <line num="297" type="stmt" count="1"/>
      <line num="298" type="stmt" count="1"/>
      <line num="299" type="stmt" count="1"/>
      <line num="300" type="stmt" count="1"/>
      <line num="301" type="stmt" count="1"/>
      <line num="302" type="stmt" count="1"/>
      <line num="303" type="stmt" count="1"/>
      <line num="305" type="stmt" count="1"/>
      <line num="306" type="stmt" count="1"/>
      <line num="307" type="stmt" count="1"/>
      <line num="308" type="stmt" count="1"/>
      <line num="309" type="stmt" count="1"/>
      <line num="310" type="stmt" count="1"/>
      <line num="311" type="stmt" count="1"/>
      <line num="312" type="stmt" count="1"/>
      <line num="319" type="method" name="newFromJsonArray" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="320" type="stmt" count="1"/>
      <line num="321" type="stmt" count="1"/>
      <line num="322" type="stmt" count="1"/>
      <line num="323" type="stmt" count="1"/>
      <line num="324" type="stmt" count="1"/>
      <line num="325" type="stmt" count="1"/>
      <line num="326" type="stmt" count="1"/>
      <line num="327" type="stmt" count="1"/>
      <line num="328" type="stmt" count="1"/>
      <line num="329" type="stmt" count="1"/>
      <line num="330" type="stmt" count="1"/>
      <line num="331" type="stmt" count="1"/>
      <line num="332" type="stmt" count="1"/>
      <line num="333" type="stmt" count="1"/>
      <line num="334" type="stmt" count="1"/>
      <line num="335" type="stmt" count="1"/>
      <line num="336" type="stmt" count="1"/>
      <line num="337" type="stmt" count="1"/>
      <line num="338" type="stmt" count="1"/>
      <line num="339" type="stmt" count="1"/>
      <line num="340" type="stmt" count="1"/>
      <line num="341" type="stmt" count="1"/>
      <line num="342" type="stmt" count="1"/>
      <line num="343" type="stmt" count="1"/>
      <line num="344" type="stmt" count="1"/>
      <line num="345" type="stmt" count="1"/>
      <line num="346" type="stmt" count="1"/>
      <line num="347" type="stmt" count="1"/>
      <line num="348" type="stmt" count="1"/>
      <line num="349" type="stmt" count="1"/>
      <line num="350" type="stmt" count="1"/>
      <line num="351" type="stmt" count="1"/>
      <metrics loc="354" ncloc="285" classes="1" methods="32" coveredmethods="30" conditionals="0" coveredconditionals="0" statements="123" coveredstatements="117" elements="155" coveredelements="147"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/EventTypesRegistry.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\EventTypesRegistry" namespace="global">
        <metrics complexity="24" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="32" elements="46" coveredelements="37"/>
      </class>
      <line num="90" type="method" name="getAllTypes" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="102" type="method" name="getTypeMessages" visibility="public" complexity="5" crap="5" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="124" type="method" name="getAllOptionMessages" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="142" type="method" name="getEventTypesFromDBVal" visibility="public" complexity="7" crap="7" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="3"/>
      <line num="146" type="stmt" count="3"/>
      <line num="147" type="stmt" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="164" type="method" name="eventTypesToDBVal" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="165" type="stmt" count="3"/>
      <line num="166" type="stmt" count="3"/>
      <line num="167" type="stmt" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="169" type="stmt" count="3"/>
      <line num="173" type="stmt" count="3"/>
      <line num="177" type="method" name="getContributionTypes" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <metrics loc="188" ncloc="166" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="32" elements="46" coveredelements="37"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/ExistingEventRegistration.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\ExistingEventRegistration" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="27" elements="31" coveredelements="31"/>
      </class>
      <line num="44" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="71" type="stmt" count="4"/>
      <line num="72" type="stmt" count="4"/>
      <line num="73" type="stmt" count="4"/>
      <line num="74" type="stmt" count="4"/>
      <line num="75" type="stmt" count="4"/>
      <line num="76" type="stmt" count="4"/>
      <line num="77" type="stmt" count="4"/>
      <line num="78" type="stmt" count="4"/>
      <line num="79" type="stmt" count="4"/>
      <line num="80" type="stmt" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="83" type="stmt" count="4"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="94" type="method" name="getID" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="99" type="method" name="getCreationTimestamp" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="104" type="method" name="getLastEditTimestamp" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <metrics loc="109" ncloc="76" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="27" elements="31" coveredelements="31"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/InvalidEventDataException.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\InvalidEventDataException" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="11" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <line num="17" type="method" name="getStatus" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <metrics loc="21" ncloc="21" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/PageEventLookup.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\PageEventLookup" namespace="global">
        <metrics complexity="13" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="22" elements="27" coveredelements="25"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="42" type="method" name="getRegistrationForLocalPage" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="64" type="method" name="getRegistrationForPage" visibility="public" complexity="4" crap="4" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <line num="71" type="stmt" count="2"/>
      <line num="72" type="stmt" count="1"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="83" type="method" name="getCanonicalPage" visibility="private" complexity="5" crap="5.05" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <line num="92" type="stmt" count="2"/>
      <line num="95" type="stmt" count="2"/>
      <metrics loc="98" ncloc="81" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="22" elements="27" coveredelements="25"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/Store/EventNotFoundException.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\Store\EventNotFoundException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="11" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/Store/EventStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\Store\EventStore" namespace="global">
        <metrics complexity="49" methods="20" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="374" coveredstatements="310" elements="394" coveredelements="316"/>
      </class>
      <line num="52" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="32"/>
      <line num="64" type="stmt" count="32"/>
      <line num="69" type="method" name="getEventByID" visibility="public" complexity="3" crap="3.01" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="71" type="stmt" count="0"/>
      <line num="74" type="stmt" count="4"/>
      <line num="75" type="stmt" count="4"/>
      <line num="76" type="stmt" count="4"/>
      <line num="77" type="stmt" count="4"/>
      <line num="78" type="stmt" count="4"/>
      <line num="79" type="stmt" count="4"/>
      <line num="80" type="stmt" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="0"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="92" type="stmt" count="4"/>
      <line num="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="100" type="method" name="getEventByPage" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="0"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="114" type="stmt" count="3"/>
      <line num="115" type="stmt" count="3"/>
      <line num="116" type="stmt" count="3"/>
      <line num="118" type="stmt" count="3"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="125" type="stmt" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="3"/>
      <line num="129" type="stmt" count="3"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="136" type="stmt" count="2"/>
      <line num="143" type="method" name="loadEventFromDB" visibility="private" complexity="3" crap="3" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="0"/>
      <line num="147" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="151" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="153" type="stmt" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="155" type="stmt" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="157" type="stmt" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="160" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="1"/>
      <line num="163" type="stmt" count="1"/>
      <line num="164" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="168" type="stmt" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="180" type="method" name="makePageEventCacheKey" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="189" type="method" name="getEventTrackingToolRow" visibility="private" complexity="3" crap="3.00" count="3"/>
      <line num="190" type="stmt" count="3"/>
      <line num="191" type="stmt" count="3"/>
      <line num="192" type="stmt" count="3"/>
      <line num="193" type="stmt" count="3"/>
      <line num="194" type="stmt" count="3"/>
      <line num="195" type="stmt" count="3"/>
      <line num="198" type="stmt" count="3"/>
      <line num="199" type="stmt" count="0"/>
      <line num="202" type="stmt" count="3"/>
      <line num="203" type="stmt" count="3"/>
      <line num="204" type="stmt" count="3"/>
      <line num="205" type="stmt" count="3"/>
      <line num="207" type="stmt" count="3"/>
      <line num="213" type="method" name="getEventsByOrganizer" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="214" type="stmt" count="2"/>
      <line num="216" type="stmt" count="2"/>
      <line num="217" type="stmt" count="2"/>
      <line num="218" type="stmt" count="2"/>
      <line num="219" type="stmt" count="2"/>
      <line num="220" type="stmt" count="2"/>
      <line num="221" type="stmt" count="2"/>
      <line num="222" type="stmt" count="2"/>
      <line num="223" type="stmt" count="2"/>
      <line num="224" type="stmt" count="2"/>
      <line num="225" type="stmt" count="2"/>
      <line num="226" type="stmt" count="2"/>
      <line num="227" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="235" type="method" name="getEventsByParticipant" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="236" type="stmt" count="2"/>
      <line num="238" type="stmt" count="2"/>
      <line num="239" type="stmt" count="2"/>
      <line num="240" type="stmt" count="2"/>
      <line num="241" type="stmt" count="2"/>
      <line num="242" type="stmt" count="2"/>
      <line num="244" type="stmt" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="246" type="stmt" count="2"/>
      <line num="247" type="stmt" count="2"/>
      <line num="248" type="stmt" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="261" type="method" name="getEventsForContributionAssociationByParticipant" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="262" type="stmt" count="15"/>
      <line num="263" type="stmt" count="15"/>
      <line num="265" type="stmt" count="15"/>
      <line num="266" type="stmt" count="15"/>
      <line num="267" type="stmt" count="15"/>
      <line num="268" type="stmt" count="15"/>
      <line num="269" type="stmt" count="15"/>
      <line num="270" type="stmt" count="15"/>
      <line num="271" type="stmt" count="15"/>
      <line num="272" type="stmt" count="15"/>
      <line num="273" type="stmt" count="15"/>
      <line num="274" type="stmt" count="15"/>
      <line num="275" type="stmt" count="15"/>
      <line num="276" type="stmt" count="15"/>
      <line num="277" type="stmt" count="15"/>
      <line num="278" type="stmt" count="15"/>
      <line num="279" type="stmt" count="15"/>
      <line num="280" type="stmt" count="15"/>
      <line num="281" type="stmt" count="15"/>
      <line num="282" type="stmt" count="15"/>
      <line num="283" type="stmt" count="15"/>
      <line num="284" type="stmt" count="15"/>
      <line num="285" type="stmt" count="15"/>
      <line num="287" type="stmt" count="15"/>
      <line num="293" type="method" name="getEventsForDiscoveryByPage" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="296" type="stmt" count="8"/>
      <line num="298" type="stmt" count="8"/>
      <line num="299" type="stmt" count="8"/>
      <line num="300" type="stmt" count="8"/>
      <line num="301" type="stmt" count="8"/>
      <line num="302" type="stmt" count="8"/>
      <line num="303" type="stmt" count="8"/>
      <line num="304" type="stmt" count="8"/>
      <line num="305" type="stmt" count="8"/>
      <line num="306" type="stmt" count="8"/>
      <line num="307" type="stmt" count="8"/>
      <line num="308" type="stmt" count="8"/>
      <line num="309" type="stmt" count="8"/>
      <line num="310" type="stmt" count="8"/>
      <line num="311" type="stmt" count="8"/>
      <line num="312" type="stmt" count="8"/>
      <line num="313" type="stmt" count="8"/>
      <line num="314" type="stmt" count="8"/>
      <line num="315" type="stmt" count="8"/>
      <line num="316" type="stmt" count="8"/>
      <line num="317" type="stmt" count="8"/>
      <line num="318" type="stmt" count="8"/>
      <line num="319" type="stmt" count="8"/>
      <line num="321" type="stmt" count="8"/>
      <line num="329" type="method" name="newEventsFromDBRows" visibility="public" complexity="5" crap="5" count="4"/>
      <line num="330" type="stmt" count="4"/>
      <line num="331" type="stmt" count="4"/>
      <line num="332" type="stmt" count="2"/>
      <line num="333" type="stmt" count="0"/>
      <line num="335" type="stmt" count="2"/>
      <line num="338" type="stmt" count="4"/>
      <line num="339" type="stmt" count="2"/>
      <line num="342" type="stmt" count="2"/>
      <line num="343" type="stmt" count="2"/>
      <line num="344" type="stmt" count="2"/>
      <line num="345" type="stmt" count="2"/>
      <line num="346" type="stmt" count="2"/>
      <line num="347" type="stmt" count="2"/>
      <line num="349" type="stmt" count="2"/>
      <line num="350" type="stmt" count="2"/>
      <line num="351" type="stmt" count="2"/>
      <line num="352" type="stmt" count="2"/>
      <line num="353" type="stmt" count="2"/>
      <line num="354" type="stmt" count="2"/>
      <line num="355" type="stmt" count="2"/>
      <line num="356" type="stmt" count="2"/>
      <line num="357" type="stmt" count="2"/>
      <line num="358" type="stmt" count="2"/>
      <line num="359" type="stmt" count="2"/>
      <line num="360" type="stmt" count="2"/>
      <line num="362" type="stmt" count="2"/>
      <line num="370" type="method" name="getTrackingToolsRowsForEvents" visibility="private" complexity="3" crap="3.00" count="2"/>
      <line num="374" type="stmt" count="2"/>
      <line num="375" type="stmt" count="2"/>
      <line num="376" type="stmt" count="2"/>
      <line num="377" type="stmt" count="2"/>
      <line num="378" type="stmt" count="2"/>
      <line num="379" type="stmt" count="2"/>
      <line num="381" type="stmt" count="2"/>
      <line num="382" type="stmt" count="2"/>
      <line num="383" type="stmt" count="2"/>
      <line num="384" type="stmt" count="2"/>
      <line num="386" type="stmt" count="0"/>
      <line num="388" type="stmt" count="2"/>
      <line num="390" type="stmt" count="2"/>
      <line num="402" type="method" name="newEventFromDBRow" visibility="private" complexity="4" crap="4" count="5"/>
      <line num="411" type="stmt" count="5"/>
      <line num="413" type="stmt" count="5"/>
      <line num="414" type="stmt" count="5"/>
      <line num="415" type="stmt" count="5"/>
      <line num="416" type="stmt" count="5"/>
      <line num="417" type="stmt" count="5"/>
      <line num="418" type="stmt" count="5"/>
      <line num="419" type="stmt" count="5"/>
      <line num="421" type="stmt" count="5"/>
      <line num="423" type="stmt" count="5"/>
      <line num="424" type="stmt" count="5"/>
      <line num="425" type="stmt" count="5"/>
      <line num="426" type="stmt" count="5"/>
      <line num="427" type="stmt" count="5"/>
      <line num="428" type="stmt" count="5"/>
      <line num="429" type="stmt" count="5"/>
      <line num="430" type="stmt" count="5"/>
      <line num="431" type="stmt" count="5"/>
      <line num="433" type="stmt" count="0"/>
      <line num="435" type="stmt" count="5"/>
      <line num="436" type="stmt" count="5"/>
      <line num="437" type="stmt" count="5"/>
      <line num="438" type="stmt" count="5"/>
      <line num="439" type="stmt" count="5"/>
      <line num="440" type="stmt" count="5"/>
      <line num="441" type="stmt" count="5"/>
      <line num="442" type="stmt" count="5"/>
      <line num="443" type="stmt" count="5"/>
      <line num="444" type="stmt" count="5"/>
      <line num="445" type="stmt" count="5"/>
      <line num="446" type="stmt" count="5"/>
      <line num="447" type="stmt" count="5"/>
      <line num="448" type="stmt" count="5"/>
      <line num="449" type="stmt" count="5"/>
      <line num="450" type="stmt" count="5"/>
      <line num="451" type="stmt" count="5"/>
      <line num="452" type="stmt" count="5"/>
      <line num="453" type="stmt" count="5"/>
      <line num="454" type="stmt" count="5"/>
      <line num="455" type="stmt" count="5"/>
      <line num="456" type="stmt" count="5"/>
      <line num="457" type="stmt" count="5"/>
      <line num="458" type="stmt" count="5"/>
      <line num="461" type="method" name="assertValidRow" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="468" type="stmt" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="484" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="497" type="method" name="saveRegistration" visibility="public" complexity="4" crap="4.02" count="4"/>
      <line num="498" type="stmt" count="4"/>
      <line num="499" type="stmt" count="4"/>
      <line num="501" type="stmt" count="4"/>
      <line num="502" type="stmt" count="4"/>
      <line num="505" type="stmt" count="4"/>
      <line num="506" type="stmt" count="4"/>
      <line num="507" type="stmt" count="4"/>
      <line num="508" type="stmt" count="4"/>
      <line num="509" type="stmt" count="4"/>
      <line num="510" type="stmt" count="4"/>
      <line num="511" type="stmt" count="4"/>
      <line num="512" type="stmt" count="4"/>
      <line num="513" type="stmt" count="4"/>
      <line num="514" type="stmt" count="4"/>
      <line num="515" type="stmt" count="4"/>
      <line num="516" type="stmt" count="4"/>
      <line num="517" type="stmt" count="4"/>
      <line num="518" type="stmt" count="4"/>
      <line num="519" type="stmt" count="4"/>
      <line num="520" type="stmt" count="4"/>
      <line num="521" type="stmt" count="4"/>
      <line num="522" type="stmt" count="4"/>
      <line num="523" type="stmt" count="4"/>
      <line num="524" type="stmt" count="4"/>
      <line num="525" type="stmt" count="4"/>
      <line num="526" type="stmt" count="4"/>
      <line num="527" type="stmt" count="4"/>
      <line num="528" type="stmt" count="4"/>
      <line num="530" type="stmt" count="4"/>
      <line num="531" type="stmt" count="4"/>
      <line num="532" type="stmt" count="4"/>
      <line num="533" type="stmt" count="4"/>
      <line num="534" type="stmt" count="4"/>
      <line num="535" type="stmt" count="4"/>
      <line num="536" type="stmt" count="4"/>
      <line num="537" type="stmt" count="4"/>
      <line num="538" type="stmt" count="4"/>
      <line num="540" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="545" type="stmt" count="0"/>
      <line num="548" type="stmt" count="4"/>
      <line num="549" type="stmt" count="4"/>
      <line num="550" type="stmt" count="4"/>
      <line num="551" type="stmt" count="4"/>
      <line num="552" type="stmt" count="4"/>
      <line num="553" type="stmt" count="4"/>
      <line num="555" type="stmt" count="4"/>
      <line num="556" type="stmt" count="4"/>
      <line num="557" type="stmt" count="4"/>
      <line num="558" type="stmt" count="4"/>
      <line num="559" type="stmt" count="4"/>
      <line num="560" type="stmt" count="4"/>
      <line num="562" type="stmt" count="4"/>
      <line num="564" type="stmt" count="4"/>
      <line num="566" type="stmt" count="4"/>
      <line num="572" type="method" name="deleteRegistration" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="573" type="stmt" count="3"/>
      <line num="574" type="stmt" count="3"/>
      <line num="575" type="stmt" count="3"/>
      <line num="576" type="stmt" count="3"/>
      <line num="577" type="stmt" count="3"/>
      <line num="578" type="stmt" count="3"/>
      <line num="579" type="stmt" count="3"/>
      <line num="580" type="stmt" count="3"/>
      <line num="581" type="stmt" count="3"/>
      <line num="582" type="stmt" count="3"/>
      <line num="583" type="stmt" count="3"/>
      <line num="585" type="stmt" count="3"/>
      <line num="586" type="stmt" count="3"/>
      <line num="587" type="stmt" count="3"/>
      <line num="588" type="stmt" count="3"/>
      <line num="589" type="stmt" count="3"/>
      <line num="590" type="stmt" count="3"/>
      <line num="592" type="stmt" count="3"/>
      <line num="599" type="method" name="getParticipationOptionsFromDBVal" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="600" type="stmt" count="0"/>
      <line num="601" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="603" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="613" type="method" name="participationOptionsToDBVal" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="614" type="stmt" count="0"/>
      <line num="615" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="617" type="stmt" count="0"/>
      <line num="620" type="stmt" count="0"/>
      <line num="626" type="method" name="getEventStatusDBVal" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="630" type="stmt" count="0"/>
      <line num="636" type="method" name="getEventStatusFromDBVal" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="637" type="stmt" count="0"/>
      <line num="638" type="stmt" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <metrics loc="644" ncloc="571" classes="1" methods="20" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="374" coveredstatements="310" elements="394" coveredelements="316"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/Store/EventTopicsStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\Store\EventTopicsStore" namespace="global">
        <metrics complexity="9" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="44" elements="48" coveredelements="48"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="19" type="stmt" count="11"/>
      <line num="26" type="method" name="getEventTopics" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <line num="36" type="method" name="getEventTopicsMulti" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="37" type="stmt" count="3"/>
      <line num="39" type="stmt" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="41" type="stmt" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="2"/>
      <line num="50" type="stmt" count="3"/>
      <line num="59" type="method" name="addOrUpdateEventTopics" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="60" type="stmt" count="5"/>
      <line num="62" type="stmt" count="5"/>
      <line num="63" type="stmt" count="5"/>
      <line num="64" type="stmt" count="5"/>
      <line num="65" type="stmt" count="5"/>
      <line num="66" type="stmt" count="5"/>
      <line num="67" type="stmt" count="5"/>
      <line num="68" type="stmt" count="5"/>
      <line num="69" type="stmt" count="5"/>
      <line num="70" type="stmt" count="3"/>
      <line num="73" type="stmt" count="5"/>
      <line num="74" type="stmt" count="5"/>
      <line num="76" type="stmt" count="5"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="84" type="stmt" count="5"/>
      <line num="85" type="stmt" count="2"/>
      <line num="86" type="stmt" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="88" type="stmt" count="2"/>
      <line num="89" type="stmt" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <line num="93" type="stmt" count="2"/>
      <line num="94" type="stmt" count="2"/>
      <line num="95" type="stmt" count="2"/>
      <line num="96" type="stmt" count="2"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <metrics loc="102" ncloc="81" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="44" elements="48" coveredelements="48"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/Store/EventWikisStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Event\Store\EventWikisStore" namespace="global">
        <metrics complexity="12" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="53" elements="57" coveredelements="57"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="21" type="stmt" count="18"/>
      <line num="28" type="method" name="getEventWikis" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="38" type="method" name="getEventWikisMulti" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="39" type="stmt" count="4"/>
      <line num="41" type="stmt" count="4"/>
      <line num="42" type="stmt" count="4"/>
      <line num="43" type="stmt" count="4"/>
      <line num="44" type="stmt" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="47" type="stmt" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="58" type="stmt" count="4"/>
      <line num="67" type="method" name="addOrUpdateEventWikis" visibility="public" complexity="7" crap="7" count="10"/>
      <line num="68" type="stmt" count="10"/>
      <line num="70" type="stmt" count="10"/>
      <line num="71" type="stmt" count="10"/>
      <line num="72" type="stmt" count="10"/>
      <line num="73" type="stmt" count="10"/>
      <line num="74" type="stmt" count="10"/>
      <line num="75" type="stmt" count="10"/>
      <line num="76" type="stmt" count="10"/>
      <line num="77" type="stmt" count="10"/>
      <line num="78" type="stmt" count="7"/>
      <line num="81" type="stmt" count="10"/>
      <line num="82" type="stmt" count="3"/>
      <line num="84" type="stmt" count="1"/>
      <line num="86" type="stmt" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="90" type="stmt" count="7"/>
      <line num="91" type="stmt" count="7"/>
      <line num="94" type="stmt" count="10"/>
      <line num="95" type="stmt" count="4"/>
      <line num="96" type="stmt" count="4"/>
      <line num="97" type="stmt" count="4"/>
      <line num="98" type="stmt" count="4"/>
      <line num="99" type="stmt" count="4"/>
      <line num="102" type="stmt" count="10"/>
      <line num="103" type="stmt" count="5"/>
      <line num="104" type="stmt" count="5"/>
      <line num="105" type="stmt" count="5"/>
      <line num="106" type="stmt" count="5"/>
      <line num="107" type="stmt" count="5"/>
      <line num="108" type="stmt" count="5"/>
      <line num="111" type="stmt" count="5"/>
      <line num="112" type="stmt" count="5"/>
      <line num="113" type="stmt" count="5"/>
      <line num="114" type="stmt" count="5"/>
      <line num="115" type="stmt" count="5"/>
      <line num="116" type="stmt" count="5"/>
      <metrics loc="120" ncloc="98" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="53" elements="57" coveredelements="57"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/Store/IEventLookup.php">
      <metrics loc="88" ncloc="36" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Event/Store/IEventStore.php">
      <metrics loc="27" ncloc="17" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventContribution/EventContribution.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventContribution\EventContribution" namespace="global">
        <metrics complexity="15" methods="15" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="2" elements="30" coveredelements="4"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="34" type="method" name="getEventId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="method" name="getUserId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="method" name="getUserName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="getWiki" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="50" type="method" name="getPagePrefixedtext" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="method" name="getPageId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="method" name="getRevisionId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="method" name="getEditFlags" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="method" name="getBytesDelta" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="method" name="getLinksDelta" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="74" type="method" name="getReferencesDelta" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="method" name="getTimestamp" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="method" name="isDeleted" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="91" type="method" name="isPageCreation" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="92" type="stmt" count="4"/>
      <metrics loc="95" ncloc="83" classes="1" methods="15" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="2" elements="30" coveredelements="4"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventContribution/EventContributionComputeMetrics.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventContribution\EventContributionComputeMetrics" namespace="global">
        <metrics complexity="20" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="90" coveredstatements="81" elements="96" coveredelements="84"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="44" type="stmt" count="8"/>
      <line num="56" type="method" name="computeEventContribution" visibility="public" complexity="7" crap="7.01" count="8"/>
      <line num="62" type="stmt" count="8"/>
      <line num="64" type="stmt" count="7"/>
      <line num="66" type="stmt" count="1"/>
      <line num="70" type="stmt" count="8"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="8"/>
      <line num="77" type="stmt" count="8"/>
      <line num="78" type="stmt" count="8"/>
      <line num="79" type="stmt" count="1"/>
      <line num="82" type="stmt" count="7"/>
      <line num="83" type="stmt" count="7"/>
      <line num="85" type="stmt" count="7"/>
      <line num="86" type="stmt" count="7"/>
      <line num="87" type="stmt" count="7"/>
      <line num="91" type="stmt" count="7"/>
      <line num="93" type="stmt" count="7"/>
      <line num="96" type="stmt" count="7"/>
      <line num="97" type="stmt" count="7"/>
      <line num="99" type="stmt" count="7"/>
      <line num="102" type="stmt" count="7"/>
      <line num="104" type="stmt" count="7"/>
      <line num="105" type="stmt" count="7"/>
      <line num="106" type="stmt" count="7"/>
      <line num="107" type="stmt" count="7"/>
      <line num="108" type="stmt" count="7"/>
      <line num="109" type="stmt" count="7"/>
      <line num="110" type="stmt" count="7"/>
      <line num="111" type="stmt" count="7"/>
      <line num="112" type="stmt" count="7"/>
      <line num="113" type="stmt" count="7"/>
      <line num="114" type="stmt" count="7"/>
      <line num="115" type="stmt" count="7"/>
      <line num="116" type="stmt" count="7"/>
      <line num="117" type="stmt" count="7"/>
      <line num="118" type="stmt" count="7"/>
      <line num="126" type="method" name="getInternalLinksDelta" visibility="private" complexity="2" crap="2" count="7"/>
      <line num="130" type="stmt" count="7"/>
      <line num="131" type="stmt" count="7"/>
      <line num="133" type="stmt" count="7"/>
      <line num="139" type="method" name="countInternalLinksInRevision" visibility="private" complexity="3" crap="3.01" count="7"/>
      <line num="141" type="stmt" count="7"/>
      <line num="142" type="stmt" count="7"/>
      <line num="145" type="stmt" count="7"/>
      <line num="146" type="stmt" count="7"/>
      <line num="149" type="stmt" count="7"/>
      <line num="150" type="stmt" count="7"/>
      <line num="151" type="stmt" count="7"/>
      <line num="152" type="stmt" count="7"/>
      <line num="153" type="stmt" count="7"/>
      <line num="154" type="stmt" count="7"/>
      <line num="155" type="stmt" count="7"/>
      <line num="156" type="stmt" count="7"/>
      <line num="157" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="163" type="stmt" count="7"/>
      <line num="164" type="stmt" count="6"/>
      <line num="168" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="179" type="method" name="getPagePrefixedText" visibility="private" complexity="2" crap="2" count="7"/>
      <line num="180" type="stmt" count="7"/>
      <line num="181" type="stmt" count="7"/>
      <line num="182" type="stmt" count="6"/>
      <line num="187" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="189" type="stmt" count="1"/>
      <line num="190" type="stmt" count="1"/>
      <line num="191" type="stmt" count="1"/>
      <line num="192" type="stmt" count="1"/>
      <line num="193" type="stmt" count="1"/>
      <line num="197" type="method" name="queryForeignPagePrefixedText" visibility="private" complexity="5" crap="5.34" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="201" type="stmt" count="0"/>
      <line num="203" type="stmt" count="1"/>
      <line num="206" type="stmt" count="1"/>
      <line num="207" type="stmt" count="1"/>
      <line num="208" type="stmt" count="1"/>
      <line num="209" type="stmt" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="211" type="stmt" count="1"/>
      <line num="212" type="stmt" count="1"/>
      <line num="214" type="stmt" count="1"/>
      <line num="215" type="stmt" count="0"/>
      <line num="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="226" type="stmt" count="0"/>
      <line num="229" type="stmt" count="1"/>
      <metrics loc="232" ncloc="190" classes="1" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="90" coveredstatements="81" elements="96" coveredelements="84"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventContribution/EventContributionJob.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventContribution\EventContributionJob" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="21" elements="23" coveredelements="23"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="30" type="stmt" count="6"/>
      <line num="31" type="stmt" count="6"/>
      <line num="32" type="stmt" count="6"/>
      <line num="33" type="stmt" count="6"/>
      <line num="34" type="stmt" count="6"/>
      <line num="35" type="stmt" count="6"/>
      <line num="36" type="stmt" count="5"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="47" type="method" name="run" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="56" type="stmt" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <metrics loc="63" ncloc="51" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="21" elements="23" coveredelements="23"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventContribution/EventContributionStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventContribution\EventContributionStore" namespace="global">
        <metrics complexity="40" methods="23" coveredmethods="17" conditionals="0" coveredconditionals="0" statements="334" coveredstatements="262" elements="357" coveredelements="279"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="47"/>
      <line num="37" type="stmt" count="47"/>
      <line num="44" type="method" name="saveEventContribution" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="50" type="stmt" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="56" type="stmt" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="63" type="stmt" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="77" type="method" name="newFromRow" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="1"/>
      <line num="105" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="136" type="method" name="getEditsQueryInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="165" type="method" name="getEditorsQueryInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="205" type="method" name="getEventSummaryData" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="210" type="stmt" count="7"/>
      <line num="213" type="stmt" count="7"/>
      <line num="214" type="stmt" count="7"/>
      <line num="215" type="stmt" count="3"/>
      <line num="217" type="stmt" count="3"/>
      <line num="218" type="stmt" count="3"/>
      <line num="221" type="stmt" count="0"/>
      <line num="225" type="stmt" count="7"/>
      <line num="226" type="stmt" count="7"/>
      <line num="227" type="stmt" count="7"/>
      <line num="228" type="stmt" count="7"/>
      <line num="229" type="stmt" count="7"/>
      <line num="230" type="stmt" count="7"/>
      <line num="231" type="stmt" count="7"/>
      <line num="232" type="stmt" count="7"/>
      <line num="233" type="stmt" count="7"/>
      <line num="234" type="stmt" count="7"/>
      <line num="235" type="stmt" count="7"/>
      <line num="236" type="stmt" count="7"/>
      <line num="237" type="stmt" count="7"/>
      <line num="238" type="stmt" count="7"/>
      <line num="239" type="stmt" count="7"/>
      <line num="240" type="stmt" count="7"/>
      <line num="241" type="stmt" count="7"/>
      <line num="242" type="stmt" count="7"/>
      <line num="243" type="stmt" count="7"/>
      <line num="244" type="stmt" count="7"/>
      <line num="245" type="stmt" count="7"/>
      <line num="246" type="stmt" count="7"/>
      <line num="247" type="stmt" count="7"/>
      <line num="248" type="stmt" count="7"/>
      <line num="249" type="stmt" count="7"/>
      <line num="250" type="stmt" count="7"/>
      <line num="251" type="stmt" count="7"/>
      <line num="252" type="stmt" count="7"/>
      <line num="253" type="stmt" count="7"/>
      <line num="254" type="stmt" count="7"/>
      <line num="255" type="stmt" count="7"/>
      <line num="256" type="stmt" count="7"/>
      <line num="257" type="stmt" count="7"/>
      <line num="258" type="stmt" count="7"/>
      <line num="259" type="stmt" count="7"/>
      <line num="260" type="stmt" count="7"/>
      <line num="261" type="stmt" count="7"/>
      <line num="262" type="stmt" count="7"/>
      <line num="264" type="stmt" count="7"/>
      <line num="265" type="stmt" count="7"/>
      <line num="266" type="stmt" count="7"/>
      <line num="267" type="stmt" count="7"/>
      <line num="268" type="stmt" count="7"/>
      <line num="269" type="stmt" count="7"/>
      <line num="270" type="stmt" count="7"/>
      <line num="271" type="stmt" count="7"/>
      <line num="272" type="stmt" count="7"/>
      <line num="273" type="stmt" count="7"/>
      <line num="274" type="stmt" count="7"/>
      <line num="275" type="stmt" count="7"/>
      <line num="276" type="stmt" count="7"/>
      <line num="284" type="method" name="assertValidRow" visibility="private" complexity="3" crap="3.02" count="1"/>
      <line num="285" type="stmt" count="1"/>
      <line num="286" type="stmt" count="1"/>
      <line num="287" type="stmt" count="1"/>
      <line num="288" type="stmt" count="1"/>
      <line num="289" type="stmt" count="1"/>
      <line num="291" type="stmt" count="1"/>
      <line num="292" type="stmt" count="1"/>
      <line num="293" type="stmt" count="0"/>
      <line num="298" type="method" name="hasContributionsForPage" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="299" type="stmt" count="4"/>
      <line num="300" type="stmt" count="4"/>
      <line num="301" type="stmt" count="4"/>
      <line num="302" type="stmt" count="4"/>
      <line num="303" type="stmt" count="4"/>
      <line num="304" type="stmt" count="4"/>
      <line num="305" type="stmt" count="4"/>
      <line num="306" type="stmt" count="4"/>
      <line num="307" type="stmt" count="4"/>
      <line num="308" type="stmt" count="4"/>
      <line num="309" type="stmt" count="4"/>
      <line num="318" type="method" name="getByID" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="319" type="stmt" count="1"/>
      <line num="320" type="stmt" count="1"/>
      <line num="321" type="stmt" count="1"/>
      <line num="322" type="stmt" count="1"/>
      <line num="323" type="stmt" count="1"/>
      <line num="324" type="stmt" count="1"/>
      <line num="325" type="stmt" count="1"/>
      <line num="326" type="stmt" count="1"/>
      <line num="327" type="stmt" count="1"/>
      <line num="329" type="stmt" count="1"/>
      <line num="337" type="method" name="deleteByID" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="338" type="stmt" count="3"/>
      <line num="339" type="stmt" count="3"/>
      <line num="340" type="stmt" count="3"/>
      <line num="341" type="stmt" count="3"/>
      <line num="342" type="stmt" count="3"/>
      <line num="343" type="stmt" count="3"/>
      <line num="344" type="stmt" count="3"/>
      <line num="345" type="stmt" count="3"/>
      <line num="347" type="stmt" count="1"/>
      <line num="349" type="stmt" count="2"/>
      <line num="350" type="stmt" count="2"/>
      <line num="351" type="stmt" count="2"/>
      <line num="352" type="stmt" count="2"/>
      <line num="353" type="stmt" count="2"/>
      <line num="354" type="stmt" count="2"/>
      <line num="355" type="stmt" count="2"/>
      <line num="356" type="stmt" count="2"/>
      <line num="368" type="method" name="tryAcquireInsertionLock" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="369" type="stmt" count="7"/>
      <line num="370" type="stmt" count="7"/>
      <line num="371" type="stmt" count="7"/>
      <line num="372" type="stmt" count="7"/>
      <line num="373" type="stmt" count="7"/>
      <line num="374" type="stmt" count="7"/>
      <line num="376" type="stmt" count="7"/>
      <line num="377" type="stmt" count="7"/>
      <line num="378" type="stmt" count="7"/>
      <line num="379" type="stmt" count="7"/>
      <line num="380" type="stmt" count="7"/>
      <line num="381" type="stmt" count="7"/>
      <line num="382" type="stmt" count="7"/>
      <line num="383" type="stmt" count="7"/>
      <line num="384" type="stmt" count="7"/>
      <line num="385" type="stmt" count="7"/>
      <line num="387" type="stmt" count="7"/>
      <line num="388" type="stmt" count="4"/>
      <line num="391" type="stmt" count="5"/>
      <line num="392" type="stmt" count="5"/>
      <line num="393" type="stmt" count="7"/>
      <line num="394" type="stmt" count="7"/>
      <line num="399" type="stmt" count="7"/>
      <line num="402" type="method" name="clearInsertionLock" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="403" type="stmt" count="5"/>
      <line num="406" type="method" name="makeInsertionLockKey" visibility="private" complexity="1" crap="1" count="11"/>
      <line num="407" type="stmt" count="11"/>
      <line num="414" type="method" name="doBatchedUpdate" visibility="private" complexity="3" crap="3.02" count="12"/>
      <line num="415" type="stmt" count="12"/>
      <line num="417" type="stmt" count="12"/>
      <line num="418" type="stmt" count="12"/>
      <line num="419" type="stmt" count="12"/>
      <line num="420" type="stmt" count="12"/>
      <line num="421" type="stmt" count="12"/>
      <line num="422" type="stmt" count="12"/>
      <line num="423" type="stmt" count="12"/>
      <line num="425" type="stmt" count="12"/>
      <line num="426" type="stmt" count="12"/>
      <line num="429" type="stmt" count="8"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="435" type="stmt" count="8"/>
      <line num="436" type="stmt" count="8"/>
      <line num="437" type="stmt" count="8"/>
      <line num="438" type="stmt" count="8"/>
      <line num="439" type="stmt" count="8"/>
      <line num="440" type="stmt" count="8"/>
      <line num="442" type="stmt" count="8"/>
      <line num="443" type="stmt" count="8"/>
      <line num="446" type="method" name="updateTitle" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="447" type="stmt" count="1"/>
      <line num="448" type="stmt" count="1"/>
      <line num="449" type="stmt" count="1"/>
      <line num="450" type="stmt" count="1"/>
      <line num="451" type="stmt" count="1"/>
      <line num="452" type="stmt" count="1"/>
      <line num="453" type="stmt" count="1"/>
      <line num="454" type="stmt" count="1"/>
      <line num="455" type="stmt" count="1"/>
      <line num="456" type="stmt" count="1"/>
      <line num="459" type="method" name="updateVisibilityForPage" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="460" type="stmt" count="6"/>
      <line num="461" type="stmt" count="6"/>
      <line num="462" type="stmt" count="6"/>
      <line num="463" type="stmt" count="6"/>
      <line num="464" type="stmt" count="6"/>
      <line num="465" type="stmt" count="6"/>
      <line num="466" type="stmt" count="6"/>
      <line num="467" type="stmt" count="6"/>
      <line num="468" type="stmt" count="6"/>
      <line num="471" type="method" name="updateForPageDeleted" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="472" type="stmt" count="3"/>
      <line num="475" type="method" name="updateForPageRestored" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="476" type="stmt" count="3"/>
      <line num="483" type="method" name="updateRevisionVisibility" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="489" type="stmt" count="7"/>
      <line num="490" type="stmt" count="7"/>
      <line num="491" type="stmt" count="7"/>
      <line num="494" type="stmt" count="7"/>
      <line num="495" type="stmt" count="7"/>
      <line num="496" type="stmt" count="7"/>
      <line num="497" type="stmt" count="4"/>
      <line num="498" type="stmt" count="4"/>
      <line num="499" type="stmt" count="4"/>
      <line num="500" type="stmt" count="4"/>
      <line num="501" type="stmt" count="4"/>
      <line num="502" type="stmt" count="4"/>
      <line num="503" type="stmt" count="4"/>
      <line num="505" type="stmt" count="7"/>
      <line num="506" type="stmt" count="4"/>
      <line num="507" type="stmt" count="4"/>
      <line num="508" type="stmt" count="4"/>
      <line num="509" type="stmt" count="4"/>
      <line num="510" type="stmt" count="4"/>
      <line num="511" type="stmt" count="4"/>
      <line num="512" type="stmt" count="4"/>
      <line num="516" type="method" name="hasContributionsFromUser" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="517" type="stmt" count="4"/>
      <line num="518" type="stmt" count="4"/>
      <line num="519" type="stmt" count="4"/>
      <line num="520" type="stmt" count="4"/>
      <line num="521" type="stmt" count="4"/>
      <line num="522" type="stmt" count="4"/>
      <line num="523" type="stmt" count="4"/>
      <line num="524" type="stmt" count="4"/>
      <line num="525" type="stmt" count="4"/>
      <line num="526" type="stmt" count="4"/>
      <line num="529" type="method" name="updateUserName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="530" type="stmt" count="1"/>
      <line num="531" type="stmt" count="1"/>
      <line num="532" type="stmt" count="1"/>
      <line num="533" type="stmt" count="1"/>
      <line num="534" type="stmt" count="1"/>
      <line num="535" type="stmt" count="1"/>
      <line num="536" type="stmt" count="1"/>
      <line num="537" type="stmt" count="1"/>
      <line num="538" type="stmt" count="1"/>
      <line num="545" type="method" name="updateUserVisibility" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="546" type="stmt" count="5"/>
      <line num="547" type="stmt" count="1"/>
      <line num="549" type="stmt" count="4"/>
      <line num="550" type="stmt" count="4"/>
      <line num="551" type="stmt" count="4"/>
      <line num="552" type="stmt" count="4"/>
      <line num="555" type="stmt" count="2"/>
      <line num="557" type="stmt" count="4"/>
      <line num="558" type="stmt" count="4"/>
      <line num="559" type="stmt" count="4"/>
      <line num="560" type="stmt" count="4"/>
      <line num="561" type="stmt" count="4"/>
      <line num="562" type="stmt" count="4"/>
      <line num="563" type="stmt" count="4"/>
      <line num="564" type="stmt" count="4"/>
      <metrics loc="567" ncloc="466" classes="1" methods="23" coveredmethods="17" conditionals="0" coveredconditionals="0" statements="334" coveredstatements="262" elements="357" coveredelements="279"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventContribution/EventContributionSummary.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventContribution\EventContributionSummary" namespace="global">
        <metrics complexity="12" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="0" elements="24" coveredelements="0"/>
      </class>
      <line num="11" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="26" type="method" name="getParticipantsCount" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="method" name="getWikisEditedCount" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="34" type="method" name="getArticlesCreatedCount" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="method" name="getArticlesEditedCount" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="method" name="getBytesAdded" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="getBytesRemoved" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="50" type="method" name="getLinksAdded" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="method" name="getLinksRemoved" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="method" name="getEditCount" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="method" name="getReferencesAdded" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="method" name="getReferencesRemoved" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <metrics loc="70" ncloc="67" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="0" elements="24" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventContribution/EventContributionValidator.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventContribution\EventContributionValidator" namespace="global">
        <metrics complexity="18" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="78" coveredstatements="78" elements="82" coveredelements="82"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="32" type="stmt" count="18"/>
      <line num="41" type="method" name="validateAndSchedule" visibility="public" complexity="5" crap="5" count="18"/>
      <line num="48" type="stmt" count="18"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="56" type="stmt" count="17"/>
      <line num="58" type="stmt" count="17"/>
      <line num="59" type="stmt" count="17"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="16"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="70" type="stmt" count="15"/>
      <line num="71" type="stmt" count="10"/>
      <line num="73" type="stmt" count="10"/>
      <line num="74" type="stmt" count="10"/>
      <line num="77" type="stmt" count="5"/>
      <line num="78" type="stmt" count="5"/>
      <line num="87" type="method" name="scheduleAssociationJob" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="93" type="stmt" count="5"/>
      <line num="94" type="stmt" count="5"/>
      <line num="95" type="stmt" count="5"/>
      <line num="96" type="stmt" count="5"/>
      <line num="97" type="stmt" count="5"/>
      <line num="98" type="stmt" count="5"/>
      <line num="106" type="method" name="validateRevisionAndEvent" visibility="private" complexity="11" crap="11" count="15"/>
      <line num="113" type="stmt" count="15"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <line num="116" type="stmt" count="2"/>
      <line num="117" type="stmt" count="2"/>
      <line num="121" type="stmt" count="13"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="128" type="stmt" count="12"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="136" type="stmt" count="11"/>
      <line num="137" type="stmt" count="11"/>
      <line num="138" type="stmt" count="11"/>
      <line num="139" type="stmt" count="11"/>
      <line num="140" type="stmt" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="147" type="stmt" count="9"/>
      <line num="150" type="stmt" count="9"/>
      <line num="151" type="stmt" count="9"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="159" type="stmt" count="8"/>
      <line num="161" type="stmt" count="8"/>
      <line num="163" type="stmt" count="1"/>
      <line num="164" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="166" type="stmt" count="1"/>
      <line num="170" type="stmt" count="7"/>
      <line num="171" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="181" type="stmt" count="6"/>
      <line num="182" type="stmt" count="6"/>
      <line num="183" type="stmt" count="6"/>
      <line num="184" type="stmt" count="6"/>
      <line num="185" type="stmt" count="6"/>
      <line num="186" type="stmt" count="6"/>
      <line num="187" type="stmt" count="1"/>
      <line num="190" type="stmt" count="5"/>
      <metrics loc="193" ncloc="162" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="78" coveredstatements="78" elements="82" coveredelements="82"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventContribution/UpdatePageContributionRecordsJob.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventContribution\UpdatePageContributionRecordsJob" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="28" coveredelements="28"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="13"/>
      <line num="35" type="stmt" count="13"/>
      <line num="37" type="stmt" count="13"/>
      <line num="38" type="stmt" count="13"/>
      <line num="39" type="stmt" count="13"/>
      <line num="40" type="stmt" count="13"/>
      <line num="41" type="stmt" count="13"/>
      <line num="42" type="stmt" count="13"/>
      <line num="43" type="stmt" count="12"/>
      <line num="44" type="stmt" count="12"/>
      <line num="45" type="stmt" count="4"/>
      <line num="47" type="stmt" count="8"/>
      <line num="48" type="stmt" count="8"/>
      <line num="54" type="method" name="run" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="57" type="stmt" count="4"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="2"/>
      <line num="62" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="73" type="stmt" count="4"/>
      <metrics loc="76" ncloc="59" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="28" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventContribution/UpdateUserContributionRecordsJob.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventContribution\UpdateUserContributionRecordsJob" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="6" coveredelements="6"/>
      </class>
      <line num="15" type="method" name="getJobName" visibility="protected" complexity="1" crap="1" count="10"/>
      <line num="16" type="stmt" count="10"/>
      <line num="19" type="method" name="updateName" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <line num="23" type="method" name="updateVisibility" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <metrics loc="27" ncloc="24" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventDiscovery/DiscoverableEventsLookup.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventDiscovery\DiscoverableEventsLookup" namespace="global">
        <metrics complexity="7" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="36" coveredelements="36"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="36" type="stmt" count="6"/>
      <line num="45" type="method" name="getAndRecordPromotableEvents" visibility="public" complexity="6" crap="6" count="6"/>
      <line num="52" type="stmt" count="6"/>
      <line num="56" type="stmt" count="5"/>
      <line num="57" type="stmt" count="1"/>
      <line num="60" type="stmt" count="4"/>
      <line num="61" type="stmt" count="4"/>
      <line num="62" type="stmt" count="4"/>
      <line num="63" type="stmt" count="4"/>
      <line num="64" type="stmt" count="1"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="79" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="2"/>
      <line num="83" type="stmt" count="2"/>
      <line num="84" type="stmt" count="1"/>
      <line num="89" type="stmt" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="98" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <metrics loc="104" ncloc="81" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="36" coveredelements="36"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventDiscovery/DiscoveryPromotionStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventDiscovery\DiscoveryPromotionStore" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="10" elements="12" coveredelements="12"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="15" type="stmt" count="5"/>
      <line num="20" type="method" name="tryRecordPromotion" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="21" type="stmt" count="5"/>
      <line num="22" type="stmt" count="5"/>
      <line num="23" type="stmt" count="1"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="27" type="stmt" count="4"/>
      <line num="28" type="stmt" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <metrics loc="33" ncloc="30" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="10" elements="12" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventDiscovery/IDiscoveryPromotionStore.php">
      <metrics loc="24" ncloc="14" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventGoal/EventGoal.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventGoal\EventGoal" namespace="global">
        <metrics complexity="10" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="40" coveredelements="40"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="48" type="method" name="getOperator" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="55" type="method" name="getMetrics" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="65" type="method" name="newFromArray" visibility="public" complexity="5" crap="5" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <line num="90" type="method" name="toArray" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <metrics loc="101" ncloc="71" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="40" coveredelements="40"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventGoal/EventGoalCompletionCalculator.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventGoal\EventGoalCompletionCalculator" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="37" coveredelements="37"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="19" type="stmt" count="5"/>
      <line num="29" type="method" name="calculateCompletion" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="35" type="stmt" count="5"/>
      <line num="36" type="stmt" count="5"/>
      <line num="37" type="stmt" count="5"/>
      <line num="38" type="stmt" count="5"/>
      <line num="39" type="stmt" count="5"/>
      <line num="41" type="stmt" count="5"/>
      <line num="42" type="stmt" count="5"/>
      <line num="43" type="stmt" count="5"/>
      <line num="44" type="stmt" count="5"/>
      <line num="45" type="stmt" count="5"/>
      <line num="46" type="stmt" count="5"/>
      <line num="47" type="stmt" count="5"/>
      <line num="49" type="stmt" count="5"/>
      <line num="50" type="stmt" count="5"/>
      <line num="53" type="stmt" count="5"/>
      <line num="54" type="stmt" count="5"/>
      <line num="55" type="stmt" count="5"/>
      <line num="56" type="stmt" count="5"/>
      <line num="57" type="stmt" count="5"/>
      <line num="59" type="stmt" count="5"/>
      <line num="60" type="stmt" count="5"/>
      <line num="61" type="stmt" count="5"/>
      <line num="62" type="stmt" count="5"/>
      <line num="63" type="stmt" count="5"/>
      <line num="66" type="method" name="mapMetricToValue" visibility="private" complexity="1" crap="1" count="5"/>
      <line num="67" type="stmt" count="5"/>
      <line num="68" type="stmt" count="5"/>
      <line num="69" type="stmt" count="5"/>
      <line num="70" type="stmt" count="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="5"/>
      <line num="74" type="stmt" count="5"/>
      <line num="75" type="stmt" count="5"/>
      <metrics loc="78" ncloc="70" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="37" coveredelements="37"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventGoal/EventGoalCompletionResult.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventGoal\EventGoalCompletionResult" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="9" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <line num="16" type="method" name="getCompletionRatio" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="20" type="method" name="getPrimaryMetricType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="24" type="method" name="getPrimaryMetricCurrent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <metrics loc="28" ncloc="28" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventGoal/EventGoalMetric.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventGoal\EventGoalMetric" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="28" coveredelements="28"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="25" type="stmt" count="1"/>
      <line num="28" type="method" name="getMetric" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <line num="35" type="method" name="getTarget" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="45" type="method" name="newFromArray" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="50" type="stmt" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="56" type="stmt" count="3"/>
      <line num="57" type="stmt" count="2"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="68" type="method" name="toArray" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <metrics loc="75" ncloc="53" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="28" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventGoal/EventGoalMetricType.php">
      <metrics loc="20" ncloc="16" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventGoal/EventGoalStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventGoal\EventGoalStore" namespace="global">
        <metrics complexity="7" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="33" elements="38" coveredelements="36"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="19" type="stmt" count="5"/>
      <line num="24" type="method" name="getGoal" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="35" type="method" name="getGoalsMulti" visibility="public" complexity="3" crap="3.00" count="5"/>
      <line num="36" type="stmt" count="5"/>
      <line num="37" type="stmt" count="5"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="stmt" count="5"/>
      <line num="42" type="stmt" count="5"/>
      <line num="43" type="stmt" count="5"/>
      <line num="44" type="stmt" count="5"/>
      <line num="45" type="stmt" count="5"/>
      <line num="46" type="stmt" count="5"/>
      <line num="47" type="stmt" count="5"/>
      <line num="49" type="stmt" count="5"/>
      <line num="50" type="stmt" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="55" type="stmt" count="5"/>
      <line num="70" type="method" name="replaceEventGoal" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="74" type="stmt" count="5"/>
      <line num="75" type="stmt" count="5"/>
      <line num="76" type="stmt" count="5"/>
      <line num="77" type="stmt" count="5"/>
      <line num="78" type="stmt" count="5"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="3"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="92" type="stmt" count="4"/>
      <metrics loc="95" ncloc="68" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="33" elements="38" coveredelements="36"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventGoal/GoalProgressFormatter.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventGoal\GoalProgressFormatter" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="47" elements="49" coveredelements="49"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="25" type="stmt" count="10"/>
      <line num="30" type="method" name="getProgressData" visibility="public" complexity="3" crap="3" count="10"/>
      <line num="35" type="stmt" count="10"/>
      <line num="36" type="stmt" count="10"/>
      <line num="37" type="stmt" count="1"/>
      <line num="40" type="stmt" count="9"/>
      <line num="42" type="stmt" count="9"/>
      <line num="43" type="stmt" count="8"/>
      <line num="44" type="stmt" count="8"/>
      <line num="45" type="stmt" count="8"/>
      <line num="46" type="stmt" count="8"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="52" type="stmt" count="9"/>
      <line num="53" type="stmt" count="9"/>
      <line num="54" type="stmt" count="9"/>
      <line num="55" type="stmt" count="9"/>
      <line num="56" type="stmt" count="9"/>
      <line num="57" type="stmt" count="9"/>
      <line num="58" type="stmt" count="9"/>
      <line num="60" type="stmt" count="9"/>
      <line num="61" type="stmt" count="9"/>
      <line num="62" type="stmt" count="9"/>
      <line num="64" type="stmt" count="9"/>
      <line num="65" type="stmt" count="9"/>
      <line num="66" type="stmt" count="9"/>
      <line num="67" type="stmt" count="9"/>
      <line num="68" type="stmt" count="9"/>
      <line num="69" type="stmt" count="9"/>
      <line num="70" type="stmt" count="9"/>
      <line num="71" type="stmt" count="9"/>
      <line num="72" type="stmt" count="9"/>
      <line num="74" type="stmt" count="9"/>
      <line num="76" type="stmt" count="9"/>
      <line num="78" type="stmt" count="9"/>
      <line num="79" type="stmt" count="9"/>
      <line num="80" type="stmt" count="9"/>
      <line num="81" type="stmt" count="9"/>
      <line num="82" type="stmt" count="9"/>
      <line num="83" type="stmt" count="9"/>
      <line num="84" type="stmt" count="9"/>
      <line num="85" type="stmt" count="9"/>
      <line num="86" type="stmt" count="9"/>
      <line num="87" type="stmt" count="9"/>
      <line num="88" type="stmt" count="9"/>
      <line num="89" type="stmt" count="9"/>
      <line num="90" type="stmt" count="9"/>
      <metrics loc="93" ncloc="90" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="47" elements="49" coveredelements="49"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventPage/EventPageCacheUpdater.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventPage\EventPageCacheUpdater" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="6" elements="14" coveredelements="7"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="25" type="method" name="adjustCacheForPageWithRegistration" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="29" type="stmt" count="2"/>
      <line num="30" type="stmt" count="2"/>
      <line num="31" type="stmt" count="2"/>
      <line num="33" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="41" type="method" name="purgeEventPageCache" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <metrics loc="48" ncloc="43" classes="1" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="6" elements="14" coveredelements="7"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventPage/EventPageDecorator.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventPage\EventPageDecorator" namespace="global">
        <metrics complexity="62" methods="12" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="405" coveredstatements="49" elements="417" coveredelements="52"/>
      </class>
      <line num="86" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="20"/>
      <line num="106" type="stmt" count="20"/>
      <line num="107" type="stmt" count="20"/>
      <line num="108" type="stmt" count="20"/>
      <line num="115" type="method" name="decoratePage" visibility="public" complexity="4" crap="4" count="16"/>
      <line num="116" type="stmt" count="16"/>
      <line num="118" type="stmt" count="16"/>
      <line num="119" type="stmt" count="4"/>
      <line num="122" type="stmt" count="12"/>
      <line num="123" type="stmt" count="4"/>
      <line num="124" type="stmt" count="4"/>
      <line num="126" type="stmt" count="8"/>
      <line num="127" type="stmt" count="8"/>
      <line num="131" type="method" name="maybeAddEnableRegistrationHeader" visibility="private" complexity="5" crap="5.00" count="8"/>
      <line num="133" type="stmt" count="8"/>
      <line num="134" type="stmt" count="8"/>
      <line num="135" type="stmt" count="8"/>
      <line num="137" type="stmt" count="7"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="143" type="stmt" count="0"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="161" type="method" name="getEnableRegistrationHeader" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="203" type="method" name="addRegistrationHeader" visibility="private" complexity="9" crap="90" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="318" type="method" name="getEventQuestionsData" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="370" type="method" name="getHeaderElement" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="391" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="401" type="method" name="getParticipantNoticeRow" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="416" type="method" name="getEventInfoHeaderRow" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="494" type="stmt" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="505" type="stmt" count="0"/>
      <line num="506" type="stmt" count="0"/>
      <line num="507" type="stmt" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="510" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="513" type="stmt" count="0"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="531" type="method" name="getGoalProgressSection" visibility="private" complexity="3" crap="3" count="3"/>
      <line num="532" type="stmt" count="3"/>
      <line num="533" type="stmt" count="1"/>
      <line num="536" type="stmt" count="2"/>
      <line num="537" type="stmt" count="2"/>
      <line num="538" type="stmt" count="2"/>
      <line num="539" type="stmt" count="2"/>
      <line num="540" type="stmt" count="2"/>
      <line num="541" type="stmt" count="2"/>
      <line num="542" type="stmt" count="1"/>
      <line num="545" type="stmt" count="1"/>
      <line num="546" type="stmt" count="1"/>
      <line num="547" type="stmt" count="1"/>
      <line num="549" type="stmt" count="1"/>
      <line num="550" type="stmt" count="1"/>
      <line num="551" type="stmt" count="1"/>
      <line num="552" type="stmt" count="1"/>
      <line num="553" type="stmt" count="1"/>
      <line num="554" type="stmt" count="1"/>
      <line num="555" type="stmt" count="1"/>
      <line num="556" type="stmt" count="1"/>
      <line num="557" type="stmt" count="1"/>
      <line num="565" type="method" name="getActionElement" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="567" type="stmt" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="572" type="stmt" count="0"/>
      <line num="574" type="stmt" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="576" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="578" type="stmt" count="0"/>
      <line num="579" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="595" type="stmt" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <line num="597" type="stmt" count="0"/>
      <line num="600" type="stmt" count="0"/>
      <line num="601" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="603" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="609" type="stmt" count="0"/>
      <line num="610" type="stmt" count="0"/>
      <line num="611" type="stmt" count="0"/>
      <line num="612" type="stmt" count="0"/>
      <line num="613" type="stmt" count="0"/>
      <line num="614" type="stmt" count="0"/>
      <line num="615" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="617" type="stmt" count="0"/>
      <line num="618" type="stmt" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="620" type="stmt" count="0"/>
      <line num="621" type="stmt" count="0"/>
      <line num="622" type="stmt" count="0"/>
      <line num="623" type="stmt" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="625" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="632" type="stmt" count="0"/>
      <line num="633" type="stmt" count="0"/>
      <line num="634" type="stmt" count="0"/>
      <line num="635" type="stmt" count="0"/>
      <line num="636" type="stmt" count="0"/>
      <line num="637" type="stmt" count="0"/>
      <line num="638" type="stmt" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="653" type="method" name="getUserStatus" visibility="private" complexity="13" crap="182" count="0"/>
      <line num="661" type="stmt" count="0"/>
      <line num="662" type="stmt" count="0"/>
      <line num="663" type="stmt" count="0"/>
      <line num="666" type="stmt" count="0"/>
      <line num="667" type="stmt" count="0"/>
      <line num="670" type="stmt" count="0"/>
      <line num="671" type="stmt" count="0"/>
      <line num="672" type="stmt" count="0"/>
      <line num="674" type="stmt" count="0"/>
      <line num="676" type="stmt" count="0"/>
      <line num="677" type="stmt" count="0"/>
      <line num="679" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <line num="692" type="stmt" count="0"/>
      <line num="694" type="stmt" count="0"/>
      <line num="696" type="stmt" count="0"/>
      <line num="698" type="stmt" count="0"/>
      <line num="700" type="stmt" count="0"/>
      <metrics loc="704" ncloc="650" classes="1" methods="12" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="405" coveredstatements="49" elements="417" coveredelements="52"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/EventPage/EventPageDecoratorFactory.php">
      <class name="MediaWiki\Extension\CampaignEvents\EventPage\EventPageDecoratorFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="0" elements="23" coveredelements="0"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="47" type="method" name="newDecorator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <metrics loc="74" ncloc="74" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="0" elements="23" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Formatters/EventFormatter.php">
      <class name="MediaWiki\Extension\CampaignEvents\Formatters\EventFormatter" namespace="global">
        <metrics complexity="10" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="9" elements="35" coveredelements="11"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="34" type="method" name="formatWikis" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="method" name="formatAddress" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="77" type="stmt" count="4"/>
      <line num="78" type="stmt" count="4"/>
      <line num="79" type="stmt" count="4"/>
      <line num="80" type="stmt" count="2"/>
      <line num="81" type="stmt" count="2"/>
      <line num="82" type="stmt" count="1"/>
      <line num="87" type="stmt" count="2"/>
      <line num="89" type="stmt" count="2"/>
      <metrics loc="92" ncloc="85" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="9" elements="35" coveredelements="11"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/FrontendModules/ClickwrapFormModule.php">
      <class name="MediaWiki\Extension\CampaignEvents\FrontendModules\ClickwrapFormModule" namespace="global">
        <metrics complexity="5" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="0" elements="40" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="33" type="method" name="createContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="method" name="createForm" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="74" type="method" name="processInput" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <metrics loc="85" ncloc="79" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="0" elements="40" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/FrontendModules/EmailParticipantsModule.php">
      <class name="MediaWiki\Extension\CampaignEvents\FrontendModules\EmailParticipantsModule" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="119" coveredstatements="0" elements="122" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="35" type="method" name="createContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="method" name="getEmailForm" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <metrics loc="174" ncloc="168" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="119" coveredstatements="0" elements="122" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/FrontendModules/EventContributionCombinedModule.php">
      <class name="MediaWiki\Extension\CampaignEvents\FrontendModules\EventContributionCombinedModule" namespace="global">
        <metrics complexity="16" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="147" coveredstatements="0" elements="151" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="44" type="method" name="createContent" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="method" name="getContributionsSummaryModule" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="209" type="method" name="formatDeltas" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <metrics loc="217" ncloc="211" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="147" coveredstatements="0" elements="151" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/FrontendModules/EventContributionEditorsModule.php">
      <class name="MediaWiki\Extension\CampaignEvents\FrontendModules\EventContributionEditorsModule" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="0" elements="18" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="24" type="method" name="createContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <metrics loc="48" ncloc="47" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="0" elements="18" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/FrontendModules/EventContributionEditsModule.php">
      <class name="MediaWiki\Extension\CampaignEvents\FrontendModules\EventContributionEditsModule" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="32" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="30" type="method" name="createContent" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <metrics loc="73" ncloc="70" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="32" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/FrontendModules/EventDetailsModule.php">
      <class name="MediaWiki\Extension\CampaignEvents\FrontendModules\EventDetailsModule" namespace="global">
        <metrics complexity="59" methods="14" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="394" coveredstatements="0" elements="408" coveredelements="0"/>
      </class>
      <line num="60" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="92" type="method" name="createContent" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="162" type="method" name="getHeader" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="195" type="method" name="getNonLocalWikiMessage" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="228" type="method" name="getInfoColumn" visibility="private" complexity="15" crap="240" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="333" type="method" name="getNeedsToRegisterMsg" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="339" type="method" name="getOrganizersColumn" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="391" type="stmt" count="0"/>
      <line num="394" type="method" name="getEventWikisSection" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="439" type="method" name="getEventTopicsSection" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="469" type="method" name="getEventTypesSection" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="500" type="method" name="getParticipationOptionsSection" visibility="private" complexity="14" crap="210" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="513" type="stmt" count="0"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="518" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="525" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="530" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="532" type="stmt" count="0"/>
      <line num="533" type="stmt" count="0"/>
      <line num="536" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="545" type="stmt" count="0"/>
      <line num="546" type="stmt" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="549" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="551" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="555" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="558" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="560" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="565" type="stmt" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="567" type="stmt" count="0"/>
      <line num="568" type="stmt" count="0"/>
      <line num="569" type="stmt" count="0"/>
      <line num="570" type="stmt" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="574" type="method" name="getTrackingToolsSection" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="578" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="585" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <line num="597" type="stmt" count="0"/>
      <line num="598" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="605" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="610" type="stmt" count="0"/>
      <line num="611" type="stmt" count="0"/>
      <line num="612" type="stmt" count="0"/>
      <line num="613" type="stmt" count="0"/>
      <line num="614" type="stmt" count="0"/>
      <line num="615" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="617" type="stmt" count="0"/>
      <line num="618" type="stmt" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="620" type="stmt" count="0"/>
      <line num="623" type="stmt" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="625" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="630" type="stmt" count="0"/>
      <line num="631" type="stmt" count="0"/>
      <line num="632" type="stmt" count="0"/>
      <line num="634" type="stmt" count="0"/>
      <line num="635" type="stmt" count="0"/>
      <line num="636" type="stmt" count="0"/>
      <line num="637" type="stmt" count="0"/>
      <line num="638" type="stmt" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="645" type="stmt" count="0"/>
      <line num="646" type="stmt" count="0"/>
      <line num="647" type="stmt" count="0"/>
      <line num="648" type="stmt" count="0"/>
      <line num="651" type="method" name="getFooter" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="655" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="658" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="671" type="method" name="makeSection" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="675" type="stmt" count="0"/>
      <line num="677" type="stmt" count="0"/>
      <line num="678" type="stmt" count="0"/>
      <line num="679" type="stmt" count="0"/>
      <line num="680" type="stmt" count="0"/>
      <line num="681" type="stmt" count="0"/>
      <line num="682" type="stmt" count="0"/>
      <line num="683" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <metrics loc="693" ncloc="625" classes="1" methods="14" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="394" coveredstatements="0" elements="408" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/FrontendModules/EventDetailsParticipantsModule.php">
      <class name="MediaWiki\Extension\CampaignEvents\FrontendModules\EventDetailsParticipantsModule" namespace="global">
        <metrics complexity="67" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="455" coveredstatements="0" elements="470" coveredelements="0"/>
      </class>
      <line num="59" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="81" type="method" name="createContent" visibility="public" complexity="14" crap="210" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="189" type="method" name="preloadUserInfo" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="204" type="method" name="getPrimaryHeader" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="263" type="method" name="getParticipantsTable" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="300" type="method" name="getEmptyStateElement" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="320" type="method" name="getSearchBar" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="336" type="method" name="getTableHeaders" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="428" type="method" name="getParticipantRows" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="476" type="method" name="getCurUserParticipantRow" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="494" type="stmt" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="507" type="method" name="getParticipantRow" visibility="private" complexity="10" crap="110" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="525" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="530" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="532" type="stmt" count="0"/>
      <line num="533" type="stmt" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="535" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="545" type="stmt" count="0"/>
      <line num="546" type="stmt" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="549" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="551" type="stmt" count="0"/>
      <line num="552" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="555" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="558" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="560" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="564" type="stmt" count="0"/>
      <line num="565" type="stmt" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="568" type="stmt" count="0"/>
      <line num="569" type="stmt" count="0"/>
      <line num="570" type="stmt" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="572" type="stmt" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="574" type="stmt" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="576" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="578" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="585" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="595" type="stmt" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <line num="599" type="stmt" count="0"/>
      <line num="600" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="603" type="stmt" count="0"/>
      <line num="612" type="method" name="addNonPIIParticipantAnswers" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="618" type="stmt" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="622" type="stmt" count="0"/>
      <line num="623" type="stmt" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="625" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="630" type="stmt" count="0"/>
      <line num="632" type="stmt" count="0"/>
      <line num="633" type="stmt" count="0"/>
      <line num="634" type="stmt" count="0"/>
      <line num="637" type="stmt" count="0"/>
      <line num="638" type="stmt" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="643" type="stmt" count="0"/>
      <line num="645" type="stmt" count="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="652" type="method" name="getQuestionAnswer" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="655" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="660" type="stmt" count="0"/>
      <line num="661" type="stmt" count="0"/>
      <line num="662" type="stmt" count="0"/>
      <line num="663" type="stmt" count="0"/>
      <line num="664" type="stmt" count="0"/>
      <line num="665" type="stmt" count="0"/>
      <line num="666" type="stmt" count="0"/>
      <line num="667" type="stmt" count="0"/>
      <line num="669" type="stmt" count="0"/>
      <line num="672" type="method" name="getFooter" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="678" type="stmt" count="0"/>
      <line num="680" type="stmt" count="0"/>
      <line num="681" type="stmt" count="0"/>
      <line num="682" type="stmt" count="0"/>
      <line num="683" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <line num="691" type="stmt" count="0"/>
      <line num="692" type="stmt" count="0"/>
      <line num="693" type="stmt" count="0"/>
      <line num="694" type="stmt" count="0"/>
      <line num="698" type="stmt" count="0"/>
      <line num="699" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="703" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="705" type="stmt" count="0"/>
      <line num="706" type="stmt" count="0"/>
      <line num="707" type="stmt" count="0"/>
      <line num="708" type="stmt" count="0"/>
      <line num="709" type="stmt" count="0"/>
      <line num="710" type="stmt" count="0"/>
      <line num="711" type="stmt" count="0"/>
      <line num="712" type="stmt" count="0"/>
      <line num="714" type="stmt" count="0"/>
      <line num="716" type="stmt" count="0"/>
      <line num="719" type="method" name="getHeaderControls" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="723" type="stmt" count="0"/>
      <line num="724" type="stmt" count="0"/>
      <line num="725" type="stmt" count="0"/>
      <line num="726" type="stmt" count="0"/>
      <line num="727" type="stmt" count="0"/>
      <line num="728" type="stmt" count="0"/>
      <line num="729" type="stmt" count="0"/>
      <line num="730" type="stmt" count="0"/>
      <line num="731" type="stmt" count="0"/>
      <line num="732" type="stmt" count="0"/>
      <line num="733" type="stmt" count="0"/>
      <line num="734" type="stmt" count="0"/>
      <line num="735" type="stmt" count="0"/>
      <line num="736" type="stmt" count="0"/>
      <line num="737" type="stmt" count="0"/>
      <line num="739" type="stmt" count="0"/>
      <line num="740" type="stmt" count="0"/>
      <line num="741" type="stmt" count="0"/>
      <line num="742" type="stmt" count="0"/>
      <line num="743" type="stmt" count="0"/>
      <line num="744" type="stmt" count="0"/>
      <line num="745" type="stmt" count="0"/>
      <line num="746" type="stmt" count="0"/>
      <line num="747" type="stmt" count="0"/>
      <line num="748" type="stmt" count="0"/>
      <line num="749" type="stmt" count="0"/>
      <line num="750" type="stmt" count="0"/>
      <line num="751" type="stmt" count="0"/>
      <line num="752" type="stmt" count="0"/>
      <line num="753" type="stmt" count="0"/>
      <line num="754" type="stmt" count="0"/>
      <line num="755" type="stmt" count="0"/>
      <line num="757" type="stmt" count="0"/>
      <line num="758" type="stmt" count="0"/>
      <line num="759" type="stmt" count="0"/>
      <line num="760" type="stmt" count="0"/>
      <line num="761" type="stmt" count="0"/>
      <line num="762" type="stmt" count="0"/>
      <line num="763" type="stmt" count="0"/>
      <line num="764" type="stmt" count="0"/>
      <line num="765" type="stmt" count="0"/>
      <line num="766" type="stmt" count="0"/>
      <line num="769" type="stmt" count="0"/>
      <line num="770" type="stmt" count="0"/>
      <line num="771" type="stmt" count="0"/>
      <line num="772" type="stmt" count="0"/>
      <line num="773" type="stmt" count="0"/>
      <line num="775" type="stmt" count="0"/>
      <metrics loc="778" ncloc="714" classes="1" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="455" coveredstatements="0" elements="470" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/FrontendModules/FrontendModulesFactory.php">
      <class name="MediaWiki\Extension\CampaignEvents\FrontendModules\FrontendModulesFactory" namespace="global">
        <metrics complexity="10" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="82" coveredstatements="0" elements="92" coveredelements="0"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="method" name="newEventDetailsModule" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="method" name="newEventDetailsParticipantsModule" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="105" type="method" name="newEmailParticipantsModule" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="111" type="method" name="newResponseStatisticsModule" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="126" type="method" name="newClickwrapFormModule" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="139" type="method" name="newEventContributionsModule" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="158" type="method" name="newEventContributionsEditorModule" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="171" type="method" name="newEventContributionsEditsModule" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="187" type="method" name="newWorklistModule" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <metrics loc="201" ncloc="201" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="82" coveredstatements="0" elements="92" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/FrontendModules/ResponseStatisticsModule.php">
      <class name="MediaWiki\Extension\CampaignEvents\FrontendModules\ResponseStatisticsModule" namespace="global">
        <metrics complexity="24" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="173" coveredstatements="0" elements="180" coveredelements="0"/>
      </class>
      <line num="35" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="47" type="method" name="createContent" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" type="method" name="makeContentWithAggregates" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="133" type="method" name="makeQuestionCategorySectionContainer" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="142" type="method" name="makeQuestionCategorySection" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="154" type="method" name="makeQuestionSection" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="209" type="method" name="makeAnswerTable" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <metrics loc="308" ncloc="289" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="173" coveredstatements="0" elements="180" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/FrontendModules/WorklistModule.php">
      <class name="MediaWiki\Extension\CampaignEvents\FrontendModules\WorklistModule" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="0" elements="37" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="31" type="method" name="createContent" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <metrics loc="84" ncloc="74" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="0" elements="37" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/CampaignEventsGetAllEventsTabsHook.php">
      <metrics loc="22" ncloc="14" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/CampaignEventsGetEventDetailsHook.php">
      <metrics loc="32" ncloc="20" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/CampaignEventsGetPolicyMessageForRegistrationFormHook.php">
      <metrics loc="17" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/CampaignEventsGetPolicyMessageForRegistrationHook.php">
      <metrics loc="17" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/CampaignEventsHookRunner.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\CampaignEventsHookRunner" namespace="global">
        <metrics complexity="7" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="29" elements="36" coveredelements="36"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="25" type="stmt" count="6"/>
      <line num="30" type="method" name="onCampaignEventsGetPolicyMessageForRegistration" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="32" type="stmt" count="1"/>
      <line num="33" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="40" type="method" name="onCampaignEventsGetPolicyMessageForRegistrationForm" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="51" type="method" name="onCampaignEventsRegistrationFormLoad" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="63" type="method" name="onCampaignEventsRegistrationFormSubmit" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="77" type="method" name="onCampaignEventsGetEventDetails" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="92" type="method" name="onCampaignEventsGetAllEventsTabs" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <metrics loc="104" ncloc="87" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="29" elements="36" coveredelements="36"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/CampaignEventsRegistrationFormLoadHook.php">
      <metrics loc="17" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/CampaignEventsRegistrationFormSubmitHook.php">
      <metrics loc="20" ncloc="13" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/ArticleViewHeaderHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\ArticleViewHeaderHandler" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
      </class>
      <line num="12" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="16" type="stmt" count="8"/>
      <line num="21" type="method" name="onArticleViewHeader" visibility="public" complexity="4" crap="4" count="8"/>
      <line num="22" type="stmt" count="8"/>
      <line num="23" type="stmt" count="8"/>
      <line num="24" type="stmt" count="4"/>
      <line num="31" type="stmt" count="4"/>
      <line num="32" type="stmt" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <metrics loc="44" ncloc="37" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/CentralAuthContributionUserChangesHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\CentralAuthContributionUserChangesHandler" namespace="global">
        <metrics complexity="7" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="27" elements="34" coveredelements="29"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="34" type="method" name="onCentralAuthAccountDeleted" visibility="public" complexity="3" crap="3.26" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="2"/>
      <line num="52" type="method" name="onCentralAuthUserVisibilityChanged" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="66" type="stmt" count="2"/>
      <line num="67" type="stmt" count="1"/>
      <line num="69" type="stmt" count="2"/>
      <line num="70" type="stmt" count="1"/>
      <line num="72" type="stmt" count="2"/>
      <metrics loc="75" ncloc="69" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="27" elements="34" coveredelements="29"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/ContributionUserChangesHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\ContributionUserChangesHandler" namespace="global">
        <metrics complexity="23" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="85" coveredstatements="85" elements="90" coveredelements="90"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="40" type="stmt" count="15"/>
      <line num="47" type="method" name="onBlockIpComplete" visibility="public" complexity="11" crap="11" count="7"/>
      <line num="48" type="stmt" count="7"/>
      <line num="49" type="stmt" count="7"/>
      <line num="51" type="stmt" count="1"/>
      <line num="55" type="stmt" count="6"/>
      <line num="56" type="stmt" count="6"/>
      <line num="59" type="stmt" count="2"/>
      <line num="63" type="stmt" count="4"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="2"/>
      <line num="71" type="stmt" count="2"/>
      <line num="72" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="80" type="stmt" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <line num="83" type="stmt" count="3"/>
      <line num="85" type="stmt" count="3"/>
      <line num="86" type="stmt" count="3"/>
      <line num="87" type="stmt" count="2"/>
      <line num="89" type="stmt" count="3"/>
      <line num="90" type="stmt" count="2"/>
      <line num="92" type="stmt" count="3"/>
      <line num="99" type="method" name="onUnblockUserComplete" visibility="public" complexity="6" crap="6" count="5"/>
      <line num="100" type="stmt" count="5"/>
      <line num="101" type="stmt" count="5"/>
      <line num="103" type="stmt" count="1"/>
      <line num="106" type="stmt" count="4"/>
      <line num="107" type="stmt" count="1"/>
      <line num="111" type="stmt" count="3"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="117" type="stmt" count="2"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="2"/>
      <line num="128" type="stmt" count="2"/>
      <line num="129" type="stmt" count="2"/>
      <line num="130" type="stmt" count="1"/>
      <line num="132" type="stmt" count="2"/>
      <line num="133" type="stmt" count="1"/>
      <line num="135" type="stmt" count="2"/>
      <line num="143" type="method" name="onRenameUserComplete" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="148" type="stmt" count="4"/>
      <line num="149" type="stmt" count="4"/>
      <line num="150" type="stmt" count="4"/>
      <line num="153" type="method" name="handleRenameUserComplete" visibility="private" complexity="4" crap="4" count="4"/>
      <line num="156" type="stmt" count="4"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="163" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="165" type="stmt" count="3"/>
      <line num="166" type="stmt" count="3"/>
      <line num="167" type="stmt" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="169" type="stmt" count="3"/>
      <line num="170" type="stmt" count="3"/>
      <line num="171" type="stmt" count="3"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="180" type="stmt" count="2"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="183" type="stmt" count="1"/>
      <line num="184" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="2"/>
      <line num="189" type="stmt" count="3"/>
      <line num="190" type="stmt" count="3"/>
      <metrics loc="193" ncloc="161" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="85" coveredstatements="85" elements="90" coveredelements="90"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/EchoHooksHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\EchoHooksHandler" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="0" elements="18" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="onBeforeCreateEchoEvent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <metrics loc="46" ncloc="41" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="0" elements="18" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/ExtensionRegistrationHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\ExtensionRegistrationHandler" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
      </class>
      <line num="10" type="method" name="registrationCallback" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="11" type="stmt" count="0"/>
      <line num="12" type="stmt" count="0"/>
      <line num="15" type="stmt" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <metrics loc="20" ncloc="19" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/GetPreferencesHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\GetPreferencesHandler" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="0" elements="14" coveredelements="0"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="22" type="method" name="onGetPreferences" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <metrics loc="39" ncloc="33" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="0" elements="14" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/PostEditHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\PostEditHandler" namespace="global">
        <metrics complexity="24" methods="8" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="85" elements="99" coveredelements="89"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="43" type="stmt" count="9"/>
      <line num="48" type="method" name="onBeforePageDisplay" visibility="public" complexity="6" crap="6.02" count="9"/>
      <line num="49" type="stmt" count="9"/>
      <line num="51" type="stmt" count="1"/>
      <line num="54" type="stmt" count="8"/>
      <line num="55" type="stmt" count="1"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="1"/>
      <line num="63" type="stmt" count="7"/>
      <line num="65" type="stmt" count="7"/>
      <line num="66" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="73" type="stmt" count="6"/>
      <line num="74" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="88" type="method" name="maybeShowAssociationDialog" visibility="private" complexity="3" crap="3" count="6"/>
      <line num="93" type="stmt" count="6"/>
      <line num="94" type="stmt" count="6"/>
      <line num="95" type="stmt" count="6"/>
      <line num="96" type="stmt" count="6"/>
      <line num="98" type="stmt" count="6"/>
      <line num="99" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="135" type="stmt" count="2"/>
      <line num="136" type="stmt" count="2"/>
      <line num="137" type="stmt" count="2"/>
      <line num="138" type="stmt" count="2"/>
      <line num="139" type="stmt" count="2"/>
      <line num="140" type="stmt" count="2"/>
      <line num="146" type="method" name="findEventName" visibility="private" complexity="3" crap="3.14" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="154" type="stmt" count="0"/>
      <line num="163" type="method" name="maybeShowDiscoveryDialog" visibility="private" complexity="3" crap="3" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="169" type="stmt" count="1"/>
      <line num="172" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="179" type="stmt" count="2"/>
      <line num="180" type="stmt" count="2"/>
      <line num="182" type="stmt" count="2"/>
      <line num="183" type="stmt" count="1"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="200" type="method" name="makeEventList" visibility="public" complexity="3" crap="3.05" count="2"/>
      <line num="206" type="stmt" count="2"/>
      <line num="208" type="stmt" count="2"/>
      <line num="209" type="stmt" count="2"/>
      <line num="210" type="stmt" count="2"/>
      <line num="211" type="stmt" count="2"/>
      <line num="212" type="stmt" count="2"/>
      <line num="214" type="stmt" count="2"/>
      <line num="215" type="stmt" count="2"/>
      <line num="216" type="stmt" count="2"/>
      <line num="217" type="stmt" count="2"/>
      <line num="218" type="stmt" count="2"/>
      <line num="220" type="stmt" count="2"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="226" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="240" type="method" name="isPostEditReload" visibility="private" complexity="3" crap="3" count="8"/>
      <line num="241" type="stmt" count="8"/>
      <line num="242" type="stmt" count="8"/>
      <line num="243" type="stmt" count="7"/>
      <line num="246" type="stmt" count="1"/>
      <line num="247" type="stmt" count="1"/>
      <line num="250" type="method" name="isWikibaseEntityPage" visibility="private" complexity="2" crap="2.15" count="1"/>
      <line num="251" type="stmt" count="1"/>
      <line num="252" type="stmt" count="1"/>
      <line num="254" type="stmt" count="0"/>
      <metrics loc="257" ncloc="198" classes="1" methods="8" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="85" elements="99" coveredelements="89"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/SchemaChangesHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\SchemaChangesHandler" namespace="global">
        <metrics complexity="7" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="173" coveredstatements="0" elements="176" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="onLoadExtensionSchemaUpdates" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="178" type="method" name="migrateAndDropWorklistArticlesTable" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="191" type="method" name="migrateWorklistRows" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <metrics loc="229" ncloc="220" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="173" coveredstatements="0" elements="176" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/TitleMoveHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\TitleMoveHandler" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="9" coveredelements="9"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="22" type="stmt" count="4"/>
      <line num="27" type="method" name="onTitleMove" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="28" type="stmt" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="38" type="stmt" count="3"/>
      <metrics loc="41" ncloc="33" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="9" coveredelements="9"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/UserMergeContributionUserChangesHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\UserMergeContributionUserChangesHandler" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="29" coveredelements="29"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="32" type="stmt" count="3"/>
      <line num="34" type="method" name="onDeleteAccount" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="44" type="stmt" count="2"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="50" type="stmt" count="2"/>
      <line num="54" type="method" name="onUserMergeAccountFields" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <metrics loc="69" ncloc="61" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="29" coveredelements="29"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/Handlers/WorklistPageHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\Handlers\WorklistPageHandler" namespace="global">
        <metrics complexity="5" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="9" coveredelements="9"/>
      </class>
      <line num="21" type="method" name="onGetUserPermissionsErrors" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="22" type="stmt" count="5"/>
      <line num="23" type="stmt" count="2"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="1"/>
      <line num="28" type="stmt" count="3"/>
      <line num="29" type="stmt" count="2"/>
      <line num="30" type="stmt" count="2"/>
      <line num="32" type="stmt" count="1"/>
      <metrics loc="35" ncloc="25" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="9" coveredelements="9"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Hooks/ResourceLoaderCallbacks.php">
      <class name="MediaWiki\Extension\CampaignEvents\Hooks\ResourceLoaderCallbacks" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="getEventPageData" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <metrics loc="22" ncloc="19" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Invitation/ArticleList.php">
      <class name="MediaWiki\Extension\CampaignEvents\Invitation\ArticleList" namespace="global">
        <metrics complexity="11" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="28" elements="32" coveredelements="32"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="4" crap="4" count="8"/>
      <line num="25" type="stmt" count="8"/>
      <line num="26" type="stmt" count="7"/>
      <line num="27" type="stmt" count="7"/>
      <line num="28" type="stmt" count="7"/>
      <line num="29" type="stmt" count="7"/>
      <line num="30" type="stmt" count="6"/>
      <line num="31" type="stmt" count="6"/>
      <line num="32" type="stmt" count="5"/>
      <line num="33" type="stmt" count="2"/>
      <line num="35" type="stmt" count="5"/>
      <line num="46" type="method" name="getPagesByWiki" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="54" type="method" name="toPlainArray" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="75" type="method" name="fromPlainArray" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <metrics loc="86" ncloc="64" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="28" elements="32" coveredelements="32"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Invitation/ArticleListParser.php">
      <class name="MediaWiki\Extension\CampaignEvents\Invitation\ArticleListParser" namespace="global">
        <metrics complexity="16" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="64" elements="67" coveredelements="67"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="22" type="stmt" count="15"/>
      <line num="31" type="method" name="parseArticleList" visibility="public" complexity="13" crap="13" count="15"/>
      <line num="32" type="stmt" count="15"/>
      <line num="33" type="stmt" count="15"/>
      <line num="34" type="stmt" count="15"/>
      <line num="35" type="stmt" count="2"/>
      <line num="37" type="stmt" count="13"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="45" type="stmt" count="12"/>
      <line num="46" type="stmt" count="12"/>
      <line num="47" type="stmt" count="12"/>
      <line num="48" type="stmt" count="12"/>
      <line num="49" type="stmt" count="12"/>
      <line num="50" type="stmt" count="12"/>
      <line num="51" type="stmt" count="12"/>
      <line num="52" type="stmt" count="12"/>
      <line num="53" type="stmt" count="12"/>
      <line num="54" type="stmt" count="12"/>
      <line num="59" type="stmt" count="12"/>
      <line num="60" type="stmt" count="12"/>
      <line num="61" type="stmt" count="5"/>
      <line num="62" type="stmt" count="12"/>
      <line num="63" type="stmt" count="6"/>
      <line num="64" type="stmt" count="10"/>
      <line num="65" type="stmt" count="5"/>
      <line num="67" type="stmt" count="7"/>
      <line num="68" type="stmt" count="7"/>
      <line num="73" type="stmt" count="12"/>
      <line num="75" type="stmt" count="12"/>
      <line num="76" type="stmt" count="5"/>
      <line num="77" type="stmt" count="5"/>
      <line num="78" type="stmt" count="5"/>
      <line num="79" type="stmt" count="5"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="84" type="stmt" count="12"/>
      <line num="85" type="stmt" count="6"/>
      <line num="86" type="stmt" count="6"/>
      <line num="87" type="stmt" count="6"/>
      <line num="88" type="stmt" count="6"/>
      <line num="89" type="stmt" count="6"/>
      <line num="90" type="stmt" count="6"/>
      <line num="91" type="stmt" count="6"/>
      <line num="93" type="stmt" count="12"/>
      <line num="94" type="stmt" count="5"/>
      <line num="95" type="stmt" count="5"/>
      <line num="96" type="stmt" count="5"/>
      <line num="97" type="stmt" count="5"/>
      <line num="98" type="stmt" count="5"/>
      <line num="99" type="stmt" count="5"/>
      <line num="100" type="stmt" count="5"/>
      <line num="103" type="stmt" count="12"/>
      <line num="104" type="stmt" count="1"/>
      <line num="107" type="stmt" count="12"/>
      <line num="114" type="method" name="pagesToBulletList" visibility="private" complexity="2" crap="2" count="11"/>
      <line num="116" type="stmt" count="11"/>
      <line num="117" type="stmt" count="11"/>
      <line num="118" type="stmt" count="11"/>
      <line num="119" type="stmt" count="11"/>
      <line num="120" type="stmt" count="11"/>
      <line num="121" type="stmt" count="11"/>
      <metrics loc="124" ncloc="107" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="64" elements="67" coveredelements="67"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Invitation/FindPotentialInviteesJob.php">
      <class name="MediaWiki\Extension\CampaignEvents\Invitation\FindPotentialInviteesJob" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="25" coveredelements="25"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="21" type="stmt" count="6"/>
      <line num="22" type="stmt" count="6"/>
      <line num="23" type="stmt" count="6"/>
      <line num="24" type="stmt" count="3"/>
      <line num="26" type="stmt" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <line num="33" type="method" name="run" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="2"/>
      <line num="45" type="stmt" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="1"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="53" type="stmt" count="1"/>
      <line num="55" type="stmt" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <metrics loc="60" ncloc="51" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="25" coveredelements="25"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Invitation/InvitationList.php">
      <class name="MediaWiki\Extension\CampaignEvents\Invitation\InvitationList" namespace="global">
        <metrics complexity="8" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="25" type="method" name="getListID" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="29" type="method" name="getName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="33" type="method" name="getEventID" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="method" name="getStatus" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="getCreator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="method" name="getWiki" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="52" type="method" name="getCreationTime" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <metrics loc="56" ncloc="53" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Invitation/InvitationListGenerator.php">
      <class name="MediaWiki\Extension\CampaignEvents\Invitation\InvitationListGenerator" namespace="global">
        <metrics complexity="16" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="46" coveredelements="46"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="35" type="stmt" count="12"/>
      <line num="40" type="method" name="createIfAllowed" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="53" type="method" name="authorizeCreation" visibility="private" complexity="2" crap="2" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="63" type="method" name="createUnsafe" visibility="public" complexity="5" crap="5" count="11"/>
      <line num="69" type="stmt" count="11"/>
      <line num="70" type="stmt" count="2"/>
      <line num="73" type="stmt" count="9"/>
      <line num="74" type="stmt" count="1"/>
      <line num="77" type="stmt" count="8"/>
      <line num="78" type="stmt" count="8"/>
      <line num="79" type="stmt" count="6"/>
      <line num="80" type="stmt" count="6"/>
      <line num="81" type="stmt" count="5"/>
      <line num="83" type="stmt" count="1"/>
      <line num="86" type="stmt" count="3"/>
      <line num="87" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="90" type="stmt" count="3"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="102" type="method" name="validateEventPage" visibility="public" complexity="6" crap="6" count="6"/>
      <line num="104" type="stmt" count="6"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="109" type="stmt" count="5"/>
      <line num="110" type="stmt" count="5"/>
      <line num="111" type="stmt" count="1"/>
      <line num="114" type="stmt" count="4"/>
      <line num="115" type="stmt" count="1"/>
      <line num="118" type="stmt" count="3"/>
      <line num="119" type="stmt" count="1"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="124" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <metrics loc="130" ncloc="118" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="46" coveredelements="46"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Invitation/InvitationListNotFoundException.php">
      <class name="MediaWiki\Extension\CampaignEvents\Invitation\InvitationListNotFoundException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="10" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="11" type="stmt" count="0"/>
      <metrics loc="14" ncloc="14" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Invitation/InvitationListStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Invitation\InvitationListStore" namespace="global">
        <metrics complexity="19" methods="10" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="115" elements="156" coveredelements="124"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="25" type="stmt" count="7"/>
      <line num="27" type="method" name="createInvitationList" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="32" type="stmt" count="5"/>
      <line num="33" type="stmt" count="5"/>
      <line num="34" type="stmt" count="5"/>
      <line num="35" type="stmt" count="5"/>
      <line num="36" type="stmt" count="5"/>
      <line num="37" type="stmt" count="5"/>
      <line num="38" type="stmt" count="5"/>
      <line num="39" type="stmt" count="5"/>
      <line num="40" type="stmt" count="5"/>
      <line num="41" type="stmt" count="5"/>
      <line num="42" type="stmt" count="5"/>
      <line num="43" type="stmt" count="5"/>
      <line num="44" type="stmt" count="5"/>
      <line num="46" type="stmt" count="5"/>
      <line num="49" type="method" name="storeArticleList" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="59" type="stmt" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="66" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="75" type="method" name="updateStatus" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="89" type="method" name="storeInvitationListUsers" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="109" type="method" name="getInvitationList" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="110" type="stmt" count="4"/>
      <line num="111" type="stmt" count="4"/>
      <line num="112" type="stmt" count="4"/>
      <line num="113" type="stmt" count="4"/>
      <line num="114" type="stmt" count="4"/>
      <line num="115" type="stmt" count="4"/>
      <line num="116" type="stmt" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="1"/>
      <line num="122" type="stmt" count="3"/>
      <line num="123" type="stmt" count="3"/>
      <line num="124" type="stmt" count="3"/>
      <line num="125" type="stmt" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="3"/>
      <line num="128" type="stmt" count="3"/>
      <line num="129" type="stmt" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="134" type="method" name="getArticleList" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="135" type="stmt" count="2"/>
      <line num="136" type="stmt" count="2"/>
      <line num="137" type="stmt" count="2"/>
      <line num="138" type="stmt" count="2"/>
      <line num="139" type="stmt" count="2"/>
      <line num="140" type="stmt" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="2"/>
      <line num="146" type="stmt" count="2"/>
      <line num="147" type="stmt" count="2"/>
      <line num="149" type="stmt" count="2"/>
      <line num="150" type="stmt" count="2"/>
      <line num="156" type="method" name="loadPagesFromDB" visibility="private" complexity="5" crap="5" count="2"/>
      <line num="157" type="stmt" count="2"/>
      <line num="158" type="stmt" count="2"/>
      <line num="159" type="stmt" count="2"/>
      <line num="162" type="stmt" count="2"/>
      <line num="163" type="stmt" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="178" type="stmt" count="1"/>
      <line num="181" type="stmt" count="2"/>
      <line num="193" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="233" type="method" name="getInvitationListUsers" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="234" type="stmt" count="1"/>
      <line num="235" type="stmt" count="1"/>
      <line num="236" type="stmt" count="1"/>
      <line num="237" type="stmt" count="1"/>
      <line num="238" type="stmt" count="1"/>
      <line num="239" type="stmt" count="1"/>
      <line num="240" type="stmt" count="1"/>
      <line num="241" type="stmt" count="1"/>
      <line num="242" type="stmt" count="1"/>
      <line num="244" type="stmt" count="1"/>
      <line num="245" type="stmt" count="1"/>
      <line num="246" type="stmt" count="1"/>
      <line num="248" type="stmt" count="1"/>
      <metrics loc="251" ncloc="218" classes="1" methods="10" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="115" elements="156" coveredelements="124"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Invitation/PotentialInviteesFinder.php">
      <class name="MediaWiki\Extension\CampaignEvents\Invitation\PotentialInviteesFinder" namespace="global">
        <metrics complexity="51" methods="16" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="243" coveredstatements="219" elements="259" coveredelements="229"/>
      </class>
      <line num="45" type="method" name="__construct" visibility="public" complexity="1" crap="1.12" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="0"/>
      <line num="59" type="method" name="setDebugLogger" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="66" type="method" name="generate" visibility="public" complexity="4" crap="4.13" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="94" type="method" name="getAllRevisionsForWiki" visibility="private" complexity="14" crap="14.64" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="0"/>
      <line num="133" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <line num="161" type="stmt" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="163" type="stmt" count="1"/>
      <line num="164" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="173" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="183" type="stmt" count="1"/>
      <line num="184" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="186" type="stmt" count="1"/>
      <line num="189" type="stmt" count="1"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="202" type="stmt" count="0"/>
      <line num="204" type="stmt" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="208" type="stmt" count="1"/>
      <line num="218" type="method" name="getRevisionFilterConditions" visibility="private" complexity="4" crap="4.04" count="1"/>
      <line num="219" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="226" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="234" type="stmt" count="1"/>
      <line num="235" type="stmt" count="1"/>
      <line num="236" type="stmt" count="1"/>
      <line num="238" type="stmt" count="1"/>
      <line num="239" type="stmt" count="1"/>
      <line num="243" type="stmt" count="1"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="252" type="stmt" count="1"/>
      <line num="253" type="stmt" count="1"/>
      <line num="254" type="stmt" count="1"/>
      <line num="255" type="stmt" count="1"/>
      <line num="256" type="stmt" count="1"/>
      <line num="257" type="stmt" count="1"/>
      <line num="258" type="stmt" count="1"/>
      <line num="259" type="stmt" count="1"/>
      <line num="260" type="stmt" count="1"/>
      <line num="261" type="stmt" count="1"/>
      <line num="262" type="stmt" count="1"/>
      <line num="268" type="stmt" count="1"/>
      <line num="269" type="stmt" count="1"/>
      <line num="270" type="stmt" count="1"/>
      <line num="271" type="stmt" count="1"/>
      <line num="272" type="stmt" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="277" type="stmt" count="1"/>
      <line num="289" type="method" name="rankUsers" visibility="private" complexity="3" crap="3" count="1"/>
      <line num="291" type="stmt" count="1"/>
      <line num="292" type="stmt" count="1"/>
      <line num="293" type="stmt" count="1"/>
      <line num="294" type="stmt" count="1"/>
      <line num="295" type="stmt" count="1"/>
      <line num="296" type="stmt" count="1"/>
      <line num="299" type="stmt" count="1"/>
      <line num="300" type="stmt" count="1"/>
      <line num="301" type="stmt" count="1"/>
      <line num="304" type="stmt" count="1"/>
      <line num="305" type="stmt" count="1"/>
      <line num="306" type="stmt" count="1"/>
      <line num="315" type="method" name="getDeltasByUser" visibility="private" complexity="5" crap="5" count="1"/>
      <line num="316" type="stmt" count="1"/>
      <line num="318" type="stmt" count="1"/>
      <line num="320" type="stmt" count="1"/>
      <line num="322" type="stmt" count="1"/>
      <line num="323" type="stmt" count="1"/>
      <line num="324" type="stmt" count="1"/>
      <line num="327" type="stmt" count="1"/>
      <line num="328" type="stmt" count="1"/>
      <line num="329" type="stmt" count="1"/>
      <line num="330" type="stmt" count="1"/>
      <line num="331" type="stmt" count="1"/>
      <line num="339" type="stmt" count="1"/>
      <line num="340" type="stmt" count="1"/>
      <line num="341" type="stmt" count="1"/>
      <line num="344" type="stmt" count="1"/>
      <line num="345" type="stmt" count="1"/>
      <line num="361" type="method" name="getUserDataByWiki" visibility="private" complexity="3" crap="3" count="1"/>
      <line num="362" type="stmt" count="1"/>
      <line num="363" type="stmt" count="1"/>
      <line num="364" type="stmt" count="1"/>
      <line num="365" type="stmt" count="1"/>
      <line num="368" type="stmt" count="1"/>
      <line num="379" type="method" name="getUserScore" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="389" type="stmt" count="1"/>
      <line num="390" type="stmt" count="1"/>
      <line num="391" type="stmt" count="1"/>
      <line num="397" type="stmt" count="1"/>
      <line num="398" type="stmt" count="1"/>
      <line num="399" type="stmt" count="1"/>
      <line num="400" type="stmt" count="1"/>
      <line num="401" type="stmt" count="1"/>
      <line num="402" type="stmt" count="1"/>
      <line num="403" type="stmt" count="1"/>
      <line num="404" type="stmt" count="1"/>
      <line num="405" type="stmt" count="1"/>
      <line num="415" type="method" name="getOverallBytesScore" visibility="private" complexity="4" crap="4.13" count="1"/>
      <line num="433" type="stmt" count="1"/>
      <line num="434" type="stmt" count="1"/>
      <line num="435" type="stmt" count="1"/>
      <line num="436" type="stmt" count="1"/>
      <line num="437" type="stmt" count="1"/>
      <line num="438" type="stmt" count="1"/>
      <line num="439" type="stmt" count="1"/>
      <line num="440" type="stmt" count="1"/>
      <line num="441" type="stmt" count="1"/>
      <line num="443" type="stmt" count="1"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="450" type="stmt" count="1"/>
      <line num="451" type="stmt" count="1"/>
      <line num="457" type="method" name="getBytesScoreForPage" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="464" type="stmt" count="1"/>
      <line num="465" type="stmt" count="1"/>
      <line num="466" type="stmt" count="1"/>
      <line num="467" type="stmt" count="1"/>
      <line num="477" type="method" name="getEditCountScore" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="478" type="stmt" count="1"/>
      <line num="481" type="stmt" count="1"/>
      <line num="482" type="stmt" count="1"/>
      <line num="483" type="stmt" count="1"/>
      <line num="484" type="stmt" count="1"/>
      <line num="491" type="method" name="getEditCount" visibility="private" complexity="3" crap="3" count="1"/>
      <line num="493" type="stmt" count="1"/>
      <line num="494" type="stmt" count="1"/>
      <line num="495" type="stmt" count="1"/>
      <line num="496" type="stmt" count="1"/>
      <line num="497" type="stmt" count="1"/>
      <line num="498" type="stmt" count="1"/>
      <line num="499" type="stmt" count="1"/>
      <line num="500" type="stmt" count="1"/>
      <line num="501" type="stmt" count="1"/>
      <line num="502" type="stmt" count="1"/>
      <line num="503" type="stmt" count="1"/>
      <line num="506" type="stmt" count="1"/>
      <line num="516" type="method" name="getRecentActivityScore" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="521" type="stmt" count="1"/>
      <line num="522" type="stmt" count="1"/>
      <line num="526" type="stmt" count="1"/>
      <line num="527" type="stmt" count="1"/>
      <line num="528" type="stmt" count="1"/>
      <line num="529" type="stmt" count="1"/>
      <line num="536" type="method" name="getDaysSinceLastEdit" visibility="private" complexity="4" crap="4.00" count="1"/>
      <line num="538" type="stmt" count="1"/>
      <line num="539" type="stmt" count="1"/>
      <line num="540" type="stmt" count="1"/>
      <line num="541" type="stmt" count="1"/>
      <line num="542" type="stmt" count="1"/>
      <line num="543" type="stmt" count="1"/>
      <line num="544" type="stmt" count="1"/>
      <line num="545" type="stmt" count="1"/>
      <line num="546" type="stmt" count="1"/>
      <line num="547" type="stmt" count="1"/>
      <line num="548" type="stmt" count="1"/>
      <line num="549" type="stmt" count="1"/>
      <line num="552" type="stmt" count="1"/>
      <line num="553" type="stmt" count="0"/>
      <line num="555" type="stmt" count="1"/>
      <line num="562" type="method" name="filterUsersByPreference" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="564" type="stmt" count="1"/>
      <line num="566" type="stmt" count="1"/>
      <line num="567" type="stmt" count="1"/>
      <line num="568" type="stmt" count="1"/>
      <line num="569" type="stmt" count="1"/>
      <line num="570" type="stmt" count="1"/>
      <line num="571" type="stmt" count="1"/>
      <line num="572" type="stmt" count="1"/>
      <line num="573" type="stmt" count="1"/>
      <line num="574" type="stmt" count="1"/>
      <metrics loc="577" ncloc="389" classes="1" methods="16" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="243" coveredstatements="219" elements="259" coveredelements="229"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Job/UpdateUsernameRecordsJobBase.php">
      <class name="MediaWiki\Extension\CampaignEvents\Job\UpdateUsernameRecordsJobBase" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="20" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="50" type="method" name="run" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <metrics loc="69" ncloc="56" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="20" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/CampaignsCentralUserLookup.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\CampaignsCentralUserLookup" namespace="global">
        <metrics complexity="22" methods="12" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="27" elements="58" coveredelements="32"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="35" type="stmt" count="16"/>
      <line num="42" type="method" name="newFromUserIdentity" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="58" type="method" name="newFromAuthority" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="69" type="method" name="newFromLocalUsername" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="83" type="method" name="getUserName" visibility="public" complexity="3" crap="3" count="12"/>
      <line num="84" type="stmt" count="12"/>
      <line num="85" type="stmt" count="12"/>
      <line num="86" type="stmt" count="12"/>
      <line num="87" type="stmt" count="4"/>
      <line num="89" type="stmt" count="8"/>
      <line num="90" type="stmt" count="4"/>
      <line num="92" type="stmt" count="4"/>
      <line num="98" type="method" name="existsAndIsVisible" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="110" type="method" name="existsLocally" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="123" type="method" name="getNames" visibility="public" complexity="2" crap="2" count="10"/>
      <line num="124" type="stmt" count="10"/>
      <line num="125" type="stmt" count="10"/>
      <line num="126" type="stmt" count="10"/>
      <line num="127" type="stmt" count="10"/>
      <line num="128" type="stmt" count="10"/>
      <line num="139" type="method" name="getIDs" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="150" type="method" name="getNamesIncludingDeletedAndSuppressed" visibility="public" complexity="5" crap="5" count="10"/>
      <line num="151" type="stmt" count="10"/>
      <line num="152" type="stmt" count="10"/>
      <line num="153" type="stmt" count="10"/>
      <line num="154" type="stmt" count="9"/>
      <line num="156" type="stmt" count="10"/>
      <line num="157" type="stmt" count="10"/>
      <line num="158" type="stmt" count="10"/>
      <line num="159" type="stmt" count="10"/>
      <line num="160" type="stmt" count="10"/>
      <line num="161" type="stmt" count="10"/>
      <line num="163" type="stmt" count="10"/>
      <line num="165" type="stmt" count="10"/>
      <line num="167" type="stmt" count="10"/>
      <line num="173" type="method" name="isValidLocalUsername" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="177" type="method" name="addNameToCache" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <metrics loc="181" ncloc="118" classes="1" methods="12" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="27" elements="58" coveredelements="32"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/CampaignsPageFactory.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\CampaignsPageFactory" namespace="global">
        <metrics complexity="12" methods="4" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="9" elements="30" coveredelements="10"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="25" type="stmt" count="6"/>
      <line num="35" type="method" name="newPageFromDB" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="60" type="method" name="newLocalExistingPageFromString" visibility="public" complexity="6" crap="9.66" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="1"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="96" type="method" name="newFromLocalMediaWikiPage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <metrics loc="104" ncloc="78" classes="1" methods="4" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="9" elements="30" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/CampaignsPageFormatter.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\CampaignsPageFormatter" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="21" type="method" name="getText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <metrics loc="25" ncloc="21" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/CentralUser.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\CentralUser" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="21" type="method" name="getCentralID" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="25" type="method" name="equals" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <metrics loc="29" ncloc="21" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/CentralUserNotFoundException.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\CentralUserNotFoundException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <metrics loc="17" ncloc="14" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/HiddenCentralUserException.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\HiddenCentralUserException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <metrics loc="17" ncloc="14" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/InvalidEventPageException.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\InvalidEventPageException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="11" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/InvalidTitleStringException.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\InvalidTitleStringException" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="21" type="method" name="getErrorMsgKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="28" type="method" name="getErrorMsgParams" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <metrics loc="32" ncloc="24" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/MWPageProxy.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\MWPageProxy" namespace="global">
        <metrics complexity="9" methods="9" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="21" elements="32" coveredelements="28"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="18" type="stmt" count="1"/>
      <line num="23" type="method" name="getWikiId" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="27" type="method" name="getDBkey" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="31" type="method" name="getNamespace" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="32" type="stmt" count="1"/>
      <line num="38" type="method" name="getPrefixedText" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="42" type="method" name="equals" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="getPageIdentity" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="51" type="method" name="__serialize" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="64" type="method" name="__unserialize" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <metrics loc="74" ncloc="63" classes="1" methods="9" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="21" elements="32" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/MWPermissionsLookup.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\MWPermissionsLookup" namespace="global">
        <metrics complexity="8" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="10" elements="16" coveredelements="14"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="24" type="stmt" count="10"/>
      <line num="30" type="method" name="userHasRight" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="31" type="stmt" count="3"/>
      <line num="37" type="method" name="userIsSitewideBlocked" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <line num="39" type="stmt" count="3"/>
      <line num="45" type="method" name="userIsNamed" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="49" type="method" name="getUser" visibility="private" complexity="3" crap="3.04" count="10"/>
      <line num="50" type="stmt" count="10"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="stmt" count="10"/>
      <line num="55" type="stmt" count="10"/>
      <line num="56" type="stmt" count="3"/>
      <line num="58" type="stmt" count="7"/>
      <metrics loc="61" ncloc="47" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="10" elements="16" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/PageAuthorLookup.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\PageAuthorLookup" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="13" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="27" type="method" name="getAuthor" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <metrics loc="44" ncloc="36" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="13" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/PageNotFoundException.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\PageNotFoundException" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="3" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <metrics loc="20" ncloc="15" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="3" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/PageURLResolver.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\PageURLResolver" namespace="global">
        <metrics complexity="13" methods="5" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="7" elements="34" coveredelements="8"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="32" type="method" name="getUrl" visibility="public" complexity="3" crap="3.03" count="1"/>
      <line num="33" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="1"/>
      <line num="46" type="method" name="getFullUrl" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="61" type="method" name="getCanonicalUrl" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="method" name="getCacheKey" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <metrics loc="86" ncloc="71" classes="1" methods="5" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="7" elements="34" coveredelements="8"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/UnexpectedInterwikiException.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\UnexpectedInterwikiException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="8" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="9" type="stmt" count="0"/>
      <metrics loc="12" ncloc="12" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/UnexpectedSectionAnchorException.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\UnexpectedSectionAnchorException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="8" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="9" type="stmt" count="0"/>
      <metrics loc="12" ncloc="12" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/UnexpectedVirtualNamespaceException.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\UnexpectedVirtualNamespaceException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="8" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="9" type="stmt" count="0"/>
      <metrics loc="12" ncloc="12" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/UserLinker.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\UserLinker" namespace="global">
        <metrics complexity="8" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="0" elements="40" coveredelements="0"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="46" type="method" name="generateUserLink" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="71" type="method" name="generateUserLinkWithFallback" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="104" type="method" name="getUserPagePath" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="119" type="method" name="preloadUserLinks" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <metrics loc="128" ncloc="86" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="0" elements="40" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/UserNotGlobalException.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\UserNotGlobalException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <metrics loc="17" ncloc="14" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MWEntity/WikiLookup.php">
      <class name="MediaWiki\Extension\CampaignEvents\MWEntity\WikiLookup" namespace="global">
        <metrics complexity="23" methods="9" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="77" coveredstatements="58" elements="86" coveredelements="65"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="28" type="stmt" count="15"/>
      <line num="31" type="method" name="getAllWikis" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="32" type="stmt" count="5"/>
      <line num="33" type="stmt" count="5"/>
      <line num="35" type="stmt" count="1"/>
      <line num="37" type="stmt" count="4"/>
      <line num="46" type="method" name="getRestPath" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="49" type="stmt" count="1"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="59" type="method" name="getListForSelect" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="69" type="method" name="computeListForSelect" visibility="private" complexity="2" crap="2" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <line num="71" type="stmt" count="2"/>
      <line num="72" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="82" type="method" name="getLocalizedNames" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="90" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="102" type="method" name="getWikiIcon" visibility="public" complexity="8" crap="8.09" count="6"/>
      <line num="103" type="stmt" count="6"/>
      <line num="104" type="stmt" count="6"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="6"/>
      <line num="107" type="stmt" count="1"/>
      <line num="110" type="stmt" count="5"/>
      <line num="111" type="stmt" count="5"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="5"/>
      <line num="114" type="stmt" count="5"/>
      <line num="115" type="stmt" count="4"/>
      <line num="116" type="stmt" count="4"/>
      <line num="117" type="stmt" count="3"/>
      <line num="118" type="stmt" count="3"/>
      <line num="122" type="stmt" count="5"/>
      <line num="123" type="stmt" count="3"/>
      <line num="125" type="stmt" count="2"/>
      <line num="126" type="stmt" count="2"/>
      <line num="132" type="method" name="getOouiIcons" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="133" type="stmt" count="5"/>
      <line num="134" type="stmt" count="5"/>
      <line num="135" type="stmt" count="5"/>
      <line num="136" type="stmt" count="5"/>
      <line num="137" type="stmt" count="5"/>
      <line num="138" type="stmt" count="5"/>
      <line num="139" type="stmt" count="5"/>
      <line num="140" type="stmt" count="5"/>
      <line num="141" type="stmt" count="5"/>
      <line num="142" type="stmt" count="5"/>
      <line num="143" type="stmt" count="5"/>
      <line num="144" type="stmt" count="5"/>
      <line num="145" type="stmt" count="5"/>
      <line num="146" type="stmt" count="5"/>
      <line num="147" type="stmt" count="5"/>
      <line num="148" type="stmt" count="5"/>
      <line num="149" type="stmt" count="5"/>
      <line num="153" type="method" name="getCodexIcons" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <metrics loc="173" ncloc="135" classes="1" methods="9" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="77" coveredstatements="58" elements="86" coveredelements="65"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MediaWikiEventIngress/ContributionAssociationPageEventIngress.php">
      <class name="MediaWiki\Extension\CampaignEvents\MediaWikiEventIngress\ContributionAssociationPageEventIngress" namespace="global">
        <metrics complexity="17" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="53" elements="58" coveredelements="58"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="25"/>
      <line num="39" type="stmt" count="25"/>
      <line num="41" type="method" name="handlePageDeletedEvent" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="1"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="54" type="method" name="handlePageCreatedEvent" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="55" type="stmt" count="7"/>
      <line num="56" type="stmt" count="5"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="1"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="66" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="71" type="method" name="handlePageMovedEvent" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="1"/>
      <line num="76" type="stmt" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="80" type="stmt" count="2"/>
      <line num="81" type="stmt" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <line num="85" type="method" name="handlePageHistoryVisibilityChangedEvent" visibility="public" complexity="9" crap="9" count="15"/>
      <line num="86" type="stmt" count="15"/>
      <line num="87" type="stmt" count="15"/>
      <line num="88" type="stmt" count="15"/>
      <line num="89" type="stmt" count="15"/>
      <line num="90" type="stmt" count="15"/>
      <line num="91" type="stmt" count="15"/>
      <line num="92" type="stmt" count="7"/>
      <line num="93" type="stmt" count="11"/>
      <line num="94" type="stmt" count="7"/>
      <line num="98" type="stmt" count="15"/>
      <line num="99" type="stmt" count="4"/>
      <line num="102" type="stmt" count="11"/>
      <line num="103" type="stmt" count="11"/>
      <line num="104" type="stmt" count="5"/>
      <line num="107" type="stmt" count="6"/>
      <line num="108" type="stmt" count="6"/>
      <line num="109" type="stmt" count="6"/>
      <line num="110" type="stmt" count="6"/>
      <line num="111" type="stmt" count="6"/>
      <line num="112" type="stmt" count="6"/>
      <line num="113" type="stmt" count="6"/>
      <line num="114" type="stmt" count="6"/>
      <metrics loc="117" ncloc="112" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="53" elements="58" coveredelements="58"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MediaWikiEventIngress/EventPageEventIngress.php">
      <class name="MediaWiki\Extension\CampaignEvents\MediaWikiEventIngress\EventPageEventIngress" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="45" elements="48" coveredelements="48"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="31" type="stmt" count="5"/>
      <line num="33" type="method" name="handlePageMovedEvent" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="40" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="71" type="method" name="handlePageDeletedEvent" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="2"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <metrics loc="89" ncloc="86" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="45" elements="48" coveredelements="48"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/MediaWikiEventIngress/WorklistPageEventIngress.php">
      <class name="MediaWiki\Extension\CampaignEvents\MediaWikiEventIngress\WorklistPageEventIngress" namespace="global">
        <metrics complexity="35" methods="10" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="116" coveredstatements="112" elements="126" coveredelements="119"/>
      </class>
      <line num="58" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="30"/>
      <line num="69" type="stmt" count="30"/>
      <line num="71" type="method" name="getPageContentModel" visibility="private" complexity="1" crap="1" count="23"/>
      <line num="72" type="stmt" count="23"/>
      <line num="73" type="stmt" count="23"/>
      <line num="82" type="method" name="getEventForWorklistPage" visibility="private" complexity="2" crap="2" count="14"/>
      <line num="83" type="stmt" count="14"/>
      <line num="84" type="stmt" count="14"/>
      <line num="85" type="stmt" count="12"/>
      <line num="87" type="stmt" count="4"/>
      <line num="90" type="method" name="createOrUpdateWorklistFromEvent" visibility="private" complexity="6" crap="6" count="11"/>
      <line num="95" type="stmt" count="11"/>
      <line num="96" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="101" type="stmt" count="10"/>
      <line num="102" type="stmt" count="10"/>
      <line num="103" type="stmt" count="10"/>
      <line num="104" type="stmt" count="10"/>
      <line num="106" type="stmt" count="10"/>
      <line num="107" type="stmt" count="9"/>
      <line num="108" type="stmt" count="9"/>
      <line num="109" type="stmt" count="9"/>
      <line num="110" type="stmt" count="9"/>
      <line num="111" type="stmt" count="9"/>
      <line num="112" type="stmt" count="9"/>
      <line num="113" type="stmt" count="9"/>
      <line num="114" type="stmt" count="9"/>
      <line num="119" type="stmt" count="9"/>
      <line num="120" type="stmt" count="9"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="124" type="stmt" count="2"/>
      <line num="125" type="stmt" count="2"/>
      <line num="126" type="stmt" count="1"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="132" type="stmt" count="0"/>
      <line num="136" type="stmt" count="10"/>
      <line num="137" type="stmt" count="10"/>
      <line num="138" type="stmt" count="10"/>
      <line num="141" type="method" name="deleteWorklistFromPage" visibility="private" complexity="3" crap="3.04" count="4"/>
      <line num="142" type="stmt" count="4"/>
      <line num="143" type="stmt" count="4"/>
      <line num="145" type="stmt" count="4"/>
      <line num="146" type="stmt" count="4"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="4"/>
      <line num="150" type="stmt" count="4"/>
      <line num="151" type="stmt" count="4"/>
      <line num="152" type="stmt" count="0"/>
      <line num="154" type="stmt" count="4"/>
      <line num="155" type="stmt" count="4"/>
      <line num="156" type="stmt" count="4"/>
      <line num="159" type="method" name="handlePageCreatedEvent" visibility="public" complexity="2" crap="2" count="10"/>
      <line num="162" type="stmt" count="10"/>
      <line num="163" type="stmt" count="10"/>
      <line num="164" type="stmt" count="10"/>
      <line num="165" type="stmt" count="2"/>
      <line num="168" type="stmt" count="8"/>
      <line num="171" type="method" name="handlePageDeletedEvent" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="172" type="stmt" count="3"/>
      <line num="173" type="stmt" count="3"/>
      <line num="174" type="stmt" count="1"/>
      <line num="177" type="stmt" count="2"/>
      <line num="180" type="method" name="handlePageMovedEvent" visibility="public" complexity="6" crap="6" count="5"/>
      <line num="181" type="stmt" count="5"/>
      <line num="182" type="stmt" count="5"/>
      <line num="183" type="stmt" count="5"/>
      <line num="184" type="stmt" count="1"/>
      <line num="187" type="stmt" count="4"/>
      <line num="188" type="stmt" count="4"/>
      <line num="189" type="stmt" count="4"/>
      <line num="190" type="stmt" count="4"/>
      <line num="191" type="stmt" count="4"/>
      <line num="192" type="stmt" count="4"/>
      <line num="193" type="stmt" count="4"/>
      <line num="194" type="stmt" count="4"/>
      <line num="200" type="stmt" count="4"/>
      <line num="201" type="stmt" count="4"/>
      <line num="202" type="stmt" count="4"/>
      <line num="203" type="stmt" count="2"/>
      <line num="205" type="stmt" count="2"/>
      <line num="206" type="stmt" count="2"/>
      <line num="207" type="stmt" count="0"/>
      <line num="209" type="stmt" count="2"/>
      <line num="210" type="stmt" count="1"/>
      <line num="212" type="stmt" count="2"/>
      <line num="213" type="stmt" count="1"/>
      <line num="215" type="stmt" count="4"/>
      <line num="218" type="method" name="handlePageLatestRevisionChangedEvent" visibility="public" complexity="4" crap="4" count="10"/>
      <line num="219" type="stmt" count="10"/>
      <line num="220" type="stmt" count="10"/>
      <line num="222" type="stmt" count="6"/>
      <line num="225" type="stmt" count="8"/>
      <line num="226" type="stmt" count="8"/>
      <line num="228" type="stmt" count="8"/>
      <line num="230" type="stmt" count="5"/>
      <line num="231" type="stmt" count="3"/>
      <line num="233" type="stmt" count="2"/>
      <line num="237" type="method" name="handlePageHistoryVisibilityChangedEvent" visibility="public" complexity="8" crap="8" count="10"/>
      <line num="238" type="stmt" count="10"/>
      <line num="239" type="stmt" count="10"/>
      <line num="240" type="stmt" count="10"/>
      <line num="241" type="stmt" count="1"/>
      <line num="244" type="stmt" count="9"/>
      <line num="245" type="stmt" count="9"/>
      <line num="246" type="stmt" count="1"/>
      <line num="248" type="stmt" count="8"/>
      <line num="249" type="stmt" count="8"/>
      <line num="250" type="stmt" count="8"/>
      <line num="252" type="stmt" count="8"/>
      <line num="254" type="stmt" count="3"/>
      <line num="255" type="stmt" count="6"/>
      <line num="258" type="stmt" count="3"/>
      <line num="260" type="stmt" count="3"/>
      <line num="263" type="stmt" count="5"/>
      <line num="264" type="stmt" count="5"/>
      <line num="267" type="stmt" count="3"/>
      <line num="268" type="stmt" count="3"/>
      <line num="270" type="stmt" count="5"/>
      <line num="271" type="stmt" count="5"/>
      <line num="272" type="stmt" count="5"/>
      <line num="273" type="stmt" count="5"/>
      <line num="274" type="stmt" count="5"/>
      <line num="275" type="stmt" count="5"/>
      <metrics loc="278" ncloc="244" classes="1" methods="10" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="116" coveredstatements="112" elements="126" coveredelements="119"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Messaging/CampaignsUserMailer.php">
      <class name="MediaWiki\Extension\CampaignEvents\Messaging\CampaignsUserMailer" namespace="global">
        <metrics complexity="33" methods="7" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="130" coveredstatements="58" elements="137" coveredelements="59"/>
      </class>
      <line num="43" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="66" type="method" name="sendEmail" visibility="public" complexity="12" crap="12.08" count="10"/>
      <line num="74" type="stmt" count="10"/>
      <line num="75" type="stmt" count="10"/>
      <line num="76" type="stmt" count="8"/>
      <line num="79" type="stmt" count="10"/>
      <line num="81" type="stmt" count="10"/>
      <line num="82" type="stmt" count="10"/>
      <line num="83" type="stmt" count="10"/>
      <line num="84" type="stmt" count="10"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" type="stmt" count="10"/>
      <line num="89" type="stmt" count="10"/>
      <line num="90" type="stmt" count="10"/>
      <line num="91" type="stmt" count="10"/>
      <line num="92" type="stmt" count="8"/>
      <line num="93" type="stmt" count="8"/>
      <line num="94" type="stmt" count="0"/>
      <line num="96" type="stmt" count="8"/>
      <line num="97" type="stmt" count="8"/>
      <line num="98" type="stmt" count="0"/>
      <line num="101" type="stmt" count="8"/>
      <line num="102" type="stmt" count="8"/>
      <line num="103" type="stmt" count="8"/>
      <line num="105" type="stmt" count="8"/>
      <line num="109" type="stmt" count="4"/>
      <line num="111" type="stmt" count="6"/>
      <line num="112" type="stmt" count="6"/>
      <line num="116" type="stmt" count="10"/>
      <line num="117" type="stmt" count="3"/>
      <line num="118" type="stmt" count="3"/>
      <line num="119" type="stmt" count="7"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="124" type="stmt" count="2"/>
      <line num="127" type="stmt" count="10"/>
      <line num="129" type="stmt" count="10"/>
      <line num="137" type="method" name="getMessageWithFooter" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="181" type="method" name="createEmailJob" visibility="private" complexity="2" crap="2" count="2"/>
      <line num="187" type="stmt" count="2"/>
      <line num="190" type="stmt" count="2"/>
      <line num="191" type="stmt" count="2"/>
      <line num="192" type="stmt" count="2"/>
      <line num="194" type="stmt" count="2"/>
      <line num="195" type="stmt" count="2"/>
      <line num="196" type="stmt" count="2"/>
      <line num="197" type="stmt" count="2"/>
      <line num="198" type="stmt" count="2"/>
      <line num="199" type="stmt" count="2"/>
      <line num="200" type="stmt" count="2"/>
      <line num="202" type="stmt" count="2"/>
      <line num="203" type="stmt" count="2"/>
      <line num="204" type="stmt" count="2"/>
      <line num="205" type="stmt" count="2"/>
      <line num="215" type="method" name="validateTarget" visibility="public" complexity="9" crap="33.00" count="3"/>
      <line num="216" type="stmt" count="3"/>
      <line num="217" type="stmt" count="1"/>
      <line num="219" type="stmt" count="1"/>
      <line num="222" type="stmt" count="2"/>
      <line num="223" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="266" type="method" name="validateSender" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="287" type="method" name="getFromAndReplyTo" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <metrics loc="329" ncloc="270" classes="1" methods="7" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="130" coveredstatements="58" elements="137" coveredelements="59"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Messaging/EmailUsersJob.php">
      <class name="MediaWiki\Extension\CampaignEvents\Messaging\EmailUsersJob" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="25" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="method" name="run" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <metrics loc="54" ncloc="48" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="25" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Notifications/RegistrationNotificationPresentationModel.php">
      <class name="MediaWiki\Extension\CampaignEvents\Notifications\RegistrationNotificationPresentationModel" namespace="global">
        <metrics complexity="22" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="165" coveredstatements="0" elements="177" coveredelements="0"/>
      </class>
      <line num="46" type="method" name="__construct" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="66" type="method" name="canRender" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="80" type="method" name="getIconType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="87" type="method" name="getSubjectMessage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="95" type="method" name="getHeaderMessage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="125" type="method" name="getBodyMessage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="145" type="method" name="getDatesBodySection" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="181" type="method" name="getTypeBodySection" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="224" type="method" name="gerOrganizersBodySection" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="269" type="method" name="getPrimaryLink" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="279" type="method" name="getSecondaryLinks" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="297" type="method" name="makeLink" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <metrics loc="305" ncloc="272" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="165" coveredstatements="0" elements="177" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Notifications/UserNotifier.php">
      <class name="MediaWiki\Extension\CampaignEvents\Notifications\UserNotifier" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="21" type="method" name="notifyRegistration" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <metrics loc="38" ncloc="38" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Organizers/Organizer.php">
      <class name="MediaWiki\Extension\CampaignEvents\Organizers\Organizer" namespace="global">
        <metrics complexity="6" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="24" type="method" name="getUser" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="31" type="method" name="getRoles" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="35" type="method" name="hasRole" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="method" name="getOrganizerID" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="method" name="getClickwrapAcceptance" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <metrics loc="47" ncloc="38" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Organizers/OrganizersStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Organizers\OrganizersStore" namespace="global">
        <metrics complexity="30" methods="14" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="172" coveredstatements="171" elements="186" coveredelements="184"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="49"/>
      <line num="27" type="stmt" count="49"/>
      <line num="32" type="method" name="getEventOrganizers" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="33" type="stmt" count="3"/>
      <line num="34" type="stmt" count="3"/>
      <line num="35" type="stmt" count="3"/>
      <line num="36" type="stmt" count="3"/>
      <line num="37" type="stmt" count="3"/>
      <line num="38" type="stmt" count="3"/>
      <line num="39" type="stmt" count="1"/>
      <line num="41" type="stmt" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="2"/>
      <line num="56" type="stmt" count="3"/>
      <line num="65" type="method" name="getOrganizersForEvents" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="66" type="stmt" count="6"/>
      <line num="69" type="stmt" count="6"/>
      <line num="70" type="stmt" count="6"/>
      <line num="71" type="stmt" count="6"/>
      <line num="72" type="stmt" count="6"/>
      <line num="73" type="stmt" count="6"/>
      <line num="74" type="stmt" count="6"/>
      <line num="75" type="stmt" count="6"/>
      <line num="76" type="stmt" count="6"/>
      <line num="77" type="stmt" count="6"/>
      <line num="78" type="stmt" count="6"/>
      <line num="79" type="stmt" count="6"/>
      <line num="80" type="stmt" count="6"/>
      <line num="81" type="stmt" count="6"/>
      <line num="82" type="stmt" count="6"/>
      <line num="83" type="stmt" count="6"/>
      <line num="84" type="stmt" count="6"/>
      <line num="85" type="stmt" count="6"/>
      <line num="88" type="stmt" count="6"/>
      <line num="89" type="stmt" count="6"/>
      <line num="90" type="stmt" count="6"/>
      <line num="91" type="stmt" count="6"/>
      <line num="92" type="stmt" count="6"/>
      <line num="93" type="stmt" count="6"/>
      <line num="94" type="stmt" count="6"/>
      <line num="95" type="stmt" count="6"/>
      <line num="96" type="stmt" count="6"/>
      <line num="97" type="stmt" count="6"/>
      <line num="98" type="stmt" count="6"/>
      <line num="99" type="stmt" count="6"/>
      <line num="101" type="stmt" count="6"/>
      <line num="102" type="stmt" count="6"/>
      <line num="103" type="stmt" count="6"/>
      <line num="104" type="stmt" count="6"/>
      <line num="106" type="stmt" count="6"/>
      <line num="115" type="method" name="getEventCreator" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="116" type="stmt" count="6"/>
      <line num="125" type="method" name="getEventCreators" visibility="public" complexity="3" crap="3" count="14"/>
      <line num="126" type="stmt" count="14"/>
      <line num="127" type="stmt" count="14"/>
      <line num="128" type="stmt" count="14"/>
      <line num="129" type="stmt" count="14"/>
      <line num="130" type="stmt" count="14"/>
      <line num="131" type="stmt" count="14"/>
      <line num="133" type="stmt" count="14"/>
      <line num="134" type="stmt" count="7"/>
      <line num="137" type="stmt" count="14"/>
      <line num="138" type="stmt" count="14"/>
      <line num="139" type="stmt" count="14"/>
      <line num="140" type="stmt" count="14"/>
      <line num="141" type="stmt" count="14"/>
      <line num="142" type="stmt" count="14"/>
      <line num="144" type="stmt" count="14"/>
      <line num="145" type="stmt" count="14"/>
      <line num="146" type="stmt" count="11"/>
      <line num="147" type="stmt" count="11"/>
      <line num="150" type="stmt" count="14"/>
      <line num="153" type="method" name="rowToOrganizerObject" visibility="private" complexity="3" crap="3" count="19"/>
      <line num="154" type="stmt" count="19"/>
      <line num="155" type="stmt" count="19"/>
      <line num="156" type="stmt" count="19"/>
      <line num="157" type="stmt" count="19"/>
      <line num="158" type="stmt" count="19"/>
      <line num="162" type="stmt" count="19"/>
      <line num="163" type="stmt" count="19"/>
      <line num="164" type="stmt" count="19"/>
      <line num="165" type="stmt" count="19"/>
      <line num="166" type="stmt" count="19"/>
      <line num="169" type="method" name="isEventOrganizer" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="170" type="stmt" count="4"/>
      <line num="173" type="method" name="getEventOrganizer" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="174" type="stmt" count="4"/>
      <line num="175" type="stmt" count="4"/>
      <line num="176" type="stmt" count="4"/>
      <line num="177" type="stmt" count="4"/>
      <line num="178" type="stmt" count="4"/>
      <line num="179" type="stmt" count="4"/>
      <line num="180" type="stmt" count="4"/>
      <line num="181" type="stmt" count="4"/>
      <line num="182" type="stmt" count="4"/>
      <line num="183" type="stmt" count="4"/>
      <line num="184" type="stmt" count="4"/>
      <line num="186" type="stmt" count="4"/>
      <line num="187" type="stmt" count="2"/>
      <line num="189" type="stmt" count="2"/>
      <line num="195" type="method" name="getOrganizerCountForEvent" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="196" type="stmt" count="3"/>
      <line num="204" type="method" name="getOrganizerCountForEvents" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="205" type="stmt" count="4"/>
      <line num="206" type="stmt" count="4"/>
      <line num="207" type="stmt" count="4"/>
      <line num="208" type="stmt" count="4"/>
      <line num="209" type="stmt" count="4"/>
      <line num="210" type="stmt" count="4"/>
      <line num="211" type="stmt" count="4"/>
      <line num="212" type="stmt" count="4"/>
      <line num="213" type="stmt" count="4"/>
      <line num="214" type="stmt" count="4"/>
      <line num="215" type="stmt" count="4"/>
      <line num="216" type="stmt" count="4"/>
      <line num="217" type="stmt" count="4"/>
      <line num="218" type="stmt" count="3"/>
      <line num="220" type="stmt" count="4"/>
      <line num="223" type="method" name="updateClickwrapAcceptance" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="224" type="stmt" count="2"/>
      <line num="225" type="stmt" count="2"/>
      <line num="226" type="stmt" count="2"/>
      <line num="227" type="stmt" count="2"/>
      <line num="228" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="230" type="stmt" count="2"/>
      <line num="231" type="stmt" count="2"/>
      <line num="232" type="stmt" count="2"/>
      <line num="233" type="stmt" count="2"/>
      <line num="240" type="method" name="addOrganizersToEvent" visibility="public" complexity="7" crap="7" count="6"/>
      <line num="241" type="stmt" count="6"/>
      <line num="242" type="stmt" count="6"/>
      <line num="243" type="stmt" count="6"/>
      <line num="244" type="stmt" count="6"/>
      <line num="245" type="stmt" count="6"/>
      <line num="246" type="stmt" count="6"/>
      <line num="247" type="stmt" count="6"/>
      <line num="248" type="stmt" count="6"/>
      <line num="249" type="stmt" count="6"/>
      <line num="250" type="stmt" count="1"/>
      <line num="252" type="stmt" count="5"/>
      <line num="253" type="stmt" count="1"/>
      <line num="256" type="stmt" count="4"/>
      <line num="259" type="stmt" count="4"/>
      <line num="260" type="stmt" count="4"/>
      <line num="261" type="stmt" count="4"/>
      <line num="262" type="stmt" count="4"/>
      <line num="263" type="stmt" count="4"/>
      <line num="264" type="stmt" count="4"/>
      <line num="265" type="stmt" count="4"/>
      <line num="268" type="stmt" count="4"/>
      <line num="269" type="stmt" count="4"/>
      <line num="270" type="stmt" count="4"/>
      <line num="271" type="stmt" count="4"/>
      <line num="272" type="stmt" count="4"/>
      <line num="273" type="stmt" count="4"/>
      <line num="274" type="stmt" count="4"/>
      <line num="275" type="stmt" count="4"/>
      <line num="276" type="stmt" count="4"/>
      <line num="277" type="stmt" count="4"/>
      <line num="278" type="stmt" count="4"/>
      <line num="286" type="method" name="addOrganizerToEvent" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="287" type="stmt" count="5"/>
      <line num="294" type="method" name="removeOrganizersFromEventExcept" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="295" type="stmt" count="4"/>
      <line num="297" type="stmt" count="4"/>
      <line num="298" type="stmt" count="4"/>
      <line num="299" type="stmt" count="4"/>
      <line num="300" type="stmt" count="4"/>
      <line num="301" type="stmt" count="4"/>
      <line num="302" type="stmt" count="4"/>
      <line num="303" type="stmt" count="4"/>
      <line num="304" type="stmt" count="4"/>
      <line num="305" type="stmt" count="4"/>
      <line num="306" type="stmt" count="4"/>
      <line num="307" type="stmt" count="4"/>
      <line num="308" type="stmt" count="4"/>
      <metrics loc="311" ncloc="265" classes="1" methods="14" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="172" coveredstatements="171" elements="186" coveredelements="184"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Organizers/RoleFormatter.php">
      <class name="MediaWiki\Extension\CampaignEvents\Organizers\RoleFormatter" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="11" coveredelements="11"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="37" type="method" name="getLocalizedName" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="48" type="method" name="getDebugName" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="50" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <metrics loc="55" ncloc="44" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="11" coveredelements="11"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Organizers/Roles.php">
      <class name="MediaWiki\Extension\CampaignEvents\Organizers\Roles" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="19" ncloc="13" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/EventContributionsEditorsPager.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\EventContributionsEditorsPager" namespace="global">
        <metrics complexity="13" methods="12" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="24" elements="48" coveredelements="33"/>
      </class>
      <line num="52" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="78" type="method" name="setExtraQuery" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="86" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="93" type="method" name="preprocessResults" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="97" type="method" name="getFieldNames" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="98" type="stmt" count="4"/>
      <line num="99" type="stmt" count="4"/>
      <line num="100" type="stmt" count="4"/>
      <line num="101" type="stmt" count="4"/>
      <line num="102" type="stmt" count="4"/>
      <line num="103" type="stmt" count="4"/>
      <line num="104" type="stmt" count="4"/>
      <line num="111" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="112" type="stmt" count="4"/>
      <line num="113" type="stmt" count="4"/>
      <line num="114" type="stmt" count="4"/>
      <line num="117" type="method" name="indexUsesAggregate" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="121" type="method" name="adjustQueryStringOffsets" visibility="protected" complexity="2" crap="2" count="4"/>
      <line num="122" type="stmt" count="4"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="131" type="method" name="isFieldSortable" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="138" type="method" name="formatValue" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="154" type="method" name="getDefaultSort" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="155" type="stmt" count="3"/>
      <line num="163" type="method" name="getDefaultQuery" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <metrics loc="167" ncloc="134" classes="1" methods="12" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="24" elements="48" coveredelements="33"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/EventContributionsEditsPager.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\EventContributionsEditsPager" namespace="global">
        <metrics complexity="34" methods="19" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="120" coveredstatements="47" elements="139" coveredelements="54"/>
      </class>
      <line num="61" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="75" type="stmt" count="4"/>
      <line num="76" type="stmt" count="4"/>
      <line num="77" type="stmt" count="4"/>
      <line num="78" type="stmt" count="4"/>
      <line num="79" type="stmt" count="4"/>
      <line num="80" type="stmt" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="91" type="method" name="setExtraQuery" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="99" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="100" type="stmt" count="4"/>
      <line num="101" type="stmt" count="4"/>
      <line num="102" type="stmt" count="4"/>
      <line num="108" type="method" name="isFieldSortable" visibility="protected" complexity="1" crap="1" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="115" type="method" name="getDefaultSort" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="120" type="method" name="getDefaultDirections" visibility="protected" complexity="2" crap="2" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="128" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="129" type="stmt" count="4"/>
      <line num="135" type="method" name="preprocessResults" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="136" type="stmt" count="4"/>
      <line num="137" type="stmt" count="4"/>
      <line num="138" type="stmt" count="4"/>
      <line num="141" type="method" name="computeDeletePermissionState" visibility="private" complexity="6" crap="6.06" count="4"/>
      <line num="144" type="stmt" count="4"/>
      <line num="145" type="stmt" count="4"/>
      <line num="146" type="stmt" count="4"/>
      <line num="147" type="stmt" count="4"/>
      <line num="148" type="stmt" count="4"/>
      <line num="150" type="stmt" count="4"/>
      <line num="152" type="stmt" count="4"/>
      <line num="153" type="stmt" count="4"/>
      <line num="154" type="stmt" count="4"/>
      <line num="155" type="stmt" count="4"/>
      <line num="156" type="stmt" count="4"/>
      <line num="160" type="stmt" count="4"/>
      <line num="162" type="stmt" count="4"/>
      <line num="163" type="stmt" count="4"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="170" type="stmt" count="4"/>
      <line num="176" type="method" name="cacheTitlesAndContributions" visibility="public" complexity="3" crap="3.14" count="4"/>
      <line num="177" type="stmt" count="4"/>
      <line num="178" type="stmt" count="4"/>
      <line num="180" type="stmt" count="4"/>
      <line num="182" type="stmt" count="4"/>
      <line num="184" type="stmt" count="4"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="190" type="stmt" count="4"/>
      <line num="196" type="method" name="formatValue" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="212" type="method" name="getFieldNames" visibility="protected" complexity="2" crap="2.00" count="4"/>
      <line num="213" type="stmt" count="4"/>
      <line num="214" type="stmt" count="4"/>
      <line num="215" type="stmt" count="4"/>
      <line num="216" type="stmt" count="4"/>
      <line num="217" type="stmt" count="4"/>
      <line num="218" type="stmt" count="4"/>
      <line num="219" type="stmt" count="4"/>
      <line num="222" type="stmt" count="4"/>
      <line num="223" type="stmt" count="0"/>
      <line num="226" type="stmt" count="4"/>
      <line num="232" type="method" name="formatArticle" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="258" type="method" name="formatWiki" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="270" type="method" name="formatTimestamp" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="295" type="method" name="formatBytes" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="304" type="method" name="formatActions" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="331" type="method" name="getDefaultQuery" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="335" type="method" name="shouldShowVisibleCaption" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <metrics loc="339" ncloc="270" classes="1" methods="19" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="120" coveredstatements="47" elements="139" coveredelements="54"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/EventContributionsPagerFactory.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\EventContributionsPagerFactory" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="28" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="37" type="method" name="newEditsPager" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="method" name="newEditorsPager" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <metrics loc="75" ncloc="72" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="28" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/EventContributionsPagerTrait.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\EventContributionsPagerTrait" namespace="global">
        <metrics complexity="10" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="28" elements="58" coveredelements="29"/>
      </class>
      <line num="33" type="method" name="preloadUserData" visibility="protected" complexity="5" crap="5" count="8"/>
      <line num="34" type="stmt" count="8"/>
      <line num="35" type="stmt" count="8"/>
      <line num="37" type="stmt" count="8"/>
      <line num="42" type="stmt" count="8"/>
      <line num="43" type="stmt" count="8"/>
      <line num="44" type="stmt" count="8"/>
      <line num="45" type="stmt" count="8"/>
      <line num="46" type="stmt" count="8"/>
      <line num="47" type="stmt" count="8"/>
      <line num="49" type="stmt" count="8"/>
      <line num="54" type="stmt" count="8"/>
      <line num="57" type="stmt" count="8"/>
      <line num="58" type="stmt" count="8"/>
      <line num="59" type="stmt" count="8"/>
      <line num="60" type="stmt" count="8"/>
      <line num="61" type="stmt" count="8"/>
      <line num="65" type="stmt" count="8"/>
      <line num="66" type="stmt" count="8"/>
      <line num="73" type="method" name="formatUsername" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="108" type="method" name="addPrivateParticipantConds" visibility="private" complexity="3" crap="3.33" count="8"/>
      <line num="109" type="stmt" count="8"/>
      <line num="110" type="stmt" count="8"/>
      <line num="111" type="stmt" count="8"/>
      <line num="112" type="stmt" count="8"/>
      <line num="113" type="stmt" count="8"/>
      <line num="114" type="stmt" count="0"/>
      <line num="118" type="stmt" count="8"/>
      <line num="119" type="stmt" count="8"/>
      <line num="120" type="stmt" count="8"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="8"/>
      <line num="128" type="stmt" count="8"/>
      <metrics loc="132" ncloc="101" classes="1" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="28" elements="58" coveredelements="29"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/EventPagerTrait.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\EventPagerTrait" namespace="global">
        <metrics complexity="10" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="94" coveredstatements="0" elements="99" coveredelements="0"/>
      </class>
      <line num="36" type="method" name="getSubqueryInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="101" type="method" name="getQueryInfo" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="130" type="method" name="preprocessResults" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="154" type="method" name="doExtraPreprocessing" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="method" name="getEventPageFromRow" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <metrics loc="172" ncloc="134" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="94" coveredstatements="0" elements="99" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/EventsListPager.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\EventsListPager" namespace="global">
        <metrics complexity="67" methods="22" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="330" coveredstatements="35" elements="352" coveredelements="36"/>
      </class>
      <line num="98" type="method" name="__construct" visibility="public" complexity="5" crap="5" count="18"/>
      <line num="124" type="stmt" count="18"/>
      <line num="125" type="stmt" count="18"/>
      <line num="127" type="stmt" count="18"/>
      <line num="128" type="stmt" count="18"/>
      <line num="129" type="stmt" count="18"/>
      <line num="130" type="stmt" count="18"/>
      <line num="131" type="stmt" count="18"/>
      <line num="132" type="stmt" count="18"/>
      <line num="133" type="stmt" count="18"/>
      <line num="134" type="stmt" count="18"/>
      <line num="135" type="stmt" count="18"/>
      <line num="136" type="stmt" count="18"/>
      <line num="137" type="stmt" count="18"/>
      <line num="138" type="stmt" count="18"/>
      <line num="140" type="stmt" count="18"/>
      <line num="141" type="stmt" count="18"/>
      <line num="142" type="stmt" count="18"/>
      <line num="143" type="stmt" count="18"/>
      <line num="144" type="stmt" count="18"/>
      <line num="145" type="stmt" count="18"/>
      <line num="146" type="stmt" count="18"/>
      <line num="147" type="stmt" count="16"/>
      <line num="148" type="stmt" count="16"/>
      <line num="149" type="stmt" count="16"/>
      <line num="150" type="stmt" count="16"/>
      <line num="151" type="stmt" count="16"/>
      <line num="152" type="stmt" count="16"/>
      <line num="153" type="stmt" count="14"/>
      <line num="155" type="stmt" count="14"/>
      <line num="156" type="stmt" count="14"/>
      <line num="157" type="stmt" count="14"/>
      <line num="158" type="stmt" count="14"/>
      <line num="159" type="stmt" count="14"/>
      <line num="160" type="stmt" count="14"/>
      <line num="161" type="stmt" count="14"/>
      <line num="169" type="method" name="getEventTypesFilter" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="200" type="method" name="doExtraPreprocessing" visibility="protected" complexity="6" crap="42" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="236" type="method" name="getRow" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="254" type="method" name="isHeaderRowNeeded" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="268" type="method" name="formatRow" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="341" type="method" name="getOrganizersText" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="383" type="method" name="getIndexField" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="387" type="method" name="getNavigationBar" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="407" type="method" name="getParticipationOptionsMsg" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="420" type="method" name="getYearFromTimestamp" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="425" type="method" name="getMonthHeader" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="432" type="method" name="getDayFromTimestamp" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="437" type="method" name="offsetTimestamp" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="447" type="method" name="getSubqueryInfo" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="494" type="stmt" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="510" type="method" name="buildQueryInfo" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="513" type="stmt" count="0"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="518" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="526" type="method" name="getDateRangeCond" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="530" type="stmt" count="0"/>
      <line num="533" type="stmt" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="546" type="stmt" count="0"/>
      <line num="549" type="method" name="getWikiList" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="551" type="stmt" count="0"/>
      <line num="552" type="stmt" count="0"/>
      <line num="555" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="560" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="562" type="stmt" count="0"/>
      <line num="563" type="stmt" count="0"/>
      <line num="565" type="stmt" count="0"/>
      <line num="572" type="method" name="getWikiListWidget" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="574" type="stmt" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="576" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="578" type="stmt" count="0"/>
      <line num="579" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="585" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="595" type="stmt" count="0"/>
      <line num="598" type="method" name="getTopicList" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="599" type="stmt" count="0"/>
      <line num="600" type="stmt" count="0"/>
      <line num="601" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="605" type="stmt" count="0"/>
      <line num="606" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="610" type="stmt" count="0"/>
      <line num="611" type="stmt" count="0"/>
      <line num="612" type="stmt" count="0"/>
      <line num="613" type="stmt" count="0"/>
      <line num="614" type="stmt" count="0"/>
      <line num="618" type="method" name="getTypesList" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="620" type="stmt" count="0"/>
      <line num="621" type="stmt" count="0"/>
      <line num="622" type="stmt" count="0"/>
      <line num="623" type="stmt" count="0"/>
      <line num="625" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="632" type="method" name="getCountryName" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="633" type="stmt" count="0"/>
      <line num="634" type="stmt" count="0"/>
      <line num="635" type="stmt" count="0"/>
      <line num="638" type="stmt" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <metrics loc="644" ncloc="581" classes="1" methods="22" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="330" coveredstatements="35" elements="352" coveredelements="36"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/EventsPagerFactory.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\EventsPagerFactory" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="0" elements="65" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="51" type="method" name="newTablePager" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="76" type="method" name="newListPager" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="121" type="method" name="newOngoingListPager" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <metrics loc="158" ncloc="141" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="0" elements="65" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/EventsTablePager.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\EventsTablePager" namespace="global">
        <metrics complexity="27" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="88" coveredstatements="0" elements="99" coveredelements="0"/>
      </class>
      <line num="54" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="73" type="method" name="formatValue" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="133" type="method" name="getFieldNames" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="149" type="method" name="getIndexField" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="158" type="method" name="getDefaultSort" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="166" type="method" name="isFieldSortable" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="173" type="method" name="getTableClass" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="183" type="method" name="getCellAttrs" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="199" type="method" name="getModuleStyles" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="212" type="method" name="getModules" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="220" type="method" name="getSubqueryInfo" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <metrics loc="240" ncloc="180" classes="1" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="88" coveredstatements="0" elements="99" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/InvitationsListPager.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\InvitationsListPager" namespace="global">
        <metrics complexity="10" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="57" coveredstatements="0" elements="64" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="40" type="method" name="formatRow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="60" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="72" type="method" name="getIndexField" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="80" type="method" name="getEmptyBody" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="99" type="method" name="getStartBody" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="method" name="getInfoChip" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <metrics loc="131" ncloc="113" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="57" coveredstatements="0" elements="64" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/OngoingEventsListPager.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\OngoingEventsListPager" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="38" elements="40" coveredelements="40"/>
      </class>
      <line num="35" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="60" type="stmt" count="10"/>
      <line num="61" type="stmt" count="10"/>
      <line num="62" type="stmt" count="10"/>
      <line num="63" type="stmt" count="10"/>
      <line num="64" type="stmt" count="10"/>
      <line num="65" type="stmt" count="10"/>
      <line num="66" type="stmt" count="10"/>
      <line num="67" type="stmt" count="10"/>
      <line num="68" type="stmt" count="10"/>
      <line num="69" type="stmt" count="10"/>
      <line num="70" type="stmt" count="10"/>
      <line num="71" type="stmt" count="10"/>
      <line num="72" type="stmt" count="10"/>
      <line num="73" type="stmt" count="10"/>
      <line num="74" type="stmt" count="10"/>
      <line num="75" type="stmt" count="10"/>
      <line num="76" type="stmt" count="10"/>
      <line num="77" type="stmt" count="10"/>
      <line num="78" type="stmt" count="10"/>
      <line num="79" type="stmt" count="10"/>
      <line num="80" type="stmt" count="10"/>
      <line num="81" type="stmt" count="10"/>
      <line num="82" type="stmt" count="10"/>
      <line num="83" type="stmt" count="10"/>
      <line num="84" type="stmt" count="10"/>
      <line num="90" type="method" name="buildQueryInfo" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="91" type="stmt" count="10"/>
      <line num="92" type="stmt" count="10"/>
      <line num="93" type="stmt" count="10"/>
      <line num="94" type="stmt" count="10"/>
      <line num="95" type="stmt" count="10"/>
      <line num="96" type="stmt" count="10"/>
      <line num="97" type="stmt" count="10"/>
      <line num="98" type="stmt" count="10"/>
      <line num="100" type="stmt" count="10"/>
      <line num="102" type="stmt" count="10"/>
      <line num="103" type="stmt" count="10"/>
      <line num="104" type="stmt" count="10"/>
      <line num="106" type="stmt" count="10"/>
      <metrics loc="109" ncloc="98" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="38" elements="40" coveredelements="40"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/WorklistPagesPager.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\WorklistPagesPager" namespace="global">
        <metrics complexity="26" methods="18" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="39" elements="97" coveredelements="46"/>
      </class>
      <line num="47" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="59" type="stmt" count="4"/>
      <line num="60" type="stmt" count="4"/>
      <line num="61" type="stmt" count="4"/>
      <line num="62" type="stmt" count="4"/>
      <line num="63" type="stmt" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="74" type="method" name="setExtraQuery" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="82" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="83" type="stmt" count="2"/>
      <line num="87" type="method" name="isFieldSortable" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="92" type="method" name="getDefaultSort" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="93" type="stmt" count="4"/>
      <line num="97" type="method" name="getDefaultDirections" visibility="protected" complexity="2" crap="2" count="4"/>
      <line num="98" type="stmt" count="4"/>
      <line num="105" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="106" type="stmt" count="4"/>
      <line num="112" type="method" name="preprocessResults" visibility="public" complexity="3" crap="3.14" count="2"/>
      <line num="113" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="116" type="stmt" count="2"/>
      <line num="118" type="stmt" count="2"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="124" type="stmt" count="2"/>
      <line num="126" type="stmt" count="2"/>
      <line num="138" type="method" name="canRemoveArticles" visibility="private" complexity="3" crap="3" count="4"/>
      <line num="139" type="stmt" count="4"/>
      <line num="140" type="stmt" count="4"/>
      <line num="141" type="stmt" count="4"/>
      <line num="142" type="stmt" count="4"/>
      <line num="143" type="stmt" count="4"/>
      <line num="147" type="method" name="formatValue" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="159" type="method" name="getFieldNames" visibility="protected" complexity="2" crap="2" count="4"/>
      <line num="160" type="stmt" count="4"/>
      <line num="161" type="stmt" count="4"/>
      <line num="162" type="stmt" count="4"/>
      <line num="163" type="stmt" count="4"/>
      <line num="164" type="stmt" count="4"/>
      <line num="168" type="stmt" count="4"/>
      <line num="169" type="stmt" count="2"/>
      <line num="172" type="stmt" count="4"/>
      <line num="176" type="method" name="getEmptyBody" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="188" type="method" name="formatPage" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="198" type="method" name="formatWiki" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="207" type="method" name="formatTimestamp" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="219" type="method" name="formatActions" visibility="private" complexity="2" crap="2.00" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="221" type="stmt" count="0"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="226" type="stmt" count="1"/>
      <line num="227" type="stmt" count="1"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="238" type="method" name="getDefaultQuery" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="247" type="method" name="shouldShowVisibleCaption" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <metrics loc="251" ncloc="192" classes="1" methods="18" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="39" elements="97" coveredelements="46"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Pager/WorklistPagesPagerFactory.php">
      <class name="MediaWiki\Extension\CampaignEvents\Pager\WorklistPagesPagerFactory" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="0" elements="19" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="32" type="method" name="newPager" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <metrics loc="61" ncloc="54" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="0" elements="19" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Participants/Participant.php">
      <class name="MediaWiki\Extension\CampaignEvents\Participants\Participant" namespace="global">
        <metrics complexity="10" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="20" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="33" type="method" name="getUser" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="40" type="method" name="getRegisteredAt" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="47" type="method" name="getParticipantID" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="54" type="method" name="isPrivateRegistration" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="61" type="method" name="getAnswers" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="68" type="method" name="getFirstAnswerTimestamp" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="75" type="method" name="getAggregationTimestamp" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="79" type="method" name="shouldHideContributionAssociationPrompt" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="method" name="shouldShowContributionAssociationPrompt" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <metrics loc="87" ncloc="59" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="20" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Participants/ParticipantsStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Participants\ParticipantsStore" namespace="global">
        <metrics complexity="48" methods="11" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="213" coveredstatements="206" elements="224" coveredelements="214"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="47"/>
      <line num="35" type="stmt" count="47"/>
      <line num="45" type="method" name="addParticipantToEvent" visibility="public" complexity="9" crap="9" count="15"/>
      <line num="52" type="stmt" count="15"/>
      <line num="54" type="stmt" count="15"/>
      <line num="55" type="stmt" count="15"/>
      <line num="56" type="stmt" count="15"/>
      <line num="57" type="stmt" count="15"/>
      <line num="58" type="stmt" count="15"/>
      <line num="59" type="stmt" count="15"/>
      <line num="60" type="stmt" count="15"/>
      <line num="61" type="stmt" count="15"/>
      <line num="62" type="stmt" count="15"/>
      <line num="63" type="stmt" count="15"/>
      <line num="64" type="stmt" count="15"/>
      <line num="65" type="stmt" count="15"/>
      <line num="66" type="stmt" count="15"/>
      <line num="67" type="stmt" count="15"/>
      <line num="68" type="stmt" count="15"/>
      <line num="70" type="stmt" count="15"/>
      <line num="71" type="stmt" count="15"/>
      <line num="72" type="stmt" count="15"/>
      <line num="73" type="stmt" count="15"/>
      <line num="74" type="stmt" count="15"/>
      <line num="75" type="stmt" count="15"/>
      <line num="76" type="stmt" count="15"/>
      <line num="77" type="stmt" count="15"/>
      <line num="78" type="stmt" count="15"/>
      <line num="79" type="stmt" count="15"/>
      <line num="81" type="stmt" count="15"/>
      <line num="83" type="stmt" count="4"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="12"/>
      <line num="92" type="stmt" count="5"/>
      <line num="93" type="stmt" count="5"/>
      <line num="94" type="stmt" count="5"/>
      <line num="95" type="stmt" count="5"/>
      <line num="96" type="stmt" count="5"/>
      <line num="97" type="stmt" count="5"/>
      <line num="98" type="stmt" count="5"/>
      <line num="102" type="stmt" count="8"/>
      <line num="103" type="stmt" count="6"/>
      <line num="106" type="stmt" count="8"/>
      <line num="107" type="stmt" count="8"/>
      <line num="108" type="stmt" count="8"/>
      <line num="109" type="stmt" count="8"/>
      <line num="110" type="stmt" count="8"/>
      <line num="112" type="stmt" count="8"/>
      <line num="113" type="stmt" count="8"/>
      <line num="115" type="stmt" count="8"/>
      <line num="116" type="stmt" count="8"/>
      <line num="117" type="stmt" count="8"/>
      <line num="118" type="stmt" count="8"/>
      <line num="119" type="stmt" count="8"/>
      <line num="120" type="stmt" count="8"/>
      <line num="121" type="stmt" count="8"/>
      <line num="122" type="stmt" count="6"/>
      <line num="123" type="stmt" count="6"/>
      <line num="124" type="stmt" count="6"/>
      <line num="125" type="stmt" count="6"/>
      <line num="126" type="stmt" count="6"/>
      <line num="127" type="stmt" count="6"/>
      <line num="128" type="stmt" count="6"/>
      <line num="130" type="stmt" count="3"/>
      <line num="134" type="stmt" count="15"/>
      <line num="135" type="stmt" count="15"/>
      <line num="136" type="stmt" count="0"/>
      <line num="138" type="stmt" count="15"/>
      <line num="139" type="stmt" count="15"/>
      <line num="146" type="method" name="removeParticipantFromEvent" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="147" type="stmt" count="4"/>
      <line num="148" type="stmt" count="4"/>
      <line num="159" type="method" name="removeParticipantsFromEvent" visibility="public" complexity="7" crap="7" count="5"/>
      <line num="164" type="stmt" count="5"/>
      <line num="165" type="stmt" count="1"/>
      <line num="168" type="stmt" count="4"/>
      <line num="169" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="174" type="stmt" count="3"/>
      <line num="176" type="stmt" count="3"/>
      <line num="177" type="stmt" count="3"/>
      <line num="178" type="stmt" count="3"/>
      <line num="179" type="stmt" count="3"/>
      <line num="180" type="stmt" count="3"/>
      <line num="181" type="stmt" count="2"/>
      <line num="182" type="stmt" count="2"/>
      <line num="183" type="stmt" count="2"/>
      <line num="184" type="stmt" count="2"/>
      <line num="185" type="stmt" count="2"/>
      <line num="187" type="stmt" count="0"/>
      <line num="191" type="stmt" count="3"/>
      <line num="192" type="stmt" count="3"/>
      <line num="193" type="stmt" count="3"/>
      <line num="194" type="stmt" count="3"/>
      <line num="195" type="stmt" count="3"/>
      <line num="196" type="stmt" count="3"/>
      <line num="197" type="stmt" count="3"/>
      <line num="198" type="stmt" count="3"/>
      <line num="200" type="stmt" count="3"/>
      <line num="201" type="stmt" count="3"/>
      <line num="203" type="stmt" count="3"/>
      <line num="204" type="stmt" count="3"/>
      <line num="206" type="stmt" count="3"/>
      <line num="208" type="stmt" count="3"/>
      <line num="224" type="method" name="getEventParticipants" visibility="public" complexity="20" crap="20.34" count="9"/>
      <line num="234" type="stmt" count="9"/>
      <line num="235" type="stmt" count="2"/>
      <line num="237" type="stmt" count="9"/>
      <line num="238" type="stmt" count="0"/>
      <line num="241" type="stmt" count="9"/>
      <line num="242" type="stmt" count="0"/>
      <line num="244" type="stmt" count="9"/>
      <line num="247" type="stmt" count="9"/>
      <line num="248" type="stmt" count="9"/>
      <line num="249" type="stmt" count="9"/>
      <line num="250" type="stmt" count="9"/>
      <line num="251" type="stmt" count="9"/>
      <line num="252" type="stmt" count="3"/>
      <line num="254" type="stmt" count="9"/>
      <line num="255" type="stmt" count="4"/>
      <line num="257" type="stmt" count="9"/>
      <line num="258" type="stmt" count="2"/>
      <line num="260" type="stmt" count="9"/>
      <line num="261" type="stmt" count="0"/>
      <line num="263" type="stmt" count="9"/>
      <line num="264" type="stmt" count="9"/>
      <line num="269" type="stmt" count="9"/>
      <line num="270" type="stmt" count="4"/>
      <line num="273" type="stmt" count="9"/>
      <line num="275" type="stmt" count="9"/>
      <line num="276" type="stmt" count="9"/>
      <line num="277" type="stmt" count="9"/>
      <line num="278" type="stmt" count="7"/>
      <line num="279" type="stmt" count="7"/>
      <line num="280" type="stmt" count="7"/>
      <line num="283" type="stmt" count="9"/>
      <line num="284" type="stmt" count="9"/>
      <line num="286" type="stmt" count="9"/>
      <line num="287" type="stmt" count="9"/>
      <line num="288" type="stmt" count="9"/>
      <line num="289" type="stmt" count="7"/>
      <line num="290" type="stmt" count="0"/>
      <line num="292" type="stmt" count="7"/>
      <line num="294" type="stmt" count="7"/>
      <line num="295" type="stmt" count="7"/>
      <line num="297" type="stmt" count="0"/>
      <line num="299" type="stmt" count="7"/>
      <line num="300" type="stmt" count="7"/>
      <line num="301" type="stmt" count="7"/>
      <line num="302" type="stmt" count="7"/>
      <line num="303" type="stmt" count="7"/>
      <line num="304" type="stmt" count="7"/>
      <line num="305" type="stmt" count="7"/>
      <line num="306" type="stmt" count="7"/>
      <line num="307" type="stmt" count="7"/>
      <line num="308" type="stmt" count="7"/>
      <line num="309" type="stmt" count="7"/>
      <line num="312" type="stmt" count="9"/>
      <line num="319" type="method" name="getEventParticipant" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="324" type="stmt" count="5"/>
      <line num="325" type="stmt" count="5"/>
      <line num="326" type="stmt" count="5"/>
      <line num="327" type="stmt" count="5"/>
      <line num="328" type="stmt" count="5"/>
      <line num="329" type="stmt" count="5"/>
      <line num="330" type="stmt" count="5"/>
      <line num="331" type="stmt" count="1"/>
      <line num="333" type="stmt" count="5"/>
      <line num="334" type="stmt" count="5"/>
      <line num="335" type="stmt" count="5"/>
      <line num="336" type="stmt" count="5"/>
      <line num="337" type="stmt" count="5"/>
      <line num="338" type="stmt" count="5"/>
      <line num="340" type="stmt" count="5"/>
      <line num="341" type="stmt" count="3"/>
      <line num="344" type="stmt" count="2"/>
      <line num="345" type="stmt" count="2"/>
      <line num="346" type="stmt" count="2"/>
      <line num="347" type="stmt" count="2"/>
      <line num="348" type="stmt" count="2"/>
      <line num="349" type="stmt" count="2"/>
      <line num="350" type="stmt" count="2"/>
      <line num="351" type="stmt" count="2"/>
      <line num="352" type="stmt" count="2"/>
      <line num="353" type="stmt" count="2"/>
      <line num="354" type="stmt" count="2"/>
      <line num="361" type="method" name="userHasAggregatedAnswers" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="362" type="stmt" count="5"/>
      <line num="363" type="stmt" count="5"/>
      <line num="364" type="stmt" count="5"/>
      <line num="365" type="stmt" count="5"/>
      <line num="366" type="stmt" count="5"/>
      <line num="367" type="stmt" count="5"/>
      <line num="368" type="stmt" count="5"/>
      <line num="369" type="stmt" count="5"/>
      <line num="370" type="stmt" count="5"/>
      <line num="371" type="stmt" count="5"/>
      <line num="372" type="stmt" count="5"/>
      <line num="378" type="method" name="getParticipantCountForEvent" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="379" type="stmt" count="4"/>
      <line num="380" type="stmt" count="4"/>
      <line num="381" type="stmt" count="4"/>
      <line num="382" type="stmt" count="4"/>
      <line num="383" type="stmt" count="4"/>
      <line num="384" type="stmt" count="4"/>
      <line num="385" type="stmt" count="2"/>
      <line num="387" type="stmt" count="4"/>
      <line num="388" type="stmt" count="4"/>
      <line num="389" type="stmt" count="4"/>
      <line num="390" type="stmt" count="4"/>
      <line num="391" type="stmt" count="4"/>
      <line num="392" type="stmt" count="4"/>
      <line num="394" type="stmt" count="4"/>
      <line num="397" type="method" name="getFullParticipantCountForEvent" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="398" type="stmt" count="2"/>
      <line num="401" type="method" name="getPrivateParticipantCountForEvent" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="402" type="stmt" count="2"/>
      <line num="409" type="method" name="userParticipatesInEvent" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="410" type="stmt" count="1"/>
      <metrics loc="413" ncloc="347" classes="1" methods="11" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="213" coveredstatements="206" elements="224" coveredelements="214"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Participants/RegisterParticipantCommand.php">
      <class name="MediaWiki\Extension\CampaignEvents\Participants\RegisterParticipantCommand" namespace="global">
        <metrics complexity="20" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="59" elements="64" coveredelements="64"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="24"/>
      <line num="46" type="stmt" count="24"/>
      <line num="59" type="method" name="registerIfAllowed" visibility="public" complexity="2" crap="2" count="12"/>
      <line num="66" type="stmt" count="12"/>
      <line num="67" type="stmt" count="12"/>
      <line num="68" type="stmt" count="1"/>
      <line num="70" type="stmt" count="11"/>
      <line num="73" type="method" name="authorizeRegistration" visibility="private" complexity="2" crap="2" count="12"/>
      <line num="77" type="stmt" count="12"/>
      <line num="78" type="stmt" count="1"/>
      <line num="80" type="stmt" count="11"/>
      <line num="89" type="method" name="checkIsRegistrationAllowed" visibility="public" complexity="5" crap="5" count="30"/>
      <line num="93" type="stmt" count="30"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="97" type="stmt" count="27"/>
      <line num="100" type="stmt" count="23"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="104" type="stmt" count="21"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="109" type="stmt" count="23"/>
      <line num="120" type="method" name="registerUnsafe" visibility="public" complexity="10" crap="10" count="23"/>
      <line num="128" type="stmt" count="23"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="133" type="stmt" count="22"/>
      <line num="134" type="stmt" count="22"/>
      <line num="135" type="stmt" count="22"/>
      <line num="136" type="stmt" count="22"/>
      <line num="137" type="stmt" count="22"/>
      <line num="138" type="stmt" count="22"/>
      <line num="140" type="stmt" count="22"/>
      <line num="141" type="stmt" count="22"/>
      <line num="142" type="stmt" count="3"/>
      <line num="144" type="stmt" count="19"/>
      <line num="145" type="stmt" count="2"/>
      <line num="148" type="stmt" count="17"/>
      <line num="149" type="stmt" count="17"/>
      <line num="150" type="stmt" count="17"/>
      <line num="151" type="stmt" count="17"/>
      <line num="152" type="stmt" count="17"/>
      <line num="153" type="stmt" count="17"/>
      <line num="154" type="stmt" count="1"/>
      <line num="157" type="stmt" count="16"/>
      <line num="158" type="stmt" count="16"/>
      <line num="159" type="stmt" count="16"/>
      <line num="160" type="stmt" count="16"/>
      <line num="161" type="stmt" count="16"/>
      <line num="162" type="stmt" count="16"/>
      <line num="163" type="stmt" count="16"/>
      <line num="164" type="stmt" count="16"/>
      <line num="166" type="stmt" count="16"/>
      <line num="167" type="stmt" count="8"/>
      <line num="168" type="stmt" count="8"/>
      <line num="170" type="stmt" count="8"/>
      <line num="171" type="stmt" count="8"/>
      <line num="172" type="stmt" count="8"/>
      <line num="173" type="stmt" count="8"/>
      <line num="174" type="stmt" count="8"/>
      <line num="176" type="stmt" count="8"/>
      <line num="180" type="stmt" count="4"/>
      <line num="184" type="stmt" count="16"/>
      <metrics loc="187" ncloc="156" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="59" elements="64" coveredelements="64"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Participants/UnregisterParticipantCommand.php">
      <class name="MediaWiki\Extension\CampaignEvents\Participants\UnregisterParticipantCommand" namespace="global">
        <metrics complexity="21" methods="8" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="67" coveredstatements="60" elements="75" coveredelements="66"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="33" type="stmt" count="15"/>
      <line num="40" type="method" name="unregisterIfAllowed" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="44" type="stmt" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="46" type="stmt" count="1"/>
      <line num="48" type="stmt" count="3"/>
      <line num="51" type="method" name="authorizeUnregistration" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="1"/>
      <line num="55" type="stmt" count="2"/>
      <line num="61" type="method" name="checkIsUnregistrationAllowed" visibility="public" complexity="3" crap="3.04" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="1"/>
      <line num="71" type="stmt" count="2"/>
      <line num="74" type="method" name="unregisterUnsafe" visibility="public" complexity="5" crap="5" count="9"/>
      <line num="78" type="stmt" count="9"/>
      <line num="79" type="stmt" count="9"/>
      <line num="80" type="stmt" count="1"/>
      <line num="84" type="stmt" count="8"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="89" type="stmt" count="7"/>
      <line num="90" type="stmt" count="7"/>
      <line num="91" type="stmt" count="7"/>
      <line num="92" type="stmt" count="7"/>
      <line num="93" type="stmt" count="7"/>
      <line num="94" type="stmt" count="7"/>
      <line num="95" type="stmt" count="1"/>
      <line num="98" type="stmt" count="6"/>
      <line num="100" type="stmt" count="6"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="109" type="stmt" count="6"/>
      <line num="120" type="method" name="removeParticipantsIfAllowed" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="126" type="stmt" count="4"/>
      <line num="127" type="stmt" count="4"/>
      <line num="128" type="stmt" count="1"/>
      <line num="131" type="stmt" count="3"/>
      <line num="134" type="method" name="authorizeRemoveParticipants" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="138" type="stmt" count="4"/>
      <line num="139" type="stmt" count="1"/>
      <line num="141" type="stmt" count="3"/>
      <line num="151" type="method" name="removeParticipantsUnsafe" visibility="public" complexity="4" crap="4.25" count="4"/>
      <line num="156" type="stmt" count="4"/>
      <line num="158" type="stmt" count="4"/>
      <line num="159" type="stmt" count="1"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="165" type="stmt" count="3"/>
      <line num="166" type="stmt" count="3"/>
      <line num="167" type="stmt" count="3"/>
      <line num="168" type="stmt" count="1"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="187" type="stmt" count="2"/>
      <metrics loc="190" ncloc="167" classes="1" methods="8" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="67" coveredstatements="60" elements="75" coveredelements="66"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Permissions/PermissionChecker.php">
      <class name="MediaWiki\Extension\CampaignEvents\Permissions\PermissionChecker" namespace="global">
        <metrics complexity="52" methods="20" coveredmethods="16" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="65" elements="94" coveredelements="81"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="147"/>
      <line num="36" type="stmt" count="147"/>
      <line num="42" type="method" name="userCanEnableRegistrations" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="43" type="stmt" count="5"/>
      <line num="44" type="stmt" count="5"/>
      <line num="45" type="stmt" count="5"/>
      <line num="48" type="method" name="userCanEnableRegistration" visibility="public" complexity="4" crap="4.59" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="50" type="stmt" count="1"/>
      <line num="53" type="stmt" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="stmt" count="2"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="2"/>
      <line num="66" type="method" name="userCanOrganizeEvents" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="72" type="method" name="userCanEditRegistration" visibility="public" complexity="6" crap="6.73" count="8"/>
      <line num="74" type="stmt" count="8"/>
      <line num="76" type="stmt" count="8"/>
      <line num="77" type="stmt" count="8"/>
      <line num="80" type="stmt" count="5"/>
      <line num="83" type="stmt" count="3"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="method" name="userCanDeleteRegistration" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="98" type="stmt" count="7"/>
      <line num="99" type="stmt" count="7"/>
      <line num="100" type="stmt" count="7"/>
      <line num="101" type="stmt" count="7"/>
      <line num="109" type="method" name="userCanDeleteAllContributions" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="113" type="stmt" count="8"/>
      <line num="123" type="method" name="userCanDeleteContribution" visibility="public" complexity="4" crap="4.37" count="14"/>
      <line num="129" type="stmt" count="14"/>
      <line num="130" type="stmt" count="2"/>
      <line num="134" type="stmt" count="12"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="139" type="stmt" count="12"/>
      <line num="140" type="stmt" count="12"/>
      <line num="143" type="method" name="userCanDeleteRegistrations" visibility="public" complexity="3" crap="3" count="6"/>
      <line num="144" type="stmt" count="6"/>
      <line num="145" type="stmt" count="6"/>
      <line num="146" type="stmt" count="6"/>
      <line num="153" type="method" name="userCanRegisterForEvent" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="155" type="stmt" count="5"/>
      <line num="161" type="method" name="userCanCancelRegistration" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="163" type="stmt" count="4"/>
      <line num="166" type="method" name="userCanRemoveParticipants" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="170" type="stmt" count="8"/>
      <line num="173" type="method" name="userCanViewPrivateParticipants" visibility="public" complexity="5" crap="5" count="13"/>
      <line num="177" type="stmt" count="13"/>
      <line num="178" type="stmt" count="13"/>
      <line num="179" type="stmt" count="13"/>
      <line num="180" type="stmt" count="13"/>
      <line num="181" type="stmt" count="13"/>
      <line num="184" type="method" name="userCanViewSensitiveEventData" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="188" type="method" name="userCanViewNonPIIParticipantsData" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="192" type="stmt" count="8"/>
      <line num="195" type="method" name="userCanViewAggregatedAnswers" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="199" type="stmt" count="8"/>
      <line num="202" type="method" name="userCanEmailParticipants" visibility="public" complexity="2" crap="2" count="7"/>
      <line num="203" type="stmt" count="7"/>
      <line num="204" type="stmt" count="7"/>
      <line num="207" type="method" name="userCanUseInvitationLists" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="208" type="stmt" count="5"/>
      <line num="209" type="stmt" count="5"/>
      <line num="210" type="stmt" count="5"/>
      <line num="220" type="method" name="userCanAddAnyValidContribution" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="224" type="stmt" count="8"/>
      <line num="234" type="method" name="userCanAddContribution" visibility="public" complexity="5" crap="5" count="32"/>
      <line num="240" type="stmt" count="32"/>
      <line num="241" type="stmt" count="4"/>
      <line num="242" type="stmt" count="4"/>
      <line num="244" type="stmt" count="28"/>
      <line num="245" type="stmt" count="28"/>
      <line num="246" type="stmt" count="28"/>
      <line num="247" type="stmt" count="28"/>
      <line num="248" type="stmt" count="28"/>
      <line num="249" type="stmt" count="28"/>
      <line num="250" type="stmt" count="14"/>
      <line num="252" type="stmt" count="14"/>
      <line num="253" type="stmt" count="7"/>
      <line num="256" type="stmt" count="7"/>
      <line num="257" type="stmt" count="3"/>
      <line num="259" type="stmt" count="4"/>
      <metrics loc="262" ncloc="222" classes="1" methods="20" coveredmethods="16" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="65" elements="94" coveredelements="81"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/PolicyMessagesLookup.php">
      <class name="MediaWiki\Extension\CampaignEvents\PolicyMessagesLookup" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="4" elements="10" coveredelements="6"/>
      </class>
      <line num="12" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="15" type="stmt" count="4"/>
      <line num="23" type="method" name="getPolicyMessageForRegistration" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="24" type="stmt" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="35" type="method" name="getPolicyMessageForRegistrationForm" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <metrics loc="41" ncloc="29" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="4" elements="10" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Questions/Answer.php">
      <class name="MediaWiki\Extension\CampaignEvents\Questions\Answer" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="11" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="18" type="method" name="getQuestionDBID" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="22" type="method" name="getOption" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="26" type="method" name="getText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <metrics loc="30" ncloc="27" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Questions/EventAggregatedAnswers.php">
      <class name="MediaWiki\Extension\CampaignEvents\Questions\EventAggregatedAnswers" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="14" type="method" name="addEntry" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="15" type="stmt" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="27" type="method" name="getQuestionData" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="34" type="method" name="getData" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <metrics loc="38" ncloc="26" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Questions/EventAggregatedAnswersStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Questions\EventAggregatedAnswersStore" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="29" coveredelements="29"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="20" type="stmt" count="4"/>
      <line num="22" type="method" name="getEventAggregatedAnswers" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="23" type="stmt" count="3"/>
      <line num="24" type="stmt" count="3"/>
      <line num="25" type="stmt" count="3"/>
      <line num="26" type="stmt" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <line num="28" type="stmt" count="3"/>
      <line num="29" type="stmt" count="3"/>
      <line num="30" type="stmt" count="3"/>
      <line num="31" type="stmt" count="3"/>
      <line num="33" type="stmt" count="3"/>
      <line num="34" type="stmt" count="3"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="42" type="stmt" count="3"/>
      <line num="45" type="method" name="eventHasAggregates" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <metrics loc="56" ncloc="53" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="29" coveredelements="29"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Questions/EventQuestionsRegistry.php">
      <class name="MediaWiki\Extension\CampaignEvents\Questions\EventQuestionsRegistry" namespace="global">
        <metrics complexity="95" methods="20" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="316" coveredstatements="276" elements="336" coveredelements="287"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="63" type="method" name="getQuestions" visibility="private" complexity="3" crap="3" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <line num="160" type="stmt" count="1"/>
      <line num="161" type="stmt" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="163" type="stmt" count="1"/>
      <line num="164" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="166" type="stmt" count="1"/>
      <line num="167" type="stmt" count="1"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="173" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="184" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="224" type="method" name="getQuestionsForHTMLForm" visibility="public" complexity="10" crap="15.08" count="2"/>
      <line num="225" type="stmt" count="2"/>
      <line num="226" type="stmt" count="2"/>
      <line num="227" type="stmt" count="0"/>
      <line num="229" type="stmt" count="2"/>
      <line num="230" type="stmt" count="2"/>
      <line num="231" type="stmt" count="2"/>
      <line num="232" type="stmt" count="2"/>
      <line num="233" type="stmt" count="0"/>
      <line num="235" type="stmt" count="2"/>
      <line num="236" type="stmt" count="2"/>
      <line num="237" type="stmt" count="2"/>
      <line num="238" type="stmt" count="2"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="0"/>
      <line num="259" type="stmt" count="2"/>
      <line num="272" type="method" name="extractUserAnswersHTMLForm" visibility="public" complexity="4" crap="4" count="17"/>
      <line num="273" type="stmt" count="17"/>
      <line num="274" type="stmt" count="17"/>
      <line num="275" type="stmt" count="17"/>
      <line num="276" type="stmt" count="10"/>
      <line num="278" type="stmt" count="16"/>
      <line num="279" type="stmt" count="14"/>
      <line num="280" type="stmt" count="7"/>
      <line num="283" type="stmt" count="12"/>
      <line num="291" type="method" name="newAnswerFromHTMLForm" visibility="private" complexity="12" crap="12.74" count="16"/>
      <line num="292" type="stmt" count="16"/>
      <line num="293" type="stmt" count="16"/>
      <line num="294" type="stmt" count="6"/>
      <line num="296" type="stmt" count="14"/>
      <line num="297" type="stmt" count="14"/>
      <line num="298" type="stmt" count="14"/>
      <line num="299" type="stmt" count="2"/>
      <line num="301" type="stmt" count="12"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="12"/>
      <line num="309" type="stmt" count="12"/>
      <line num="310" type="stmt" count="2"/>
      <line num="312" type="stmt" count="10"/>
      <line num="313" type="stmt" count="10"/>
      <line num="314" type="stmt" count="2"/>
      <line num="316" type="stmt" count="8"/>
      <line num="317" type="stmt" count="8"/>
      <line num="318" type="stmt" count="8"/>
      <line num="319" type="stmt" count="8"/>
      <line num="320" type="stmt" count="5"/>
      <line num="321" type="stmt" count="5"/>
      <line num="322" type="stmt" count="4"/>
      <line num="323" type="stmt" count="1"/>
      <line num="325" type="stmt" count="3"/>
      <line num="329" type="stmt" count="0"/>
      <line num="332" type="stmt" count="7"/>
      <line num="335" type="method" name="isPlaceholderValue" visibility="private" complexity="2" crap="2" count="8"/>
      <line num="336" type="stmt" count="8"/>
      <line num="337" type="stmt" count="8"/>
      <line num="338" type="stmt" count="8"/>
      <line num="339" type="stmt" count="8"/>
      <line num="340" type="stmt" count="8"/>
      <line num="354" type="method" name="getQuestionsForAPI" visibility="public" complexity="7" crap="7" count="4"/>
      <line num="355" type="stmt" count="4"/>
      <line num="356" type="stmt" count="4"/>
      <line num="357" type="stmt" count="4"/>
      <line num="358" type="stmt" count="4"/>
      <line num="359" type="stmt" count="3"/>
      <line num="361" type="stmt" count="3"/>
      <line num="362" type="stmt" count="3"/>
      <line num="363" type="stmt" count="3"/>
      <line num="364" type="stmt" count="3"/>
      <line num="365" type="stmt" count="3"/>
      <line num="366" type="stmt" count="3"/>
      <line num="367" type="stmt" count="3"/>
      <line num="368" type="stmt" count="3"/>
      <line num="370" type="stmt" count="3"/>
      <line num="371" type="stmt" count="3"/>
      <line num="372" type="stmt" count="1"/>
      <line num="373" type="stmt" count="1"/>
      <line num="374" type="stmt" count="1"/>
      <line num="375" type="stmt" count="1"/>
      <line num="377" type="stmt" count="3"/>
      <line num="378" type="stmt" count="1"/>
      <line num="381" type="stmt" count="4"/>
      <line num="395" type="method" name="formatAnswersForAPI" visibility="public" complexity="6" crap="6.01" count="4"/>
      <line num="396" type="stmt" count="4"/>
      <line num="397" type="stmt" count="4"/>
      <line num="398" type="stmt" count="3"/>
      <line num="400" type="stmt" count="4"/>
      <line num="401" type="stmt" count="4"/>
      <line num="402" type="stmt" count="4"/>
      <line num="403" type="stmt" count="4"/>
      <line num="404" type="stmt" count="4"/>
      <line num="406" type="stmt" count="2"/>
      <line num="407" type="stmt" count="2"/>
      <line num="408" type="stmt" count="2"/>
      <line num="409" type="stmt" count="2"/>
      <line num="410" type="stmt" count="2"/>
      <line num="411" type="stmt" count="2"/>
      <line num="412" type="stmt" count="2"/>
      <line num="414" type="stmt" count="2"/>
      <line num="415" type="stmt" count="0"/>
      <line num="417" type="stmt" count="2"/>
      <line num="419" type="stmt" count="4"/>
      <line num="430" type="method" name="extractUserAnswersAPI" visibility="public" complexity="5" crap="5" count="17"/>
      <line num="431" type="stmt" count="17"/>
      <line num="432" type="stmt" count="17"/>
      <line num="433" type="stmt" count="17"/>
      <line num="434" type="stmt" count="11"/>
      <line num="436" type="stmt" count="16"/>
      <line num="437" type="stmt" count="16"/>
      <line num="438" type="stmt" count="6"/>
      <line num="440" type="stmt" count="14"/>
      <line num="441" type="stmt" count="9"/>
      <line num="442" type="stmt" count="7"/>
      <line num="445" type="stmt" count="12"/>
      <line num="454" type="method" name="newAnswerFromAPI" visibility="private" complexity="11" crap="12.09" count="13"/>
      <line num="455" type="stmt" count="13"/>
      <line num="456" type="stmt" count="13"/>
      <line num="457" type="stmt" count="13"/>
      <line num="458" type="stmt" count="2"/>
      <line num="460" type="stmt" count="11"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="11"/>
      <line num="467" type="stmt" count="11"/>
      <line num="468" type="stmt" count="2"/>
      <line num="470" type="stmt" count="9"/>
      <line num="471" type="stmt" count="2"/>
      <line num="473" type="stmt" count="7"/>
      <line num="474" type="stmt" count="7"/>
      <line num="475" type="stmt" count="7"/>
      <line num="476" type="stmt" count="4"/>
      <line num="477" type="stmt" count="4"/>
      <line num="478" type="stmt" count="3"/>
      <line num="479" type="stmt" count="1"/>
      <line num="481" type="stmt" count="2"/>
      <line num="485" type="stmt" count="0"/>
      <line num="488" type="stmt" count="6"/>
      <line num="499" type="method" name="getQuestionLabelsForOrganizerForm" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="500" type="stmt" count="1"/>
      <line num="501" type="stmt" count="1"/>
      <line num="502" type="stmt" count="1"/>
      <line num="503" type="stmt" count="1"/>
      <line num="504" type="stmt" count="1"/>
      <line num="506" type="stmt" count="1"/>
      <line num="514" type="method" name="getQuestionLabelForStats" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="527" type="method" name="getQuestionOptionsForStats" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="530" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="532" type="stmt" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="535" type="stmt" count="0"/>
      <line num="536" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="546" type="method" name="getQuestionOptionMessageByID" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="547" type="stmt" count="3"/>
      <line num="548" type="stmt" count="3"/>
      <line num="549" type="stmt" count="2"/>
      <line num="550" type="stmt" count="2"/>
      <line num="551" type="stmt" count="1"/>
      <line num="553" type="stmt" count="1"/>
      <line num="556" type="stmt" count="1"/>
      <line num="562" type="method" name="getAvailableQuestionNames" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="563" type="stmt" count="1"/>
      <line num="571" type="method" name="nameToDBID" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="572" type="stmt" count="2"/>
      <line num="573" type="stmt" count="2"/>
      <line num="574" type="stmt" count="1"/>
      <line num="577" type="stmt" count="1"/>
      <line num="585" type="method" name="dbIDToName" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="600" type="method" name="getNonPIIQuestionLabels" visibility="public" complexity="4" crap="4" count="1"/>
      <line num="601" type="stmt" count="1"/>
      <line num="602" type="stmt" count="1"/>
      <line num="603" type="stmt" count="1"/>
      <line num="604" type="stmt" count="1"/>
      <line num="607" type="stmt" count="1"/>
      <line num="616" type="method" name="getNonPIIQuestionIDs" visibility="public" complexity="4" crap="4" count="1"/>
      <line num="617" type="stmt" count="1"/>
      <line num="618" type="stmt" count="1"/>
      <line num="619" type="stmt" count="1"/>
      <line num="620" type="stmt" count="1"/>
      <line num="623" type="stmt" count="1"/>
      <line num="635" type="method" name="getParticipantQuestionsToShow" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="636" type="stmt" count="6"/>
      <line num="637" type="stmt" count="6"/>
      <line num="639" type="stmt" count="6"/>
      <line num="640" type="stmt" count="6"/>
      <metrics loc="643" ncloc="482" classes="1" methods="20" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="316" coveredstatements="276" elements="336" coveredelements="287"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Questions/EventQuestionsStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Questions\EventQuestionsStore" namespace="global">
        <metrics complexity="11" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="50" coveredstatements="50" elements="54" coveredelements="54"/>
      </class>
      <line num="12" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="15" type="stmt" count="11"/>
      <line num="23" type="method" name="replaceEventQuestions" visibility="public" complexity="6" crap="6" count="6"/>
      <line num="24" type="stmt" count="6"/>
      <line num="25" type="stmt" count="6"/>
      <line num="26" type="stmt" count="6"/>
      <line num="27" type="stmt" count="6"/>
      <line num="28" type="stmt" count="6"/>
      <line num="29" type="stmt" count="6"/>
      <line num="30" type="stmt" count="6"/>
      <line num="31" type="stmt" count="6"/>
      <line num="32" type="stmt" count="6"/>
      <line num="33" type="stmt" count="6"/>
      <line num="34" type="stmt" count="6"/>
      <line num="35" type="stmt" count="6"/>
      <line num="36" type="stmt" count="6"/>
      <line num="37" type="stmt" count="4"/>
      <line num="40" type="stmt" count="6"/>
      <line num="41" type="stmt" count="4"/>
      <line num="42" type="stmt" count="4"/>
      <line num="43" type="stmt" count="4"/>
      <line num="44" type="stmt" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="48" type="stmt" count="6"/>
      <line num="49" type="stmt" count="6"/>
      <line num="50" type="stmt" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="72" type="method" name="getEventQuestionsMulti" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="73" type="stmt" count="4"/>
      <line num="74" type="stmt" count="1"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="79" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="85" type="stmt" count="3"/>
      <line num="86" type="stmt" count="3"/>
      <line num="87" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="95" type="method" name="getEventQuestions" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="1"/>
      <metrics loc="100" ncloc="84" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="50" coveredstatements="50" elements="54" coveredelements="54"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Questions/InvalidAnswerDataException.php">
      <class name="MediaWiki\Extension\CampaignEvents\Questions\InvalidAnswerDataException" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="10" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="13" type="stmt" count="0"/>
      <line num="20" type="method" name="getQuestionName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <metrics loc="24" ncloc="20" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Questions/ParticipantAnswersStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Questions\ParticipantAnswersStore" namespace="global">
        <metrics complexity="24" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="108" coveredstatements="106" elements="114" coveredelements="111"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="28"/>
      <line num="17" type="stmt" count="28"/>
      <line num="25" type="method" name="replaceParticipantAnswers" visibility="public" complexity="10" crap="10" count="14"/>
      <line num="26" type="stmt" count="14"/>
      <line num="27" type="stmt" count="14"/>
      <line num="28" type="stmt" count="14"/>
      <line num="29" type="stmt" count="14"/>
      <line num="30" type="stmt" count="14"/>
      <line num="31" type="stmt" count="14"/>
      <line num="32" type="stmt" count="14"/>
      <line num="33" type="stmt" count="14"/>
      <line num="34" type="stmt" count="14"/>
      <line num="35" type="stmt" count="14"/>
      <line num="36" type="stmt" count="14"/>
      <line num="37" type="stmt" count="14"/>
      <line num="38" type="stmt" count="14"/>
      <line num="39" type="stmt" count="14"/>
      <line num="40" type="stmt" count="14"/>
      <line num="41" type="stmt" count="12"/>
      <line num="42" type="stmt" count="12"/>
      <line num="43" type="stmt" count="12"/>
      <line num="44" type="stmt" count="12"/>
      <line num="45" type="stmt" count="12"/>
      <line num="46" type="stmt" count="12"/>
      <line num="47" type="stmt" count="6"/>
      <line num="50" type="stmt" count="14"/>
      <line num="51" type="stmt" count="6"/>
      <line num="52" type="stmt" count="6"/>
      <line num="53" type="stmt" count="6"/>
      <line num="54" type="stmt" count="6"/>
      <line num="55" type="stmt" count="6"/>
      <line num="58" type="stmt" count="14"/>
      <line num="59" type="stmt" count="14"/>
      <line num="60" type="stmt" count="12"/>
      <line num="61" type="stmt" count="12"/>
      <line num="62" type="stmt" count="12"/>
      <line num="64" type="stmt" count="12"/>
      <line num="65" type="stmt" count="12"/>
      <line num="67" type="stmt" count="10"/>
      <line num="70" type="stmt" count="10"/>
      <line num="71" type="stmt" count="10"/>
      <line num="72" type="stmt" count="10"/>
      <line num="73" type="stmt" count="10"/>
      <line num="74" type="stmt" count="10"/>
      <line num="75" type="stmt" count="10"/>
      <line num="76" type="stmt" count="10"/>
      <line num="79" type="stmt" count="14"/>
      <line num="80" type="stmt" count="4"/>
      <line num="83" type="stmt" count="10"/>
      <line num="84" type="stmt" count="10"/>
      <line num="85" type="stmt" count="10"/>
      <line num="86" type="stmt" count="10"/>
      <line num="87" type="stmt" count="10"/>
      <line num="88" type="stmt" count="10"/>
      <line num="89" type="stmt" count="10"/>
      <line num="90" type="stmt" count="10"/>
      <line num="91" type="stmt" count="10"/>
      <line num="92" type="stmt" count="10"/>
      <line num="93" type="stmt" count="10"/>
      <line num="94" type="stmt" count="10"/>
      <line num="105" type="method" name="deleteAllAnswers" visibility="public" complexity="7" crap="7.07" count="5"/>
      <line num="106" type="stmt" count="5"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="5"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="5"/>
      <line num="114" type="stmt" count="5"/>
      <line num="115" type="stmt" count="5"/>
      <line num="116" type="stmt" count="5"/>
      <line num="117" type="stmt" count="5"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="4"/>
      <line num="120" type="stmt" count="1"/>
      <line num="122" type="stmt" count="3"/>
      <line num="125" type="stmt" count="5"/>
      <line num="126" type="stmt" count="5"/>
      <line num="127" type="stmt" count="5"/>
      <line num="128" type="stmt" count="5"/>
      <line num="129" type="stmt" count="5"/>
      <line num="135" type="method" name="getParticipantAnswers" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="136" type="stmt" count="17"/>
      <line num="137" type="stmt" count="17"/>
      <line num="148" type="method" name="getParticipantAnswersMulti" visibility="public" complexity="4" crap="4" count="7"/>
      <line num="149" type="stmt" count="7"/>
      <line num="150" type="stmt" count="1"/>
      <line num="152" type="stmt" count="6"/>
      <line num="153" type="stmt" count="6"/>
      <line num="154" type="stmt" count="6"/>
      <line num="155" type="stmt" count="6"/>
      <line num="156" type="stmt" count="6"/>
      <line num="157" type="stmt" count="6"/>
      <line num="158" type="stmt" count="6"/>
      <line num="159" type="stmt" count="6"/>
      <line num="160" type="stmt" count="6"/>
      <line num="161" type="stmt" count="6"/>
      <line num="162" type="stmt" count="6"/>
      <line num="163" type="stmt" count="6"/>
      <line num="164" type="stmt" count="6"/>
      <line num="165" type="stmt" count="5"/>
      <line num="166" type="stmt" count="5"/>
      <line num="167" type="stmt" count="5"/>
      <line num="168" type="stmt" count="5"/>
      <line num="169" type="stmt" count="5"/>
      <line num="170" type="stmt" count="5"/>
      <line num="172" type="stmt" count="6"/>
      <line num="178" type="method" name="eventHasAnswers" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="179" type="stmt" count="2"/>
      <line num="180" type="stmt" count="2"/>
      <line num="181" type="stmt" count="2"/>
      <line num="182" type="stmt" count="2"/>
      <line num="183" type="stmt" count="2"/>
      <line num="184" type="stmt" count="2"/>
      <line num="185" type="stmt" count="2"/>
      <line num="186" type="stmt" count="2"/>
      <metrics loc="189" ncloc="160" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="108" coveredstatements="106" elements="114" coveredelements="111"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Questions/UnknownQuestionException.php">
      <class name="MediaWiki\Extension\CampaignEvents\Questions\UnknownQuestionException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="11" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Questions/UnknownQuestionOptionException.php">
      <class name="MediaWiki\Extension\CampaignEvents\Questions\UnknownQuestionOptionException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="11" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/AbstractEditEventRegistrationHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\AbstractEditEventRegistrationHandler" namespace="global">
        <metrics complexity="10" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="122" coveredstatements="115" elements="126" coveredelements="118"/>
      </class>
      <line num="39" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="51" type="stmt" count="22"/>
      <line num="56" type="method" name="validate" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="57" type="stmt" count="22"/>
      <line num="58" type="stmt" count="22"/>
      <line num="66" type="method" name="execute" visibility="public" complexity="7" crap="8.81" count="16"/>
      <line num="67" type="stmt" count="16"/>
      <line num="69" type="stmt" count="16"/>
      <line num="70" type="stmt" count="16"/>
      <line num="73" type="stmt" count="15"/>
      <line num="74" type="stmt" count="6"/>
      <line num="75" type="stmt" count="4"/>
      <line num="78" type="stmt" count="9"/>
      <line num="79" type="stmt" count="9"/>
      <line num="80" type="stmt" count="9"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="95" type="stmt" count="9"/>
      <line num="96" type="stmt" count="9"/>
      <line num="97" type="stmt" count="3"/>
      <line num="98" type="stmt" count="3"/>
      <line num="101" type="stmt" count="6"/>
      <line num="109" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="110" type="stmt" count="22"/>
      <line num="111" type="stmt" count="22"/>
      <line num="112" type="stmt" count="22"/>
      <line num="113" type="stmt" count="22"/>
      <line num="114" type="stmt" count="22"/>
      <line num="115" type="stmt" count="22"/>
      <line num="116" type="stmt" count="22"/>
      <line num="117" type="stmt" count="22"/>
      <line num="118" type="stmt" count="22"/>
      <line num="119" type="stmt" count="22"/>
      <line num="120" type="stmt" count="22"/>
      <line num="121" type="stmt" count="22"/>
      <line num="122" type="stmt" count="22"/>
      <line num="123" type="stmt" count="22"/>
      <line num="124" type="stmt" count="22"/>
      <line num="125" type="stmt" count="22"/>
      <line num="126" type="stmt" count="22"/>
      <line num="127" type="stmt" count="22"/>
      <line num="128" type="stmt" count="22"/>
      <line num="129" type="stmt" count="22"/>
      <line num="130" type="stmt" count="22"/>
      <line num="131" type="stmt" count="22"/>
      <line num="132" type="stmt" count="22"/>
      <line num="133" type="stmt" count="22"/>
      <line num="134" type="stmt" count="22"/>
      <line num="135" type="stmt" count="22"/>
      <line num="136" type="stmt" count="22"/>
      <line num="137" type="stmt" count="22"/>
      <line num="138" type="stmt" count="22"/>
      <line num="139" type="stmt" count="22"/>
      <line num="140" type="stmt" count="22"/>
      <line num="141" type="stmt" count="22"/>
      <line num="142" type="stmt" count="22"/>
      <line num="143" type="stmt" count="22"/>
      <line num="144" type="stmt" count="22"/>
      <line num="145" type="stmt" count="22"/>
      <line num="146" type="stmt" count="22"/>
      <line num="147" type="stmt" count="22"/>
      <line num="148" type="stmt" count="22"/>
      <line num="149" type="stmt" count="22"/>
      <line num="150" type="stmt" count="22"/>
      <line num="151" type="stmt" count="22"/>
      <line num="152" type="stmt" count="22"/>
      <line num="153" type="stmt" count="22"/>
      <line num="154" type="stmt" count="22"/>
      <line num="155" type="stmt" count="22"/>
      <line num="156" type="stmt" count="22"/>
      <line num="157" type="stmt" count="22"/>
      <line num="158" type="stmt" count="22"/>
      <line num="159" type="stmt" count="22"/>
      <line num="160" type="stmt" count="22"/>
      <line num="161" type="stmt" count="22"/>
      <line num="162" type="stmt" count="22"/>
      <line num="163" type="stmt" count="22"/>
      <line num="164" type="stmt" count="22"/>
      <line num="165" type="stmt" count="22"/>
      <line num="166" type="stmt" count="22"/>
      <line num="167" type="stmt" count="22"/>
      <line num="168" type="stmt" count="22"/>
      <line num="169" type="stmt" count="22"/>
      <line num="170" type="stmt" count="22"/>
      <line num="171" type="stmt" count="22"/>
      <line num="172" type="stmt" count="22"/>
      <line num="173" type="stmt" count="22"/>
      <line num="174" type="stmt" count="22"/>
      <line num="175" type="stmt" count="22"/>
      <line num="176" type="stmt" count="22"/>
      <line num="177" type="stmt" count="22"/>
      <line num="178" type="stmt" count="22"/>
      <line num="179" type="stmt" count="22"/>
      <line num="180" type="stmt" count="22"/>
      <line num="181" type="stmt" count="22"/>
      <line num="182" type="stmt" count="22"/>
      <line num="183" type="stmt" count="22"/>
      <line num="184" type="stmt" count="22"/>
      <line num="185" type="stmt" count="22"/>
      <line num="186" type="stmt" count="22"/>
      <line num="187" type="stmt" count="22"/>
      <line num="188" type="stmt" count="22"/>
      <line num="189" type="stmt" count="22"/>
      <line num="190" type="stmt" count="22"/>
      <line num="191" type="stmt" count="22"/>
      <line num="192" type="stmt" count="22"/>
      <line num="193" type="stmt" count="22"/>
      <line num="194" type="stmt" count="22"/>
      <line num="195" type="stmt" count="22"/>
      <line num="196" type="stmt" count="22"/>
      <line num="197" type="stmt" count="22"/>
      <line num="198" type="stmt" count="22"/>
      <line num="199" type="stmt" count="22"/>
      <line num="200" type="stmt" count="22"/>
      <line num="201" type="stmt" count="22"/>
      <line num="202" type="stmt" count="22"/>
      <line num="203" type="stmt" count="22"/>
      <line num="204" type="stmt" count="22"/>
      <line num="205" type="stmt" count="22"/>
      <line num="206" type="stmt" count="22"/>
      <line num="208" type="stmt" count="22"/>
      <metrics loc="220" ncloc="203" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="122" coveredstatements="115" elements="126" coveredelements="118"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/AbstractListEventsByUserHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\AbstractListEventsByUserHandler" namespace="global">
        <metrics complexity="7" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="30" coveredelements="30"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="24" type="stmt" count="8"/>
      <line num="29" type="method" name="execute" visibility="public" complexity="2" crap="2" count="8"/>
      <line num="30" type="stmt" count="8"/>
      <line num="32" type="stmt" count="8"/>
      <line num="33" type="stmt" count="8"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="42" type="stmt" count="6"/>
      <line num="49" type="method" name="buildResultStructure" visibility="protected" complexity="3" crap="3" count="6"/>
      <line num="50" type="stmt" count="6"/>
      <line num="52" type="stmt" count="6"/>
      <line num="53" type="stmt" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="56" type="stmt" count="4"/>
      <line num="57" type="stmt" count="4"/>
      <line num="58" type="stmt" count="2"/>
      <line num="60" type="stmt" count="4"/>
      <line num="63" type="stmt" count="6"/>
      <line num="74" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="75" type="stmt" count="8"/>
      <line num="76" type="stmt" count="8"/>
      <line num="77" type="stmt" count="8"/>
      <line num="78" type="stmt" count="8"/>
      <line num="79" type="stmt" count="8"/>
      <line num="80" type="stmt" count="8"/>
      <line num="81" type="stmt" count="8"/>
      <metrics loc="84" ncloc="68" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="30" coveredelements="30"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/CancelEventRegistrationHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\CancelEventRegistrationHandler" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="18" coveredelements="18"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="24" type="stmt" count="8"/>
      <line num="29" type="method" name="validate" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="30" type="stmt" count="8"/>
      <line num="31" type="stmt" count="8"/>
      <line num="34" type="method" name="run" visibility="protected" complexity="3" crap="3" count="5"/>
      <line num="35" type="stmt" count="5"/>
      <line num="36" type="stmt" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="49" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="50" type="stmt" count="8"/>
      <line num="56" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="57" type="stmt" count="8"/>
      <metrics loc="60" ncloc="51" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="18" coveredelements="18"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/DeleteEventContributionHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\DeleteEventContributionHandler" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="28" coveredelements="28"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="26" type="stmt" count="6"/>
      <line num="29" type="method" name="validate" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="30" type="stmt" count="6"/>
      <line num="31" type="stmt" count="6"/>
      <line num="34" type="method" name="run" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="35" type="stmt" count="3"/>
      <line num="36" type="stmt" count="3"/>
      <line num="37" type="stmt" count="1"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="55" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="56" type="stmt" count="6"/>
      <line num="57" type="stmt" count="6"/>
      <line num="58" type="stmt" count="6"/>
      <line num="59" type="stmt" count="6"/>
      <line num="60" type="stmt" count="6"/>
      <line num="61" type="stmt" count="6"/>
      <line num="62" type="stmt" count="6"/>
      <line num="66" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="67" type="stmt" count="6"/>
      <metrics loc="70" ncloc="67" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="28" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/DeleteEventRegistrationHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\DeleteEventRegistrationHandler" namespace="global">
        <metrics complexity="9" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="28" coveredelements="28"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="27" type="stmt" count="8"/>
      <line num="32" type="method" name="validate" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="33" type="stmt" count="8"/>
      <line num="34" type="stmt" count="8"/>
      <line num="37" type="method" name="run" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="38" type="stmt" count="5"/>
      <line num="39" type="stmt" count="4"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="67" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="68" type="stmt" count="8"/>
      <line num="74" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="75" type="stmt" count="8"/>
      <metrics loc="78" ncloc="69" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="28" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/EmailUsersHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\EmailUsersHandler" namespace="global">
        <metrics complexity="12" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="54" elements="73" coveredelements="58"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="32" type="stmt" count="5"/>
      <line num="34" type="method" name="run" visibility="public" complexity="8" crap="11.76" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="2"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="85" type="method" name="validate" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="86" type="stmt" count="5"/>
      <line num="87" type="stmt" count="5"/>
      <line num="93" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="94" type="stmt" count="5"/>
      <line num="100" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="101" type="stmt" count="5"/>
      <line num="102" type="stmt" count="5"/>
      <line num="103" type="stmt" count="5"/>
      <line num="104" type="stmt" count="5"/>
      <line num="105" type="stmt" count="5"/>
      <line num="106" type="stmt" count="5"/>
      <line num="107" type="stmt" count="5"/>
      <line num="108" type="stmt" count="5"/>
      <line num="109" type="stmt" count="5"/>
      <line num="110" type="stmt" count="5"/>
      <line num="111" type="stmt" count="5"/>
      <line num="112" type="stmt" count="5"/>
      <line num="113" type="stmt" count="5"/>
      <line num="114" type="stmt" count="5"/>
      <line num="115" type="stmt" count="5"/>
      <line num="116" type="stmt" count="5"/>
      <line num="117" type="stmt" count="5"/>
      <line num="118" type="stmt" count="5"/>
      <line num="119" type="stmt" count="5"/>
      <line num="120" type="stmt" count="5"/>
      <line num="121" type="stmt" count="5"/>
      <line num="122" type="stmt" count="5"/>
      <line num="123" type="stmt" count="5"/>
      <line num="124" type="stmt" count="5"/>
      <line num="125" type="stmt" count="5"/>
      <line num="126" type="stmt" count="5"/>
      <line num="127" type="stmt" count="5"/>
      <line num="128" type="stmt" count="5"/>
      <metrics loc="131" ncloc="121" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="54" elements="73" coveredelements="58"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/EnableEventRegistrationHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\EnableEventRegistrationHandler" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="49" elements="54" coveredelements="51"/>
      </class>
      <line num="15" type="method" name="getSuccessResponse" visibility="protected" complexity="2" crap="2.02" count="3"/>
      <line num="16" type="stmt" count="3"/>
      <line num="17" type="stmt" count="3"/>
      <line num="18" type="stmt" count="3"/>
      <line num="19" type="stmt" count="3"/>
      <line num="20" type="stmt" count="3"/>
      <line num="21" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="25" type="stmt" count="3"/>
      <line num="26" type="stmt" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <line num="28" type="stmt" count="3"/>
      <line num="31" type="method" name="checkPermissions" visibility="protected" complexity="2" crap="2" count="7"/>
      <line num="32" type="stmt" count="7"/>
      <line num="33" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="43" type="method" name="createEventObject" visibility="protected" complexity="4" crap="4" count="6"/>
      <line num="44" type="stmt" count="6"/>
      <line num="45" type="stmt" count="6"/>
      <line num="46" type="stmt" count="6"/>
      <line num="48" type="stmt" count="6"/>
      <line num="49" type="stmt" count="6"/>
      <line num="52" type="stmt" count="6"/>
      <line num="54" type="stmt" count="6"/>
      <line num="55" type="stmt" count="6"/>
      <line num="57" type="stmt" count="6"/>
      <line num="59" type="stmt" count="6"/>
      <line num="60" type="stmt" count="6"/>
      <line num="61" type="stmt" count="6"/>
      <line num="62" type="stmt" count="6"/>
      <line num="63" type="stmt" count="6"/>
      <line num="64" type="stmt" count="6"/>
      <line num="65" type="stmt" count="6"/>
      <line num="66" type="stmt" count="6"/>
      <line num="67" type="stmt" count="6"/>
      <line num="68" type="stmt" count="6"/>
      <line num="69" type="stmt" count="6"/>
      <line num="70" type="stmt" count="6"/>
      <line num="71" type="stmt" count="6"/>
      <line num="72" type="stmt" count="6"/>
      <line num="73" type="stmt" count="6"/>
      <line num="74" type="stmt" count="6"/>
      <line num="75" type="stmt" count="6"/>
      <line num="76" type="stmt" count="6"/>
      <line num="77" type="stmt" count="6"/>
      <line num="78" type="stmt" count="6"/>
      <line num="79" type="stmt" count="6"/>
      <line num="80" type="stmt" count="6"/>
      <line num="81" type="stmt" count="6"/>
      <line num="82" type="stmt" count="6"/>
      <line num="83" type="stmt" count="6"/>
      <line num="84" type="stmt" count="6"/>
      <metrics loc="87" ncloc="82" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="49" elements="54" coveredelements="51"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/EventContributionsHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\EventContributionsHandler" namespace="global">
        <metrics complexity="6" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="32" coveredelements="32"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="26" type="stmt" count="7"/>
      <line num="28" type="method" name="validate" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="29" type="stmt" count="7"/>
      <line num="30" type="stmt" count="7"/>
      <line num="33" type="method" name="run" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="35" type="stmt" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="39" type="stmt" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="47" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="48" type="stmt" count="7"/>
      <line num="49" type="stmt" count="7"/>
      <line num="50" type="stmt" count="7"/>
      <line num="51" type="stmt" count="7"/>
      <line num="52" type="stmt" count="7"/>
      <line num="53" type="stmt" count="7"/>
      <line num="54" type="stmt" count="7"/>
      <line num="55" type="stmt" count="7"/>
      <line num="56" type="stmt" count="7"/>
      <line num="57" type="stmt" count="7"/>
      <line num="58" type="stmt" count="7"/>
      <line num="59" type="stmt" count="7"/>
      <line num="60" type="stmt" count="7"/>
      <line num="61" type="stmt" count="7"/>
      <line num="62" type="stmt" count="7"/>
      <line num="68" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="69" type="stmt" count="7"/>
      <line num="77" type="method" name="getAllowedWikiIds" visibility="private" complexity="1" crap="1" count="7"/>
      <line num="78" type="stmt" count="7"/>
      <metrics loc="82" ncloc="71" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="32" coveredelements="32"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/EventIDParamTrait.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\EventIDParamTrait" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
      </class>
      <line num="23" type="method" name="getIDParamSetting" visibility="private" complexity="1" crap="1" count="107"/>
      <line num="24" type="stmt" count="107"/>
      <line num="25" type="stmt" count="107"/>
      <line num="26" type="stmt" count="107"/>
      <line num="27" type="stmt" count="107"/>
      <line num="28" type="stmt" count="107"/>
      <line num="29" type="stmt" count="107"/>
      <line num="30" type="stmt" count="107"/>
      <line num="38" type="method" name="getRegistrationOrThrow" visibility="protected" complexity="2" crap="2" count="82"/>
      <line num="40" type="stmt" count="82"/>
      <line num="41" type="stmt" count="9"/>
      <line num="42" type="stmt" count="9"/>
      <line num="43" type="stmt" count="9"/>
      <line num="44" type="stmt" count="9"/>
      <line num="45" type="stmt" count="9"/>
      <metrics loc="49" ncloc="38" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/FailStatusUtilTrait.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\FailStatusUtilTrait" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="3" elements="5" coveredelements="3"/>
      </class>
      <line num="16" type="method" name="exitWithStatus" visibility="private" complexity="2" crap="2.06" count="19"/>
      <line num="17" type="stmt" count="19"/>
      <line num="18" type="stmt" count="19"/>
      <line num="19" type="stmt" count="0"/>
      <line num="22" type="stmt" count="19"/>
      <metrics loc="25" ncloc="21" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="3" elements="5" coveredelements="3"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/GetEventRegistrationHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\GetEventRegistrationHandler" namespace="global">
        <metrics complexity="17" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="68" elements="72" coveredelements="72"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="34" type="stmt" count="11"/>
      <line num="36" type="method" name="run" visibility="protected" complexity="5" crap="5" count="11"/>
      <line num="37" type="stmt" count="11"/>
      <line num="38" type="stmt" count="10"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="44" type="stmt" count="9"/>
      <line num="46" type="stmt" count="9"/>
      <line num="47" type="stmt" count="9"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="56" type="stmt" count="9"/>
      <line num="57" type="stmt" count="9"/>
      <line num="58" type="stmt" count="9"/>
      <line num="59" type="stmt" count="9"/>
      <line num="60" type="stmt" count="9"/>
      <line num="61" type="stmt" count="9"/>
      <line num="62" type="stmt" count="9"/>
      <line num="63" type="stmt" count="9"/>
      <line num="64" type="stmt" count="9"/>
      <line num="65" type="stmt" count="9"/>
      <line num="66" type="stmt" count="9"/>
      <line num="67" type="stmt" count="9"/>
      <line num="68" type="stmt" count="9"/>
      <line num="69" type="stmt" count="9"/>
      <line num="71" type="stmt" count="9"/>
      <line num="72" type="stmt" count="9"/>
      <line num="73" type="stmt" count="9"/>
      <line num="74" type="stmt" count="9"/>
      <line num="76" type="stmt" count="9"/>
      <line num="77" type="stmt" count="9"/>
      <line num="79" type="stmt" count="9"/>
      <line num="80" type="stmt" count="9"/>
      <line num="81" type="stmt" count="9"/>
      <line num="82" type="stmt" count="9"/>
      <line num="83" type="stmt" count="9"/>
      <line num="84" type="stmt" count="9"/>
      <line num="85" type="stmt" count="9"/>
      <line num="86" type="stmt" count="9"/>
      <line num="88" type="stmt" count="9"/>
      <line num="98" type="method" name="maybeAddSensitiveDataToResponse" visibility="private" complexity="10" crap="10" count="9"/>
      <line num="102" type="stmt" count="9"/>
      <line num="103" type="stmt" count="9"/>
      <line num="106" type="stmt" count="9"/>
      <line num="107" type="stmt" count="1"/>
      <line num="109" type="stmt" count="9"/>
      <line num="110" type="stmt" count="1"/>
      <line num="113" type="stmt" count="9"/>
      <line num="115" type="stmt" count="1"/>
      <line num="118" type="stmt" count="8"/>
      <line num="119" type="stmt" count="1"/>
      <line num="122" type="stmt" count="7"/>
      <line num="123" type="stmt" count="7"/>
      <line num="124" type="stmt" count="1"/>
      <line num="128" type="stmt" count="6"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="133" type="stmt" count="5"/>
      <line num="135" type="stmt" count="5"/>
      <line num="136" type="stmt" count="5"/>
      <line num="138" type="stmt" count="1"/>
      <line num="141" type="stmt" count="4"/>
      <line num="142" type="stmt" count="4"/>
      <line num="148" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="149" type="stmt" count="11"/>
      <metrics loc="152" ncloc="137" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="68" elements="72" coveredelements="72"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/GetFormattedTimeHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\GetFormattedTimeHandler" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="37" coveredelements="37"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="27" type="stmt" count="6"/>
      <line num="29" type="method" name="run" visibility="protected" complexity="2" crap="2" count="6"/>
      <line num="30" type="stmt" count="6"/>
      <line num="31" type="stmt" count="6"/>
      <line num="33" type="stmt" count="6"/>
      <line num="36" type="stmt" count="6"/>
      <line num="37" type="stmt" count="6"/>
      <line num="38" type="stmt" count="6"/>
      <line num="39" type="stmt" count="6"/>
      <line num="40" type="stmt" count="6"/>
      <line num="41" type="stmt" count="6"/>
      <line num="42" type="stmt" count="6"/>
      <line num="43" type="stmt" count="6"/>
      <line num="44" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="58" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="59" type="stmt" count="6"/>
      <line num="60" type="stmt" count="6"/>
      <line num="61" type="stmt" count="6"/>
      <line num="62" type="stmt" count="6"/>
      <line num="63" type="stmt" count="6"/>
      <line num="64" type="stmt" count="6"/>
      <line num="65" type="stmt" count="6"/>
      <line num="66" type="stmt" count="6"/>
      <line num="67" type="stmt" count="6"/>
      <line num="68" type="stmt" count="6"/>
      <line num="69" type="stmt" count="6"/>
      <line num="70" type="stmt" count="6"/>
      <line num="71" type="stmt" count="6"/>
      <line num="72" type="stmt" count="6"/>
      <line num="73" type="stmt" count="6"/>
      <line num="74" type="stmt" count="6"/>
      <line num="75" type="stmt" count="6"/>
      <metrics loc="78" ncloc="65" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="37" coveredelements="37"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/GetOwnRegistrationInfoHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\GetOwnRegistrationInfoHandler" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="24" elements="27" coveredelements="27"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="26" type="stmt" count="6"/>
      <line num="28" type="method" name="run" visibility="protected" complexity="3" crap="3" count="6"/>
      <line num="29" type="stmt" count="6"/>
      <line num="32" type="stmt" count="5"/>
      <line num="33" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="40" type="stmt" count="4"/>
      <line num="41" type="stmt" count="4"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="50" type="stmt" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <line num="63" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="64" type="stmt" count="6"/>
      <metrics loc="67" ncloc="64" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="24" elements="27" coveredelements="27"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/GetParticipantQuestionsHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\GetParticipantQuestionsHandler" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="37" coveredelements="37"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="21" type="stmt" count="4"/>
      <line num="23" type="method" name="execute" visibility="public" complexity="6" crap="6" count="4"/>
      <line num="24" type="stmt" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="31" type="stmt" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="33" type="stmt" count="3"/>
      <line num="34" type="stmt" count="3"/>
      <line num="35" type="stmt" count="3"/>
      <line num="36" type="stmt" count="3"/>
      <line num="37" type="stmt" count="3"/>
      <line num="38" type="stmt" count="3"/>
      <line num="39" type="stmt" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="41" type="stmt" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="55" type="stmt" count="3"/>
      <line num="58" type="stmt" count="4"/>
      <line num="64" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="71" type="stmt" count="4"/>
      <metrics loc="74" ncloc="70" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="37" coveredelements="37"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/ListDiscoverableEventsForPageHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\ListDiscoverableEventsForPageHandler" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="25" coveredelements="25"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="31" type="stmt" count="3"/>
      <line num="34" type="method" name="run" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="35" type="stmt" count="3"/>
      <line num="37" type="stmt" count="3"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="2"/>
      <line num="45" type="stmt" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="52" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="56" type="stmt" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <metrics loc="64" ncloc="54" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="25" coveredelements="25"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/ListEventsByOrganizerHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\ListEventsByOrganizerHandler" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="4" coveredelements="4"/>
      </class>
      <line num="13" type="method" name="getEventsByUser" visibility="protected" complexity="1" crap="1" count="3"/>
      <line num="14" type="stmt" count="3"/>
      <line num="15" type="stmt" count="3"/>
      <line num="16" type="stmt" count="3"/>
      <metrics loc="19" ncloc="16" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="4" coveredelements="4"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/ListEventsByParticipantHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\ListEventsByParticipantHandler" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="4" coveredelements="4"/>
      </class>
      <line num="13" type="method" name="getEventsByUser" visibility="protected" complexity="1" crap="1" count="3"/>
      <line num="14" type="stmt" count="3"/>
      <line num="15" type="stmt" count="3"/>
      <line num="16" type="stmt" count="3"/>
      <metrics loc="19" ncloc="16" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="4" coveredelements="4"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/ListOrganizersHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\ListOrganizersHandler" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="29" elements="34" coveredelements="31"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="31" type="stmt" count="4"/>
      <line num="33" type="method" name="run" visibility="protected" complexity="3" crap="3.01" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="36" type="stmt" count="3"/>
      <line num="37" type="stmt" count="3"/>
      <line num="38" type="stmt" count="3"/>
      <line num="39" type="stmt" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="41" type="stmt" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <line num="59" type="stmt" count="3"/>
      <line num="65" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="71" type="stmt" count="4"/>
      <line num="72" type="stmt" count="4"/>
      <line num="73" type="stmt" count="4"/>
      <line num="74" type="stmt" count="4"/>
      <metrics loc="77" ncloc="72" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="29" elements="34" coveredelements="31"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/ListOwnEventsForEditHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\ListOwnEventsForEditHandler" namespace="global">
        <metrics complexity="10" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="39" elements="46" coveredelements="44"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="32" type="method" name="run" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="35" type="stmt" count="4"/>
      <line num="36" type="stmt" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <line num="43" type="stmt" count="4"/>
      <line num="44" type="stmt" count="2"/>
      <line num="45" type="stmt" count="2"/>
      <line num="46" type="stmt" count="4"/>
      <line num="47" type="stmt" count="4"/>
      <line num="48" type="stmt" count="4"/>
      <line num="52" type="method" name="getEvents" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="59" type="stmt" count="3"/>
      <line num="69" type="method" name="getAutoAssociableEventIDs" visibility="private" complexity="3" crap="3" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="71" type="stmt" count="4"/>
      <line num="72" type="stmt" count="3"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="85" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="92" type="stmt" count="4"/>
      <line num="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="100" type="method" name="getResponseLanguageCode" visibility="private" complexity="2" crap="2.15" count="4"/>
      <line num="101" type="stmt" count="4"/>
      <line num="103" type="stmt" count="4"/>
      <line num="105" type="stmt" count="0"/>
      <metrics loc="108" ncloc="90" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="39" elements="46" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/ListParticipantsHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\ListParticipantsHandler" namespace="global">
        <metrics complexity="27" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="158" coveredstatements="150" elements="165" coveredelements="154"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="48" type="stmt" count="12"/>
      <line num="50" type="method" name="run" visibility="protected" complexity="4" crap="4" count="12"/>
      <line num="51" type="stmt" count="12"/>
      <line num="53" type="stmt" count="11"/>
      <line num="54" type="stmt" count="11"/>
      <line num="55" type="stmt" count="11"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="62" type="stmt" count="10"/>
      <line num="63" type="stmt" count="10"/>
      <line num="65" type="stmt" count="10"/>
      <line num="66" type="stmt" count="10"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="74" type="stmt" count="9"/>
      <line num="75" type="stmt" count="9"/>
      <line num="76" type="stmt" count="9"/>
      <line num="77" type="stmt" count="9"/>
      <line num="78" type="stmt" count="9"/>
      <line num="79" type="stmt" count="9"/>
      <line num="80" type="stmt" count="9"/>
      <line num="81" type="stmt" count="9"/>
      <line num="82" type="stmt" count="9"/>
      <line num="84" type="stmt" count="9"/>
      <line num="85" type="stmt" count="9"/>
      <line num="94" type="method" name="getResponseData" visibility="private" complexity="9" crap="9" count="9"/>
      <line num="100" type="stmt" count="9"/>
      <line num="101" type="stmt" count="9"/>
      <line num="102" type="stmt" count="9"/>
      <line num="103" type="stmt" count="9"/>
      <line num="104" type="stmt" count="9"/>
      <line num="105" type="stmt" count="9"/>
      <line num="106" type="stmt" count="9"/>
      <line num="107" type="stmt" count="9"/>
      <line num="108" type="stmt" count="9"/>
      <line num="110" type="stmt" count="9"/>
      <line num="111" type="stmt" count="9"/>
      <line num="113" type="stmt" count="9"/>
      <line num="114" type="stmt" count="9"/>
      <line num="115" type="stmt" count="8"/>
      <line num="116" type="stmt" count="8"/>
      <line num="117" type="stmt" count="8"/>
      <line num="118" type="stmt" count="8"/>
      <line num="119" type="stmt" count="8"/>
      <line num="120" type="stmt" count="8"/>
      <line num="121" type="stmt" count="8"/>
      <line num="122" type="stmt" count="8"/>
      <line num="123" type="stmt" count="8"/>
      <line num="124" type="stmt" count="8"/>
      <line num="125" type="stmt" count="8"/>
      <line num="126" type="stmt" count="8"/>
      <line num="128" type="stmt" count="8"/>
      <line num="130" type="stmt" count="8"/>
      <line num="131" type="stmt" count="8"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="7"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" type="stmt" count="7"/>
      <line num="137" type="stmt" count="7"/>
      <line num="138" type="stmt" count="7"/>
      <line num="139" type="stmt" count="7"/>
      <line num="140" type="stmt" count="7"/>
      <line num="141" type="stmt" count="7"/>
      <line num="142" type="stmt" count="7"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="148" type="stmt" count="8"/>
      <line num="149" type="stmt" count="4"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="155" type="stmt" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="157" type="stmt" count="3"/>
      <line num="162" type="stmt" count="9"/>
      <line num="173" type="method" name="getUserBatch" visibility="private" complexity="5" crap="5.12" count="9"/>
      <line num="174" type="stmt" count="9"/>
      <line num="175" type="stmt" count="9"/>
      <line num="176" type="stmt" count="9"/>
      <line num="177" type="stmt" count="9"/>
      <line num="178" type="stmt" count="9"/>
      <line num="179" type="stmt" count="8"/>
      <line num="180" type="stmt" count="8"/>
      <line num="181" type="stmt" count="9"/>
      <line num="182" type="stmt" count="9"/>
      <line num="183" type="stmt" count="9"/>
      <line num="184" type="stmt" count="9"/>
      <line num="187" type="stmt" count="9"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="194" type="stmt" count="9"/>
      <line num="195" type="stmt" count="7"/>
      <line num="199" type="stmt" count="9"/>
      <line num="205" type="method" name="getParticipantNonPIIAnswers" visibility="private" complexity="4" crap="4" count="3"/>
      <line num="210" type="stmt" count="3"/>
      <line num="211" type="stmt" count="3"/>
      <line num="212" type="stmt" count="2"/>
      <line num="215" type="stmt" count="3"/>
      <line num="216" type="stmt" count="3"/>
      <line num="217" type="stmt" count="3"/>
      <line num="218" type="stmt" count="3"/>
      <line num="219" type="stmt" count="3"/>
      <line num="220" type="stmt" count="3"/>
      <line num="221" type="stmt" count="2"/>
      <line num="223" type="stmt" count="2"/>
      <line num="224" type="stmt" count="2"/>
      <line num="225" type="stmt" count="2"/>
      <line num="226" type="stmt" count="2"/>
      <line num="227" type="stmt" count="2"/>
      <line num="228" type="stmt" count="2"/>
      <line num="231" type="stmt" count="3"/>
      <line num="237" type="method" name="getQuestionAnswer" visibility="private" complexity="3" crap="3.05" count="2"/>
      <line num="238" type="stmt" count="2"/>
      <line num="239" type="stmt" count="2"/>
      <line num="240" type="stmt" count="2"/>
      <line num="241" type="stmt" count="2"/>
      <line num="242" type="stmt" count="2"/>
      <line num="243" type="stmt" count="2"/>
      <line num="244" type="stmt" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="246" type="stmt" count="0"/>
      <line num="248" type="stmt" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="256" type="stmt" count="2"/>
      <line num="257" type="stmt" count="2"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="262" type="stmt" count="2"/>
      <line num="268" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="269" type="stmt" count="12"/>
      <line num="270" type="stmt" count="12"/>
      <line num="271" type="stmt" count="12"/>
      <line num="272" type="stmt" count="12"/>
      <line num="273" type="stmt" count="12"/>
      <line num="274" type="stmt" count="12"/>
      <line num="275" type="stmt" count="12"/>
      <line num="276" type="stmt" count="12"/>
      <line num="277" type="stmt" count="12"/>
      <line num="278" type="stmt" count="12"/>
      <line num="279" type="stmt" count="12"/>
      <line num="280" type="stmt" count="12"/>
      <line num="281" type="stmt" count="12"/>
      <line num="282" type="stmt" count="12"/>
      <line num="283" type="stmt" count="12"/>
      <line num="284" type="stmt" count="12"/>
      <line num="285" type="stmt" count="12"/>
      <line num="286" type="stmt" count="12"/>
      <line num="287" type="stmt" count="12"/>
      <line num="288" type="stmt" count="12"/>
      <line num="289" type="stmt" count="12"/>
      <line num="290" type="stmt" count="12"/>
      <line num="291" type="stmt" count="12"/>
      <metrics loc="294" ncloc="265" classes="1" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="158" coveredstatements="150" elements="165" coveredelements="154"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/PatchWorklistPagesHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\PatchWorklistPagesHandler" namespace="global">
        <metrics complexity="9" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="39" elements="45" coveredelements="45"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="41" type="stmt" count="8"/>
      <line num="44" type="method" name="validate" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="45" type="stmt" count="8"/>
      <line num="46" type="stmt" count="8"/>
      <line num="49" type="method" name="run" visibility="protected" complexity="2" crap="2" count="5"/>
      <line num="51" type="stmt" count="5"/>
      <line num="52" type="stmt" count="1"/>
      <line num="55" type="stmt" count="4"/>
      <line num="57" type="stmt" count="4"/>
      <line num="58" type="stmt" count="4"/>
      <line num="61" type="stmt" count="4"/>
      <line num="62" type="stmt" count="4"/>
      <line num="63" type="stmt" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="67" type="stmt" count="2"/>
      <line num="70" type="method" name="applyOrThrow" visibility="private" complexity="3" crap="3" count="4"/>
      <line num="71" type="stmt" count="4"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="79" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="80" type="stmt" count="8"/>
      <line num="81" type="stmt" count="8"/>
      <line num="82" type="stmt" count="8"/>
      <line num="83" type="stmt" count="8"/>
      <line num="84" type="stmt" count="8"/>
      <line num="85" type="stmt" count="8"/>
      <line num="86" type="stmt" count="8"/>
      <line num="87" type="stmt" count="8"/>
      <line num="91" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="92" type="stmt" count="8"/>
      <line num="93" type="stmt" count="8"/>
      <line num="94" type="stmt" count="8"/>
      <line num="95" type="stmt" count="8"/>
      <line num="96" type="stmt" count="8"/>
      <line num="97" type="stmt" count="8"/>
      <line num="98" type="stmt" count="8"/>
      <line num="99" type="stmt" count="8"/>
      <line num="100" type="stmt" count="8"/>
      <line num="101" type="stmt" count="8"/>
      <line num="102" type="stmt" count="8"/>
      <line num="103" type="stmt" count="8"/>
      <line num="104" type="stmt" count="8"/>
      <line num="105" type="stmt" count="8"/>
      <metrics loc="108" ncloc="91" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="39" elements="45" coveredelements="45"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/RegisterForEventHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\RegisterForEventHandler" namespace="global">
        <metrics complexity="13" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="66" elements="73" coveredelements="70"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="37" type="stmt" count="14"/>
      <line num="42" type="method" name="validate" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="43" type="stmt" count="14"/>
      <line num="44" type="stmt" count="14"/>
      <line num="47" type="method" name="run" visibility="protected" complexity="9" crap="9" count="11"/>
      <line num="48" type="stmt" count="11"/>
      <line num="49" type="stmt" count="11"/>
      <line num="50" type="stmt" count="11"/>
      <line num="52" type="stmt" count="10"/>
      <line num="53" type="stmt" count="10"/>
      <line num="54" type="stmt" count="10"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="10"/>
      <line num="60" type="stmt" count="10"/>
      <line num="61" type="stmt" count="10"/>
      <line num="62" type="stmt" count="10"/>
      <line num="64" type="stmt" count="10"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="9"/>
      <line num="68" type="stmt" count="10"/>
      <line num="69" type="stmt" count="10"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="77" type="stmt" count="9"/>
      <line num="78" type="stmt" count="9"/>
      <line num="79" type="stmt" count="9"/>
      <line num="80" type="stmt" count="9"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="88" type="stmt" count="8"/>
      <line num="89" type="stmt" count="7"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="8"/>
      <line num="92" type="stmt" count="8"/>
      <line num="93" type="stmt" count="8"/>
      <line num="94" type="stmt" count="8"/>
      <line num="95" type="stmt" count="8"/>
      <line num="96" type="stmt" count="8"/>
      <line num="97" type="stmt" count="8"/>
      <line num="98" type="stmt" count="8"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="102" type="stmt" count="6"/>
      <line num="103" type="stmt" count="6"/>
      <line num="104" type="stmt" count="6"/>
      <line num="110" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="111" type="stmt" count="14"/>
      <line num="117" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="118" type="stmt" count="14"/>
      <line num="119" type="stmt" count="14"/>
      <line num="120" type="stmt" count="14"/>
      <line num="121" type="stmt" count="14"/>
      <line num="122" type="stmt" count="14"/>
      <line num="123" type="stmt" count="14"/>
      <line num="126" type="stmt" count="14"/>
      <line num="127" type="stmt" count="14"/>
      <line num="128" type="stmt" count="14"/>
      <line num="129" type="stmt" count="14"/>
      <line num="130" type="stmt" count="14"/>
      <line num="131" type="stmt" count="14"/>
      <line num="132" type="stmt" count="14"/>
      <line num="133" type="stmt" count="14"/>
      <line num="134" type="stmt" count="14"/>
      <line num="135" type="stmt" count="14"/>
      <metrics loc="138" ncloc="126" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="66" elements="73" coveredelements="70"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/RemoveParticipantsFromEventHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\RemoveParticipantsFromEventHandler" namespace="global">
        <metrics complexity="14" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="49" elements="55" coveredelements="55"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="31" type="stmt" count="12"/>
      <line num="36" type="method" name="validate" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="37" type="stmt" count="12"/>
      <line num="38" type="stmt" count="12"/>
      <line num="41" type="method" name="run" visibility="protected" complexity="8" crap="8" count="9"/>
      <line num="42" type="stmt" count="9"/>
      <line num="44" type="stmt" count="9"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="51" type="stmt" count="8"/>
      <line num="52" type="stmt" count="7"/>
      <line num="54" type="stmt" count="6"/>
      <line num="55" type="stmt" count="5"/>
      <line num="56" type="stmt" count="5"/>
      <line num="57" type="stmt" count="5"/>
      <line num="60" type="stmt" count="1"/>
      <line num="63" type="stmt" count="6"/>
      <line num="64" type="stmt" count="6"/>
      <line num="65" type="stmt" count="6"/>
      <line num="66" type="stmt" count="6"/>
      <line num="67" type="stmt" count="6"/>
      <line num="68" type="stmt" count="6"/>
      <line num="69" type="stmt" count="6"/>
      <line num="71" type="stmt" count="6"/>
      <line num="72" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="76" type="stmt" count="4"/>
      <line num="77" type="stmt" count="4"/>
      <line num="83" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="84" type="stmt" count="12"/>
      <line num="90" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="91" type="stmt" count="12"/>
      <line num="92" type="stmt" count="12"/>
      <line num="93" type="stmt" count="12"/>
      <line num="94" type="stmt" count="12"/>
      <line num="95" type="stmt" count="12"/>
      <line num="96" type="stmt" count="12"/>
      <line num="97" type="stmt" count="12"/>
      <line num="98" type="stmt" count="12"/>
      <line num="99" type="stmt" count="12"/>
      <line num="100" type="stmt" count="12"/>
      <line num="101" type="stmt" count="12"/>
      <line num="102" type="stmt" count="12"/>
      <line num="103" type="stmt" count="12"/>
      <line num="106" type="method" name="validateEventWiki" visibility="private" complexity="2" crap="2" count="7"/>
      <line num="107" type="stmt" count="7"/>
      <line num="108" type="stmt" count="7"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <metrics loc="117" ncloc="108" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="49" elements="55" coveredelements="55"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/SetOrganizersHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\SetOrganizersHandler" namespace="global">
        <metrics complexity="11" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="36" elements="42" coveredelements="42"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="30" type="stmt" count="8"/>
      <line num="35" type="method" name="validate" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="36" type="stmt" count="8"/>
      <line num="37" type="stmt" count="8"/>
      <line num="40" type="method" name="validateEventWiki" visibility="private" complexity="2" crap="2" count="5"/>
      <line num="41" type="stmt" count="5"/>
      <line num="42" type="stmt" count="5"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="51" type="method" name="run" visibility="protected" complexity="5" crap="5" count="5"/>
      <line num="52" type="stmt" count="5"/>
      <line num="53" type="stmt" count="5"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="56" type="stmt" count="4"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="63" type="stmt" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="71" type="stmt" count="1"/>
      <line num="77" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="78" type="stmt" count="8"/>
      <line num="84" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="85" type="stmt" count="8"/>
      <line num="86" type="stmt" count="8"/>
      <line num="87" type="stmt" count="8"/>
      <line num="88" type="stmt" count="8"/>
      <line num="89" type="stmt" count="8"/>
      <line num="90" type="stmt" count="8"/>
      <line num="91" type="stmt" count="8"/>
      <line num="92" type="stmt" count="8"/>
      <line num="93" type="stmt" count="8"/>
      <line num="94" type="stmt" count="8"/>
      <metrics loc="98" ncloc="88" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="36" elements="42" coveredelements="42"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Rest/UpdateEventRegistrationHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Rest\UpdateEventRegistrationHandler" namespace="global">
        <metrics complexity="15" methods="7" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="82" coveredstatements="73" elements="89" coveredelements="78"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="46" type="stmt" count="12"/>
      <line num="47" type="stmt" count="12"/>
      <line num="48" type="stmt" count="12"/>
      <line num="49" type="stmt" count="12"/>
      <line num="50" type="stmt" count="12"/>
      <line num="51" type="stmt" count="12"/>
      <line num="52" type="stmt" count="12"/>
      <line num="53" type="stmt" count="12"/>
      <line num="54" type="stmt" count="12"/>
      <line num="55" type="stmt" count="12"/>
      <line num="56" type="stmt" count="12"/>
      <line num="57" type="stmt" count="12"/>
      <line num="63" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="64" type="stmt" count="12"/>
      <line num="70" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="71" type="stmt" count="12"/>
      <line num="72" type="stmt" count="12"/>
      <line num="73" type="stmt" count="12"/>
      <line num="74" type="stmt" count="12"/>
      <line num="75" type="stmt" count="12"/>
      <line num="76" type="stmt" count="12"/>
      <line num="77" type="stmt" count="12"/>
      <line num="80" type="method" name="getSuccessResponse" visibility="protected" complexity="3" crap="5.67" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="95" type="method" name="getExistingEvent" visibility="protected" complexity="2" crap="2" count="9"/>
      <line num="96" type="stmt" count="9"/>
      <line num="97" type="stmt" count="9"/>
      <line num="98" type="stmt" count="8"/>
      <line num="99" type="stmt" count="8"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="107" type="stmt" count="7"/>
      <line num="110" type="method" name="checkPermissions" visibility="protected" complexity="1" crap="1" count="9"/>
      <line num="112" type="stmt" count="9"/>
      <line num="117" type="method" name="createEventObject" visibility="protected" complexity="6" crap="6.01" count="9"/>
      <line num="118" type="stmt" count="9"/>
      <line num="119" type="stmt" count="7"/>
      <line num="120" type="stmt" count="7"/>
      <line num="121" type="stmt" count="7"/>
      <line num="123" type="stmt" count="7"/>
      <line num="124" type="stmt" count="7"/>
      <line num="127" type="stmt" count="7"/>
      <line num="128" type="stmt" count="7"/>
      <line num="129" type="stmt" count="7"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="139" type="stmt" count="7"/>
      <line num="140" type="stmt" count="7"/>
      <line num="142" type="stmt" count="7"/>
      <line num="144" type="stmt" count="7"/>
      <line num="145" type="stmt" count="7"/>
      <line num="146" type="stmt" count="7"/>
      <line num="147" type="stmt" count="7"/>
      <line num="148" type="stmt" count="7"/>
      <line num="149" type="stmt" count="7"/>
      <line num="150" type="stmt" count="7"/>
      <line num="151" type="stmt" count="7"/>
      <line num="152" type="stmt" count="7"/>
      <line num="153" type="stmt" count="7"/>
      <line num="154" type="stmt" count="7"/>
      <line num="155" type="stmt" count="7"/>
      <line num="156" type="stmt" count="7"/>
      <line num="157" type="stmt" count="7"/>
      <line num="158" type="stmt" count="7"/>
      <line num="159" type="stmt" count="7"/>
      <line num="160" type="stmt" count="7"/>
      <line num="161" type="stmt" count="7"/>
      <line num="162" type="stmt" count="7"/>
      <line num="163" type="stmt" count="7"/>
      <line num="164" type="stmt" count="7"/>
      <line num="165" type="stmt" count="7"/>
      <line num="166" type="stmt" count="7"/>
      <line num="167" type="stmt" count="7"/>
      <line num="168" type="stmt" count="7"/>
      <line num="169" type="stmt" count="7"/>
      <line num="170" type="stmt" count="7"/>
      <line num="171" type="stmt" count="7"/>
      <metrics loc="174" ncloc="158" classes="1" methods="7" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="82" coveredstatements="73" elements="89" coveredelements="78"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/ServiceWiring.php">
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="391" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="468" type="stmt" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="484" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="505" type="stmt" count="0"/>
      <line num="506" type="stmt" count="0"/>
      <line num="507" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="510" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="513" type="stmt" count="0"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="518" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="525" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="530" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="532" type="stmt" count="0"/>
      <line num="533" type="stmt" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="535" type="stmt" count="0"/>
      <line num="536" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="545" type="stmt" count="0"/>
      <line num="546" type="stmt" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="549" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="551" type="stmt" count="0"/>
      <line num="552" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="555" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="558" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="560" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="562" type="stmt" count="0"/>
      <line num="563" type="stmt" count="0"/>
      <line num="564" type="stmt" count="0"/>
      <line num="565" type="stmt" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="567" type="stmt" count="0"/>
      <line num="568" type="stmt" count="0"/>
      <line num="569" type="stmt" count="0"/>
      <line num="570" type="stmt" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="572" type="stmt" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="574" type="stmt" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="576" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="578" type="stmt" count="0"/>
      <line num="579" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="585" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="595" type="stmt" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <line num="597" type="stmt" count="0"/>
      <metrics loc="598" ncloc="594" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="511" coveredstatements="0" elements="511" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/AbstractEventRegistrationSpecialPage.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\AbstractEventRegistrationSpecialPage" namespace="global">
        <metrics complexity="107" methods="16" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="599" coveredstatements="4" elements="615" coveredelements="5"/>
      </class>
      <line num="88" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="117" type="method" name="execute" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="171" type="method" name="outputErrorBox" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="192" type="method" name="getFormFields" visibility="protected" complexity="44" crap="1980" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="391" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="468" type="stmt" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="484" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="494" type="stmt" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="506" type="stmt" count="0"/>
      <line num="507" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="510" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="513" type="stmt" count="0"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="518" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="530" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="532" type="stmt" count="0"/>
      <line num="533" type="stmt" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="535" type="stmt" count="0"/>
      <line num="536" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="545" type="stmt" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="552" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="555" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="558" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="562" type="stmt" count="0"/>
      <line num="564" type="stmt" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="567" type="stmt" count="0"/>
      <line num="568" type="stmt" count="0"/>
      <line num="569" type="stmt" count="0"/>
      <line num="570" type="stmt" count="0"/>
      <line num="572" type="stmt" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="578" type="stmt" count="0"/>
      <line num="579" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="595" type="stmt" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <line num="597" type="stmt" count="0"/>
      <line num="599" type="stmt" count="0"/>
      <line num="600" type="stmt" count="0"/>
      <line num="601" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="612" type="method" name="getParticipantQuestionsFields" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="613" type="stmt" count="0"/>
      <line num="615" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="617" type="stmt" count="0"/>
      <line num="618" type="stmt" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="620" type="stmt" count="0"/>
      <line num="621" type="stmt" count="0"/>
      <line num="622" type="stmt" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="625" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="630" type="stmt" count="0"/>
      <line num="635" type="stmt" count="0"/>
      <line num="636" type="stmt" count="0"/>
      <line num="637" type="stmt" count="0"/>
      <line num="638" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="645" type="stmt" count="0"/>
      <line num="646" type="stmt" count="0"/>
      <line num="647" type="stmt" count="0"/>
      <line num="648" type="stmt" count="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="651" type="stmt" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="655" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="666" type="method" name="convertTimezoneForForm" visibility="public" complexity="2" crap="2" count="7"/>
      <line num="667" type="stmt" count="7"/>
      <line num="668" type="stmt" count="7"/>
      <line num="669" type="stmt" count="6"/>
      <line num="671" type="stmt" count="1"/>
      <line num="677" type="method" name="alterForm" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="678" type="stmt" count="0"/>
      <line num="679" type="stmt" count="0"/>
      <line num="680" type="stmt" count="0"/>
      <line num="681" type="stmt" count="0"/>
      <line num="682" type="stmt" count="0"/>
      <line num="683" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <line num="691" type="stmt" count="0"/>
      <line num="692" type="stmt" count="0"/>
      <line num="693" type="stmt" count="0"/>
      <line num="694" type="stmt" count="0"/>
      <line num="695" type="stmt" count="0"/>
      <line num="696" type="stmt" count="0"/>
      <line num="697" type="stmt" count="0"/>
      <line num="698" type="stmt" count="0"/>
      <line num="699" type="stmt" count="0"/>
      <line num="700" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="705" type="stmt" count="0"/>
      <line num="708" type="stmt" count="0"/>
      <line num="709" type="stmt" count="0"/>
      <line num="710" type="stmt" count="0"/>
      <line num="713" type="stmt" count="0"/>
      <line num="714" type="stmt" count="0"/>
      <line num="715" type="stmt" count="0"/>
      <line num="716" type="stmt" count="0"/>
      <line num="717" type="stmt" count="0"/>
      <line num="718" type="stmt" count="0"/>
      <line num="719" type="stmt" count="0"/>
      <line num="723" type="method" name="parseSubmittedTimezone" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="724" type="stmt" count="0"/>
      <line num="725" type="stmt" count="0"/>
      <line num="726" type="stmt" count="0"/>
      <line num="727" type="stmt" count="0"/>
      <line num="728" type="stmt" count="0"/>
      <line num="729" type="stmt" count="0"/>
      <line num="734" type="stmt" count="0"/>
      <line num="735" type="stmt" count="0"/>
      <line num="736" type="stmt" count="0"/>
      <line num="739" type="stmt" count="0"/>
      <line num="746" type="method" name="onSubmit" visibility="public" complexity="23" crap="552" count="0"/>
      <line num="747" type="stmt" count="0"/>
      <line num="752" type="stmt" count="0"/>
      <line num="753" type="stmt" count="0"/>
      <line num="754" type="stmt" count="0"/>
      <line num="755" type="stmt" count="0"/>
      <line num="759" type="stmt" count="0"/>
      <line num="760" type="stmt" count="0"/>
      <line num="762" type="stmt" count="0"/>
      <line num="763" type="stmt" count="0"/>
      <line num="764" type="stmt" count="0"/>
      <line num="765" type="stmt" count="0"/>
      <line num="766" type="stmt" count="0"/>
      <line num="767" type="stmt" count="0"/>
      <line num="770" type="stmt" count="0"/>
      <line num="771" type="stmt" count="0"/>
      <line num="774" type="stmt" count="0"/>
      <line num="776" type="stmt" count="0"/>
      <line num="778" type="stmt" count="0"/>
      <line num="780" type="stmt" count="0"/>
      <line num="781" type="stmt" count="0"/>
      <line num="783" type="stmt" count="0"/>
      <line num="784" type="stmt" count="0"/>
      <line num="787" type="stmt" count="0"/>
      <line num="791" type="stmt" count="0"/>
      <line num="792" type="stmt" count="0"/>
      <line num="793" type="stmt" count="0"/>
      <line num="794" type="stmt" count="0"/>
      <line num="795" type="stmt" count="0"/>
      <line num="797" type="stmt" count="0"/>
      <line num="800" type="stmt" count="0"/>
      <line num="801" type="stmt" count="0"/>
      <line num="803" type="stmt" count="0"/>
      <line num="805" type="stmt" count="0"/>
      <line num="806" type="stmt" count="0"/>
      <line num="807" type="stmt" count="0"/>
      <line num="809" type="stmt" count="0"/>
      <line num="812" type="stmt" count="0"/>
      <line num="816" type="stmt" count="0"/>
      <line num="817" type="stmt" count="0"/>
      <line num="818" type="stmt" count="0"/>
      <line num="820" type="stmt" count="0"/>
      <line num="824" type="stmt" count="0"/>
      <line num="825" type="stmt" count="0"/>
      <line num="826" type="stmt" count="0"/>
      <line num="827" type="stmt" count="0"/>
      <line num="828" type="stmt" count="0"/>
      <line num="830" type="stmt" count="0"/>
      <line num="831" type="stmt" count="0"/>
      <line num="832" type="stmt" count="0"/>
      <line num="833" type="stmt" count="0"/>
      <line num="834" type="stmt" count="0"/>
      <line num="835" type="stmt" count="0"/>
      <line num="836" type="stmt" count="0"/>
      <line num="837" type="stmt" count="0"/>
      <line num="838" type="stmt" count="0"/>
      <line num="839" type="stmt" count="0"/>
      <line num="840" type="stmt" count="0"/>
      <line num="841" type="stmt" count="0"/>
      <line num="842" type="stmt" count="0"/>
      <line num="843" type="stmt" count="0"/>
      <line num="844" type="stmt" count="0"/>
      <line num="845" type="stmt" count="0"/>
      <line num="846" type="stmt" count="0"/>
      <line num="847" type="stmt" count="0"/>
      <line num="848" type="stmt" count="0"/>
      <line num="849" type="stmt" count="0"/>
      <line num="850" type="stmt" count="0"/>
      <line num="851" type="stmt" count="0"/>
      <line num="852" type="stmt" count="0"/>
      <line num="853" type="stmt" count="0"/>
      <line num="854" type="stmt" count="0"/>
      <line num="857" type="stmt" count="0"/>
      <line num="858" type="stmt" count="0"/>
      <line num="859" type="stmt" count="0"/>
      <line num="860" type="stmt" count="0"/>
      <line num="862" type="stmt" count="0"/>
      <line num="863" type="stmt" count="0"/>
      <line num="864" type="stmt" count="0"/>
      <line num="865" type="stmt" count="0"/>
      <line num="866" type="stmt" count="0"/>
      <line num="867" type="stmt" count="0"/>
      <line num="868" type="stmt" count="0"/>
      <line num="869" type="stmt" count="0"/>
      <line num="870" type="stmt" count="0"/>
      <line num="871" type="stmt" count="0"/>
      <line num="872" type="stmt" count="0"/>
      <line num="874" type="stmt" count="0"/>
      <line num="876" type="stmt" count="0"/>
      <line num="877" type="stmt" count="0"/>
      <line num="880" type="method" name="getTimezone" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="884" type="stmt" count="0"/>
      <line num="885" type="stmt" count="0"/>
      <line num="886" type="stmt" count="0"/>
      <line num="888" type="stmt" count="0"/>
      <line num="890" type="stmt" count="0"/>
      <line num="892" type="stmt" count="0"/>
      <line num="893" type="stmt" count="0"/>
      <line num="894" type="stmt" count="0"/>
      <line num="898" type="stmt" count="0"/>
      <line num="904" type="method" name="getOrganizerUsernames" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="905" type="stmt" count="0"/>
      <line num="906" type="stmt" count="0"/>
      <line num="908" type="stmt" count="0"/>
      <line num="909" type="stmt" count="0"/>
      <line num="910" type="stmt" count="0"/>
      <line num="911" type="stmt" count="0"/>
      <line num="912" type="stmt" count="0"/>
      <line num="913" type="stmt" count="0"/>
      <line num="914" type="stmt" count="0"/>
      <line num="916" type="stmt" count="0"/>
      <line num="917" type="stmt" count="0"/>
      <line num="922" type="stmt" count="0"/>
      <line num="928" type="method" name="onSuccess" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="929" type="stmt" count="0"/>
      <line num="930" type="stmt" count="0"/>
      <line num="931" type="stmt" count="0"/>
      <line num="934" type="stmt" count="0"/>
      <line num="935" type="stmt" count="0"/>
      <line num="936" type="stmt" count="0"/>
      <line num="937" type="stmt" count="0"/>
      <line num="938" type="stmt" count="0"/>
      <line num="939" type="stmt" count="0"/>
      <line num="940" type="stmt" count="0"/>
      <line num="941" type="stmt" count="0"/>
      <line num="942" type="stmt" count="0"/>
      <line num="943" type="stmt" count="0"/>
      <line num="944" type="stmt" count="0"/>
      <line num="946" type="stmt" count="0"/>
      <line num="952" type="method" name="getDisplayFormat" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="953" type="stmt" count="0"/>
      <line num="959" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="960" type="stmt" count="0"/>
      <line num="966" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="967" type="stmt" count="0"/>
      <line num="973" type="method" name="getMessagePrefix" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="974" type="stmt" count="0"/>
      <metrics loc="979" ncloc="868" classes="1" methods="16" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="599" coveredstatements="4" elements="615" coveredelements="5"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/ChangeRegistrationSpecialPageBase.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\ChangeRegistrationSpecialPageBase" namespace="global">
        <metrics complexity="21" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="86" coveredstatements="0" elements="97" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="32" type="method" name="execute" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="94" type="method" name="checkRegistrationPrecondition" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="102" type="method" name="checkEventIsValid" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="109" type="method" name="getDisplayFormat" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="116" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="123" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="130" type="method" name="getMessagePrefix" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="134" type="method" name="checkEventExists" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="157" type="method" name="showEventIDForm" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="176" type="method" name="onFormSubmit" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <metrics loc="183" ncloc="154" classes="1" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="86" coveredstatements="0" elements="97" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/InvitationFeatureAccessTrait.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\InvitationFeatureAccessTrait" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="11" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="checkInvitationFeatureAccess" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <metrics loc="39" ncloc="30" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="11" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialAllEvents.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialAllEvents" namespace="global">
        <metrics complexity="35" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="264" coveredstatements="0" elements="274" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="47" type="method" name="execute" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="94" type="method" name="getQueryParametersForTransclusionLink" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="109" type="method" name="getFormAndEvents" visibility="public" complexity="13" crap="182" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="219" type="method" name="getHTMLForm" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="332" type="method" name="getAccordionTemplate" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="354" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="358" type="method" name="formatDate" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="367" type="method" name="getLayout" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="391" type="method" name="normalizeFilterValues" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <metrics loc="400" ncloc="376" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="264" coveredstatements="0" elements="274" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialCancelEventRegistration.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialCancelEventRegistration" namespace="global">
        <metrics complexity="10" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="38" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="32" type="method" name="checkRegistrationPrecondition" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="51" type="method" name="getFormFields" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="63" type="method" name="alterForm" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="72" type="method" name="onSubmit" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="82" type="method" name="onSuccess" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="94" type="method" name="requiresUnblock" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="101" type="method" name="checkEventIsValid" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <metrics loc="105" ncloc="82" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="38" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialDeleteEventRegistration.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialDeleteEventRegistration" namespace="global">
        <metrics complexity="14" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="0" elements="66" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="37" type="method" name="execute" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="93" type="method" name="userCanExecute" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="101" type="method" name="getFormFields" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="113" type="method" name="alterForm" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="122" type="method" name="onSubmit" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="129" type="method" name="onSuccess" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="138" type="method" name="getDisplayFormat" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="145" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="152" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <metrics loc="156" ncloc="126" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="0" elements="66" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialEditEventRegistration.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialEditEventRegistration" namespace="global">
        <metrics complexity="14" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="0" elements="82" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="74" type="method" name="getFormMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="84" type="method" name="execute" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="134" type="method" name="getValidationFlags" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="141" type="method" name="getShowAlways" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="145" type="method" name="showEventIDForm" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="162" type="method" name="onFormSubmit" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <metrics loc="169" ncloc="159" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="0" elements="82" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialEnableEventRegistration.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialEnableEventRegistration" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="29" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="method" name="getRestriction" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="73" type="method" name="getFormMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="method" name="getValidationFlags" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <metrics loc="84" ncloc="81" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="29" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialEventDetails.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialEventDetails" namespace="global">
        <metrics complexity="24" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="199" coveredstatements="0" elements="205" coveredelements="0"/>
      </class>
      <line num="52" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="69" type="method" name="execute" visibility="public" complexity="19" crap="380" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="292" type="method" name="outputErrorBox" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="302" type="method" name="createTab" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="320" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="327" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <metrics loc="331" ncloc="313" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="199" coveredstatements="0" elements="205" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialGenerateInvitationList.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialGenerateInvitationList" namespace="global">
        <metrics complexity="16" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="0" elements="86" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="38" type="method" name="execute" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="54" type="method" name="getFormFields" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="100" type="method" name="alterForm" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="108" type="method" name="onSubmit" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="133" type="method" name="onSuccess" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="144" type="method" name="makePageMapFromInput" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="155" type="method" name="getDisplayFormat" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="162" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="169" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <metrics loc="173" ncloc="142" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="0" elements="86" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialInvitationList.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialInvitationList" namespace="global">
        <metrics complexity="26" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="139" coveredstatements="0" elements="148" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="47" type="method" name="execute" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="61" type="method" name="maybeDisplayList" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="120" type="method" name="displayList" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="187" type="method" name="getArticleListLinks" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="206" type="method" name="splitUsersByScore" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="224" type="method" name="getUserLinks" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="237" type="method" name="formatAsList" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="258" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <metrics loc="262" ncloc="239" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="139" coveredstatements="0" elements="148" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialMyEvents.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialMyEvents" namespace="global">
        <metrics complexity="6" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="67" coveredstatements="0" elements="71" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="29" type="method" name="execute" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="method" name="showFormAndEvents" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="110" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <metrics loc="114" ncloc="106" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="67" coveredstatements="0" elements="71" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialMyInvitationLists.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialMyInvitationLists" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="33" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="31" type="method" name="execute" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="66" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <metrics loc="70" ncloc="64" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="33" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Special/SpecialRegisterForEvent.php">
      <class name="MediaWiki\Extension\CampaignEvents\Special\SpecialRegisterForEvent" namespace="global">
        <metrics complexity="32" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="175" coveredstatements="0" elements="184" coveredelements="0"/>
      </class>
      <line num="52" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="72" type="method" name="getForm" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="97" type="method" name="getFormFields" visibility="protected" complexity="6" crap="42" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="159" type="method" name="addParticipantQuestionFields" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="223" type="method" name="alterForm" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="247" type="method" name="onSubmit" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="280" type="method" name="onSuccess" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="302" type="method" name="getShowAlways" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="309" type="method" name="checkEventIsValid" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <metrics loc="332" ncloc="277" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="175" coveredstatements="0" elements="184" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Time/EventTimeFormatter.php">
      <class name="MediaWiki\Extension\CampaignEvents\Time\EventTimeFormatter" namespace="global">
        <metrics complexity="11" methods="8" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="18" elements="40" coveredelements="23"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="method" name="formatStart" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="39" type="stmt" count="3"/>
      <line num="42" type="method" name="formatEnd" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="56" type="method" name="formatTimeInternal" visibility="private" complexity="2" crap="2" count="6"/>
      <line num="62" type="stmt" count="6"/>
      <line num="63" type="stmt" count="6"/>
      <line num="64" type="stmt" count="6"/>
      <line num="65" type="stmt" count="6"/>
      <line num="66" type="stmt" count="6"/>
      <line num="67" type="stmt" count="6"/>
      <line num="68" type="stmt" count="6"/>
      <line num="71" type="method" name="formatTimezone" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="72" type="stmt" count="6"/>
      <line num="73" type="stmt" count="6"/>
      <line num="74" type="stmt" count="6"/>
      <line num="75" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="85" type="method" name="getTimeCorrection" visibility="private" complexity="2" crap="2" count="12"/>
      <line num="86" type="stmt" count="12"/>
      <line num="87" type="stmt" count="4"/>
      <line num="89" type="stmt" count="8"/>
      <line num="90" type="stmt" count="8"/>
      <line num="97" type="method" name="wrapRangeForConversion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="113" type="method" name="wrapTimeZoneForConversion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <metrics loc="120" ncloc="97" classes="1" methods="8" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="18" elements="40" coveredelements="23"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Time/FormattedTime.php">
      <class name="MediaWiki\Extension\CampaignEvents\Time\FormattedTime" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="8" coveredelements="8"/>
      </class>
      <line num="12" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="17" type="stmt" count="1"/>
      <line num="19" type="method" name="getTime" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <line num="23" type="method" name="getDate" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="27" type="method" name="getTimeAndDate" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <metrics loc="31" ncloc="27" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="8" coveredelements="8"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Topics/EmptyTopicRegistry.php">
      <class name="MediaWiki\Extension\CampaignEvents\Topics\EmptyTopicRegistry" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="6" coveredelements="6"/>
      </class>
      <line num="7" type="method" name="getAllTopics" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="8" type="stmt" count="1"/>
      <line num="11" type="method" name="getTopicsForSelect" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="12" type="stmt" count="1"/>
      <line num="19" type="method" name="getTopicMessages" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <metrics loc="23" ncloc="19" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Topics/ITopicRegistry.php">
      <metrics loc="32" ncloc="15" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Topics/WikimediaTopicRegistry.php">
      <class name="MediaWiki\Extension\CampaignEvents\Topics\WikimediaTopicRegistry" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="13" coveredelements="0"/>
      </class>
      <line num="13" type="method" name="getAllTopics" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <line num="17" type="method" name="getTopicsForSelect" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="method" name="getTopicMessages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <metrics loc="34" ncloc="30" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="13" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/TrackingTool/InvalidToolURLException.php">
      <class name="MediaWiki\Extension\CampaignEvents\TrackingTool\InvalidToolURLException" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="10" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <line num="17" type="method" name="getExpectedBaseURL" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <metrics loc="21" ncloc="21" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/TrackingTool/Tool/TrackingTool.php">
      <class name="MediaWiki\Extension\CampaignEvents\TrackingTool\Tool\TrackingTool" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="2" elements="4" coveredelements="4"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="48" type="method" name="getDBID" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <metrics loc="172" ncloc="96" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="2" elements="4" coveredelements="4"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/TrackingTool/Tool/WikiEduDashboard.php">
      <class name="MediaWiki\Extension\CampaignEvents\TrackingTool\Tool\WikiEduDashboard" namespace="global">
        <metrics complexity="53" methods="19" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="173" coveredstatements="163" elements="192" coveredelements="177"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="105"/>
      <line num="40" type="stmt" count="105"/>
      <line num="41" type="stmt" count="105"/>
      <line num="42" type="stmt" count="105"/>
      <line num="48" type="method" name="validateToolAddition" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="53" type="stmt" count="11"/>
      <line num="59" type="method" name="addToNewEvent" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="65" type="stmt" count="11"/>
      <line num="71" type="method" name="addToExistingEvent" visibility="public" complexity="2" crap="2" count="11"/>
      <line num="76" type="stmt" count="11"/>
      <line num="77" type="stmt" count="11"/>
      <line num="78" type="stmt" count="10"/>
      <line num="83" type="stmt" count="1"/>
      <line num="92" type="method" name="makeNewEventRequest" visibility="private" complexity="2" crap="2" count="33"/>
      <line num="98" type="stmt" count="33"/>
      <line num="99" type="stmt" count="33"/>
      <line num="100" type="stmt" count="33"/>
      <line num="101" type="stmt" count="33"/>
      <line num="102" type="stmt" count="33"/>
      <line num="103" type="stmt" count="33"/>
      <line num="104" type="stmt" count="33"/>
      <line num="105" type="stmt" count="33"/>
      <line num="106" type="stmt" count="33"/>
      <line num="107" type="stmt" count="33"/>
      <line num="108" type="stmt" count="33"/>
      <line num="109" type="stmt" count="33"/>
      <line num="110" type="stmt" count="33"/>
      <line num="111" type="stmt" count="33"/>
      <line num="112" type="stmt" count="33"/>
      <line num="118" type="method" name="validateToolRemoval" visibility="public" complexity="3" crap="3.01" count="9"/>
      <line num="119" type="stmt" count="9"/>
      <line num="120" type="stmt" count="9"/>
      <line num="121" type="stmt" count="9"/>
      <line num="122" type="stmt" count="9"/>
      <line num="123" type="stmt" count="9"/>
      <line num="124" type="stmt" count="9"/>
      <line num="126" type="stmt" count="9"/>
      <line num="127" type="stmt" count="9"/>
      <line num="131" type="stmt" count="0"/>
      <line num="133" type="stmt" count="9"/>
      <line num="139" type="method" name="removeFromEvent" visibility="public" complexity="3" crap="3.01" count="9"/>
      <line num="140" type="stmt" count="9"/>
      <line num="141" type="stmt" count="9"/>
      <line num="142" type="stmt" count="9"/>
      <line num="143" type="stmt" count="9"/>
      <line num="144" type="stmt" count="9"/>
      <line num="145" type="stmt" count="9"/>
      <line num="147" type="stmt" count="9"/>
      <line num="148" type="stmt" count="9"/>
      <line num="152" type="stmt" count="0"/>
      <line num="154" type="stmt" count="9"/>
      <line num="157" type="method" name="validateEventDeletion" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="158" type="stmt" count="9"/>
      <line num="161" type="method" name="onEventDeleted" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="162" type="stmt" count="9"/>
      <line num="165" type="method" name="validateParticipantAdded" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="171" type="stmt" count="9"/>
      <line num="174" type="method" name="addParticipant" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="182" type="stmt" count="9"/>
      <line num="188" type="method" name="validateParticipantsRemoved" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="194" type="stmt" count="9"/>
      <line num="200" type="method" name="removeParticipants" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="206" type="stmt" count="9"/>
      <line num="209" type="method" name="syncParticipants" visibility="private" complexity="1" crap="1" count="36"/>
      <line num="214" type="stmt" count="36"/>
      <line num="215" type="stmt" count="36"/>
      <line num="216" type="stmt" count="36"/>
      <line num="217" type="stmt" count="36"/>
      <line num="218" type="stmt" count="36"/>
      <line num="219" type="stmt" count="36"/>
      <line num="220" type="stmt" count="36"/>
      <line num="221" type="stmt" count="36"/>
      <line num="222" type="stmt" count="36"/>
      <line num="223" type="stmt" count="36"/>
      <line num="224" type="stmt" count="36"/>
      <line num="225" type="stmt" count="36"/>
      <line num="226" type="stmt" count="36"/>
      <line num="227" type="stmt" count="36"/>
      <line num="228" type="stmt" count="36"/>
      <line num="229" type="stmt" count="36"/>
      <line num="230" type="stmt" count="36"/>
      <line num="231" type="stmt" count="36"/>
      <line num="232" type="stmt" count="36"/>
      <line num="233" type="stmt" count="36"/>
      <line num="234" type="stmt" count="36"/>
      <line num="235" type="stmt" count="36"/>
      <line num="236" type="stmt" count="36"/>
      <line num="237" type="stmt" count="36"/>
      <line num="238" type="stmt" count="36"/>
      <line num="248" type="method" name="makePostRequest" visibility="private" complexity="5" crap="5" count="105"/>
      <line num="255" type="stmt" count="105"/>
      <line num="256" type="stmt" count="105"/>
      <line num="257" type="stmt" count="105"/>
      <line num="258" type="stmt" count="105"/>
      <line num="259" type="stmt" count="105"/>
      <line num="260" type="stmt" count="105"/>
      <line num="261" type="stmt" count="94"/>
      <line num="263" type="stmt" count="105"/>
      <line num="264" type="stmt" count="105"/>
      <line num="265" type="stmt" count="105"/>
      <line num="266" type="stmt" count="105"/>
      <line num="267" type="stmt" count="105"/>
      <line num="268" type="stmt" count="105"/>
      <line num="269" type="stmt" count="105"/>
      <line num="270" type="stmt" count="0"/>
      <line num="272" type="stmt" count="105"/>
      <line num="273" type="stmt" count="105"/>
      <line num="274" type="stmt" count="105"/>
      <line num="275" type="stmt" count="105"/>
      <line num="276" type="stmt" count="105"/>
      <line num="277" type="stmt" count="105"/>
      <line num="279" type="stmt" count="105"/>
      <line num="280" type="stmt" count="105"/>
      <line num="281" type="stmt" count="105"/>
      <line num="282" type="stmt" count="44"/>
      <line num="284" type="stmt" count="61"/>
      <line num="285" type="stmt" count="19"/>
      <line num="287" type="stmt" count="42"/>
      <line num="291" type="method" name="parseResponseJSON" visibility="private" complexity="5" crap="5" count="105"/>
      <line num="292" type="stmt" count="105"/>
      <line num="293" type="stmt" count="105"/>
      <line num="294" type="stmt" count="11"/>
      <line num="296" type="stmt" count="94"/>
      <line num="297" type="stmt" count="94"/>
      <line num="298" type="stmt" count="11"/>
      <line num="302" type="stmt" count="83"/>
      <line num="303" type="stmt" count="11"/>
      <line num="304" type="stmt" count="11"/>
      <line num="307" type="stmt" count="72"/>
      <line num="314" type="method" name="makeErrorStatus" visibility="private" complexity="10" crap="10.27" count="42"/>
      <line num="315" type="stmt" count="42"/>
      <line num="316" type="stmt" count="11"/>
      <line num="319" type="stmt" count="31"/>
      <line num="320" type="stmt" count="31"/>
      <line num="321" type="stmt" count="11"/>
      <line num="322" type="stmt" count="11"/>
      <line num="323" type="stmt" count="11"/>
      <line num="324" type="stmt" count="20"/>
      <line num="325" type="stmt" count="7"/>
      <line num="326" type="stmt" count="7"/>
      <line num="327" type="stmt" count="7"/>
      <line num="328" type="stmt" count="7"/>
      <line num="329" type="stmt" count="7"/>
      <line num="330" type="stmt" count="7"/>
      <line num="331" type="stmt" count="13"/>
      <line num="332" type="stmt" count="3"/>
      <line num="333" type="stmt" count="3"/>
      <line num="334" type="stmt" count="3"/>
      <line num="335" type="stmt" count="10"/>
      <line num="336" type="stmt" count="3"/>
      <line num="337" type="stmt" count="3"/>
      <line num="338" type="stmt" count="3"/>
      <line num="339" type="stmt" count="7"/>
      <line num="340" type="stmt" count="3"/>
      <line num="341" type="stmt" count="3"/>
      <line num="342" type="stmt" count="3"/>
      <line num="343" type="stmt" count="4"/>
      <line num="344" type="stmt" count="4"/>
      <line num="345" type="stmt" count="4"/>
      <line num="346" type="stmt" count="4"/>
      <line num="347" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="355" type="stmt" count="31"/>
      <line num="361" type="method" name="buildToolEventURL" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="362" type="stmt" count="4"/>
      <line num="368" type="method" name="extractEventIDFromURL" visibility="public" complexity="12" crap="12.09" count="19"/>
      <line num="369" type="stmt" count="19"/>
      <line num="371" type="stmt" count="1"/>
      <line num="373" type="stmt" count="18"/>
      <line num="374" type="stmt" count="18"/>
      <line num="376" type="stmt" count="4"/>
      <line num="379" type="stmt" count="19"/>
      <line num="380" type="stmt" count="1"/>
      <line num="382" type="stmt" count="18"/>
      <line num="384" type="stmt" count="0"/>
      <line num="386" type="stmt" count="18"/>
      <line num="387" type="stmt" count="0"/>
      <line num="389" type="stmt" count="18"/>
      <line num="390" type="stmt" count="18"/>
      <line num="391" type="stmt" count="1"/>
      <line num="393" type="stmt" count="17"/>
      <line num="394" type="stmt" count="17"/>
      <line num="395" type="stmt" count="2"/>
      <line num="397" type="stmt" count="15"/>
      <line num="398" type="stmt" count="2"/>
      <line num="401" type="stmt" count="13"/>
      <line num="402" type="stmt" count="13"/>
      <line num="403" type="stmt" count="6"/>
      <line num="406" type="stmt" count="7"/>
      <metrics loc="409" ncloc="347" classes="1" methods="19" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="173" coveredstatements="163" elements="192" coveredelements="177"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/TrackingTool/ToolNotFoundException.php">
      <class name="MediaWiki\Extension\CampaignEvents\TrackingTool\ToolNotFoundException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="11" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/TrackingTool/TrackingToolAssociation.php">
      <class name="MediaWiki\Extension\CampaignEvents\TrackingTool\TrackingToolAssociation" namespace="global">
        <metrics complexity="8" methods="8" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="11" elements="31" coveredelements="17"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="41" type="method" name="getToolID" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="45" type="method" name="getToolEventID" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="49" type="method" name="getSyncStatus" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="56" type="method" name="getLastSyncTimestamp" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="63" type="method" name="asUpdatedWith" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="76" type="method" name="toJsonArray" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="89" type="method" name="newFromJsonArray" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <metrics loc="98" ncloc="68" classes="1" methods="8" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="11" elements="31" coveredelements="17"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/TrackingTool/TrackingToolEventWatcher.php">
      <class name="MediaWiki\Extension\CampaignEvents\TrackingTool\TrackingToolEventWatcher" namespace="global">
        <metrics complexity="40" methods="13" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="159" coveredstatements="149" elements="172" coveredelements="161"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="50"/>
      <line num="41" type="stmt" count="50"/>
      <line num="47" type="method" name="validateEventCreation" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="2"/>
      <line num="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="1"/>
      <line num="55" type="stmt" count="2"/>
      <line num="68" type="method" name="onEventCreated" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="85" type="stmt" count="3"/>
      <line num="86" type="stmt" count="3"/>
      <line num="94" type="method" name="validateEventUpdate" visibility="public" complexity="5" crap="5" count="12"/>
      <line num="99" type="stmt" count="12"/>
      <line num="101" type="stmt" count="12"/>
      <line num="102" type="stmt" count="8"/>
      <line num="103" type="stmt" count="8"/>
      <line num="104" type="stmt" count="8"/>
      <line num="105" type="stmt" count="3"/>
      <line num="109" type="stmt" count="9"/>
      <line num="110" type="stmt" count="6"/>
      <line num="111" type="stmt" count="6"/>
      <line num="112" type="stmt" count="6"/>
      <line num="113" type="stmt" count="3"/>
      <line num="117" type="stmt" count="6"/>
      <line num="131" type="method" name="onEventUpdated" visibility="public" complexity="6" crap="6" count="14"/>
      <line num="136" type="stmt" count="14"/>
      <line num="138" type="stmt" count="14"/>
      <line num="139" type="stmt" count="14"/>
      <line num="140" type="stmt" count="14"/>
      <line num="141" type="stmt" count="10"/>
      <line num="142" type="stmt" count="10"/>
      <line num="143" type="stmt" count="10"/>
      <line num="144" type="stmt" count="5"/>
      <line num="145" type="stmt" count="5"/>
      <line num="147" type="stmt" count="5"/>
      <line num="151" type="stmt" count="14"/>
      <line num="154" type="stmt" count="5"/>
      <line num="155" type="stmt" count="5"/>
      <line num="158" type="stmt" count="9"/>
      <line num="159" type="stmt" count="6"/>
      <line num="160" type="stmt" count="6"/>
      <line num="161" type="stmt" count="6"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="165" type="stmt" count="3"/>
      <line num="167" type="stmt" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="172" type="stmt" count="9"/>
      <line num="173" type="stmt" count="9"/>
      <line num="183" type="method" name="splitToolsForEventUpdate" visibility="private" complexity="3" crap="3" count="26"/>
      <line num="187" type="stmt" count="26"/>
      <line num="188" type="stmt" count="26"/>
      <line num="191" type="stmt" count="26"/>
      <line num="192" type="stmt" count="26"/>
      <line num="193" type="stmt" count="20"/>
      <line num="194" type="stmt" count="20"/>
      <line num="196" type="stmt" count="26"/>
      <line num="197" type="stmt" count="26"/>
      <line num="198" type="stmt" count="20"/>
      <line num="199" type="stmt" count="20"/>
      <line num="202" type="stmt" count="26"/>
      <line num="203" type="stmt" count="26"/>
      <line num="204" type="stmt" count="26"/>
      <line num="205" type="stmt" count="26"/>
      <line num="208" type="method" name="validateEventDeletion" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="209" type="stmt" count="3"/>
      <line num="210" type="stmt" count="2"/>
      <line num="211" type="stmt" count="2"/>
      <line num="212" type="stmt" count="2"/>
      <line num="213" type="stmt" count="1"/>
      <line num="216" type="stmt" count="2"/>
      <line num="224" type="method" name="onEventDeleted" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="225" type="stmt" count="3"/>
      <line num="226" type="stmt" count="3"/>
      <line num="227" type="stmt" count="2"/>
      <line num="228" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="230" type="stmt" count="2"/>
      <line num="231" type="stmt" count="2"/>
      <line num="232" type="stmt" count="1"/>
      <line num="233" type="stmt" count="1"/>
      <line num="234" type="stmt" count="1"/>
      <line num="235" type="stmt" count="1"/>
      <line num="236" type="stmt" count="1"/>
      <line num="237" type="stmt" count="1"/>
      <line num="239" type="stmt" count="1"/>
      <line num="242" type="stmt" count="3"/>
      <line num="245" type="method" name="validateParticipantAdded" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="250" type="stmt" count="3"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="256" type="stmt" count="2"/>
      <line num="257" type="stmt" count="2"/>
      <line num="258" type="stmt" count="2"/>
      <line num="259" type="stmt" count="1"/>
      <line num="262" type="stmt" count="2"/>
      <line num="272" type="method" name="onParticipantAdded" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="277" type="stmt" count="3"/>
      <line num="278" type="stmt" count="3"/>
      <line num="279" type="stmt" count="2"/>
      <line num="280" type="stmt" count="2"/>
      <line num="281" type="stmt" count="2"/>
      <line num="282" type="stmt" count="2"/>
      <line num="283" type="stmt" count="2"/>
      <line num="284" type="stmt" count="1"/>
      <line num="286" type="stmt" count="1"/>
      <line num="287" type="stmt" count="1"/>
      <line num="289" type="stmt" count="2"/>
      <line num="290" type="stmt" count="2"/>
      <line num="291" type="stmt" count="2"/>
      <line num="292" type="stmt" count="2"/>
      <line num="293" type="stmt" count="2"/>
      <line num="294" type="stmt" count="2"/>
      <line num="296" type="stmt" count="3"/>
      <line num="306" type="method" name="validateParticipantsRemoved" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="311" type="stmt" count="3"/>
      <line num="312" type="stmt" count="2"/>
      <line num="313" type="stmt" count="2"/>
      <line num="314" type="stmt" count="2"/>
      <line num="315" type="stmt" count="2"/>
      <line num="316" type="stmt" count="2"/>
      <line num="317" type="stmt" count="2"/>
      <line num="318" type="stmt" count="2"/>
      <line num="319" type="stmt" count="2"/>
      <line num="320" type="stmt" count="1"/>
      <line num="323" type="stmt" count="2"/>
      <line num="333" type="method" name="onParticipantsRemoved" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="338" type="stmt" count="3"/>
      <line num="339" type="stmt" count="3"/>
      <line num="340" type="stmt" count="2"/>
      <line num="341" type="stmt" count="2"/>
      <line num="342" type="stmt" count="2"/>
      <line num="343" type="stmt" count="2"/>
      <line num="344" type="stmt" count="2"/>
      <line num="345" type="stmt" count="1"/>
      <line num="347" type="stmt" count="1"/>
      <line num="348" type="stmt" count="1"/>
      <line num="350" type="stmt" count="2"/>
      <line num="351" type="stmt" count="2"/>
      <line num="352" type="stmt" count="2"/>
      <line num="353" type="stmt" count="2"/>
      <line num="354" type="stmt" count="2"/>
      <line num="355" type="stmt" count="2"/>
      <line num="357" type="stmt" count="3"/>
      <line num="363" type="method" name="logToolFailure" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <metrics loc="381" ncloc="292" classes="1" methods="13" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="159" coveredstatements="149" elements="172" coveredelements="161"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/TrackingTool/TrackingToolRegistry.php">
      <class name="MediaWiki\Extension\CampaignEvents\TrackingTool\TrackingToolRegistry" namespace="global">
        <metrics complexity="28" methods="9" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="38" elements="77" coveredelements="44"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="57" type="method" name="getRegistry" visibility="private" complexity="3" crap="3.03" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="77" type="method" name="getConfiguredPEDashboardData" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="140" type="method" name="newFromDBID" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="157" type="method" name="getDataForForm" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <line num="160" type="stmt" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="170" type="method" name="newFromUserIdentifier" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="184" type="method" name="newFromRegistryEntry" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="185" type="stmt" count="2"/>
      <line num="186" type="stmt" count="2"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="2"/>
      <line num="189" type="stmt" count="2"/>
      <line num="190" type="stmt" count="2"/>
      <line num="199" type="method" name="getUserInfo" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="200" type="stmt" count="2"/>
      <line num="201" type="stmt" count="2"/>
      <line num="206" type="stmt" count="1"/>
      <line num="207" type="stmt" count="1"/>
      <line num="208" type="stmt" count="1"/>
      <line num="209" type="stmt" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="211" type="stmt" count="1"/>
      <line num="214" type="stmt" count="1"/>
      <line num="220" type="method" name="getToolEventIDFromURL" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="221" type="stmt" count="2"/>
      <line num="222" type="stmt" count="2"/>
      <line num="227" type="stmt" count="1"/>
      <line num="228" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <metrics loc="234" ncloc="156" classes="1" methods="9" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="38" elements="77" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/TrackingTool/TrackingToolUpdater.php">
      <class name="MediaWiki\Extension\CampaignEvents\TrackingTool\TrackingToolUpdater" namespace="global">
        <metrics complexity="19" methods="5" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="59" elements="73" coveredelements="60"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="33" type="method" name="syncStatusToDB" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="44" type="method" name="dbSyncStatusToConst" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="60" type="method" name="replaceEventTools" visibility="public" complexity="12" crap="12" count="5"/>
      <line num="61" type="stmt" count="5"/>
      <line num="64" type="stmt" count="5"/>
      <line num="65" type="stmt" count="5"/>
      <line num="66" type="stmt" count="5"/>
      <line num="67" type="stmt" count="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="5"/>
      <line num="74" type="stmt" count="5"/>
      <line num="75" type="stmt" count="5"/>
      <line num="76" type="stmt" count="5"/>
      <line num="79" type="stmt" count="5"/>
      <line num="80" type="stmt" count="0"/>
      <line num="84" type="stmt" count="5"/>
      <line num="85" type="stmt" count="5"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="93" type="stmt" count="2"/>
      <line num="97" type="stmt" count="5"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="105" type="stmt" count="5"/>
      <line num="106" type="stmt" count="5"/>
      <line num="107" type="stmt" count="5"/>
      <line num="108" type="stmt" count="5"/>
      <line num="109" type="stmt" count="5"/>
      <line num="110" type="stmt" count="5"/>
      <line num="111" type="stmt" count="5"/>
      <line num="112" type="stmt" count="5"/>
      <line num="113" type="stmt" count="5"/>
      <line num="114" type="stmt" count="5"/>
      <line num="117" type="stmt" count="5"/>
      <line num="120" type="stmt" count="5"/>
      <line num="121" type="stmt" count="5"/>
      <line num="122" type="stmt" count="5"/>
      <line num="123" type="stmt" count="5"/>
      <line num="124" type="stmt" count="5"/>
      <line num="125" type="stmt" count="5"/>
      <line num="138" type="method" name="updateToolSyncStatus" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="139" type="stmt" count="4"/>
      <line num="140" type="stmt" count="4"/>
      <line num="141" type="stmt" count="4"/>
      <line num="142" type="stmt" count="4"/>
      <line num="143" type="stmt" count="4"/>
      <line num="144" type="stmt" count="2"/>
      <line num="147" type="stmt" count="4"/>
      <line num="148" type="stmt" count="4"/>
      <line num="149" type="stmt" count="4"/>
      <line num="150" type="stmt" count="4"/>
      <line num="151" type="stmt" count="4"/>
      <line num="152" type="stmt" count="4"/>
      <line num="153" type="stmt" count="4"/>
      <line num="154" type="stmt" count="4"/>
      <line num="155" type="stmt" count="4"/>
      <line num="156" type="stmt" count="4"/>
      <metrics loc="159" ncloc="126" classes="1" methods="5" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="59" elements="73" coveredelements="60"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Utils.php">
      <class name="MediaWiki\Extension\CampaignEvents\Utils" namespace="global">
        <metrics complexity="13" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="23" elements="29" coveredelements="27"/>
      </class>
      <line num="27" type="method" name="getWikiIDString" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="36" type="method" name="guessStringDirection" visibility="public" complexity="2" crap="2" count="13"/>
      <line num="38" type="stmt" count="13"/>
      <line num="39" type="stmt" count="13"/>
      <line num="47" type="method" name="timezoneToUserTimeCorrection" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="53" type="stmt" count="7"/>
      <line num="54" type="stmt" count="7"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="59" type="stmt" count="6"/>
      <line num="61" type="stmt" count="4"/>
      <line num="69" type="stmt" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <line num="83" type="method" name="getAnswerAggregationTimestamp" visibility="public" complexity="3" crap="3" count="10"/>
      <line num="87" type="stmt" count="10"/>
      <line num="88" type="stmt" count="10"/>
      <line num="89" type="stmt" count="6"/>
      <line num="91" type="stmt" count="4"/>
      <line num="92" type="stmt" count="4"/>
      <line num="93" type="stmt" count="4"/>
      <line num="103" type="method" name="diacriticInsensitiveSort" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <metrics loc="114" ncloc="68" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="23" elements="29" coveredelements="27"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Widget/TextWithIconWidget.php">
      <class name="MediaWiki\Extension\CampaignEvents\Widget\TextWithIconWidget" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="26" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="build" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <metrics loc="60" ncloc="46" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="26" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Worklist/UpdateUserWorklistRecordsJob.php">
      <class name="MediaWiki\Extension\CampaignEvents\Worklist\UpdateUserWorklistRecordsJob" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="6" coveredelements="6"/>
      </class>
      <line num="15" type="method" name="getJobName" visibility="protected" complexity="1" crap="1" count="10"/>
      <line num="16" type="stmt" count="10"/>
      <line num="19" type="method" name="updateName" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <line num="23" type="method" name="updateVisibility" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <metrics loc="27" ncloc="24" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Worklist/UpdateWorklistPagesSecondaryStoreJob.php">
      <class name="MediaWiki\Extension\CampaignEvents\Worklist\UpdateWorklistPagesSecondaryStoreJob" namespace="global">
        <metrics complexity="25" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="105" coveredstatements="97" elements="110" coveredelements="101"/>
      </class>
      <line num="54" type="method" name="__construct" visibility="public" complexity="8" crap="8" count="19"/>
      <line num="56" type="stmt" count="19"/>
      <line num="57" type="stmt" count="19"/>
      <line num="59" type="stmt" count="2"/>
      <line num="62" type="stmt" count="17"/>
      <line num="63" type="stmt" count="17"/>
      <line num="64" type="stmt" count="17"/>
      <line num="65" type="stmt" count="1"/>
      <line num="67" type="stmt" count="16"/>
      <line num="68" type="stmt" count="15"/>
      <line num="69" type="stmt" count="1"/>
      <line num="71" type="stmt" count="14"/>
      <line num="72" type="stmt" count="2"/>
      <line num="76" type="stmt" count="13"/>
      <line num="78" type="stmt" count="13"/>
      <line num="79" type="stmt" count="13"/>
      <line num="80" type="stmt" count="13"/>
      <line num="81" type="stmt" count="12"/>
      <line num="82" type="stmt" count="9"/>
      <line num="83" type="stmt" count="13"/>
      <line num="84" type="stmt" count="13"/>
      <line num="88" type="method" name="newForUpdate" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="94" type="stmt" count="12"/>
      <line num="95" type="stmt" count="12"/>
      <line num="96" type="stmt" count="12"/>
      <line num="97" type="stmt" count="12"/>
      <line num="98" type="stmt" count="12"/>
      <line num="99" type="stmt" count="12"/>
      <line num="100" type="stmt" count="12"/>
      <line num="101" type="stmt" count="12"/>
      <line num="105" type="method" name="newForDeletion" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="106" type="stmt" count="8"/>
      <line num="107" type="stmt" count="8"/>
      <line num="108" type="stmt" count="8"/>
      <line num="109" type="stmt" count="8"/>
      <line num="110" type="stmt" count="8"/>
      <line num="111" type="stmt" count="8"/>
      <line num="112" type="stmt" count="8"/>
      <line num="115" type="method" name="run" visibility="public" complexity="6" crap="6" count="12"/>
      <line num="116" type="stmt" count="12"/>
      <line num="118" type="stmt" count="12"/>
      <line num="119" type="stmt" count="12"/>
      <line num="120" type="stmt" count="12"/>
      <line num="122" type="stmt" count="12"/>
      <line num="123" type="stmt" count="12"/>
      <line num="124" type="stmt" count="12"/>
      <line num="125" type="stmt" count="12"/>
      <line num="128" type="stmt" count="7"/>
      <line num="129" type="stmt" count="7"/>
      <line num="130" type="stmt" count="7"/>
      <line num="131" type="stmt" count="7"/>
      <line num="134" type="stmt" count="12"/>
      <line num="135" type="stmt" count="12"/>
      <line num="136" type="stmt" count="2"/>
      <line num="138" type="stmt" count="10"/>
      <line num="140" type="stmt" count="12"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="149" type="stmt" count="12"/>
      <line num="150" type="stmt" count="12"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="159" type="stmt" count="11"/>
      <line num="160" type="stmt" count="11"/>
      <line num="163" type="method" name="syncSecondaryStore" visibility="private" complexity="9" crap="9.60" count="11"/>
      <line num="164" type="stmt" count="11"/>
      <line num="166" type="stmt" count="11"/>
      <line num="167" type="stmt" count="11"/>
      <line num="169" type="stmt" count="6"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="6"/>
      <line num="175" type="stmt" count="6"/>
      <line num="178" type="stmt" count="9"/>
      <line num="180" type="stmt" count="0"/>
      <line num="183" type="stmt" count="9"/>
      <line num="184" type="stmt" count="9"/>
      <line num="186" type="stmt" count="9"/>
      <line num="187" type="stmt" count="9"/>
      <line num="188" type="stmt" count="9"/>
      <line num="189" type="stmt" count="9"/>
      <line num="190" type="stmt" count="9"/>
      <line num="191" type="stmt" count="4"/>
      <line num="192" type="stmt" count="4"/>
      <line num="196" type="stmt" count="1"/>
      <line num="197" type="stmt" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="203" type="stmt" count="4"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="214" type="stmt" count="4"/>
      <line num="215" type="stmt" count="4"/>
      <line num="217" type="stmt" count="0"/>
      <line num="222" type="stmt" count="8"/>
      <line num="225" type="stmt" count="9"/>
      <line num="226" type="stmt" count="9"/>
      <line num="227" type="stmt" count="9"/>
      <line num="228" type="stmt" count="9"/>
      <line num="229" type="stmt" count="9"/>
      <line num="230" type="stmt" count="9"/>
      <line num="231" type="stmt" count="9"/>
      <line num="233" type="stmt" count="9"/>
      <metrics loc="236" ncloc="197" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="105" coveredstatements="97" elements="110" coveredelements="101"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Worklist/WorklistArticleHelper.php">
      <class name="MediaWiki\Extension\CampaignEvents\Worklist\WorklistArticleHelper" namespace="global">
        <metrics complexity="13" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="41" elements="48" coveredelements="43"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="50" type="method" name="applyDelta" visibility="public" complexity="6" crap="6" count="8"/>
      <line num="55" type="stmt" count="8"/>
      <line num="56" type="stmt" count="8"/>
      <line num="59" type="stmt" count="8"/>
      <line num="60" type="stmt" count="1"/>
      <line num="62" type="stmt" count="7"/>
      <line num="63" type="stmt" count="7"/>
      <line num="64" type="stmt" count="5"/>
      <line num="65" type="stmt" count="5"/>
      <line num="66" type="stmt" count="5"/>
      <line num="72" type="stmt" count="7"/>
      <line num="73" type="stmt" count="7"/>
      <line num="77" type="stmt" count="7"/>
      <line num="78" type="stmt" count="2"/>
      <line num="83" type="stmt" count="6"/>
      <line num="84" type="stmt" count="6"/>
      <line num="85" type="stmt" count="6"/>
      <line num="86" type="stmt" count="6"/>
      <line num="88" type="stmt" count="6"/>
      <line num="99" type="method" name="saveViaEditApi" visibility="private" complexity="2" crap="2.01" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="117" type="stmt" count="1"/>
      <line num="126" type="method" name="applyChanges" visibility="private" complexity="4" crap="4" count="5"/>
      <line num="127" type="stmt" count="5"/>
      <line num="128" type="stmt" count="5"/>
      <line num="129" type="stmt" count="5"/>
      <line num="130" type="stmt" count="5"/>
      <line num="132" type="stmt" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <line num="135" type="stmt" count="2"/>
      <line num="137" type="stmt" count="1"/>
      <line num="141" type="stmt" count="5"/>
      <metrics loc="144" ncloc="100" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="41" elements="48" coveredelements="43"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Worklist/WorklistContent.php">
      <class name="MediaWiki\Extension\CampaignEvents\Worklist\WorklistContent" namespace="global">
        <metrics complexity="27" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="77" elements="85" coveredelements="81"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="22" type="stmt" count="13"/>
      <line num="25" type="method" name="isValid" visibility="public" complexity="2" crap="2.15" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="27" type="stmt" count="0"/>
      <line num="29" type="stmt" count="2"/>
      <line num="36" type="method" name="validate" visibility="public" complexity="3" crap="3" count="13"/>
      <line num="37" type="stmt" count="13"/>
      <line num="38" type="stmt" count="13"/>
      <line num="39" type="stmt" count="1"/>
      <line num="41" type="stmt" count="12"/>
      <line num="42" type="stmt" count="12"/>
      <line num="45" type="stmt" count="13"/>
      <line num="48" type="method" name="validateWorklistData" visibility="private" complexity="13" crap="13" count="12"/>
      <line num="49" type="stmt" count="12"/>
      <line num="50" type="stmt" count="1"/>
      <line num="53" type="stmt" count="11"/>
      <line num="56" type="stmt" count="11"/>
      <line num="57" type="stmt" count="11"/>
      <line num="58" type="stmt" count="11"/>
      <line num="59" type="stmt" count="11"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="64" type="stmt" count="9"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="72" type="stmt" count="8"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="77" type="stmt" count="7"/>
      <line num="78" type="stmt" count="7"/>
      <line num="79" type="stmt" count="7"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="84" type="stmt" count="6"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="92" type="stmt" count="6"/>
      <line num="93" type="stmt" count="5"/>
      <line num="94" type="stmt" count="1"/>
      <line num="96" type="stmt" count="5"/>
      <line num="97" type="stmt" count="1"/>
      <line num="100" type="stmt" count="5"/>
      <line num="101" type="stmt" count="5"/>
      <line num="102" type="stmt" count="5"/>
      <line num="103" type="stmt" count="5"/>
      <line num="104" type="stmt" count="5"/>
      <line num="105" type="stmt" count="5"/>
      <line num="106" type="stmt" count="5"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="117" type="stmt" count="5"/>
      <line num="121" type="stmt" count="11"/>
      <line num="129" type="method" name="getLocalLinkTargets" visibility="public" complexity="4" crap="4.02" count="2"/>
      <line num="130" type="stmt" count="2"/>
      <line num="131" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="140" type="stmt" count="0"/>
      <line num="144" type="stmt" count="1"/>
      <line num="154" type="method" name="computeDelta" visibility="public" complexity="4" crap="4" count="6"/>
      <line num="155" type="stmt" count="6"/>
      <line num="156" type="stmt" count="6"/>
      <line num="158" type="stmt" count="6"/>
      <line num="159" type="stmt" count="6"/>
      <line num="160" type="stmt" count="5"/>
      <line num="161" type="stmt" count="5"/>
      <line num="162" type="stmt" count="4"/>
      <line num="164" type="stmt" count="5"/>
      <line num="165" type="stmt" count="5"/>
      <line num="166" type="stmt" count="2"/>
      <line num="169" type="stmt" count="6"/>
      <line num="170" type="stmt" count="6"/>
      <line num="172" type="stmt" count="6"/>
      <metrics loc="175" ncloc="152" classes="1" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="77" elements="85" coveredelements="81"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Worklist/WorklistContentHandler.php">
      <class name="MediaWiki\Extension\CampaignEvents\Worklist\WorklistContentHandler" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="9" elements="14" coveredelements="10"/>
      </class>
      <line num="16" type="method" name="getContentClass" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="26" type="method" name="fillParserOutput" visibility="protected" complexity="2" crap="2" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="33" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="49" type="method" name="validateSave" visibility="public" complexity="2" crap="2.06" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="56" type="stmt" count="0"/>
      <metrics loc="59" ncloc="43" classes="1" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="9" elements="14" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Worklist/WorklistEventsStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Worklist\WorklistEventsStore" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="46" coveredelements="46"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="25" type="stmt" count="12"/>
      <line num="33" type="method" name="associateEventWithWorklist" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="48" type="method" name="getWorklistIDForEvent" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <line num="67" type="method" name="filterEventsByPageInWorklist" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="72" type="stmt" count="6"/>
      <line num="73" type="stmt" count="1"/>
      <line num="75" type="stmt" count="5"/>
      <line num="76" type="stmt" count="5"/>
      <line num="77" type="stmt" count="5"/>
      <line num="78" type="stmt" count="5"/>
      <line num="79" type="stmt" count="5"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="83" type="stmt" count="5"/>
      <line num="84" type="stmt" count="5"/>
      <line num="85" type="stmt" count="5"/>
      <line num="86" type="stmt" count="5"/>
      <line num="92" type="method" name="removeWorklistAssociation" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="93" type="stmt" count="2"/>
      <line num="94" type="stmt" count="2"/>
      <line num="95" type="stmt" count="2"/>
      <line num="96" type="stmt" count="2"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <metrics loc="103" ncloc="74" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="46" coveredelements="46"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Worklist/WorklistPagesSecondaryStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Worklist\WorklistPagesSecondaryStore" namespace="global">
        <metrics complexity="15" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="57" elements="81" coveredelements="62"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="29" type="stmt" count="9"/>
      <line num="38" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="69" type="method" name="updateWorklistPages" visibility="public" complexity="4" crap="4" count="7"/>
      <line num="70" type="stmt" count="7"/>
      <line num="71" type="stmt" count="4"/>
      <line num="72" type="stmt" count="1"/>
      <line num="75" type="stmt" count="6"/>
      <line num="76" type="stmt" count="6"/>
      <line num="77" type="stmt" count="6"/>
      <line num="78" type="stmt" count="6"/>
      <line num="87" type="method" name="removePages" visibility="private" complexity="3" crap="3" count="6"/>
      <line num="93" type="stmt" count="6"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="97" type="stmt" count="3"/>
      <line num="98" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="116" type="method" name="addPages" visibility="private" complexity="4" crap="4" count="6"/>
      <line num="123" type="stmt" count="6"/>
      <line num="124" type="stmt" count="6"/>
      <line num="126" type="stmt" count="6"/>
      <line num="127" type="stmt" count="6"/>
      <line num="128" type="stmt" count="3"/>
      <line num="129" type="stmt" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="132" type="stmt" count="3"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="139" type="stmt" count="6"/>
      <line num="140" type="stmt" count="3"/>
      <line num="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="3"/>
      <line num="146" type="stmt" count="3"/>
      <line num="154" type="method" name="deleteAllWorklistPages" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="155" type="stmt" count="2"/>
      <line num="156" type="stmt" count="2"/>
      <line num="158" type="stmt" count="2"/>
      <line num="159" type="stmt" count="2"/>
      <line num="160" type="stmt" count="2"/>
      <line num="161" type="stmt" count="2"/>
      <line num="162" type="stmt" count="2"/>
      <line num="163" type="stmt" count="2"/>
      <line num="164" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="1"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="174" type="stmt" count="2"/>
      <metrics loc="177" ncloc="136" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="57" elements="81" coveredelements="62"/>
    </file>
    <file name="/workspace/src/extensions/CampaignEvents/src/Worklist/WorklistSecondaryStore.php">
      <class name="MediaWiki\Extension\CampaignEvents\Worklist\WorklistSecondaryStore" namespace="global">
        <metrics complexity="24" methods="13" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="149" coveredstatements="145" elements="162" coveredelements="156"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="20"/>
      <line num="29" type="stmt" count="20"/>
      <line num="34" type="method" name="createWorklist" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="59" type="method" name="deleteWorklist" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="70" type="method" name="moveWorklist" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="87" type="method" name="getWorklistIDFromPage" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="88" type="stmt" count="2"/>
      <line num="89" type="stmt" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <line num="91" type="stmt" count="2"/>
      <line num="92" type="stmt" count="2"/>
      <line num="93" type="stmt" count="2"/>
      <line num="94" type="stmt" count="2"/>
      <line num="95" type="stmt" count="2"/>
      <line num="96" type="stmt" count="2"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="105" type="method" name="getWorklistIDFromPageText" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="110" type="stmt" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <line num="116" type="stmt" count="2"/>
      <line num="126" type="method" name="updateWorklistCreatorName" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="127" type="stmt" count="2"/>
      <line num="128" type="stmt" count="2"/>
      <line num="129" type="stmt" count="2"/>
      <line num="130" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="132" type="stmt" count="2"/>
      <line num="133" type="stmt" count="2"/>
      <line num="134" type="stmt" count="2"/>
      <line num="135" type="stmt" count="2"/>
      <line num="136" type="stmt" count="2"/>
      <line num="137" type="stmt" count="2"/>
      <line num="140" type="method" name="hasWorklistsFromCreator" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="3"/>
      <line num="146" type="stmt" count="3"/>
      <line num="147" type="stmt" count="3"/>
      <line num="148" type="stmt" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="157" type="method" name="doBatchedUpdate" visibility="private" complexity="3" crap="3.02" count="5"/>
      <line num="158" type="stmt" count="5"/>
      <line num="160" type="stmt" count="5"/>
      <line num="161" type="stmt" count="5"/>
      <line num="162" type="stmt" count="5"/>
      <line num="163" type="stmt" count="5"/>
      <line num="164" type="stmt" count="5"/>
      <line num="165" type="stmt" count="5"/>
      <line num="166" type="stmt" count="5"/>
      <line num="168" type="stmt" count="5"/>
      <line num="169" type="stmt" count="5"/>
      <line num="172" type="stmt" count="3"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="178" type="stmt" count="3"/>
      <line num="179" type="stmt" count="3"/>
      <line num="180" type="stmt" count="3"/>
      <line num="181" type="stmt" count="3"/>
      <line num="182" type="stmt" count="3"/>
      <line num="183" type="stmt" count="3"/>
      <line num="185" type="stmt" count="3"/>
      <line num="186" type="stmt" count="3"/>
      <line num="192" type="method" name="updateUserName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="193" type="stmt" count="1"/>
      <line num="194" type="stmt" count="1"/>
      <line num="195" type="stmt" count="1"/>
      <line num="196" type="stmt" count="1"/>
      <line num="197" type="stmt" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="208" type="method" name="updateUserVisibility" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="209" type="stmt" count="5"/>
      <line num="210" type="stmt" count="1"/>
      <line num="212" type="stmt" count="4"/>
      <line num="213" type="stmt" count="4"/>
      <line num="214" type="stmt" count="4"/>
      <line num="215" type="stmt" count="4"/>
      <line num="218" type="stmt" count="2"/>
      <line num="220" type="stmt" count="4"/>
      <line num="221" type="stmt" count="4"/>
      <line num="222" type="stmt" count="4"/>
      <line num="223" type="stmt" count="4"/>
      <line num="224" type="stmt" count="4"/>
      <line num="225" type="stmt" count="4"/>
      <line num="226" type="stmt" count="4"/>
      <line num="227" type="stmt" count="4"/>
      <line num="237" type="method" name="getWorklistContentSyncedRev" visibility="public" complexity="4" crap="4.00" count="2"/>
      <line num="241" type="stmt" count="2"/>
      <line num="242" type="stmt" count="0"/>
      <line num="244" type="stmt" count="2"/>
      <line num="247" type="stmt" count="2"/>
      <line num="248" type="stmt" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="256" type="stmt" count="2"/>
      <line num="257" type="stmt" count="1"/>
      <line num="259" type="stmt" count="1"/>
      <line num="265" type="method" name="updateWorklistContentSyncedRev" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="266" type="stmt" count="1"/>
      <line num="267" type="stmt" count="1"/>
      <line num="268" type="stmt" count="1"/>
      <line num="269" type="stmt" count="1"/>
      <line num="270" type="stmt" count="1"/>
      <line num="271" type="stmt" count="1"/>
      <line num="272" type="stmt" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <metrics loc="278" ncloc="233" classes="1" methods="13" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="149" coveredstatements="145" elements="162" coveredelements="156"/>
    </file>
    <metrics files="203" loc="29645" ncloc="25171" classes="184" methods="1147" coveredmethods="610" conditionals="0" coveredconditionals="0" statements="13035" coveredstatements="6716" elements="14182" coveredelements="7326"/>
  </project>
</coverage>
