<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1791793982">
  <project timestamp="1791793982">
    <file name="/workspace/src/extensions/Wikispeech/includes/Api/ApiWikispeechListen.php">
      <class name="MediaWiki\Wikispeech\Api\ApiWikispeechListen" namespace="global">
        <metrics complexity="29" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="214" coveredstatements="155" elements="220" coveredelements="159"/>
      </class>
      <line num="86" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="96" type="stmt" count="14"/>
      <line num="97" type="stmt" count="14"/>
      <line num="98" type="stmt" count="14"/>
      <line num="99" type="stmt" count="14"/>
      <line num="100" type="stmt" count="14"/>
      <line num="101" type="stmt" count="14"/>
      <line num="102" type="stmt" count="14"/>
      <line num="103" type="stmt" count="14"/>
      <line num="104" type="stmt" count="14"/>
      <line num="105" type="stmt" count="14"/>
      <line num="106" type="stmt" count="14"/>
      <line num="107" type="stmt" count="14"/>
      <line num="108" type="stmt" count="14"/>
      <line num="109" type="stmt" count="14"/>
      <line num="110" type="stmt" count="14"/>
      <line num="111" type="stmt" count="14"/>
      <line num="112" type="stmt" count="14"/>
      <line num="114" type="stmt" count="14"/>
      <line num="122" type="method" name="execute" visibility="public" complexity="13" crap="34.12" count="12"/>
      <line num="123" type="stmt" count="12"/>
      <line num="124" type="stmt" count="12"/>
      <line num="126" type="stmt" count="12"/>
      <line num="128" type="stmt" count="12"/>
      <line num="129" type="stmt" count="12"/>
      <line num="130" type="stmt" count="12"/>
      <line num="132" type="stmt" count="6"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="139" type="stmt" count="6"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="168" type="stmt" count="6"/>
      <line num="170" type="stmt" count="6"/>
      <line num="171" type="stmt" count="6"/>
      <line num="172" type="stmt" count="6"/>
      <line num="173" type="stmt" count="6"/>
      <line num="174" type="stmt" count="6"/>
      <line num="175" type="stmt" count="6"/>
      <line num="176" type="stmt" count="6"/>
      <line num="177" type="stmt" count="6"/>
      <line num="178" type="stmt" count="6"/>
      <line num="179" type="stmt" count="5"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="5"/>
      <line num="186" type="stmt" count="2"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="203" type="stmt" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="206" type="stmt" count="1"/>
      <line num="207" 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="215" type="stmt" count="1"/>
      <line num="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="218" type="stmt" count="1"/>
      <line num="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="221" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="226" type="stmt" count="1"/>
      <line num="227" type="stmt" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="233" type="stmt" count="1"/>
      <line num="234" type="stmt" count="1"/>
      <line num="236" type="stmt" count="1"/>
      <line num="237" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="258" type="method" name="validateParameters" visibility="private" complexity="11" crap="11" count="14"/>
      <line num="260" type="stmt" count="14"/>
      <line num="261" type="stmt" count="14"/>
      <line num="262" type="stmt" count="1"/>
      <line num="265" type="stmt" count="13"/>
      <line num="266" type="stmt" count="13"/>
      <line num="268" type="stmt" count="1"/>
      <line num="269" type="stmt" count="1"/>
      <line num="270" type="stmt" count="1"/>
      <line num="271" type="stmt" count="1"/>
      <line num="272" type="stmt" count="1"/>
      <line num="275" type="stmt" count="12"/>
      <line num="276" type="stmt" count="12"/>
      <line num="278" type="stmt" count="1"/>
      <line num="279" type="stmt" count="1"/>
      <line num="280" type="stmt" count="1"/>
      <line num="281" type="stmt" count="1"/>
      <line num="282" type="stmt" count="1"/>
      <line num="284" type="stmt" count="11"/>
      <line num="285" type="stmt" count="11"/>
      <line num="286" type="stmt" count="11"/>
      <line num="287" type="stmt" count="11"/>
      <line num="288" type="stmt" count="11"/>
      <line num="289" type="stmt" count="11"/>
      <line num="290" type="stmt" count="11"/>
      <line num="291" type="stmt" count="10"/>
      <line num="292" type="stmt" count="10"/>
      <line num="295" type="stmt" count="10"/>
      <line num="296" type="stmt" count="10"/>
      <line num="297" type="stmt" count="1"/>
      <line num="298" type="stmt" count="1"/>
      <line num="299" type="stmt" count="1"/>
      <line num="300" type="stmt" count="1"/>
      <line num="301" type="stmt" count="1"/>
      <line num="305" type="stmt" count="9"/>
      <line num="306" type="stmt" count="9"/>
      <line num="307" type="stmt" count="7"/>
      <line num="308" type="stmt" count="7"/>
      <line num="309" type="stmt" count="1"/>
      <line num="310" type="stmt" count="1"/>
      <line num="311" type="stmt" count="1"/>
      <line num="312" type="stmt" count="1"/>
      <line num="313" type="stmt" count="1"/>
      <line num="318" type="stmt" count="8"/>
      <line num="320" type="stmt" count="8"/>
      <line num="321" type="stmt" count="1"/>
      <line num="322" type="stmt" count="1"/>
      <line num="323" type="stmt" count="1"/>
      <line num="324" type="stmt" count="1"/>
      <line num="325" type="stmt" count="1"/>
      <line num="337" type="method" name="makeValuesString" visibility="private" complexity="2" crap="2" count="2"/>
      <line num="338" type="stmt" count="2"/>
      <line num="339" type="stmt" count="2"/>
      <line num="340" type="stmt" count="2"/>
      <line num="342" type="stmt" count="2"/>
      <line num="351" type="method" name="getAllowedParams" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="352" type="stmt" count="12"/>
      <line num="353" type="stmt" count="12"/>
      <line num="354" type="stmt" count="12"/>
      <line num="355" type="stmt" count="12"/>
      <line num="356" type="stmt" count="12"/>
      <line num="357" type="stmt" count="12"/>
      <line num="358" type="stmt" count="12"/>
      <line num="359" type="stmt" count="12"/>
      <line num="360" type="stmt" count="12"/>
      <line num="361" type="stmt" count="12"/>
      <line num="362" type="stmt" count="12"/>
      <line num="363" type="stmt" count="12"/>
      <line num="364" type="stmt" count="12"/>
      <line num="365" type="stmt" count="12"/>
      <line num="366" type="stmt" count="12"/>
      <line num="367" type="stmt" count="12"/>
      <line num="368" type="stmt" count="12"/>
      <line num="369" type="stmt" count="12"/>
      <line num="370" type="stmt" count="12"/>
      <line num="371" type="stmt" count="12"/>
      <line num="372" type="stmt" count="12"/>
      <line num="373" type="stmt" count="12"/>
      <line num="374" type="stmt" count="12"/>
      <line num="375" type="stmt" count="12"/>
      <line num="376" type="stmt" count="12"/>
      <line num="377" type="stmt" count="12"/>
      <line num="378" type="stmt" count="12"/>
      <line num="379" type="stmt" count="12"/>
      <line num="380" type="stmt" count="12"/>
      <line num="381" type="stmt" count="12"/>
      <line num="382" type="stmt" count="12"/>
      <line num="383" type="stmt" count="12"/>
      <line num="384" type="stmt" count="12"/>
      <line num="385" type="stmt" count="12"/>
      <line num="386" type="stmt" count="12"/>
      <line num="387" type="stmt" count="12"/>
      <line num="388" type="stmt" count="12"/>
      <line num="397" type="method" name="getExamplesMessages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <metrics loc="414" ncloc="333" classes="1" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="214" coveredstatements="155" elements="220" coveredelements="159"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Api/ApiWikispeechSegment.php">
      <class name="MediaWiki\Wikispeech\Api\ApiWikispeechSegment" namespace="global">
        <metrics complexity="12" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="84" coveredstatements="72" elements="88" coveredelements="74"/>
      </class>
      <line num="53" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="62" type="stmt" count="8"/>
      <line num="63" type="stmt" count="8"/>
      <line num="64" type="stmt" count="8"/>
      <line num="65" type="stmt" count="8"/>
      <line num="66" type="stmt" count="8"/>
      <line num="74" type="method" name="execute" visibility="public" complexity="9" crap="9.08" count="8"/>
      <line num="75" type="stmt" count="8"/>
      <line num="77" type="stmt" count="8"/>
      <line num="78" type="stmt" count="8"/>
      <line num="79" type="stmt" count="1"/>
      <line num="81" type="stmt" count="7"/>
      <line num="82" type="stmt" count="7"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="88" type="stmt" count="7"/>
      <line num="89" type="stmt" count="1"/>
      <line num="91" type="stmt" count="6"/>
      <line num="92" type="stmt" count="6"/>
      <line num="93" type="stmt" count="6"/>
      <line num="94" type="stmt" count="6"/>
      <line num="95" type="stmt" count="6"/>
      <line num="96" type="stmt" count="1"/>
      <line num="98" type="stmt" count="5"/>
      <line num="99" type="stmt" count="5"/>
      <line num="100" type="stmt" count="4"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="131" type="method" name="getAllowedParams" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="132" type="stmt" count="8"/>
      <line num="133" type="stmt" count="8"/>
      <line num="134" type="stmt" count="8"/>
      <line num="135" type="stmt" count="8"/>
      <line num="136" type="stmt" count="8"/>
      <line num="137" type="stmt" count="8"/>
      <line num="138" type="stmt" count="8"/>
      <line num="139" type="stmt" count="8"/>
      <line num="140" type="stmt" count="8"/>
      <line num="141" type="stmt" count="8"/>
      <line num="142" type="stmt" count="8"/>
      <line num="143" type="stmt" count="8"/>
      <line num="144" type="stmt" count="8"/>
      <line num="145" type="stmt" count="8"/>
      <line num="146" type="stmt" count="8"/>
      <line num="147" type="stmt" count="8"/>
      <line num="148" type="stmt" count="8"/>
      <line num="149" type="stmt" count="8"/>
      <line num="150" type="stmt" count="8"/>
      <line num="151" type="stmt" count="8"/>
      <line num="152" type="stmt" count="8"/>
      <line num="153" type="stmt" count="8"/>
      <line num="154" type="stmt" count="8"/>
      <line num="155" type="stmt" count="8"/>
      <line num="156" type="stmt" count="8"/>
      <line num="157" type="stmt" count="8"/>
      <line num="158" type="stmt" count="8"/>
      <line num="159" type="stmt" count="8"/>
      <line num="160" type="stmt" count="8"/>
      <line num="161" type="stmt" count="8"/>
      <line num="170" type="method" name="getExamplesMessages" visibility="public" complexity="1" crap="2" 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="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"/>
      <metrics loc="182" ncloc="138" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="84" coveredstatements="72" elements="88" coveredelements="74"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Api/ListenMetricsEntry.php">
      <class name="MediaWiki\Wikispeech\Api\ListenMetricsEntry" namespace="global">
        <metrics complexity="30" methods="30" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="60" coveredelements="0"/>
      </class>
      <line num="73" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="81" type="method" name="setId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="89" type="method" name="getTimestamp" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="97" type="method" name="setTimestamp" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="105" type="method" name="getSegmentIndex" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="113" type="method" name="setSegmentIndex" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="121" type="method" name="getSegmentHash" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="129" type="method" name="setSegmentHash" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="137" type="method" name="getRemoteWikiHash" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="145" type="method" name="setRemoteWikiHash" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="153" type="method" name="getConsumerUrl" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="161" type="method" name="setConsumerUrl" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="169" type="method" name="getPageTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="177" type="method" name="setPageTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="185" type="method" name="getPageId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="193" type="method" name="setPageId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="201" type="method" name="getPageRevisionId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="209" type="method" name="setPageRevisionId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="217" type="method" name="getLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="225" type="method" name="setLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="233" type="method" name="getVoice" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="241" type="method" name="setVoice" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="249" type="method" name="getMicrosecondsSpent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="257" type="method" name="setMicrosecondsSpent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="265" type="method" name="getUtteranceSynthesized" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="273" type="method" name="setUtteranceSynthesized" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="281" type="method" name="getMillisecondsSpeechInUtterance" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="289" type="method" name="setMillisecondsSpeechInUtterance" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="297" type="method" name="getCharactersInSegment" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="305" type="method" name="setCharactersInSegment" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <metrics loc="310" ncloc="161" classes="1" methods="30" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="60" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Api/ListenMetricsEntryFileJournal.php">
      <class name="MediaWiki\Wikispeech\Api\ListenMetricsEntryFileJournal" namespace="global">
        <metrics complexity="20" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="96" coveredstatements="0" elements="101" coveredelements="0"/>
      </class>
      <line num="35" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="44" type="method" name="appendEntry" visibility="public" complexity="2" crap="6" 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="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="86" type="method" name="archiveCurrentMetricsJournal" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="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="103" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="172" type="method" name="getCurrentMetricsJournalFile" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="209" type="method" name="flockWithTimeout" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <metrics loc="246" ncloc="163" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="96" coveredstatements="0" elements="101" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Api/ListenMetricsEntryJournal.php">
      <metrics loc="33" 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/Wikispeech/includes/Api/ListenMetricsEntrySerializer.php">
      <class name="MediaWiki\Wikispeech\Api\ListenMetricsEntrySerializer" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="0" elements="20" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="serialize" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <metrics loc="45" ncloc="31" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="0" elements="20" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/ConfigurationValidator.php">
      <class name="MediaWiki\Wikispeech\ConfigurationValidator" namespace="global">
        <metrics complexity="22" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="94" coveredstatements="61" elements="97" coveredelements="62"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="23" type="stmt" count="7"/>
      <line num="24" type="stmt" count="7"/>
      <line num="35" type="method" name="validateConfiguration" visibility="public" complexity="12" crap="14.60" count="7"/>
      <line num="36" type="stmt" count="7"/>
      <line num="38" type="stmt" count="7"/>
      <line num="39" type="stmt" count="7"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="47" type="stmt" count="7"/>
      <line num="48" type="stmt" count="7"/>
      <line num="49" type="stmt" count="7"/>
      <line num="50" type="stmt" count="7"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="59" type="stmt" count="7"/>
      <line num="60" type="stmt" count="7"/>
      <line num="61" type="stmt" count="7"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="7"/>
      <line num="69" type="stmt" count="7"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="77" type="stmt" count="7"/>
      <line num="78" type="stmt" count="7"/>
      <line num="79" type="stmt" count="7"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="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="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="99" type="stmt" count="7"/>
      <line num="100" type="stmt" count="7"/>
      <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="107" type="stmt" count="6"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="115" type="stmt" count="7"/>
      <line num="116" type="stmt" count="7"/>
      <line num="117" type="stmt" count="7"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="6"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="131" type="stmt" count="7"/>
      <line num="145" type="method" name="isValidRemoveTags" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="154" 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="163" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <metrics loc="171" ncloc="138" classes="1" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="94" coveredstatements="61" elements="97" coveredelements="62"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/DefaultUserOptions.php">
      <class name="MediaWiki\Wikispeech\DefaultUserOptions" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="getDefaultUserOptions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <metrics loc="37" ncloc="20" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/HaproxyStatusParser.php">
      <class name="MediaWiki\Wikispeech\HaproxyStatusParser" namespace="global">
        <metrics complexity="16" methods="7" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="30" elements="52" coveredelements="33"/>
      </class>
      <line num="140" type="method" name="__construct" visibility="public" complexity="7" crap="7" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="0"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="160" type="stmt" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="167" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="181" type="method" name="findServerRowIndex" visibility="public" complexity="4" crap="4.13" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="190" type="stmt" count="1"/>
      <line num="193" type="stmt" count="0"/>
      <line num="203" type="method" name="findServerColumnValue" visibility="public" complexity="1" crap="1" 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="220" type="method" name="getColumnValue" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="231" type="method" name="getNumberOfRows" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="250" type="method" name="isQueueOverloaded" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="294" type="method" name="getAvailableNonQueuedConnectionSlots" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <metrics loc="311" ncloc="119" classes="1" methods="7" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="30" elements="52" coveredelements="33"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Hooks/ApiHooks.php">
      <class name="MediaWiki\Wikispeech\Hooks\ApiHooks" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="10" elements="14" coveredelements="12"/>
      </class>
      <line num="52" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="59" type="stmt" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="70" type="method" name="onApiBeforeMain" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="82" type="method" name="onApiCheckCanExecute" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="84" type="stmt" count="2"/>
      <line num="85" type="stmt" count="2"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <metrics loc="93" ncloc="61" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="10" elements="14" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Hooks/DatabaseHooks.php">
      <class name="MediaWiki\Wikispeech\Hooks\DatabaseHooks" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="onLoadExtensionSchemaUpdates" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <metrics loc="47" ncloc="33" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Hooks/LexiconArticleEditHooks.php">
      <class name="MediaWiki\Wikispeech\Hooks\LexiconArticleEditHooks" namespace="global">
        <metrics complexity="8" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="29" elements="31" coveredelements="31"/>
      </class>
      <line num="34" type="method" name="onCustomEditor" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="38" type="stmt" count="5"/>
      <line num="39" type="stmt" count="1"/>
      <line num="42" type="stmt" count="4"/>
      <line num="43" type="stmt" count="4"/>
      <line num="44" type="stmt" count="1"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="51" type="stmt" count="1"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="59" type="stmt" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="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="76" type="method" name="onSkinTemplateNavigation__Universal" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="1"/>
      <line num="81" type="stmt" count="2"/>
      <line num="82" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <metrics loc="93" ncloc="66" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="29" elements="31" coveredelements="31"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Hooks/PlayerHooks.php">
      <class name="MediaWiki\Wikispeech\Hooks\PlayerHooks" namespace="global">
        <metrics complexity="25" methods="8" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="144" coveredstatements="70" elements="152" coveredelements="72"/>
      </class>
      <line num="73" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="82" type="stmt" count="17"/>
      <line num="83" type="stmt" count="17"/>
      <line num="84" type="stmt" count="17"/>
      <line num="85" type="stmt" count="17"/>
      <line num="86" type="stmt" count="17"/>
      <line num="87" type="stmt" count="17"/>
      <line num="88" type="stmt" count="17"/>
      <line num="89" type="stmt" count="17"/>
      <line num="90" type="stmt" count="17"/>
      <line num="103" type="method" name="onBeforePageDisplay" visibility="public" complexity="4" crap="4.01" count="10"/>
      <line num="104" type="stmt" count="10"/>
      <line num="105" type="stmt" count="7"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <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="2"/>
      <line num="118" type="stmt" count="2"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="123" type="stmt" count="3"/>
      <line num="124" type="stmt" count="3"/>
      <line num="125" type="stmt" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="3"/>
      <line num="128" type="stmt" count="3"/>
      <line num="129" type="stmt" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="149" type="method" name="shouldWikispeechRun" visibility="private" complexity="10" crap="10" count="17"/>
      <line num="150" type="stmt" count="17"/>
      <line num="151" type="stmt" count="17"/>
      <line num="152" type="stmt" count="17"/>
      <line num="153" type="stmt" count="2"/>
      <line num="154" type="stmt" count="2"/>
      <line num="157" type="stmt" count="15"/>
      <line num="158" type="stmt" count="15"/>
      <line num="159" type="stmt" count="15"/>
      <line num="160" type="stmt" count="2"/>
      <line num="161" type="stmt" count="2"/>
      <line num="162" type="stmt" count="2"/>
      <line num="165" type="stmt" count="13"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="170" type="stmt" count="11"/>
      <line num="171" type="stmt" count="11"/>
      <line num="172" type="stmt" count="11"/>
      <line num="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="177" type="stmt" count="9"/>
      <line num="178" type="stmt" count="2"/>
      <line num="179" type="stmt" count="2"/>
      <line num="182" type="stmt" count="7"/>
      <line num="185" type="stmt" count="0"/>
      <line num="187" type="stmt" count="7"/>
      <line num="189" type="stmt" count="7"/>
      <line num="190" type="stmt" count="7"/>
      <line num="191" type="stmt" count="2"/>
      <line num="192" type="stmt" count="2"/>
      <line num="195" type="stmt" count="5"/>
      <line num="196" type="stmt" count="5"/>
      <line num="197" type="stmt" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="201" type="stmt" count="4"/>
      <line num="213" type="method" name="onResourceLoaderGetConfigVars" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="227" type="method" name="onGetPreferences" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="276" type="method" name="addVoicePreferences" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="307" type="method" name="addSpeechRatePreferences" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="329" type="method" name="onSkinTemplateNavigation__Universal" visibility="public" complexity="2" crap="2" count="7"/>
      <line num="330" type="stmt" count="7"/>
      <line num="331" type="stmt" count="7"/>
      <line num="332" type="stmt" count="1"/>
      <line num="333" type="stmt" count="1"/>
      <line num="334" type="stmt" count="1"/>
      <line num="335" type="stmt" count="1"/>
      <line num="336" type="stmt" count="1"/>
      <metrics loc="340" ncloc="251" classes="1" methods="8" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="144" coveredstatements="70" elements="152" coveredelements="72"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/InputTextValidator.php">
      <class name="MediaWiki\Wikispeech\InputTextValidator" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="validateText" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <metrics loc="32" ncloc="20" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/ConfiguredLexiconStorage.php">
      <class name="MediaWiki\Wikispeech\Lexicon\ConfiguredLexiconStorage" namespace="global">
        <metrics complexity="14" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="0" elements="40" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="62" type="method" name="getEntry" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="78" type="method" name="getLocalEntry" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="89" type="method" name="createEntryItem" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="100" type="method" name="updateEntryItem" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="111" type="method" name="deleteEntryItem" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="130" type="method" name="syncEntryItem" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <metrics loc="149" ncloc="99" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="0" elements="40" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/LexiconEntry.php">
      <class name="MediaWiki\Wikispeech\Lexicon\LexiconEntry" namespace="global">
        <metrics complexity="25" methods="16" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="0" elements="54" coveredelements="0"/>
      </class>
      <line num="39" type="method" name="findItemIndexByItem" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="52" type="method" name="findItemIndexBySpeechoidIdentity" visibility="public" complexity="3" crap="12" 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="58" type="stmt" count="0"/>
      <line num="66" type="method" name="findItemByItem" visibility="public" complexity="2" crap="6" 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="71" type="stmt" count="0"/>
      <line num="79" type="method" name="findItemBySpeechoidIdentity" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="89" type="method" name="getItemAt" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="97" type="method" name="addItem" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="108" type="method" name="replaceItem" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="125" type="method" name="replaceItemAt" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="136" type="method" name="deleteItem" visibility="public" complexity="3" crap="12" 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="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="152" type="method" name="deleteItemAt" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="162" type="method" name="getLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="170" type="method" name="setLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="178" type="method" name="getKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="186" type="method" name="setKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="203" type="method" name="getItems" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="211" type="method" name="setItems" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <metrics loc="216" ncloc="113" classes="1" methods="16" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="0" elements="54" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/LexiconEntryItem.php">
      <class name="MediaWiki\Wikispeech\Lexicon\LexiconEntryItem" namespace="global">
        <metrics complexity="19" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="34" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__toString" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="40" type="method" name="getProperties" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="48" type="method" name="setProperties" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="62" type="method" name="getTranscription" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="76" type="method" name="getPreferred" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="91" type="method" name="removePreferred" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="107" type="method" name="copyFrom" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="117" type="method" name="getSpeechoidIdentity" visibility="public" complexity="3" crap="12" 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="126" type="method" name="setSpeechoidIdentity" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="142" type="method" name="toJson" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <metrics loc="147" ncloc="77" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="34" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/LexiconEntryMapper.php">
      <class name="MediaWiki\Wikispeech\Lexicon\LexiconEntryMapper" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="32" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="morphologyMap" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <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="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="method" name="partOfSpeechMap" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <metrics loc="67" ncloc="54" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="32" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/LexiconHandler.php">
      <class name="MediaWiki\Wikispeech\Lexicon\LexiconHandler" namespace="global">
        <metrics complexity="40" methods="9" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="109" coveredstatements="80" elements="118" coveredelements="85"/>
      </class>
      <line num="53" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="57" type="stmt" count="13"/>
      <line num="58" type="stmt" count="13"/>
      <line num="74" type="method" name="getEntry" visibility="public" complexity="14" crap="21.73" count="5"/>
      <line num="78" type="stmt" count="5"/>
      <line num="79" type="stmt" count="5"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="4"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="0"/>
      <line num="93" 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="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="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="117" type="stmt" count="4"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="128" type="stmt" count="4"/>
      <line num="130" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="132" type="stmt" count="2"/>
      <line num="133" type="stmt" count="2"/>
      <line num="134" type="stmt" count="2"/>
      <line num="135" type="stmt" count="2"/>
      <line num="139" type="stmt" count="4"/>
      <line num="140" type="stmt" count="4"/>
      <line num="141" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="2"/>
      <line num="148" type="stmt" count="2"/>
      <line num="157" type="method" name="getLocalEntry" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="167" type="method" name="syncEntryItem" visibility="public" complexity="3" crap="4.79" count="1"/>
      <line num="168" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="177" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="185" type="stmt" count="1"/>
      <line num="195" type="method" name="outOfSyncItemFactory" visibility="private" complexity="3" crap="3" count="2"/>
      <line num="200" type="stmt" 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="204" type="stmt" count="2"/>
      <line num="213" type="method" name="createEntryItem" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="218" type="stmt" count="2"/>
      <line num="233" type="method" name="updateEntryItem" visibility="public" complexity="13" crap="13.28" count="6"/>
      <line num="238" type="stmt" count="6"/>
      <line num="240" type="stmt" count="0"/>
      <line num="242" type="stmt" count="6"/>
      <line num="243" type="stmt" count="6"/>
      <line num="247" type="stmt" count="6"/>
      <line num="248" type="stmt" count="4"/>
      <line num="249" type="stmt" count="4"/>
      <line num="250" type="stmt" count="1"/>
      <line num="251" type="stmt" count="1"/>
      <line num="252" type="stmt" count="0"/>
      <line num="254" type="stmt" count="1"/>
      <line num="258" type="stmt" count="6"/>
      <line num="259" type="stmt" count="2"/>
      <line num="260" type="stmt" count="2"/>
      <line num="266" type="stmt" count="4"/>
      <line num="267" type="stmt" count="1"/>
      <line num="268" type="stmt" count="1"/>
      <line num="269" type="stmt" count="0"/>
      <line num="271" type="stmt" count="1"/>
      <line num="272" type="stmt" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="0"/>
      <line num="277" type="stmt" count="1"/>
      <line num="278" type="stmt" count="1"/>
      <line num="280" type="stmt" count="3"/>
      <line num="281" type="stmt" count="3"/>
      <line num="282" type="stmt" count="3"/>
      <line num="283" type="stmt" count="3"/>
      <line num="284" type="stmt" count="3"/>
      <line num="286" type="stmt" count="4"/>
      <line num="287" type="stmt" count="4"/>
      <line num="289" type="stmt" count="6"/>
      <line num="290" type="stmt" count="2"/>
      <line num="307" type="method" name="removePreferred" visibility="private" complexity="3" crap="3" count="2"/>
      <line num="308" type="stmt" count="2"/>
      <line num="309" type="stmt" count="2"/>
      <line num="310" type="stmt" count="2"/>
      <line num="311" type="stmt" count="2"/>
      <line num="312" type="stmt" count="2"/>
      <line num="324" type="method" name="deleteEntryItem" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <metrics loc="333" ncloc="212" classes="1" methods="9" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="109" coveredstatements="80" elements="118" coveredelements="85"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/LexiconLocalStorage.php">
      <metrics loc="39" ncloc="15" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/LexiconSpeechoidStorage.php">
      <class name="MediaWiki\Wikispeech\Lexicon\LexiconSpeechoidStorage" namespace="global">
        <metrics complexity="32" methods="6" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="92" coveredstatements="54" elements="98" coveredelements="55"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="55" type="method" name="findLexiconNameByLanguage" visibility="private" complexity="2" crap="2.65" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="62" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="72" type="stmt" count="3"/>
      <line num="83" type="method" name="getEntry" visibility="public" complexity="7" crap="7.34" count="3"/>
      <line num="87" type="stmt" count="3"/>
      <line num="88" type="stmt" count="0"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="97" type="stmt" count="0"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="111" 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="131" type="method" name="createEntryItem" visibility="public" complexity="9" crap="12.41" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="138" type="stmt" count="0"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="0"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="0"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="0"/>
      <line num="160" type="stmt" count="1"/>
      <line num="161" type="stmt" count="1"/>
      <line num="162" type="stmt" count="0"/>
      <line num="164" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="166" type="stmt" count="0"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="170" type="stmt" count="0"/>
      <line num="172" type="stmt" count="1"/>
      <line num="188" type="method" name="updateEntryItem" visibility="public" complexity="8" crap="9.49" count="2"/>
      <line num="193" type="stmt" count="2"/>
      <line num="195" type="stmt" count="0"/>
      <line num="197" type="stmt" count="2"/>
      <line num="198" type="stmt" count="2"/>
      <line num="199" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="203" type="stmt" count="0"/>
      <line num="205" type="stmt" count="1"/>
      <line num="206" type="stmt" count="1"/>
      <line num="207" type="stmt" count="0"/>
      <line num="211" type="stmt" count="1"/>
      <line num="212" type="stmt" count="1"/>
      <line num="213" type="stmt" count="0"/>
      <line num="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="221" type="stmt" count="0"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="0"/>
      <line num="227" type="stmt" count="1"/>
      <line num="241" type="method" name="deleteEntryItem" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <metrics loc="267" ncloc="181" classes="1" methods="6" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="92" coveredstatements="54" elements="98" coveredelements="55"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/LexiconStorage.php">
      <metrics loc="66" ncloc="33" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/LexiconWanCacheStorage.php">
      <class name="MediaWiki\Wikispeech\Lexicon\LexiconWanCacheStorage" namespace="global">
        <metrics complexity="23" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="0" elements="67" coveredelements="0"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="43" type="method" name="cacheKeyFactory" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="56" type="method" name="getEntry" 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="64" type="stmt" count="0"/>
      <line num="72" type="method" name="putEntry" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="96" type="method" name="entryItemExists" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="120" type="method" name="createEntryItem" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="157" type="method" name="updateEntryItem" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="187" type="method" name="deleteEntryItem" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <metrics loc="209" ncloc="138" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="0" elements="67" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/LexiconWikiStorage.php">
      <class name="MediaWiki\Wikispeech\Lexicon\LexiconWikiStorage" namespace="global">
        <metrics complexity="28" methods="12" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="104" coveredstatements="62" elements="116" coveredelements="66"/>
      </class>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="47" type="stmt" count="5"/>
      <line num="57" type="method" name="setUser" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="67" type="method" name="lexiconEntryTitleFactory" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="72" type="stmt" count="4"/>
      <line num="81" type="method" name="lexiconEntryWikiPageFactory" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="96" type="method" name="entryItemExists" visibility="public" complexity="2" crap="2" 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="105" type="stmt" count="1"/>
      <line num="114" type="method" name="getEntry" visibility="public" complexity="4" crap="4.05" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="0"/>
      <line num="121" type="stmt" count="4"/>
      <line num="122" type="stmt" count="4"/>
      <line num="123" type="stmt" count="4"/>
      <line num="126" type="stmt" count="4"/>
      <line num="127" type="stmt" count="4"/>
      <line num="144" type="method" name="deserializeEntryContent" visibility="public" complexity="4" crap="4.05" count="5"/>
      <line num="149" type="stmt" count="5"/>
      <line num="150" type="stmt" count="0"/>
      <line num="152" type="stmt" count="5"/>
      <line num="153" type="stmt" count="5"/>
      <line num="154" type="stmt" count="5"/>
      <line num="155" type="stmt" count="5"/>
      <line num="156" type="stmt" count="5"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="5"/>
      <line num="160" type="stmt" count="5"/>
      <line num="161" type="stmt" count="5"/>
      <line num="162" type="stmt" count="5"/>
      <line num="164" type="stmt" count="5"/>
      <line num="166" type="stmt" count="5"/>
      <line num="176" type="method" name="createEntryItem" visibility="public" complexity="3" crap="3.06" count="4"/>
      <line num="181" type="stmt" count="4"/>
      <line num="182" type="stmt" count="4"/>
      <line num="183" type="stmt" count="4"/>
      <line num="184" type="stmt" count="4"/>
      <line num="185" type="stmt" count="4"/>
      <line num="187" type="stmt" count="3"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="193" type="stmt" count="4"/>
      <line num="194" type="stmt" count="4"/>
      <line num="195" type="stmt" count="4"/>
      <line num="196" type="stmt" count="4"/>
      <line num="197" type="stmt" count="4"/>
      <line num="198" type="stmt" count="4"/>
      <line num="199" type="stmt" count="4"/>
      <line num="210" type="method" name="updateEntryItem" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="244" type="method" name="deleteEntryItem" visibility="public" complexity="3" crap="3.40" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="255" type="stmt" count="2"/>
      <line num="256" type="stmt" count="2"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="261" type="stmt" count="2"/>
      <line num="262" type="stmt" count="2"/>
      <line num="263" type="stmt" count="2"/>
      <line num="264" type="stmt" count="2"/>
      <line num="265" type="stmt" count="2"/>
      <line num="266" type="stmt" count="2"/>
      <line num="267" type="stmt" count="2"/>
      <line num="278" type="method" name="saveLexiconEntryRevision" visibility="public" complexity="3" crap="3.00" count="4"/>
      <line num="284" type="stmt" count="4"/>
      <line num="285" type="stmt" count="4"/>
      <line num="286" type="stmt" count="4"/>
      <line num="288" type="stmt" count="4"/>
      <line num="289" type="stmt" count="4"/>
      <line num="290" type="stmt" count="0"/>
      <line num="292" type="stmt" count="4"/>
      <line num="293" type="stmt" count="4"/>
      <line num="294" type="stmt" count="4"/>
      <line num="295" type="stmt" count="4"/>
      <line num="296" type="stmt" count="4"/>
      <line num="297" type="stmt" count="4"/>
      <line num="298" type="stmt" count="4"/>
      <line num="311" type="method" name="replaceEntryItem" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <metrics loc="331" ncloc="219" classes="1" methods="12" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="104" coveredstatements="62" elements="116" coveredelements="66"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Lexicon/NullEditLexiconException.php">
      <class name="MediaWiki\Wikispeech\Lexicon\NullEditLexiconException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="22" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Namespaces.php">
      <line num="15" type="stmt" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <metrics loc="19" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="3" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/PageFileGenerator.php">
      <class name="MediaWiki\Wikispeech\PageFileGenerator" namespace="global">
        <metrics complexity="16" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="62" coveredstatements="0" elements="67" coveredelements="0"/>
      </class>
      <line num="54" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="82" type="method" name="makePageFile" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="140" type="method" name="ensureProgramsRun" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="161" type="method" name="segmentPage" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" 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="179" type="stmt" count="0"/>
      <line num="188" type="method" name="runCommand" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <metrics loc="196" ncloc="130" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="62" coveredstatements="0" elements="67" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/AbstractPageProvider.php">
      <class name="MediaWiki\Wikispeech\Segment\AbstractPageProvider" namespace="global">
        <metrics complexity="6" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="getRevisionId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="37" type="method" name="setRevisionId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="45" type="method" name="getPageContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="53" type="method" name="setPageContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="61" type="method" name="getDisplayTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="69" type="method" name="setDisplayTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <metrics loc="74" ncloc="39" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/CleanedText.php">
      <class name="MediaWiki\Wikispeech\Segment\CleanedText" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="7" coveredelements="0"/>
      </class>
      <line num="34" 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="46" type="method" name="getString" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="54" type="method" name="setString" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <metrics loc="58" ncloc="25" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="7" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/Cleaner.php">
      <class name="MediaWiki\Wikispeech\Segment\Cleaner" namespace="global">
        <metrics complexity="34" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="105" coveredstatements="101" elements="114" coveredelements="109"/>
      </class>
      <line num="69" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="40"/>
      <line num="74" type="stmt" count="40"/>
      <line num="75" type="stmt" count="40"/>
      <line num="76" type="stmt" count="40"/>
      <line num="89" type="method" name="cleanHtml" visibility="public" complexity="4" crap="4" count="40"/>
      <line num="90" type="stmt" count="40"/>
      <line num="91" type="stmt" count="40"/>
      <line num="94" type="stmt" count="40"/>
      <line num="95" type="stmt" count="40"/>
      <line num="96" type="stmt" count="40"/>
      <line num="100" type="stmt" count="40"/>
      <line num="101" type="stmt" count="40"/>
      <line num="103" type="stmt" count="3"/>
      <line num="105" type="stmt" count="40"/>
      <line num="106" type="stmt" count="2"/>
      <line num="108" type="stmt" count="40"/>
      <line num="121" type="method" name="createDomDocument" visibility="private" complexity="1" crap="1" count="40"/>
      <line num="122" type="stmt" count="40"/>
      <line num="125" type="stmt" count="40"/>
      <line num="126" type="stmt" count="40"/>
      <line num="127" type="stmt" count="40"/>
      <line num="128" type="stmt" count="40"/>
      <line num="129" type="stmt" count="40"/>
      <line num="130" type="stmt" count="40"/>
      <line num="131" type="stmt" count="40"/>
      <line num="132" type="stmt" count="40"/>
      <line num="144" type="method" name="addContent" visibility="private" complexity="11" crap="11" count="40"/>
      <line num="145" type="stmt" count="40"/>
      <line num="146" type="stmt" count="1"/>
      <line num="149" type="stmt" count="40"/>
      <line num="150" type="stmt" count="7"/>
      <line num="153" type="stmt" count="40"/>
      <line num="155" type="stmt" count="40"/>
      <line num="157" type="stmt" count="40"/>
      <line num="158" type="stmt" count="40"/>
      <line num="159" type="stmt" count="40"/>
      <line num="160" type="stmt" count="40"/>
      <line num="165" type="stmt" count="6"/>
      <line num="168" type="stmt" count="40"/>
      <line num="171" type="stmt" count="40"/>
      <line num="172" type="stmt" count="40"/>
      <line num="173" type="stmt" count="40"/>
      <line num="174" type="stmt" count="40"/>
      <line num="175" type="stmt" count="40"/>
      <line num="176" type="stmt" count="40"/>
      <line num="178" type="stmt" count="37"/>
      <line num="179" type="stmt" count="6"/>
      <line num="181" type="stmt" count="37"/>
      <line num="184" type="stmt" count="40"/>
      <line num="185" type="stmt" count="40"/>
      <line num="186" type="stmt" count="40"/>
      <line num="187" type="stmt" count="40"/>
      <line num="188" type="stmt" count="40"/>
      <line num="192" type="stmt" count="4"/>
      <line num="208" type="method" name="matchesRemove" visibility="private" complexity="7" crap="7" count="40"/>
      <line num="209" type="stmt" count="40"/>
      <line num="211" type="stmt" count="40"/>
      <line num="213" type="stmt" count="11"/>
      <line num="214" type="stmt" count="11"/>
      <line num="216" type="stmt" count="4"/>
      <line num="217" type="stmt" count="7"/>
      <line num="220" type="stmt" count="3"/>
      <line num="221" type="stmt" count="3"/>
      <line num="222" type="stmt" count="1"/>
      <line num="225" type="stmt" count="4"/>
      <line num="227" type="stmt" count="2"/>
      <line num="229" type="stmt" count="4"/>
      <line num="245" type="method" name="nodeHasClass" visibility="private" complexity="2" crap="2" count="7"/>
      <line num="246" type="stmt" count="7"/>
      <line num="247" type="stmt" count="7"/>
      <line num="248" type="stmt" count="2"/>
      <line num="250" type="stmt" count="6"/>
      <line num="251" type="stmt" count="6"/>
      <line num="252" type="stmt" count="6"/>
      <line num="261" type="method" name="addPartOfContent" visibility="private" complexity="2" crap="2" count="6"/>
      <line num="262" type="stmt" count="6"/>
      <line num="268" type="stmt" count="4"/>
      <line num="269" type="stmt" count="6"/>
      <line num="270" type="stmt" count="6"/>
      <line num="281" type="method" name="lastElement" visibility="private" complexity="2" crap="2" count="40"/>
      <line num="282" type="stmt" count="40"/>
      <line num="283" type="stmt" count="40"/>
      <line num="285" type="stmt" count="40"/>
      <line num="298" type="method" name="cleanHtmlDom" visibility="public" complexity="4" crap="4.04" count="3"/>
      <line num="303" type="stmt" count="3"/>
      <line num="305" type="stmt" count="3"/>
      <line num="309" type="stmt" count="3"/>
      <line num="310" type="stmt" count="3"/>
      <line num="311" type="stmt" count="3"/>
      <line num="312" type="stmt" count="3"/>
      <line num="313" type="stmt" count="3"/>
      <line num="314" type="stmt" count="3"/>
      <line num="315" type="stmt" count="3"/>
      <line num="316" type="stmt" count="3"/>
      <line num="317" type="stmt" count="3"/>
      <line num="318" type="stmt" count="3"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="324" type="stmt" count="3"/>
      <line num="328" type="stmt" count="3"/>
      <line num="329" type="stmt" count="3"/>
      <line num="330" type="stmt" count="3"/>
      <line num="331" type="stmt" count="3"/>
      <line num="332" type="stmt" count="3"/>
      <line num="334" type="stmt" count="3"/>
      <line num="335" type="stmt" count="3"/>
      <line num="336" type="stmt" count="3"/>
      <line num="337" type="stmt" count="3"/>
      <line num="338" type="stmt" count="3"/>
      <line num="339" type="stmt" count="3"/>
      <line num="340" type="stmt" count="3"/>
      <line num="342" type="stmt" count="0"/>
      <line num="344" type="stmt" count="3"/>
      <metrics loc="348" ncloc="198" classes="1" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="105" coveredstatements="101" elements="114" coveredelements="109"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/DeletedRevisionException.php">
      <class name="MediaWiki\Wikispeech\Segment\DeletedRevisionException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="22" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/LocalWikiPageProvider.php">
      <class name="MediaWiki\Wikispeech\Segment\LocalWikiPageProvider" namespace="global">
        <metrics complexity="6" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="8" elements="24" coveredelements="10"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="47" type="method" name="loadPageRevisionProperties" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="67" type="method" name="loadData" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <line num="71" type="stmt" count="2"/>
      <line num="72" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="80" type="method" name="getCachedSegmentsKeyComponents" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <metrics loc="85" ncloc="56" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="8" elements="24" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/OutdatedOrInvalidRevisionException.php">
      <class name="MediaWiki\Wikispeech\Segment\OutdatedOrInvalidRevisionException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="22" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/PageProvider.php">
      <metrics loc="66" ncloc="23" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/PageRevisionProperties.php">
      <class name="MediaWiki\Wikispeech\Segment\PageRevisionProperties" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="11" coveredelements="0"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="43" type="method" name="getTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="51" type="method" name="setTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="59" type="method" name="getPageId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="67" type="method" name="setPageId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <metrics loc="72" ncloc="39" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="11" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/PartOfContent/Image.php">
      <class name="MediaWiki\Wikispeech\Segment\PartOfContent\Image" namespace="global">
        <metrics complexity="12" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="0" elements="44" coveredelements="0"/>
      </class>
      <line num="39" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="52" type="method" name="getString" visibility="public" complexity="3" crap="12" 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="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="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="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="89" type="method" name="fromElement" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="123" type="method" name="getAlt" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <metrics loc="127" ncloc="83" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="0" elements="44" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/PartOfContent/Link.php">
      <class name="MediaWiki\Wikispeech\Segment\PartOfContent\Link" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="getString" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="37" type="method" name="fromElement" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <metrics loc="45" ncloc="21" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/PartOfContent/PartOfContent.php">
      <class name="MediaWiki\Wikispeech\Segment\PartOfContent\PartOfContent" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="34" 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/Wikispeech/includes/Segment/PartOfContent/Table.php">
      <class name="MediaWiki\Wikispeech\Segment\PartOfContent\Table" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="9" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="getString" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="41" type="method" name="fromElement" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <metrics loc="49" ncloc="24" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="9" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/PartOfContent/TableCell.php">
      <class name="MediaWiki\Wikispeech\Segment\PartOfContent\TableCell" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="21" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="38" type="method" name="getString" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="56" type="method" name="fromElement" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <metrics loc="75" ncloc="43" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="21" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/PartOfContent/TableHeader.php">
      <class name="MediaWiki\Wikispeech\Segment\PartOfContent\TableHeader" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="9" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="getString" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="41" type="method" name="fromElement" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <metrics loc="49" ncloc="24" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="9" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/RemoteWikiPageProvider.php">
      <class name="MediaWiki\Wikispeech\Segment\RemoteWikiPageProvider" namespace="global">
        <metrics complexity="6" methods="4" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="18" elements="42" coveredelements="19"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="45" type="method" name="loadPageRevisionProperties" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="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="70" type="method" name="loadData" visibility="public" complexity="2" crap="2.02" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="97" type="method" name="getCachedSegmentsKeyComponents" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <metrics loc="102" ncloc="72" classes="1" methods="4" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="18" elements="42" coveredelements="19"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/RemoteWikiPageProviderException.php">
      <class name="MediaWiki\Wikispeech\Segment\RemoteWikiPageProviderException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="22" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/Segment.php">
      <class name="MediaWiki\Wikispeech\Segment\Segment" namespace="global">
        <metrics complexity="10" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="23" coveredelements="0"/>
      </class>
      <line num="45" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="62" type="method" name="getContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="71" type="method" name="setContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="80" type="method" name="addContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="88" type="method" name="getStartOffset" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="96" type="method" name="setStartOffset" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="104" type="method" name="getEndOffset" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="112" type="method" name="setEndOffset" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="120" type="method" name="getHash" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="128" type="method" name="setHash" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <metrics loc="133" ncloc="65" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="23" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/SegmentBreak.php">
      <class name="MediaWiki\Wikispeech\Segment\SegmentBreak" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="20" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/SegmentContent.php">
      <class name="MediaWiki\Wikispeech\Segment\SegmentContent" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="getString" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="38" type="method" name="getPath" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="46" type="method" name="setPath" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <metrics loc="50" ncloc="21" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/SegmentFactory.php">
      <class name="MediaWiki\Wikispeech\Segment\SegmentFactory" namespace="global">
        <metrics complexity="10" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="0" elements="29" coveredelements="0"/>
      </class>
      <line num="80" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="94" type="method" name="setUseSegmentsCache" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="105" type="method" name="setSegmenter" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="116" type="method" name="setContextSource" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="129" type="method" name="setConsumerUrl" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="142" type="method" name="setRemoveTags" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="155" type="method" name="setSegmentBreakingTags" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="168" type="method" name="setSegmenterByLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="181" type="method" name="setPartOfContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="198" type="method" name="cleanHtmlDom" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <metrics loc="209" ncloc="102" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="0" elements="29" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/SegmentList.php">
      <class name="MediaWiki\Wikispeech\Segment\SegmentList" namespace="global">
        <metrics complexity="11" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="6" elements="30" coveredelements="9"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <line num="34" type="method" name="getSegments" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="35" type="stmt" count="3"/>
      <line num="42" type="method" name="setSegments" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="51" type="method" name="findFirstItemByHash" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="2"/>
      <line num="57" type="stmt" count="1"/>
      <line num="64" type="method" name="toArray" visibility="public" complexity="3" crap="12" 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="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="89" type="method" name="indexOf" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <metrics loc="95" ncloc="57" classes="1" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="6" elements="30" coveredelements="9"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/SegmentMessageResponse.php">
      <class name="MediaWiki\Wikispeech\Segment\SegmentMessageResponse" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="setMessageKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="28" type="method" name="getMessageKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="36" type="method" name="setLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="44" type="method" name="getLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <metrics loc="48" ncloc="27" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/SegmentMessagesFactory.php">
      <class name="MediaWiki\Wikispeech\Segment\SegmentMessagesFactory" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="segmentMessage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <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"/>
      <metrics loc="46" ncloc="32" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/SegmentPageFactory.php">
      <class name="MediaWiki\Wikispeech\Segment\SegmentPageFactory" namespace="global">
        <metrics complexity="34" methods="10" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="124" coveredstatements="109" elements="134" coveredelements="115"/>
      </class>
      <line num="65" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="71" type="stmt" count="9"/>
      <line num="73" type="stmt" count="9"/>
      <line num="74" type="stmt" count="9"/>
      <line num="83" type="method" name="setUseRevisionPropertiesCache" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="86" type="stmt" count="7"/>
      <line num="87" type="stmt" count="7"/>
      <line num="96" type="method" name="setRevisionStore" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="99" type="stmt" count="9"/>
      <line num="100" type="stmt" count="9"/>
      <line num="109" type="method" name="setHttpRequestFactory" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="124" type="method" name="setRequirePageRevisionProperties" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="127" type="stmt" count="5"/>
      <line num="128" type="stmt" count="5"/>
      <line num="135" type="method" name="pageProviderFactory" visibility="protected" complexity="5" crap="9.29" count="2"/>
      <line num="136" type="stmt" count="2"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="2"/>
      <line num="146" type="stmt" count="0"/>
      <line num="148" type="stmt" count="2"/>
      <line num="162" type="method" name="loadPageRevisionProperties" visibility="protected" complexity="4" crap="4.18" count="4"/>
      <line num="166" type="stmt" count="4"/>
      <line num="168" type="stmt" count="4"/>
      <line num="169" type="stmt" count="0"/>
      <line num="171" type="stmt" count="4"/>
      <line num="173" type="stmt" count="4"/>
      <line num="174" type="stmt" count="4"/>
      <line num="175" type="stmt" count="4"/>
      <line num="176" type="stmt" count="0"/>
      <line num="179" type="stmt" count="4"/>
      <line num="198" type="method" name="segmentPage" visibility="public" complexity="18" crap="18.19" count="9"/>
      <line num="202" type="stmt" count="9"/>
      <line num="204" type="stmt" count="9"/>
      <line num="206" type="stmt" count="9"/>
      <line num="208" type="stmt" count="9"/>
      <line num="210" type="stmt" count="3"/>
      <line num="211" type="stmt" count="3"/>
      <line num="212" type="stmt" count="3"/>
      <line num="213" type="stmt" count="3"/>
      <line num="214" type="stmt" count="7"/>
      <line num="216" type="stmt" count="5"/>
      <line num="218" type="stmt" count="2"/>
      <line num="221" type="stmt" count="7"/>
      <line num="222" type="stmt" count="7"/>
      <line num="224" type="stmt" count="7"/>
      <line num="226" type="stmt" count="7"/>
      <line num="227" type="stmt" count="3"/>
      <line num="228" type="stmt" count="3"/>
      <line num="229" type="stmt" count="3"/>
      <line num="230" type="stmt" count="3"/>
      <line num="231" type="stmt" count="3"/>
      <line num="232" type="stmt" count="3"/>
      <line num="233" type="stmt" count="3"/>
      <line num="234" type="stmt" count="3"/>
      <line num="236" type="stmt" count="5"/>
      <line num="238" type="stmt" count="7"/>
      <line num="239" type="stmt" count="7"/>
      <line num="240" type="stmt" count="7"/>
      <line num="241" type="stmt" count="0"/>
      <line num="243" type="stmt" count="7"/>
      <line num="245" type="stmt" count="7"/>
      <line num="246" type="stmt" count="7"/>
      <line num="247" type="stmt" count="0"/>
      <line num="249" type="stmt" count="7"/>
      <line num="250" type="stmt" count="7"/>
      <line num="251" type="stmt" count="0"/>
      <line num="253" type="stmt" count="7"/>
      <line num="254" type="stmt" count="7"/>
      <line num="255" type="stmt" count="0"/>
      <line num="258" type="stmt" count="7"/>
      <line num="259" type="stmt" count="7"/>
      <line num="261" type="stmt" count="0"/>
      <line num="264" type="stmt" count="7"/>
      <line num="265" type="stmt" count="7"/>
      <line num="266" type="stmt" count="7"/>
      <line num="267" type="stmt" count="7"/>
      <line num="268" type="stmt" count="7"/>
      <line num="269" type="stmt" count="7"/>
      <line num="271" type="stmt" count="7"/>
      <line num="273" type="stmt" count="7"/>
      <line num="274" type="stmt" count="4"/>
      <line num="276" type="stmt" count="4"/>
      <line num="277" type="stmt" count="4"/>
      <line num="278" type="stmt" count="4"/>
      <line num="279" type="stmt" count="4"/>
      <line num="280" type="stmt" count="4"/>
      <line num="281" type="stmt" count="4"/>
      <line num="282" type="stmt" count="4"/>
      <line num="283" type="stmt" count="4"/>
      <line num="284" type="stmt" count="4"/>
      <line num="286" type="stmt" count="7"/>
      <line num="289" type="stmt" count="7"/>
      <line num="291" type="stmt" count="7"/>
      <line num="292" type="stmt" count="1"/>
      <line num="293" type="stmt" count="1"/>
      <line num="294" type="stmt" count="0"/>
      <line num="296" type="stmt" count="1"/>
      <line num="297" type="stmt" count="1"/>
      <line num="298" type="stmt" count="1"/>
      <line num="299" type="stmt" count="1"/>
      <line num="300" type="stmt" count="1"/>
      <line num="301" type="stmt" count="1"/>
      <line num="304" type="stmt" count="7"/>
      <line num="314" type="method" name="segmentedPageCacheKeyFactory" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="320" type="stmt" count="4"/>
      <line num="321" type="stmt" count="4"/>
      <line num="322" type="stmt" count="4"/>
      <line num="323" type="stmt" count="4"/>
      <line num="324" type="stmt" count="4"/>
      <line num="325" type="stmt" count="4"/>
      <line num="326" type="stmt" count="4"/>
      <line num="327" type="stmt" count="4"/>
      <line num="328" type="stmt" count="4"/>
      <line num="329" type="stmt" count="4"/>
      <line num="330" type="stmt" count="4"/>
      <line num="331" type="stmt" count="4"/>
      <line num="332" type="stmt" count="4"/>
      <line num="340" type="method" name="pageRevisionPropertiesCacheKeyFactory" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="344" type="stmt" count="4"/>
      <line num="345" type="stmt" count="4"/>
      <line num="346" type="stmt" count="4"/>
      <line num="347" type="stmt" count="4"/>
      <line num="348" type="stmt" count="4"/>
      <line num="349" type="stmt" count="4"/>
      <line num="350" type="stmt" count="4"/>
      <line num="351" type="stmt" count="4"/>
      <line num="352" type="stmt" count="4"/>
      <line num="353" type="stmt" count="4"/>
      <metrics loc="356" ncloc="244" classes="1" methods="10" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="124" coveredstatements="109" elements="134" coveredelements="115"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/SegmentPageResponse.php">
      <class name="MediaWiki\Wikispeech\Segment\SegmentPageResponse" namespace="global">
        <metrics complexity="6" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="33" type="method" name="getTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="41" type="method" name="setTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="53" type="method" name="getRevisionId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="61" type="method" name="setRevisionId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="69" type="method" name="getPageId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="77" type="method" name="setPageId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <metrics loc="82" ncloc="41" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/SegmentResponse.php">
      <class name="MediaWiki\Wikispeech\Segment\SegmentResponse" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="getSegments" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="31" type="method" name="setSegments" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <metrics loc="36" ncloc="19" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/Segmenter.php">
      <class name="MediaWiki\Wikispeech\Segment\Segmenter" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="36" type="method" name="evaluateHash" visibility="public" complexity="2" crap="6" 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"/>
      <metrics loc="53" ncloc="20" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/StandardSegmenter.php">
      <class name="MediaWiki\Wikispeech\Segment\StandardSegmenter" namespace="global">
        <metrics complexity="34" methods="10" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="74" elements="85" coveredelements="83"/>
      </class>
      <line num="43" type="method" name="segmentSentences" visibility="public" complexity="5" crap="5.02" count="27"/>
      <line num="44" type="stmt" count="27"/>
      <line num="45" type="stmt" count="27"/>
      <line num="46" type="stmt" count="27"/>
      <line num="47" type="stmt" count="27"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="27"/>
      <line num="50" type="stmt" count="27"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="stmt" count="27"/>
      <line num="57" type="stmt" count="4"/>
      <line num="59" type="stmt" count="27"/>
      <line num="73" type="method" name="addContentsToCurrentSegment" visibility="private" complexity="1" crap="1" count="27"/>
      <line num="74" type="stmt" count="27"/>
      <line num="76" type="stmt" count="27"/>
      <line num="79" type="stmt" count="27"/>
      <line num="80" type="stmt" count="27"/>
      <line num="102" type="method" name="addContentToCurrentSegment" visibility="private" complexity="9" crap="9" count="27"/>
      <line num="106" type="stmt" count="27"/>
      <line num="110" type="stmt" count="26"/>
      <line num="111" type="stmt" count="26"/>
      <line num="112" type="stmt" count="26"/>
      <line num="113" type="stmt" count="26"/>
      <line num="116" type="stmt" count="27"/>
      <line num="117" type="stmt" count="27"/>
      <line num="118" type="stmt" count="27"/>
      <line num="119" type="stmt" count="27"/>
      <line num="122" type="stmt" count="27"/>
      <line num="123" type="stmt" count="27"/>
      <line num="124" type="stmt" count="12"/>
      <line num="125" type="stmt" count="12"/>
      <line num="127" type="stmt" count="27"/>
      <line num="128" type="stmt" count="27"/>
      <line num="129" type="stmt" count="27"/>
      <line num="130" type="stmt" count="27"/>
      <line num="131" type="stmt" count="27"/>
      <line num="132" type="stmt" count="27"/>
      <line num="135" type="stmt" count="26"/>
      <line num="136" type="stmt" count="26"/>
      <line num="137" type="stmt" count="26"/>
      <line num="139" type="stmt" count="26"/>
      <line num="140" type="stmt" count="26"/>
      <line num="143" type="stmt" count="26"/>
      <line num="145" type="stmt" count="26"/>
      <line num="146" type="stmt" count="26"/>
      <line num="147" type="stmt" count="23"/>
      <line num="150" type="stmt" count="27"/>
      <line num="161" type="method" name="getLeadingWhitespacesLength" visibility="private" complexity="1" crap="1" count="26"/>
      <line num="162" type="stmt" count="26"/>
      <line num="163" type="stmt" count="26"/>
      <line num="175" type="method" name="getSentenceFinalOffset" visibility="private" complexity="2" crap="2" count="27"/>
      <line num="186" type="stmt" count="27"/>
      <line num="189" type="stmt" count="27"/>
      <line num="190" type="stmt" count="27"/>
      <line num="192" type="stmt" count="12"/>
      <line num="194" type="stmt" count="23"/>
      <line num="195" type="stmt" count="23"/>
      <line num="210" type="method" name="isSentenceFinal" visibility="protected" complexity="9" crap="9" count="23"/>
      <line num="214" type="stmt" count="23"/>
      <line num="215" type="stmt" count="23"/>
      <line num="216" type="stmt" count="23"/>
      <line num="217" type="stmt" count="17"/>
      <line num="219" type="stmt" count="23"/>
      <line num="220" type="stmt" count="23"/>
      <line num="221" type="stmt" count="14"/>
      <line num="227" type="stmt" count="23"/>
      <line num="228" type="stmt" count="23"/>
      <line num="229" type="stmt" count="23"/>
      <line num="230" type="stmt" count="23"/>
      <line num="231" type="stmt" count="23"/>
      <line num="232" type="stmt" count="23"/>
      <line num="233" type="stmt" count="23"/>
      <line num="241" type="method" name="isSentenceEndingPunctuation" visibility="private" complexity="3" crap="3" count="23"/>
      <line num="242" type="stmt" count="23"/>
      <line num="243" type="stmt" count="23"/>
      <line num="244" type="stmt" count="23"/>
      <line num="254" type="method" name="isUpper" visibility="private" complexity="1" crap="1" count="12"/>
      <line num="255" type="stmt" count="12"/>
      <line num="265" type="method" name="isLetter" visibility="private" complexity="1" crap="1" count="12"/>
      <line num="266" type="stmt" count="12"/>
      <line num="276" type="method" name="finishSegment" visibility="private" complexity="2" crap="2" count="26"/>
      <line num="277" type="stmt" count="26"/>
      <line num="278" type="stmt" count="26"/>
      <line num="279" type="stmt" count="26"/>
      <line num="282" type="stmt" count="26"/>
      <metrics loc="285" ncloc="146" classes="1" methods="10" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="74" elements="85" coveredelements="83"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/AbstractDigitsToWords.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\AbstractDigitsToWords" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="floatToWords" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <metrics loc="34" ncloc="17" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/DigitsToWords.php">
      <metrics loc="63" ncloc="20" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/Filter.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\Filter" namespace="global">
        <metrics complexity="9" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="0" elements="31" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="35" type="method" name="process" visibility="public" complexity="6" crap="42" 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="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="81" type="method" name="insertPart" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="93" type="method" name="getParts" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <metrics loc="98" ncloc="58" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="0" elements="31" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/FilterPart.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\FilterPart" namespace="global">
        <metrics complexity="7" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="50" type="method" name="getText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="58" type="method" name="setText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="66" type="method" name="getAlias" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="74" type="method" name="setAlias" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="82" type="method" name="getAppliedRule" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="90" type="method" name="setAppliedRule" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <metrics loc="95" ncloc="49" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/FilterRule.php">
      <metrics loc="33" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/RegexFilter.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\RegexFilter" namespace="global">
        <metrics complexity="10" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="38" elements="44" coveredelements="39"/>
      </class>
      <line num="47" type="method" name="process" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="62" type="method" name="processRule" visibility="public" complexity="9" crap="9.08" count="6"/>
      <line num="65" type="stmt" count="6"/>
      <line num="66" type="stmt" count="6"/>
      <line num="67" type="stmt" count="6"/>
      <line num="68" type="stmt" count="6"/>
      <line num="69" type="stmt" count="6"/>
      <line num="71" type="stmt" count="4"/>
      <line num="73" type="stmt" count="6"/>
      <line num="74" type="stmt" count="6"/>
      <line num="75" type="stmt" count="6"/>
      <line num="76" type="stmt" count="6"/>
      <line num="77" type="stmt" count="6"/>
      <line num="78" type="stmt" count="6"/>
      <line num="79" type="stmt" count="6"/>
      <line num="81" type="stmt" count="6"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="6"/>
      <line num="87" type="stmt" count="5"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="94" type="stmt" count="0"/>
      <line num="96" type="stmt" count="4"/>
      <line num="106" type="stmt" count="4"/>
      <line num="108" type="stmt" count="4"/>
      <line num="109" type="stmt" count="4"/>
      <line num="110" type="stmt" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="116" type="stmt" count="4"/>
      <line num="117" type="stmt" count="2"/>
      <line num="118" type="stmt" count="2"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="124" type="stmt" count="4"/>
      <line num="125" type="stmt" count="4"/>
      <line num="126" type="stmt" count="4"/>
      <line num="127" type="stmt" count="4"/>
      <metrics loc="133" ncloc="76" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="38" elements="44" coveredelements="39"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/RegexFilterRule.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\RegexFilterRule" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="7" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="56" type="method" name="getExpression" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="64" type="method" name="getMainGroup" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <metrics loc="69" ncloc="31" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="7" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/Sv/DateRule.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\Sv\DateRule" namespace="global">
        <metrics complexity="16" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="57" elements="62" coveredelements="58"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="23"/>
      <line num="23" type="stmt" count="23"/>
      <line num="24" type="stmt" count="23"/>
      <line num="25" type="stmt" count="23"/>
      <line num="26" type="stmt" count="23"/>
      <line num="27" type="stmt" count="23"/>
      <line num="28" type="stmt" count="23"/>
      <line num="29" type="stmt" count="23"/>
      <line num="30" type="stmt" count="23"/>
      <line num="31" type="stmt" count="23"/>
      <line num="32" type="stmt" count="23"/>
      <line num="33" type="stmt" count="23"/>
      <line num="34" type="stmt" count="23"/>
      <line num="35" type="stmt" count="23"/>
      <line num="36" type="stmt" count="23"/>
      <line num="37" type="stmt" count="23"/>
      <line num="38" type="stmt" count="23"/>
      <line num="39" type="stmt" count="23"/>
      <line num="40" type="stmt" count="23"/>
      <line num="41" type="stmt" count="23"/>
      <line num="42" type="stmt" count="23"/>
      <line num="43" type="stmt" count="23"/>
      <line num="44" type="stmt" count="23"/>
      <line num="45" type="stmt" count="23"/>
      <line num="53" type="method" name="createAlias" visibility="public" complexity="15" crap="15.12" count="23"/>
      <line num="54" type="stmt" count="23"/>
      <line num="56" type="stmt" count="23"/>
      <line num="58" type="stmt" count="23"/>
      <line num="59" type="stmt" count="23"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="23"/>
      <line num="66" type="stmt" count="23"/>
      <line num="67" type="stmt" count="2"/>
      <line num="68" type="stmt" count="21"/>
      <line num="69" type="stmt" count="2"/>
      <line num="70" type="stmt" count="19"/>
      <line num="71" type="stmt" count="2"/>
      <line num="72" type="stmt" count="17"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="15"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="14"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="12"/>
      <line num="79" type="stmt" count="2"/>
      <line num="80" type="stmt" count="10"/>
      <line num="81" type="stmt" count="2"/>
      <line num="82" type="stmt" count="8"/>
      <line num="83" type="stmt" count="2"/>
      <line num="84" type="stmt" count="6"/>
      <line num="85" type="stmt" count="2"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="2"/>
      <line num="88" type="stmt" count="2"/>
      <line num="89" type="stmt" count="2"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="stmt" count="23"/>
      <line num="96" type="stmt" count="23"/>
      <line num="97" type="stmt" count="23"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="23"/>
      <line num="103" type="stmt" count="23"/>
      <metrics loc="107" ncloc="89" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="57" elements="62" coveredelements="58"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/Sv/DigitsToSwedishWords.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\Sv\DigitsToSwedishWords" namespace="global">
        <metrics complexity="34" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="88" coveredstatements="73" elements="95" coveredelements="77"/>
      </class>
      <line num="82" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="52"/>
      <line num="83" type="stmt" count="52"/>
      <line num="84" type="stmt" count="52"/>
      <line num="94" type="method" name="intToOrdinal" visibility="public" complexity="5" crap="5.93" count="12"/>
      <line num="95" type="stmt" count="12"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="12"/>
      <line num="104" type="stmt" count="2"/>
      <line num="106" type="stmt" count="10"/>
      <line num="107" type="stmt" count="10"/>
      <line num="108" type="stmt" count="10"/>
      <line num="109" type="stmt" count="10"/>
      <line num="110" type="stmt" count="1"/>
      <line num="112" type="stmt" count="9"/>
      <line num="114" type="stmt" count="10"/>
      <line num="124" type="method" name="intToWords" visibility="public" complexity="2" crap="2" count="40"/>
      <line num="125" type="stmt" count="40"/>
      <line num="126" type="stmt" count="40"/>
      <line num="129" type="stmt" count="40"/>
      <line num="140" type="method" name="stringFloatToWords" visibility="public" complexity="8" crap="8.10" count="13"/>
      <line num="145" type="stmt" count="13"/>
      <line num="146" type="stmt" count="3"/>
      <line num="148" type="stmt" count="10"/>
      <line num="149" type="stmt" count="10"/>
      <line num="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="10"/>
      <line num="154" type="stmt" count="10"/>
      <line num="155" type="stmt" count="5"/>
      <line num="157" type="stmt" count="5"/>
      <line num="158" type="stmt" count="5"/>
      <line num="159" type="stmt" count="5"/>
      <line num="160" type="stmt" count="5"/>
      <line num="162" type="stmt" count="0"/>
      <line num="164" type="stmt" count="5"/>
      <line num="165" type="stmt" count="4"/>
      <line num="167" type="stmt" count="5"/>
      <line num="170" type="stmt" count="10"/>
      <line num="179" type="method" name="getSubDeca" visibility="private" complexity="4" crap="4" count="39"/>
      <line num="183" type="stmt" count="39"/>
      <line num="184" type="stmt" count="18"/>
      <line num="185" type="stmt" count="35"/>
      <line num="186" type="stmt" count="9"/>
      <line num="188" type="stmt" count="33"/>
      <line num="197" type="method" name="assembleWords" visibility="private" complexity="1" crap="1" count="39"/>
      <line num="198" type="stmt" count="39"/>
      <line num="208" type="method" name="buildWords" visibility="private" complexity="13" crap="13.95" count="40"/>
      <line num="213" type="stmt" count="40"/>
      <line num="214" type="stmt" count="4"/>
      <line num="215" type="stmt" count="4"/>
      <line num="217" type="stmt" count="0"/>
      <line num="220" type="stmt" count="39"/>
      <line num="221" type="stmt" count="39"/>
      <line num="222" type="stmt" count="38"/>
      <line num="223" type="stmt" count="38"/>
      <line num="224" type="stmt" count="25"/>
      <line num="225" type="stmt" count="17"/>
      <line num="226" type="stmt" count="17"/>
      <line num="227" type="stmt" count="17"/>
      <line num="228" type="stmt" count="17"/>
      <line num="229" type="stmt" count="17"/>
      <line num="230" type="stmt" count="17"/>
      <line num="232" type="stmt" count="3"/>
      <line num="234" type="stmt" count="24"/>
      <line num="235" type="stmt" count="24"/>
      <line num="236" type="stmt" count="24"/>
      <line num="237" type="stmt" count="24"/>
      <line num="238" type="stmt" count="24"/>
      <line num="239" type="stmt" count="24"/>
      <line num="240" type="stmt" count="24"/>
      <line num="241" type="stmt" count="24"/>
      <line num="242" type="stmt" count="24"/>
      <line num="245" type="stmt" count="0"/>
      <line num="247" type="stmt" count="24"/>
      <line num="248" type="stmt" count="24"/>
      <line num="249" type="stmt" count="24"/>
      <line num="250" type="stmt" count="20"/>
      <line num="252" type="stmt" count="24"/>
      <line num="253" type="stmt" count="24"/>
      <line num="254" type="stmt" count="24"/>
      <line num="255" type="stmt" count="24"/>
      <line num="258" type="stmt" count="24"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="267" type="stmt" count="24"/>
      <line num="268" type="stmt" count="0"/>
      <line num="270" type="stmt" count="24"/>
      <line num="271" type="stmt" count="10"/>
      <line num="273" type="stmt" count="18"/>
      <metrics loc="277" ncloc="197" classes="1" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="88" coveredstatements="73" elements="95" coveredelements="77"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/Sv/NumberRule.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\Sv\NumberRule" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="22" type="stmt" count="5"/>
      <line num="23" type="stmt" count="5"/>
      <line num="24" type="stmt" count="5"/>
      <line num="25" type="stmt" count="5"/>
      <line num="26" type="stmt" count="5"/>
      <line num="27" type="stmt" count="5"/>
      <line num="28" type="stmt" count="5"/>
      <line num="29" type="stmt" count="5"/>
      <line num="30" type="stmt" count="5"/>
      <line num="38" type="method" name="createAlias" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="40" type="stmt" count="5"/>
      <line num="41" type="stmt" count="5"/>
      <line num="42" type="stmt" count="5"/>
      <line num="43" type="stmt" count="5"/>
      <metrics loc="47" ncloc="30" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/Sv/SwedishFilter.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\Sv\SwedishFilter" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="7" coveredelements="7"/>
      </class>
      <line num="21" type="method" name="processRules" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="23" type="stmt" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="25" type="stmt" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="33" type="method" name="getSsmlLang" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <metrics loc="38" ncloc="22" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="7" coveredelements="7"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/Sv/YearRangeRule.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\Sv\YearRangeRule" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="12" elements="15" coveredelements="13"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="22" type="stmt" count="7"/>
      <line num="23" type="stmt" count="7"/>
      <line num="24" type="stmt" count="7"/>
      <line num="25" type="stmt" count="7"/>
      <line num="33" type="method" name="createAlias" visibility="public" complexity="4" crap="4.02" count="6"/>
      <line num="36" type="stmt" count="6"/>
      <line num="37" type="stmt" count="6"/>
      <line num="38" type="stmt" count="6"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="42" type="stmt" count="5"/>
      <line num="44" type="stmt" count="6"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="6"/>
      <metrics loc="52" ncloc="33" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="12" elements="15" coveredelements="13"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Segment/TextFilter/Sv/YearRule.php">
      <class name="MediaWiki\Wikispeech\Segment\TextFilter\Sv\YearRule" namespace="global">
        <metrics complexity="17" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="38" elements="43" coveredelements="40"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="22" type="stmt" count="17"/>
      <line num="23" type="stmt" count="17"/>
      <line num="24" type="stmt" count="17"/>
      <line num="25" type="stmt" count="17"/>
      <line num="33" type="method" name="createAlias" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="34" type="stmt" count="15"/>
      <line num="42" type="method" name="getYearAlias" visibility="public" complexity="15" crap="15.04" count="15"/>
      <line num="44" type="stmt" count="15"/>
      <line num="45" type="stmt" count="15"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="15"/>
      <line num="49" type="stmt" count="15"/>
      <line num="50" type="stmt" count="15"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="14"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="13"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="12"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="11"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="10"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="9"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="8"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="7"/>
      <line num="67" type="stmt" count="2"/>
      <line num="68" type="stmt" count="5"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="4"/>
      <line num="71" type="stmt" count="3"/>
      <line num="74" type="stmt" count="1"/>
      <line num="77" type="stmt" count="14"/>
      <line num="78" type="stmt" count="14"/>
      <line num="79" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="3"/>
      <line num="86" type="stmt" count="14"/>
      <metrics loc="90" ncloc="66" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="38" elements="43" coveredelements="40"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/ServiceWiring.php">
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <metrics loc="95" ncloc="94" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="0" elements="75" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Specials/LanguageOptionsTrait.php">
      <class name="MediaWiki\Wikispeech\Specials\LanguageOptionsTrait" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="10" elements="11" coveredelements="11"/>
      </class>
      <line num="37" type="method" name="getLanguageOptions" visibility="protected" complexity="2" crap="2" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <metrics loc="51" ncloc="28" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="10" elements="11" coveredelements="11"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Specials/SpecialEditLexicon.php">
      <class name="MediaWiki\Wikispeech\Specials\SpecialEditLexicon" namespace="global">
        <metrics complexity="60" methods="14" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="371" coveredstatements="91" elements="385" coveredelements="93"/>
      </class>
      <line num="63" type="method" name="__construct" visibility="public" complexity="2" crap="2.01" count="10"/>
      <line num="71" type="stmt" count="10"/>
      <line num="72" type="stmt" count="10"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="10"/>
      <line num="78" type="stmt" count="10"/>
      <line num="79" type="stmt" count="10"/>
      <line num="80" type="stmt" count="10"/>
      <line num="81" type="stmt" count="10"/>
      <line num="82" type="stmt" count="10"/>
      <line num="86" type="method" name="getRestriction" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="94" type="method" name="execute" visibility="public" complexity="6" crap="18.95" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="97" type="stmt" count="1"/>
      <line num="100" type="stmt" count="2"/>
      <line num="101" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="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="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="125" 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="134" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" 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="151" 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="164" type="method" name="formSteps" visibility="private" complexity="12" crap="156" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" 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="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="232" type="method" name="syncSubmit" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="281" type="method" name="redirectToLoginPage" visibility="private" complexity="4" crap="4.00" count="3"/>
      <line num="282" type="stmt" count="3"/>
      <line num="284" type="stmt" count="0"/>
      <line num="287" type="stmt" count="3"/>
      <line num="288" type="stmt" count="2"/>
      <line num="291" type="stmt" count="1"/>
      <line num="292" type="stmt" count="1"/>
      <line num="294" type="stmt" count="1"/>
      <line num="295" type="stmt" count="1"/>
      <line num="296" type="stmt" count="1"/>
      <line num="297" type="stmt" count="1"/>
      <line num="300" type="stmt" count="1"/>
      <line num="301" type="stmt" count="1"/>
      <line num="303" type="stmt" count="1"/>
      <line num="304" type="stmt" count="1"/>
      <line num="305" type="stmt" count="1"/>
      <line num="307" type="stmt" count="1"/>
      <line num="318" type="method" name="getSyncFields" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="352" type="method" name="getLookupFields" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="391" type="method" name="getSelectFields" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="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="498" type="method" name="getAddFields" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="505" type="stmt" count="0"/>
      <line num="506" type="stmt" count="0"/>
      <line num="507" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="510" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="513" type="stmt" count="0"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="518" type="stmt" count="0"/>
      <line num="534" type="method" name="getEditFields" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="535" type="stmt" count="0"/>
      <line num="536" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="545" type="stmt" count="0"/>
      <line num="546" type="stmt" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="549" type="stmt" count="0"/>
      <line num="551" type="stmt" count="0"/>
      <line num="552" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="558" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="576" type="method" name="submit" visibility="public" complexity="15" crap="15.69" count="7"/>
      <line num="578" type="stmt" count="7"/>
      <line num="579" type="stmt" count="7"/>
      <line num="580" type="stmt" count="7"/>
      <line num="581" type="stmt" count="7"/>
      <line num="582" type="stmt" count="7"/>
      <line num="583" type="stmt" count="7"/>
      <line num="587" type="stmt" count="1"/>
      <line num="590" type="stmt" count="6"/>
      <line num="591" type="stmt" count="6"/>
      <line num="592" type="stmt" count="6"/>
      <line num="593" type="stmt" count="6"/>
      <line num="594" type="stmt" count="6"/>
      <line num="595" type="stmt" count="6"/>
      <line num="596" type="stmt" count="6"/>
      <line num="598" type="stmt" count="0"/>
      <line num="601" type="stmt" count="6"/>
      <line num="602" type="stmt" count="6"/>
      <line num="603" type="stmt" count="6"/>
      <line num="604" type="stmt" count="6"/>
      <line num="605" type="stmt" count="6"/>
      <line num="607" type="stmt" count="4"/>
      <line num="608" type="stmt" count="4"/>
      <line num="609" type="stmt" count="4"/>
      <line num="610" type="stmt" count="4"/>
      <line num="612" type="stmt" count="4"/>
      <line num="613" type="stmt" count="4"/>
      <line num="614" type="stmt" count="4"/>
      <line num="615" type="stmt" count="4"/>
      <line num="616" type="stmt" count="4"/>
      <line num="617" type="stmt" count="2"/>
      <line num="619" type="stmt" count="4"/>
      <line num="620" type="stmt" count="4"/>
      <line num="621" type="stmt" count="4"/>
      <line num="622" type="stmt" count="4"/>
      <line num="623" type="stmt" count="4"/>
      <line num="624" type="stmt" count="4"/>
      <line num="627" type="stmt" count="2"/>
      <line num="628" type="stmt" count="2"/>
      <line num="629" type="stmt" count="2"/>
      <line num="630" type="stmt" count="0"/>
      <line num="633" type="stmt" count="2"/>
      <line num="634" type="stmt" count="2"/>
      <line num="635" type="stmt" count="2"/>
      <line num="636" type="stmt" count="1"/>
      <line num="638" type="stmt" count="1"/>
      <line num="641" type="stmt" count="2"/>
      <line num="643" type="stmt" 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="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="651" type="stmt" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="660" type="stmt" count="6"/>
      <line num="662" type="stmt" count="6"/>
      <line num="663" type="stmt" count="1"/>
      <line num="666" type="stmt" count="6"/>
      <line num="675" type="method" name="purgeOriginPageUtterances" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="676" type="stmt" count="1"/>
      <line num="685" type="method" name="success" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <line num="691" type="stmt" count="0"/>
      <line num="692" type="stmt" count="0"/>
      <line num="693" type="stmt" count="0"/>
      <metrics loc="696" ncloc="549" classes="1" methods="14" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="371" coveredstatements="91" elements="385" coveredelements="93"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Specials/SpecialTestListen.php">
      <class name="MediaWiki\Wikispeech\Specials\SpecialTestListen" namespace="global">
        <metrics complexity="12" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="101" coveredstatements="0" elements="107" coveredelements="0"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="60" type="method" name="getRestriction" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="68" type="method" name="execute" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="143" type="method" name="submitCallbackText" visibility="private" complexity="4" crap="20" 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="150" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="187" type="method" name="makeAudioElement" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="199" type="method" name="submitCallbackAudioData" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <metrics loc="204" ncloc="157" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="101" coveredstatements="0" elements="107" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/SpeechoidConnector.php">
      <class name="MediaWiki\Wikispeech\SpeechoidConnector" namespace="global">
        <metrics complexity="75" methods="19" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="294" coveredstatements="156" elements="313" coveredelements="162"/>
      </class>
      <line num="50" type="method" name="__construct" visibility="public" complexity="5" crap="5.06" count="20"/>
      <line num="51" type="stmt" count="20"/>
      <line num="52" type="stmt" count="20"/>
      <line num="53" type="stmt" count="20"/>
      <line num="54" type="stmt" count="20"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="59" type="stmt" count="20"/>
      <line num="60" type="stmt" count="20"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="65" type="stmt" count="20"/>
      <line num="66" type="stmt" count="20"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="71" type="stmt" count="20"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="20"/>
      <line num="93" type="method" name="synthesize" visibility="public" complexity="9" crap="10.60" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" 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="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="124" type="stmt" count="2"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="132" type="stmt" count="2"/>
      <line num="133" type="stmt" count="2"/>
      <line num="134" type="stmt" count="2"/>
      <line num="135" type="stmt" count="0"/>
      <line num="137" type="stmt" count="2"/>
      <line num="138" type="stmt" count="2"/>
      <line num="139" type="stmt" count="0"/>
      <line num="141" type="stmt" count="2"/>
      <line num="154" type="method" name="synthesizeText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="175" type="method" name="listDefaultVoicePerLanguage" visibility="public" complexity="3" crap="3.01" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="0"/>
      <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="189" type="stmt" count="1"/>
      <line num="200" type="method" name="requestDefaultVoices" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="227" type="method" name="requestLexicons" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="263" type="method" name="findLexiconByLocale" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="320" type="method" name="requestTextProcessors" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="356" type="method" name="findLexiconByLanguage" visibility="public" complexity="8" crap="9.00" count="1"/>
      <line num="359" type="stmt" count="1"/>
      <line num="360" type="stmt" count="1"/>
      <line num="361" type="stmt" count="1"/>
      <line num="362" type="stmt" count="1"/>
      <line num="363" type="stmt" count="1"/>
      <line num="364" type="stmt" count="1"/>
      <line num="365" type="stmt" count="1"/>
      <line num="368" type="stmt" count="1"/>
      <line num="369" type="stmt" count="1"/>
      <line num="370" type="stmt" count="1"/>
      <line num="371" type="stmt" count="1"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="377" type="stmt" count="1"/>
      <line num="379" type="stmt" count="1"/>
      <line num="380" type="stmt" count="1"/>
      <line num="382" type="stmt" count="1"/>
      <line num="385" type="stmt" count="0"/>
      <line num="433" type="method" name="lookupLexiconEntries" visibility="public" complexity="3" crap="3.03" count="1"/>
      <line num="437" type="stmt" count="1"/>
      <line num="438" type="stmt" count="0"/>
      <line num="440" type="stmt" count="1"/>
      <line num="441" type="stmt" count="1"/>
      <line num="442" type="stmt" count="1"/>
      <line num="443" type="stmt" count="1"/>
      <line num="444" type="stmt" count="1"/>
      <line num="445" type="stmt" count="1"/>
      <line num="446" type="stmt" count="1"/>
      <line num="447" type="stmt" count="1"/>
      <line num="448" type="stmt" count="1"/>
      <line num="449" type="stmt" count="0"/>
      <line num="451" type="stmt" count="1"/>
      <line num="460" type="method" name="updateLexiconEntry" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="468" type="stmt" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="482" type="method" name="deleteLexiconEntry" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="486" type="stmt" count="4"/>
      <line num="487" type="stmt" count="4"/>
      <line num="488" type="stmt" count="4"/>
      <line num="489" type="stmt" count="4"/>
      <line num="490" type="stmt" count="4"/>
      <line num="491" type="stmt" count="4"/>
      <line num="495" type="stmt" count="4"/>
      <line num="496" type="stmt" count="4"/>
      <line num="497" type="stmt" count="4"/>
      <line num="498" type="stmt" count="4"/>
      <line num="499" type="stmt" count="1"/>
      <line num="501" type="stmt" count="3"/>
      <line num="531" type="method" name="addLexiconEntry" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="535" type="stmt" count="0"/>
      <line num="536" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="545" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="549" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="555" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="558" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="562" type="stmt" count="0"/>
      <line num="563" type="stmt" count="0"/>
      <line num="564" type="stmt" count="0"/>
      <line num="565" type="stmt" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="568" type="stmt" count="0"/>
      <line num="569" type="stmt" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="583" type="method" name="toIpa" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="584" type="stmt" count="1"/>
      <line num="597" type="method" name="map" visibility="private" complexity="8" crap="12.10" count="2"/>
      <line num="599" type="stmt" count="2"/>
      <line num="600" type="stmt" count="2"/>
      <line num="601" type="stmt" count="2"/>
      <line num="602" type="stmt" count="2"/>
      <line num="603" type="stmt" count="2"/>
      <line num="604" type="stmt" count="2"/>
      <line num="605" type="stmt" count="2"/>
      <line num="606" type="stmt" count="2"/>
      <line num="607" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="609" type="stmt" count="0"/>
      <line num="610" type="stmt" count="0"/>
      <line num="612" type="stmt" count="2"/>
      <line num="613" type="stmt" count="2"/>
      <line num="614" type="stmt" count="0"/>
      <line num="615" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="617" type="stmt" count="0"/>
      <line num="619" type="stmt" count="2"/>
      <line num="621" type="stmt" count="2"/>
      <line num="622" type="stmt" count="1"/>
      <line num="623" type="stmt" count="1"/>
      <line num="625" type="stmt" count="1"/>
      <line num="626" type="stmt" count="1"/>
      <line num="628" type="stmt" count="2"/>
      <line num="629" type="stmt" count="2"/>
      <line num="630" type="stmt" count="2"/>
      <line num="631" type="stmt" count="2"/>
      <line num="632" type="stmt" count="2"/>
      <line num="633" type="stmt" count="0"/>
      <line num="634" type="stmt" count="0"/>
      <line num="635" type="stmt" count="0"/>
      <line num="636" type="stmt" count="0"/>
      <line num="638" type="stmt" count="2"/>
      <line num="639" type="stmt" count="2"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="643" type="stmt" count="0"/>
      <line num="645" type="stmt" count="2"/>
      <line num="657" type="method" name="fromIpa" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="658" type="stmt" count="1"/>
      <line num="673" type="method" name="isQueueOverloaded" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="674" type="stmt" count="1"/>
      <line num="675" type="stmt" count="1"/>
      <line num="676" type="stmt" count="1"/>
      <line num="677" type="stmt" count="1"/>
      <line num="678" type="stmt" count="1"/>
      <line num="679" type="stmt" count="1"/>
      <line num="680" type="stmt" count="1"/>
      <line num="681" type="stmt" count="1"/>
      <line num="682" type="stmt" count="1"/>
      <line num="683" type="stmt" count="1"/>
      <line num="684" type="stmt" count="1"/>
      <line num="685" type="stmt" count="1"/>
      <line num="686" type="stmt" count="1"/>
      <line num="711" type="method" name="getAvailableNonQueuedConnectionSlots" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="712" type="stmt" count="3"/>
      <line num="713" type="stmt" count="3"/>
      <line num="714" type="stmt" count="3"/>
      <line num="715" type="stmt" count="3"/>
      <line num="716" type="stmt" count="3"/>
      <line num="717" type="stmt" count="3"/>
      <line num="718" type="stmt" count="3"/>
      <line num="719" type="stmt" count="3"/>
      <line num="720" type="stmt" count="3"/>
      <line num="721" type="stmt" count="3"/>
      <line num="722" type="stmt" count="3"/>
      <line num="723" type="stmt" count="3"/>
      <line num="733" type="method" name="unparseUrl" visibility="private" complexity="8" crap="8" count="6"/>
      <line num="734" type="stmt" count="6"/>
      <line num="735" type="stmt" count="6"/>
      <line num="736" type="stmt" count="6"/>
      <line num="737" type="stmt" count="6"/>
      <line num="738" type="stmt" count="6"/>
      <line num="739" type="stmt" count="6"/>
      <line num="740" type="stmt" count="6"/>
      <line num="741" type="stmt" count="6"/>
      <line num="742" type="stmt" count="6"/>
      <line num="743" type="stmt" count="6"/>
      <metrics loc="747" ncloc="451" classes="1" methods="19" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="294" coveredstatements="156" elements="313" coveredelements="162"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/SpeechoidConnectorException.php">
      <class name="MediaWiki\Wikispeech\SpeechoidConnectorException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="18" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/FlushUtterancesByExpirationDateOnFileJob.php">
      <class name="MediaWiki\Wikispeech\Utterance\FlushUtterancesByExpirationDateOnFileJob" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="38" type="method" name="run" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <metrics loc="44" ncloc="24" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/FlushUtterancesByExpirationDateOnFileJobQueue.php">
      <class name="MediaWiki\Wikispeech\Utterance\FlushUtterancesByExpirationDateOnFileJobQueue" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="7" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="queueJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <metrics loc="39" ncloc="20" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="7" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/FlushUtterancesFromStoreByExpirationJob.php">
      <class name="MediaWiki\Wikispeech\Utterance\FlushUtterancesFromStoreByExpirationJob" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="13" coveredelements="13"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="49" type="method" name="run" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <metrics loc="65" ncloc="35" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="13" coveredelements="13"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/FlushUtterancesFromStoreByExpirationJobQueue.php">
      <class name="MediaWiki\Wikispeech\Utterance\FlushUtterancesFromStoreByExpirationJobQueue" namespace="global">
        <metrics complexity="7" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="29" elements="46" coveredelements="31"/>
      </class>
      <line num="70" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="94" type="method" name="maybeQueueJob" visibility="public" complexity="2" crap="6" 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="99" type="stmt" count="0"/>
      <line num="107" type="method" name="queueJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="127" type="method" name="isTimeToQueueJob" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="128" type="stmt" count="5"/>
      <line num="129" type="stmt" count="2"/>
      <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="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="143" type="stmt" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="2"/>
      <line num="146" type="stmt" count="2"/>
      <line num="147" type="stmt" count="2"/>
      <line num="148" type="stmt" count="2"/>
      <line num="149" type="stmt" count="2"/>
      <metrics loc="152" ncloc="84" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="29" elements="46" coveredelements="31"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/FlushUtterancesFromStoreByLanguageAndVoiceJob.php">
      <class name="MediaWiki\Wikispeech\Utterance\FlushUtterancesFromStoreByLanguageAndVoiceJob" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="43" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="57" type="method" name="run" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <metrics loc="70" ncloc="42" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/FlushUtterancesFromStoreByLanguageAndVoiceJobQueue.php">
      <class name="MediaWiki\Wikispeech\Utterance\FlushUtterancesFromStoreByLanguageAndVoiceJobQueue" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="35" type="method" name="queueJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <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"/>
      <metrics loc="49" ncloc="25" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/FlushUtterancesFromStoreByPageIdJob.php">
      <class name="MediaWiki\Wikispeech\Utterance\FlushUtterancesFromStoreByPageIdJob" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="15" coveredelements="0"/>
      </class>
      <line num="43" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="56" type="method" name="run" visibility="public" complexity="1" crap="2" 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"/>
      <metrics loc="68" ncloc="40" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="15" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/FlushUtterancesFromStoreByPageIdJobQueue.php">
      <class name="MediaWiki\Wikispeech\Utterance\FlushUtterancesFromStoreByPageIdJobQueue" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="9" coveredelements="0"/>
      </class>
      <line num="33" type="method" name="queueJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <metrics loc="44" ncloc="21" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="9" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/Utterance.php">
      <class name="MediaWiki\Wikispeech\Utterance\Utterance" namespace="global">
        <metrics complexity="21" methods="21" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="26" elements="49" coveredelements="45"/>
      </class>
      <line num="59" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="83" type="method" name="getUtteranceId" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="91" type="method" name="setUtteranceId" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="99" type="method" name="getAudio" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="107" type="method" name="setAudio" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="115" type="method" name="getSynthesisMetadata" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="116" type="stmt" count="3"/>
      <line num="123" type="method" name="setSynthesisMetadata" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="131" type="method" name="getRemoteWikiHash" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="132" type="stmt" count="3"/>
      <line num="139" type="method" name="setRemoteWikiHash" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="147" type="method" name="getPageId" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="148" type="stmt" count="3"/>
      <line num="155" type="method" name="setPageId" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="163" type="method" name="getMessageKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="171" type="method" name="setMessageKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="179" type="method" name="getLanguage" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="180" type="stmt" count="3"/>
      <line num="187" type="method" name="setLanguage" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="195" type="method" name="getVoice" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="196" type="stmt" count="3"/>
      <line num="203" type="method" name="setVoice" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="211" type="method" name="getSegmentHash" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="212" type="stmt" count="3"/>
      <line num="219" type="method" name="setSegmentHash" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="227" type="method" name="getDateStored" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="228" type="stmt" count="3"/>
      <line num="235" type="method" name="setDateStored" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="236" type="stmt" count="1"/>
      <metrics loc="240" ncloc="131" classes="1" methods="21" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="26" elements="49" coveredelements="45"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/UtteranceGenerator.php">
      <class name="MediaWiki\Wikispeech\Utterance\UtteranceGenerator" namespace="global">
        <metrics complexity="24" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="153" coveredstatements="95" elements="159" coveredelements="97"/>
      </class>
      <line num="77" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="88" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="90" type="stmt" count="3"/>
      <line num="91" type="stmt" count="3"/>
      <line num="101" type="method" name="setUtteranceStore" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="109" type="method" name="setContext" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="131" type="method" name="getUtterance" visibility="public" complexity="12" crap="14.59" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <line num="140" type="stmt" count="3"/>
      <line num="141" type="stmt" count="0"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="150" type="stmt" count="3"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="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="170" type="stmt" count="3"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="179" type="stmt" count="1"/>
      <line num="182" type="stmt" count="2"/>
      <line num="183" type="stmt" count="2"/>
      <line num="186" type="stmt" count="2"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="2"/>
      <line num="190" type="stmt" count="2"/>
      <line num="191" type="stmt" count="2"/>
      <line num="194" type="stmt" count="2"/>
      <line num="195" type="stmt" count="1"/>
      <line num="196" type="stmt" count="1"/>
      <line num="197" type="stmt" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="199" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="203" type="stmt" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="207" type="stmt" count="2"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="218" type="stmt" count="2"/>
      <line num="219" type="stmt" count="2"/>
      <line num="220" type="stmt" count="2"/>
      <line num="221" type="stmt" count="2"/>
      <line num="222" type="stmt" count="2"/>
      <line num="223" type="stmt" count="2"/>
      <line num="224" type="stmt" count="2"/>
      <line num="225" type="stmt" count="2"/>
      <line num="226" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="230" type="stmt" count="2"/>
      <line num="231" type="stmt" count="2"/>
      <line num="232" type="stmt" count="2"/>
      <line num="234" type="stmt" count="1"/>
      <line num="235" type="stmt" count="1"/>
      <line num="236" type="stmt" count="1"/>
      <line num="237" type="stmt" count="1"/>
      <line num="238" type="stmt" count="1"/>
      <line num="239" type="stmt" count="1"/>
      <line num="240" type="stmt" count="1"/>
      <line num="242" type="stmt" count="1"/>
      <line num="243" type="stmt" count="1"/>
      <line num="244" type="stmt" count="1"/>
      <line num="245" type="stmt" count="1"/>
      <line num="265" type="method" name="getUtteranceForRevisionAndSegment" visibility="public" complexity="4" crap="4.46" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="277" type="stmt" count="1"/>
      <line num="278" type="stmt" count="1"/>
      <line num="279" type="stmt" count="1"/>
      <line num="280" type="stmt" count="1"/>
      <line num="281" type="stmt" count="1"/>
      <line num="282" type="stmt" count="1"/>
      <line num="283" type="stmt" count="1"/>
      <line num="284" type="stmt" count="1"/>
      <line num="285" type="stmt" count="1"/>
      <line num="286" type="stmt" count="1"/>
      <line num="287" type="stmt" count="1"/>
      <line num="288" type="stmt" count="1"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="293" type="stmt" count="1"/>
      <line num="294" type="stmt" count="1"/>
      <line num="295" type="stmt" count="0"/>
      <line num="298" type="stmt" count="1"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="308" type="stmt" count="1"/>
      <line num="309" type="stmt" count="1"/>
      <line num="310" type="stmt" count="1"/>
      <line num="311" type="stmt" count="1"/>
      <line num="312" type="stmt" count="1"/>
      <line num="313" type="stmt" count="1"/>
      <line num="314" type="stmt" count="1"/>
      <line num="329" type="method" name="getUtterancesForMessageKey" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <metrics loc="374" ncloc="282" classes="1" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="153" coveredstatements="95" elements="159" coveredelements="97"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/Utterance/UtteranceStore.php">
      <class name="MediaWiki\Wikispeech\Utterance\UtteranceStore" namespace="global">
        <metrics complexity="71" methods="27" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="387" coveredstatements="315" elements="414" coveredelements="328"/>
      </class>
      <line num="64" type="method" name="__construct" visibility="public" complexity="2" crap="2.23" count="22"/>
      <line num="65" type="stmt" count="22"/>
      <line num="69" type="stmt" count="22"/>
      <line num="70" type="stmt" count="22"/>
      <line num="71" type="stmt" count="22"/>
      <line num="73" type="stmt" count="22"/>
      <line num="74" type="stmt" count="22"/>
      <line num="75" type="stmt" count="22"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="22"/>
      <line num="91" type="method" name="getFileBackend" visibility="private" complexity="4" crap="16.46" count="21"/>
      <line num="93" type="stmt" count="21"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="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="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="124" type="stmt" count="21"/>
      <line num="140" type="method" name="findUtterance" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="148" type="stmt" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="151" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="153" type="stmt" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="155" type="stmt" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="157" type="stmt" count="1"/>
      <line num="160" type="stmt" count="2"/>
      <line num="175" type="method" name="findMessageUtterance" visibility="public" complexity="2" crap="2.00" 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="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="2"/>
      <line num="189" type="stmt" count="2"/>
      <line num="190" type="stmt" count="2"/>
      <line num="191" type="stmt" count="2"/>
      <line num="192" type="stmt" count="0"/>
      <line num="195" type="stmt" count="2"/>
      <line num="203" type="method" name="loadUtteranceAudio" visibility="private" complexity="4" crap="4.37" count="4"/>
      <line num="204" type="stmt" count="4"/>
      <line num="212" type="stmt" count="4"/>
      <line num="213" type="stmt" count="4"/>
      <line num="215" type="stmt" count="4"/>
      <line num="216" type="stmt" count="4"/>
      <line num="217" type="stmt" count="4"/>
      <line num="218" type="stmt" count="4"/>
      <line num="219" type="stmt" count="4"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="226" type="stmt" count="4"/>
      <line num="228" type="stmt" count="4"/>
      <line num="229" type="stmt" count="4"/>
      <line num="230" type="stmt" count="4"/>
      <line num="231" type="stmt" count="4"/>
      <line num="232" type="stmt" count="4"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="238" type="stmt" count="4"/>
      <line num="255" type="method" name="retrieveUtteranceMetadata" visibility="public" complexity="6" crap="6" count="5"/>
      <line num="263" type="stmt" count="5"/>
      <line num="264" type="stmt" count="5"/>
      <line num="266" type="stmt" count="5"/>
      <line num="267" type="stmt" count="5"/>
      <line num="268" type="stmt" count="5"/>
      <line num="269" type="stmt" count="5"/>
      <line num="270" type="stmt" count="5"/>
      <line num="271" type="stmt" count="5"/>
      <line num="273" type="stmt" count="5"/>
      <line num="274" type="stmt" count="3"/>
      <line num="276" type="stmt" count="2"/>
      <line num="277" type="stmt" count="0"/>
      <line num="279" type="stmt" count="2"/>
      <line num="280" type="stmt" count="2"/>
      <line num="283" type="stmt" count="5"/>
      <line num="284" type="stmt" count="5"/>
      <line num="285" type="stmt" count="5"/>
      <line num="286" type="stmt" count="5"/>
      <line num="287" type="stmt" count="5"/>
      <line num="288" type="stmt" count="5"/>
      <line num="289" type="stmt" count="5"/>
      <line num="290" type="stmt" count="5"/>
      <line num="291" type="stmt" count="5"/>
      <line num="292" type="stmt" count="5"/>
      <line num="293" type="stmt" count="5"/>
      <line num="294" type="stmt" count="5"/>
      <line num="295" type="stmt" count="5"/>
      <line num="296" type="stmt" count="1"/>
      <line num="298" type="stmt" count="4"/>
      <line num="299" type="stmt" count="4"/>
      <line num="300" type="stmt" count="4"/>
      <line num="301" type="stmt" count="4"/>
      <line num="302" type="stmt" count="4"/>
      <line num="303" type="stmt" count="4"/>
      <line num="304" type="stmt" count="4"/>
      <line num="305" type="stmt" count="4"/>
      <line num="306" type="stmt" count="4"/>
      <line num="307" type="stmt" count="4"/>
      <line num="308" type="stmt" count="4"/>
      <line num="321" type="method" name="retrieveFileContents" visibility="public" complexity="2" crap="2.21" count="4"/>
      <line num="322" type="stmt" count="4"/>
      <line num="323" type="stmt" count="4"/>
      <line num="324" type="stmt" count="4"/>
      <line num="325" type="stmt" count="4"/>
      <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="4"/>
      <line num="348" type="method" name="createUtterance" visibility="public" complexity="2" crap="2.00" count="4"/>
      <line num="357" type="stmt" count="4"/>
      <line num="358" type="stmt" count="0"/>
      <line num="361" type="stmt" count="4"/>
      <line num="362" type="stmt" count="4"/>
      <line num="363" type="stmt" count="4"/>
      <line num="364" type="stmt" count="4"/>
      <line num="365" type="stmt" count="4"/>
      <line num="366" type="stmt" count="4"/>
      <line num="367" type="stmt" count="4"/>
      <line num="368" type="stmt" count="4"/>
      <line num="369" type="stmt" count="4"/>
      <line num="370" type="stmt" count="4"/>
      <line num="387" type="method" name="createMessageUtterance" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="396" type="stmt" count="4"/>
      <line num="397" type="stmt" count="4"/>
      <line num="398" type="stmt" count="4"/>
      <line num="399" type="stmt" count="4"/>
      <line num="400" type="stmt" count="4"/>
      <line num="401" type="stmt" count="4"/>
      <line num="402" type="stmt" count="4"/>
      <line num="403" type="stmt" count="4"/>
      <line num="404" type="stmt" count="4"/>
      <line num="405" type="stmt" count="4"/>
      <line num="423" type="method" name="storeUtterance" visibility="private" complexity="1" crap="1" count="8"/>
      <line num="433" type="stmt" count="8"/>
      <line num="434" type="stmt" count="8"/>
      <line num="435" type="stmt" count="8"/>
      <line num="436" type="stmt" count="8"/>
      <line num="437" type="stmt" count="8"/>
      <line num="438" type="stmt" count="8"/>
      <line num="439" type="stmt" count="8"/>
      <line num="440" type="stmt" count="8"/>
      <line num="441" type="stmt" count="8"/>
      <line num="442" type="stmt" count="8"/>
      <line num="443" type="stmt" count="8"/>
      <line num="444" type="stmt" count="8"/>
      <line num="445" type="stmt" count="8"/>
      <line num="446" type="stmt" count="8"/>
      <line num="447" type="stmt" count="8"/>
      <line num="448" type="stmt" count="8"/>
      <line num="449" type="stmt" count="8"/>
      <line num="450" type="stmt" count="8"/>
      <line num="451" type="stmt" count="8"/>
      <line num="452" type="stmt" count="8"/>
      <line num="453" type="stmt" count="8"/>
      <line num="454" type="stmt" count="8"/>
      <line num="457" type="stmt" count="8"/>
      <line num="458" type="stmt" count="8"/>
      <line num="459" type="stmt" count="8"/>
      <line num="460" type="stmt" count="8"/>
      <line num="461" type="stmt" count="8"/>
      <line num="462" type="stmt" count="8"/>
      <line num="465" type="stmt" count="8"/>
      <line num="466" type="stmt" count="8"/>
      <line num="467" type="stmt" count="8"/>
      <line num="468" type="stmt" count="8"/>
      <line num="469" type="stmt" count="8"/>
      <line num="470" type="stmt" count="8"/>
      <line num="472" type="stmt" count="8"/>
      <line num="473" type="stmt" count="8"/>
      <line num="475" type="stmt" count="8"/>
      <line num="487" type="method" name="storeFile" visibility="public" complexity="5" crap="5.46" count="9"/>
      <line num="488" type="stmt" count="9"/>
      <line num="490" type="stmt" count="9"/>
      <line num="491" type="stmt" count="9"/>
      <line num="492" type="stmt" count="9"/>
      <line num="493" type="stmt" count="9"/>
      <line num="494" type="stmt" count="9"/>
      <line num="495" type="stmt" count="0"/>
      <line num="497" type="stmt" count="9"/>
      <line num="498" type="stmt" count="9"/>
      <line num="499" type="stmt" count="9"/>
      <line num="500" type="stmt" count="9"/>
      <line num="501" type="stmt" count="9"/>
      <line num="502" type="stmt" count="9"/>
      <line num="503" type="stmt" count="9"/>
      <line num="506" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="511" type="stmt" count="9"/>
      <line num="512" type="stmt" count="0"/>
      <line num="523" type="method" name="flushUtterancesByExpirationDate" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="524" type="stmt" count="2"/>
      <line num="525" type="stmt" count="2"/>
      <line num="526" type="stmt" count="2"/>
      <line num="527" type="stmt" count="2"/>
      <line num="528" type="stmt" count="2"/>
      <line num="529" type="stmt" count="2"/>
      <line num="530" type="stmt" count="2"/>
      <line num="531" type="stmt" count="2"/>
      <line num="532" type="stmt" count="2"/>
      <line num="543" type="method" name="flushUtterancesByPage" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="547" type="stmt" count="3"/>
      <line num="549" type="stmt" count="3"/>
      <line num="550" type="stmt" count="1"/>
      <line num="552" type="stmt" count="2"/>
      <line num="555" type="stmt" count="3"/>
      <line num="556" type="stmt" count="3"/>
      <line num="557" type="stmt" count="3"/>
      <line num="558" type="stmt" count="3"/>
      <line num="559" type="stmt" count="3"/>
      <line num="560" type="stmt" count="3"/>
      <line num="561" type="stmt" count="3"/>
      <line num="562" type="stmt" count="3"/>
      <line num="563" type="stmt" count="3"/>
      <line num="564" type="stmt" count="3"/>
      <line num="565" type="stmt" count="3"/>
      <line num="577" type="method" name="flushUtterancesByLanguageAndVoice" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="578" type="stmt" count="4"/>
      <line num="579" type="stmt" count="4"/>
      <line num="580" type="stmt" count="4"/>
      <line num="581" type="stmt" count="4"/>
      <line num="582" type="stmt" count="4"/>
      <line num="583" type="stmt" count="2"/>
      <line num="585" type="stmt" count="4"/>
      <line num="586" type="stmt" count="4"/>
      <line num="587" type="stmt" count="4"/>
      <line num="588" type="stmt" count="4"/>
      <line num="589" type="stmt" count="4"/>
      <line num="598" type="method" name="flushMessageUtterances" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="599" type="stmt" count="1"/>
      <line num="600" type="stmt" count="1"/>
      <line num="601" type="stmt" count="1"/>
      <line num="602" type="stmt" count="1"/>
      <line num="603" type="stmt" count="1"/>
      <line num="626" type="method" name="flushUtterances" visibility="private" complexity="9" crap="9.27" count="10"/>
      <line num="627" type="stmt" count="10"/>
      <line num="628" type="stmt" count="0"/>
      <line num="632" type="stmt" count="10"/>
      <line num="633" type="stmt" count="10"/>
      <line num="634" type="stmt" count="10"/>
      <line num="635" type="stmt" count="10"/>
      <line num="637" type="stmt" count="10"/>
      <line num="638" type="stmt" count="10"/>
      <line num="639" type="stmt" count="6"/>
      <line num="642" type="stmt" count="6"/>
      <line num="643" type="stmt" count="6"/>
      <line num="644" type="stmt" count="6"/>
      <line num="645" type="stmt" count="6"/>
      <line num="646" type="stmt" count="6"/>
      <line num="647" type="stmt" count="6"/>
      <line num="648" type="stmt" count="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="651" type="stmt" count="0"/>
      <line num="653" type="stmt" count="6"/>
      <line num="654" type="stmt" count="6"/>
      <line num="655" type="stmt" count="6"/>
      <line num="656" type="stmt" count="6"/>
      <line num="660" type="stmt" count="6"/>
      <line num="661" type="stmt" count="6"/>
      <line num="662" type="stmt" count="6"/>
      <line num="663" type="stmt" count="6"/>
      <line num="664" type="stmt" count="6"/>
      <line num="665" type="stmt" count="6"/>
      <line num="666" type="stmt" count="6"/>
      <line num="667" type="stmt" count="6"/>
      <line num="668" type="stmt" count="6"/>
      <line num="669" type="stmt" count="6"/>
      <line num="670" type="stmt" count="6"/>
      <line num="671" type="stmt" count="6"/>
      <line num="672" type="stmt" count="6"/>
      <line num="675" type="stmt" count="0"/>
      <line num="678" type="stmt" count="6"/>
      <line num="679" type="stmt" count="6"/>
      <line num="683" type="stmt" count="10"/>
      <line num="693" type="method" name="deleteFileBackendFile" visibility="private" complexity="3" crap="4.68" count="6"/>
      <line num="694" type="stmt" count="6"/>
      <line num="695" type="stmt" count="6"/>
      <line num="696" type="stmt" count="6"/>
      <line num="697" type="stmt" count="6"/>
      <line num="698" type="stmt" count="6"/>
      <line num="699" type="stmt" count="0"/>
      <line num="700" type="stmt" count="0"/>
      <line num="701" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="703" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="706" type="stmt" count="6"/>
      <line num="709" type="stmt" count="0"/>
      <line num="710" type="stmt" count="0"/>
      <line num="711" type="stmt" count="0"/>
      <line num="712" type="stmt" count="0"/>
      <line num="713" type="stmt" count="0"/>
      <line num="714" type="stmt" count="0"/>
      <line num="716" type="stmt" count="6"/>
      <line num="717" type="stmt" count="6"/>
      <line num="718" type="stmt" count="6"/>
      <line num="740" type="method" name="urlPathFactory" visibility="private" complexity="2" crap="2" count="27"/>
      <line num="741" type="stmt" count="27"/>
      <line num="742" type="stmt" count="27"/>
      <line num="743" type="stmt" count="27"/>
      <line num="744" type="stmt" count="27"/>
      <line num="745" type="stmt" count="5"/>
      <line num="747" type="stmt" count="27"/>
      <line num="755" type="method" name="audioUrlPrefixFactory" visibility="private" complexity="1" crap="1" count="20"/>
      <line num="756" type="stmt" count="20"/>
      <line num="757" type="stmt" count="20"/>
      <line num="765" type="method" name="audioUrlFactory" visibility="private" complexity="1" crap="1" count="20"/>
      <line num="766" type="stmt" count="20"/>
      <line num="774" type="method" name="synthesisMetadataUrlFactory" visibility="private" complexity="1" crap="1" count="19"/>
      <line num="775" type="stmt" count="19"/>
      <line num="786" type="method" name="flushUtterancesByExpirationDateOnFile" visibility="public" complexity="2" crap="2.01" count="2"/>
      <line num="792" type="stmt" count="2"/>
      <line num="793" type="stmt" count="0"/>
      <line num="795" type="stmt" count="2"/>
      <line num="796" type="stmt" count="2"/>
      <line num="797" type="stmt" count="2"/>
      <line num="798" type="stmt" count="2"/>
      <line num="799" type="stmt" count="2"/>
      <line num="800" type="stmt" count="2"/>
      <line num="801" type="stmt" count="2"/>
      <line num="811" type="method" name="recurseFlushUtterancesByExpirationDateOnFile" visibility="private" complexity="7" crap="7.03" count="2"/>
      <line num="816" type="stmt" count="2"/>
      <line num="817" type="stmt" count="2"/>
      <line num="818" type="stmt" count="2"/>
      <line num="819" type="stmt" count="2"/>
      <line num="820" type="stmt" count="2"/>
      <line num="821" type="stmt" count="2"/>
      <line num="822" type="stmt" count="2"/>
      <line num="823" type="stmt" count="2"/>
      <line num="824" type="stmt" count="1"/>
      <line num="825" type="stmt" count="1"/>
      <line num="826" type="stmt" count="1"/>
      <line num="827" type="stmt" count="1"/>
      <line num="828" type="stmt" count="1"/>
      <line num="829" type="stmt" count="1"/>
      <line num="832" type="stmt" count="2"/>
      <line num="833" type="stmt" count="2"/>
      <line num="834" type="stmt" count="2"/>
      <line num="835" type="stmt" count="2"/>
      <line num="836" type="stmt" count="2"/>
      <line num="837" type="stmt" count="2"/>
      <line num="838" type="stmt" count="1"/>
      <line num="839" type="stmt" count="1"/>
      <line num="840" type="stmt" count="1"/>
      <line num="841" type="stmt" count="1"/>
      <line num="842" type="stmt" count="1"/>
      <line num="843" type="stmt" count="1"/>
      <line num="844" type="stmt" count="1"/>
      <line num="845" type="stmt" count="1"/>
      <line num="846" type="stmt" count="1"/>
      <line num="847" type="stmt" count="1"/>
      <line num="848" type="stmt" count="1"/>
      <line num="849" type="stmt" count="1"/>
      <line num="850" type="stmt" count="1"/>
      <line num="851" type="stmt" count="1"/>
      <line num="852" type="stmt" count="1"/>
      <line num="853" type="stmt" count="1"/>
      <line num="854" type="stmt" count="1"/>
      <line num="855" type="stmt" count="1"/>
      <line num="857" type="stmt" count="0"/>
      <line num="858" type="stmt" count="0"/>
      <line num="859" type="stmt" count="0"/>
      <line num="860" type="stmt" count="0"/>
      <line num="863" type="stmt" count="1"/>
      <line num="866" type="stmt" count="2"/>
      <line num="867" type="stmt" count="2"/>
      <line num="875" type="method" name="getWikispeechUtteranceExpirationTimestamp" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="876" type="stmt" count="0"/>
      <line num="877" type="stmt" count="0"/>
      <line num="878" type="stmt" count="0"/>
      <line num="884" type="method" name="getWikispeechUtteranceTimeToLiveDays" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="885" type="stmt" count="0"/>
      <line num="891" type="method" name="isWikispeechUtteranceUseSwiftFileBackendExpiring" visibility="private" complexity="1" crap="1" count="19"/>
      <line num="892" type="stmt" count="19"/>
      <line num="905" type="method" name="evaluateRemoteWikiHash" visibility="public" complexity="5" crap="5" count="27"/>
      <line num="906" type="stmt" count="27"/>
      <line num="907" type="stmt" count="14"/>
      <line num="909" type="stmt" count="13"/>
      <line num="910" type="stmt" count="13"/>
      <line num="911" type="stmt" count="13"/>
      <line num="912" type="stmt" count="13"/>
      <line num="914" type="stmt" count="13"/>
      <line num="915" type="stmt" count="8"/>
      <line num="917" type="stmt" count="13"/>
      <line num="918" type="stmt" count="13"/>
      <line num="920" type="stmt" count="13"/>
      <metrics loc="924" ncloc="635" classes="1" methods="27" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="387" coveredstatements="315" elements="414" coveredelements="328"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/VoiceHandler.php">
      <class name="MediaWiki\Wikispeech\VoiceHandler" namespace="global">
        <metrics complexity="10" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="48" elements="55" coveredelements="49"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="45" type="stmt" count="7"/>
      <line num="60" type="method" name="getDefaultVoice" visibility="public" complexity="9" crap="9.09" 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="68" type="stmt" count="7"/>
      <line num="70" type="stmt" count="7"/>
      <line num="72" type="stmt" count="7"/>
      <line num="75" type="stmt" count="7"/>
      <line num="76" type="stmt" count="7"/>
      <line num="77" type="stmt" count="7"/>
      <line num="78" type="stmt" count="7"/>
      <line num="79" type="stmt" count="7"/>
      <line num="81" type="stmt" count="7"/>
      <line num="82" type="stmt" count="7"/>
      <line num="83" type="stmt" count="7"/>
      <line num="85" type="stmt" count="5"/>
      <line num="87" type="stmt" count="7"/>
      <line num="89" type="stmt" count="3"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="107" type="stmt" count="2"/>
      <line num="110" type="stmt" count="4"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="119" type="stmt" count="3"/>
      <line num="120" type="stmt" count="3"/>
      <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="130" type="stmt" count="1"/>
      <metrics loc="133" ncloc="88" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="48" elements="55" coveredelements="49"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/includes/WikispeechServices.php">
      <class name="MediaWiki\Wikispeech\WikispeechServices" namespace="global">
        <metrics complexity="22" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="0" elements="33" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="getConfiguredLexiconStorage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="40" type="method" name="getLexiconHandler" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="54" type="method" name="getLexiconWikiStorage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="68" type="method" name="getLexiconSpeechoidStorage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="82" type="method" name="getLexiconWanCacheStorage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="96" type="method" name="getSpeechoidConnector" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="110" type="method" name="getSegmentPageFactory" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="124" type="method" name="getSegmentMessagesFactory" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="138" type="method" name="getUtteranceGenerator" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="152" type="method" name="getUtteranceStore" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="166" type="method" name="getVoiceHandler" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <metrics loc="174" ncloc="97" classes="1" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="0" elements="33" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/maintenance/benchmark.php">
      <class name="MediaWiki\Wikispeech\Benchmark" namespace="global">
        <metrics complexity="31" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="274" coveredstatements="0" elements="280" coveredelements="0"/>
      </class>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="89" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="131" type="method" name="executeSetUp" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" 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="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="163" type="method" name="executeValidateInput" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="213" type="method" name="executeSegmenting" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="246" type="method" name="executeSynthesizing" visibility="private" complexity="13" crap="182" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="361" type="method" name="execute" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="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="458" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="468" type="stmt" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <metrics loc="483" ncloc="432" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="280" coveredstatements="0" elements="286" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/maintenance/flushUtterances.php">
      <class name="MediaWiki\Wikispeech\FlushUtterances" namespace="global">
        <metrics complexity="40" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="122" coveredstatements="114" elements="124" coveredelements="115"/>
      </class>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="49" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="50" type="stmt" count="16"/>
      <line num="52" type="stmt" count="16"/>
      <line num="53" type="stmt" count="16"/>
      <line num="54" type="stmt" count="16"/>
      <line num="55" type="stmt" count="16"/>
      <line num="56" type="stmt" count="16"/>
      <line num="57" type="stmt" count="16"/>
      <line num="58" type="stmt" count="16"/>
      <line num="59" type="stmt" count="16"/>
      <line num="60" type="stmt" count="16"/>
      <line num="61" type="stmt" count="16"/>
      <line num="62" type="stmt" count="16"/>
      <line num="63" type="stmt" count="16"/>
      <line num="64" type="stmt" count="16"/>
      <line num="65" type="stmt" count="16"/>
      <line num="66" type="stmt" count="16"/>
      <line num="67" type="stmt" count="16"/>
      <line num="68" type="stmt" count="16"/>
      <line num="69" type="stmt" count="16"/>
      <line num="70" type="stmt" count="16"/>
      <line num="71" type="stmt" count="16"/>
      <line num="72" type="stmt" count="16"/>
      <line num="73" type="stmt" count="16"/>
      <line num="74" type="stmt" count="16"/>
      <line num="75" type="stmt" count="16"/>
      <line num="76" type="stmt" count="16"/>
      <line num="77" type="stmt" count="16"/>
      <line num="78" type="stmt" count="16"/>
      <line num="79" type="stmt" count="16"/>
      <line num="80" type="stmt" count="16"/>
      <line num="81" type="stmt" count="16"/>
      <line num="82" type="stmt" count="16"/>
      <line num="83" type="stmt" count="16"/>
      <line num="84" type="stmt" count="16"/>
      <line num="85" type="stmt" count="16"/>
      <line num="86" type="stmt" count="16"/>
      <line num="87" type="stmt" count="16"/>
      <line num="88" type="stmt" count="16"/>
      <line num="89" type="stmt" count="16"/>
      <line num="90" type="stmt" count="16"/>
      <line num="91" type="stmt" count="16"/>
      <line num="92" type="stmt" count="16"/>
      <line num="93" type="stmt" count="16"/>
      <line num="94" type="stmt" count="16"/>
      <line num="95" type="stmt" count="16"/>
      <line num="96" type="stmt" count="16"/>
      <line num="97" type="stmt" count="16"/>
      <line num="98" type="stmt" count="16"/>
      <line num="99" type="stmt" count="16"/>
      <line num="100" type="stmt" count="16"/>
      <line num="101" type="stmt" count="16"/>
      <line num="102" type="stmt" count="16"/>
      <line num="103" type="stmt" count="16"/>
      <line num="109" type="method" name="execute" visibility="public" complexity="39" crap="41.37" count="16"/>
      <line num="113" type="stmt" count="16"/>
      <line num="114" type="stmt" count="10"/>
      <line num="117" type="stmt" count="16"/>
      <line num="119" type="stmt" count="16"/>
      <line num="120" type="stmt" count="16"/>
      <line num="121" type="stmt" count="16"/>
      <line num="122" type="stmt" count="16"/>
      <line num="123" type="stmt" count="16"/>
      <line num="124" type="stmt" count="16"/>
      <line num="125" type="stmt" count="16"/>
      <line num="127" type="stmt" count="16"/>
      <line num="128" type="stmt" count="16"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="16"/>
      <line num="131" type="stmt" count="4"/>
      <line num="132" type="stmt" count="15"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="13"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="12"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="12"/>
      <line num="139" type="stmt" count="1"/>
      <line num="142" type="stmt" count="16"/>
      <line num="143" type="stmt" count="5"/>
      <line num="144" type="stmt" count="5"/>
      <line num="145" type="stmt" count="5"/>
      <line num="148" type="stmt" count="11"/>
      <line num="149" type="stmt" count="2"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="160" type="stmt" count="1"/>
      <line num="161" type="stmt" count="1"/>
      <line num="163" type="stmt" count="9"/>
      <line num="164" type="stmt" count="4"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="168" type="stmt" count="2"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="176" type="stmt" count="5"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="189" type="stmt" count="3"/>
      <line num="190" type="stmt" count="2"/>
      <line num="191" type="stmt" count="1"/>
      <line num="193" type="stmt" count="1"/>
      <line num="194" type="stmt" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="203" type="stmt" count="9"/>
      <line num="204" type="stmt" count="5"/>
      <line num="206" type="stmt" count="4"/>
      <line num="207" type="stmt" count="4"/>
      <line num="210" type="stmt" count="9"/>
      <line num="216" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <metrics loc="219" ncloc="190" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="128" coveredstatements="114" elements="130" coveredelements="115"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/maintenance/flushUtterancesByExpirationDateOnFile.php">
      <class name="MediaWiki\Wikispeech\FlushUtterancesByExpirationDateOnFile" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="19" elements="23" coveredelements="20"/>
      </class>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="42" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="2"/>
      <line num="45" type="stmt" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="58" type="method" name="execute" visibility="public" complexity="4" crap="4.10" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="0"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="80" type="stmt" count="2"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <metrics loc="88" ncloc="61" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="19" elements="29" coveredelements="20"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/maintenance/generatePageFile.php">
      <class name="MediaWiki\Wikispeech\GeneratePageFile" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="0" elements="43" coveredelements="0"/>
      </class>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="63" type="method" name="execute" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <metrics loc="87" ncloc="72" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="0" elements="49" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/maintenance/populateSpeechoidLexiconFromWiki.php">
      <class name="MediaWiki\Wikispeech\PopulateSpeechoidLexiconFromWiki" namespace="global">
        <metrics complexity="19" methods="4" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="43" elements="80" coveredelements="44"/>
      </class>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="45" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="55" type="method" name="execute" visibility="public" complexity="13" crap="13.95" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="63" 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="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="0"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="101" 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="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="114" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="0"/>
      <line num="137" type="method" name="getUser" visibility="protected" complexity="3" crap="7.61" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="158" type="method" name="getAllLexiconTitlesForLanguage" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <metrics loc="185" ncloc="149" classes="1" methods="4" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="80" coveredstatements="43" elements="84" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/Wikispeech/maintenance/preSynthesizeMessages.php">
      <class name="MediaWiki\Wikispeech\PreSynthesizeMessages" namespace="global">
        <metrics complexity="10" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="29" elements="61" coveredelements="31"/>
      </class>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="56" type="method" name="execute" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="82" type="method" name="synthesizeErrorMessage" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="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="120" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <metrics loc="130" ncloc="104" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="29" elements="67" coveredelements="31"/>
    </file>
    <metrics files="93" loc="13593" ncloc="8831" classes="78" methods="430" coveredmethods="121" conditionals="0" coveredconditionals="0" statements="4429" coveredstatements="2161" elements="4859" coveredelements="2282"/>
  </project>
</coverage>
