Well, there is always room for improvement in docs.
below is output ...
remote: Enumerating objects: 3888, done.
remote: Counting objects: 100% (3888/3888), done.
remote: Compressing objects: 100% (937/937), done.
remote: Total 3888 (delta 2877), reused 3863 (delta 2852), pack-reused 0
Receiving objects: 100% (3888/3888), 1.63 MiB | 2.29 MiB/s, done.
Resolving deltas: 100% (2877/2877), completed with 783 local objects.
From git://git.moodle.org/moodle
ae4efa96ee8..4781b416316 MOODLE_402_STABLE -> origin/MOODLE_402_STABLE
9d8ec047be1..f459ae270b1 MOODLE_311_STABLE -> origin/MOODLE_311_STABLE
b90b0e6a8a3..2fa4da9aa47 MOODLE_39_STABLE -> origin/MOODLE_39_STABLE
2caed2991ed..d6707840e09 MOODLE_400_STABLE -> origin/MOODLE_400_STABLE
b2d07127484..6ca70dd59f2 MOODLE_401_STABLE -> origin/MOODLE_401_STABLE
4e632b72518..2e1c6fd43e9 master -> origin/master
Updating ae4efa96ee8..4781b416316
Fast-forward
.github/workflows/windows.yml | 144 ++
admin/tool/behat/cli/init.php | 20 +-
admin/tool/behat/cli/util.php | 13 +-
admin/tool/behat/cli/util_single_run.php | 6 +-
admin/tool/behat/upgrade.txt | 2 +
.../brickfield/classes/local/tool/advanced.php | 26 +
admin/tool/brickfield/lang/en/tool_brickfield.php | 6 +
admin/tool/brickfield/styles.
css | 105 +-
admin/tool/brickfield/templates/advanced.mustache | 202 +--
admin/tool/cohortroles/db/upgrade.php | 3 +
.../content/moodle/components/moodle-icons.md | 2 +-
admin/tool/customlang/db/upgrade.php | 3 +
admin/tool/dataprivacy/db/upgrade.php | 3 +
admin/tool/licensemanager/classes/helper.php | 25 +-
admin/tool/licensemanager/classes/manager.php | 21 +-
admin/tool/licensemanager/index.php | 6 -
admin/tool/log/db/upgrade.php | 3 +
admin/tool/log/store/database/db/upgrade.php | 3 +
admin/tool/log/store/standard/db/upgrade.php | 3 +
admin/tool/mobile/db/upgrade.php | 3 +
admin/tool/monitor/db/upgrade.php | 3 +
admin/tool/
moodlenet/db/upgrade.php | 3 +
.../tool/oauth2/tests/behat/basic_settings.feature | 24 +-
admin/tool/policy/classes/acceptances_table.php | 2 +-
admin/tool/policy/db/upgrade.php | 3 +
admin/tool/usertours/db/upgrade.php | 3 +
admin/webservice/tokens.php | 1 -
analytics/tests/manager_test.php | 77 +-
auth/cas/db/upgrade.php | 3 +
auth/db/db/upgrade.php | 3 +
auth/email/db/upgrade.php | 3 +
auth/email/tests/external/external_test.php | 6 +
auth/ldap/auth.php | 12 +
auth/ldap/db/upgrade.php | 3 +
auth/lti/db/upgrade.php | 3 +
auth/manual/db/upgrade.php | 3 +
auth/mnet/auth.php | 3 +
auth/mnet/db/upgrade.php | 3 +
auth/none/db/upgrade.php | 3 +
auth/oauth2/db/upgrade.php | 3 +
auth/
shibboleth/db/upgrade.php | 3 +
.../condition/completion/classes/frontend.php | 2 +-
backup/moodle2/backup_course_task.class.php | 1 +
backup/moodle2/backup_custom_fields.php | 2 +
backup/moodle2/backup_stepslib.php | 30 +-
backup/moodle2/restore_course_task.class.php | 1 +
backup/util/ui/renderer.php | 8 +
badges/classes/backpack_api2p1.php | 56 +-
badges/classes/backpack_api2p1_mapping.php | 6 +
badges/classes/backpack_api_mapping.php | 6 +
badges/classes/badge.php | 27 +
badges/classes/output/external_backpacks_page.php | 6 +
badges/classes/output/external_backpacks_table.php | 4 +-
badges/criteria/award_criteria.php | 18 +
blocks/badges/db/upgrade.php | 3 +
blocks/calendar_month/db/upgrade.php | 3 +
blocks/calendar_upcoming/db/upgrade.php | 3 +
blocks/completionstatus/db/upgrade.php | 3 +
blocks/course_summary/db/upgrade.php | 3 +
blocks/feedback/db/upgrade.php | 3 +
blocks/glossary_random/block_glossary_random.php | 3 +
.../glossary_random_addblock_disabled.feature | 22 +-
blocks/html/db/upgrade.php | 3 +
blocks/moodleblock.class.php | 3 -
blocks/myoverview/classes/output/main.php | 3 +
blocks/myoverview/db/upgrade.php | 3 +
blocks/navigation/db/upgrade.php | 3 +
blocks/recent_activity/db/upgrade.php | 3 +
blocks/recentlyaccesseditems/db/upgrade.php | 3 +
.../recentlyaccesseditems/tests/observer_test.php | 27 +
blocks/rss_client/db/upgrade.php | 3 +
blocks/section_links/db/upgrade.php | 3 +
blocks/selfcompletion/db/upgrade.php | 3 +
blocks/settings/db/upgrade.php | 3 +
blocks/tag_youtube/db/upgrade.php | 3 +
blocks/timeline/db/upgrade.php | 3 +
blog/locallib.php | 63 +
blog/tests/external/external_test.php | 3 +
cache/classes/config.php | 6 +
cache/classes/dummystore.php | 8 +
cache/classes/loaders.php | 13 +
calendar/amd/build/manage_subscriptions.min.js | Bin 3927 -> 3913 bytes
calendar/amd/build/manage_subscriptions.min.js.map | Bin 7013 -> 7026 bytes
calendar/amd/src/manage_subscriptions.js | 2 +-
calendar/lib.php | 12 +
calendar/tests/event_factory_test.php | 8 +-
comment/lib.php | 2 +
comment/locallib.php | 18 +
competency/classes/competency.php | 3 +
competency/tests/competency_override_test.php | 30 +
competency/tests/external/external_test.php | 7 +-
completion/completion_completion.php | 2 +
completion/criteria/completion_criteria.php | 6 +
completion/data_object.php | 3 +
completion/tests/progress_test.php | 4 +-
course/amd/build/activitychooser.min.js | Bin 8707 -> 8763 bytes
course/amd/build/activitychooser.min.js.map | Bin 23360 -> 23556 bytes
course/amd/src/activitychooser.js | 10 +
.../classes/output/local/content/section.php | 2 +
course/format/topics/db/upgrade.php | 3 +
.../tests/behat/edit_delete_sections.feature | 8 +
course/format/weeks/db/upgrade.php | 3 +
course/renderer.php | 2 +-
enrol/database/db/upgrade.php | 3 +
enrol/flatfile/db/upgrade.php | 3 +
enrol/guest/db/upgrade.php | 3 +
enrol/imsenterprise/db/upgrade.php | 3 +
enrol/ldap/lib.php | 3 +
enrol/ldap/settingslib.php | 3 +
enrol/lti/db/upgrade.php | 3 +
enrol/lti/ims-blti/OAuth.php | 8 +
enrol/lti/ims-blti/readme_moodle.txt | 2 +
enrol/manual/db/upgrade.php | 3 +
enrol/mnet/db/upgrade.php | 3 +
enrol/paypal/db/upgrade.php | 3 +
enrol/renderer.php | 5 +-
enrol/self/db/upgrade.php | 3 +
favourites/classes/local/entity/favourite.php | 3 +
.../local/repository/favourite_repository.php | 3 +-
favourites/tests/repository_test.php | 22 -
filter/displayh5p/db/upgrade.php | 3 +
filter/displayh5p/tests/behat/h5p_filter.feature | 5 +
filter/mathjaxloader/db/upgrade.php | 3 +
filter/mediaplugin/db/upgrade.php | 3 +
filter/tex/db/upgrade.php | 3 +
filter/tex/latex.php | 32 +-
filter/tex/pix.php | 2 -
grade/amd/build/searchwidget/basewidget.min.js | Bin 5974 -> 5997 bytes
grade/amd/build/searchwidget/basewidget.min.js.map | Bin 14226 -> 14363 bytes
grade/amd/src/searchwidget/basewidget.js | 6 +
grade/classes/external/get_feedback.php | 2 +-
grade/grading/form/guide/db/upgrade.php | 3 +
grade/grading/form/rubric/db/upgrade.php | 3 +
grade/lib.php | 5 +
.../report/grader/amd/build/feedback_modal.min.js | Bin 1828 -> 2009 bytes
.../grader/amd/build/feedback_modal.min.js.map | Bin 4415 -> 4718 bytes
grade/report/grader/amd/src/feedback_modal.js | 12 +-
grade/report/grader/db/upgrade.php | 3 +
grade/report/history/db/upgrade.php | 3 +
grade/report/overview/db/upgrade.php | 3 +
.../singleview/classes/external/singleview.php | 3 +-
.../summary/classes/local/entities/grade_items.php | 3 +-
grade/report/user/db/upgrade.php | 3 +
install/lang/hi/moodle.php | 1 +
install/lang/ro/install.php | 4 +-
lang/en/admin.php | 2 +-
lang/en/error.php | 2 +
lang/en/hub.php | 2 +-
lib/accesslib.php | 4 +-
lib/antivirus/clamav/db/upgrade.php | 3 +
lib/behat/lib.php | 21 +
lib/classes/check/performance/stats.php | 17 +-
lib/classes/date.php | 23 +-
lib/classes/hub/registration.php | 2 +-
lib/classes/moodlenet/moodlenet_client.php | 11 +-
lib/classes/oauth2/discovery/imsbadgeconnect.php | 10 +
lib/classes/task/question_stats_cleanup_task.php | 22 +-
lib/completionlib.php | 4 +-
lib/db/install.xml | 2 +-
lib/db/tasks.php | 3 +-
lib/db/upgrade.php | 12 +
lib/editor/atto/db/upgrade.php | 3 +
lib/editor/atto/plugins/equation/db/upgrade.php | 3 +
lib/editor/atto/plugins/recordrtc/db/upgrade.php | 3 +
.../tiny/plugins/equation/amd/build/ui.min.js | Bin 6039 -> 6025 bytes
.../tiny/plugins/equation/amd/build/ui.min.js.map | Bin 11793 -> 11806 bytes
lib/editor/tiny/plugins/equation/amd/src/ui.js | 2 +-
lib/editor/tiny/plugins/link/amd/build/link.min.js | Bin 3695 -> 3942 bytes
.../tiny/plugins/link/amd/build/link.min.js.map | Bin 9566 -> 10572 bytes
lib/editor/tiny/plugins/link/amd/src/link.js | 26 +-
.../tiny/plugins/media/classes/plugininfo.php | 2 +-
lib/external/tests/external_api_test.php | 1 +
lib/filebrowser/file_info_context_coursecat.php | 48 +-
lib/filestorage/tests/file_system_test.php | 1 +
lib/filestorage/tests/stored_file_test.php | 1 +
lib/fonts/fa-brands-400.ttf | Bin 187448 -> 187208 bytes
lib/fonts/fa-brands-400.woff2 | Bin 108000 -> 108028 bytes
lib/fonts/fa-regular-400.ttf | Bin 63728 -> 63952 bytes
lib/fonts/fa-regular-400.woff2 | Bin 24840 -> 24948 bytes
lib/fonts/fa-solid-900.ttf | Bin 394832 -> 394628 bytes
lib/fonts/fa-solid-900.woff2 | Bin 149908 -> 150124 bytes
lib/fonts/fa-v4compatibility.ttf | Bin 10172 -> 10172 bytes
lib/fonts/fa-v4compatibility.woff2 | Bin 4536 -> 4568 bytes
lib/grouplib.php | 2 +
lib/licenselib.php | 5 +-
lib/phpxmlrpc/Client.php | 1590 ++++++++++++++------
lib/phpxmlrpc/Encoder.php | 216 +--
lib/phpxmlrpc/Exception.php | 7 +
lib/phpxmlrpc/Exception/FaultResponseException.php | 12 +
lib/phpxmlrpc/Exception/HttpException.php | 5 +-
lib/phpxmlrpc/Exception/NoSuchMethodException.php | 7 +
lib/phpxmlrpc/Exception/ParsingException.php | 12 +
lib/phpxmlrpc/Exception/PhpXmlrpcException.php | 7 +-
lib/phpxmlrpc/Exception/ServerException.php | 12 +
lib/phpxmlrpc/Exception/StateErrorException.php | 12 +
lib/phpxmlrpc/Exception/TransportException.php | 12 +
lib/phpxmlrpc/Exception/TypeErrorException.php | 12 +
lib/phpxmlrpc/Exception/ValueErrorException.php | 12 +
lib/phpxmlrpc/Exception/XmlException.php | 7 +
lib/phpxmlrpc/Exception/XmlRpcException.php | 7 +
lib/phpxmlrpc/Helper/Charset.php | 126 +-
lib/phpxmlrpc/Helper/Date.php | 27 +-
lib/phpxmlrpc/Helper/Http.php | 148 +-
lib/phpxmlrpc/Helper/Interop.php | 42 +
lib/phpxmlrpc/Helper/Logger.php | 59 +-
lib/phpxmlrpc/Helper/XMLParser.php | 1108 +++++++++-----
lib/phpxmlrpc/PhpXmlRpc.php | 271 +++-
lib/phpxmlrpc/Request.php | 516 ++++---
lib/phpxmlrpc/Response.php | 213 ++-
lib/phpxmlrpc/Server.php | 976 ++++++++----
lib/phpxmlrpc/Traits/CharsetEncoderAware.php | 27 +
lib/phpxmlrpc/Traits/DeprecationLogger.php | 40 +
lib/phpxmlrpc/Traits/LoggerAware.php | 27 +
lib/phpxmlrpc/Traits/ParserAware.php | 28 +
lib/phpxmlrpc/Traits/PayloadBearer.php | 45 +
lib/phpxmlrpc/Value.php | 599 ++++----
lib/phpxmlrpc/Wrapper.php | 668 ++++----
lib/phpxmlrpc/readme_moodle.txt | 2 +-
lib/questionlib.php | 17 +-
lib/templates/search_input.mustache | 11 +-
lib/tests/completionlib_test.php | 43 +
lib/tests/hub/registration_test.php | 9 +
lib/thirdpartylibs.xml | 4 +-
login/index.php | 2 +-
media/player/videojs/classes/plugin.php | 2 +-
media/player/videojs/db/upgrade.php | 3 +
.../airnotifier/message_output_airnotifier.php | 17 +-
message/output/email/db/upgrade.php | 3 +
message/output/popup/db/upgrade.php | 3 +
message/output/popup/tests/api_test.php | 3 +
message/output/popup/tests/externallib_test.php | 3 +
mnet/lib.php | 25 +-
mod/assign/db/upgrade.php | 3 +
mod/assign/feedback/comments/db/upgrade.php | 3 +
mod/assign/feedback/editpdf/db/upgrade.php | 3 +
mod/assign/feedback/file/db/upgrade.php | 3 +
mod/assign/locallib.php | 19 +-
mod/assign/submission/comments/db/upgrade.php | 3 +
mod/assign/submission/file/db/upgrade.php | 3 +
mod/assign/submission/onlinetext/db/upgrade.php | 3 +
mod/bigbluebuttonbn/classes/instance.php | 2 +-
mod/bigbluebuttonbn/classes/output/index.php | 19 +-
mod/bigbluebuttonbn/db/upgrade.php | 3 +
mod/book/classes/external.php | 5 +-
mod/book/classes/helper.php | 44 +
mod/book/db/upgrade.php | 3 +
.../tests/behat/book_activity_completion.feature | 29 +
mod/book/tests/helper_test.php | 48 +
mod/book/view.php | 6 +-
mod/chat/db/upgrade.php | 3 +
mod/choice/db/upgrade.php | 3 +
mod/data/classes/search/entry.php | 28 +-
mod/data/db/upgrade.php | 3 +
mod/data/tests/search/search_test.php | 34 +-
mod/data/view.php | 12 +-
mod/feedback/db/upgrade.php | 3 +
mod/folder/db/upgrade.php | 3 +
mod/forum/db/upgrade.php | 3 +
mod/forum/templates/discussion_list.mustache | 22 +-
mod/glossary/db/upgrade.php | 3 +
mod/h5pactivity/classes/local/attempt.php | 1 -
mod/h5pactivity/db/upgrade.php | 3 +
mod/imscp/db/upgrade.php | 3 +
mod/label/db/upgrade.php | 3 +
mod/
lesson/db/upgrade.php | 3 +
mod/lti/OAuth.php | 5 +
mod/lti/classes/local/ltiopenid/jwks_helper.php | 5 +
mod/lti/db/upgrade.php | 3 +
mod/lti/service/gradebookservices/db/upgrade.php | 3 +
mod/page/db/upgrade.php | 3 +
mod/quiz/accessrule/seb/db/upgrade.php | 3 +
mod/quiz/db/upgrade.php | 3 +
mod/quiz/lib.php | 25 +-
mod/quiz/locallib.php | 16 +-
mod/quiz/report/overview/db/upgrade.php | 3 +
mod/quiz/report/statistics/classes/calculated.php | 6 +-
mod/quiz/report/statistics/classes/calculator.php | 28 +-
mod/quiz/report/statistics/db/upgrade.php | 3 +
mod/quiz/report/statistics/report.php | 32 +-
mod/quiz/report/statistics/statistics_table.php | 6 +-
.../statistics/tests/behat/random_essays.feature | 38 -
.../tests/behat/random_questions.feature | 58 +
mod/quiz/report/statistics/upgrade.txt | 12 +
.../tests/behat/manually_mark_question.feature | 19 +-
mod/resource/db/upgrade.php | 3 +
mod/
scorm/db/upgrade.php | 3 +
mod/survey/db/upgrade.php | 3 +
mod/url/db/upgrade.php | 3 +
mod/wiki/db/upgrade.php | 3 +
mod/workshop/db/upgrade.php | 3 +
mod/workshop/form/accumulative/db/upgrade.php | 3 +
mod/workshop/form/comments/db/upgrade.php | 3 +
mod/workshop/form/numerrors/db/upgrade.php | 3 +
mod/workshop/form/rubric/db/upgrade.php | 3 +
payment/gateway/paypal/db/upgrade.php | 3 +
portfolio/googledocs/db/upgrade.php | 3 +
portfolio/mahara/lib.php | 3 +
question/bank/deletequestion/delete.php | 7 +-
question/bank/exporttoxml/lib.php | 46 +
.../tests/behat/preview_question.feature | 27 +
.../classes/question_category_list.php | 1 +
question/bank/previewquestion/classes/helper.php | 9 +-
.../classes/columns/discrimination_index.php | 25 +-
.../classes/columns/discriminative_efficiency.php | 25 +-
.../statistics/classes/columns/facility_index.php | 25 +-
question/bank/statistics/classes/helper.php | 2 +-
.../tests/behat/statistics_values.feature | 4 +
question/bank/statistics/tests/helper_test.php | 6 +
question/bank/upgrade.txt | 10 +
question/behaviour/manualgraded/db/upgrade.php | 3 +
question/classes/local/bank/column_base.php | 16 +-
question/classes/local/bank/view.php | 83 +-
.../local/statistics/statistics_bulk_loader.php | 170 +++
question/classes/question_reference_manager.php | 77 +
.../all_calculated_for_qubaid_condition.php | 28 +-
question/classes/statistics/responses/analyser.php | 33 +-
.../responses/analysis_for_actual_response.php | 5 +-
.../statistics/responses/analysis_for_class.php | 6 +-
.../statistics/responses/analysis_for_question.php | 23 +-
.../statistics/responses/analysis_for_subpart.php | 5 +-
.../tests/question_reference_manager_test.php | 123 ++
question/tests/generator/lib.php | 8 +-
.../statistics/statistics_bulk_loader_test.php | 556 +++++++
question/tests/version_test.php | 29 +-
question/type/calculated/db/upgrade.php | 3 +
question/type/ddmarker/db/upgrade.php | 3 +
question/type/essay/db/upgrade.php | 3 +
question/type/match/db/upgrade.php | 3 +
question/type/multianswer/db/upgrade.php | 3 +
question/type/multianswer/renderer.php | 5 +-
question/type/multichoice/db/upgrade.php | 3 +
question/type/multichoice/renderer.php | 6 +-
.../type/multichoice/tests/walkthrough_test.php | 2 +-
question/type/numerical/db/upgrade.php | 3 +
question/type/random/db/upgrade.php | 3 +
question/type/randomsamatch/db/upgrade.php | 3 +
question/type/shortanswer/db/upgrade.php | 3 +
question/type/truefalse/db/upgrade.php | 3 +
question/type/truefalse/renderer.php | 6 +-
question/type/truefalse/tests/walkthrough_test.php | 2 +-
question/upgrade.txt | 24 +
rating/tests/externallib_test.php | 39 +
report/competency/classes/output/report.php | 2 +
.../classes/table/infectedfiles_table.php | 4 +
report/log/user.php | 4 -
report/outline/tests/lib_test.php | 1 -
report/participation/index.php | 1 -
.../tests/report_progress_helper_testcase.php | 3 +
.../classes/output/audience_heading_editable.php | 9 +-
.../classes/output/column_aggregation_editable.php | 9 +-
.../classes/output/column_heading_editable.php | 9 +-
.../classes/output/filter_heading_editable.php | 10 +-
.../classes/output/report_name_editable.php | 3 +-
.../classes/output/schedule_name_editable.php | 9 +-
repository/dropbox/db/upgrade.php | 3 +
repository/flickr/db/upgrade.php | 3 +
repository/googledocs/db/upgrade.php | 3 +
repository/onedrive/db/upgrade.php | 3 +
search/classes/base.php | 7 +
search/classes/base_activity.php | 3 +
search/engine/simpledb/db/upgrade.php | 3 +
.../simpledb/tests/privacy/provider_test.php | 27 +
search/tests/fixtures/mock_search_engine.php | 3 +
tag/classes/tag.php | 12 +
theme/boost/amd/build/form-display-errors.min.js | Bin 2207 -> 2216 bytes
.../boost/amd/build/form-display-errors.min.js.map | Bin 7744 -> 7768 bytes
theme/boost/amd/src/form-display-errors.js | 2 +-
theme/boost/scss/fontawesome/brands.scss | 2 +-
theme/boost/scss/fontawesome/fontawesome.scss | 2 +-
theme/boost/scss/fontawesome/readme_moodle.txt | 2 +-
theme/boost/scss/fontawesome/regular.scss | 2 +-
theme/boost/scss/fontawesome/solid.scss | 2 +-
theme/boost/scss/fontawesome/v4-shims.scss | 17 +-
theme/boost/scss/moodle/core.scss | 6 -
theme/boost/scss/moodle/course.scss | 4 +
theme/boost/style/moodle.css | 31 +-
theme/boost/thirdpartylibs.xml | 2 +-
theme/classic/style/moodle.css | 31 +-
user/classes/output/user_roles_editable.php | 4 +-
version.php | 4 +-
webservice/lib.php | 3 +
webservice/soap/locallib.php | 2 +-
382 files changed, 7953 insertions(+), 3077 deletions(-)
create mode 100644 .github/workflows/windows.yml
create mode 100644 lib/phpxmlrpc/Exception.php
create mode 100644 lib/phpxmlrpc/Exception/FaultResponseException.php
create mode 100644 lib/phpxmlrpc/Exception/NoSuchMethodException.php
create mode 100644 lib/phpxmlrpc/Exception/ParsingException.php
create mode 100644 lib/phpxmlrpc/Exception/ServerException.php
create mode 100644 lib/phpxmlrpc/Exception/StateErrorException.php
create mode 100644 lib/phpxmlrpc/Exception/TransportException.php
create mode 100644 lib/phpxmlrpc/Exception/TypeErrorException.php
create mode 100644 lib/phpxmlrpc/Exception/ValueErrorException.php
create mode 100644 lib/phpxmlrpc/Exception/XmlException.php
create mode 100644 lib/phpxmlrpc/Exception/XmlRpcException.php
create mode 100644 lib/phpxmlrpc/Helper/Interop.php
create mode 100644 lib/phpxmlrpc/Traits/CharsetEncoderAware.php
create mode 100644 lib/phpxmlrpc/Traits/DeprecationLogger.php
create mode 100644 lib/phpxmlrpc/Traits/LoggerAware.php
create mode 100644 lib/phpxmlrpc/Traits/ParserAware.php
create mode 100644 lib/phpxmlrpc/Traits/PayloadBearer.php
create mode 100644 mod/book/classes/helper.php
create mode 100644 mod/book/tests/helper_test.php
delete mode 100644 mod/quiz/report/statistics/tests/behat/random_essays.feature
create mode 100644 mod/quiz/report/statistics/tests/behat/random_questions.feature
create mode 100644 question/bank/exporttoxml/lib.php
create mode 100644 question/bank/exporttoxml/tests/behat/preview_question.feature
create mode 100644 question/classes/local/statistics/statistics_bulk_loader.php
create mode 100644 question/classes/question_reference_manager.php
create mode 100644 question/engine/tests/question_reference_manager_test.php
create mode 100644 question/tests/local/statistics/statistics_bulk_loader_test.php