Your IP : 192.168.165.1


Current Path : C:/Users/Mahmood/Desktop/moodle/admin/
Upload File :
Current File : C:/Users/Mahmood/Desktop/moodle/admin/environment.xml

<?xml version="1.0" encoding="UTF-8" ?>
<COMPATIBILITY_MATRIX>
  <MOODLE version="1.5">
    <DATABASE level="required">
      <VENDOR name="mysql" version="3.23" />
      <VENDOR name="postgres" version="7.4" />
    </DATABASE>
    <PHP version="4.1.0" level="required" />
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="mbstring" level="optional" />
    </PHP_EXTENSIONS>
  </MOODLE>
  <MOODLE version="1.6">
    <DATABASE level="required">
      <VENDOR name="mysql" version="4.1.16">
        <FEEDBACK>
          <ON_ERROR message="mysql416required" />
        </FEEDBACK>
        <BYPASS function="bypass_mysql416_reqs" message="mysql416bypassed" />
      </VENDOR>
      <VENDOR name="postgres" version="7.4" />
    </DATABASE>
    <PHP version="4.3.0" level="required" />
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="optional">
        <FEEDBACK>
          <ON_CHECK message="iconvrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
    </PHP_EXTENSIONS>
  </MOODLE>
  <MOODLE version="1.7">
    <UNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="unicoderecommended" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mysql" version="4.1.16">
        <FEEDBACK>
          <ON_ERROR message="mysql416required" />
        </FEEDBACK>
        <BYPASS function="bypass_mysql416_reqs" message="mysql416bypassed" />
      </VENDOR>
      <VENDOR name="postgres" version="7.4" />
      <VENDOR name="mssql" version="9.0" />
      <VENDOR name="odbc_mssql" version="9.0" />
      <VENDOR name="mssql_n" version="9.0" />
      <VENDOR name="oracle" version="9.0" />
    </DATABASE>
    <PHP version="4.3.0" level="required">
      <RESTRICT function="restrict_php50_version" message="php50restricted" />
    </PHP>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="optional">
        <FEEDBACK>
          <ON_CHECK message="iconvrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
    </PHP_EXTENSIONS>
  </MOODLE>
  <MOODLE version="1.8">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mysql" version="4.1.16">
        <FEEDBACK>
          <ON_ERROR message="mysql416required" />
        </FEEDBACK>
      </VENDOR>
      <VENDOR name="postgres" version="7.4" />
      <VENDOR name="mssql" version="9.0" />
      <VENDOR name="odbc_mssql" version="9.0" />
      <VENDOR name="mssql_n" version="9.0" />
      <VENDOR name="oracle" version="9.0" />
    </DATABASE>
    <PHP version="4.3.0" level="required">
      <RESTRICT function="restrict_php50_version" message="php50restricted" />
    </PHP>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="optional">
        <FEEDBACK>
          <ON_CHECK message="iconvrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="curlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="optional">
        <FEEDBACK>
          <ON_CHECK message="ctyperecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
    </PHP_EXTENSIONS>
  </MOODLE>
  <MOODLE version="1.9">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mysql" version="4.1.16">
        <FEEDBACK>
          <ON_ERROR message="mysql416required" />
        </FEEDBACK>
      </VENDOR>
      <VENDOR name="postgres" version="8.0" />
      <VENDOR name="mssql" version="9.0" />
      <VENDOR name="odbc_mssql" version="9.0" />
      <VENDOR name="mssql_n" version="9.0" />
      <VENDOR name="oracle" version="9.0" />
    </DATABASE>
    <PHP version="4.3.0" level="required">
      <RESTRICT function="restrict_php50_version" message="php50restricted" />
    </PHP>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="optional">
        <FEEDBACK>
          <ON_CHECK message="iconvrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="curlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="optional">
        <FEEDBACK>
          <ON_CHECK message="ctyperecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
    </PHP_EXTENSIONS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="question/upgrade.php" function="question_check_no_rqp_questions" level="optional">
        <FEEDBACK>
          <ON_CHECK message="qtyperqpwillberemovedanyway" />
          <ON_OK message="qtyperqpwillberemoved" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/upgrade.php" function="question_random_check" level="optional">
        <FEEDBACK>
          <ON_OK message="questioncwqpfsok" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/customcheckslib.php" function="php_check_register_globals" level="required">
        <FEEDBACK>
          <ON_CHECK message="globalswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="2.0" requires="1.9">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mysql" version="5.0.25" />
      <VENDOR name="postgres" version="8.3" />
      <VENDOR name="mssql" version="9.0" />
      <VENDOR name="odbc_mssql" version="9.0" />
      <VENDOR name="mssql_n" version="9.0" />
      <VENDOR name="oracle" version="10.2" />
      <VENDOR name="sqlite" version="2.0" />
    </DATABASE>
    <PHP version="5.2.8" level="required">
    </PHP>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="optional">
        <FEEDBACK>
          <ON_CHECK message="gdrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="40M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="safe_mode" value="0" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingsafemode" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/customcheckslib.php" function="php_check_php533" level="optional">
        <FEEDBACK>
          <ON_CHECK message="php533warning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="2.1" requires="1.9">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mysql" version="5.0.25" />
      <VENDOR name="postgres" version="8.3" />
      <VENDOR name="mssql" version="9.0" />
      <VENDOR name="odbc_mssql" version="9.0" />
      <VENDOR name="mssql_n" version="9.0" />
      <VENDOR name="oracle" version="10.2" />
      <VENDOR name="sqlite" version="2.0" />
    </DATABASE>
    <PHP version="5.3.2" level="required">
    </PHP>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="optional">
        <FEEDBACK>
          <ON_CHECK message="gdrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="40M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="safe_mode" value="0" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingsafemode" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
  </MOODLE>
  <MOODLE version="2.2" requires="1.9">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mysql" version="5.0.25" />
      <VENDOR name="postgres" version="8.3" />
      <VENDOR name="mssql" version="9.0" />
      <VENDOR name="odbc_mssql" version="9.0" />
      <VENDOR name="mssql_n" version="9.0" />
      <VENDOR name="oracle" version="10.2" />
      <VENDOR name="sqlite" version="2.0" />
    </DATABASE>
    <PHP version="5.3.2" level="required">
    </PHP>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="optional">
        <FEEDBACK>
          <ON_CHECK message="gdrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="40M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="safe_mode" value="0" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingsafemode" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
  </MOODLE>
  <MOODLE version="2.3" requires="2.2">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mysql" version="5.1.33" />
      <VENDOR name="postgres" version="8.3" />
      <VENDOR name="mssql" version="9.0" />
      <VENDOR name="odbc_mssql" version="9.0" />
      <VENDOR name="mssql_n" version="9.0" />
      <VENDOR name="oracle" version="10.2" />
      <VENDOR name="sqlite" version="2.0" />
    </DATABASE>
    <PHP version="5.3.2" level="required">
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="optional">
        <FEEDBACK>
          <ON_CHECK message="gdrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="40M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="safe_mode" value="0" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingsafemode" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
  </MOODLE>
  <MOODLE version="2.4" requires="2.2">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mysql" version="5.1.33" />
      <VENDOR name="postgres" version="8.3" />
      <VENDOR name="mssql" version="9.0" />
      <VENDOR name="odbc_mssql" version="9.0" />
      <VENDOR name="mssql_n" version="9.0" />
      <VENDOR name="oracle" version="10.2" />
      <VENDOR name="sqlite" version="2.0" />
    </DATABASE>
    <PHP version="5.3.2" level="required">
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="optional">
        <FEEDBACK>
          <ON_CHECK message="gdrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="40M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="safe_mode" value="0" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingsafemode" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
  </MOODLE>
  <MOODLE version="2.5" requires="2.2">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mysql" version="5.1.33" />
      <VENDOR name="postgres" version="8.3" />
      <VENDOR name="mssql" version="9.0" />
      <VENDOR name="odbc_mssql" version="9.0" />
      <VENDOR name="mssql_n" version="9.0" />
      <VENDOR name="oracle" version="10.2" />
      <VENDOR name="sqlite" version="2.0" />
    </DATABASE>
    <PHP version="5.3.3" level="required">
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="40M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="safe_mode" value="0" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingsafemode" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
  </MOODLE>
  <MOODLE version="2.6" requires="2.2">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.3.5" />
      <VENDOR name="mysql" version="5.1.33" />
      <VENDOR name="postgres" version="8.3" />
      <VENDOR name="mssql" version="9.0" />
      <VENDOR name="oracle" version="10.2" />
    </DATABASE>
    <PHP version="5.3.3" level="required">
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="optional">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="64M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="safe_mode" value="0" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingsafemode" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
  </MOODLE>
  <MOODLE version="2.7" requires="2.2">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.5.31" />
      <VENDOR name="postgres" version="9.1" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="10.2" />
    </DATABASE>
    <PHP version="5.4.4" level="required">
      <RESTRICT function="restrict_php_version_7" message="unsupportedphpversion7" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="2.8" requires="2.2">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.5.31" />
      <VENDOR name="postgres" version="9.1" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="10.2" />
    </DATABASE>
    <PHP version="5.4.4" level="required">
      <RESTRICT function="restrict_php_version_7" message="unsupportedphpversion7" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="2.9" requires="2.2">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.5.31" />
      <VENDOR name="postgres" version="9.1" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="10.2" />
    </DATABASE>
    <PHP version="5.4.4" level="required">
      <RESTRICT function="restrict_php_version_7" message="unsupportedphpversion7" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="3.0" requires="2.2">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.5.31" />
      <VENDOR name="postgres" version="9.1" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="10.2" />
    </DATABASE>
    <PHP version="5.4.4" level="required">
      <RESTRICT function="restrict_php_version_71" message="unsupportedphpversion71" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="3.1" requires="2.7">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.5.31" />
      <VENDOR name="postgres" version="9.1" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="10.2" />
    </DATABASE>
    <PHP version="5.4.4" level="required">
      <RESTRICT function="restrict_php_version_71" message="unsupportedphpversion71" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlreader" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unoconvwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfileformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfilepertable" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddblargeprefix" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="3.2" requires="2.7">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.5.31" />
      <VENDOR name="postgres" version="9.1" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="10.2" />
    </DATABASE>
    <PHP version="5.6.5" level="required">
      <RESTRICT function="restrict_php_version_72" message="unsupportedphpversion72" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opensslrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlreader" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unoconvwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfileformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfilepertable" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddblargeprefix" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="3.3" requires="2.7">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.5.31" />
      <VENDOR name="postgres" version="9.3" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="10.2" />
    </DATABASE>
    <PHP version="5.6.5" level="required">
      <RESTRICT function="restrict_php_version_72" message="unsupportedphpversion72" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="required">
        <FEEDBACK>
          <ON_ERROR message="opensslrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlreader" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="optional">
        <FEEDBACK>
          <ON_CHECK message="intlrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
      <PHP_EXTENSION name="fileinfo" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unoconvwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfileformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfilepertable" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddblargeprefix" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
        <FEEDBACK>
          <ON_CHECK message="ishttpswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
        <FEEDBACK>
          <ON_CHECK message="incompleteunicodesupport" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="3.4" requires="3.0">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.5.31" />
      <VENDOR name="postgres" version="9.3" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="10.2" />
    </DATABASE>
    <PHP version="7.0.0" level="required">
      <RESTRICT function="restrict_php_version_73" message="unsupportedphpversion73" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="required">
        <FEEDBACK>
          <ON_ERROR message="opensslrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlreader" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="required">
        <FEEDBACK>
          <ON_ERROR message="intlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
      <PHP_EXTENSION name="fileinfo" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unoconvwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfileformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfilepertable" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddblargeprefix" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
        <FEEDBACK>
          <ON_CHECK message="ishttpswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
        <FEEDBACK>
          <ON_CHECK message="incompleteunicodesupport" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="3.5" requires="3.1">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.5.31" />
      <VENDOR name="postgres" version="9.3" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="10.2" />
    </DATABASE>
    <PHP version="7.0.0" level="required">
      <RESTRICT function="restrict_php_version_73" message="unsupportedphpversion73" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="required">
        <FEEDBACK>
          <ON_ERROR message="opensslrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlreader" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="required">
        <FEEDBACK>
          <ON_ERROR message="intlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
      <PHP_EXTENSION name="fileinfo" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unoconvwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfileformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfilepertable" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddblargeprefix" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
        <FEEDBACK>
          <ON_CHECK message="ishttpswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
        <FEEDBACK>
          <ON_CHECK message="incompleteunicodesupport" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="3.6" requires="3.1">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.6" />
      <VENDOR name="postgres" version="9.4" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="11.2" />
    </DATABASE>
    <PHP version="7.0.0" level="required">
      <RESTRICT function="restrict_php_version_74" message="unsupportedphpversion74" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="required">
        <FEEDBACK>
          <ON_ERROR message="opensslrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlreader" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="required">
        <FEEDBACK>
          <ON_ERROR message="intlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
      <PHP_EXTENSION name="fileinfo" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unoconvwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfileformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfilepertable" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddblargeprefix" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
        <FEEDBACK>
          <ON_CHECK message="ishttpswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
        <FEEDBACK>
          <ON_CHECK message="incompleteunicodesupport" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
        <FEEDBACK>
          <ON_CHECK message="sixtyfourbitswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="3.7" requires="3.2">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.6" />
      <VENDOR name="postgres" version="9.4" />
      <VENDOR name="mssql" version="10.0" />
      <VENDOR name="oracle" version="11.2" />
    </DATABASE>
    <PHP version="7.1.0" level="required">
      <RESTRICT function="restrict_php_version_74" message="unsupportedphpversion74" />
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="required">
        <FEEDBACK>
          <ON_ERROR message="opensslrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlreader" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="required">
        <FEEDBACK>
          <ON_ERROR message="intlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
      <PHP_EXTENSION name="fileinfo" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unoconvwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfileformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfilepertable" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddblargeprefix" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
        <FEEDBACK>
          <ON_CHECK message="ishttpswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
        <FEEDBACK>
          <ON_CHECK message="incompleteunicodesupport" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
        <FEEDBACK>
          <ON_CHECK message="sixtyfourbitswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="3.8" requires="3.2">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="5.5.31" />
      <VENDOR name="mysql" version="5.6" />
      <VENDOR name="postgres" version="9.4" />
      <VENDOR name="mssql" version="11.0" />
      <VENDOR name="oracle" version="11.2" />
    </DATABASE>
    <PHP version="7.1.0" level="required">
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="optional">
        <FEEDBACK>
          <ON_CHECK message="mbstringrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="required">
        <FEEDBACK>
          <ON_ERROR message="opensslrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlreader" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="required">
        <FEEDBACK>
          <ON_ERROR message="intlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
      <PHP_EXTENSION name="fileinfo" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unoconvwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfileformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfilepertable" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddblargeprefix" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
        <FEEDBACK>
          <ON_CHECK message="ishttpswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
        <FEEDBACK>
          <ON_CHECK message="incompleteunicodesupport" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
        <FEEDBACK>
          <ON_CHECK message="sixtyfourbitswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
  <MOODLE version="3.9" requires="3.5">
    <UNICODE level="required">
      <FEEDBACK>
        <ON_ERROR message="unicoderequired" />
      </FEEDBACK>
    </UNICODE>
    <DATABASE level="required">
      <VENDOR name="mariadb" version="10.2.29" />
      <VENDOR name="mysql" version="5.6" />
      <VENDOR name="postgres" version="9.5" />
      <VENDOR name="mssql" version="11.0" />
      <VENDOR name="oracle" version="11.2" />
    </DATABASE>
    <PHP version="7.2.0" level="required">
    </PHP>
    <PCREUNICODE level="optional">
      <FEEDBACK>
        <ON_CHECK message="pcreunicodewarning" />
      </FEEDBACK>
    </PCREUNICODE>
    <PHP_EXTENSIONS>
      <PHP_EXTENSION name="iconv" level="required">
        <FEEDBACK>
          <ON_ERROR message="iconvrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="mbstring" level="required">
        <FEEDBACK>
          <ON_ERROR message="mbstringrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="curl" level="required">
        <FEEDBACK>
          <ON_ERROR message="curlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="openssl" level="required">
        <FEEDBACK>
          <ON_ERROR message="opensslrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="tokenizer" level="optional">
        <FEEDBACK>
          <ON_CHECK message="tokenizerrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlrpc" level="optional">
        <FEEDBACK>
          <ON_CHECK message="xmlrpcrecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="soap" level="optional">
        <FEEDBACK>
          <ON_CHECK message="soaprecommended" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="ctype" level="required">
        <FEEDBACK>
          <ON_ERROR message="ctyperequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zip" level="required">
        <FEEDBACK>
          <ON_ERROR message="ziprequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="zlib" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="gd" level="required">
        <FEEDBACK>
          <ON_ERROR message="gdrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="simplexml" level="required">
        <FEEDBACK>
          <ON_ERROR message="simplexmlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="spl" level="required">
        <FEEDBACK>
          <ON_ERROR message="splrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="pcre" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="dom" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xml" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="xmlreader" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="intl" level="required">
        <FEEDBACK>
          <ON_ERROR message="intlrequired" />
        </FEEDBACK>
      </PHP_EXTENSION>
      <PHP_EXTENSION name="json" level="required">
      </PHP_EXTENSION>
      <PHP_EXTENSION name="hash" level="required"/>
      <PHP_EXTENSION name="fileinfo" level="required"/>
    </PHP_EXTENSIONS>
    <PHP_SETTINGS>
      <PHP_SETTING name="memory_limit" value="96M" level="required">
        <FEEDBACK>
          <ON_ERROR message="settingmemorylimit" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="file_uploads" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="settingfileuploads" />
        </FEEDBACK>
      </PHP_SETTING>
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
        <FEEDBACK>
          <ON_CHECK message="opcacherecommended" />
        </FEEDBACK>
      </PHP_SETTING>
    </PHP_SETTINGS>
    <CUSTOM_CHECKS>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbstorageengine" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
        <FEEDBACK>
          <ON_ERROR message="quizattemptsupgradedmessage" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
        <FEEDBACK>
          <ON_CHECK message="slashargumentswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unsupporteddbtablerowformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="unoconvwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
        <FEEDBACK>
          <ON_CHECK message="libcurlwarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfileformat" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddbfilepertable" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
        <FEEDBACK>
          <ON_ERROR message="unsupporteddblargeprefix" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
        <FEEDBACK>
          <ON_CHECK message="ishttpswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
        <FEEDBACK>
          <ON_CHECK message="incompleteunicodesupport" />
        </FEEDBACK>
      </CUSTOM_CHECK>
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
        <FEEDBACK>
          <ON_CHECK message="sixtyfourbitswarning" />
        </FEEDBACK>
      </CUSTOM_CHECK>
    </CUSTOM_CHECKS>
  </MOODLE>
</COMPATIBILITY_MATRIX>