<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1792055417">
  <project timestamp="1792055417">
    <file name="/workspace/src/extensions/WikimediaEvents/includes/AccountCreation/AccountCreationEventProvider.php">
      <class name="WikimediaEvents\AccountCreation\AccountCreationEventProvider" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="5" coveredelements="0"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="15" type="stmt" count="0"/>
      <line num="25" type="method" name="postAccountCreation" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <metrics loc="31" ncloc="21" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="5" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/AccountCreation/AccountCreationHandler.php">
      <class name="WikimediaEvents\AccountCreation\AccountCreationHandler" namespace="global">
        <metrics complexity="19" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="63" coveredstatements="21" elements="69" coveredelements="23"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="29" type="stmt" count="6"/>
      <line num="32" type="method" name="onAuthManagerLoginAuthenticateAudit" visibility="public" complexity="4" crap="20" 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="42" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="52" type="method" name="onBeforePageDisplay" visibility="public" complexity="3" crap="3.00" 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="61" type="stmt" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <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="98" type="method" name="onCentralAuthPostLoginRedirect" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="101" type="stmt" count="4"/>
      <line num="102" type="stmt" count="1"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="113" type="method" name="onAuthChangeFormFields" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" 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="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="166" 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="181" 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="197" type="method" name="getMfaData" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" 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="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"/>
      <metrics loc="217" ncloc="130" classes="1" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="63" coveredstatements="21" elements="69" coveredelements="23"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/AccountCreation/AccountCreationLogger.php">
      <class name="WikimediaEvents\AccountCreation\AccountCreationLogger" namespace="global">
        <metrics complexity="15" methods="8" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="2" elements="52" coveredelements="4"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="51" type="method" name="logAuthEvent" visibility="public" complexity="4" crap="20" 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="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="77" type="method" name="doLogEvent" visibility="private" complexity="2" crap="6" 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="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="112" type="method" name="submitEvent" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="123" type="method" name="logLoginEvent" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="137" type="method" name="logAccountCreationEvent" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="149" type="method" name="logPageImpression" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="163" 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="179" type="method" name="determineStreamForPage" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <metrics loc="185" ncloc="125" classes="1" methods="8" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="2" elements="52" coveredelements="4"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/Api/ApiWikimediaEventsHCaptchaEditAttempt.php">
      <class name="WikimediaEvents\Api\ApiWikimediaEventsHCaptchaEditAttempt" namespace="global">
        <metrics complexity="18" methods="8" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="80" coveredstatements="75" elements="88" coveredelements="78"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="35" type="stmt" count="7"/>
      <line num="42" type="method" name="execute" visibility="public" complexity="4" crap="4" count="7"/>
      <line num="43" type="stmt" count="7"/>
      <line num="44" type="stmt" count="7"/>
      <line num="45" type="stmt" count="7"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="stmt" count="7"/>
      <line num="51" type="stmt" count="7"/>
      <line num="53" type="stmt" count="1"/>
      <line num="57" type="stmt" count="6"/>
      <line num="58" type="stmt" count="1"/>
      <line num="61" 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="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="5"/>
      <line num="75" type="stmt" count="5"/>
      <line num="76" type="stmt" count="5"/>
      <line num="82" type="method" name="getAllowedParams" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="83" type="stmt" count="7"/>
      <line num="84" 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="88" type="stmt" count="7"/>
      <line num="89" type="stmt" count="7"/>
      <line num="90" type="stmt" count="7"/>
      <line num="91" type="stmt" count="7"/>
      <line num="97" type="method" name="isInternal" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="104" type="method" name="mustBePosted" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="115" type="method" name="getContentDiff" visibility="private" complexity="3" crap="3" count="5"/>
      <line num="116" type="stmt" count="5"/>
      <line num="117" type="stmt" count="5"/>
      <line num="119" type="stmt" count="5"/>
      <line num="120" 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="4"/>
      <line num="126" type="stmt" count="5"/>
      <line num="127" type="stmt" count="5"/>
      <line num="129" type="stmt" count="5"/>
      <line num="130" type="stmt" count="5"/>
      <line num="131" type="stmt" count="5"/>
      <line num="132" type="stmt" count="5"/>
      <line num="133" 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="0"/>
      <line num="142" type="stmt" count="5"/>
      <line num="152" type="method" name="formatDiffPayload" visibility="private" complexity="3" crap="3.03" count="5"/>
      <line num="153" type="stmt" count="5"/>
      <line num="154" type="stmt" count="5"/>
      <line num="156" type="stmt" count="0"/>
      <line num="166" type="stmt" count="5"/>
      <line num="167" type="stmt" count="5"/>
      <line num="168" type="stmt" count="4"/>
      <line num="171" type="stmt" count="1"/>
      <line num="186" type="method" name="trimDiffTable" visibility="private" complexity="4" crap="4" count="1"/>
      <line num="194" type="stmt" count="1"/>
      <line num="195" type="stmt" count="1"/>
      <line num="197" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="201" 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="213" type="stmt" count="1"/>
      <line num="214" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="221" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <metrics loc="227" ncloc="161" classes="1" methods="8" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="80" coveredstatements="75" elements="88" coveredelements="78"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/ApiWikimediaEventsBlockedEdit.php">
      <class name="WikimediaEvents\ApiWikimediaEventsBlockedEdit" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="0" elements="29" coveredelements="0"/>
      </class>
      <line num="14" type="method" name="execute" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="15" type="stmt" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="29" type="method" name="getAllowedParams" 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="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"/>
      <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="56" type="method" name="isInternal" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <metrics loc="61" ncloc="51" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="0" elements="29" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/AuthManagerStatsdHandler.php">
      <class name="WikimediaEvents\AuthManagerStatsdHandler" namespace="global">
        <metrics complexity="19" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="43" coveredstatements="42" elements="46" coveredelements="44"/>
      </class>
      <line num="70" type="method" name="getSulLabels" visibility="private" complexity="4" crap="4.02" count="11"/>
      <line num="71" type="stmt" count="11"/>
      <line num="72" type="stmt" count="11"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="11"/>
      <line num="77" type="stmt" count="11"/>
      <line num="78" type="stmt" count="11"/>
      <line num="80" 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="90" type="method" name="handle" visibility="public" complexity="13" crap="13" count="14"/>
      <line num="91" type="stmt" count="14"/>
      <line num="92" type="stmt" count="14"/>
      <line num="93" type="stmt" count="14"/>
      <line num="94" type="stmt" count="14"/>
      <line num="95" type="stmt" count="14"/>
      <line num="96" type="stmt" count="14"/>
      <line num="98" type="stmt" count="14"/>
      <line num="99" type="stmt" count="14"/>
      <line num="100" type="stmt" count="2"/>
      <line num="106" type="stmt" count="14"/>
      <line num="107" type="stmt" count="14"/>
      <line num="108" type="stmt" count="14"/>
      <line num="110" type="stmt" count="3"/>
      <line num="113" type="stmt" count="11"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="9"/>
      <line num="116" type="stmt" count="2"/>
      <line num="118" type="stmt" count="7"/>
      <line num="124" type="stmt" count="11"/>
      <line num="125" type="stmt" count="11"/>
      <line num="126" type="stmt" count="11"/>
      <line num="127" type="stmt" count="11"/>
      <line num="128" type="stmt" count="11"/>
      <line num="129" type="stmt" count="11"/>
      <line num="130" type="stmt" count="11"/>
      <line num="131" type="stmt" count="11"/>
      <line num="133" type="stmt" count="11"/>
      <line num="134" type="stmt" count="11"/>
      <line num="136" type="stmt" count="11"/>
      <line num="137" type="stmt" count="2"/>
      <line num="140" type="stmt" count="11"/>
      <line num="143" type="stmt" count="11"/>
      <line num="149" type="method" name="getEntryPoint" visibility="protected" complexity="2" crap="2" count="14"/>
      <line num="150" type="stmt" count="14"/>
      <metrics loc="154" ncloc="84" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="43" coveredstatements="42" elements="46" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/BlockMetrics/BlockMetricsHooks.php">
      <class name="WikimediaEvents\BlockMetrics\BlockMetricsHooks" namespace="global">
        <metrics complexity="13" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="39" elements="45" coveredelements="40"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="46" type="method" name="onPermissionStatusAudit" visibility="public" complexity="11" crap="11.02" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" 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="65" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="74" 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="82" type="stmt" count="0"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" 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="94" type="stmt" count="1"/>
      <line num="95" 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="121" type="method" name="submitEvent" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <metrics loc="126" ncloc="103" classes="1" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="39" elements="45" coveredelements="40"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/BlockUtils.php">
      <class name="WikimediaEvents\BlockUtils" namespace="global">
        <metrics complexity="19" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="44" elements="60" coveredelements="44"/>
      </class>
      <line num="22" type="method" name="logBlockedEditAttempt" visibility="public" complexity="19" crap="24.93" count="4"/>
      <line num="23" type="stmt" count="4"/>
      <line num="24" type="stmt" count="4"/>
      <line num="25" type="stmt" count="1"/>
      <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="37" type="stmt" count="1"/>
      <line num="40" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="50" type="stmt" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="52" 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="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="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="0"/>
      <line num="79" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <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="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="3"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="3"/>
      <line num="104" type="stmt" count="0"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="3"/>
      <metrics loc="116" ncloc="98" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="44" elements="60" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/CreateAccount/CreateAccountInstrumentationAuthenticationRequest.php">
      <class name="WikimediaEvents\CreateAccount\CreateAccountInstrumentationAuthenticationRequest" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="9" coveredelements="9"/>
      </class>
      <line num="19" type="method" name="getFieldInfo" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <line num="21" type="stmt" count="1"/>
      <line num="22" 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"/>
      <metrics loc="32" 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/WikimediaEvents/includes/CreateAccount/CreateAccountInstrumentationClient.php">
      <class name="WikimediaEvents\CreateAccount\CreateAccountInstrumentationClient" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="10" coveredelements="10"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="15" type="stmt" count="1"/>
      <line num="24" type="method" name="submitInteraction" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="29" 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="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <metrics loc="39" ncloc="29" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="10" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/CreateAccount/CreateAccountInstrumentationHandler.php">
      <class name="WikimediaEvents\CreateAccount\CreateAccountInstrumentationHandler" namespace="global">
        <metrics complexity="13" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="26" coveredelements="26"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="30" type="stmt" count="9"/>
      <line num="37" type="method" name="onAuthChangeFormFields" visibility="public" complexity="3" crap="3" 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="51" type="method" name="onBeforePageDisplay" visibility="public" complexity="9" crap="9" count="9"/>
      <line num="52" type="stmt" count="9"/>
      <line num="53" type="stmt" count="1"/>
      <line num="56" 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="2"/>
      <line num="63" 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="5"/>
      <line num="71" type="stmt" count="5"/>
      <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="2"/>
      <line num="80" type="stmt" count="4"/>
      <metrics loc="83" ncloc="67" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="26" coveredelements="26"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/CreateAccount/CreateAccountInstrumentationPreAuthenticationProvider.php">
      <class name="WikimediaEvents\CreateAccount\CreateAccountInstrumentationPreAuthenticationProvider" namespace="global">
        <metrics complexity="7" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="26" coveredelements="26"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="22" type="stmt" count="7"/>
      <line num="25" type="method" name="getAuthenticationRequests" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="26" type="stmt" count="3"/>
      <line num="27" type="stmt" count="2"/>
      <line num="30" type="stmt" count="1"/>
      <line num="34" type="method" name="testForAccountCreation" visibility="public" complexity="4" crap="4" 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="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="46" type="stmt" count="1"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <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="63" type="stmt" count="4"/>
      <metrics loc="66" ncloc="56" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="26" coveredelements="26"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/CreateAccount/HTMLNoScriptHiddenField.php">
      <class name="WikimediaEvents\CreateAccount\HTMLNoScriptHiddenField" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="2" elements="3" coveredelements="3"/>
      </class>
      <line num="13" type="method" name="getInputHTML" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="17" type="stmt" count="2"/>
      <line num="19" type="stmt" count="2"/>
      <metrics loc="22" ncloc="14" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="2" elements="3" coveredelements="3"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/EditPage/AbstractCaptchaScoreHook.php">
      <class name="WikimediaEvents\EditPage\AbstractCaptchaScoreHook" namespace="global">
        <metrics complexity="10" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="0" elements="34" coveredelements="0"/>
      </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="28" type="method" name="buildEventPayload" visibility="protected" complexity="6" crap="42" 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="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="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="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="87" type="method" name="castToNonNegativeInteger" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <metrics loc="97" ncloc="79" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="0" elements="34" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/EditPage/CaptchaScoreBlocksHook.php">
      <class name="WikimediaEvents\EditPage\CaptchaScoreBlocksHook" namespace="global">
        <metrics complexity="10" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="39" coveredelements="39"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="32" type="stmt" count="11"/>
      <line num="36" type="method" name="onConfirmEditHCaptchaRiskScoreRetrievedForBlocks" visibility="public" complexity="2" crap="2" count="11"/>
      <line num="43" type="stmt" count="11"/>
      <line num="44" type="stmt" count="11"/>
      <line num="45" type="stmt" count="11"/>
      <line num="46" type="stmt" count="11"/>
      <line num="47" type="stmt" 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="54" type="method" name="handleBlock" visibility="private" complexity="4" crap="4" count="11"/>
      <line num="61" type="stmt" count="11"/>
      <line num="62" type="stmt" count="11"/>
      <line num="63" type="stmt" count="11"/>
      <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="72" type="stmt" count="8"/>
      <line num="74" type="stmt" count="8"/>
      <line num="78" type="method" name="getActionTypeString" visibility="private" complexity="3" crap="3" count="11"/>
      <line num="81" type="stmt" count="11"/>
      <line num="82" type="stmt" count="11"/>
      <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="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"/>
      <line num="95" type="stmt" count="8"/>
      <metrics loc="98" ncloc="86" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="39" coveredelements="39"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/EditPage/CaptchaScoreHooks.php">
      <class name="WikimediaEvents\EditPage\CaptchaScoreHooks" namespace="global">
        <metrics complexity="36" methods="10" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="88" coveredstatements="88" elements="98" coveredelements="98"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="43"/>
      <line num="39" type="stmt" count="43"/>
      <line num="43" type="method" name="onPageSaveComplete" visibility="public" complexity="5" crap="5" count="11"/>
      <line num="44" type="stmt" count="11"/>
      <line num="45" type="stmt" count="1"/>
      <line num="48" type="stmt" count="10"/>
      <line num="50" type="stmt" count="10"/>
      <line num="51" type="stmt" count="3"/>
      <line num="54" type="stmt" count="7"/>
      <line num="55" 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="63" type="stmt" count="7"/>
      <line num="64" type="stmt" count="7"/>
      <line num="65" type="stmt" count="7"/>
      <line num="66" type="stmt" count="7"/>
      <line num="68" type="stmt" count="7"/>
      <line num="72" type="method" name="onEditPage__attemptSave_after" visibility="public" complexity="9" crap="9" count="26"/>
      <line num="73" type="stmt" count="26"/>
      <line num="74" type="stmt" count="1"/>
      <line num="77" type="stmt" count="25"/>
      <line num="78" type="stmt" count="25"/>
      <line num="80" type="stmt" count="25"/>
      <line num="81" type="stmt" count="2"/>
      <line num="84" type="stmt" count="23"/>
      <line num="85" type="stmt" count="23"/>
      <line num="87" type="stmt" count="23"/>
      <line num="88" type="stmt" count="23"/>
      <line num="89" type="stmt" count="23"/>
      <line num="90" type="stmt" count="23"/>
      <line num="91" type="stmt" count="23"/>
      <line num="93" type="stmt" count="23"/>
      <line num="94" type="stmt" count="23"/>
      <line num="95" type="stmt" count="23"/>
      <line num="96" type="stmt" count="23"/>
      <line num="97" type="stmt" count="23"/>
      <line num="98" type="stmt" count="23"/>
      <line num="99" type="stmt" count="23"/>
      <line num="100" type="stmt" count="23"/>
      <line num="101" type="stmt" count="23"/>
      <line num="103" type="stmt" count="23"/>
      <line num="104" type="stmt" count="10"/>
      <line num="107" type="stmt" count="23"/>
      <line num="112" type="method" name="onLocalUserCreated" visibility="public" complexity="5" crap="5" count="6"/>
      <line num="115" type="stmt" count="6"/>
      <line num="116" type="stmt" count="2"/>
      <line num="119" type="stmt" count="4"/>
      <line num="121" type="stmt" count="4"/>
      <line num="122" type="stmt" count="3"/>
      <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="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="137" type="stmt" count="1"/>
      <line num="147" type="method" name="shouldLog" visibility="private" complexity="3" crap="3" count="35"/>
      <line num="148" type="stmt" count="35"/>
      <line num="151" type="stmt" count="35"/>
      <line num="152" type="stmt" count="1"/>
      <line num="157" type="stmt" count="34"/>
      <line num="164" type="method" name="getHCaptchaInstance" visibility="private" complexity="3" crap="3" count="39"/>
      <line num="165" type="stmt" count="39"/>
      <line num="166" type="stmt" count="39"/>
      <line num="167" type="stmt" count="39"/>
      <line num="168" type="stmt" count="35"/>
      <line num="172" type="stmt" count="4"/>
      <line num="180" type="method" name="getRiskScore" visibility="private" complexity="2" crap="2" count="31"/>
      <line num="181" type="stmt" count="31"/>
      <line num="182" type="stmt" count="31"/>
      <line num="183" type="stmt" count="30"/>
      <line num="186" type="stmt" count="1"/>
      <line num="195" type="method" name="getAbuseFilterId" visibility="private" complexity="4" crap="4" count="23"/>
      <line num="196" type="stmt" count="23"/>
      <line num="198" type="stmt" count="23"/>
      <line num="199" type="stmt" count="22"/>
      <line num="200" type="stmt" count="12"/>
      <line num="202" type="stmt" count="12"/>
      <line num="203" type="stmt" count="12"/>
      <line num="204" type="stmt" count="12"/>
      <line num="208" type="stmt" count="11"/>
      <line num="216" type="stmt" count="8"/>
      <line num="217" type="stmt" count="8"/>
      <line num="218" type="stmt" count="8"/>
      <line num="219" type="stmt" count="8"/>
      <line num="220" type="stmt" count="8"/>
      <line num="223" type="stmt" count="3"/>
      <line num="234" type="method" name="castAbuseFilterId" visibility="private" complexity="3" crap="3" count="20"/>
      <line num="236" type="stmt" count="20"/>
      <line num="237" type="stmt" count="20"/>
      <line num="243" type="method" name="getSession" visibility="private" complexity="1" crap="1" count="8"/>
      <line num="244" type="stmt" count="8"/>
      <metrics loc="247" ncloc="193" classes="1" methods="10" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="88" coveredstatements="88" elements="98" coveredelements="98"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/EditPage/EditPageHooks.php">
      <class name="WikimediaEvents\EditPage\EditPageHooks" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="13" coveredelements="0"/>
      </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="27" type="method" name="onEditPage__showReadOnlyForm_initial" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" 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="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <metrics loc="44" ncloc="35" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="13" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/EmailConfirmation/EmailConfirmationBannerInstrumentLogger.php">
      <class name="WikimediaEvents\EmailConfirmation\EmailConfirmationBannerInstrumentLogger" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="6" coveredelements="6"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="18" type="stmt" count="2"/>
      <line num="24" type="method" name="log" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="27" type="stmt" count="2"/>
      <metrics loc="30" ncloc="21" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/EmailConfirmation/EmailConfirmationHooks.php">
      <class name="WikimediaEvents\EmailConfirmation\EmailConfirmationHooks" namespace="global">
        <metrics complexity="40" methods="9" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="36" elements="84" coveredelements="40"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="34" type="stmt" count="3"/>
      <line num="37" type="method" name="onBeforePageDisplay" visibility="public" complexity="8" crap="8.63" count="1"/>
      <line num="38" 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="52" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <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="stmt" count="1"/>
      <line num="70" type="method" name="onConfirmEmailComplete" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="80" type="method" name="onInvalidateEmailComplete" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="85" type="method" name="onLocalUserCreated" visibility="public" complexity="4" crap="20" 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="96" type="stmt" count="0"/>
      <line num="98" 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="107" type="stmt" count="0"/>
      <line num="113" type="method" name="onPageSaveComplete" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="121" 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="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="146" type="method" name="onGetUserPermissionsErrorsExpensive" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" 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="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="165" type="stmt" count="0"/>
      <line num="168" type="method" name="isUserEligibleForEmailConfirmationExperiment" visibility="public" complexity="12" crap="12" 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="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"/>
      <line num="188" type="stmt" count="2"/>
      <line num="189" type="stmt" count="2"/>
      <line num="190" type="stmt" count="2"/>
      <line num="193" type="method" name="sendEventToBothExperiments" visibility="private" complexity="3" crap="3.14" count="2"/>
      <line num="201" type="stmt" count="2"/>
      <line num="202" type="stmt" count="2"/>
      <line num="203" type="stmt" count="2"/>
      <line num="205" type="stmt" count="0"/>
      <line num="208" type="stmt" count="2"/>
      <line num="209" type="stmt" count="2"/>
      <line num="210" type="stmt" count="2"/>
      <line num="212" type="stmt" count="0"/>
      <metrics loc="216" ncloc="182" classes="1" methods="9" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="36" elements="84" coveredelements="40"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/Hooks/HookRunner.php">
      <class name="WikimediaEvents\Hooks\HookRunner" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="7" coveredelements="7"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="18" type="stmt" count="1"/>
      <line num="24" type="method" name="onWikimediaEventsShouldSchemaEditAttemptStepOversample" visibility="public" complexity="1" crap="1" 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"/>
      <metrics loc="34" ncloc="27" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="7" coveredelements="7"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/Hooks/WikimediaEventsShouldSchemaEditAttemptStepOversampleHook.php">
      <metrics loc="26" 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/WikimediaEvents/includes/IPReputationHooks.php">
      <class name="WikimediaEvents\IPReputationHooks" namespace="global">
        <metrics complexity="12" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="11" elements="62" coveredelements="13"/>
      </class>
      <line num="43" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="51" type="stmt" count="4"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="59" type="method" name="onLocalUserCreated" visibility="public" complexity="2" crap="6" 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="68" type="method" name="onPageSaveComplete" visibility="public" complexity="2" crap="6" 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="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="92" type="method" name="shouldLogEditEventForUser" visibility="private" complexity="3" crap="3" count="4"/>
      <line num="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="97" type="stmt" count="1"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="108" type="method" name="convertIPoidDataToEventLoggingFormat" visibility="private" complexity="1" crap="2" 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="122" type="stmt" count="0"/>
      <line num="134" type="method" name="recordEvent" visibility="private" complexity="3" crap="12" 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="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"/>
      <metrics loc="155" ncloc="118" classes="1" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="11" elements="62" coveredelements="13"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/ActiveTemporaryAccountIPViewersMetric.php">
      <class name="WikimediaEvents\PeriodicMetrics\ActiveTemporaryAccountIPViewersMetric" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="14" elements="17" coveredelements="17"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="29" type="method" name="calculate" visibility="public" complexity="1" crap="1" 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="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="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <metrics loc="52" ncloc="40" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="14" elements="17" coveredelements="17"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/CheckUserCentralTempEditIndexRowCountMetric.php">
      <class name="WikimediaEvents\PeriodicMetrics\CheckUserCentralTempEditIndexRowCountMetric" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="13" coveredelements="13"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="16" type="stmt" count="4"/>
      <line num="20" type="method" name="calculate" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="21" type="stmt" count="2"/>
      <line num="22" type="stmt" count="2"/>
      <line num="23" type="stmt" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="30" type="method" name="getLabels" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="35" type="method" name="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <metrics loc="39" ncloc="33" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="13" coveredelements="13"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/CheckUserCentralUserIndexRowCountMetric.php">
      <class name="WikimediaEvents\PeriodicMetrics\CheckUserCentralUserIndexRowCountMetric" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="13" coveredelements="13"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="16" type="stmt" count="4"/>
      <line num="20" type="method" name="calculate" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="21" type="stmt" count="2"/>
      <line num="22" type="stmt" count="2"/>
      <line num="23" type="stmt" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="30" type="method" name="getLabels" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="35" type="method" name="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <metrics loc="39" ncloc="33" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="13" coveredelements="13"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/GlobalTemporaryAccountIPViewersMetric.php">
      <class name="WikimediaEvents\PeriodicMetrics\GlobalTemporaryAccountIPViewersMetric" namespace="global">
        <metrics complexity="5" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="20" elements="24" coveredelements="24"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="19" type="stmt" count="4"/>
      <line num="22" type="method" name="calculate" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="27" type="stmt" count="2"/>
      <line num="28" type="stmt" 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="32" 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="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="47" type="method" name="getLabels" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="52" type="method" name="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <metrics loc="56" ncloc="46" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="20" elements="24" coveredelements="24"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/GlobalTemporaryAccountIPViewersWithEnabledPreferenceMetric.php">
      <class name="WikimediaEvents\PeriodicMetrics\GlobalTemporaryAccountIPViewersWithEnabledPreferenceMetric" namespace="global">
        <metrics complexity="8" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="61" elements="65" coveredelements="65"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="22" type="stmt" count="5"/>
      <line num="25" type="method" name="calculate" visibility="public" complexity="5" crap="5" 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="32" type="stmt" count="3"/>
      <line num="33" 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="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" 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="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="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="stmt" 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="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="2"/>
      <line num="85" 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="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="110" type="method" name="getLabels" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="115" type="method" name="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <metrics loc="119" ncloc="98" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="61" elements="65" coveredelements="65"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/GloballyAutoEnrolledTemporaryAccountIPViewersMetric.php">
      <class name="WikimediaEvents\PeriodicMetrics\GloballyAutoEnrolledTemporaryAccountIPViewersMetric" namespace="global">
        <metrics complexity="5" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="19" coveredelements="19"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="18" type="stmt" count="4"/>
      <line num="21" type="method" name="calculate" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="22" type="stmt" count="2"/>
      <line num="23" type="stmt" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="26" 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="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="39" type="method" name="getLabels" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="44" type="method" name="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <metrics loc="48" ncloc="41" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="19" coveredelements="19"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/IMetric.php">
      <metrics loc="31" ncloc="12" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/LocalTemporaryAccountIPViewersMetric.php">
      <class name="WikimediaEvents\PeriodicMetrics\LocalTemporaryAccountIPViewersMetric" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="20" elements="23" coveredelements="23"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="30" type="method" name="calculate" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="32" type="stmt" 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="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" 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="54" type="method" name="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <metrics loc="58" ncloc="50" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="20" elements="23" coveredelements="23"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/LocalTemporaryAccountIPViewersWithEnabledPreferenceMetric.php">
      <class name="WikimediaEvents\PeriodicMetrics\LocalTemporaryAccountIPViewersWithEnabledPreferenceMetric" namespace="global">
        <metrics complexity="15" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="113" coveredstatements="113" elements="116" coveredelements="116"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="39" type="stmt" count="7"/>
      <line num="40" type="stmt" count="7"/>
      <line num="41" type="stmt" count="7"/>
      <line num="42" type="stmt" count="7"/>
      <line num="43" type="stmt" count="7"/>
      <line num="44" type="stmt" count="7"/>
      <line num="48" type="method" name="calculate" visibility="public" complexity="13" crap="13" count="6"/>
      <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="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="1"/>
      <line num="62" type="stmt" count="5"/>
      <line num="63" type="stmt" count="5"/>
      <line num="64" 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"/>
      <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="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" 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="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="100" type="stmt" count="4"/>
      <line num="103" type="stmt" count="4"/>
      <line num="104" type="stmt" count="4"/>
      <line num="106" type="stmt" count="1"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="112" type="stmt" count="3"/>
      <line num="113" 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="117" type="stmt" count="3"/>
      <line num="118" type="stmt" count="3"/>
      <line num="119" type="stmt" count="3"/>
      <line num="120" type="stmt" count="3"/>
      <line num="121" type="stmt" count="3"/>
      <line num="122" type="stmt" count="3"/>
      <line num="126" 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="136" type="stmt" count="3"/>
      <line num="137" type="stmt" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <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="146" type="stmt" count="3"/>
      <line num="147" type="stmt" count="3"/>
      <line num="148" type="stmt" count="2"/>
      <line num="149" 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="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="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="3"/>
      <line num="169" type="stmt" count="3"/>
      <line num="170" type="stmt" count="3"/>
      <line num="171" type="stmt" count="3"/>
      <line num="173" type="stmt" count="3"/>
      <line num="174" type="stmt" count="3"/>
      <line num="175" type="stmt" count="2"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="183" type="stmt" count="2"/>
      <line num="185" type="stmt" count="2"/>
      <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="4"/>
      <line num="196" type="stmt" count="5"/>
      <line num="200" type="method" name="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <metrics loc="204" ncloc="175" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="113" coveredstatements="113" elements="116" coveredelements="116"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/LocallyAutoEnrolledTemporaryAccountIPViewersMetric.php">
      <class name="WikimediaEvents\PeriodicMetrics\LocallyAutoEnrolledTemporaryAccountIPViewersMetric" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="18" coveredelements="18"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="30" type="method" name="calculate" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="31" type="stmt" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" 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="47" type="method" name="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <metrics loc="51" ncloc="45" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="18" coveredelements="18"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/PerWikiMetric.php">
      <class name="WikimediaEvents\PeriodicMetrics\PerWikiMetric" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
      </class>
      <line num="13" type="method" name="getLabels" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="14" type="stmt" count="1"/>
      <metrics loc="23" ncloc="17" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PeriodicMetrics/WikimediaEventsMetricsFactory.php">
      <class name="WikimediaEvents\PeriodicMetrics\WikimediaEventsMetricsFactory" namespace="global">
        <metrics complexity="17" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="39" elements="44" coveredelements="44"/>
      </class>
      <line num="47" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="55" type="stmt" count="14"/>
      <line num="56" type="stmt" count="14"/>
      <line num="57" type="stmt" count="14"/>
      <line num="58" type="stmt" count="14"/>
      <line num="59" type="stmt" count="14"/>
      <line num="60" type="stmt" count="14"/>
      <line num="66" type="method" name="getAllMetrics" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="73" type="method" name="getAllPerWikiMetrics" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="80" type="method" name="getAllGlobalMetrics" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="92" type="method" name="newMetric" visibility="public" complexity="13" crap="13" count="11"/>
      <line num="93" type="stmt" count="11"/>
      <line num="94" type="stmt" count="10"/>
      <line num="95" type="stmt" count="10"/>
      <line num="97" type="stmt" count="10"/>
      <line num="98" type="stmt" count="10"/>
      <line num="99" type="stmt" count="10"/>
      <line num="100" type="stmt" count="10"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" 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="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" 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="132" 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="141" type="stmt" count="1"/>
      <line num="143" type="stmt" count="2"/>
      <metrics loc="147" ncloc="123" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="39" elements="44" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/PrefUpdateInstrumentation.php">
      <class name="WikimediaEvents\PrefUpdateInstrumentation" namespace="global">
        <metrics complexity="22" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="47" elements="64" coveredelements="47"/>
      </class>
      <line num="144" type="method" name="onSaveUserOptions" visibility="public" complexity="8" crap="10.37" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="0"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" 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="166" type="stmt" count="1"/>
      <line num="167" 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="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="175" 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="204" type="method" name="createPrefUpdateEvent" visibility="private" complexity="8" crap="8.04" count="9"/>
      <line num="205" type="stmt" count="9"/>
      <line num="206" type="stmt" count="9"/>
      <line num="208" type="stmt" count="1"/>
      <line num="211" type="stmt" count="8"/>
      <line num="212" type="stmt" count="8"/>
      <line num="214" type="stmt" count="5"/>
      <line num="215" type="stmt" count="1"/>
      <line num="216" type="stmt" count="1"/>
      <line num="218" type="stmt" count="4"/>
      <line num="219" type="stmt" count="3"/>
      <line num="220" type="stmt" count="3"/>
      <line num="221" type="stmt" count="3"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="226" 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="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="247" type="method" name="isUserInitiated" visibility="private" complexity="6" crap="6.97" count="1"/>
      <line num="253" type="stmt" count="1"/>
      <line num="254" type="stmt" count="1"/>
      <line num="256" type="stmt" count="0"/>
      <line num="259" type="stmt" count="1"/>
      <line num="261" type="stmt" count="1"/>
      <line num="262" type="stmt" count="0"/>
      <line num="265" type="stmt" count="1"/>
      <line num="266" type="stmt" count="1"/>
      <line num="267" type="stmt" count="1"/>
      <line num="271" type="stmt" count="0"/>
      <metrics loc="274" ncloc="170" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="47" elements="64" coveredelements="47"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/ServiceWiring.php">
      <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="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="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="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"/>
      <metrics loc="81" ncloc="60" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="0" elements="42" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/Services/WikimediaEventsRequestDetailsLookup.php">
      <class name="WikimediaEvents\Services\WikimediaEventsRequestDetailsLookup" namespace="global">
        <metrics complexity="14" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="24" elements="27" coveredelements="27"/>
      </class>
      <line num="15" type="method" name="getEntryPoint" visibility="public" complexity="4" crap="4" count="7"/>
      <line num="16" type="stmt" count="7"/>
      <line num="17" type="stmt" count="7"/>
      <line num="21" type="stmt" count="3"/>
      <line num="22" type="stmt" count="4"/>
      <line num="23" type="stmt" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="33" type="method" name="getMWEntryPointConstant" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="42" type="method" name="getPlatformDetails" visibility="public" complexity="9" crap="9" count="6"/>
      <line num="45" type="stmt" count="6"/>
      <line num="50" type="stmt" 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="61" type="stmt" count="3"/>
      <line num="63" type="stmt" count="6"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="5"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="2"/>
      <line num="72" type="stmt" count="1"/>
      <line num="75" type="stmt" count="6"/>
      <metrics loc="78" ncloc="51" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="24" elements="27" coveredelements="27"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/SpecialWikimediaDebug.php">
      <class name="WikimediaEvents\SpecialWikimediaDebug" namespace="global">
        <metrics complexity="27" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="90" coveredstatements="0" elements="101" coveredelements="0"/>
      </class>
      <line num="39" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="49" type="method" name="execute" visibility="public" complexity="3" crap="12" 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="56" 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="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="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="86" type="stmt" count="0"/>
      <line num="94" type="method" name="submit" visibility="public" complexity="2" crap="6" 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="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="108" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="113" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="118" type="method" name="addHelpLink" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="122" type="method" name="getCookie" visibility="public" complexity="6" crap="42" 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="133" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" 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="146" type="method" name="setCookie" visibility="private" complexity="3" crap="12" 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="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="169" type="method" name="clearCookie" visibility="private" complexity="1" crap="2" 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="176" type="method" name="getCookieOptions" visibility="private" complexity="4" crap="20" 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="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="188" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="193" type="method" name="getCookieDomainForDisplay" visibility="private" complexity="4" crap="20" 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="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"/>
      <metrics loc="205" ncloc="168" classes="1" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="90" coveredstatements="0" elements="101" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/TemporaryAccounts/AbstractTemporaryAccountsInstrumentation.php">
      <class name="WikimediaEvents\TemporaryAccounts\AbstractTemporaryAccountsInstrumentation" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="12" elements="14" coveredelements="14"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="29"/>
      <line num="28" type="stmt" count="29"/>
      <line num="29" type="stmt" count="29"/>
      <line num="38" type="method" name="getUserType" visibility="protected" complexity="5" crap="5" count="17"/>
      <line num="39" type="stmt" count="17"/>
      <line num="41" type="stmt" count="2"/>
      <line num="43" type="stmt" count="15"/>
      <line num="44" type="stmt" count="5"/>
      <line num="47" type="stmt" count="10"/>
      <line num="48" type="stmt" count="4"/>
      <line num="51" type="stmt" count="6"/>
      <line num="52" type="stmt" count="6"/>
      <line num="53" type="stmt" count="1"/>
      <line num="56" type="stmt" count="5"/>
      <metrics loc="59" ncloc="48" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="12" elements="14" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/TemporaryAccounts/FlaggedRevsTemporaryAccountsInstrumentation.php">
      <class name="WikimediaEvents\TemporaryAccounts\FlaggedRevsTemporaryAccountsInstrumentation" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="10" coveredelements="10"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="17" type="stmt" count="2"/>
      <line num="21" type="method" name="onFlaggedRevsStabilitySettingsChanged" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <line num="25" type="stmt" count="1"/>
      <line num="28" type="stmt" 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="32" type="stmt" count="2"/>
      <metrics loc="35" ncloc="29" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="10" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/TemporaryAccounts/GlobalBlockingTemporaryAccountsInstrumentation.php">
      <class name="WikimediaEvents\TemporaryAccounts\GlobalBlockingTemporaryAccountsInstrumentation" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="9" coveredelements="9"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="24" type="stmt" count="7"/>
      <line num="25" type="stmt" count="7"/>
      <line num="29" type="method" name="onGlobalBlockingGlobalBlockAudit" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="30" type="stmt" count="7"/>
      <line num="31" type="stmt" count="7"/>
      <line num="32" type="stmt" count="7"/>
      <line num="33" type="stmt" count="7"/>
      <line num="34" type="stmt" count="7"/>
      <metrics loc="37" 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/WikimediaEvents/includes/TemporaryAccounts/TemporaryAccountsInstrumentation.php">
      <class name="WikimediaEvents\TemporaryAccounts\TemporaryAccountsInstrumentation" namespace="global">
        <metrics complexity="11" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="49" elements="57" coveredelements="54"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="20"/>
      <line num="44" type="stmt" count="20"/>
      <line num="45" type="stmt" count="20"/>
      <line num="46" type="stmt" count="20"/>
      <line num="47" type="stmt" count="20"/>
      <line num="53" type="method" name="onPageDeleteComplete" 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="74" type="method" name="onPageSaveComplete" visibility="public" complexity="4" crap="4.02" count="12"/>
      <line num="75" type="stmt" count="12"/>
      <line num="76" type="stmt" count="12"/>
      <line num="79" type="stmt" count="6"/>
      <line num="80" type="stmt" count="6"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="stmt" count="6"/>
      <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="0"/>
      <line num="93" 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="100" type="stmt" count="6"/>
      <line num="101" type="stmt" count="6"/>
      <line num="105" type="method" name="onBlockIpComplete" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="106" type="stmt" count="4"/>
      <line num="107" type="stmt" count="4"/>
      <line num="108" type="stmt" count="4"/>
      <line num="109" type="stmt" count="4"/>
      <line num="110" type="stmt" count="4"/>
      <line num="111" type="stmt" count="4"/>
      <line num="115" type="method" name="onAuthenticationAttemptThrottled" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="117" type="stmt" count="3"/>
      <line num="118" type="stmt" count="1"/>
      <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="2"/>
      <line num="127" type="stmt" count="2"/>
      <line num="128" type="stmt" count="2"/>
      <line num="132" type="method" name="onArticleProtectComplete" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <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="3"/>
      <line num="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <metrics loc="145" ncloc="128" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="49" elements="57" coveredelements="54"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/UserLogin/UserLoginInstrumentationAuthenticationRequest.php">
      <class name="WikimediaEvents\UserLogin\UserLoginInstrumentationAuthenticationRequest" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="9" coveredelements="9"/>
      </class>
      <line num="19" type="method" name="getFieldInfo" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <line num="21" type="stmt" count="1"/>
      <line num="22" 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"/>
      <metrics loc="32" 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/WikimediaEvents/includes/UserLogin/UserLoginInstrumentationHandler.php">
      <class name="WikimediaEvents\UserLogin\UserLoginInstrumentationHandler" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="5" coveredelements="5"/>
      </class>
      <line num="16" type="method" name="onAuthChangeFormFields" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="17" type="stmt" count="1"/>
      <line num="18" type="stmt" count="1"/>
      <line num="19" type="stmt" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <metrics loc="24" ncloc="17" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="5" coveredelements="5"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/UserLogin/UserLoginInstrumentationPreAuthenticationProvider.php">
      <class name="WikimediaEvents\UserLogin\UserLoginInstrumentationPreAuthenticationProvider" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="25" elements="28" coveredelements="28"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <line num="30" type="method" name="getAuthenticationRequests" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="31" type="stmt" count="3"/>
      <line num="32" type="stmt" count="2"/>
      <line num="35" type="stmt" count="1"/>
      <line num="39" type="method" name="testForAuthentication" visibility="public" complexity="5" crap="5" count="7"/>
      <line num="40" type="stmt" count="7"/>
      <line num="41" type="stmt" count="1"/>
      <line num="44" type="stmt" count="6"/>
      <line num="45" type="stmt" count="6"/>
      <line num="50" type="stmt" count="6"/>
      <line num="51" type="stmt" count="4"/>
      <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="62" 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="69" type="stmt" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <line num="72" type="stmt" count="2"/>
      <metrics loc="75" ncloc="58" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="25" elements="28" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/VectorPrefDiffInstrumentation.php">
      <class name="WikimediaEvents\VectorPrefDiffInstrumentation" namespace="global">
        <metrics complexity="16" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="43" elements="51" coveredelements="45"/>
      </class>
      <line num="86" type="method" name="onPreferencesFormPreSave" visibility="public" complexity="2" crap="6" 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="109" type="method" name="generateSkinVersionName" visibility="private" complexity="3" crap="3" count="11"/>
      <line num="121" type="stmt" count="11"/>
      <line num="124" type="stmt" count="11"/>
      <line num="125" type="stmt" count="11"/>
      <line num="126" type="stmt" count="11"/>
      <line num="129" type="stmt" count="11"/>
      <line num="139" type="method" name="generateSkinVersionNameFromSeparateSkins" visibility="private" complexity="1" crap="1" count="7"/>
      <line num="140" type="stmt" count="7"/>
      <line num="154" type="method" name="createEventIfNecessary" visibility="private" complexity="10" crap="10" count="19"/>
      <line num="159" type="stmt" count="19"/>
      <line num="162" type="stmt" count="19"/>
      <line num="163" type="stmt" count="19"/>
      <line num="165" type="stmt" count="1"/>
      <line num="169" type="stmt" count="18"/>
      <line num="171" type="stmt" count="18"/>
      <line num="172" type="stmt" count="0"/>
      <line num="176" type="stmt" count="18"/>
      <line num="177" type="stmt" count="18"/>
      <line num="178" type="stmt" count="7"/>
      <line num="179" type="stmt" count="11"/>
      <line num="180" type="stmt" count="11"/>
      <line num="181" type="stmt" count="11"/>
      <line num="182" type="stmt" count="11"/>
      <line num="184" type="stmt" count="18"/>
      <line num="185" type="stmt" count="18"/>
      <line num="186" type="stmt" count="7"/>
      <line num="187" type="stmt" count="11"/>
      <line num="188" type="stmt" count="11"/>
      <line num="189" type="stmt" count="11"/>
      <line num="190" type="stmt" count="11"/>
      <line num="192" type="stmt" count="18"/>
      <line num="193" type="stmt" count="18"/>
      <line num="194" type="stmt" count="18"/>
      <line num="198" type="stmt" count="18"/>
      <line num="199" type="stmt" count="18"/>
      <line num="202" type="stmt" count="14"/>
      <line num="203" type="stmt" count="14"/>
      <line num="206" type="stmt" count="14"/>
      <line num="207" type="stmt" count="14"/>
      <line num="208" type="stmt" count="14"/>
      <line num="209" type="stmt" count="14"/>
      <line num="210" type="stmt" count="14"/>
      <line num="211" type="stmt" count="14"/>
      <line num="212" type="stmt" count="14"/>
      <line num="213" type="stmt" count="14"/>
      <line num="214" type="stmt" count="14"/>
      <line num="217" type="stmt" count="4"/>
      <metrics loc="220" ncloc="123" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="43" elements="51" coveredelements="45"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/WikimediaEventsCountryCodeLookup.php">
      <class name="WikimediaEvents\WikimediaEventsCountryCodeLookup" namespace="global">
        <metrics complexity="10" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="11" elements="19" coveredelements="13"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="23" type="stmt" count="5"/>
      <line num="26" type="method" name="getCountryCodeFormattedForEvent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="34" type="method" name="getFromCookie" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="35" 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="41" type="stmt" count="1"/>
      <line num="51" type="method" name="getFromGeoIP" visibility="public" complexity="6" crap="7.90" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="57" type="stmt" count="2"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="66" type="stmt" count="3"/>
      <metrics loc="70" ncloc="49" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="11" elements="19" coveredelements="13"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/includes/WikimediaEventsHooks.php">
      <class name="WikimediaEvents\WikimediaEventsHooks" namespace="global">
        <metrics complexity="96" methods="22" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="219" coveredstatements="107" elements="241" coveredelements="113"/>
      </class>
      <line num="86" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="94" type="stmt" count="21"/>
      <line num="95" type="stmt" count="21"/>
      <line num="102" type="method" name="onBeforePageDisplay" visibility="public" complexity="5" crap="6.60" count="6"/>
      <line num="103" type="stmt" count="6"/>
      <line num="104" type="stmt" count="6"/>
      <line num="105" type="stmt" count="6"/>
      <line num="106" type="stmt" count="6"/>
      <line num="107" type="stmt" count="6"/>
      <line num="109" type="stmt" count="0"/>
      <line num="111" type="stmt" count="6"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="136" type="method" name="onXAnalyticsSetHeader" visibility="public" complexity="12" crap="12" 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="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="153" type="stmt" count="1"/>
      <line num="154" 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="166" type="stmt" count="1"/>
      <line num="167" type="stmt" count="1"/>
      <line num="168" 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="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="198" type="method" name="onPageSaveComplete" visibility="public" complexity="14" crap="14.81" count="7"/>
      <line num="206" type="stmt" count="7"/>
      <line num="208" type="stmt" count="0"/>
      <line num="215" type="stmt" count="7"/>
      <line num="216" type="stmt" count="0"/>
      <line num="219" type="stmt" count="7"/>
      <line num="221" type="stmt" count="7"/>
      <line num="223" type="stmt" count="7"/>
      <line num="224" type="stmt" count="7"/>
      <line num="227" type="stmt" count="7"/>
      <line num="228" type="stmt" count="7"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="7"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="7"/>
      <line num="236" type="stmt" count="4"/>
      <line num="237" type="stmt" count="3"/>
      <line num="238" type="stmt" count="1"/>
      <line num="240" type="stmt" count="2"/>
      <line num="243" type="stmt" count="7"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="7"/>
      <line num="246" type="stmt" count="7"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="253" type="stmt" count="7"/>
      <line num="254" type="stmt" count="7"/>
      <line num="255" 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="263" type="stmt" count="0"/>
      <line num="266" type="stmt" count="7"/>
      <line num="268" type="stmt" count="7"/>
      <line num="270" 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="277" type="stmt" count="7"/>
      <line num="278" type="stmt" count="7"/>
      <line num="279" type="stmt" count="7"/>
      <line num="280" type="stmt" count="7"/>
      <line num="281" type="stmt" count="7"/>
      <line num="282" type="stmt" count="7"/>
      <line num="283" type="stmt" count="7"/>
      <line num="285" type="stmt" count="7"/>
      <line num="286" type="stmt" count="7"/>
      <line num="287" type="stmt" count="7"/>
      <line num="288" type="stmt" count="7"/>
      <line num="289" type="stmt" count="7"/>
      <line num="290" type="stmt" count="7"/>
      <line num="291" type="stmt" count="7"/>
      <line num="292" type="stmt" count="7"/>
      <line num="303" type="method" name="getModuleFile" visibility="public" complexity="15" crap="240" count="0"/>
      <line num="304" 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="316" type="stmt" count="0"/>
      <line num="318" 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="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="341" type="method" name="onListDefinedTags" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="352" type="method" name="onChangeTagsListActive" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="361" type="method" name="onSpecialSearchGoResult" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="362" 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="379" type="method" name="onSpecialSearchResults" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="380" 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="390" type="method" name="onRecentChange_save" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="391" type="stmt" count="7"/>
      <line num="392" type="stmt" count="7"/>
      <line num="401" type="method" name="onRecentChangeSaveCrossWikiUpload" visibility="public" complexity="6" crap="24.43" count="7"/>
      <line num="402" type="stmt" count="7"/>
      <line num="403" type="stmt" count="7"/>
      <line num="407" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="410" 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="417" type="stmt" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="427" type="method" name="onRecentChangeSaveEditCampaign" visibility="public" complexity="3" crap="6.80" count="7"/>
      <line num="428" type="stmt" count="7"/>
      <line num="429" type="stmt" count="7"/>
      <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="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="445" type="method" name="onResourceLoaderRegisterModules" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="450" 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="465" type="method" name="onArticleViewHeader" visibility="public" complexity="4" crap="20" 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="472" type="stmt" count="0"/>
      <line num="474" 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="492" type="method" name="onMakeGlobalVariablesScript" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="494" 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="507" type="method" name="shouldSchemaEditAttemptStepOversample" visibility="public" complexity="1" crap="2" 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="538" type="method" name="onBeforeInitialize" visibility="public" complexity="11" crap="132" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" 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="567" 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="581" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="595" type="method" name="maybeAddWatchlistTracking" visibility="private" complexity="3" crap="4.12" count="6"/>
      <line num="596" type="stmt" count="6"/>
      <line num="597" type="stmt" count="0"/>
      <line num="614" type="method" name="maybeAddDiffTracking" visibility="private" complexity="3" crap="3" count="6"/>
      <line num="615" type="stmt" count="6"/>
      <line num="616" type="stmt" count="3"/>
      <line num="618" type="stmt" count="3"/>
      <line num="640" type="method" name="getPersonalDashboardFeedSources" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="644" type="stmt" count="2"/>
      <line num="645" type="stmt" count="2"/>
      <line num="646" type="stmt" count="2"/>
      <line num="647" type="stmt" count="2"/>
      <line num="648" type="stmt" count="2"/>
      <line num="662" type="method" name="onSiteNoticeAfter" visibility="public" complexity="3" crap="3.71" count="7"/>
      <line num="663" type="stmt" count="7"/>
      <line num="664" type="stmt" count="7"/>
      <line num="665" type="stmt" count="7"/>
      <line num="666" type="stmt" count="7"/>
      <line num="669" type="stmt" count="0"/>
      <line num="671" type="stmt" count="0"/>
      <line num="672" type="stmt" count="0"/>
      <line num="680" type="method" name="shouldShowEmailConfirmationDelayedBanner" visibility="private" complexity="3" crap="3" count="6"/>
      <line num="682" type="stmt" count="6"/>
      <metrics loc="697" ncloc="481" classes="1" methods="22" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="219" coveredstatements="107" elements="241" coveredelements="113"/>
    </file>
    <file name="/workspace/src/extensions/WikimediaEvents/maintenance/UpdatePeriodicMetrics.php">
      <class name="WikimediaEvents\Maintenance\UpdatePeriodicMetrics" namespace="global">
        <metrics complexity="9" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="38" elements="41" coveredelements="41"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="31" type="stmt" count="6"/>
      <line num="32" type="stmt" count="6"/>
      <line num="35" 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="49" type="method" name="initServices" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="50" type="stmt" count="6"/>
      <line num="51" type="stmt" count="6"/>
      <line num="52" type="stmt" count="6"/>
      <line num="56" type="method" name="execute" visibility="public" complexity="7" crap="7" count="6"/>
      <line num="57" type="stmt" count="6"/>
      <line num="59" type="stmt" count="6"/>
      <line num="60" type="stmt" count="1"/>
      <line num="62" type="stmt" count="5"/>
      <line num="65" type="stmt" count="6"/>
      <line num="67" type="stmt" count="6"/>
      <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="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="76" type="stmt" count="4"/>
      <line num="77" type="stmt" count="4"/>
      <line num="78" type="stmt" count="4"/>
      <line num="80" type="stmt" count="4"/>
      <line num="81" type="stmt" count="2"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="88" type="stmt" count="2"/>
      <line num="89" type="stmt" count="2"/>
      <line num="90" type="stmt" count="1"/>
      <line num="92" type="stmt" count="2"/>
      <line num="93" type="stmt" count="2"/>
      <metrics loc="103" ncloc="90" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="38" elements="41" coveredelements="41"/>
    </file>
    <metrics files="49" loc="5308" ncloc="3961" classes="46" methods="187" coveredmethods="114" conditionals="0" coveredconditionals="0" statements="1696" coveredstatements="1165" elements="1883" coveredelements="1279"/>
  </project>
</coverage>
