Merge "Allow more fine-grained throttling of login attempts"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 26 Feb 2016 22:40:15 +0000 (22:40 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 26 Feb 2016 22:40:15 +0000 (22:40 +0000)
932 files changed:
.jscsrc
RELEASE-NOTES-1.27
autoload.php
composer.json
docs/hooks.txt
includes/DefaultSettings.php
includes/GlobalFunctions.php
includes/LinkTarget.php
includes/ListToggle.php [new file with mode: 0644]
includes/Message.php
includes/MovePage.php
includes/OutputPage.php
includes/Setup.php
includes/WatchedItem.php
includes/WatchedItemStore.php [new file with mode: 0644]
includes/actions/HistoryAction.php
includes/api/ApiQuerySearch.php
includes/api/i18n/fa.json
includes/api/i18n/nap.json
includes/cache/LinkBatch.php
includes/content/Content.php
includes/content/JsonContent.php
includes/content/MessageContent.php
includes/content/TextContent.php
includes/content/WikitextContent.php
includes/db/Database.php
includes/db/IDatabase.php
includes/htmlform/HTMLTextField.php
includes/htmlform/HTMLTitleTextField.php
includes/installer/Installer.php
includes/installer/i18n/ko.json
includes/installer/i18n/sah.json
includes/libs/objectcache/CachedBagOStuff.php
includes/libs/objectcache/HashBagOStuff.php
includes/logging/DeleteLogFormatter.php
includes/logging/PatrolLogFormatter.php
includes/logging/RightsLogFormatter.php
includes/logging/TagLogFormatter.php
includes/mail/UserMailer.php
includes/media/BMP.php
includes/media/Bitmap.php
includes/media/DjVu.php
includes/media/ImageHandler.php
includes/media/Jpeg.php
includes/media/MediaHandler.php
includes/media/SVG.php
includes/media/Tiff.php
includes/media/XCF.php
includes/page/Article.php
includes/parser/Preprocessor.php
includes/resourceloader/ResourceLoaderContext.php
includes/session/BotPasswordSessionProvider.php
includes/session/MetadataMergeException.php
includes/session/PHPSessionHandler.php
includes/session/SessionBackend.php
includes/session/SessionManager.php
includes/specials/SpecialActiveusers.php
includes/specials/SpecialContributions.php
includes/specials/SpecialEmailuser.php
includes/specials/SpecialLog.php
includes/specials/SpecialVersion.php
includes/user/User.php
languages/i18n/ar.json
languages/i18n/ba.json
languages/i18n/be-tarask.json
languages/i18n/bn.json
languages/i18n/br.json
languages/i18n/ce.json
languages/i18n/de.json
languages/i18n/en.json
languages/i18n/eo.json
languages/i18n/es.json
languages/i18n/gom-deva.json
languages/i18n/gom-latn.json
languages/i18n/he.json
languages/i18n/hy.json
languages/i18n/inh.json
languages/i18n/is.json
languages/i18n/it.json
languages/i18n/ko.json
languages/i18n/nap.json
languages/i18n/oc.json
languages/i18n/pms.json
languages/i18n/sah.json
languages/i18n/sl.json
languages/i18n/ta.json
languages/i18n/uk.json
languages/i18n/vi.json
languages/i18n/wuu.json
languages/i18n/zh-hans.json
resources/Resources.php
resources/lib/oojs-ui/i18n/nan.json [new file with mode: 0644]
resources/lib/oojs-ui/oojs-ui-apex.js
resources/lib/oojs-ui/oojs-ui-core-apex.css
resources/lib/oojs-ui/oojs-ui-core-mediawiki.css
resources/lib/oojs-ui/oojs-ui-core.js
resources/lib/oojs-ui/oojs-ui-mediawiki.js
resources/lib/oojs-ui/oojs-ui-toolbars-apex.css
resources/lib/oojs-ui/oojs-ui-toolbars-mediawiki.css
resources/lib/oojs-ui/oojs-ui-toolbars.js
resources/lib/oojs-ui/oojs-ui-widgets-apex.css
resources/lib/oojs-ui/oojs-ui-widgets-mediawiki.css
resources/lib/oojs-ui/oojs-ui-widgets.js
resources/lib/oojs-ui/oojs-ui-windows-apex.css
resources/lib/oojs-ui/oojs-ui-windows-mediawiki.css
resources/lib/oojs-ui/oojs-ui-windows.js
resources/lib/oojs-ui/themes/apex/images/icons/add.png
resources/lib/oojs-ui/themes/apex/images/icons/advanced.png
resources/lib/oojs-ui/themes/apex/images/icons/alert.png
resources/lib/oojs-ui/themes/apex/images/icons/align-center.png
resources/lib/oojs-ui/themes/apex/images/icons/align-float-left.png
resources/lib/oojs-ui/themes/apex/images/icons/align-float-right.png
resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/arrow-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/arrow-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/articleRedirect-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/articleRedirect-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/attachment-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/attachment-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/beta-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/beta.png
resources/lib/oojs-ui/themes/apex/images/icons/betaLaunch-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/betaLaunch.png
resources/lib/oojs-ui/themes/apex/images/icons/bigger-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/bigger-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/block.png
resources/lib/oojs-ui/themes/apex/images/icons/blockUndo-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/blockUndo-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-a.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-ain.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-dad.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-armn-to.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-b.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-be.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-te.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-zhe.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-f.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-g.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-geor-man.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-l.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-n.png
resources/lib/oojs-ui/themes/apex/images/icons/bold-v.png
resources/lib/oojs-ui/themes/apex/images/icons/bookmark-ltr-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/bookmark-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/bookmark-rtl-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/bookmark-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/browser-ltr-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/browser-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/browser-rtl-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/browser-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/calendar-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/calendar-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/cancel.png
resources/lib/oojs-ui/themes/apex/images/icons/caret-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/caret-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/caretDown.png
resources/lib/oojs-ui/themes/apex/images/icons/caretUp.png
resources/lib/oojs-ui/themes/apex/images/icons/case-sensitive.png
resources/lib/oojs-ui/themes/apex/images/icons/check.png
resources/lib/oojs-ui/themes/apex/images/icons/circle.png
resources/lib/oojs-ui/themes/apex/images/icons/clear-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/clear.png
resources/lib/oojs-ui/themes/apex/images/icons/clock-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/clock.png
resources/lib/oojs-ui/themes/apex/images/icons/close.png
resources/lib/oojs-ui/themes/apex/images/icons/code.png
resources/lib/oojs-ui/themes/apex/images/icons/collapse.png
resources/lib/oojs-ui/themes/apex/images/icons/comment.png
resources/lib/oojs-ui/themes/apex/images/icons/downTriangle.png
resources/lib/oojs-ui/themes/apex/images/icons/edit-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/edit-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/editLock-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/editLock-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/editUndo-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/editUndo-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/ellipsis.png
resources/lib/oojs-ui/themes/apex/images/icons/expand.png
resources/lib/oojs-ui/themes/apex/images/icons/external-link-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/external-link-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/find-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/find-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/flag-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/flag-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/flagUndo-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/flagUndo-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/funnel-ltr-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/funnel-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/funnel-rtl-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/funnel-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/heart-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/heart.png
resources/lib/oojs-ui/themes/apex/images/icons/help-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/help-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/history.png
resources/lib/oojs-ui/themes/apex/images/icons/image.png
resources/lib/oojs-ui/themes/apex/images/icons/imageGallery-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/imageGallery-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/indent-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/indent-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/info.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-a.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-keheh-jeem.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-meem.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-armn-sha.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-c.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-d.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-e.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-geor-kan.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-i.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-k.png
resources/lib/oojs-ui/themes/apex/images/icons/italic-s.png
resources/lib/oojs-ui/themes/apex/images/icons/key-ltr-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/key-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/key-rtl-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/key-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/keyboard-ltr-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/keyboard-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/keyboard-rtl-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/keyboard-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/language-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/language-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/layout-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/layout-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/link.png
resources/lib/oojs-ui/themes/apex/images/icons/listBullet-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/listBullet-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/listNumbered-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/listNumbered-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/lock.png
resources/lib/oojs-ui/themes/apex/images/icons/logOut-ltr-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/logOut-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/logOut-rtl-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/logOut-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/menu.png
resources/lib/oojs-ui/themes/apex/images/icons/move-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/move.png
resources/lib/oojs-ui/themes/apex/images/icons/newWindow-ltr-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/newWindow-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/newWindow-rtl-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/newWindow-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/newline-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/newline-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/noWikiText-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/noWikiText-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/notice.png
resources/lib/oojs-ui/themes/apex/images/icons/outdent-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/outdent-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/outline-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/outline-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/printer-ltr-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/printer-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/printer-rtl-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/printer-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/puzzle-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/puzzle-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/quotes-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/quotes-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/quotesAdd-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/quotesAdd-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/regular-expression.png
resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize.png
resources/lib/oojs-ui/themes/apex/images/icons/search.png
resources/lib/oojs-ui/themes/apex/images/icons/secure-link.png
resources/lib/oojs-ui/themes/apex/images/icons/settings.png
resources/lib/oojs-ui/themes/apex/images/icons/smaller-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/smaller-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/specialCharacter.png
resources/lib/oojs-ui/themes/apex/images/icons/star.png
resources/lib/oojs-ui/themes/apex/images/icons/strikethrough-a.png
resources/lib/oojs-ui/themes/apex/images/icons/strikethrough-s.png
resources/lib/oojs-ui/themes/apex/images/icons/strikethrough-y.png
resources/lib/oojs-ui/themes/apex/images/icons/subscript-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/subscript-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/sun-ltr-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/sun-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/sun-rtl-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/sun-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/superscript-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/superscript-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/table-caption.png
resources/lib/oojs-ui/themes/apex/images/icons/table-insert-column-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/table-insert-column-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/table-insert-row-after.png
resources/lib/oojs-ui/themes/apex/images/icons/table-insert-row-before.png
resources/lib/oojs-ui/themes/apex/images/icons/table-merge-cells.png
resources/lib/oojs-ui/themes/apex/images/icons/table.png
resources/lib/oojs-ui/themes/apex/images/icons/tag.png
resources/lib/oojs-ui/themes/apex/images/icons/templateAdd-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/templateAdd-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/text-dir-lefttoright.png
resources/lib/oojs-ui/themes/apex/images/icons/text-dir-righttoleft.png
resources/lib/oojs-ui/themes/apex/images/icons/text-style.png
resources/lib/oojs-ui/themes/apex/images/icons/trash.png
resources/lib/oojs-ui/themes/apex/images/icons/trashUndo-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/trashUndo-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/unLock-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/unLock-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/unStar.png
resources/lib/oojs-ui/themes/apex/images/icons/underline-a.png
resources/lib/oojs-ui/themes/apex/images/icons/underline-u.png
resources/lib/oojs-ui/themes/apex/images/icons/upTriangle.png
resources/lib/oojs-ui/themes/apex/images/icons/upload-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/upload-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/watchlist-ltr-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/watchlist-ltr.png
resources/lib/oojs-ui/themes/apex/images/icons/watchlist-rtl-invert.png
resources/lib/oojs-ui/themes/apex/images/icons/watchlist-rtl.png
resources/lib/oojs-ui/themes/apex/images/icons/wikiText.png
resources/lib/oojs-ui/themes/apex/images/icons/window.png
resources/lib/oojs-ui/themes/apex/images/indicators/alert.png
resources/lib/oojs-ui/themes/apex/images/indicators/arrow-down.png
resources/lib/oojs-ui/themes/apex/images/indicators/arrow-ltr.png
resources/lib/oojs-ui/themes/apex/images/indicators/arrow-rtl.png
resources/lib/oojs-ui/themes/apex/images/indicators/arrow-up.png
resources/lib/oojs-ui/themes/apex/images/indicators/clear.png
resources/lib/oojs-ui/themes/apex/images/indicators/required.png
resources/lib/oojs-ui/themes/apex/images/indicators/search-ltr.png
resources/lib/oojs-ui/themes/apex/images/indicators/search-rtl.png
resources/lib/oojs-ui/themes/apex/images/textures/transparency.png
resources/lib/oojs-ui/themes/apex/images/toolbar-shadow.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/add-constructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/add-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/add.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-warning.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/alert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/align-center-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/align-center.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-left-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-left.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-right-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-right.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/article-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/article-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/article-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/article-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bell-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bell.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/beta.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/betaLaunch-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/betaLaunch.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/block-destructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/block-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/block.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-a-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-a.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-b-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-b.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-be-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-be.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-te-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-te.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-f-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-f.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-geor-man-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-geor-man.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-l-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-l.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-n-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-n.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-v-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-v.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/book-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/book-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/book-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/book-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bright-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/bright.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel-destructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/caretDown-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/caretDown.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/caretUp-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/caretUp.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/check-constructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/check-destructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/check-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/check-progressive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/check.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/circle-constructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/circle-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/circle.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/clear-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/clear.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/clock-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/clock.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/close-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/close-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/close-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/close-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/code-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/code.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/collapse-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/collapse.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/comment-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/comment.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/die-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/die-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/die-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/die-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/downTriangle-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/downTriangle.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/download-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/download-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/download-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/download-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-ltr-progressive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-rtl-progressive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/ellipsis-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/ellipsis.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/expand-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/expand.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/eye-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/eye-invert.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/eye.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/eye.svg
resources/lib/oojs-ui/themes/mediawiki/images/icons/eyeClosed-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/eyeClosed.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/halfBright-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/halfBright.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/heart-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/heart.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/help-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/help-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/help-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/help-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/history-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/history.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/image-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/image-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/image-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/image-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/info-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/info.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-a-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-a.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-e-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-e.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-i-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-i.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-k-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-k.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/key-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/key-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/key-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/key-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/language-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/language-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/language-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/language-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/link-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/link-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/link-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/link-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr-destructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl-destructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-cc-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-cc.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikimediaCommons-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikimediaCommons.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikipedia-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikipedia.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/map-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/map-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/map-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/map-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPin-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPin.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/menu-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/menu.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/message-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/message-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/message-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/message-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/moon-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/moon.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/move-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/move-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/move-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/move.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/notBright-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/notBright.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/notice-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/notice.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-progressive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-progressive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/play-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/play-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/play-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/play-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/search-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/search-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/search-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/search-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/secure-link-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/secure-link.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/settings-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/settings.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/star-constructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/star-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/star.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stop-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stop.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-a-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-a.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-s-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-s.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-y-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-y.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSideMenu-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSideMenu.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-ltr-progressive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-rtl-progressive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-caption-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-caption.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-after-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-after.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-before-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-before.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-merge-cells-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table-merge-cells.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/table.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-constructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-destructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-progressive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-warning.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/tag.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-lefttoright-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-lefttoright.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-righttoleft-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-righttoleft.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/text-style-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/text-style.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/trash-destructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/trash-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/trash.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr-destructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl-destructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/unStar-constructive.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/unStar-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/unStar.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-u-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-u.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/upTriangle-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/upTriangle.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userAvatar-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userAvatar.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/viewCompact-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/viewCompact.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/visionSimulator-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/visionSimulator.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/wikiText-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/wikiText.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/window-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/icons/window.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/required-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/required.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-invert.png
resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl.png
resources/lib/oojs-ui/themes/mediawiki/images/textures/transparency.png
resources/src/mediawiki.special/mediawiki.special.apisandbox.css
resources/src/mediawiki.special/mediawiki.special.apisandbox.js
resources/src/mediawiki.ui/components/buttons.less
resources/src/mediawiki/api/upload.js
resources/src/mediawiki/mediawiki.searchSuggest.js
tests/parser/parserTest.inc
tests/parser/parserTests.txt
tests/parserTests.php
tests/phpunit/includes/WatchedItemStoreTest.php [new file with mode: 0644]
tests/phpunit/includes/debug/logger/LegacyLoggerTest.php
tests/phpunit/includes/debug/logger/MonologSpiTest.php
tests/phpunit/includes/debug/logger/monolog/LineFormatterTest.php
tests/phpunit/includes/filebackend/SwiftFileBackendTest.php
tests/phpunit/includes/libs/ProcessCacheLRUTest.php
tests/phpunit/includes/libs/objectcache/CachedBagOStuffTest.php
tests/phpunit/includes/media/ExifBitmapTest.php
tests/phpunit/includes/media/XMPTest.php
tests/phpunit/includes/page/ArticleTest.php
tests/phpunit/includes/parser/NewParserTest.php
tests/phpunit/includes/password/BcryptPasswordTest.php
tests/phpunit/includes/registration/ExtensionProcessorTest.php
tests/phpunit/includes/session/BotPasswordSessionProviderTest.php
tests/phpunit/includes/session/CookieSessionProviderTest.php
tests/phpunit/includes/session/MetadataMergeExceptionTest.php [new file with mode: 0644]
tests/phpunit/includes/session/SessionBackendTest.php
tests/phpunit/includes/session/SessionManagerTest.php
tests/phpunit/includes/session/SessionProviderTest.php
tests/phpunit/includes/utils/FileContentsHasherTest.php
tests/phpunit/includes/utils/UIDGeneratorTest.php
tests/phpunit/mocks/content/DummyContentForTesting.php
tests/phpunit/mocks/content/DummyNonTextContent.php
tests/phpunit/phpunit.php
tests/phpunit/suite.xml

diff --git a/.jscsrc b/.jscsrc
index 3b94b90..116c5cf 100644 (file)
--- a/.jscsrc
+++ b/.jscsrc
                "checkAnnotations": {
                        "preset": "jsduck5",
                        "extra": {
-                               "context": true,
-                               "source": true,
-                               "see": true,
-                               "private": true
+                               "context": "some",
+                               "source": "some",
+                               "see": "some"
                        }
                },
                "checkParamNames": true,
index 3a83b36..867abd7 100644 (file)
@@ -317,6 +317,8 @@ changes to languages because of Phabricator reports.
   rather than consume everything until the end of the page.
 * New maintenance script resetUserEmail.php allows sysadmins to reset user emails in case
   a user forgot password/account was stolen.
+* wfCheckEntropy() was removed (deprecated in 1.27).
+* Browser support for Internet Explorer 8 lowered from Grade A to Grade C.
 
 == Compatibility ==
 
index 341cb90..5ec6218 100644 (file)
@@ -703,6 +703,7 @@ $wgAutoloadLocalClasses = [
        'LinksDeletionUpdate' => __DIR__ . '/includes/deferred/LinksDeletionUpdate.php',
        'LinksUpdate' => __DIR__ . '/includes/deferred/LinksUpdate.php',
        'ListDuplicatedFilesPage' => __DIR__ . '/includes/specials/SpecialListDuplicatedFiles.php',
+       'ListToggle' => __DIR__ . '/includes/ListToggle.php',
        'ListVariants' => __DIR__ . '/maintenance/language/listVariants.php',
        'ListredirectsPage' => __DIR__ . '/includes/specials/SpecialListredirects.php',
        'LoadBalancer' => __DIR__ . '/includes/db/loadbalancer/LoadBalancer.php',
@@ -1401,6 +1402,7 @@ $wgAutoloadLocalClasses = [
        'WantedTemplatesPage' => __DIR__ . '/includes/specials/SpecialWantedtemplates.php',
        'WatchAction' => __DIR__ . '/includes/actions/WatchAction.php',
        'WatchedItem' => __DIR__ . '/includes/WatchedItem.php',
+       'WatchedItemStore' => __DIR__ . '/includes/WatchedItemStore.php',
        'WatchlistCleanup' => __DIR__ . '/maintenance/cleanupWatchlist.php',
        'WebInstaller' => __DIR__ . '/includes/installer/WebInstaller.php',
        'WebInstallerComplete' => __DIR__ . '/includes/installer/WebInstallerComplete.php',
index f114914..1270311 100644 (file)
@@ -21,7 +21,7 @@
                "ext-iconv": "*",
                "liuggio/statsd-php-client": "1.0.18",
                "mediawiki/at-ease": "1.1.0",
-               "oojs/oojs-ui": "0.15.4",
+               "oojs/oojs-ui": "0.16.0",
                "oyejorge/less.php": "1.7.0.10",
                "php": ">=5.5.9",
                "psr/log": "1.0.0",
@@ -45,7 +45,7 @@
                "monolog/monolog": "~1.17.2",
                "nikic/php-parser": "1.4.1",
                "nmred/kafka-php": "0.1.5",
-               "phpunit/phpunit": "3.7.37",
+               "phpunit/phpunit": "4.8.23",
                "wikimedia/avro": "1.7.7"
        },
        "suggest": {
index 930aa0a..8955f54 100644 (file)
@@ -3066,6 +3066,11 @@ $old: old title
 $nt: new title
 $user: user who does the move
 
+'TitleMoveStarting': Before moving an article (title), but just after the atomic DB section starts.
+$old: old title
+$nt: new title
+$user: user who does the move
+
 'TitleMoveComplete': After moving an article (title), post-commit.
 &$old: old title
 &$nt: new title
index 1e713e5..41bf42b 100644 (file)
@@ -2294,6 +2294,14 @@ $wgSessionHandler = null;
 
 /**
  * Whether to use PHP session handling ($_SESSION and session_*() functions)
+ *
+ * If the constant MW_NO_SESSION is defined, this is forced to 'disable'.
+ *
+ * If the constant MW_NO_SESSION_HANDLER is defined, this is ignored and PHP
+ * session handling will function independently of SessionHandler.
+ * SessionHandler and PHP's session handling may attempt to override each
+ * others' cookies.
+ *
  * @since 1.27
  * @var string
  *  - 'enable': Integrate with PHP's session handling as much as possible.
@@ -2302,28 +2310,6 @@ $wgSessionHandler = null;
  */
 $wgPHPSessionHandling = 'enable';
 
-/**
- * The number of different IPs in the same session within a period of $wgSuspiciousIpExpiry
- * that should cause warnings to be logged. This is meant more for debugging errors in the
- * authentication system than for detecting abuse.
- * @since 1.27
- */
-$wgSuspiciousIpPerSessionLimit = 2;
-
-/**
- * Like $wgSuspiciousIpPerSessionLimit but over all requests from the same user within
- * $wgSuspiciousIpExpiry, whether they are in the same session or not.
- * @since 1.27
- */
-$wgSuspiciousIpPerUserLimit = 5;
-
-/**
- * Time in seconds to remember IPs for, for the purposes of $wgSuspiciousIpPerSessionLimit and
- * $wgSuspiciousIpPerUserLimit.
- * @since 1.27
- */
-$wgSuspiciousIpExpiry = 600;
-
 /**
  * If enabled, will send MemCached debugging information to $wgDebugLogFile
  */
index ac1dd6d..eb174f2 100644 (file)
@@ -2988,22 +2988,6 @@ function wfBaseConvert( $input, $sourceBase, $destBase, $pad = 1,
        return Wikimedia\base_convert( $input, $sourceBase, $destBase, $pad, $lowercase, $engine );
 }
 
-/**
- * Check if there is sufficient entropy in php's built-in session generation
- *
- * @deprecated since 1.27, PHP's session generation isn't used with
- *  MediaWiki\\Session\\SessionManager
- * @return bool True = there is sufficient entropy
- */
-function wfCheckEntropy() {
-       wfDeprecated( __FUNCTION__, '1.27' );
-       return (
-                       ( wfIsWindows() && version_compare( PHP_VERSION, '5.3.3', '>=' ) )
-                       || ini_get( 'session.entropy_file' )
-               )
-               && intval( ini_get( 'session.entropy_length' ) ) >= 32;
-}
-
 /**
  * @deprecated since 1.27, PHP's session generation isn't used with
  *  MediaWiki\\Session\\SessionManager
@@ -3046,12 +3030,6 @@ function wfResetSessionID() {
 function wfSetupSession( $sessionId = false ) {
        wfDeprecated( __FUNCTION__, '1.27' );
 
-       // If they're calling this, they probably want our session management even
-       // if NO_SESSION was set for Setup.php.
-       if ( !MediaWiki\Session\PHPSessionHandler::isInstalled() ) {
-               MediaWiki\Session\PHPSessionHandler::install( SessionManager::singleton() );
-       }
-
        if ( $sessionId ) {
                session_id( $sessionId );
        }
index 1ce5f32..175a839 100644 (file)
@@ -8,29 +8,28 @@
 interface LinkTarget {
 
        /**
-        * Get the namespace index
+        * Get the namespace index.
         *
         * @return int Namespace index
         */
        public function getNamespace();
 
        /**
-        * Get the link fragment (i.e.\ the bit after the #) in text form
+        * Get the link fragment (i.e. the bit after the #) in text form.
         *
         * @return string link fragment
         */
        public function getFragment();
 
        /**
-        * Get the main part with underscores
+        * Get the main part with underscores.
         *
-        * @return string Main part of the link, with underscores (for use in hrf attributes)
+        * @return string Main part of the link, with underscores (for use in href attributes)
         */
        public function getDBkey();
 
        /**
-        * Returns the link in text form,
-        * without namespace prefix or fragment.
+        * Returns the link in text form, without namespace prefix or fragment.
         *
         * This is computed from the DB key by replacing any underscores with spaces.
         *
diff --git a/includes/ListToggle.php b/includes/ListToggle.php
new file mode 100644 (file)
index 0000000..4733dfb
--- /dev/null
@@ -0,0 +1,68 @@
+<?php
+/**
+ * Class for generating clickable toggle links for a list of checkboxes.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Class for generating clickable toggle links for a list of checkboxes.
+ *
+ * This is only supported on clients that have JavaScript enabled; it is hidden
+ * for clients that have it disabled.
+ *
+ * @since 1.27
+ */
+class ListToggle {
+       /** @var OutputPage */
+       private $output;
+
+       public function __construct( OutputPage $output ) {
+               $this->output = $output;
+
+               $output->addModules( 'mediawiki.checkboxtoggle' );
+               $output->addModuleStyles( 'mediawiki.checkboxtoggle.styles' );
+       }
+
+       private function checkboxLink( $checkboxType ) {
+               return Html::element(
+                       'a', [ 'href' => '#', 'class' => 'mw-checkbox-' . $checkboxType ],
+                       $this->output->msg( 'checkbox-' . $checkboxType )->text()
+               );
+       }
+
+       /**
+        * @return string
+        */
+       public function getHTML() {
+               // Select: All, None, Invert
+               $links = [
+                       $this->checkboxLink( 'all' ),
+                       $this->checkboxLink( 'none' ),
+                       $this->checkboxLink( 'invert' ),
+               ];
+
+               return Html::rawElement( 'div',
+                       [
+                               'class' => 'mw-checkbox-toggle-controls'
+                       ],
+                       $this->output->msg( 'checkbox-select' )
+                               ->rawParams( $this->output->getLanguage()->commaList( $links ) )->escaped()
+               );
+       }
+}
index 4056f38..9d5f5e6 100644 (file)
@@ -810,7 +810,7 @@ class Message implements MessageSpecifier, Serializable {
 
        /**
         * Magic method implementation of the above (for PHP >= 5.2.0), so we can do, eg:
-        *     $foo = Message::get( $key );
+        *     $foo = new Message( $key );
         *     $string = "<abbr>$foo</abbr>";
         *
         * @since 1.18
index 6d69eaa..afa4e1c 100644 (file)
@@ -248,6 +248,9 @@ class MovePage {
                }
 
                $dbw->startAtomic( __METHOD__ );
+
+               Hooks::run( 'TitleMoveStarting', [ $this->oldTitle, $this->newTitle, $user ] );
+
                $pageid = $this->oldTitle->getArticleID( Title::GAID_FOR_UPDATE );
                $protected = $this->oldTitle->isProtected();
 
index 2570cfb..5d1d5d0 100644 (file)
@@ -3870,13 +3870,20 @@ class OutputPage extends ContextSource {
         */
        public static function transformResourcePath( Config $config, $path ) {
                global $IP;
-               $remotePath = $config->get( 'ResourceBasePath' );
+               $remotePathPrefix = $config->get( 'ResourceBasePath' );
+               if ( $remotePathPrefix === '' ) {
+                       // The configured base path is required to be empty string for
+                       // wikis in the domain root
+                       $remotePath = '/';
+               } else {
+                       $remotePath = $remotePathPrefix;
+               }
                if ( strpos( $path, $remotePath ) !== 0 ) {
                        // Path is outside wgResourceBasePath, ignore.
                        return $path;
                }
                $path = RelPath\getRelativePath( $path, $remotePath );
-               return self::transformFilePath( $remotePath, $IP, $path );
+               return self::transformFilePath( $remotePathPrefix, $IP, $path );
        }
 
        /**
@@ -3885,18 +3892,18 @@ class OutputPage extends ContextSource {
         * Caller is responsible for ensuring the file exists. Emits a PHP warning otherwise.
         *
         * @since 1.27
-        * @param string $remotePath URL path that points to $localPath
+        * @param string $remotePath URL path prefix that points to $localPath
         * @param string $localPath File directory exposed at $remotePath
         * @param string $file Path to target file relative to $localPath
         * @return string URL
         */
-       public static function transformFilePath( $remotePath, $localPath, $file ) {
+       public static function transformFilePath( $remotePathPrefix, $localPath, $file ) {
                $hash = md5_file( "$localPath/$file" );
                if ( $hash === false ) {
                        wfLogWarning( __METHOD__ . ": Failed to hash $localPath/$file" );
                        $hash = '';
                }
-               return "$remotePath/$file?" . substr( $hash, 0, 5 );
+               return "$remotePathPrefix/$file?" . substr( $hash, 0, 5 );
        }
 
        /**
index 4854727..189855e 100644 (file)
@@ -517,6 +517,11 @@ if ( $wgPHPSessionHandling !== 'enable' &&
 ) {
        $wgPHPSessionHandling = 'warn';
 }
+if ( defined( 'MW_NO_SESSION' ) ) {
+       // If the entry point wants no session, force 'disable' here unless they
+       // specifically set it to the (undocumented) 'warn'.
+       $wgPHPSessionHandling = MW_NO_SESSION === 'warn' ? 'warn' : 'disable';
+}
 
 Profiler::instance()->scopedProfileOut( $ps_default );
 
@@ -702,10 +707,13 @@ if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) {
                session_name( $wgSessionName ? $wgSessionName : $wgCookiePrefix . '_session' );
        }
 
-       // Create the SessionManager singleton and set up our session handler
-       MediaWiki\Session\PHPSessionHandler::install(
-               MediaWiki\Session\SessionManager::singleton()
-       );
+       // Create the SessionManager singleton and set up our session handler,
+       // unless we're specifically asked not to.
+       if ( !defined( 'MW_NO_SESSION_HANDLER' ) ) {
+               MediaWiki\Session\PHPSessionHandler::install(
+                       MediaWiki\Session\SessionManager::singleton()
+               );
+       }
 
        // Initialize the session
        try {
@@ -740,6 +748,16 @@ if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) {
                session_id( $session->getId() );
                MediaWiki\quietCall( 'session_start' );
        }
+
+       unset( $session );
+} else {
+       // Even if we didn't set up a global Session, still install our session
+       // handler unless specifically requested not to.
+       if ( !defined( 'MW_NO_SESSION_HANDLER' ) ) {
+               MediaWiki\Session\PHPSessionHandler::install(
+                       MediaWiki\Session\SessionManager::singleton()
+               );
+       }
 }
 Profiler::instance()->scopedProfileOut( $ps_session );
 
@@ -809,10 +827,5 @@ if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) {
 wfDebug( "Fully initialised\n" );
 $wgFullyInitialised = true;
 
-// T125455
-if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) {
-       MediaWiki\Session\SessionManager::singleton()->checkIpLimits();
-}
-
 Profiler::instance()->scopedProfileOut( $ps_extensions );
 Profiler::instance()->scopedProfileOut( $ps_setup );
index 2c400d0..b597f99 100644 (file)
@@ -379,63 +379,15 @@ class WatchedItem {
        }
 
        /**
-        * Check if the given title already is watched by the user, and if so
-        * add watches on a new title. To be used for page renames and such.
+        * @deprecated since 1.27. See WatchedItemStore::duplicateEntry
         *
-        * @param Title $ot Page title to duplicate entries from, if present
-        * @param Title $nt Page title to add watches on
+        * @param Title $oldTitle
+        * @param Title $newTitle
         */
-       public static function duplicateEntries( $ot, $nt ) {
-               WatchedItem::doDuplicateEntries( $ot->getSubjectPage(), $nt->getSubjectPage() );
-               WatchedItem::doDuplicateEntries( $ot->getTalkPage(), $nt->getTalkPage() );
+       public static function duplicateEntries( Title $oldTitle, Title $newTitle ) {
+               $store = WatchedItemStore::getDefaultInstance();
+               $store->duplicateEntry( $oldTitle->getSubjectPage(), $newTitle->getSubjectPage() );
+               $store->duplicateEntry( $oldTitle->getTalkPage(), $newTitle->getTalkPage() );
        }
 
-       /**
-        * Handle duplicate entries. Backend for duplicateEntries().
-        *
-        * @param Title $ot
-        * @param Title $nt
-        *
-        * @return bool
-        */
-       private static function doDuplicateEntries( $ot, $nt ) {
-               $oldnamespace = $ot->getNamespace();
-               $newnamespace = $nt->getNamespace();
-               $oldtitle = $ot->getDBkey();
-               $newtitle = $nt->getDBkey();
-
-               $dbw = wfGetDB( DB_MASTER );
-               $res = $dbw->select( 'watchlist',
-                       [ 'wl_user', 'wl_notificationtimestamp' ],
-                       [ 'wl_namespace' => $oldnamespace, 'wl_title' => $oldtitle ],
-                       __METHOD__, 'FOR UPDATE'
-               );
-               # Construct array to replace into the watchlist
-               $values = [];
-               foreach ( $res as $s ) {
-                       $values[] = [
-                               'wl_user' => $s->wl_user,
-                               'wl_namespace' => $newnamespace,
-                               'wl_title' => $newtitle,
-                               'wl_notificationtimestamp' => $s->wl_notificationtimestamp,
-                       ];
-               }
-
-               if ( empty( $values ) ) {
-                       // Nothing to do
-                       return true;
-               }
-
-               # Perform replace
-               # Note that multi-row replace is very efficient for MySQL but may be inefficient for
-               # some other DBMSes, mostly due to poor simulation by us
-               $dbw->replace(
-                       'watchlist',
-                       [ [ 'wl_user', 'wl_namespace', 'wl_title' ] ],
-                       $values,
-                       __METHOD__
-               );
-
-               return true;
-       }
 }
diff --git a/includes/WatchedItemStore.php b/includes/WatchedItemStore.php
new file mode 100644 (file)
index 0000000..83a5856
--- /dev/null
@@ -0,0 +1,86 @@
+<?php
+
+/**
+ * Storage layer class for WatchedItems.
+ * Database interaction
+ *
+ * @author Addshore
+ *
+ * @since 1.27
+ */
+class WatchedItemStore {
+
+       /**
+        * @var LoadBalancer
+        */
+       private $loadBalancer;
+
+       public function __construct( LoadBalancer $loadBalancer ) {
+               $this->loadBalancer = $loadBalancer;
+       }
+
+       /**
+        * @return self
+        */
+       public static function getDefaultInstance() {
+               static $instance;
+               if ( !$instance ) {
+                       $instance = new self( wfGetLB() );
+               }
+               return $instance;
+       }
+
+       /**
+        * Check if the given title already is watched by the user, and if so
+        * add a watch for the new title.
+        *
+        * To be used for page renames and such.
+        * This must be called separately for Subject and Talk pages
+        *
+        * @param LinkTarget $oldTarget
+        * @param LinkTarget $newTarget
+        */
+       public function duplicateEntry( LinkTarget $oldTarget, LinkTarget $newTarget ) {
+               $dbw = $this->loadBalancer->getConnection( DB_MASTER, [ 'watchlist' ] );
+
+               $result = $dbw->select(
+                       'watchlist',
+                       [ 'wl_user', 'wl_notificationtimestamp' ],
+                       [
+                               'wl_namespace' => $oldTarget->getNamespace(),
+                               'wl_title' => $oldTarget->getDBkey(),
+                       ],
+                       __METHOD__,
+                       [ 'FOR UPDATE' ]
+               );
+
+               $newNamespace = $newTarget->getNamespace();
+               $newDBkey = $newTarget->getDBkey();
+
+               # Construct array to replace into the watchlist
+               $values = [];
+               foreach ( $result as $row ) {
+                       $values[] = [
+                               'wl_user' => $row->wl_user,
+                               'wl_namespace' => $newNamespace,
+                               'wl_title' => $newDBkey,
+                               'wl_notificationtimestamp' => $row->wl_notificationtimestamp,
+                       ];
+               }
+
+               if ( !empty( $values ) ) {
+                       # Perform replace
+                       # Note that multi-row replace is very efficient for MySQL but may be inefficient for
+                       # some other DBMSes, mostly due to poor simulation by us
+                       $dbw->replace(
+                               'watchlist',
+                               [ [ 'wl_user', 'wl_namespace', 'wl_title' ] ],
+                               $values,
+                               __METHOD__
+                       );
+               }
+
+               $this->loadBalancer->reuseConnection( $dbw );
+       }
+
+}
index 073b3ca..6f1f3e8 100644 (file)
@@ -517,6 +517,11 @@ class HistoryPager extends ReverseChronologicalPager {
                        $this->buttons .= Xml::tags( 'div', [ 'class' =>
                                'mw-history-revisionactions' ], $actionButtons );
                }
+
+               if ( $user->isAllowed( 'deleterevision' ) || $this->showTagEditUI ) {
+                       $this->buttons .= ( new ListToggle( $this->getOutput() ) )->getHTML();
+               }
+
                $this->buttons .= '</div>';
 
                $s .= $this->buttons;
index 44b3d4c..2eb5d14 100644 (file)
@@ -351,8 +351,8 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                                ApiBase::PARAM_DFLT => 10,
                                ApiBase::PARAM_TYPE => 'limit',
                                ApiBase::PARAM_MIN => 1,
-                               ApiBase::PARAM_MAX => ApiBase::LIMIT_SML1,
-                               ApiBase::PARAM_MAX2 => ApiBase::LIMIT_SML2
+                               ApiBase::PARAM_MAX => ApiBase::LIMIT_BIG1,
+                               ApiBase::PARAM_MAX2 => ApiBase::LIMIT_BIG2
                        ],
                        'interwiki' => false,
                        'enablerewrites' => false,
index a5af63a..9301692 100644 (file)
                        "Mjbmr",
                        "Ebraminio",
                        "Macofe",
-                       "Huji"
+                       "Huji",
+                       "Ladsgroup"
                ]
        },
-       "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|مستندات]]\n* [[mw:API:FAQ|پرسش‌های متداول]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api فهرست پست الکترونیکی]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce اعلانات رابط برنامه‌نویسی کاربردی]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R ایرادها و درخواست‌ها]\n</div>\n\n<strong>وضعیت:</strong> تمام ویژگی‌هایی که در این صفحه نمایش یافته‌اند باید کار بکنند، ولی رابط برنامه‌نویسی کاربردی کماکان در حال توسعه است، و ممکن است در هر زمان تغییر بکند. به عضویت [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ فهرست پست الکترونیکی mediawiki-api-announce] در بیایید تا از تغییرات باخبر شوید.\n\n<strong>درخواست‌های معیوب:</strong> وقتی درخواست‌های معیوب به رابط برنامه‌نویسی کاربردی فرستاده شوند، یک سرایند اچ‌تی‌تی‌پی با کلید «MediaWiki-API-Erorr» فرستاده می‌شود و بعد هم مقدار سرایند و هم کد خطای بازگردانده شده  هر دو به یک مقدار نسبت داده می‌شوند. برای اطلاعات بیشتر [[mw:API:Errors_and_warnings|API: Errors and warnings]] را ببینید.",
+       "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|مستندات]]\n* [[mw:API:FAQ|پرسش‌های متداول]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api فهرست پست الکترونیکی]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce اعلانات رابط برنامه‌نویسی کاربردی]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R ایرادها و درخواست‌ها]\n</div>\n\n<strong>وضعیت:</strong> تمام ویژگی‌هایی که در این صفحه نمایش یافته‌اند باید کار بکنند، ولی رابط برنامه‌نویسی کاربردی کماکان در حال توسعه است، و ممکن است در هر زمان تغییر بکند. به عضویت [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ فهرست پست الکترونیکی mediawiki-api-announce] در بیایید تا از تغییرات باخبر شوید.\n\n<strong>درخواست‌های معیوب:</strong> وقتی درخواست‌های معیوب به رابط برنامه‌نویسی کاربردی فرستاده شوند، یک سرایند اچ‌تی‌تی‌پی با کلید «MediaWiki-API-Erorr» فرستاده می‌شود و بعد هم مقدار سرایند و هم کد خطای بازگردانده شده  هر دو به یک مقدار نسبت داده می‌شوند. برای اطلاعات بیشتر [[mw:API:Errors_and_warnings|API: Errors and warnings]] را ببینید.\n\n<strong>آزمایش:</strong> برای انجام درخواست‌های API آزمایشی [[Special:ApiSandbox]] را ببینید.",
        "apihelp-main-param-action": "کدام عملیات را انجام دهد.",
        "apihelp-main-param-format": "فرمت خروجی.",
        "apihelp-main-param-curtimestamp": "برچسب زمان کنونی را در نتیجه قرار دهید.",
index afd33d7..1991ea9 100644 (file)
        "apihelp-createaccount-param-reason": "Raggiona, a facoltativa, d' 'a criaziona 'e nu cunto a mpizzà int' 'e reggistre.",
        "apihelp-createaccount-param-language": "Codece 'e llengua a mpustà comme predefinita pe' n'utente (opzionale, 'e default fosse 'a lengue d' 'e cuntenute).",
        "apihelp-delete-description": "Scancella 'na paggena.",
+       "apihelp-delete-param-watch": "Azzecc' 'a paggena â lista 'e paggene cuntrullate.",
+       "apihelp-delete-param-watchlist": "Senza condizione, azzeccà o luvà 'a paggena 'a l'elenco 'e paggene cuntrullate 'e ll'utente, ausà mpustaziune o nun 'o cagnà l'elenco.",
+       "apihelp-delete-param-unwatch": "Liev' 'a paggena â lista 'e paggene cuntrullate.",
+       "apihelp-delete-param-oldimage": "'O nomm' 'e ll'immaggene viecchia a se scancellà comme sta scritto ccà: [[Special:ApiHelp/query+imageinfo|action=query&prop=imageinfo&iiprop=archivename]].",
+       "apihelp-delete-example-simple": "Scancella <kbd>Main Page</kbd>.",
+       "apihelp-delete-example-reason": "Scancella 'a <kbd>Main Page</kbd> c' 'o mutivo <kbd>Preparing for move</kbd>.",
+       "apihelp-disabled-description": "Stu modulo è stato stutato.",
+       "apihelp-edit-description": "Crèa e cagna paggene.",
        "apihelp-edit-param-prependtext": "Azzecca stu testo addò 'o cap' 'e paggena. Se mettesse ncuoll'a $1text.",
        "apihelp-edit-param-appendtext": "Azzecca stu testo addò 'o cap' 'e paggena. Se mettesse ncuoll'a $1text.\n\nAusate $1section=new pe' ne puté appennere na seziona nova, ato che ausà stu parammetro.",
        "apihelp-edit-param-undo": "Torna arrèto sta verziona. Miette ncuollo 'o $1text, $1prependtext e $1appendtext.",
index 5dc8110..a601958 100644 (file)
@@ -58,12 +58,8 @@ class LinkBatch {
        /**
         * @param LinkTarget $linkTarget
         */
-       public function addObj( $linkTarget ) {
-               if ( is_object( $linkTarget ) ) {
-                       $this->add( $linkTarget->getNamespace(), $linkTarget->getDBkey() );
-               } else {
-                       wfDebug( "Warning: LinkBatch::addObj got invalid LinkTarget object\n" );
-               }
+       public function addObj( LinkTarget $linkTarget ) {
+               $this->add( $linkTarget->getNamespace(), $linkTarget->getDBkey() );
        }
 
        /**
index 76881bc..931128f 100644 (file)
@@ -243,7 +243,7 @@ interface Content {
         *
         * @since 1.21
         *
-        * @param bool $hasLinks If it is known whether this content contains
+        * @param bool|null $hasLinks If it is known whether this content contains
         *    links, provide this information here, to avoid redundant parsing to
         *    find out.
         *
index 8fe88fe..b9215fc 100644 (file)
@@ -121,19 +121,19 @@ class JsonContent extends TextContent {
         */
        protected function rootValueTable( $val ) {
                if ( is_object( $val ) ) {
-                       return self::objectTable( $val );
+                       return $this->objectTable( $val );
                }
 
                if ( is_array( $val ) ) {
                        // Wrap arrays in another array so that they're visually boxed in a container.
                        // Otherwise they are visually indistinguishable from a single value.
-                       return self::arrayTable( [ $val ] );
+                       return $this->arrayTable( [ $val ] );
                }
 
                return Html::rawElement( 'table', [ 'class' => 'mw-json mw-json-single-value' ],
                        Html::rawElement( 'tbody', [],
                                Html::rawElement( 'tr', [],
-                                       Html::element( 'td', [], self::primitiveValue( $val ) )
+                                       Html::element( 'td', [], $this->primitiveValue( $val ) )
                                )
                        )
                );
@@ -174,7 +174,7 @@ class JsonContent extends TextContent {
         */
        protected function objectRow( $key, $val ) {
                $th = Html::element( 'th', [], $key );
-               $td = self::valueCell( $val );
+               $td = $this->valueCell( $val );
                return Html::rawElement( 'tr', [], $th . $td );
        }
 
@@ -211,7 +211,7 @@ class JsonContent extends TextContent {
         * @return string HTML.
         */
        protected function arrayRow( $val ) {
-               $td = self::valueCell( $val );
+               $td = $this->valueCell( $val );
                return Html::rawElement( 'tr', [], $td );
        }
 
@@ -223,14 +223,14 @@ class JsonContent extends TextContent {
         */
        protected function valueCell( $val ) {
                if ( is_object( $val ) ) {
-                       return Html::rawElement( 'td', [], self::objectTable( $val ) );
+                       return Html::rawElement( 'td', [], $this->objectTable( $val ) );
                }
 
                if ( is_array( $val ) ) {
-                       return Html::rawElement( 'td', [], self::arrayTable( $val ) );
+                       return Html::rawElement( 'td', [], $this->arrayTable( $val ) );
                }
 
-               return Html::element( 'td', [ 'class' => 'value' ], self::primitiveValue( $val ) );
+               return Html::element( 'td', [ 'class' => 'value' ], $this->primitiveValue( $val ) );
        }
 
        /**
index e3f9375..4b58989 100644 (file)
@@ -136,7 +136,7 @@ class MessageContent extends AbstractContent {
        }
 
        /**
-        * @param bool $hasLinks
+        * @param bool|null $hasLinks
         *
         * @return bool Always false.
         *
index baea812..225522e 100644 (file)
@@ -92,7 +92,7 @@ class TextContent extends AbstractContent {
         * Returns true if this content is not a redirect, and $wgArticleCountMethod
         * is "any".
         *
-        * @param bool $hasLinks If it is known whether this content contains links,
+        * @param bool|null $hasLinks If it is known whether this content contains links,
         * provide this information here, to avoid redundant parsing to find out.
         *
         * @return bool
index c1fef7c..a63819d 100644 (file)
@@ -258,10 +258,10 @@ class WikitextContent extends TextContent {
         * Returns true if this content is not a redirect, and this content's text
         * is countable according to the criteria defined by $wgArticleCountMethod.
         *
-        * @param bool $hasLinks If it is known whether this content contains
+        * @param bool|null $hasLinks If it is known whether this content contains
         *    links, provide this information here, to avoid redundant parsing to
         *    find out (default: null).
-        * @param Title $title Optional title, defaults to the title from the current main request.
+        * @param Title|null $title Optional title, defaults to the title from the current main request.
         *
         * @return bool
         */
index 351d438..02a6ec8 100644 (file)
@@ -859,8 +859,12 @@ abstract class DatabaseBase implements IDatabase {
 
                # Try reconnecting if the connection was lost
                if ( false === $ret && $this->wasErrorReissuable() ) {
-                       # Transaction is gone, like it or not
-                       $hadTrx = $this->mTrxLevel; // possible lost transaction
+                       # Transaction is gone; this can mean lost writes or REPEATABLE-READ snapshots
+                       $hadTrx = $this->mTrxLevel;
+                       # T127428: for non-write transactions, a disconnect and a COMMIT are similar:
+                       # neither changed data and in both cases any read snapshots are reset anyway.
+                       $isNoopCommit = ( !$this->writesOrCallbacksPending() && $sql === 'COMMIT' );
+                       # Update state tracking to reflect transaction loss
                        $this->mTrxLevel = 0;
                        $this->mTrxIdleCallbacks = []; // bug 65263
                        $this->mTrxPreCommitCallbacks = []; // bug 65263
@@ -874,12 +878,12 @@ abstract class DatabaseBase implements IDatabase {
                                $msg = __METHOD__ . ": lost connection to $server; reconnected";
                                wfDebugLog( 'DBPerformance', "$msg:\n" . wfBacktrace( true ) );
 
-                               if ( $hadTrx || $this->mNamedLocksHeld ) {
+                               if ( ( $hadTrx && !$isNoopCommit ) || $this->mNamedLocksHeld ) {
                                        # Leave $ret as false and let an error be reported.
                                        # Callers may catch the exception and continue to use the DB.
                                        $this->reportQueryError( $lastError, $lastErrno, $sql, $fname, $tempIgnore );
                                } else {
-                                       # Should be safe to silently retry (no trx and thus no callbacks)
+                                       # Should be safe to silently retry (no trx/callbacks/locks)
                                        $startTime = microtime( true );
                                        $ret = $this->doQuery( $commentedSql );
                                        $queryRuntime = microtime( true ) - $startTime;
index e1d1173..7855861 100644 (file)
@@ -1334,9 +1334,13 @@ interface IDatabase {
         * @param string $fname
         * @param string $flush Flush flag, set to 'flush' to disable warnings about
         *   explicitly committing implicit transactions, or calling commit when no
-        *   transaction is in progress. This will silently break any ongoing
-        *   explicit transaction. Only set the flush flag if you are sure that it
-        *   is safe to ignore these warnings in your context.
+        *   transaction is in progress.
+        *
+        *   This will trigger an exception if there is an ongoing explicit transaction.
+        *
+        *   Only set the flush flag if you are sure that these warnings are not applicable,
+        *   and no explicit transactions are open.
+        *
         * @throws DBUnexpectedError
         */
        public function commit( $fname = __METHOD__, $flush = '' );
index c2606c2..fb7584b 100644 (file)
@@ -22,7 +22,7 @@ class HTMLTextField extends HTMLFormField {
                                'value' => $value,
                                'dir' => $this->mDir,
                                'spellcheck' => $this->getSpellCheck(),
-                       ] + $this->getTooltipAndAccessKey();
+                       ] + $this->getTooltipAndAccessKey() + $this->getDataAttribs();
 
                if ( $this->mClass !== '' ) {
                        $attribs['class'] = $this->mClass;
@@ -126,4 +126,13 @@ class HTMLTextField extends HTMLFormField {
        protected function getInputWidget( $params ) {
                return new OOUI\TextInputWidget( $params );
        }
+
+       /**
+        * Returns an array of data-* attributes to add to the field.
+        *
+        * @return array
+        */
+       protected function getDataAttribs() {
+               return [];
+       }
 }
index 09fbaa7..410d15d 100644 (file)
@@ -80,4 +80,20 @@ class HTMLTitleTextField extends HTMLTextField {
                $params['relative'] = $this->mParams['relative'];
                return new TitleInputWidget( $params );
        }
+
+       public function getInputHtml( $value ) {
+               // add mw-searchInput class to enable search suggestions for non-OOUI, too
+               $this->mClass .= 'mw-searchInput';
+
+               // return the HTMLTextField html
+               return parent::getInputHtml( $value );
+       }
+
+       protected function getDataAttribs() {
+               return [
+                       'data-mw-searchsuggest' => FormatJson::encode( [
+                               'wrapAsLink' => false,
+                       ] ),
+               ];
+       }
 }
index 7ebab67..70fa857 100644 (file)
@@ -1715,7 +1715,9 @@ abstract class Installer {
         * Override the necessary bits of the config to run an installation.
         */
        public static function overrideConfig() {
-               define( 'MW_NO_SESSION', 1 );
+               // Use PHP's built-in session handling, since MediaWiki's
+               // SessionHandler can't work before we have an object cache set up.
+               define( 'MW_NO_SESSION_HANDLER', 1 );
 
                // Don't access the database
                $GLOBALS['wgUseDatabaseMessages'] = false;
@@ -1739,6 +1741,8 @@ abstract class Installer {
                // Some of the environment checks make shell requests, remove limits
                $GLOBALS['wgMaxShellMemory'] = 0;
 
+               // Override the default CookieSessionProvider with a dummy
+               // implementation that won't stomp on PHP's cookies.
                $GLOBALS['wgSessionProviders'] = [
                        [
                                'class' => 'InstallerSessionProvider',
@@ -1747,6 +1751,9 @@ abstract class Installer {
                                ] ]
                        ]
                ];
+
+               // Don't try to use any object cache for SessionManager either.
+               $GLOBALS['wgSessionCacheType'] = CACHE_NONE;
        }
 
        /**
index 90e6dc9..3bdcbd7 100644 (file)
@@ -9,7 +9,8 @@
                        "Revi",
                        "Alex00728",
                        "Hwangjy9",
-                       "Macofe"
+                       "Macofe",
+                       "Mooozi"
                ]
        },
        "config-desc": "미디어위키를 위한 설치 관리자",
@@ -18,7 +19,7 @@
        "config-localsettings-upgrade": "<code>LocalSettings.php</code> 파일을 감지했습니다.\n이 설치를 업그레이드하려면, 아래 상자에 <code>$wgUpgradeKey</code>의 값을 입력하세요.\n<code>LocalSettings.php</code>에서 찾을 수 있습니다.",
        "config-localsettings-cli-upgrade": "<code>LocalSettings.php</code> 파일을 감지했습니다.\n이 설치를 업그레이드하려면 <code>update.php</code>를 대신 실행하세요",
        "config-localsettings-key": "업그레이드 키:",
-       "config-localsettings-badkey": "ì \9cê³µí\95\9c í\82¤ê°\80 ì\9e\98못ë\90\98ì\97\88ì\8aµë\8b\88ë\8b¤.",
+       "config-localsettings-badkey": "ì\97\85ê·¸ë \88ì\9d´ë\93\9c í\82¤ê°\80 ì\9e\98못ë\90\98ì\97\88ì\8aµë\8b\88ë\8b¤.",
        "config-upgrade-key-missing": "미디어위키의 기존 설치를 감지했습니다.\n이 설치를 업그레이드하려면, <code>LocalSettings.php</code>의 아래에 다음 줄을 넣으세요:\n\n$1",
        "config-localsettings-incomplete": "기존 <code>LocalSettings.php</code>가 완전하지 않은 것 같습니다.\n$1 변수가 설정되어 있지 않습니다.\n이 변수가 설정되도록 <code>LocalSettings.php</code>를 바꾸고 \"{{int:Config-continue}}\"을 클릭하세요.",
        "config-localsettings-connection-error": "<code>LocalSettings.php</code>에 지정한 설정을 사용하여 데이터베이스에 연결할 때 오류가 발생했습니다. 이러한 설정을 고치고 다시 시도하세요.\n\n$1",
        "config-no-db": "적절한 데이터베이스 드라이버를 찾을 수 없습니다! PHP용 데이터베이스 드라이버를 설치해야 합니다.\n다음 데이터베이스 {{PLURAL:$2|유형을 지원합니다}}: $1.\n\nPHP를 직접 컴파일했다면, 예를 들어 <code>./configure --with-mysql</code>을 사용하여, 데이터베이스 클라이언트를 활성화하도록 다시 설정하세요.\n데비안이나 우분투 패키지에서 PHP를 설치했다면 <code>php5-mysql</code> 모듈도 설치해야 합니다.",
        "config-outdated-sqlite": "<strong>경고:</strong> 최소인 $2 버전보다 낮은 SQLite $1(이)가 있습니다. SQLite를 사용할 수 없습니다.",
        "config-no-fts3": "<strong>경고:</strong> SQLite를 [//sqlite.org/fts3.html FTS3 모듈] 없이 컴파일하며, 검색 기능은 백엔드에 사용할 수 없습니다.",
-       "config-register-globals-error": "<strong>오류: PHP의 <code>[http://php.net/register_globals register_globals]</code> 옵션이 활성화되어 있습니다.\n설치를 계속하려면 비활성화해야 합니다.</strong>\n어떻게 하는지에 대한 도움말에 대해서는 [https://www.mediawiki.org/wiki/register_globals https://www.mediawiki.org/wiki/register_globals]를 보세요.",
-       "config-magic-quotes-gpc": "<strong>치명: [http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-gpc magic_quotes_gpc]이 활성화되어 있습니다!</strong>\n이 옵션은 데이터를 입력하는 데 예기치 않는 손상을 일으킵니다.\n이 옵션을 비활성화하지 않는 한 미디어위키를 설치하고 사용할 수 없습니다.",
-       "config-magic-quotes-runtime": "<strong>치명: [http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-runtime magic_quotes_runtime]이 활성화되어 있습니다!</strong>\n이 옵션은 데이터를 입력하는 데 예기치 않는 손상이 일으킵니다.\n이 옵션을 비활성화하지 않는 한 미디어위키를 설치하고 사용할 수 없습니다.",
-       "config-magic-quotes-sybase": "<strong>치명: [http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-sybase magic_quotes_sybase]이 활성화되어 있습니다!</strong>\n이 옵션은 데이터를 입력하는 데 예기치 않는 손상을 일으킵니다.\n이 옵션을 비활성화하지 않는 한 미디어위키를 설치하고 사용할 수 없습니다.",
        "config-mbstring": "<strong>치명: [http://www.php.net/manual/en/ref.mbstring.php#mbstring.overload mbstring.func_overload]이 활성화되어 있습니다!</strong>\n이 옵션은 오류가 발생하고 데이터를 입력하는 데 예기치 않는 손상을 일으킬 수 있습니다.\n이 옵션을 비활성화하지 않는 한 미디어위키를 설치하고 사용할 수 없습니다.",
-       "config-safe-mode": "<strong>경고:</strong> PHP의 [http://www.php.net/features.safe-mode 안전 모드]가 활성화되어 있습니다!\n특히 파일을 올리거나 <code>math</code>를 지원하는 데 문제가 발생할 수 있습니다.",
        "config-xml-bad": "PHP의 XML 모듈이 없습니다.\n미디어위키는 이 모듈의 기능이 필요하며 이 설정에서는 작동하지 않습니다.\nphp-xml 패키지를 설치해야할 수도 있습니다.",
        "config-pcre-old": "<strong>치명:</strong> PCRE $1 또는 그 이상이 필요합니다.\nPHP 바이너리는 PCRE $2에 연결되어 있습니다. [https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms/PCRE 자세한 정보].",
        "config-pcre-no-utf8": "<strong>치명:</strong> PHP의 PCRE 모듈은 RCRE_UTF8 지원 없이 컴파일된 것 같습니다.\n미디어위키가 올바르게 작동하려면 UTF-8을 지원해야 합니다.",
index ab257dd..caca27f 100644 (file)
@@ -1,12 +1,39 @@
 {
        "@metadata": {
                "authors": [
-                       "HalanTul"
+                       "HalanTul",
+                       "Мария Олесова"
                ]
        },
        "config-desc": "MediaWiki инсталлятора",
        "config-title": "MediaWiki $1 туруоруу",
        "config-information": "Бу туһунан",
+       "config-localsettings-key": "Саҥатытыы күлүүһэ:",
+       "config-localsettings-badkey": "Саҥатытыыга сыыһа күлүүһү ыйдыҥ.",
+       "config-your-language-help": "Туруоруу кэмигэр туттуллар тылы тал.",
+       "config-wiki-language": "Биики туттуохтаах тыла:",
+       "config-back": "← Төттөрү",
+       "config-continue": "Салгыы →",
+       "config-page-language": "Тыла",
+       "config-page-dbconnect": "Билии олоҕор холбонуу",
+       "config-page-upgrade": "Баар туруорууну саҥатытыы",
+       "config-page-dbsettings": "Билии олоҕун бэлэмнээһин",
+       "config-page-name": "Аат",
+       "config-page-options": "Туруоруулар",
+       "config-page-install": "Туруоруу",
+       "config-page-complete": "Бэлэм!",
+       "config-page-restart": "Туруорууну саҥаттан саҕалыырга",
+       "config-page-upgradedoc": "Саҥатытыы",
+       "config-page-existingwiki": "Баар биики",
+       "config-help-restart": "Харайыллыбыт көрдөрүүлэри сотуоххун уонна туруоруу кэмин саҥаттан ыытыаххын баҕараҕын дуо?",
+       "config-restart": "Сөп, саҥаттан саҕалыырга",
+       "config-env-good": "Тас кэккэ бэрэбиэркэтэ ситиһиилээхтик ыытылынна. \nMediaWiki туруоруоххун сөп.",
+       "config-db-type": "Билии олоҕун көрүҥэ:",
+       "config-db-wiki-settings": "Бу биики тэҥнэбилэ",
+       "config-db-name": "Билии олоҕун аата:",
+       "config-db-name-oracle": "Билии олоҕун исхиэмэтэ:",
+       "config-db-install-account": "Туруорууга анаммыт бэлиэ-аат",
+       "config-db-username": "Билии олоҕун туһанааччы аата:",
        "mainpagetext": "'''«MediaWiki» сөпкө туруорулунна.'''",
        "mainpagedocfooter": "Биики программатын туһунан [//meta.wikimedia.org/wiki/Help:Contents справочникка] көрүөххүн сөп.\n\n== Саҕаланыыта ==\n\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Конфигурация уларытыытын параметрдара]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki релизтарын почтовай испииһэгэ]"
 }
index 798357d..3d5d383 100644 (file)
@@ -50,11 +50,9 @@ class CachedBagOStuff extends HashBagOStuff {
 
        protected function doGet( $key, $flags = 0 ) {
                $ret = parent::doGet( $key, $flags );
-               if ( $ret === false ) {
+               if ( $ret === false && !$this->hasKey( $key ) ) {
                        $ret = $this->backend->doGet( $key, $flags );
-                       if ( $ret !== false ) {
-                               $this->set( $key, $ret, 0, self::WRITE_CACHE_ONLY );
-                       }
+                       $this->set( $key, $ret, 0, self::WRITE_CACHE_ONLY );
                }
                return $ret;
        }
index 6e7fb0c..e03cec6 100644 (file)
@@ -60,8 +60,19 @@ class HashBagOStuff extends BagOStuff {
                return true;
        }
 
+       /**
+        * Does this bag have a non-null value for the given key?
+        *
+        * @param string $key
+        * @return bool
+        * @since 1.27
+        */
+       protected function hasKey( $key ) {
+               return isset( $this->bag[$key] );
+       }
+
        protected function doGet( $key, $flags = 0 ) {
-               if ( !isset( $this->bag[$key] ) ) {
+               if ( !$this->hasKey( $key ) ) {
                        return false;
                }
 
index 3b470ec..012d53c 100644 (file)
@@ -33,6 +33,8 @@ class DeleteLogFormatter extends LogFormatter {
                $key = parent::getMessageKey();
                if ( in_array( $this->entry->getSubtype(), [ 'event', 'revision' ] ) ) {
                        if ( count( $this->getMessageParameters() ) < 5 ) {
+                               // Messages: logentry-delete-event-legacy, logentry-delete-revision-legacy,
+                               // logentry-suppress-event-legacy, logentry-suppress-revision-legacy
                                return "$key-legacy";
                        }
                }
index 0d007b3..e6f9fb6 100644 (file)
@@ -33,6 +33,7 @@ class PatrolLogFormatter extends LogFormatter {
                $key = parent::getMessageKey();
                $params = $this->getMessageParameters();
                if ( isset( $params[5] ) && $params[5] ) {
+                       // Messages: logentry-patrol-patrol-auto
                        $key .= '-auto';
                }
 
index eebccdd..b9dfb6c 100644 (file)
@@ -53,6 +53,7 @@ class RightsLogFormatter extends LogFormatter {
                $key = parent::getMessageKey();
                $params = $this->getMessageParameters();
                if ( !isset( $params[3] ) && !isset( $params[4] ) ) {
+                       // Messages: logentry-rights-rights-legacy
                        $key .= '-legacy';
                }
 
index b62bcb4..230d13b 100644 (file)
@@ -39,8 +39,12 @@ class TagLogFormatter extends LogFormatter {
                $key .= ( $remove ? ( $add ? '' : '-remove' ) : '-add' );
 
                if ( isset( $params[3] ) && $params[3] ) {
+                       // Messages: logentry-tag-update-add-revision, logentry-tag-update-remove-revision,
+                       // logentry-tag-update-revision
                        $key .= '-revision';
                } else {
+                       // Messages: logentry-tag-update-add-logentry, logentry-tag-update-remove-logentry,
+                       // logentry-tag-update-logentry
                        $key .= '-logentry';
                }
 
index 983f42c..464e7b8 100644 (file)
@@ -33,7 +33,7 @@ class UserMailer {
        /**
         * Send mail using a PEAR mailer
         *
-        * @param UserMailer $mailer
+        * @param Mail_smtp $mailer
         * @param string $dest
         * @param string $headers
         * @param string $body
@@ -116,7 +116,7 @@ class UserMailer {
         */
        public static function send( $to, $from, $subject, $body, $options = [] ) {
                global $wgAllowHTMLEmail;
-               $contentType = 'text/plain; charset=UTF-8';
+
                if ( !is_array( $options ) ) {
                        // Old calling style
                        wfDeprecated( __METHOD__ . ' with $replyto as 5th parameter', '1.26' );
@@ -125,6 +125,9 @@ class UserMailer {
                                $options['contentType'] = func_get_arg( 5 );
                        }
                }
+               if ( !isset( $options['contentType'] ) ) {
+                       $options['contentType'] = 'text/plain; charset=UTF-8';
+               }
 
                if ( !is_array( $to ) ) {
                        $to = [ $to ];
@@ -327,8 +330,7 @@ class UserMailer {
                                $body = str_replace( "\n", "\r\n", $body );
                        }
                        $headers['MIME-Version'] = '1.0';
-                       $headers['Content-type'] = ( is_null( $contentType ) ?
-                               'text/plain; charset=UTF-8' : $contentType );
+                       $headers['Content-type'] = $contentType;
                        $headers['Content-transfer-encoding'] = '8bit';
                }
 
index 64f12f7..4b9b268 100644 (file)
@@ -32,7 +32,7 @@ class BmpHandler extends BitmapHandler {
         * @param File $file
         * @return bool
         */
-       function mustRender( $file ) {
+       public function mustRender( $file ) {
                return true;
        }
 
index b470e06..b055d16 100644 (file)
@@ -59,7 +59,7 @@ class BitmapHandler extends TransformationalImageHandler {
                return $scaler;
        }
 
-       function makeParamString( $params ) {
+       public function makeParamString( $params ) {
                $res = parent::makeParamString( $params );
                if ( isset( $params['interlace'] ) && $params['interlace'] ) {
                        return "interlaced-{$res}";
@@ -68,7 +68,7 @@ class BitmapHandler extends TransformationalImageHandler {
                }
        }
 
-       function parseParamString( $str ) {
+       public function parseParamString( $str ) {
                $remainder = preg_replace( '/^interlaced-/', '', $str );
                $params = parent::parseParamString( $remainder );
                if ( $params === false ) {
@@ -78,7 +78,7 @@ class BitmapHandler extends TransformationalImageHandler {
                return $params;
        }
 
-       function validateParam( $name, $value ) {
+       public function validateParam( $name, $value ) {
                if ( $name === 'interlace' ) {
                        return $value === false || $value === true;
                } else {
index 0d2ed29..d4ef8a8 100644 (file)
@@ -47,7 +47,7 @@ class DjVuHandler extends ImageHandler {
         * @param File $file
         * @return bool
         */
-       function mustRender( $file ) {
+       public function mustRender( $file ) {
                return true;
        }
 
@@ -64,14 +64,14 @@ class DjVuHandler extends ImageHandler {
         * @param File $file
         * @return bool
         */
-       function isMultiPage( $file ) {
+       public function isMultiPage( $file ) {
                return true;
        }
 
        /**
         * @return array
         */
-       function getParamMap() {
+       public function getParamMap() {
                return [
                        'img_width' => 'width',
                        'img_page' => 'page',
@@ -83,7 +83,7 @@ class DjVuHandler extends ImageHandler {
         * @param mixed $value
         * @return bool
         */
-       function validateParam( $name, $value ) {
+       public function validateParam( $name, $value ) {
                if ( $name === 'page' && trim( $value ) !== (string)intval( $value ) ) {
                        // Extra junk on the end of page, probably actually a caption
                        // e.g. [[File:Foo.djvu|thumb|Page 3 of the document shows foo]]
@@ -104,7 +104,7 @@ class DjVuHandler extends ImageHandler {
         * @param array $params
         * @return bool|string
         */
-       function makeParamString( $params ) {
+       public function makeParamString( $params ) {
                $page = isset( $params['page'] ) ? $params['page'] : 1;
                if ( !isset( $params['width'] ) ) {
                        return false;
@@ -117,7 +117,7 @@ class DjVuHandler extends ImageHandler {
         * @param string $str
         * @return array|bool
         */
-       function parseParamString( $str ) {
+       public function parseParamString( $str ) {
                $m = false;
                if ( preg_match( '/^page(\d+)-(\d+)px$/', $str, $m ) ) {
                        return [ 'width' => $m[2], 'page' => $m[1] ];
index a7847bb..158c0dc 100644 (file)
@@ -31,15 +31,15 @@ abstract class ImageHandler extends MediaHandler {
         * @param File $file
         * @return bool
         */
-       function canRender( $file ) {
+       public function canRender( $file ) {
                return ( $file->getWidth() && $file->getHeight() );
        }
 
-       function getParamMap() {
+       public function getParamMap() {
                return [ 'img_width' => 'width' ];
        }
 
-       function validateParam( $name, $value ) {
+       public function validateParam( $name, $value ) {
                if ( in_array( $name, [ 'width', 'height' ] ) ) {
                        if ( $value <= 0 ) {
                                return false;
@@ -51,7 +51,7 @@ abstract class ImageHandler extends MediaHandler {
                }
        }
 
-       function makeParamString( $params ) {
+       public function makeParamString( $params ) {
                if ( isset( $params['physicalWidth'] ) ) {
                        $width = $params['physicalWidth'];
                } elseif ( isset( $params['width'] ) ) {
@@ -65,7 +65,7 @@ abstract class ImageHandler extends MediaHandler {
                return "{$width}px";
        }
 
-       function parseParamString( $str ) {
+       public function parseParamString( $str ) {
                $m = false;
                if ( preg_match( '/^(\d+)px$/', $str, $m ) ) {
                        return [ 'width' => $m[1] ];
index 040ff96..b8b6f6c 100644 (file)
@@ -42,7 +42,7 @@ class JpegHandler extends ExifBitmapHandler {
                return true;
        }
 
-       function validateParam( $name, $value ) {
+       public function validateParam( $name, $value ) {
                if ( $name === 'quality' ) {
                        return self::validateQuality( $value );
                } else {
@@ -58,7 +58,7 @@ class JpegHandler extends ExifBitmapHandler {
                return $value === 'low';
        }
 
-       function makeParamString( $params ) {
+       public function makeParamString( $params ) {
                // Prepend quality as "qValue-". This has to match parseParamString() below
                $res = parent::makeParamString( $params );
                if ( $res && isset( $params['quality'] ) ) {
@@ -67,7 +67,7 @@ class JpegHandler extends ExifBitmapHandler {
                return $res;
        }
 
-       function parseParamString( $str ) {
+       public function parseParamString( $str ) {
                // $str contains "qlow-200px" or "200px" strings because thumb.php would strip the filename
                // first - check if the string begins with "qlow-", and if so, treat it as quality.
                // Pass the first portion, or the whole string if "qlow-" not found, to the parent
index 95498ba..6b0f887 100644 (file)
@@ -75,7 +75,7 @@ abstract class MediaHandler {
         * Get an associative array mapping magic word IDs to parameter names.
         * Will be used by the parser to identify parameters.
         */
-       abstract function getParamMap();
+       abstract public function getParamMap();
 
        /**
         * Validate a thumbnail parameter at parse time.
@@ -85,7 +85,7 @@ abstract class MediaHandler {
         * @param string $name
         * @param mixed $value
         */
-       abstract function validateParam( $name, $value );
+       abstract public function validateParam( $name, $value );
 
        /**
         * Merge a parameter array into a string appropriate for inclusion in filenames
@@ -93,7 +93,7 @@ abstract class MediaHandler {
         * @param array $params Array of parameters that have been through normaliseParams.
         * @return string
         */
-       abstract function makeParamString( $params );
+       abstract public function makeParamString( $params );
 
        /**
         * Parse a param string made with makeParamString back into an array
@@ -101,7 +101,7 @@ abstract class MediaHandler {
         * @param string $str The parameter string without file name (e.g. 122px)
         * @return array|bool Array of parameters or false on failure.
         */
-       abstract function parseParamString( $str );
+       abstract public function parseParamString( $str );
 
        /**
         * Changes the parameter array as necessary, ready for transformation.
@@ -342,7 +342,7 @@ abstract class MediaHandler {
         * @param File $file
         * @return bool
         */
-       function canRender( $file ) {
+       public function canRender( $file ) {
                return true;
        }
 
@@ -353,7 +353,7 @@ abstract class MediaHandler {
         * @param File $file
         * @return bool
         */
-       function mustRender( $file ) {
+       public function mustRender( $file ) {
                return false;
        }
 
@@ -363,7 +363,7 @@ abstract class MediaHandler {
         * @param File $file
         * @return bool
         */
-       function isMultiPage( $file ) {
+       public function isMultiPage( $file ) {
                return false;
        }
 
index d570f30..7e77b25 100644 (file)
@@ -51,7 +51,7 @@ class SvgHandler extends ImageHandler {
                }
        }
 
-       function mustRender( $file ) {
+       public function mustRender( $file ) {
                return true;
        }
 
@@ -462,7 +462,7 @@ class SvgHandler extends ImageHandler {
         * @param mixed $value Parameter value
         * @return bool Validity
         */
-       function validateParam( $name, $value ) {
+       public function validateParam( $name, $value ) {
                if ( in_array( $name, [ 'width', 'height' ] ) ) {
                        // Reject negative heights, widths
                        return ( $value > 0 );
@@ -485,7 +485,7 @@ class SvgHandler extends ImageHandler {
         * @param array $params Name=>value pairs of parameters
         * @return string Filename to use
         */
-       function makeParamString( $params ) {
+       public function makeParamString( $params ) {
                $lang = '';
                if ( isset( $params['lang'] ) && $params['lang'] !== 'en' ) {
                        $params['lang'] = strtolower( $params['lang'] );
@@ -498,7 +498,7 @@ class SvgHandler extends ImageHandler {
                return "$lang{$params['width']}px";
        }
 
-       function parseParamString( $str ) {
+       public function parseParamString( $str ) {
                $m = false;
                if ( preg_match( '/^lang([a-z]+(?:-[a-z]+)*)-(\d+)px$/', $str, $m ) ) {
                        return [ 'width' => array_pop( $m ), 'lang' => $m[1] ];
@@ -509,7 +509,7 @@ class SvgHandler extends ImageHandler {
                }
        }
 
-       function getParamMap() {
+       public function getParamMap() {
                return [ 'img_lang' => 'lang', 'img_width' => 'width' ];
        }
 
index 750528f..2e73249 100644 (file)
@@ -40,7 +40,7 @@ class TiffHandler extends ExifBitmapHandler {
         * @param File $file
         * @return bool
         */
-       function canRender( $file ) {
+       public function canRender( $file ) {
                global $wgTiffThumbnailType;
 
                return (bool)$wgTiffThumbnailType
@@ -54,7 +54,7 @@ class TiffHandler extends ExifBitmapHandler {
         * @param File $file
         * @return bool
         */
-       function mustRender( $file ) {
+       public function mustRender( $file ) {
                return true;
        }
 
index 05c3847..f8fa252 100644 (file)
@@ -37,7 +37,7 @@ class XCFHandler extends BitmapHandler {
         * @param File $file
         * @return bool
         */
-       function mustRender( $file ) {
+       public function mustRender( $file ) {
                return true;
        }
 
index caff619..4252f85 100644 (file)
@@ -636,7 +636,7 @@ class Article implements Page {
                                        # the correct version information.
                                        $outputPage->setRevisionId( $this->getRevIdFetched() );
                                        # Preload timestamp to avoid a DB hit
-                                       $outputPage->setRevisionTimestamp( $this->getTimestamp() );
+                                       $outputPage->setRevisionTimestamp( $this->mPage->getTimestamp() );
 
                                        # Pages containing custom CSS or JavaScript get special treatment
                                        if ( $this->getTitle()->isCssOrJsPage() || $this->getTitle()->isCssJsSubpage() ) {
index 255fef8..368d79e 100644 (file)
@@ -67,9 +67,7 @@ abstract class Preprocessor {
                }
 
                $key = wfMemcKey(
-                       // TODO: Once we require PHP 5.5, use static::class instead of
-                       // get_called_class() or get_class( $this ).
-                       defined( 'static::CACHE_PREFIX' ) ? static::CACHE_PREFIX : get_called_class(),
+                       defined( 'static::CACHE_PREFIX' ) ? static::CACHE_PREFIX : static::class,
                        md5( $text ), $flags );
                $value = sprintf( "%08d", static::CACHE_VERSION ) . $tree;
 
@@ -100,9 +98,7 @@ abstract class Preprocessor {
                $cache = ObjectCache::getInstance( $config->get( 'MainCacheType' ) );
 
                $key = wfMemcKey(
-                       // TODO: Once we require PHP 5.5, use static::class instead of
-                       // get_called_class() or get_class( $this ).
-                       defined( 'static::CACHE_PREFIX' ) ? static::CACHE_PREFIX : get_called_class(),
+                       defined( 'static::CACHE_PREFIX' ) ? static::CACHE_PREFIX : static::class,
                        md5( $text ), $flags );
 
                $value = $cache->get( $key );
index bf5ae4b..6458e71 100644 (file)
@@ -221,13 +221,7 @@ class ResourceLoaderContext {
                if ( $this->userObj === null ) {
                        $username = $this->getUser();
                        if ( $username ) {
-                               // Optimize: Avoid loading a new User object if possible
-                               global $wgUser;
-                               if ( is_object( $wgUser ) && $wgUser->getName() === $username ) {
-                                       $this->userObj = $wgUser;
-                               } else {
-                                       $this->userObj = User::newFromName( $username );
-                               }
+                               $this->userObj = User::newFromName( $username );
                        } else {
                                $this->userObj = new User; // Anonymous user
                        }
index 44199bd..70c771d 100644 (file)
@@ -165,16 +165,19 @@ class BotPasswordSessionProvider extends ImmutableSessionProviderWithCookie {
                return true;
        }
 
+       /**
+        * @codeCoverageIgnore
+        */
        public function preventSessionsForUser( $username ) {
                BotPassword::removeAllPasswordsForUser( $username );
        }
 
        public function getAllowedUserRights( SessionBackend $backend ) {
                if ( $backend->getProvider() !== $this ) {
-                       throw new InvalidArgumentException( 'Backend\'s provider isn\'t $this' );
+                       throw new \InvalidArgumentException( 'Backend\'s provider isn\'t $this' );
                }
                $data = $backend->getProviderMetadata();
-               if ( $data ) {
+               if ( $data && isset( $data['rights'] ) && is_array( $data['rights'] ) ) {
                        return $data['rights'];
                }
 
index 9f42c27..882084d 100644 (file)
@@ -22,6 +22,7 @@
 
 namespace MediaWiki\Session;
 
+use Exception;
 use UnexpectedValueException;
 
 /**
index 93b0b36..695ce5a 100644 (file)
@@ -111,6 +111,12 @@ class PHPSessionHandler implements \SessionHandlerInterface {
                        return;
                }
 
+               // @codeCoverageIgnoreStart
+               if ( defined( 'MW_NO_SESSION_HANDLER' ) ) {
+                       throw new \BadMethodCallException( 'MW_NO_SESSION_HANDLER is defined' );
+               }
+               // @codeCoverageIgnoreEnd
+
                self::$instance = new self( $manager );
 
                // Close any auto-started session, before we replace it
index 0a9191b..0424a2d 100644 (file)
@@ -572,7 +572,9 @@ final class SessionBackend {
         * @param bool $closing Whether the session is being closed
         */
        public function save( $closing = false ) {
-               if ( $this->provider->getManager()->isUserSessionPrevented( $this->user->getName() ) ) {
+               $anon = $this->user->isAnon();
+
+               if ( !$anon && $this->provider->getManager()->isUserSessionPrevented( $this->user->getName() ) ) {
                        $this->logger->debug(
                                'SessionBackend "{session}" not saving, user {user} was ' .
                                'passed to SessionManager::preventSessionsForUser',
@@ -585,7 +587,6 @@ final class SessionBackend {
 
                // Ensure the user has a token
                // @codeCoverageIgnoreStart
-               $anon = $this->user->isAnon();
                if ( !$anon && !$this->user->getToken( false ) ) {
                        $this->logger->debug(
                                'SessionBackend "{session}" creating token for user {user} on save',
index 8695b68..6a8b8a3 100644 (file)
@@ -24,7 +24,6 @@
 namespace MediaWiki\Session;
 
 use Psr\Log\LoggerInterface;
-use Psr\Log\LogLevel;
 use BagOStuff;
 use CachedBagOStuff;
 use Config;
@@ -297,6 +296,11 @@ final class SessionManager implements SessionManagerInterface {
        }
 
        public function getVaryHeaders() {
+               // @codeCoverageIgnoreStart
+               if ( defined( 'MW_NO_SESSION' ) && MW_NO_SESSION !== 'warn' ) {
+                       return [];
+               }
+               // @codeCoverageIgnoreEnd
                if ( $this->varyHeaders === null ) {
                        $headers = [];
                        foreach ( $this->getProviders() as $provider ) {
@@ -315,6 +319,11 @@ final class SessionManager implements SessionManagerInterface {
        }
 
        public function getVaryCookies() {
+               // @codeCoverageIgnoreStart
+               if ( defined( 'MW_NO_SESSION' ) && MW_NO_SESSION !== 'warn' ) {
+                       return [];
+               }
+               // @codeCoverageIgnoreEnd
                if ( $this->varyCookies === null ) {
                        $cookies = [];
                        foreach ( $this->getProviders() as $provider ) {
@@ -508,12 +517,14 @@ final class SessionManager implements SessionManagerInterface {
                }
 
                # Notify AuthPlugin
+               // @codeCoverageIgnoreStart
                $tmpUser = $user;
                $wgAuth->initUser( $tmpUser, true );
                if ( $tmpUser !== $user ) {
                        $logger->warning( __METHOD__ . ': ' .
                                get_class( $wgAuth ) . '::initUser() replaced the user object' );
                }
+               // @codeCoverageIgnoreEnd
 
                # Notify hooks (e.g. Newuserlog)
                \Hooks::run( 'AuthPluginAutoCreate', [ $user ] );
@@ -952,6 +963,17 @@ final class SessionManager implements SessionManagerInterface {
         * @return Session
         */
        public function getSessionFromInfo( SessionInfo $info, WebRequest $request ) {
+               // @codeCoverageIgnoreStart
+               if ( defined( 'MW_NO_SESSION' ) ) {
+                       if ( MW_NO_SESSION === 'warn' ) {
+                               // Undocumented safety case for converting existing entry points
+                               $this->logger->error( 'Sessions are supposed to be disabled for this entry point' );
+                       } else {
+                               throw new \BadMethodCallException( 'Sessions are disabled for this entry point' );
+                       }
+               }
+               // @codeCoverageIgnoreEnd
+
                $id = $info->getId();
 
                if ( !isset( $this->allSessionBackends[$id] ) ) {
@@ -1065,96 +1087,6 @@ final class SessionManager implements SessionManagerInterface {
                self::$globalSessionRequest = null;
        }
 
-       /**
-        * Do a sanity check to make sure the session is not used from many different IP addresses
-        * and store some data for later sanity checks.
-        * FIXME remove this once SessionManager is considered stable
-        * @private For use in Setup.php only
-        * @param Session $session Defaults to the global session.
-        */
-       public function checkIpLimits( Session $session = null ) {
-               $session = $session ?: self::getGlobalSession();
-
-               try {
-                       $ip = $session->getRequest()->getIP();
-               } catch ( \MWException $e ) {
-                       return;
-               }
-               if ( $ip === '127.0.0.1' || \IP::isConfiguredProxy( $ip ) ) {
-                       return;
-               }
-               $now = time();
-
-               // Record (and possibly log) that the IP is using the current session.
-               // Don't touch the stored data unless we are adding a new IP or re-adding an expired one.
-               // This is slightly inaccurate (when an existing IP is seen again, the expiry is not
-               // extended) but that shouldn't make much difference and limits the session write frequency
-               // to # of IPs / $wgSuspiciousIpExpiry.
-               $data = $session->get( 'SessionManager-ip', [] );
-               if (
-                       !isset( $data[$ip] )
-                       || $data[$ip] < $now
-               ) {
-                       $data[$ip] = time() + $this->config->get( 'SuspiciousIpExpiry' );
-                       foreach ( $data as $key => $expires ) {
-                               if ( $expires < $now ) {
-                                       unset( $data[$key] );
-                               }
-                       }
-                       $session->set( 'SessionManager-ip', $data );
-
-                       $logger = \MediaWiki\Logger\LoggerFactory::getInstance( 'session-ip' );
-                       $logLevel = count( $data ) >= $this->config->get( 'SuspiciousIpPerSessionLimit' )
-                               ? LogLevel::WARNING : ( count( $data ) === 1 ? LogLevel::DEBUG : LogLevel::INFO );
-                       $logger->log(
-                               $logLevel,
-                               'Same session used from {count} IPs',
-                               [
-                                       'count' => count( $data ),
-                                       'ips' => $data,
-                                       'session' => $session->getId(),
-                                       'user' => $session->getUser()->getName(),
-                                       'persistent' => $session->isPersistent(),
-                               ]
-                       );
-               }
-
-               // Now do the same thing globally for the current user.
-               // We are using the object cache and assume it is shared between all wikis of a farm,
-               // and further assume that the same name belongs to the same user on all wikis. (It's either
-               // that or a central ID lookup which would mean an extra SQL query on every request.)
-               if ( $session->getUser()->isLoggedIn() ) {
-                       $userKey = 'SessionManager-ip:' . md5( $session->getUser()->getName() );
-                       $data = $this->store->get( $userKey ) ?: [];
-                       if (
-                               !isset( $data[$ip] )
-                               || $data[$ip] < $now
-                       ) {
-                               $data[$ip] = time() + $this->config->get( 'SuspiciousIpExpiry' );
-                               foreach ( $data as $key => $expires ) {
-                                       if ( $expires < $now ) {
-                                               unset( $data[$key] );
-                                       }
-                               }
-                               $this->store->set( $userKey, $data, $this->config->get( 'SuspiciousIpExpiry' ) );
-                               $logger = \MediaWiki\Logger\LoggerFactory::getInstance( 'session-ip' );
-                               $logLevel = count( $data ) >= $this->config->get( 'SuspiciousIpPerUserLimit' )
-                                       ? LogLevel::WARNING : ( count( $data ) === 1 ? LogLevel::DEBUG : LogLevel::INFO );
-                               $logger->log(
-                                       $logLevel,
-                                       'Same user had sessions from {count} IPs',
-                                       [
-                                               'count' => count( $data ),
-                                               'ips' => $data,
-                                               'session' => $session->getId(),
-                                               'user' => $session->getUser()->getName(),
-                                               'persistent' => $session->isPersistent(),
-                                       ]
-                               );
-                       }
-               }
-       }
-
        /**@}*/
 
 }
index c06db01..9c5fc2f 100644 (file)
@@ -223,8 +223,10 @@ class ActiveUsersPager extends UsersPager {
                        [
                                'class' => 'mw-ui-input-inline mw-autocomplete-user',
                                'tabindex' => 1,
-                               'autofocus' => $this->requestedUser === '',
-                       ]
+                       ] + (
+                               // Set autofocus on blank input
+                               $this->requestedUser === '' ? [ 'autofocus' => '' ] : []
+                       )
                ) . '<br />';
 
                $out .= Xml::checkLabel( $this->msg( 'activeusers-hidebots' )->text(),
index 254d9e2..5a351a7 100644 (file)
@@ -934,14 +934,16 @@ class ContribsPager extends ReverseChronologicalPager {
        function doBatchLookups() {
                # Do a link batch query
                $this->mResult->seek( 0 );
-               $revIds = [];
+               $parentRevIds = [];
+               $this->mParentLens = [];
                $batch = new LinkBatch();
                # Give some pointers to make (last) links
                foreach ( $this->mResult as $row ) {
                        if ( isset( $row->rev_parent_id ) && $row->rev_parent_id ) {
-                               $revIds[] = $row->rev_parent_id;
+                               $parentRevIds[] = $row->rev_parent_id;
                        }
                        if ( isset( $row->rev_id ) ) {
+                               $this->mParentLens[$row->rev_id] = $row->rev_len;
                                if ( $this->contribs === 'newbie' ) { // multiple users
                                        $batch->add( NS_USER, $row->user_name );
                                        $batch->add( NS_USER_TALK, $row->user_name );
@@ -949,7 +951,11 @@ class ContribsPager extends ReverseChronologicalPager {
                                $batch->add( $row->page_namespace, $row->page_title );
                        }
                }
-               $this->mParentLens = Revision::getParentLengths( $this->mDbSecondary, $revIds );
+               # Fetch rev_len for revisions not already scanned above
+               $this->mParentLens += Revision::getParentLengths(
+                       $this->mDbSecondary,
+                       array_diff( $parentRevIds, array_keys( $this->mParentLens ) )
+               );
                $batch->execute();
                $this->mResult->seek( 0 );
        }
index cdf350d..3528be0 100644 (file)
@@ -265,28 +265,32 @@ class SpecialEmailUser extends UnlistedSpecialPage {
         */
        protected function userForm( $name ) {
                $this->getOutput()->addModules( 'mediawiki.userSuggest' );
-               $string = Xml::openElement(
-                       'form',
-                       [ 'method' => 'get', 'action' => wfScript(), 'id' => 'askusername' ]
-               ) .
+               $string = Html::openElement(
+                               'form',
+                               [ 'method' => 'get', 'action' => wfScript(), 'id' => 'askusername' ]
+                       ) .
                        Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() ) .
-                       Xml::openElement( 'fieldset' ) .
+                       Html::openElement( 'fieldset' ) .
                        Html::rawElement( 'legend', null, $this->msg( 'emailtarget' )->parse() ) .
-                       Xml::inputLabel(
+                       Html::label(
                                $this->msg( 'emailusername' )->text(),
+                               'emailusertarget'
+                       ) . '&#160;' .
+                       Html::input(
                                'target',
-                               'emailusertarget',
-                               30,
                                $name,
+                               'text',
                                [
+                                       'id' => 'emailusertarget',
                                        'class' => 'mw-autocomplete-user',  // used by mediawiki.userSuggest
                                        'autofocus' => true,
+                                       'size' => 30,
                                ]
                        ) .
                        ' ' .
-                       Xml::submitButton( $this->msg( 'emailusernamesubmit' )->text() ) .
-                       Xml::closeElement( 'fieldset' ) .
-                       Xml::closeElement( 'form' ) . "\n";
+                       Html::submitButton( $this->msg( 'emailusernamesubmit' )->text(), [] ) .
+                       Html::closeElement( 'fieldset' ) .
+                       Html::closeElement( 'form' ) . "\n";
 
                return $string;
        }
index bec871b..d4c7c6a 100644 (file)
@@ -259,31 +259,7 @@ class SpecialLog extends SpecialPage {
                        ) . "\n";
                }
 
-               // Select: All, None, Invert
-               $links = [];
-               $links[] = Html::element(
-                       'a', [ 'href' => '#', 'class' => 'mw-checkbox-all' ],
-                       $this->msg( 'checkbox-all' )->text()
-               );
-               $links[] = Html::element(
-                       'a', [ 'href' => '#', 'class' => 'mw-checkbox-none' ],
-                       $this->msg( 'checkbox-none' )->text()
-               );
-               $links[] = Html::element(
-                       'a', [ 'href' => '#', 'class' => 'mw-checkbox-invert' ],
-                       $this->msg( 'checkbox-invert' )->text()
-               );
-
-               $buttons .= Html::rawElement( 'p',
-                       [
-                               'class' => "mw-checkbox-toggle-controls"
-                       ],
-                       $this->msg( 'checkbox-select' )
-                               ->rawParams( $this->getLanguage()->commaList( $links ) )->escaped()
-               );
-
-               $this->getOutput()->addModules( 'mediawiki.checkboxtoggle' );
-               $this->getOutput()->addModuleStyles( 'mediawiki.checkboxtoggle.styles' );
+               $buttons .= ( new ListToggle( $this->getOutput() ) )->getHTML();
 
                $s .= $buttons . $formcontents . $buttons;
                $s .= Html::closeElement( 'form' );
index d706786..c0f9590 100644 (file)
@@ -255,9 +255,10 @@ class SpecialVersion extends SpecialPage {
         * Return a string of the MediaWiki version with Git revision if available.
         *
         * @param string $flags
+        * @param Language|string|null $lang
         * @return mixed
         */
-       public static function getVersion( $flags = '' ) {
+       public static function getVersion( $flags = '', $lang = null ) {
                global $wgVersion, $IP;
 
                $gitInfo = self::getGitHeadSha1( $IP );
@@ -268,7 +269,11 @@ class SpecialVersion extends SpecialPage {
                        $version = "$wgVersion ($shortSha1)";
                } else {
                        $shortSha1 = substr( $gitInfo, 0, 7 );
-                       $shortSha1 = wfMessage( 'parentheses' )->params( $shortSha1 )->escaped();
+                       $msg = wfMessage( 'parentheses' );
+                       if ( $lang !== null ) {
+                               $msg->inLanguage( $lang );
+                       }
+                       $shortSha1 = $msg->params( $shortSha1 )->escaped();
                        $version = "$wgVersion $shortSha1";
                }
 
index 31f6807..c92c06b 100644 (file)
@@ -315,9 +315,12 @@ class User implements IDBAccessObject {
        }
 
        /**
-        * Test if it's safe to load this User object. You should typically check this before using
-        * $wgUser or RequestContext::getUser in a method that might be called before the system has
-        * been fully initialized. If the object is unsafe, you should use an anonymous user:
+        * Test if it's safe to load this User object.
+        *
+        * You should typically check this before using $wgUser or
+        * RequestContext::getUser in a method that might be called before the
+        * system has been fully initialized. If the object is unsafe, you should
+        * use an anonymous user:
         * \code
         * $user = $wgUser->isSafeToLoad() ? $wgUser : new User;
         * \endcode
@@ -327,7 +330,14 @@ class User implements IDBAccessObject {
         */
        public function isSafeToLoad() {
                global $wgFullyInitialised;
-               return $wgFullyInitialised || $this->mLoadedItems === true || $this->mFrom !== 'session';
+
+               // The user is safe to load if:
+               // * MW_NO_SESSION is undefined AND $wgFullyInitialised is true (safe to use session data)
+               // * mLoadedItems === true (already loaded)
+               // * mFrom !== 'session' (sessions not involved at all)
+
+               return ( !defined( 'MW_NO_SESSION' ) && $wgFullyInitialised ) ||
+                       $this->mLoadedItems === true || $this->mFrom !== 'session';
        }
 
        /**
@@ -458,12 +468,18 @@ class User implements IDBAccessObject {
                }
 
                $cache = ObjectCache::getMainWANInstance();
-               $data = $cache->get( $this->getCacheKey( $cache ) );
-               if ( !is_array( $data ) || $data['mVersion'] < self::VERSION ) {
-                       // Object is expired
-                       return false;
-               }
+               $key = $this->getCacheKey( $cache );
 
+               $processCache = ObjectCache::getLocalServerInstance( 'hash' );
+               $data = $processCache->get( $key );
+               if ( !is_array( $data ) ) {
+                       $data = $cache->get( $key );
+                       if ( !is_array( $data ) || $data['mVersion'] < self::VERSION ) {
+                               // Object is expired
+                               return false;
+                       }
+                       $processCache->set( $key, $data );
+               }
                wfDebug( "User: got user {$this->mId} from cache\n" );
 
                // Restore from cache
@@ -1111,7 +1127,8 @@ class User implements IDBAccessObject {
                $this->mOptionOverrides = null;
                $this->mOptionsLoaded = false;
 
-               $loggedOut = $this->mRequest ? $this->mRequest->getSession()->getLoggedOutTimestamp() : 0;
+               $loggedOut = $this->mRequest && !defined( 'MW_NO_SESSION' )
+                       ? $this->mRequest->getSession()->getLoggedOutTimestamp() : 0;
                if ( $loggedOut !== 0 ) {
                        $this->mTouched = wfTimestamp( TS_MW, $loggedOut );
                } else {
@@ -3080,9 +3097,13 @@ class User implements IDBAccessObject {
                if ( is_null( $this->mRights ) ) {
                        $this->mRights = self::getGroupPermissions( $this->getEffectiveGroups() );
 
-                       $allowedRights = $this->getRequest()->getSession()->getAllowedUserRights();
-                       if ( $allowedRights !== null ) {
-                               $this->mRights = array_intersect( $this->mRights, $allowedRights );
+                       // Deny any rights denied by the user's session, unless this
+                       // endpoint has no sessions.
+                       if ( !defined( 'MW_NO_SESSION' ) ) {
+                               $allowedRights = $this->getRequest()->getSession()->getAllowedUserRights();
+                               if ( $allowedRights !== null ) {
+                                       $this->mRights = array_intersect( $this->mRights, $allowedRights );
+                               }
                        }
 
                        Hooks::run( 'UserGetRights', [ $this, &$this->mRights ] );
@@ -4605,11 +4626,14 @@ class User implements IDBAccessObject {
                        }
                }
 
-               // Remove any rights that aren't allowed to the global-session user
-               $allowedRights = SessionManager::getGlobalSession()->getAllowedUserRights();
-               if ( $allowedRights !== null && !in_array( $right, $allowedRights, true ) ) {
-                       $cache[$right] = false;
-                       return false;
+               // Remove any rights that aren't allowed to the global-session user,
+               // unless there are no sessions for this endpoint.
+               if ( !defined( 'MW_NO_SESSION' ) ) {
+                       $allowedRights = SessionManager::getGlobalSession()->getAllowedUserRights();
+                       if ( $allowedRights !== null && !in_array( $right, $allowedRights, true ) ) {
+                               $cache[$right] = false;
+                               return false;
+                       }
                }
 
                // Allow extensions to say false
index 5d7826a..0ad1af0 100644 (file)
@@ -91,6 +91,7 @@
        "tog-watchlisthidebots": "أخف تعديلات البوتات من قائمة المراقبة",
        "tog-watchlisthideminor": "أخف التعديلات الطفيفة في قائمة المراقبة",
        "tog-watchlisthideliu": "أخف تعديلات المستخدمين المسجلين في قائمة المراقبة",
+       "tog-watchlistreloadautomatically": "أعد تحميل قائمة المراقبة بصفة آلية حينما يتغير مرشح ما (يتطلب جافاسكربت)",
        "tog-watchlisthideanons": "أخف تعديلات المستخدمين المجهولين في قائمة المراقبة",
        "tog-watchlisthidepatrolled": " أخف التعديلات المراجعة في قائمة المراقبة",
        "tog-watchlisthidecategorization": "أخف تصنيف الصفحات",
        "grant-editpage": "تعديل صفحات موجودة",
        "grant-editprotected": "تعديل صفحات محمية",
        "grant-highvolume": "تعديل كبير الحجم",
+       "grant-protect": "حماية وإزالة حماية الصفحات",
+       "grant-rollback": "استرجاع التغييرات في الصفحات",
        "grant-sendemail": "إرسال بريد إلكتروني للمستخدمين الآخرين",
        "grant-uploadeditmovefile": "رفع وإزاحة ونقل الملفات",
        "grant-uploadfile": "ارفع ملفات جديدة",
        "recentchangeslinked-to": "أظهر التغييرات للصفحات الموصولة للصفحة المعطاة عوضا عن ذلك",
        "recentchanges-page-added-to-category": "[[:$1]] أضيفت إلى التصنيف",
        "recentchanges-page-added-to-category-bundled": "أضيفت [[:$1]] و{{PLURAL:$2|صفحة واحدة|صفحتان|$2 صفحات}} إلى التصنيف",
+       "recentchanges-page-removed-from-category": "أزيلت [[$1:]] من التصنيف",
        "recentchanges-page-removed-from-category-bundled": "أزيلت [[:$1]] و{{PLURAL:$2|صفحة واحدة|صفحتان|$2 صفحات}} من التصنيف",
        "autochange-username": "تغيير آلي لميدياويكي",
        "upload": "ارفع ملفا",
        "apisandbox-results": "النتائج",
        "apisandbox-request-url-label": "مسار الطلب:",
        "apisandbox-request-time": "وقت الطلب: $1",
+       "apisandbox-alert-page": "هناك حقول غير صالحة في هذه الصفحة.",
        "apisandbox-alert-field": "قيمة هذا الحقل غير صالحة.",
        "booksources": "مصادر كتاب",
        "booksources-search-legend": "البحث عن مصادر الكتب",
        "wlshowhidebots": "البوتات",
        "wlshowhideliu": "المسجلين",
        "wlshowhideanons": "المجهولين",
+       "wlshowhidepatr": "التعديلات المراجعة",
        "wlshowhidemine": "تعديلاتي",
        "wlshowhidecategorization": "تصنيف الصفحات",
        "watchlist-options": "خيارات قائمة المراقبة",
        "block-log-flags-hiddenname": "اسم المستخدم مخفي",
        "range_block_disabled": "إمكانية مدير النظام لمنع نطاق معطلة.",
        "ipb_expiry_invalid": "تاريخ الانتهاء غير صحيح.",
+       "ipb_expiry_old": "توقيت انتهاء المنع واقع في الماضي.",
        "ipb_expiry_temp": "عمليات منع أسماء المستخدمين المخفية يجب أن تكون دائمة.",
        "ipb_hide_invalid": "غير قادر على منع الحساب؛ لديه أكثر من {{PLURAL:$1|تعديل واحد|$1 تعديل}}.",
        "ipb_already_blocked": "\"$1\" ممنوع حالياً",
        "tooltip-feed-rss": "تلقيم أر إس إس لهذه الصفحة",
        "tooltip-feed-atom": "تلقيم أتوم لهذه الصفحة",
        "tooltip-t-contributions": "رؤية قائمة مساهمات هذا المستخدم",
-       "tooltip-t-emailuser": "أرسل رسالة لهذا المستخدم",
+       "tooltip-t-emailuser": "أرسل رسالة {{GENDER:$1|لهذا المستخدم|لهذه المستخدمة}}",
        "tooltip-t-info": "المزيد من المعلومات عن هذه الصفحة",
        "tooltip-t-upload": "ارفع ملفات",
        "tooltip-t-specialpages": "قائمة بكل الصفحات الخاصة",
        "svg-long-error": "ملف SVG غير صالح: $1",
        "show-big-image": "الملف الأصلي",
        "show-big-image-preview": "حجم هذه المعاينة: $1.",
+       "show-big-image-preview-differ": "حجم معاينة $3 لذلك الملف ذي الامتداد $2: $1.",
        "show-big-image-other": "{{PLURAL:$2||البعد الآخر|البعدان الآخران|الأبعاد الأخرى}}: $1.",
        "show-big-image-size": "$1 × $2 بكسل",
        "file-info-gif-looped": "ملفوف",
        "expand_templates_generate_xml": "اعرض شجرة XML parse",
        "expand_templates_generate_rawhtml": "أظهر خام HTML",
        "expand_templates_preview": "عرض مسبق",
+       "expand_templates_input_missing": "يجب تقديم بعض المدخلات النصية على الأقل.",
        "pagelanguage": "تغيير لغة الصفحة",
        "pagelang-name": "صفحة",
        "pagelang-language": "اللغة",
index 637418e..d54096a 100644 (file)
        "pagetitle": "{{SITENAME}} проектынан",
        "retrievedfrom": "Сығанағы — «$1»",
        "youhavenewmessages": "Яңы $1 бар ($2).",
-       "youhavenewmessagesfromusers": "{{PLURAL:$4|Һеҙгә}} {{PLURAL:$3|$3 ҡатнашыусыһана}} $1 килде ($2).",
+       "youhavenewmessagesfromusers": "{{PLURAL:$4|Һеҙгә}} {{PLURAL:$3|$3 ҡатнашыусыһынан}} $1 килде ($2).",
        "youhavenewmessagesmanyusers": "Һеҙгә күп ҡатнашыусынан $1 бар ($2).",
        "newmessageslinkplural": "{{PLURAL:$1|1=яңы хәбәр|яңы хәбәр}}",
        "newmessagesdifflinkplural": "һуңғы {{PLURAL:$1|үҙгәртеү|999=үҙгәртеүҙәр}}",
        "badtitle": "Ярамаған исем",
        "badtitletext": "Биттең һоратылған исеме дөрөҫ түгел, буш йәки телдәр араһы йәки интервики исеме яңылыш күрһәтелгән. Исемдә тыйылған символдар булыуы ла мөмкин.",
        "title-invalid-empty": "Һоратылған бит башлығы буш йәки исемдәр арауығы була.",
-       "title-invalid-utf8": "Һеҙ эҙләгән биттә  UTF-8 дөрөҫ булмаған символдар теҙмәһе бар.",
+       "title-invalid-utf8": "Һеҙ эҙләгән биттә дөрөҫ булмаған UTF-8 символдар теҙмәһе бар.",
        "perfcached": "Был мәғлүмәттәр кэштан алынған, уларҙа һуңғы үҙгәртеүҙәр булмаҫҡа мөмкин. Кэшта иң күбе {{PLURAL:$1|язма}} һаҡлана.",
        "perfcachedts": "Был мәғлүмәттәр кэштан алынған, ул һуңғы тапҡыр $1 яңыртылды.  Кэшта иң күбе  {{PLURAL:$4|язма}} һаҡлана",
        "querypage-no-updates": "Был битте яңыртыу хәҙер тыйылған.\nБында күрһәтелгән мәғлүмәттәр яңыртылмаясаҡ.",
        "contributions": "{{GENDER:$1|Ҡатнашыусы}} башҡарған эш",
        "contributions-title": "$1 исемле ҡатнашыусы башҡарған эш",
        "mycontris": "Башҡарған эштәр",
-       "anoncontribs": "баÑ\88ҡаÑ\80Ò\93ан Ñ\8dÑ\88Ñ\82әр",
+       "anoncontribs": "Ð\98Ò\93Ó\99нÓ\99ләр",
        "contribsub2": "{{GENDER:$3|$1}} башҡарған эше ($2)",
        "nocontribs": "Күрһәтелгән шарттарға яуап биргән үҙгәртеүҙәр табылманы.",
        "uctop": "(ағымдағы)",
index 5f975bf..943a21d 100644 (file)
        "newarticle": "(Новая)",
        "newarticletext": "Вы прыйшлі па спасылцы на старонку, якая яшчэ не існуе.\nКаб стварыць яе, напішыце тэкст у полі ніжэй (глядзіце [$1 старонку дапамогі] для дадатковай інфармацыі).\nКалі Вы трапілі сюды памылкова, націсьніце '''назад''' у вашым браўзэры.",
        "anontalkpagetext": "----''Гэта старонка гутарак ананімнага ўдзельніка, які яшчэ не стварыў сабе рахунак альбо не ўжывае яго. Таму мы вымушаныя ўжываць лічбавы IP-адрас дзеля ягонай ідэнтыфікацыі. Адзін IP-адрас можа выкарыстоўвацца некалькімі ўдзельнікамі. Калі Вы — ананімны ўдзельнік і лічыце, што атрымалі не прызначаныя Вам камэнтары, калі ласка, [[Special:UserLogin/signup|стварыце рахунак]] альбо [[Special:UserLogin|увайдзіце ў сыстэму]], каб у будучыні пазьбегнуць магчымай блытаніны зь іншымі ананімнымі ўдзельнікамі.''",
-       "noarticletext": "ЦÑ\8fпеÑ\80 Ñ\82Ñ\8dкÑ\81Ñ\82 Ð½Ð° Ð³Ñ\8dÑ\82ай Ñ\81Ñ\82аÑ\80онÑ\86Ñ\8b Ð°Ð´Ñ\81Ñ\83Ñ\82нÑ\96Ñ\87ае.\nÐ\92Ñ\8b Ð¼Ð¾Ð¶Ð°Ñ\86е [[Special:Search/{{PAGENAME}}|паÑ\88Ñ\83каÑ\86Ñ\8c Ð³Ñ\8dÑ\82Ñ\83Ñ\8e Ð½Ð°Ð·Ð²Ñ\83]] Ñ\9e Ñ\96нÑ\88Ñ\8bÑ\85 Ñ\81Ñ\82аÑ\80онкаÑ\85, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} Ð¿Ð°Ñ\88Ñ\83каÑ\86Ñ\8c Ñ\83 Ð°Ð´Ð¿Ð°Ð²ÐµÐ´Ð½Ñ\8bÑ\85 Ð¶Ñ\83Ñ\80налаÑ\85 Ð¿Ð°Ð´Ð·ÐµÑ\8fÑ\9e]\nалÑ\8cбо [{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} Ñ\80Ñ\8dдагаваць гэтую старонку]</span>.",
+       "noarticletext": "ЦÑ\8fпеÑ\80 Ñ\82Ñ\8dкÑ\81Ñ\82 Ð½Ð° Ð³Ñ\8dÑ\82ай Ñ\81Ñ\82аÑ\80онÑ\86Ñ\8b Ð°Ð´Ñ\81Ñ\83Ñ\82нÑ\96Ñ\87ае.\nÐ\92Ñ\8b Ð¼Ð¾Ð¶Ð°Ñ\86е [[Special:Search/{{PAGENAME}}|паÑ\88Ñ\83каÑ\86Ñ\8c Ð³Ñ\8dÑ\82Ñ\83Ñ\8e Ð½Ð°Ð·Ð²Ñ\83]] Ñ\81Ñ\8fÑ\80од Ñ\96нÑ\88Ñ\8bÑ\85 Ñ\81Ñ\82аÑ\80онак, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} Ð¿Ð°Ñ\88Ñ\83каÑ\86Ñ\8c Ñ\83 Ð°Ð´Ð¿Ð°Ð²ÐµÐ´Ð½Ñ\8bÑ\85 Ð¶Ñ\83Ñ\80налаÑ\85 Ð¿Ð°Ð´Ð·ÐµÑ\8fÑ\9e]\nалÑ\8cбо [{{fullurl:{{FULLPAGENAME}}|action=edit}} Ñ\81Ñ\82ваÑ\80Ñ\8bць гэтую старонку]</span>.",
        "noarticletext-nopermission": "Цяпер на гэтай старонцы тэкст адсутнічае.\nВы можаце [[Special:Search/{{PAGENAME}}|пашукаць назву гэтай старонкі]] на іншых старонках, альбо <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} пашукаць зьвязаныя запісы ў журналах]</span>, але ў вас няма дазволу ствараць гэтую старонку.",
        "missing-revision": "Вэрсія старонкі №$1 з назвай «{{FULLPAGENAME}}» не існуе.\n\nЗвычайна гэта здараецца з-за перахода па састарэлай спасылцы на старонку, якая была выдаленая.\nПадрабязнасьці можна знайсьці ў [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журнале выдаленьняў].",
        "userpage-userdoesnotexist": "Рахунак удзельніка «<nowiki>$1</nowiki>» не зарэгістраваны. Калі ласка, удакладніце, ці жадаеце Вы стварыць/рэдагаваць гэтую старонку.",
        "grant-generic": "Набор правоў «$1»",
        "grant-group-page-interaction": "Узаемадзеньне з старонкамі",
        "grant-group-file-interaction": "Узаемадзеяньне з мэдыяфайламі",
+       "grant-group-watchlist-interaction": "Узаемадзеяньне з вашым сьпісам назіраньня",
+       "grant-group-email": "Адпраўка лістоў электроннай пошты",
+       "grant-group-customization": "Налады і перавагі",
        "grant-createaccount": "Стварыць рахункі",
        "grant-createeditmovepage": "Ствараць, рэдагаваць і пераносіць старонкі",
        "grant-delete": "Выдаляць старонкі, вэрсіі і запісы журналу",
index f123a25..11164fb 100644 (file)
        "changepassword-success": "আপনার পাসওয়ার্ড সাফলভাবে পরিবর্তীত হয়েছে।",
        "changepassword-throttled": "আপনি সম্প্রতি পরপর বেশ কয়েকবার প্রবেশের চেষ্টা করেছেন। পুনরায় চেষ্টা করার পূর্বে অনুগ্রহ করে $1 অপেক্ষা করুন।",
        "botpasswords": "বট পাসওয়ার্ড",
+       "botpasswords-disabled": "বট পাসওয়ার্ড নিষ্ক্রিয় করা।",
+       "botpasswords-no-central-id": "বট পাসওয়ার্ড ব্যবহার করার জন্য, আপনাকে একটি কেন্দ্রীভূত অ্যাকাউন্টে প্রবেশ করতে হবে।",
        "botpasswords-label-appid": "বটের নাম:",
        "botpasswords-label-create": "তৈরি করো",
        "botpasswords-label-update": "হালনাগাদ",
        "newarticle": "(নতুন)",
        "newarticletext": "আপনি এমন একটি লিংক অনুসরণ করছেন, যা নেই।\nপাতাটি তৈরি করতে, নিচের বাক্সে তা টাইপ করা শুরু করুন (আরও তথ্য জানতে [$1 সহায়িকা পাতা] দেখুন)।\nআপনি যদি ভুল করে এখানে এসে থাকেন, তাহলে আপনার ব্রাউজারের '''back''' বোতাম ক্লিক করুন।",
        "anontalkpagetext": "----''এটি একটি বেনামী ব্যবহারকারীর আলাপের পাতা, যিনি এখনও কোন অ্যাকাউন্ট তৈরি করেননি, কিংবা তিনি অ্যাকাউন্টটি ব্যবহার করছেন না।\nআমরা তাই সাংখ্যিক আইপি ঠিকানা ব্যবহার করে তাঁকে শনাক্ত করছি।\nএকাধিক ব্যবহারকারী এরকম একটি আইপি ঠিকানা ব্যবহার করতে পারেন।\nআপনি যদি একজন বেনামী ব্যবহারকারী হয়ে থাকেন এবং যদি অনুভব করেন যে আপনার প্রতি অপ্রাসঙ্গিক মন্তব্য করা হয়েছে, তাহলে অন্যান্য বেনামী ব্যবহারকারীর সাথে ভবিষ্যতে বিভ্রান্তি এড়াতে অনুগ্রহ করে [[Special:UserLogin/signup|একটি অ্যাকাউন্ট তৈরি করুন]] অথবা  [[Special:UserLogin|অ্যাকাউন্টে প্রবেশ করুন]]।''",
-       "noarticletext": "বরà§\8dতমানà§\87 à¦\8fà¦\87 à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼ à¦\95à§\8bন à¦²à§\87à¦\96া à¦¨à§\87à¦\87।\nà¦\86পনি à¦\9aাà¦\87লà§\87 à¦\85নà§\8dযানà§\8dয à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼ [[Special:Search/{{PAGENAME}}| à¦\8fà¦\87 à¦¶à¦¿à¦°à§\8bনামà¦\9fি à¦\85নà§\81সনà§\8dধান à¦\95রতà§\87 à¦ªà¦¾à¦°à§\87ন]],\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} à¦\8f à¦¸à¦®à§\8dপরà§\8dà¦\95িত à¦²à¦\97 à¦\85নà§\81সনà§\8dধান à¦\95রতà§\87 à¦ªà¦¾à¦°à§\87ন], \nà¦\95িà¦\82বা [{{fullurl:{{FULLPAGENAME}}|action=edit}} à¦\8fà¦\87 à¦ªà¦¾à¦¤à¦¾à¦\9fি à¦¸à¦®à§\8dপাদনা করতে পারেন]</span>।",
+       "noarticletext": "বরà§\8dতমানà§\87 à¦\8fà¦\87 à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼ à¦\95à§\8bন à¦²à§\87à¦\96া à¦¨à§\87à¦\87।\nà¦\86পনি à¦\9aাà¦\87লà§\87 à¦\85নà§\8dযানà§\8dয à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼ [[Special:Search/{{PAGENAME}}| à¦\8fà¦\87 à¦¶à¦¿à¦°à§\8bনামà¦\9fি à¦\85নà§\81সনà§\8dধান à¦\95রতà§\87 à¦ªà¦¾à¦°à§\87ন]],\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} à¦\8f à¦¸à¦®à§\8dপরà§\8dà¦\95িত à¦²à¦\97 à¦\85নà§\81সনà§\8dধান à¦\95রতà§\87 à¦ªà¦¾à¦°à§\87ন], \nà¦\95িà¦\82বা [{{fullurl:{{FULLPAGENAME}}|action=edit}} à¦\8fà¦\87 à¦ªà¦¾à¦¤à¦¾à¦\9fি à¦¤à§\88রি করতে পারেন]</span>।",
        "noarticletext-nopermission": "বর্তমানে এই পাতায় কোন লেখা নেই।\nআপনি চাইলে অন্য পাতায় [[Special:Search/{{PAGENAME}}| শিরোনামটি অনুসন্ধান করতে পারেন]], অথবা <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} সম্পর্কিত লগ অনুসন্ধান করতে পারেন]</span>, কিন্তু আপনার এই পাতাটি তৈরী করার অনুমতি নেই।",
        "missing-revision": "\"{{FULLPAGENAME}}\" এর #$1তম সংস্করণটি প্রদর্শন সম্ভব নয়।\n\nসাধারণত মুছে ফেলা হয়েছে এমন পাতার মেয়াদ উত্তীর্ণ ইতিহাস পাতার লিংক ওপেন করার কারণে এটি হতে পারে। \n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] বিস্তারিত তথ্য জানা যাবে।",
        "userpage-userdoesnotexist": "\"<nowiki>$1</nowiki>\" নামের কোন ব্যবহারকারী অ্যাকাউন্ট নিবন্ধিত হয়নি। অনুগ্রহ করে পরীক্ষা করে দেখুন আপনি এই পাতাটি সৃষ্টি/সম্পাদনা করতে চান কি না।",
        "mergehistory-fail-bad-timestamp": "সময়তারিখ অবৈধ।",
        "mergehistory-fail-invalid-source": "উত্স পাতা অবৈধ।",
        "mergehistory-fail-invalid-dest": "গন্তব্য পাতা অবৈধ।",
+       "mergehistory-fail-self-merge": "উৎস এবং গন্তব্য পাতা একই।",
        "mergehistory-fail-toobig": "ইতিহাস থেকে আগের পাতাগুলো একীকরণ সম্ভব নয়, কারণ এর ফলে সর্বোচ্চ $1 টি {{PLURAL:$1|সংস্করণ}} স্থানান্তরের সীমানা অতিক্রম করবে।",
        "mergehistory-no-source": "$1 বলে কোন উৎস পাতার অস্তিত্ব নেই।",
        "mergehistory-no-destination": "$1 বলে কোন গন্তব্য পাতার অস্তিত্ব নেই।",
        "rollback-success": "$1-এর সম্পাদনাগুলি পূর্বাবস্থায় ফিরিয়ে নেওয়া হয়েছে; $2-এর করা শেষ সংস্করণে পাতাটি ফেরত নেওয়া হয়েছে।",
        "sessionfailure-title": "সেশন পরিত্যক্ত",
        "sessionfailure": "আপনার প্রবেশ সেশনে একটি সমস্যা হয়েছে বলে মনে হচ্ছে;\nসেশন হাইজ্যাক প্রতিরোধের উপায় হিসেবে এই কাজটি বাতিল করা হয়েছে।\nঅনুগ্রহ ব্রাউজারের \"পিছনে\" বোতাম চাপুন এবং যে পাতা থেকে এসেছিলেন, তা পুনঃলোড করুন এবং আবার চেষ্টা করুন।",
+       "changecontentmodel-legend": "বিষয়বস্তুর মডেল পরিবর্তন করুন",
        "changecontentmodel-title-label": "পাতার শিরোনাম",
        "changecontentmodel-model-label": "পাতার বিষয়বস্তুর প্রতিরূপ",
        "changecontentmodel-reason-label": "কারণ:",
        "hijri-calendar-m10": "শাওয়াল",
        "hijri-calendar-m11": "জ্বিলকদ",
        "hijri-calendar-m12": "জ্বিলহজ্জ",
+       "hebrew-calendar-m1": "তিশরেই",
        "hebrew-calendar-m10": "তামুয",
        "hebrew-calendar-m11": "আভ",
        "hebrew-calendar-m12": "এলুল",
+       "hebrew-calendar-m7-gen": "নিসান",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|আলাপ]])",
        "timezone-utc": "ইউটিসি",
        "timezone-local": "স্থানীয়",
        "tags-create-submit": "তৈরি করুন",
        "tags-create-no-name": "আপনাকে একটি ট্যাগের নাম অবশ্যই উল্লেখ করতে হবে।",
        "tags-create-already-exists": "\"$1\" ট্যাগ ইতিমধ্যেই বিদ্যমান।",
+       "tags-create-warnings-below": "আপনি কি ট্যাগটি তৈরি করা চালিয়ে যেতে চান?",
        "tags-delete-title": "ট্যাগ অপসারণ",
        "tags-delete-reason": "কারণ:",
        "tags-delete-submit": "অপরিবর্তনীয় এই ট্যাগ অপসারন করো",
        "tags-edit-existing-tags": "বিদ্যমান ট্যাগ:",
        "tags-edit-existing-tags-none": "''কোনটি নয়''",
        "tags-edit-new-tags": "নতুন ট্যাগ:",
+       "tags-edit-add": "এই ট্যাগগুলি যোগ করুন:",
+       "tags-edit-remove": "এই ট্যাগগুলি সরিয়ে ফেলুন:",
+       "tags-edit-remove-all-tags": "(সব ট্যাগ সরান)",
        "tags-edit-chosen-placeholder": "কিছু ট্যাগ নির্বাচন করুন",
        "tags-edit-chosen-no-results": "কোন ট্যাগ মিল পাওয়া যায়নি",
        "tags-edit-reason": "কারণ:",
index b3dae32..c60e2d8 100644 (file)
        "pool-timeout": "Aet eur dreist d'an termen gortoz evit ar stankadenn",
        "pool-queuefull": "Soulgarget eo ar servijerioù",
        "pool-errorunknown": "Fazi dianav",
+       "poolcounter-usage-error": "Fazi implij : $1",
        "aboutsite": "Diwar-benn {{SITENAME}}",
        "aboutpage": "Project:Diwar-benn",
        "copyright": "Danvez a c'haller implijout dindan $1 nemet ha notet e vefe ar c'hontrol.",
        "filerenameerror": "Dibosupl da adenvel « $1 » e « $2 ».",
        "filedeleteerror": "Dibosupl eo diverkañ « $1 ».",
        "directorycreateerror": "N'eus ket bet gallet krouiñ kavlec'h \"$1\".",
+       "directoryreadonlyerror": "Kavlec'h  «$1» lenn hepken",
+       "directorynotreadableerror": "Ne c'haller ket lenn ar c'havlec'h « $1 ».",
        "filenotfound": "N'haller ket kavout ar restr \"$1\".",
        "unexpected": "Talvoudenn dic'hortoz : \"$1\"=\"$2\".",
        "formerror": "Fazi: Dibosupl eo kinnig ar furmskrid",
        "resetpass_submit": "Cheñch ar ger-tremen ha kevreañ",
        "changepassword-success": "Cheñchet eo bet ho ker-tremen !",
        "changepassword-throttled": "Betek re hoc'h heus klasket kevreañ en aner.\nGortozit $1, mar plij, a-raok esaeañ en-dro.",
+       "botpasswords-label-appid": "Anv ar robot",
        "botpasswords-label-create": "Krouiñ",
+       "botpasswords-label-update": "Hizivaat",
        "botpasswords-label-cancel": "Nullañ",
        "botpasswords-label-delete": "Dilemel",
+       "botpasswords-label-resetpassword": "Adderaouekaat ar ger-tremen",
+       "botpasswords-bad-appid": "N'eo ket reizh anv ar robot « $1 »",
+       "botpasswords-insert-failed": "C'hwitet eo ouzhpennadenn ar robot « $1 ». Hag ouzhpennet eo bet ?",
+       "botpasswords-update-failed": "C'hwitet eo bet hizivadur anv ar robot « $1 ». Ha dilamet eo bet ?",
+       "botpasswords-created-title": "Ger-tremen robotoù krouet",
+       "botpasswords-created-body": "Krouet mat eo bet ar ger-tremen « $1 ».",
+       "botpasswords-updated-title": "Ger-tremen robotoù hizivaet",
+       "botpasswords-updated-body": "Hizivaet mat eo bet ar ger-tremen « $1 ».",
+       "botpasswords-deleted-title": "Ger-tremen robotoù dilamet",
+       "botpasswords-deleted-body": "Ar ger-tremen robotoù « $1 » zo bet dilamet.",
+       "botpasswords-newpassword": "<strong>\"$2\"</strong> eo ar ger-tremen evit kevreañ gant <strong>$1</strong>. Enrollit anezhañ, par plij, evit ober dave dezhañ diwezhatoc'h.</em>",
+       "botpasswords-no-provider": "N'eo ket hegerz BotPasswordsSessionProvider.",
        "resetpass_forbidden": "N'haller ket cheñch ar gerioù-termen",
        "resetpass-no-info": "Ret eo deoc'h bezañ kevreet a-benn mont d'ar bajenn-se war-eeun.",
        "resetpass-submit-loggedin": "Cheñch ger-tremen",
        "upload-dialog-button-done": "Graet",
        "upload-dialog-button-save": "Enrollañ",
        "upload-dialog-button-upload": "Enporzhiañ",
-       "upload-form-label-select-file": "Diuzañ ur restr",
        "upload-form-label-infoform-title": "Munudoù",
        "upload-form-label-infoform-name": "Anv",
        "upload-form-label-infoform-description": "Deskrivadur",
        "suppress": "Dindan evezh",
        "querypage-disabled": "Diweredekaet eo bet ar bajenn dibar-mañ evit aesaat d'ar reizhiad un tammig.",
        "apihelp-no-such-module": "N'eo ket bet kavet ar vodulenn \"$1\".",
+       "apisandbox": "Poull-traezh API",
+       "apisandbox-api-disabled": "Diweredekaet eo API war al lec'hienn-mañ.",
+       "apisandbox-intro": "Grit gant ar bajenn-mañ evit amprouiñ '''servij Web API MediaWiki'''.\nKit da deuler ur sell war [//www.mediawiki.org/wiki/API:Main_page titouroù an API] evit gouzout hiroc'h war an doare da embreger API. Da skouer :\n[//www.mediawiki.org/wiki/API#A_simple_example gwelet danvez ur bennbajenn]. Dibabit un oberiadenn bennak evit gwelet skouerioù all",
+       "apisandbox-submit": "Sevel ar goulenn",
+       "apisandbox-reset": "Riñsañ",
+       "apisandbox-examples": "Skouer",
+       "apisandbox-results": "Disoc'h",
+       "apisandbox-request-url-label": "Goulenn URL :",
+       "apisandbox-request-time": "Pad ar goulenn: $1",
        "booksources": "Oberennoù dave",
        "booksources-search-legend": "Klask en oberennoù dave",
        "booksources-isbn": "ISBN :",
index 6b2b073..38b8ffc 100644 (file)
        "protect_change": "хийца",
        "protectthispage": "Ларъе хӀара агӀо",
        "unprotect": "Ларъяр хийцар",
-       "unprotectthispage": "Хийца хӀокху агӀона ларъяр",
+       "unprotectthispage": "ХӀокху агӀонан ларъяр хийца",
        "newpage": "Керла агӀонаш",
-       "talkpage": "Ð\94ийÑ\86аÑ\80е Ð¹Ð¸Ð»Ð»Ð° Ñ\85Ó\80аÑ\80а Ð°Ð³Ó\80о",
+       "talkpage": "Ð¥Ó\80аÑ\80а Ð°Ð³Ó\80о Ð¹Ð¸Ð¹Ñ\86аÑ\80е Ð¹Ð¸Ð»Ð»Ð°",
        "talkpagelinktext": "Дийцаре",
        "specialpage": "Белхан агӀо",
        "personaltools": "Долахь болу гӀирсаш",
        "templatepage": "Хьажа кепа агӀоне",
        "viewhelppage": "Схьаэца гӀо",
        "categorypage": "Хьажа категорешан агӀоне",
-       "viewtalkpage": "Ð¥Ñ\8cажа Ð´Ð¸Ð¹Ñ\86аÑ\80е",
+       "viewtalkpage": "Ð\94ийÑ\86аÑ\80е Ñ\85Ñ\8cажа",
        "otherlanguages": "Кхечу маттахь дерш",
-       "redirectedfrom": "(ДӀасахьажийна кху $1)",
+       "redirectedfrom": "($1 дӀасахьажийна кхузе)",
        "redirectpagesub": "АгӀо-дӀасахьажорг",
        "redirectto": "ДӀасахьажор тӀе:",
        "lastmodifiedat": "ХӀокху агӀон тӀаьххьаралера хийцам: $1, $2.",
        "logouttext": "'''Ахьа болх дӀаберзийна.'''\n\nЦхьайолу агӀонаш чохь хьо хьай цӀарца болх беш сана хила тарло ишта ца хилийта керлаякха браузеран кэш.",
        "cannotlogoutnow-title": "ХӀинца чудаха таро яц",
        "welcomeuser": "Марша ДогӀийла, $1!",
-       "welcomecreation-msg": "Хьан декъашхочун дӀаяздар кхоьлина.\nДиц ма делахь {{SITENAME}} сайтан [[Special:Preferences|декъашхочун гӀирс]].",
+       "welcomecreation-msg": "Хьан хьесапан (учётни) дӀаяздар кхоьллина.\nДиц ма делахь {{SITENAME}} сайтан [[Special:Preferences|декъашхочун гӀирс]] чекхбаккха.",
        "yourname": "Декъашхочун цӀе:",
        "userlogin-yourname": "Декъашхочун цӀе",
        "userlogin-yourname-ph": "Язъе декъашхочун цӀе",
        "undo-summary-username-hidden": "Юхадаьккхина декъашхочун нисдарш $1, цунна цӀе дӀахьулйина",
        "cantcreateaccounttitle": "Декъашхочун дӀаяздар кхолла йиш яц",
        "viewpagelogs": "Гайта хӀокху агӀонан тептар",
-       "nohistory": "ХӀокху агӀона хийцамаш бина хила бац.",
+       "nohistory": "ХӀокху агӀонан хийцамаш ца бина.",
        "currentrev": "Карара верси",
        "currentrev-asof": "Карара верси $1",
        "revisionasof": "Верси $1",
        "searchprofile-advanced-tooltip": "Дехарца йолу цӀерийн анашкахь лахар",
        "search-result-size": "$1 ({{PLURAL:$2|$2 дош|$2 дешнаш}})",
        "search-result-category-size": "$1 {{PLURAL:$1|юкъаяр}} ($2 {{PLURAL:$2|1=бухара категори|бухара категореш}}, $3 {{PLURAL:$3|1=файл|файлаш}}).",
-       "search-redirect": "(дlасахьажийна $1)",
+       "search-redirect": "(дӀасахьажийна $1)",
        "search-section": "(дакъа $1)",
        "search-category": "(категори $1)",
        "search-file-match": "(файлан чулацаме тера хилар)",
        "action-createpage": "агӀонаш кхолла",
        "action-createtalk": "дийцаре агӀонаш кхоллар",
        "action-createaccount": "хӀара декъашхочун дӀаяздар кхоллар",
-       "action-history": "хӀокху агӀона исторега хьажар",
+       "action-history": "хӀокху агӀонан исторешка хьажар",
        "action-minoredit": "жима нисдар сана билгало",
        "action-move": "хӀокху агӀон цӀе хийца",
        "action-move-subpages": "хӀокху агӀона цӀе хийцар цуна массо бухара агӀонийн а",
        "action-writeapi": "нисдеш лелойо API",
        "action-delete": "дӀаяккха хӀара агӀо",
        "action-deleterevision": "агӀона хӀара верси дӀаяккхар",
-       "action-deletedhistory": "хӀокху агӀона дӀаяккхинцу исторега хьажар",
+       "action-deletedhistory": "хӀокху агӀонан дӀаяьккхинчу исторешка хьажар",
        "action-browsearchive": "ДӀаяхна агӀонаш лахар",
        "action-undelete": "хӀара агӀо меттахӀоттор",
        "action-suppressrevision": "хӀокху къайлаха йолу агӀон версеш хьажар а, меттахӀоттор а",
        "removedwatchtext": "АгӀо «[[:$1]]» дӀаяьккхина яра хьан [[Special:Watchlist|тергаме могӀанан юкъар]].",
        "removedwatchtext-short": "«$1» агӀо хьан тергаман магӀам чура дӀаяьккхина.",
        "watch": "Тидам бе",
-       "watchthispage": "ТеÑ\80гам Ð±Ã© Ñ\85Ó\80окÑ\85Ñ\83 Ð°Ð³Ó\80она",
+       "watchthispage": "Ð¥Ó\80окÑ\85Ñ\83 Ð°Ð³Ó\80онан Ñ\82идам Ð±ÐµÑ\88 Ñ\85ила",
        "unwatch": "Тергамах къаста",
        "unwatchthispage": "ДӀадаккха терго яр",
        "notanarticle": "Яззам бац",
        "tooltip-n-help": "ГӀоде меттиг",
        "tooltip-t-whatlinkshere": "Массо агӀон могӀам, хӀокху агӀонтӀе хьажийна йолу",
        "tooltip-t-recentchangeslinked": "ТӀаьххьарлера хийцамаш хӀокху агӀонашкахь, хьажийна хӀара агӀо болу",
-       "tooltip-feed-rss": "ХӀокху агӀона трансляци RSS-рца",
+       "tooltip-feed-rss": "RSS-ехь йолу хӀокху агӀонан трансляци",
        "tooltip-feed-atom": "Хьагайтар оцу Atom цани хlокху агlон",
        "tooltip-t-contributions": "ХӀокху декъашхочо хийцина йолу агӀонийн могӀам",
        "tooltip-t-emailuser": "ДӀабахьийта хаам оцу декъашхона",
index bfffb5a..34af301 100644 (file)
        "newarticle": "(Neu)",
        "newarticletext": "Du bist einem Link zu einer Seite gefolgt, die nicht vorhanden ist.\nUm diese Seite anzulegen, trage deinen Text in das untenstehende Bearbeitungsfeld ein (weitere Informationen auf der [$1 Hilfeseite]).\nSofern du fälschlicherweise hier bist, klicke auf die Schaltfläche '''Zurück''' deines Browsers.",
        "anontalkpagetext": "----''Diese Seite dient dazu, einem nicht angemeldeten Benutzer Nachrichten zu hinterlassen. Es wird seine IP-Adresse zur Identifizierung verwendet. IP-Adressen können von mehreren Benutzern gemeinsam verwendet werden. Wenn du mit den Kommentaren auf dieser Seite nichts anfangen kannst, richten sie sich vermutlich an einen früheren Inhaber deiner IP-Adresse und du kannst sie ignorieren. Du kannst dir auch ein [[Special:UserLogin/signup|Benutzerkonto erstellen]] oder dich [[Special:UserLogin|anmelden]], um künftig Verwechslungen mit anderen anonymen Benutzern zu vermeiden.''",
-       "noarticletext": "Diese Seite enthält momentan noch keinen Text.\nDu kannst sie <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} bearbeiten]</span>,\nihren Titel auf anderen Seiten [[Special:Search/{{PAGENAME}}|suchen]]\noder die zugehörigen <span class=\"plainlinks\">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachten]</span>.",
+       "noarticletext": "Diese Seite enthält momentan noch keinen Text.\nDu kannst sie <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} erstellen]</span>,\nihren Titel auf anderen Seiten [[Special:Search/{{PAGENAME}}|suchen]]\noder die zugehörigen <span class=\"plainlinks\">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachten]</span>.",
        "noarticletext-nopermission": "Diese Seite enthält momentan noch keinen Text und du bist auch nicht dazu berechtigt, diese Seite zu erstellen.\nDu kannst ihren Titel auf anderen Seiten [[Special:Search/{{PAGENAME}}|suchen]] oder die zugehörigen <span class=\"plainlinks\">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachten].</span>",
        "missing-revision": "Die Version $1 der Seite namens „{{FULLPAGENAME}}“ ist nicht vorhanden.\n\nDieser Fehler wird normalerweise von einem veralteten Link zur Versionsgeschichte einer Seite verursacht, die zwischenzeitlich gelöscht wurde.\nEinzelheiten sind im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Lösch-Logbuch] einsehbar.",
        "userpage-userdoesnotexist": "Das Benutzerkonto „<nowiki>$1</nowiki>“ ist nicht vorhanden. Bitte prüfe, ob du diese Seite wirklich erstellen/bearbeiten willst.",
index eb48dd6..b278df6 100644 (file)
        "newarticletextanon": "{{int:newarticletext|$1}}",
        "talkpagetext": "<!-- MediaWiki:talkpagetext -->",
        "anontalkpagetext": "----\n<em>This is the discussion page for an anonymous user who has not created an account yet, or who does not use it.</em>\nWe therefore have to use the numerical IP address to identify him/her.\nSuch an IP address can be shared by several users.\nIf you are an anonymous user and feel that irrelevant comments have been directed at you, please [[Special:UserLogin/signup|create an account]] or [[Special:UserLogin|log in]] to avoid future confusion with other anonymous users.",
-       "noarticletext": "There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs],\nor [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span>.",
+       "noarticletext": "There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs],\nor [{{fullurl:{{FULLPAGENAME}}|action=edit}} create this page]</span>.",
        "noarticletext-nopermission": "There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages, or <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>, but you do not have permission to create this page.",
        "noarticletextanon": "{{int:noarticletext}}",
        "missing-revision": "The revision #$1 of the page named \"{{FULLPAGENAME}}\" does not exist.\n\nThis is usually caused by following an outdated history link to a page that has been deleted.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].",
index d257f96..91cb089 100644 (file)
        "recentchanges-label-minor": "Ĉi tiu estas eta redakto",
        "recentchanges-label-bot": "Ĉi tiu redakto estis farita per roboto.",
        "recentchanges-label-unpatrolled": "Ĉi tiu redakto ne jam estis patrolata.",
-       "recentchanges-label-plusminus": "La paĝa grandeco ŝanĝiĝis je ĉi tiu nombro de bajtoj",
+       "recentchanges-label-plusminus": "La paĝa grandeco ŝanĝiĝis je ĉi tiu nombro de bitokoj",
        "recentchanges-legend-heading": "'''Klarigo:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (vidu ankaŭ [[Special:NewPages|liston de novaj paĝoj]])",
        "recentchanges-submit": "Montri",
        "number_of_watching_users_pageview": "[$1 {{PLURAL:$1|priatentanta uzanto|priatentantaj uzantoj}}]",
        "rc_categories": "Nur paĝoj el jenaj kategorioj (disigu per \"|\"):",
        "rc_categories_any": "Iuj el la elektitaj",
-       "rc-change-size-new": "$1 {{PLURAL:$1|bajto|bajtoj}} post ŝanĝo",
+       "rc-change-size-new": "$1 {{PLURAL:$1|bitoko|bitokoj}} post ŝanĝo",
        "newsectionsummary": "/* $1 */ nova sekcio",
        "rc-enhanced-expand": "Montri detalojn (per JavaScript)",
        "rc-enhanced-hide": "Kaŝi detalojn",
index 18f9bc7..af5088e 100644 (file)
                        "ElGatoSaez",
                        "Joaquin1001",
                        "YoViajo",
-                       "Asierog"
+                       "Asierog",
+                       "Mgpena"
                ]
        },
        "tog-underline": "Subrayar los enlaces:",
        "newarticle": "(Nuevo)",
        "newarticletext": "Has seguido un enlace a una página que aún no existe.\nPara crear esta página, escribe en el cuadro que aparece a continuación. Para más información, consulta la [$1 página de ayuda].\nSi llegaste aquí por error, vuelve a la página anterior.",
        "anontalkpagetext": "---- ''Esta es la página de discusión de un usuario anónimo que aún no ha creado una cuenta, o no la usa. Por lo tanto, tenemos que usar su dirección IP para identificarlo. Puede que varios usuarios compartan una misma dirección IP. Si eres un usuario anónimo y crees que se han dirigido a ti con comentarios improcedentes, por favor [[Special:UserLogin/signup|crea una cuenta]] o, si ya la tienes, [[Special:UserLogin|identifícate]] para evitar confusiones futuras con otros usuarios anónimos.''",
-       "noarticletext": "En este momento no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar el título de esta página]] en otras páginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros relacionados],\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.",
+       "noarticletext": "Actualmente no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar este título de página]] en otras páginas, o <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros relacionados]</span>, pero no tienes permiso para crear esta página.",
        "noarticletext-nopermission": "Actualmente no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar este título de página]] en otras páginas, o <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros relacionados]</span>, pero no tienes permiso para crear esta página.",
        "missing-revision": "La revisión n.º $1 de la página «{{FULLPAGENAME}}» no existe.\n\nEsto suele ocurrir cuando se sigue un enlace de historial obsoleto que apunta a una página ya borrada.\nPuedes encontrar detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].",
        "userpage-userdoesnotexist": "El usuario «$1» no está registrado. Asegúrate de que realmente quieres crear o editar esta página.",
index 832a2c6..2b2519f 100644 (file)
        "shown-title": "दर एका पानार {{PLURAL:$1|निकाल}} दाखय",
        "viewprevnext": "पळयात ($1 {{int:pipe-separator}} $2) ($3)",
        "searchmenu-exists": "ह्या'''विकीचेर \"[[:$1]]\" ह्या नांवाचें पान आसा .''' {{PLURAL:$2|0=|See also the other search results found.}}",
-       "searchmenu-new": "<strong>ह्या विकीचेर \"[[:$1]]\" हें पान रोचात!<strong> {{PLURAL:$2|सोदून मेळिल्लें पानय पळेयात.|सोदून मेळिल्ले निकाळय पळेयात.}}",
+       "searchmenu-new": "<strong>ह्या विकीचेर \"[[:$1]]\" हें पान रोचात!</strong> {{PLURAL:$2|सोदून मेळिल्लें पानय पळेयात.|सोदून मेळिल्ले निकाळय पळेयात.}}",
        "searchprofile-articles": "मजकूराचीं पानां",
        "searchprofile-images": "भोवमाध्यम",
        "searchprofile-everything": "सगळें",
index 4028d1b..459a7c3 100644 (file)
        "qbmyoptions": "Mhoji panam",
        "faq": "Porot porot vicharlele prosn",
        "faqpage": "Project:Porot porot vicharlele prosn",
-       "actions": "Karvaio",
+       "actions": "Kornnio",
        "namespaces": "Nanvthollam",
        "variants": "Dusre",
        "navigation-heading": "Dixa-niontron suchi",
        "shown-title": "Dor eka panar {{PLURAL:$1|porinam}} dakhoi",
        "viewprevnext": "($1 {{int:pipe-separator}} $2) ($3) poloi",
        "searchmenu-exists": "'''Hea Wikicher \"[[:$1]]\" nanvanche pan asa.'''",
-       "searchmenu-new": "<strong>\"[[:$1]]\" hem pan hea vikint roch!<strong> {{PLURAL:$2|0=|Tujea sodan mellelem panui polloi.|Tujea sodan mellelem panamui polloi.}}",
+       "searchmenu-new": "<strong>\"[[:$1]]\" hem pan hea vikint roch!</strong> {{PLURAL:$2|0=|Tujea sodan mellelem panui polloi.|Tujea sodan mellelem panamui polloi.}}",
        "searchprofile-articles": "Mozkurachim panam",
        "searchprofile-images": "Bhovmadhiom",
        "searchprofile-everything": "Sogllem",
index 08409ca..dd8c7e3 100644 (file)
        "newarticle": "(חדש)",
        "newarticletext": "הגעתם לדף שעדיין איננו קיים.\nכדי ליצור את הדף הזה, התחילו להקליד בתיבת הטקסט למטה (ראו את [$1 דף העזרה] למידע נוסף).\nאם הגעתם לכאן בטעות, לחצו על כפתור ה<strong>חזרה</strong> (Back) בדפדפן שלכם.",
        "anontalkpagetext": "----\n<em>זהו דף שיחה של משתמש אנונימי שעדיין לא יצר חשבון במערכת, או שהוא לא משתמש בו.</em>\nלכן עלינו להשתמש בכתובת ה־IP המספרית כדי לזהותו.\nייתכן שכתובת IP זו תהיה משותפת למספר משתמשים.\nאם אתם משתמשים אנונימיים ומרגישים שקיבלתם הודעות בלתי רלוונטיות, אנא [[Special:UserLogin/signup|צרו חשבון]] או [[Special:UserLogin|היכנסו לחשבון]] כדי להימנע מבלבול עתידי עם משתמשים אנונימיים נוספים.",
-       "noarticletext": "×\90×\99×\9f ×\9bר×\92×¢ ×\98קס×\98 ×\91×\93×£ ×\96×\94.\n×\91×\90פשר×\95ת×\9b×\9d [[Special:Search/{{PAGENAME}}|×\9c×\97פש ×\90ת ×\9b×\95תרת ×\94×\93×£]] ×\91×\93פ×\99×\9d ×\90×\97ר×\99×\9d,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ×\9c×\97פש ×\91×\99×\95×\9e× ×\99×\9d ×\94ר×\9c×\95×\95× ×\98×\99×\99×\9d],\n×\90×\95 [{{fullurl:{{FULLPAGENAME}}|action=edit}} ×\9cער×\95×\9a ×\93×£ ×\96×\94]</span>.",
-       "noarticletext-nopermission": "×\90×\99×\9f ×\9bר×\92×¢ ×\98קס×\98 ×\91×\93×£ ×\96×\94.\n×\91×\90פשר×\95ת×\9b×\9d [[Special:Search/{{PAGENAME}}|×\9c×\97פש ×\90ת ×\9b×\95תרת ×\94×\93×£]] ×\91×\93פ×\99×\9d ×\90×\97ר×\99×\9d,\n×\90×\95 <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ×\9c×\97פש ×\91×\99×\95×\9e× ×\99×\9d ×\94ר×\9c×\95×\95× ×\98×\99ים]</span>,\nאך אינכם מורשים ליצור את הדף.",
+       "noarticletext": "×\90×\99×\9f ×\9bר×\92×¢ ×\98קס×\98 ×\91×\93×£ ×\94×\96×\94.\n×\91×\90פשר×\95ת×\9b×\9d [[Special:Search/{{PAGENAME}}|×\9c×\97פש ×\90ת ×\9b×\95תרת ×\94×\93×£]] ×\91×\93פ×\99×\9d ×\90×\97ר×\99×\9d,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ×\9c×\97פש ×\90ת ×\94×\93×£ ×\91×\99×\95×\9e× ×\99×\9d],\n×\90×\95 [{{fullurl:{{FULLPAGENAME}}|action=edit}} ×\9c×\99צ×\95ר ×\90ת ×\94×\93×£]</span>.",
+       "noarticletext-nopermission": "×\90×\99×\9f ×\9bר×\92×¢ ×\98קס×\98 ×\91×\93×£ ×\94×\96×\94.\n×\91×\90פשר×\95ת×\9b×\9d [[Special:Search/{{PAGENAME}}|×\9c×\97פש ×\90ת ×\9b×\95תרת ×\94×\93×£]] ×\91×\93פ×\99×\9d ×\90×\97ר×\99×\9d,\n×\90×\95 <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ×\9c×\97פש ×\90ת ×\94×\93×£ ×\91×\99×\95×\9e× ים]</span>,\nאך אינכם מורשים ליצור את הדף.",
        "missing-revision": "גרסה #$1 של הדף \"{{FULLPAGENAME}}\" אינה קיימת.\n\nזה נגרם בדרך כלל על־ידי לחיצה על קישור ישן לגרסה קודמת של דף שנמחק.\nאפשר למצוא פרטים ב[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} יומן המחיקות].",
        "userpage-userdoesnotexist": "חשבון המשתמש \"$1\" אינו רשום.\nאנא בדקו אם ברצונכם ליצור/לערוך דף זה.",
        "userpage-userdoesnotexist-view": "חשבון המשתמש \"$1\" אינו רשום.",
index 8f7179d..e4fc05f 100644 (file)
        "permalink": "Մշտական հղում",
        "print": "Տպել",
        "view": "Դիտել",
-       "view-foreign": "Նայել $1-ում",
+       "view-foreign": "Նայել $1ում",
        "edit": "Խմբագրել",
        "edit-local": "Խմբագրել տեղային նկարագրությունը",
        "create": "Ստեղծել",
        "filepage-nofile-link": "Այս անունով նիշք գոյություն չունի, դուք կարող եք [$1 բեռնել այն]:",
        "uploadnewversion-linktext": "Բեռնել այս նիշքի նոր տարբերակ",
        "shared-repo-from": "$1-ից",
+       "shared-repo": "ընդհանուր շտեմարան",
        "shared-repo-name-wikimediacommons": "Վիքիպահեստ",
        "upload-disallowed-here": "Դուք չեք կարող վերագրել այս նիշքը։",
        "filerevert": "Հետ շրջել $1-ը",
index 35b8d40..335c726 100644 (file)
@@ -8,13 +8,16 @@
                        "Tagir",
                        "Умар",
                        "아라",
-                       "Shirayuki"
+                       "Shirayuki",
+                       "ElizaMag",
+                       "Adam-Yourist"
                ]
        },
        "tog-underline": "Хьожадерга |ок|алтакадар:",
        "tog-hideminor": "Хьат|аяздара чу кердача хувцамашa з|амига дола хувцамаш къайладаккха",
        "tog-hidepatrolled": "Хьат|аяздара чу кердача хувцамашa д|анийсадаь дола хувцамаш къайладаккха",
        "tog-newpageshidepatrolled": "Хьат|аяздара чу кердача хувцамашa хьанийсадаь дола оаг|онаш къайлаяккха",
+       "tog-hidecategorization": "Къайлаяккха оагӀонай категореш",
        "tog-extendwatchlist": "Шерадаь теркама хьат|аяздар, массадола хувцамаш чулоацаш дола, алхха т|ехьара даьраш мара а доацаш",
        "tog-usenewrc": "Керда хувцамашка а хьат|аяздара зембаккхарга а эргадаккхараш тоабаде (JavaScript эша)",
        "tog-numberheadings": "Керташкашта аланза таьрахьа хотта",
        "tog-watchlisthideliu": "Теркама xьат|аяздар чура хьабайза доакъошхоша хувцамаш къайладаха",
        "tog-watchlisthideanons": "Теркама xьат|аяздар чура ц|ийоацача доакъошхоша хувцамаш къайладаха",
        "tog-watchlisthidepatrolled": "Теркама xьат|аяздар чура д|анийсдаь хувцамаш къайладаха",
+       "tog-watchlisthidecategorization": "Къайлаяккха оагӀонай категореш",
        "tog-ccmeonemails": "Аз д|ахийташ дола доакъошхошоа каьхаташ са д-хоамни т|а дайта хьа",
        "tog-diffonly": "Шин нийсхьале в|ашинийсдара к|ала бола оаг|он чулоацам ма гойта",
        "tog-showhiddencats": "Къайла катагаш гойта",
+       "tog-useeditwarning": "Хоамбе хьадаь хувцамаш дӀа ца яздеш аз болх дӀаберзабеча ханахь",
        "underline-always": "Даиман",
        "underline-never": "Ц|аккха",
        "underline-default": "Мазаб|арглокхарa оттамаш хайраде",
        "editfont-style": "Нийсдара меттига чу йола зарба б|армат:",
+       "editfont-default": "Браузерен гӀирса чура шрифт",
        "editfont-monospace": "Башхалон зарба",
        "sunday": "К|иранди",
        "monday": "Оршот",
        "disclaimers": "Бокъонах юхавалаp",
        "disclaimerpage": "Project:Бокъонах юхавалаp",
        "edithelp": "Хувцама куцтохкам",
+       "helppage-top-gethelp": "Г|о",
        "mainpage": "Кертера оагӀув",
        "mainpage-description": "Кертера оагӀув",
        "policy-url": "Project:Бокъонаш",
        "nstab-template": "ЧIабал",
        "nstab-help": "Куцтохкам",
        "nstab-category": "Катаг",
+       "mainpage-nstab": "Кертера оагӀув",
        "nosuchaction": "Цу тайпара дулархIам бац",
        "nosuchspecialpage": "Изза мо гӀон оагӀув яц",
        "error": "ГӀалат",
        "mailerror": "Хоам дIабохьийташ гIалат даьннад: $1",
        "emailconfirmlink": "Доаржален хоамни хьожадорг дIачIоагIаде",
        "loginlanguagelabel": "Мотт: $1",
+       "pt-login": "Чувала/яла",
+       "pt-createaccount": "Дакъалаьцархо кхолла",
        "changepassword": "КъайладIоaгIа дIахувцар",
        "oldpassword": "Къаьна къайладIоагӀа:",
        "newpassword": "Керда къайладIоагӀа:",
        "histfirst": "къаьнараш",
        "histlast": "кердараш",
        "historyempty": "(даьсса)",
-       "history-feed-title": "Хувцамий искар",
-       "history-feed-description": "Укх оагӀуви вики тӀа хувцамий искар",
+       "history-feed-title": "Хувцамий истори",
+       "history-feed-description": "Укх оагӀуви вики тӀа хувцамий истори",
        "history-feed-item-nocomment": "$1гӀара $2гӀачу",
        "rev-delundel": "хьахьокха/къайлаяьккха",
        "rev-showdeleted": "хьахьокха",
        "revdelete-radio-unset": "Гуш йола",
        "revdelete-log": "Бахьан",
        "revdel-restore": "Кустгойтам хувца",
-       "pagehist": "ОагӀува искар",
-       "deletedhist": "ДӀадаккхамий искар",
+       "pagehist": "ОагӀува истори",
+       "deletedhist": "ДӀадаккхамий истори",
        "revdelete-reasonotherlist": "Кхыдола бахьан",
-       "mergehistory-list": "ВIашагIатоха хувцамий искар",
+       "mergehistory-list": "ВIашагIатоха хувцамий истори",
        "mergehistory-go": "ВIашагIатоха хувцамаш хьахьокха",
        "mergehistory-submit": "Хувцамаш вIашагIатоха",
        "mergehistory-empty": "ВIашагIатохара хувцамаш кораяь яц.",
        "mergehistory-reason": "Бахьан:",
        "revertmerge": "Декъа",
-       "history-title": "\"$1\" — хувцамий искар",
+       "history-title": "\"$1\" — хувцамий истори",
        "lineno": "МугI $1:",
        "compareselectedversions": "Хьаржа доржамаша тарона тIа хьажа",
        "editundo": "юхавала/яла",
        "rcshowhidemine": "$1 сай хувцамаш",
        "rclinks": "$2 динах<br />$3 $1 хинна тIехьара хувцамаш хьахьокха",
        "diff": "кхы.",
-       "hist": "искар",
+       "hist": "истори",
        "hide": "Къайлдаккха",
        "show": "Хьахьокха",
        "minoreditletter": "м",
        "listfiles_description": "Лоацам",
        "listfiles_count": "Доржамаш",
        "file-anchor-link": "Паьл",
-       "filehist": "Паьла искар",
+       "filehist": "Паьла истори",
        "filehist-help": "Хьалхе паьла мишта хиннай хьожаpгволаш/йолаш, дентаьрах/сахьата тIа пIелга тIообе.",
        "filehist-revert": "юхаяьккха",
        "filehist-current": "xIанзара",
        "watching": "Тохкам беча оагIув тIа тIадаккха",
        "unwatching": "Тохкам беча оагIув тIера дIадаккха",
        "deletepage": "ОагIув дIаяьккха",
-       "confirmdeletetext": "Оаш оагIувни (е сурти) барча дIадаккхар хьайийхай кха еррига хувцамий искар долама ковчера. \nДехар да, жоп дала, шоай из бокъонцахь де безам болаш да, шоай даьчоахь хургдолчоахь кхеташ долга, [[{{MediaWiki:Policy-url}}]] декъамачу Iоязадаь дола адаташ ца из деш долга.",
+       "confirmdeletetext": "Оаш оагIувни (е сурти) барча дIадаккхар хьайийхай кха еррига хувцамий истори долама ковчера. \nДехар да, жоп дала, шоай из бокъонцахь де безам болаш да, шоай даьчоахь хургдолчоахь кхеташ долга, [[{{MediaWiki:Policy-url}}]] декъамачу Iоязадаь дола адаташ ца из деш долга.",
        "actioncomplete": "ДулархIам баьб",
        "actionfailed": "Оттам даьдац",
        "deletedtext": "\"$1\" дIаяьккха хиннай.\nТIехьара дIадаьккха дагарчена хьожаргволаш/хьожаргьйолаш, $2 хьажа.",
        "move-page-legend": "ОагIува цIи хувца",
        "movepagetext": "КIалхара кепаца болхабеча, оаш оагIувни цIи хувцаргья, цунна хувцамий тептар кхыйола меттиге дIачудоаккхаш.\nКIаьнара цIерахь керда цIерий дIачудаккхам хургда.\nКIаьнара цIера тIа даь дола дIачудаккхамаш, шун ший лоIамахь кердадаккха йийш хургья.\nИз оаш ца дой, дехар да, [[Special:DoubleRedirects|шолха]] кхы [[Special:BrokenRedirects|вIашагIаяккха дIачудаккхамий]] кардоламахь хьажа.\nОаш жоп лу, шоай чуяккха йола Iинкаш, даим болхбеш хургдолга.\n\nЗем бахка, оагIувни цIи хувцалургьяц, изза мо цIи йолаш оагIув хилача. \nЙолаш йола оагIув хувца йийш яц, амма хийца йола оагIув юха хьахувца йийш я. \n\n'''Хоамхайтар'''\n\nЦIи хувцар, йовзаш йола оагIувнаший, доккха а цаьхха а хувцамшка дIатIадала мегаш да.\nДехар да, оаш дIахо болх белаьхь, хургдола хIама кхеташ долга, кхеталаш.",
        "movepagetalktext": "ТIатеха дувцама оагIув, ший лоIамахь цIи хувлургья, '''ер дага а доацар, доаца:'''\n\n*Изза мо цIи йолаш яьсса дувцама оагIув я е\n*Оаш кIалхахь белгало даьдац.\n\nИз иштта дале, кулги новкъосталца оагIувнаш вIашагIатоха  е дIадехьаяккха деза шун.",
-       "movearticle": "ОагIува цIи хувца",
        "newtitle": "Керда цIи",
        "move-watch": "Ер оагIув теркама дагаршкахь чуяккха",
        "movepagebtn": "ОагIува цIи хувца",
        "htmlform-selectorother-other": "Кхыдола",
        "rightsnone": "(а)",
        "revdelete-summary": "хувцамий лоацам",
+       "searchsuggest-search": "Лаха",
        "special-characters-group-latin": "Лаьтмий",
        "special-characters-group-greek": "Джелтий",
        "special-characters-group-cyrillic": "Цырилиций",
index c1b321e..028cebe 100644 (file)
        "action-viewmywatchlist": "skoða vaktlistann þinn",
        "action-viewmyprivateinfo": "skoða persónuupplýsingar þínar",
        "action-editmyprivateinfo": "breyta persónuupplýsingum þínum",
+       "action-managechangetags": "búa til og eyða merkjum úr gagnagrunni",
        "nchanges": "$1 {{PLURAL:$1|breyting|breytingar}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|síðan síðustu heimsókn}}",
        "enhancedrc-history": "breytingaskrá",
        "upload-prohibited": "{{PLURAL:$2|Óheimiluð skrárgerð|Óheimilaðar skrárgerðir}}: $1.",
        "uploadlogpage": "Innhlaðningarskrá",
        "uploadlogpagetext": "Fyrir neðan er listi yfir nýlegustu innhlöðnu skrárnar.\nSjá [[Special:NewFiles|myndasafn nýrra mynda]] fyrir myndrænna yfirlit.",
-       "filename": "Skráarnafn",
+       "filename": "Skráarheiti",
        "filedesc": "Lýsing",
        "fileuploadsummary": "Ágrip:",
        "filereuploadsummary": "Skráarbreytingar:",
        "ignorewarning": "Hunsa viðvaranir og vista þessa skrá",
        "ignorewarnings": "Hunsa allar viðvaranir",
        "minlength1": "Skráarnöfn þurfa að vera að minnsta kosti einn stafur að lengd",
-       "illegalfilename": "Skráarnafnið „$1“ inniheldur stafi sem eru ekki leyfðir í síðutitlum.\nGjörðu svo vel og endurnefndu skrána og hladdu henni inn aftur.",
+       "illegalfilename": "Skráarheitið „$1“ inniheldur stafi sem eru ekki leyfðir í síðutitlum.\nEndurnefndu skrána og reyndu að hlaða henni inn aftur.",
        "filename-toolong": "Skráarnöfn mega ekki vera lengri en 240 bæt.",
        "badfilename": "Skáarnafninu hefur verið breytt í „$1“.",
        "filetype-mime-mismatch": "Skráarendingin \".$1\" samræmist ekki MIME-gerð skrárinnar ($2).",
        "filetype-missing": "Skráin hefur engan viðauka (dæmi \".jpg\").",
        "empty-file": "Skráin sem þú valdir var tóm.",
        "file-too-large": "Skráin sem þú valdir er of stór.",
-       "filename-tooshort": "Skráarnafnið er of stutt",
+       "filename-tooshort": "Skráarheitið er of stutt",
        "filetype-banned": "Þessi skráarending er bönnuð.",
        "verification-error": "Þessi skrá stóðst ekki sannprófun.",
        "hookaborted": "Hætt var við breytinguna sem þú reyndir að gera af viðbót.",
-       "illegal-filename": "Þetta skráarnafn er ekki leyft.",
+       "illegal-filename": "Þetta skráarheiti er ekki leyft.",
        "overwrite": "Óheimilt er að skrifa yfir skrá sem er þegar til.",
        "unknown-error": "Óþekkt villa kom upp.",
        "tmp-create-error": "Gat ekki búið til bráðabirgðaskrá.",
        "filepageexists": "Myndasíðan fyrir þessa síðu hefur þegar verið búin til <strong>[[:$1]]</strong>, en engin skrá er til með þessu nafni.\nLýsingin sem þú skrifaðir verður ekki birt á myndasíðunni.\nTil þess að lýsingin geti birst á síðunni, þá þarft þú að breyta síðunni sérstaklega.\n[[$1|thumb]]",
        "fileexists-extension": "Skrá með svipuðu nafni er til: [[$2|thumb]]\n*Nafn skrárinnar sem hlaða á inn: <strong>[[:$1]]</strong>\n*Nafn skrárinnar sem er þegar til: <strong>[[:$2]]</strong>\nVilt þú kannski nota annað nafn sem er meira lýsandi fyrir skrána ?",
        "fileexists-thumbnail-yes": "Skráin virðist vera smækkuð mynd <em>(smámynd)</em>.\n[[$1|thumb]]\nAthugaðu skrána <strong>[[:$1]]</strong>.\nEf sú skrá er sama myndin í upprunalegri stærð er ekki þörf á að hlaða inn annarri smámynd. \\",
-       "file-thumbnail-no": "Skráin er líklega smámynd, því skráarnafnið byrjar á <strong>$1</strong>.\nEf skráin er í fullri upplausn haltu þá áfram að hlaða henni inn, en ef ekki breyttu þá skráarnafninu.",
+       "file-thumbnail-no": "Skráin er líklega smámynd, því skráarheitið byrjar á <strong>$1</strong>.\nEf skráin er í fullri upplausn haltu þá áfram að hlaða henni inn, en ef ekki breyttu þá skráarnafninu.",
        "fileexists-forbidden": "Skrá með þessu nafni er þegar til og ekki er hægt að skrifa yfir skránna.\nEf þú villt hlaða inn skránni þinni engu að síður, farðu þá til baka og veldu annað skráarnafn.\n[[File:$1|thumb|center|$1]]",
        "fileexists-shared-forbidden": "Skrá með þessu nafni er þegar til í sameiginlega myndasafninu.\nEf þú villt hlaða inn skránni þinni engu að síður, farðu þá til baka og veldu annað skráarnafn.\n[[File:$1|thumb|center|$1]]",
        "file-exists-duplicate": "Þessi skrá er afrit eftirfarandi {{PLURAL:$1|skráar|skráa}}:",
        "uploadvirus": "Skráin inniheldur veiru! Nánari upplýsingar: $1",
        "uploadjava": "Þessi skrá er ZIP skrá sem inniheldur Java .class skráarsnið.\nUpphlöðun Java skráa er óheimil, því þær hunsa öryggis hömlur.",
        "upload-source": "Upprunaleg skrá",
-       "sourcefilename": "Upprunalegt skráarnafn:",
+       "sourcefilename": "Upprunalegt skráarheiti:",
        "sourceurl": "Uppruni:",
        "destfilename": "Móttökuskráarnafn:",
        "upload-maxfilesize": "Hámarks skráarstærð: $1",
        "filedelete-maintenance": "Á meðan viðhaldi stendur er lokað fyrir eyðingu og endurvakningu skráa.",
        "filedelete-maintenance-title": "Mistókst að eyða skrá",
        "mimesearch": "MIME-leit",
-       "mimesearch-summary": "Þessi síða gerir þér kleift að leita eftir skrám eftir MIME-gerð þeirra.\n\nLeitarstrengurinn á að vera á þessu formi: efnistag/myndasnið eða efnistag/*, t.d. <code>image/jpeg</code>.",
+       "mimesearch-summary": "Þessi síða gerir þér kleift að leita eftir skrám eftir MIME-gerð þeirra.\n\nLeitarstrengurinn á að vera á þessu formi: efnistag/myndasnið eða efnismerki/*, t.d. <code>image/jpeg</code>.",
        "mimetype": "MIME-tegund:",
        "download": "Hlaða niður",
        "unwatchedpages": "Óvaktaðar síður",
        "undelete-search-prefix": "Sýna síður sem byrja á:",
        "undelete-search-submit": "Leita",
        "undelete-no-results": "Engar samsvarandi síður fundust í eyðingarskjalasafninu.",
-       "undelete-filename-mismatch": "Endurvakningu skráar mistókst með tímastipilinn $1: Skráarnafnið stenst ekki.",
+       "undelete-filename-mismatch": "Ekki er hægt að endurvekja útgáfu skráar með tímamerkið $1: Skráarheiti samsvara ekki.",
        "undelete-bad-store-key": "Endurvakningu útgáfu skráar mistókst með tímastipilinn $1: Skráin fannst ekki fyrir eyðingu.",
        "undelete-cleanup-error": "Villa við eyðingu ónotaðs skjalasafns $1",
        "undelete-missing-filearchive": "Mistókst að endurvekja skjalasafn með auðkenninu $1 því það er ekki til í gagnabankanum.\nMögulega er þegar búið að endurvekja það.",
        "import-interwiki-history": "Afrita allar breytingar þessarar síðu",
        "import-interwiki-templates": "Hafa með öll sniðmát",
        "import-interwiki-submit": "Flytja inn",
-       "import-upload-filename": "Skráarnafn:",
+       "import-mapping-namespace": "Flytja inn í nafnsvið:",
+       "import-mapping-subpage": "Flytja inn sem undirsíður eftirfarandi síðu:",
+       "import-upload-filename": "Skráarheiti:",
        "import-comment": "Athugasemdir:",
        "importtext": "Flyttu út skrána út af upprunalegu wiki með því að nota [[Special:Export|Flytja út síður]].\nVistaðu skrána á tölvunni þinni og sendu hana svo inn hér.",
        "importstart": "Flyt inn síður...",
        "pageinfo-watchers": "Fjöldi notenda, sem vakta síðuna",
        "pageinfo-few-watchers": "Vöktuð af færri en $1 {{PLURAL:$1|notanda|notendum}}",
        "pageinfo-redirects-name": "Fjöldi tilvísana til þessarar síðu",
+       "pageinfo-redirects-value": "$1",
        "pageinfo-subpages-name": "Undirsíður þessarar síðu",
        "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|tilvísun|tilvísanir}}; $3 {{PLURAL:$3|ekki tilvísun|ekki tilvísanir}})",
        "pageinfo-firstuser": "Stofnandi síðunnar",
        "pageinfo-protect-cascading-yes": "Já",
        "pageinfo-protect-cascading-from": "Keðjuvörn stafar frá",
        "pageinfo-category-info": "Flokkaupplýsingar",
+       "pageinfo-category-total": "Heildarfjöldi meðlima",
        "pageinfo-category-pages": "Fjöldi síðna",
        "pageinfo-category-subcats": "Fjöldi undirflokka",
        "pageinfo-category-files": "Fjöldi skráa",
        "markaspatrolleddiff": "Merkja sem yfirfarið",
        "markaspatrolledtext": "Merkja þessa síðu sem yfirfarna",
+       "markaspatrolledtext-file": "Merkja þessa útgáfu skrár sem yfirfarna",
        "markedaspatrolled": "Merkja sem yfirfarið",
        "markedaspatrolledtext": "Valda breytingin [[:$1]] hefur verið merkt sem yfirfarin.",
        "rcpatroldisabled": "Slökkt á yfirferð nýlegra breytinga",
        "markedaspatrollederrornotify": "Mistókst að merkja síðuna sem yfirfarna.",
        "patrol-log-page": "Yfirferðarskrá",
        "patrol-log-header": "Þetta er skrá yfir yfirfarnar breytingar.",
-       "log-show-hide-patrol": "$1 Listi yfir vaktaðar síður",
+       "log-show-hide-patrol": "$1 listi yfir yfirfarnar síður",
+       "log-show-hide-tag": "$1 merkjaannáll",
        "deletedrevision": "Eyddi gamla útgáfu $1",
        "filedeleteerror-short": "Villa við eyðingu: $1",
        "filedeleteerror-long": "Það kom upp villa við eyðingu skrárinnar: $1",
        "mediawarning": "'''AÐVÖRUN''': Þessi skrá kann að hafa meinfýsinn kóða, ef keyrður kann hann að stofna kerfinu þínu í hættu.",
        "imagemaxsize": "Takmarka myndastærð:<br />''(fyrir skráarsíður)''",
        "thumbsize": "Stærð smámynda:",
+       "widthheight": "$1 × $2",
        "widthheightpage": "$1 × $2, $3 {{PLURAL:$3|síða|síður}}",
        "file-info": "stærð skráar: $1, MIME-tegund: $2",
        "file-info-size": "$1 × $2 mynddílar, skráarstærð: $3, MIME-gerð: $4",
        "svg-long-error": "Ógild SVG skrá: $1",
        "show-big-image": "Upphafleg skrá",
        "show-big-image-preview": "Stærð þessarar forskoðunar: $1",
+       "show-big-image-preview-differ": "Stærð þessarar $3 forskoðunar á $2 skránni: $1.",
        "show-big-image-other": "{{PLURAL:$2|Önnur upplausn|Aðrar upplausnir}}: $1.",
        "show-big-image-size": "$1 × $2 mynddílar",
        "file-info-gif-looped": "síendurtekin hreyfimynd",
        "imagelisttext": "Hér fyrir neðan er $1 {{PLURAL:$1|skrá|skrám}} raðað $2.",
        "newimages-summary": "Þessi kerfissíða sýnir nýlega innhlaðnar skrár.",
        "newimages-legend": "Sía",
-       "newimages-label": "Skráarnafn (eða hluti þess):",
+       "newimages-label": "Skráarheiti (eða hluti þess):",
        "newimages-showbots": "Birta innsend gögn frá vélmennum",
+       "newimages-hidepatrolled": "Fela yfirfarnar innsendingar",
        "noimages": "Ekkert að sjá.",
        "ilsubmit": "Leita",
        "bydate": "eftir dagsetningu",
        "sp-newimages-showfrom": "Leita af nýjum skráum frá $2, $1",
+       "video-dims": "$1, $2 × $3",
+       "seconds-abbrev": "$1 sek",
+       "minutes-abbrev": "$1 mín",
+       "hours-abbrev": "$1 klst",
+       "days-abbrev": "$1 d",
        "seconds": "$1 {{PLURAL:$1|sekúndu|sekúndum}}",
        "minutes": "$1 {{PLURAL:$1|mínútu|mínútum}}",
        "hours": "$1 {{PLURAL:$1|klukkutíma|klukkutímum}}",
        "exif-source": "Uppruni",
        "exif-editstatus": "Ritstjórnarleg staða myndar",
        "exif-urgency": "Nauðsyn",
-       "exif-locationdest": "Staður á myndinni",
+       "exif-locationdest": "Staður á mynd",
+       "exif-locationdestcode": "Kóði staðar á mynd",
        "exif-objectcycle": "Tími dags sem efnið er ætlað fyrir",
        "exif-contact": "Samskipta upplýsingar",
        "exif-writer": "Ritari myndlýsingar",
        "exif-languagecode": "Tungumál",
+       "exif-iimversion": "IIM útgáfa",
        "exif-iimcategory": "Flokkur",
        "exif-iimsupplementalcategory": "Undirflokkar",
        "exif-datetimeexpires": "Ekki nota eftir",
        "exif-originaldocumentid": "Einstakt auðkenni upphafslegs skjals",
        "exif-licenseurl": "Vefslóð höfundarleyfis",
        "exif-morepermissionsurl": "Aðrar leyfisupplýsingar",
-       "exif-attributionurl": "Þegar þetta verk er endurnotað, tengdu á",
+       "exif-attributionurl": "Þegar þetta verk er endurnýtt, tengdu á",
+       "exif-preferredattributionname": "Þegar þetta verk er endurnýtt, vísaðu í",
        "exif-pngfilecomment": "PNG athugasemd",
        "exif-disclaimer": "Fyrirvari",
        "exif-contentwarning": "Viðvörun innihalds myndar",
        "exif-giffilecomment": "GIF athugasemd",
        "exif-intellectualgenre": "Tegund hlutar",
+       "exif-subjectnewscode": "Kóði efnis í flokkunarkerfi",
        "exif-scenecode": "IPTC kóði myndefnis",
-       "exif-event": "Lýsir viðburðinum",
-       "exif-organisationinimage": "Lýsir félaginu",
+       "exif-event": "Atburður á mynd",
+       "exif-organisationinimage": "Stofnun/félag á mynd",
+       "exif-personinimage": "Persóna á mynd",
        "exif-originalimageheight": "Hæð myndarinnar fyrir skerðingu",
        "exif-originalimagewidth": "Breidd myndar fyrir skerðingu",
-       "exif-compression-1": "Ósamþjappað",
+       "exif-contact-value": "$1\n\n$2\n<div class=\"adr\">\n$3\n\n$4, $5, $6 $7\n</div>\n$8",
+       "exif-subjectnewscode-value": "$2 ($1)",
+       "exif-compression-1": "Óþjappað",
+       "exif-compression-2": "CCITT Group 3 1-Dimensional Modified Huffman run length kóðun",
+       "exif-compression-3": "CCITT Group 3 Fax kóðun",
+       "exif-compression-4": "CCITT Group 4 Fax kóðun",
+       "exif-compression-5": "LZW",
+       "exif-compression-6": "JPEG (eldra)",
+       "exif-compression-7": "JPEG",
+       "exif-compression-8": "Afþjappa (Adobe)",
+       "exif-compression-32773": "PackBits (Macintosh RLE)",
+       "exif-compression-32946": "Afþjappa (PKZIP)",
+       "exif-compression-34712": "JPEG2000",
        "exif-copyrighted-true": "Höfundaréttarvarið",
        "exif-copyrighted-false": "Höfundaréttarstaða ekki tilgreind",
+       "exif-photometricinterpretation-0": "Svarthvítt (hvítt er 0)",
+       "exif-photometricinterpretation-1": "Svarthvítt (svart er 0)",
+       "exif-photometricinterpretation-2": "RGB",
+       "exif-photometricinterpretation-3": "Litaspjald",
+       "exif-photometricinterpretation-4": "Gegnsæismaski",
+       "exif-photometricinterpretation-5": "Aðskilið (líklegast CMYK)",
+       "exif-photometricinterpretation-6": "YCbCr",
+       "exif-photometricinterpretation-8": "CIE L*a*b*",
+       "exif-photometricinterpretation-9": "CIE L*a*b* (ICC kóðun)",
+       "exif-photometricinterpretation-10": "CIE L*a*b* (ITU kóðun)",
+       "exif-photometricinterpretation-32803": "Litsíunarfylki",
+       "exif-photometricinterpretation-34892": "Línulegt RAW",
        "exif-unknowndate": "Óþekkt dagsetning",
        "exif-orientation-1": "Venjuleg",
        "exif-orientation-2": "Speglað lárétt",
-       "exif-orientation-3": "Snýr 180°",
+       "exif-orientation-3": "Snúið 180°",
        "exif-orientation-4": "Speglað lóðrétt",
        "exif-orientation-5": "Snúið 90° rangsælis og speglað lóðrétt",
-       "exif-orientation-6": "Snýr 90° rangsælis",
+       "exif-orientation-6": "Snúið 90° rangsælis",
        "exif-orientation-7": "Snúið 90° réttsælis og speglað lóðrétt",
-       "exif-orientation-8": "Snýr 90° réttsælis",
+       "exif-orientation-8": "Snúið 90° réttsælis",
        "exif-planarconfiguration-2": "planar snið",
+       "exif-xyresolution-i": "$1 pát",
+       "exif-xyresolution-c": "$1 p/sm",
        "exif-colorspace-65535": "Ókvarðað",
        "exif-componentsconfiguration-0": "er ekki til",
+       "exif-componentsconfiguration-1": "Y",
+       "exif-componentsconfiguration-2": "Cb",
+       "exif-componentsconfiguration-3": "Cr",
+       "exif-componentsconfiguration-4": "R",
+       "exif-componentsconfiguration-5": "G",
+       "exif-componentsconfiguration-6": "B",
        "exif-exposureprogram-0": "Ekki skilgreind",
        "exif-exposureprogram-1": "Handvirk",
        "exif-exposureprogram-2": "Hefðbundin stilling",
        "exif-exposureprogram-3": "Forgangur ljósops",
        "exif-exposureprogram-4": "Forgangur lokara",
+       "exif-exposureprogram-5": "Listræn forritun (styður frekar dýpt sjónsviðs)",
+       "exif-exposureprogram-6": "Sportleg forritun (styður frekar hraða myndatöku)",
        "exif-exposureprogram-7": "Andlitsmynda stilling (fyrir nærmyndir með bakrunninn í þoku)",
        "exif-exposureprogram-8": "Landslags stilling (fyrir landslagsmyndir með skarpan bakrunn)",
        "exif-subjectdistance-value": "$1 metrar",
        "exif-lightsource-0": "Óþekkt",
        "exif-lightsource-1": "Dagsbirta",
        "exif-lightsource-2": "Flúrljós",
-       "exif-lightsource-3": "Wolfram ljós (hvítglóandi ljós)",
+       "exif-lightsource-3": "Tungsten ljós (glóðarpera)",
        "exif-lightsource-4": "Leiftur",
        "exif-lightsource-9": "Gott veður",
        "exif-lightsource-10": "Skýjað",
        "exif-lightsource-13": "Dagur hvít flúrlýsing (N 4600 - 5400K)",
        "exif-lightsource-14": "Köld hvít flúrlýsing (W 3900 - 4500K)",
        "exif-lightsource-15": "Hvít flúrlýsing (WW 3200 - 3700K)",
-       "exif-lightsource-17": "Staðaljós A",
-       "exif-lightsource-18": "Staðaljós B",
-       "exif-lightsource-19": "Staðaljós C",
+       "exif-lightsource-17": "Staðalljós A",
+       "exif-lightsource-18": "Staðalljós B",
+       "exif-lightsource-19": "Staðalljós C",
+       "exif-lightsource-20": "D55",
+       "exif-lightsource-21": "D65",
+       "exif-lightsource-22": "D75",
+       "exif-lightsource-23": "D50",
        "exif-lightsource-24": "ISO stúdíótungsten",
-       "exif-lightsource-255": "Önnur ljósuppspretta",
-       "exif-flash-fired-0": "Leifturljósið var slökkt",
+       "exif-lightsource-255": "Annar ljósgjafi",
+       "exif-flash-fired-0": "Leifturljósið hleypti ekki af",
        "exif-flash-fired-1": "Leifturljósið kviknaði",
        "exif-flash-mode-1": "skyldubundið leifturljós",
        "exif-flash-mode-2": "skyldubundin bæling leifturljóss",
        "exif-flash-redeye-1": "lagfæring rauðra-augna",
        "exif-focalplaneresolutionunit-2": "tommur",
        "exif-sensingmethod-1": "Óskilgreint",
-       "exif-sensingmethod-2": "Einnar-kísilflögu litsviðs skynjari",
-       "exif-sensingmethod-3": "Tveggja-kísilflögu litsviðs skynjari",
-       "exif-sensingmethod-4": "Þriggja-kísilflögu litsviðs skynjari",
-       "exif-sensingmethod-5": "Raðbundinn litsviðs skynjari",
+       "exif-sensingmethod-2": "Einnar-kísilflögu litsviðsskynjari",
+       "exif-sensingmethod-3": "Tveggja-kísilflögu litsviðsskynjari",
+       "exif-sensingmethod-4": "Þriggja-kísilflögu litsviðsskynjari",
+       "exif-sensingmethod-5": "Raðbundinn litsviðsskynjari",
+       "exif-sensingmethod-7": "Þrílínulegur skynjari",
        "exif-filesource-3": "Stafræn ljósmyndavél",
        "exif-customrendered-0": "Venjuleg vinnsla",
        "exif-customrendered-1": "Sérstök vinnsla",
        "exif-exposuremode-0": "Sjálfvirk lýsing",
        "exif-exposuremode-1": "Handstillt lýsing",
+       "exif-exposuremode-2": "Sjálfvirk mislýsing (auto bracket)",
        "exif-whitebalance-0": "Sjálfgefinn ljóshiti",
        "exif-whitebalance-1": "Handstilltur ljóshiti",
        "exif-scenecapturetype-0": "Staðlað",
        "watchlistedit-clear-titles": "Síður:",
        "watchlistedit-clear-submit": "Hreinsa vaktlistann (þetta er endanlegt!)",
        "watchlistedit-clear-done": "Vaktlistinn þinn hefur verið hreinsaður.",
+       "watchlistedit-clear-removed": "$1 {{PLURAL:$1|síða var fjarlægð|síður voru fjarlægðar}}:",
+       "watchlistedit-too-many": "Það eru of margar síður til að hægt sé að birta þær hér.",
        "watchlisttools-clear": "Hreinsa vaktlistann",
        "watchlisttools-view": "Sýna viðeigandi breytingar",
        "watchlisttools-edit": "Skoða og breyta vaktlistanum",
        "version-antispam": "Varnir gegn amasendingum",
        "version-other": "Aðrar",
        "version-mediahandlers": "Rekill margmiðlunarskráa",
-       "version-parser-extensiontags": "Tögg í viðauka þáttagreiningar",
+       "version-parser-extensiontags": "Merki í viðauka þáttunar",
        "version-hook-subscribedby": "Í áskrift af",
        "version-version": "($1)",
        "version-no-ext-name": "[ekkert nafn]",
        "redirect-user": "Notandanúmer",
        "redirect-page": "Auðkennisnúmer síðu",
        "redirect-revision": "Útgáfa síðu",
-       "redirect-file": "Skráarnafn",
+       "redirect-file": "Skráarheiti",
        "redirect-not-exists": "Gildi fannst ekki",
        "fileduplicatesearch": "Leita að afriti",
        "fileduplicatesearch-summary": "Leita að afritum sem hafa sama hakk gildi.",
        "fileduplicatesearch-legend": "Leita að afriti",
-       "fileduplicatesearch-filename": "Skráarnafn:",
+       "fileduplicatesearch-filename": "Skráarheiti:",
        "fileduplicatesearch-submit": "Leita",
        "fileduplicatesearch-info": "$1 × $2 mynddílar<br />Skráarstærð: $3<br />MIME-gerð: $4",
        "fileduplicatesearch-result-1": "Skráin „$1“ hefur engin nákvæmlega eins afrit.",
        "blankpage": "Tóm síða",
        "intentionallyblankpage": "Þessi síða er viljandi höfð tóm.",
        "external_image_whitelist": "#Ekki breyta þessari línu<pre>\n#Settu brot úr reglulegum segðum (bara þann hluta sem er á milli //) hér fyrir neðan\n#Þær verða bornar saman við vefslóðir ytri mynda\n#Þær sem passa saman verða sýndar sem myndir, en hinar eingöngu sem tengill á myndina\n#Línur sem byrja á # verða sýndar sem athugasemdir\n#Þetta er hástafafrjálst\n\n#Settu allar reglulegar segðir fyrir ofan þessa línu. Ekki breyta þessari línu.</pre>",
-       "tags": "Breyta virkum tögum",
-       "tag-filter": "[[Special:Tags|Tagg]]sía:",
+       "tags": "Breyta virkum merkjum",
+       "tag-filter": "[[Special:Tags|Merkja]]sía:",
        "tag-filter-submit": "Sía",
-       "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Tagg|Tögg}}]]: $2)",
-       "tags-title": "Tög",
-       "tags-intro": "Þessi síða sýnir tögg, sem hugbúnaðurinn gæti merkt breytingar með, og merkingu þeirra.",
-       "tags-tag": "Heiti taggs",
+       "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Merki|Merki}}]]: $2)",
+       "tags-title": "Merki",
+       "tags-intro": "Þessi síða sýnir merkin sem hugbúnaðurinn gæti merkt breytingar með, og hvað þau þýða.",
+       "tags-tag": "Heiti merkis",
        "tags-display-header": "Útlit í breytingaskrám",
        "tags-description-header": "Tæmandi merkingarlýsing",
        "tags-source-header": "Frumrit",
        "tags-activate": "virkja",
        "tags-deactivate": "óvirkja",
        "tags-hitcount": "$1 {{PLURAL:$1|breyting|breytingar}}",
-       "tags-manage-no-permission": "Þú hefur ekki leyfi til að stjórna breytingartöggum.",
-       "tags-create-heading": "Stofna nýtt tagg",
+       "tags-manage-no-permission": "Þú hefur ekki leyfi til að stjórna breytingamerkjum.",
+       "tags-manage-blocked": "Þú hefur ekki leyfi til að breyta merkjum á meðan þú ert bannaður.",
+       "tags-create-heading": "Búa til nýtt merki",
+       "tags-create-explanation": "Sjálfgefið eru ný merki tiltæk notendum og vélmennum.",
        "tags-create-tag-name": "Heiti merkis",
        "tags-create-reason": "Ástæða:",
        "tags-create-submit": "Stofna",
-       "tags-create-no-name": "Þú verður að gefa upp heiti taggsins.",
-       "tags-create-invalid-title-chars": "Taggheiti mega ekki að innihalda stafi sem ekki má nota í síðutitlum.",
-       "tags-create-already-exists": "Taggið \"$1\" er nú þegar til.",
-       "tags-delete-title": "Eyða taggi",
+       "tags-create-no-name": "Þú verður að gefa upp heiti merkisins.",
+       "tags-create-invalid-chars": "Heiti merkja mega ekki innihalda kommur (<code>,</code>) eða öfug skástrik (<code>/</code>).",
+       "tags-create-invalid-title-chars": "Heiti merkja mega ekki innihalda stafi sem ekki má nota í síðutitlum.",
+       "tags-create-already-exists": "Merkið \"$1\" er nú þegar til.",
+       "tags-delete-title": "Eyða merki",
+       "tags-delete-explanation-initial": "Þú ert við það að eyða merkinu \"$1\" úr gagnagrunninum.",
        "tags-delete-reason": "Ástæða:",
-       "tags-delete-not-found": "Tagið \"$1\" er ekki til.",
-       "tags-activate-title": "Virkja tagg",
+       "tags-delete-submit": "Eyða þessu merki endanlega",
+       "tags-delete-not-found": "Merkið \"$1\" er ekki til.",
+       "tags-activate-title": "Virkja merki",
+       "tags-activate-question": "Þú ert í þann mund að virkja merkið \"$1\".",
        "tags-activate-reason": "Ástæða:",
-       "tags-activate-not-found": "Tagið \"$1\" er ekki til.",
+       "tags-activate-not-allowed": "Það er ekki hægt að virkja merkið \"$1\".",
+       "tags-activate-not-found": "Merkið \"$1\" er ekki til.",
        "tags-activate-submit": "Virkja",
-       "tags-deactivate-title": "Óvirkja tagg",
+       "tags-deactivate-title": "Gera merki óvirkt",
        "tags-deactivate-reason": "Ástæða:",
        "tags-deactivate-submit": "Óvirkja",
-       "tags-edit-title": "Breyta töggum",
-       "tags-edit-manage-link": "Stjórna töggum",
+       "tags-edit-title": "Breyta merkjum",
+       "tags-edit-manage-link": "Sýsla með merki",
        "tags-edit-existing-tags": "Fyrirliggjandi merki:",
        "tags-edit-existing-tags-none": "''Ekkert''",
        "tags-edit-new-tags": "Ný merki:",
        "tags-edit-chosen-placeholder": "Veldu einhver merki",
        "tags-edit-chosen-no-results": "Engin merki fundust sem samsvara",
        "tags-edit-reason": "Ástæða:",
+       "tags-edit-none-selected": "Vinsamlega veldu a.m.k. eitt merki til að bæta við eða fjarlægja.",
        "comparepages": "Bera saman síður",
        "compare-page1": "Síða 1",
        "compare-page2": "Síða 2",
        "compare-title-not-exists": "Umbeðinn titill er ekki til.",
        "compare-revision-not-exists": "Umbeðin útgáfa er ekki til.",
        "dberr-problems": "Því miður!Tæknilegir örðugleikar eru á þessari síðu.",
-       "dberr-again": "Reyndu að bíða í nokkrar mínútur og endurhladdu síðan síðuna.",
+       "dberr-again": "Reyndu að bíða í nokkrar mínútur og endurhlaða síðan síðuna.",
        "dberr-info": "(Mistókst að fá aðgang að gagnaþjóni: $1)",
        "dberr-info-hidden": "(Mistókst að fá aðgang að gagnaþjóni)",
        "dberr-usegoogle": "Þú getur notað Google til að leita á meðan.",
        "logentry-rights-autopromote": "$1 fékk sjálfvirkt {{GENDER:$2|aukin}} réttindi frá $4 til $5",
        "logentry-upload-upload": "$1 {{GENDER:$2|hlóð inn}} $3",
        "logentry-upload-overwrite": "$1 {{GENDER:$2|hlóð inn}} nýrri útgáfu af $3",
+       "log-name-managetags": "Breytingaskrá yfir sýsl með merki",
+       "logentry-managetags-create": "$1 {{GENDER:$2|bjó til}} merkið \"$4\"",
        "rightsnone": "(engum)",
        "revdelete-summary": "breytingarágrip",
        "feedback-adding": "Bæti við svörun á síðuna...",
        "api-error-fileexists-forbidden": "Skrá með nafninu \"$1\" er þegar til og ekki er hægt að yfirskrifa hana.",
        "api-error-fileexists-shared-forbidden": "Skrá með nafninu \"$1\" er þegar til á miðlæga gagnaþjóninum og ekki er hægt að yfirskrifa hana.",
        "api-error-file-too-large": "Skráin sem þú valdir er of stór.",
-       "api-error-filename-tooshort": "Skráarnafnið er of stutt",
+       "api-error-filename-tooshort": "Skráarheitið er of stutt",
        "api-error-filetype-banned": "Þessi gerð skráar er bönnuð.",
        "api-error-filetype-banned-type": "$1 {{PLURAL:$4|er óleyfileg skráargerð|eru óleyfilegar skráargerðir}}. {{PLURAL:$3|Leyfð skráargerð er|Leyfðar skráargerðir eru}} $2.",
        "api-error-filetype-missing": "Skráin hefur enga skráarendingu.",
        "api-error-hookaborted": "Hætt var við breytinguna sem þú reyndir að gera með viðbót.",
        "api-error-http": "Innri villa: Get ekki tengst vefþjón.",
-       "api-error-illegal-filename": "Þetta skráarnafn er ekki leyft.",
+       "api-error-illegal-filename": "Þetta skráarheiti er ekki leyft.",
        "api-error-internal-error": "Innri villa: Mistókst að vinna úr upphali þínu.",
        "api-error-invalid-file-key": "Innri villa: Skrá fannst ekki í bráðabirgðageymslu.",
        "api-error-missingparam": "Innri villa: Breytur vantar í beiðni.",
index 013548e..4f36b79 100644 (file)
        "newarticle": "(Nuovo)",
        "newarticletext": "Il collegamento appena seguito corrisponde ad una pagina non ancora esistente.\nSe vuoi creare la pagina ora, basta cominciare a scrivere il testo nella casella qui sotto (vedi la [$1 pagina di aiuto] per maggiori informazioni).\nSe il collegamento è stato aperto per errore, è sufficiente fare clic sul pulsante <strong>Indietro</strong> del proprio browser.",
        "anontalkpagetext": "----\n''Questa è la pagina di discussione di un utente anonimo, che non ha ancora creato un'utenza o comunque non la sta usando. Per identificarlo è quindi necessario usare il numero del suo indirizzo IP. Gli indirizzi IP possono però essere condivisi da più utenti. Se sei un utente anonimo e ritieni che i commenti presenti in questa pagina non si riferiscano a te, [[Special:UserLogin/signup|crea una nuova utenza]] o [[Special:UserLogin|entra con quella che già hai]] per evitare di essere confuso con altri utenti anonimi in futuro.''",
-       "noarticletext": "In questo momento la pagina richiesta è vuota. È possibile [[Special:Search/{{PAGENAME}}|cercare questo titolo]] nelle altre pagine del sito, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercare nei registri correlati] oppure [{{fullurl:{{FULLPAGENAME}}|action=edit}} modificare la pagina ora]</span>.",
+       "noarticletext": "In questo momento la pagina richiesta è vuota.\nPuoi [[Special:Search/{{PAGENAME}}|cercare questo titolo]] nelle altre pagine del sito, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercare nei registri correlati] oppure [{{fullurl:{{FULLPAGENAME}}|action=edit}} creare questa pagina]</span>.",
        "noarticletext-nopermission": "In questo momento la pagina richiesta è vuota. È possibile [[Special:Search/{{PAGENAME}}|cercare questo titolo]] nelle altre pagine del sito o <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercare nei registri correlati]</span>, ma non hai i permessi per creare questa pagina.",
        "missing-revision": "La versione #$1 della pagina \"{{FULLPAGENAME}}\" non esiste.\n\nQuesto si verifica solitamente seguendo un collegamento a una pagina cancellata, in una cronologia non aggiornata.\nI dettagli possono essere trovati nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro delle cancellazioni].",
        "userpage-userdoesnotexist": "L'account \"$1\" non corrisponde a un utente registrato.\nVerificare che si intenda davvero creare o modificare questa pagina.",
        "recentchangeslinked-summary": "Questa pagina speciale mostra le modifiche più recenti alle pagine collegate da quella specificata (o contenute nella categoria specificata).\nLe pagine contenute nella propria lista degli [[Special:Watchlist|Osservati speciali]] sono evidenziate in <strong>grassetto</strong>.",
        "recentchangeslinked-page": "Nome della pagina:",
        "recentchangeslinked-to": "Mostra solo le modifiche alle pagine collegate a quella specificata",
-       "recentchanges-page-added-to-category": "[[:$1]] aggiunto alla categoria",
+       "recentchanges-page-added-to-category": "[[:$1]] aggiunta alla categoria",
        "recentchanges-page-added-to-category-bundled": "[[:$1]] e {{PLURAL:$2|una pagina è aggiunta|$2 pagine sono aggiunte}} alla categoria",
-       "recentchanges-page-removed-from-category": "[[:$1]] rimosso dalla categoria",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] e {{PLURAL:$2|una pagina è rimossa|$2 pagine sono rimosse}} dalla categoria",
+       "recentchanges-page-removed-from-category": "[[:$1]] rimossa dalla categoria",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] e {{PLURAL:$2|un'altra pagina|altre $2 pagine}} rimosse dalla categoria",
        "autochange-username": "Modifica automatica MediaWiki",
        "upload": "Carica un file",
        "uploadbtn": "Carica",
index a85498a..a37bf64 100644 (file)
        "policy-url": "Project:정책",
        "portal": "사용자 모임",
        "portal-url": "Project:사용자 모임",
-       "privacy": "개인 정보 정책",
-       "privacypage": "Project:개인 정보 정책",
+       "privacy": "개인정보 정책",
+       "privacypage": "Project:개인정보 정책",
        "badaccess": "권한 오류",
        "badaccess-group0": "요청한 명령을 실행할 권한이 없습니다.",
        "badaccess-groups": "요청한 명령은 {{PLURAL:$2|다음|다음 중 하나의}} 권한을 가진 사용자에게 제한됩니다: $1.",
        "previewnote": "'''이 화면은 미리 보기입니다.'''\n편집한 내용은 아직 저장하지 않았습니다!",
        "continue-editing": "편집 영역으로 가기",
        "previewconflict": "이 미리 보기는 저장할 때의 모습으로 위쪽 편집창의 문서를 반영합니다.",
-       "session_fail_preview": "'''세션 데이터가 없어져 편집을 저장하지 못했습니다.'''\n다시 시도하세요.\n다시 시도해도 되지 않으면 [[Special:UserLogout|로그아웃]]한 다음 다시 로그인하세요.",
+       "session_fail_preview": "세션 데이터가 없어져 편집을 저장하지 못했습니다.\n\n로그아웃 되었는지도 모릅니다. '''아직 로그인 상태인지 확인하고 다시 시도해주세요.'''\n다시 시도해도 되지 않으면 [[Special:UserLogout|로그아웃]]한 다음 다시 로그인하세요. 그리고 브라우저 설정에서 쿠키 사용을 허용하는지 확인하세요.",
        "session_fail_preview_html": "'''세션 데이터가 없어져 편집을 저장하지 못했습니다.'''\n\n{{SITENAME}}에서 HTML 입력을 허용하기 때문에, 자바스크립트 공격을 막기 위해 미리 보기는 숨겨져 있습니다.\n\n'''적합하게 편집을 시도했다면 다시 시도하세요'''\n다시 시도해도 되지 않으면 [[Special:UserLogout|로그아웃]]한 다음 다시 로그인하세요.",
        "token_suffix_mismatch": "'''저장하려는 내용의 문장 부호가 망가져 있습니다.'''\n문서 보호를 위해 해당 내용을 저장하지 않습니다.\n버그가 있는 익명 프록시 서비스 등을 사용할 때 이런 문제가 발생할 수 있습니다.",
        "edit_form_incomplete": "'''편집의 일부 내용이 서버에 전달되지 않았습니다. 편집이 손상되지 않았는지 확인하고 다시 시도해 주십시오.'''",
index 1c7ec9d..9ff50a1 100644 (file)
        "view-foreign": "Vide ncopp'a $1",
        "edit": "Càgna",
        "edit-local": "Càgna descrizione lucale",
-       "create": "Cria",
+       "create": "Crèa",
        "create-local": "Azzecca descrizione lucale",
        "editthispage": "Càgna chesta paggena",
-       "create-this-page": "Cria sta paggena",
+       "create-this-page": "Crèa sta paggena",
        "delete": "Scancèlla",
        "deletethispage": "Scancèlla chésta paggena",
        "undeletethispage": "Arrepiglia chista paggena",
        "userlogin-joinproject": "Facite 'o riggistro ncopp'a {{SITENAME}}",
        "nologin": "Nun tenite ancora n'acciesso? '''$1'''.",
        "nologinlink": "Crialo mmo",
-       "createaccount": "Cria nu cunto nuovo",
+       "createaccount": "Crèa nu cunto nuovo",
        "gotaccount": "Tiene già nu cunto? '''$1'''.",
        "gotaccountlink": "Tràse",
        "userlogin-resetlink": "V'avite scurdato 'e dettaglie d'acciesso vuoste?",
        "userlogin-resetpassword-link": "Te sì scurdat' 'a password?",
        "userlogin-helplink2": "Aiuto cu l'accieso",
        "userlogin-loggedin": "Sì già {{GENDER:$1|connesso comme $1|connessa comme $1|connesso/a comme $1}}.\nUsa 'o modulo ccà abbascio pe trasì com'a n'atu utente.",
-       "userlogin-createanother": "Cria n'at'account",
+       "userlogin-createanother": "Crèa n'at'account",
        "createacct-emailrequired": "Indirizzo email",
        "createacct-emailoptional": "Indirizzo 'e posta elettronica (ozzionale)",
        "createacct-email-ph": "Scrivite 'o nderizzo mail vuosto",
        "createaccountreason": "Mutivo:",
        "createacct-reason": "Mutivo",
        "createacct-reason-ph": "Pecché staje crianno n'at'utenza",
-       "createacct-submit": "Cria 'a toja utenza",
-       "createacct-another-submit": "Cria nu cunto",
+       "createacct-submit": "Crèa 'o cunto utente vuosto",
+       "createacct-another-submit": "Crèa nu cunto",
        "createacct-benefit-heading": "{{SITENAME}} è fatta 'e perzone comme te.",
        "createacct-benefit-body1": "{{PLURAL:$1|càgnamiento|càgnamiente}}",
        "createacct-benefit-body2": "{{PLURAL:$1|paggena|paggene}}",
        "createacct-another-realname-tip": "'O nomme overo vuosto è ozzionale.\nSi sciglite 'e nzertà 'o nomme overo, chesto s'ausarrà pe' dà l'utente l'attribuzione d' 'a fatica fatta.",
        "pt-login": "Tràse",
        "pt-login-button": "Tràse",
-       "pt-createaccount": "Cria nu cunto nuovo",
+       "pt-createaccount": "Crèa nu cunto nuovo",
        "pt-userlogout": "Jèsce",
        "php-mail-error-unknown": "Errore scanusciuto dint'a funzione PHP mail()",
        "user-mail-no-addy": "Avite cercato 'e mannà na mmasciata e-mail senza indirizzo.",
        "summary": "Riepilego:",
        "subject": "Suggietto:",
        "minoredit": "Chisto è nu cagnamiénto piccerillo",
-       "watchthis": "Tiene d'uocchio chesta paggena",
+       "watchthis": "Tiene d'uocchio sta paggena",
        "savearticle": "Sarva 'a paggena",
        "preview": "Anteprimma",
        "showpreview": "Vire anteprimma",
        "shown-title": "Fa vere {{PLURAL:$1|'nu risultato|$1 risultate}} ppe paggena",
        "viewprevnext": "Vere($1 {{int:pipe-separator}} $2) ($3).",
        "searchmenu-exists": "'''Ncopp' 'o sito esiste na paggena c' 'o nomme \"[[:$1]]\"'''\n{{PLURAL:$2|0=|Vedite pure dint'a l'ati risultate 'e cerca.}}",
-       "searchmenu-new": "<strong>'''Cria a paggena \"[[:$1]]\" ncopp'â chisto wiki!'''</strong> {{PLURAL:$2|0=|Vide anche 'a paggena truovata cu 'a recerca vuosta|Vede anche 'e risultate d\"a recerca}}",
+       "searchmenu-new": "<strong>'''Crèa 'a paggena \"[[:$1]]\" ncopp'a stu wiki!'''</strong> {{PLURAL:$2|0=|Vedite pure 'a paggena truvata c' 'a recerca vuosta|Vedite pure 'e risultate d\"a recerca}}",
        "searchprofile-articles": "Paggene 'e contenute",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Tutto",
        "upload-maxfilesize": "Diminsione massima d' 'o file: $1",
        "upload-description": "Descrizione d' 'o file",
        "upload-options": "Opziune 'e carreca",
-       "watchthisupload": "Tiene d'uocchio chistu file",
+       "watchthisupload": "Tiene d'uocchio stu file",
        "filewasdeleted": "Nu file ca se chiamave cumm'a chillo c'avete primma carrecato e pò è stato scancellato.\nVedite 'e cuntrullà 'o $1 apprimma ca cuntinuate c' 'a carreca.",
        "filename-thumb-name": "Chesto pare nu titolo 'e miniatura. Pe' piacere nun carrecate miniature 'a stessa wiki. 'E n'atu modo, cagnate pe' piacere 'o nomme d' 'o file, facenno chesto cchiù significativo e senza prefisso 'e miniatura.",
        "filename-bad-prefix": "'O nomme d' 'o file ca state a carrecà accummencia pe' ''\"$1\"''', ca nurmalmente è 'o nomme c'assegnasse na machina fotografeca automatecamente ed è nu nomme nun descrittivo.\nPe' piacere scigliete n'atu nomme ca fosse cchiù descrittivo.",
        "removedwatchtext": "\"[[:$1]]\" 'e 'a paggena 'e chiacchiera soja so' state scancellata 'a l'elenco [[Special:Watchlist|'e paggene cuntrullate]] vuosto.",
        "removedwatchtext-short": "Chista paggena \"$1\" è stata luvata a l'elenco 'e paggene cuntrullate.",
        "watch": "Secuta",
-       "watchthispage": "Tiene d'uocchio chesta paggena",
+       "watchthispage": "Tiene d'uocchio sta paggena",
        "unwatch": "Nun segui",
        "unwatchthispage": "Nun cuntrullà cchiù sta paggena",
        "notanarticle": "Chesta paggena nun è na voce",
        "pagesize": "(byte)",
        "restriction-edit": "Càgna",
        "restriction-move": "Mòve",
-       "restriction-create": "Cria",
+       "restriction-create": "Crèa",
        "restriction-upload": "Carreca",
        "restriction-level-sysop": "prutetta",
        "restriction-level-autoconfirmed": "semi-prutetta",
index 5843d1c..6218c71 100644 (file)
        "actions": "Accions",
        "namespaces": "Espacis de noms",
        "variants": "Variantas",
-       "navigation-heading": "Menut de navigacion",
+       "navigation-heading": "Menú de navigacion",
        "errorpagetitle": "Error de títol",
        "returnto": "Tornar a la pagina $1.",
        "tagline": "Un article de {{SITENAME}}.",
        "viewsourceold": "veire la font",
        "editlink": "modificar",
        "viewsourcelink": "veire la font",
-       "editsectionhint": "Modificar la seccion: $1",
+       "editsectionhint": "Modificar la seccion : $1",
        "toc": "Somari",
        "showtoc": "afichar",
        "hidetoc": "amagar",
        "apisandbox-examples": "Exemples",
        "apisandbox-results": "Resultats",
        "apisandbox-request-url-label": "Requèsta URL :",
-       "apisandbox-request-time": "Durada de la demanda: {{PLURAL:$1|$1 ms}}",
+       "apisandbox-request-time": "Durada de la demanda : {{PLURAL:$1|$1 ms}}",
        "booksources": "Obratges de referéncia",
        "booksources-search-legend": "Recercar demest d'obratges de referéncia",
        "booksources-isbn": "ISBN :",
        "cant-move-user-page": "Avètz pas la permission de renomenar las paginas principalas d'utilizaires.",
        "cant-move-to-user-page": "Avètz pas la permission de tornar nomenar una pagina cap a una pagina d'utilizaire (a l'excepcion d'una sospagina).",
        "cant-move-category-page": "Avètz pas la permission de renomenar las paginas de categorias.",
-       "newtitle": "Títol novèl:",
+       "newtitle": "Títol novèl :",
        "move-watch": "Seguir aquesta pagina",
        "movepagebtn": "Tornar nomenar l'article",
        "pagemovedsub": "Cambiament de nom capitat",
index a416870..6384582 100644 (file)
        "nstab-template": "Stamp",
        "nstab-help": "Agiut",
        "nstab-category": "Categorìa",
+       "mainpage-nstab": "Pàgina prinsipal",
        "nosuchaction": "Operassion nen arconossùa",
        "nosuchactiontext": "L'operassion che a l'ha ciamà ant l'anliura a l'é nen arconossùa.\nA peul esse che a l'abie batù mal l'adrëssa, o che a sia andàit dapress a n'anliura nen giusta.\nSossì a podrìa ëdcò esse un givo andrinta al programa dovrà da {{SITENAME}}.",
        "nosuchspecialpage": "A-i é gnun-a pàgina special tan-me cola che chiel a l'ha ciamà.",
        "contributions": "Contribussion dë st'{{GENDER:$1|utent}}-sì",
        "contributions-title": "Contribussion ëd $1",
        "mycontris": "Contribussion",
+       "anoncontribs": "Contribussion",
        "contribsub2": "Për {{GENDER:$3|$1}} ($2)",
        "contributions-userdoesnotexist": "Ël cont utent «$1» a l'é pa argistrà.",
        "nocontribs": "A l'é pa trovasse gnun-a modìfica che a fussa conforma a costi criteri-sì",
index 0998ff3..f7f15f1 100644 (file)
@@ -14,7 +14,8 @@
                        "Krivoshapkina",
                        "Macofe",
                        "Matma Rex",
-                       "Мария Олесова"
+                       "Мария Олесова",
+                       "Ай-Куо"
                ]
        },
        "tog-underline": "Сигэлэри аннынан тардыы:",
        "databaseerror-query": "Ыйытык: $1",
        "databaseerror-function": "Функция: $1",
        "databaseerror-error": "Алҕас: $1",
+       "transaction-duration-limit-exceeded": "\nРепликация оҥорорго улахан лаг мэһэйдээбэтин туһугар транзакция тохтотуллубута, сурутуу уһуна ($1) ($2){{PLURAL:$2|}}лимиты таһынан ааһарын быһыытынан.\nЭн  биир олорууга хас да элэмиэни уларытар буоллаххына, ол оннугар элбэх улахана суох операциялары оҥорорго холонон көрүҥ.",
        "laggedslavemode": "Болҕой: Бу сирэй бүтэһик уларытыылара суох буолуон сөп",
        "readonly": "Билии олоҕун уларытар бобуллубут",
        "enterlockreason": "Уларытыыны бобуу төрүөтүн уонна төһө өр бобулларын ый.",
        "missingarticle-rev": "(#-с торум: $1)",
        "missingarticle-diff": "(Уратыта: $1, $2)",
        "readonly_lag": "Билии олоҕун хос сиэрбэрдэрэ сүрүн сиэрбэри кытта мэнэйдэһэр кэмнэригэр билии олоҕо хатанна",
+       "nonwrite-api-promise-error": " HTTP-аат 'Promise-Non-Write-API-Action'ыытылынна, ол гынан баран ыйытык суруйуу API-модулугар барбыта.",
        "internalerror": "Ис алҕас (внутренняя ошибка)",
        "internalerror_info": "Ис алҕас: $1",
        "internalerror-fatal-exception": "\"$1\" тииптээх төлөрүйбэт туорааһын",
        "mypreferencesprotected": "Бэйэҥ туруорууларгын уларытар кыаҕыҥ суох эбит.",
        "ns-specialprotected": "{{ns:special}} ааттаах сирэйдэр уларытыллыбаттар.",
        "titleprotected": "Бу бас тыл оҥоһулларын [[User:$1|$1]] боппут.\nТөрүөтэ - ''$2''",
-       "filereadonlyerror": "«$1» билэни уларытар сатаммата, тоҕо диэтэххэ «$2» «ааҕарга эрэ» диэн эрэсиимҥэ турар эбит.\n\nБу эрэсиими туруорбут дьаһабыл маннык быһаарыыны хаалларбыт: «''$3''».",
+       "filereadonlyerror": "«$1» билэни уларытар сатаммата, тоҕо диэтэххэ «$2» «ааҕарга эрэ» диэн эрэсиимҥэ турар эбит.\n\nБу эрэсиими туруорбут систиэмэлээх дьаһабыл маннык быһаарыыны хаалларбыт: «''$3''».",
        "invalidtitle-knownnamespace": "«$2» аат далыгар маннык тиэкистээх «$3» сатаммат аат",
        "invalidtitle-unknownnamespace": "Биллибэт аат дала $1 нүөмэрдээх, \"$2\" тиэкистээх сатаммат аат",
        "exception-nologin": "Ааккын билиһиннэрбэтэххин",
        "changepassword-success": "Киирии тылыҥ этэҥҥэ уларыйда!",
        "changepassword-throttled": "Ааккын аһара элбэхтик билиһиннэрэ сатаатыҥ.\nБука диэн $1 буолан баран өссө киирэн көрөөр.",
        "botpasswords": "Оруобаттар аһарыктара",
+       "botpasswords-summary": "<em>Хатыыр тыллара</em> туттааччы учуоттуур сурутуутугар API-нан   логины уонна хатыыр тылы туттубакка эрэ киирэр кыах биэрэр. Кыттааччы  бота хатыыр тыллаах киириитигэр бырааба хааччахтаныан сөп.\nЭн  ити тоҕо наадатын билбэт буоллаххына, бука, итини гымматыҥ ордук.Ким даҕаны эйигиттэн хаһан даҕаны эн оҥорбутуҥ уонна биллэрбитиҥ диэн ыйытыа суохтаах.",
        "botpasswords-disabled": "Оруобаттар аһарыктара араарыллыбыттар.",
        "botpasswords-no-central-id": "Оруобат аһарыгын туһанарга кииннэммит ааккынан киириэхтээххин.",
        "botpasswords-existing": "Билигин баар оруобат аһарыктара",
        "botpasswords-label-delete": "Сот",
        "botpasswords-label-resetpassword": "Аһарыгы саҥаттан",
        "botpasswords-label-grants": "Туттуллар көҥүллэр:",
+       "botpasswords-help-grants": " Кыттааччы учуоттуур суруйуутугар баар ыйыллыбыт кыттааччы быраабыгар киирэргэ кыах биэрэр. к. [[Special:ListGrants|көҥүллэр табылыыссаларын]] эбии информацияны ылар туһугар.",
        "botpasswords-label-restrictions": "Туттарга хааччахтаах:",
        "botpasswords-label-grants-column": "Көҥүллэннэ",
        "botpasswords-bad-appid": "Маннык аат «$1» сатаммат.",
        "botpasswords-insert-failed": "«$1» диэн ааттаах оруобаты эбэр табыллыбата. Баҕар хайыы-үйэ эбиллибитэ буолаарай?",
+       "botpasswords-update-failed": "\"$1\" диэн ааттаах ботаны кыайан саҥардыбатыбыт. Баҕар, сотторуллубута буолуо?",
        "botpasswords-created-title": "Оруобат аһарыга оҥоһулунна",
        "botpasswords-created-body": "«$1» оруобат аһарыга бигэргэтилиннэ.",
        "botpasswords-updated-title": "Оруобат аһарыга саҥардылынна",
        "botpasswords-updated-body": "«$1» оруобат аһарыга уларытылынна.",
        "botpasswords-deleted-title": "Оруобат аһарыга сотулунна",
        "botpasswords-deleted-body": "«$1» оруобат аһарыга сотулунна.",
+       "botpasswords-newpassword": "\nСаҥа хатыыр тыл <strong>$1</strong> — <strong>$2</strong> аннынан киириигэ. <em> суруй аныгыскыга туттарга.</em>",
+       "botpasswords-no-provider": "BotPasswordsSessionProvider кыаллыбат.",
        "botpasswords-restriction-failed": "Буот аһарыгын кытта сыһыаннаах хааччахтан киирии сатаммата.",
+       "botpasswords-invalid-name": "Кыттааччы аатыгар буот аһарыгын араарааччыта суох эбит (\"$1\").",
+       "botpasswords-not-exist": "«$1» кыттааччыга «$2» диэн ааттаммыт оруобакка аналлаах аһарыга суох эбит.",
        "resetpass_forbidden": "Киирии тылы уларытар сатаммат",
        "resetpass-no-info": "Ааккын билиһиннэрдэххинэ эрэ бу сирэйгэ быһа тиийиэххин сөп.",
        "resetpass-submit-loggedin": "Киирии тылы уларытыы",
        "previewnote": "'''Бу барыллаан көрүү эрэ.'''\nАтын уларытыы бигэргэтиллэ илик!",
        "continue-editing": "Уларытар сиргэ",
        "previewconflict": "Этот предварительный просмотр отражает текст в верхнем окне редактирования так, как он будет выглядеть, если вы решите записать его.",
-       "session_fail_preview": "'''Сиэрбэр сессия идентификаторын сүтэрэн кэбиһэн эн уларытыыгын кыайан киллэрбэтэ.\nӨссө холонон көр.\nОлох сатамматаҕына биикиттэн [[Special:UserLogout|тахсан]] баран өссө киирэн көрөөр.'''",
+       "session_fail_preview": "'''Сиэрбэр сессия идентификаторын сүтэрэн кэбиһэн эн уларытыыгын кыайан киллэрбэтэ.\nБаҕар, үлэ сеансын бүтэрбитиҥ буолуо. <strong>Баһаалыста, көҥүлү ааспыккын бил уонна өссө холонон көр.\n<strong>\nОлох сатамматаҕына биикиттэн [[Special:UserLogout|тахсан]] баран өссө киирэн көрөөр, ону сэргэ браузерыҥ бу саайтан cookies диэни ыларга көҥүллүүрүн бэрэбиэркэлээҥ.'''",
        "session_fail_preview_html": "'''Сессия дааннайдарын сүтэрэн кэбиһэн сиэрбэр эн уларытыыгын киллэрбэтэ.'''\n\n''{{SITENAME}} ыраас HTML тылы көҥүллүүр буолан JavaScript туһананнар куһаҕаны оҥоруохтарын сөп, онон эрдэ көрдөрүү араарыллыбыт.''\n\n'''Өскө бу уларытыы туох да куһаҕаны аҕалыа диэбэт буоллаххына хатылаа. Ол сатамматаҕына [[Special:UserLogout|тахсан баран]] өссө киирэн көрөөр.'''",
        "token_suffix_mismatch": "'''Эн уларытыыҥ киирбэтэ, тоҕо диэтэххэ эн бырагырааммаҥ сорох сурук бэлиэлэрин сыыһа көрөр эбит.\nЫстатыйаны буорту гынымаары уларытыыҥ ылыныллыбата.\nИтинник сыыһалар үксүн прокси-сиэрбэрдэри туһаннахха тахсааччылар.'''",
        "edit_form_incomplete": "'''Уларытыы сорҕото сиэрбэргэ тиийбэтэ. Үчүгэйдик сыныйан көр, Эн уларытыыларыҥ туох да омсото суохтар дуо. Онтон өссө боруобалаа.'''",
        "mergehistory-fail-bad-timestamp": "Кэм бэлиэтэ алҕастаах.",
        "mergehistory-fail-invalid-source": "Сирэй төрүтэ алҕастаах.",
        "mergehistory-fail-invalid-dest": "Барыахтаах сирэйиҥ алҕастаах.",
+       "mergehistory-fail-no-change": "Устуоруйа холбоһуутугар ханнык да биэрсийэ холбоһуута буолбата. Баһаалыста сирэйи уонна быстах кэмнээх кэмнэбили өссө төгүл бэрэбиэркэлээ.",
        "mergehistory-fail-permission": "Устуоруйаны холбуурга быраап тиийбэт",
        "mergehistory-fail-self-merge": "Саҕалыыр уонна түмүктүүр сирэйдэриҥ атын буолуохтаахтар",
        "mergehistory-fail-toobig": "Устуоруйаны холбуур табыллыбата, тоҕо диэтэххэ $1  барылга көҥүллэнэр лимииттэн элбэҕи көһөрөр наада эбит.",
        "apisandbox-submit": "Ыйытык оҥоруу",
        "apisandbox-reset": "Сот",
        "apisandbox-retry": "Хатылаа",
+       "apisandbox-helpurls": "Көмө сигэлэр",
+       "apisandbox-examples": "Холобурдар",
        "apisandbox-dynamic-parameters": "Дьайыы кээмэйдэрэ.",
        "apisandbox-dynamic-parameters-add-label": "Кэриҥи эбии.",
        "apisandbox-dynamic-parameters-add-placeholder": "Кэриҥ аата.",
+       "apisandbox-dynamic-error-exists": "«$1» диэн ааттаах параметр хайыы үйэ баар эбит.",
        "apisandbox-deprecated-parameters": "Эргэрбит кэриҥнэр.",
+       "apisandbox-fetch-token": "Токены аптамаатынан толоруу",
+       "apisandbox-submit-invalid-fields-title": "Сорҕото алҕастаах",
        "apisandbox-submit-invalid-fields-message": "Бука диэн бэлиэтэммит хонууну көннөр уонна хаттаан ук.",
        "apisandbox-results": "Түмүк",
+       "apisandbox-sending-request": "API-көрдөбүлү ыытыы…",
+       "apisandbox-loading-results": "API-түмүгүн ылыы…",
        "apisandbox-results-fixtoken": "Токены көннөрөн баран саҥаттан ыыт.",
        "booksources": "Кинигэлэр источниктара",
        "booksources-search-legend": "Кинигэ туһунан көрдөө",
        "tags-deactivate-not-allowed": "\"$1\" тиэги араарар табыллыбат.",
        "tags-deactivate-submit": "араар",
        "tags-apply-no-permission": "Бэйэҥ уларытыыгар уларытыы тиэгин туруорар кыаҕыҥ суох эбит.",
+       "tags-apply-blocked": "Хатана сылдьар кэмҥитигэр көннөрүүлэргитигэр уларытыы бэлиэлэрин туттаргыт табыллыбат.",
        "tags-apply-not-allowed-one": "«$1» тиэги илииннэн туруорар табыллыбат эбит.",
        "tags-apply-not-allowed-multi": "Маннык {{PLURAL:$2|тиэк илиинэн угуллубат|тиэктэр илиинэн угуллубаттар}}: $1",
        "tags-update-no-permission": "Сурунаал тус-туспа торумнарын уонна суруктарын тиэгин эбэр уонна уларытар кыаҕыҥ суох эбит.",
index 0878a24..8f17261 100644 (file)
        "newarticle": "(Nov)",
        "newarticletext": "Sledili ste povezavi na stran, ki še ne obstaja.\nDa bi stran ustvarili, vnesite v spodnji obrazec besedilo\n(za več informacij glej [$1 pomoč]).\nČe ste sem prišli po pomoti, v svojem brskalniku kliknite gumb ''Nazaj''.",
        "anontalkpagetext": "---- ''To je pogovorna stran brezimnega uporabnika, ki si še ni ustvaril računa ali pa ga ne uporablja. Zaradi tega moramo uporabiti IP-naslov za njegovo/njeno ugotavljanje istovetnosti. Takšen IP-naslov si lahko deli več uporabnikov. Če ste brezimni uporabnik in menite, da so nepomembne pripombe namenjene vam, prosimo [[Special:UserLogin|ustvarite račun]] ali pa se [[Special:UserLogin/signup|vpišite]], da preprečite zmedo z drugimi nepodpisanimi uporabniki.''",
-       "noarticletext": "Na tej strani ni trenutno nobenega besedila. Naslov strani lahko poskusite [[Special:Search/{{PAGENAME}}|poiskati]] na drugih straneh, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} v dnevniških zapisih] ali pa [{{fullurl:{{FULLPAGENAME}}|action=edit}} stran uredite]</span>.",
+       "noarticletext": "Na tej strani ni trenutno nobenega besedila. Naslov strani lahko poskusite [[Special:Search/{{PAGENAME}}|poiskati]] na drugih straneh, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} v dnevniških zapisih] ali pa [{{fullurl:{{FULLPAGENAME}}|action=edit}} stran ustvarite]</span>.",
        "noarticletext-nopermission": "Na strani trenutno ni nobenega besedila.\nLahko poskusite [[Special:Search/{{PAGENAME}}|poiskati naslov strani]] na drugih straneh ali <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} v povezanih dnevniških zapisih]</span>, vendar za ustvarjanje strani nimate zadostnih dovoljenj.",
        "missing-revision": "Redakcija št. $1 strani »{{FULLPAGENAME}}« ne obstaja.\n\nPo navadi se to zgodi, ko sledite zastareli povezavi na zgodovino strani, ki jo je nekdo izbrisal.\nPodrobnosti lahko najdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} dnevniku brisanja].",
        "userpage-userdoesnotexist": "Uporabniški račun »<nowiki>$1</nowiki>« ni registriran.\nProsimo preverite, ali res želite ustvariti/urediti to stran.",
index da74677..756a436 100644 (file)
@@ -44,7 +44,8 @@
                        "Matma Rex",
                        "Anj.balaji",
                        "Dineshkumar Ponnusamy",
-                       "Sharanrajindia"
+                       "Sharanrajindia",
+                       "Maathavan"
                ]
        },
        "tog-underline": "இணைப்புகளுக்கு அடிக்கோடிடு",
        "right-blockemail": "பயனர் மின்னஞ்சல் அனுப்புவதை தடுக்கவும்",
        "right-hideuser": "பயனர்பெயரை தடுத்து, மறைக்கவும்",
        "right-ipblock-exempt": "ஐ.பி (IP) தடுப்புகளையும், தானியங்கியான தடுப்புகளையும், வரம்புவரையான தடுப்புகளையும் மீறிச் செயல்படுக.",
-       "right-proxyunbannable": "தானாக தடுப்புகப்பட்ட  Proxies ஐ மீறு.",
        "right-unblockself": "நீங்களே தடுப்பு நீக்குக",
        "right-protect": "பாதுகாப்பு மட்டங்களை மாற்று மற்றும் தொடர்-பாதுகாக்கப்பட்ட பக்கங்களை திருத்து",
        "right-editprotected": "\"{{int:protect-level-sysop}}\" ஆல் பாதுகாக்கப்பட்ட பக்கங்களை திருத்து",
        "right-managechangetags": "தரவுதளத்திலிருந்து [[Special:Tags|அடையாளங்களை]] உருவாக்கு மற்றும் நீக்கு",
        "right-applychangetags": "ஒருவரின் மாற்றத்துடன் [[Special:Tags|அடையாளங்களை]] செயற்படுத்து",
        "right-changetags": "தனியொருவரின் திருத்தம் மற்றும் செயற்பாட்டு பதிவுகளில்  [[Special:Tags|அடையாளங்களை]] சேர் அல்லது நீக்கு",
+       "grant-group-administration": "நிர்வாக நடவடிக்கைகளை செயல்படுத்து",
        "newuserlogpage": "பயனர் உருவாக்கம் பற்றிய குறிப்பு",
        "newuserlogpagetext": "இது பயனர் படைப்புகளின் பதிவு ஆகும்.",
        "rightslog": "பயனர் உரிமைகள் பதிகை",
        "watchthisupload": "இந்த கோப்பினைக் கவனி",
        "filewasdeleted": "இப்பெயரைக் கொண்ட கோப்பு முன்பு பதிவேற்றப்பட்டு பின்னர் நீக்கப்பட்டது. பதிவேற்றத்துக்குப் முன்னர் $1 ஐச் சரிபார்க்கவும்.",
        "filename-bad-prefix": "நீங்கள் பதிவேற்ற எத்தனிக்கும் கோப்பின் பெயர் '''\"$1\"''' என்பதுடன் தொடங்குகிறது, பொதுவாக இது எண்மருவி கமெராக்கலால் தானியக்கமாக வழங்கப்புடும் பெயராகும். அருள் கூர்ந்து கோப்பிற்கு விளக்கமான பெயரொன்றைக் கொடுக்கவும்.",
-       "upload-success-subj": "வெற்றிகரமான பதிவேற்றம்",
-       "upload-success-msg": "[$2]  லிருந்து உங்கள் தகவலேற்றம் நடக்கவில்லை.அது  [[:{{ns:file}}:$1]] இங்கு கிடைக்கப்பெறும்.",
-       "upload-failure-subj": "பதிவேற்றத்தில் ஏற்பட்டத் தொல்லை",
-       "upload-failure-msg": "[$2] லிருந்து உங்கள்  தகவலேற்றத்தில் சிக்கல் உள்ளது.\n$1",
-       "upload-warning-subj": "பதிவேற்றல் எச்சரிக்கை",
-       "upload-warning-msg": "$2 லிருந்து உங்கள் தகவலேற்றத்தில் சிக்கல் உள்ளது. அதை சரி செய்ய நீங்கள் இங்கே செல்லலாம் [[Special:Upload/stash/$1|upload form]].",
        "upload-proto-error": "பிழையான நெறி",
        "upload-proto-error-text": "தொலைவுப் பதிவேற்றத்துக்கு யு.ஆர்.எல். <code>http://</code> அல்லது <code>ftp://</code> என்ற முன்னொட்டுடன் தொடங்கவேண்டும்.",
        "upload-file-error": "உள்ளகத் தவறு",
        "querypage-disabled": "செயல்பாட்டு காரணங்களுக்காக இந்த சிறப்புப் பக்கம் முடக்கப்பட்டுள்ளது.",
        "apihelp": "ஏபிஐ உதவி",
        "apihelp-no-such-module": "''$1'' என்ற மாடுயூல் காணப்படவில்லை.",
+       "apisandbox": "API மணற்தொட்டி",
+       "apisandbox-api-disabled": "இத் தளத்தில் API செயலிழக்கம் செய்யப்பட்டுள்ளது.",
+       "apisandbox-submit": "கோரிக்கை செய்",
+       "apisandbox-reset": "வெறுமையாக்கு",
+       "apisandbox-examples": "உதாரணம்",
+       "apisandbox-results": "முடிவு",
+       "apisandbox-request-time": "வேண்டுகோள் நேரம்: $1",
        "booksources": "நூல் மூலங்கள்",
        "booksources-search-legend": "நூல் மூலங்களைத் தேடு",
        "booksources-search": "தேடுக",
        "wlheader-showupdated": "உங்கள் கடைசி வருகைக்குப் பின்னர் மாற்றங்கள் செய்யப்பட்ட பக்கங்கள் '''தடித்த எழுத்துக்களில்''' காட்டப்பட்டுள்ளன",
        "wlnote": "பின்வருவன கடைசி {{PLURAL:$2|மணித்தியாலத்தில்|'''$2''' மணித்தியாலங்களில்}} செய்யப்பட்ட {{PLURAL:$1|கடைசி ஒரு மாற்றமாகும்|கடைசி $1 மாற்றங்களாகும்}}.",
        "wlshowlast": "கடைசி $1 மணித்தியாலங்கள் $2 நாட்களைக் காட்டு",
-       "watchlistall2": "அனைத்து",
        "watchlist-options": "கவனிப்பு பட்டியலின் விருப்பத் தேர்வுகள்",
        "watching": "கவனிக்கப்படுகிறது...",
        "unwatching": "கவனிப்பு விடப்படுகிறது...",
        "tooltip-t-recentchangeslinked": "இப்பக்கத்துடன் இணைக்கப்பட்ட பக்கங்களில் மாற்றங்கள்",
        "tooltip-feed-rss": "இப்பக்கத்துக்கான ஆர்.எஸ்.எஸ். ஓடை கிடையாது",
        "tooltip-feed-atom": "இப்பக்கத்துக்கான அடொம் ஓடை கிடையாது",
-       "tooltip-t-contributions": "இப்பயனரின்  பங்களிப்புக்களின் பட்டியலைப் பார்",
+       "tooltip-t-contributions": "{{GENDER:$1|இப்பயனரின்}} பங்களிப்புக்களின் பட்டியலைப் பார்",
        "tooltip-t-emailuser": "இப் பயனருக்கு மின்னஞ்சல் செய்",
        "tooltip-t-info": "இப்பக்கத்தைப்பற்றி மேலதிக விபரம்",
        "tooltip-t-upload": "கோப்புகளைப் பதிவேற்றுக",
        "special-characters-group-lao": "இலாவோ",
        "special-characters-group-khmer": "கெமெர்",
        "special-characters-title-minus": "கழித்தல் குறி",
-       "api-error-blacklisted": "தயவுகூர்ந்து வேறு, விளக்கமான தலைப்பைத் தேர்ந்தெடுக்கவும்."
+       "api-error-blacklisted": "தயவுகூர்ந்து வேறு, விளக்கமான தலைப்பைத் தேர்ந்தெடுக்கவும்.",
+       "randomrootpage": "தற்போக்கு வேர்ப் பக்கம்"
 }
index 858a578..2ccb76f 100644 (file)
        "restoreprefs": "Відновити всі стандартні налаштування (у всіх розділах)",
        "prefs-editing": "Редагування",
        "rows": "Рядків:",
-       "columns": "Ð\9aолонок:",
+       "columns": "СÑ\82овпÑ\86Ñ\96в:",
        "searchresultshead": "Пошук",
        "stub-threshold": "Поріг для визначення оформлення посилань на стаби ($1):",
        "stub-threshold-sample-link": "зразок",
        "right-apihighlimits": "розширення обмежень на виконання API-запитів",
        "right-writeapi": "використання API для запису",
        "right-delete": "вилучення сторінок",
-       "right-bigdelete": "Ð\92илучення сторінок з великою історією",
+       "right-bigdelete": "вилучення сторінок з великою історією",
        "right-deletelogentry": "вилучення та відновлення окремих записів журналу",
        "right-deleterevision": "вилучення та відновлення окремих версій сторінок",
        "right-deletedhistory": "перегляд історії вилучених сторінок без перегляду вилученого тексту",
        "rcshowhidemine-show": "показати",
        "rcshowhidemine-hide": "приховати",
        "rcshowhidecategorization": "$1 категоризацію сторінок",
-       "rcshowhidecategorization-show": "Ð\9fоказати",
+       "rcshowhidecategorization-show": "показати",
        "rcshowhidecategorization-hide": "Приховати",
        "rclinks": "Показати останні $1 редагувань за $2 днів<br />$3",
        "diff": "різн.",
        "listgrouprights-addgroup-all": "можливість додавати до всіх груп",
        "listgrouprights-removegroup-all": "можливість виключати з усіх груп",
        "listgrouprights-addgroup-self": "може додавати {{PLURAL:$2|1=групу|групи}} до свого облікового запису: $1",
-       "listgrouprights-removegroup-self": "Ð\9cожливість вилучити зі свого облікового запису {{PLURAL:$2|1=групу|групи}}: $1",
+       "listgrouprights-removegroup-self": "можливість вилучити зі свого облікового запису {{PLURAL:$2|1=групу|групи}}: $1",
        "listgrouprights-addgroup-self-all": "Може додавати всі групи до свого облікового запису",
        "listgrouprights-removegroup-self-all": "може вилучати всі групи зі свого облікового запису",
        "listgrouprights-namespaceprotection-header": "Обмеження простору назв",
index 0b89559..6351ac4 100644 (file)
        "passwordreset-emailtext-ip": "Ai đó (có thể là bạn, từ địa chỉ IP $1) đã yêu cầu tái tạo mật khẩu của bạn \ntại {{SITENAME}} ($4). {{PLURAL:$3|Tài khoản|Các tài khoản}} dưới đây gắn liền \nvới địa chỉ thư điện tử này:\n\n$2\n\n{{PLURAL:$3|Mật khẩu|Các mật khẩu}} tạm này sẽ hết hạn trong vòng {{PLURAL:$5|một ngày|$5 ngày}}. Bạn nên đăng nhập\nngay bây giờ để chọn mật khẩu mới. Nếu bạn không phải là người yêu cầu\nhoặc đã nhớ lại mật khẩu hiện hành, và bạn không còn\nmuốn thay đổi nó, xin vui lòng bỏ qua thông điệp này và tiếp tục sử dụng\nmật khẩu cũ.",
        "passwordreset-emailtext-user": "Thành viên $1 tại {{SITENAME}} đã yêu cầu tái tạo mật khẩu tại {{SITENAME}} \n($4). {{PLURAL:$3|Tài khoản|Các tài khoản}} dưới đây gắn liền với địa chỉ thư điện tử này:\n\n$2\n\n{{PLURAL:$3|Mật khẩu|Các mật khẩu}} tạm này sẽ hết hạn trong vòng {{PLURAL:$5|một ngày|$5 ngày}}. Bạn nên đăng nhập\nngay bây giờ để chọn mật khẩu mới. Nếu bạn không phải là người yêu cầu hoặc đã nhớ lại mật khẩu hiện hành, và bạn không còn\nmuốn thay đổi nó, xin vui lòng bỏ qua thông điệp này và tiếp tục sử dụng\nmật khẩu cũ.",
        "passwordreset-emailelement": "Tên người dùng: \n$1\n\nMật khẩu tạm: \n$2",
-       "passwordreset-emailsentemail": "Nếu đây là đúng địa chỉ thư điện tử của tài khoản của bạn, một thư điện tử để tái tạo mật khẩu sẽ được gửi cho bạn.",
-       "passwordreset-emailsentusername": "Nếu một địa chỉ thư điện tử tương ứng đã được đăng ký, chúng tôi sẽ gửi thông tin để đặt lại mật khẩu qua thư điện tử.",
+       "passwordreset-emailsentemail": "Nếu đây là đúng địa chỉ thư điện tử của tài khoản của bạn, một thư điện tử dùng để tái tạo mật khẩu sẽ được gửi cho bạn.",
+       "passwordreset-emailsentusername": "Nếu một địa chỉ thư điện tử đã gắn với tên người dùng này thì một thư điện tử để đặt lại mật khẩu sẽ được gửi đến.",
        "passwordreset-emailsent-capture": "Thư điện tử để tái tạo mật khẩu đã được gửi, nội dung như sau.",
        "passwordreset-emailerror-capture": "Chúng tôi đã tạo thư tái tạo mật khẩu dưới đây, nhưng không thể gửi đến {{GENDER:$2}}người dùng: $1",
        "changeemail": "Đổi hoặc gỡ địa chỉ thư điện tử",
index c8fb4ee..733403a 100644 (file)
                ]
        },
        "tog-underline": "鏈接下橫線:",
-       "tog-hideminor": "此垡變化裏囥脫小編",
-       "tog-hidepatrolled": "此垡變化裏囥脫巡脫編",
+       "tog-hideminor": "近段辰光个改动里囥脱小编辑",
+       "tog-hidepatrolled": "近段辰光个改动里囥脱巡查过个编辑",
        "tog-newpageshidepatrolled": "新頁表裏囥脫巡脫頁",
        "tog-hidecategorization": "囥脱对页面个分类",
-       "tog-extendwatchlist": "æ\93´å¤§é\97\9c注表ï¼\8c顯示å\85¨é\83¨è®\8aå\8c\96ï¼\8cå¼\97å\96®æ¸\85æ­¤å\9e¡å\80\8b",
+       "tog-extendwatchlist": "æ\89©å±\95å\85³æ³¨è¡¨æ\9d¥æ\98¾ç¤ºæ\89\80æ\9c\89æ\94¹å\8a¨ï¼\8cå¼\97å\85\89æ\98¯æ\9c\80è¿\91个",
        "tog-usenewrc": "使用折叠版个近段辰光个改动搭关注表",
        "tog-numberheadings": "標題自動編號",
-       "tog-showtoolbar": "顯示編傢伙欄",
-       "tog-editondblclick": "捺兩記編頁",
-       "tog-editsectiononrightclick": "用右捺標題編段",
+       "tog-showtoolbar": "显示编辑工具条",
+       "tog-editondblclick": "双击编辑页面",
+       "tog-editsectiononrightclick": "右击段落标题编辑段落",
        "tog-watchcreations": "拿我建个页面搭我传个文件加到我个关注表里去",
        "tog-watchdefault": "拿我编个页面搭文件加到我个关注表里去",
        "tog-watchmoves": "畀我移个页搭文件加进我个监控列表里去",
        "tog-watchdeletion": "畀我刪脫個頁搭文件加進我個關注表裏",
        "tog-watchrollback": "拿我执行过回退个页面加到我个关注表里去",
        "tog-minordefault": "默认拿所有编辑标记成细编辑",
-       "tog-previewontop": "編寫框頭前顯示先望",
-       "tog-previewonfirst": "頭垡編寫顯示先望",
+       "tog-previewontop": "来拉编辑框上头显示预览",
+       "tog-previewonfirst": "头一届编辑辰光显示预览",
        "tog-enotifwatchlistpages": "我关注表里个页面或文件有改动个辰光发电子邮件畀我",
        "tog-enotifusertalkpages": "我个讨论页有改动个辰光发邮件畀我",
        "tog-enotifminoredits": "頁搭文件細編也用電子信通知我",
        "tog-oldsig": "本生个签名:",
        "tog-fancysig": "拿签名当成维基文本(弗自动链接)",
        "tog-uselivepreview": "使用实时预览",
-       "tog-forceeditsummary": "編要空白到提醒我",
-       "tog-watchlisthideown": "關注表裏囥脫我所編",
-       "tog-watchlisthidebots": "關注表裏囥脫機器人所編",
+       "tog-forceeditsummary": "朆写编辑摘要个辰光提醒我",
+       "tog-watchlisthideown": "关注表里囥脱我个编辑",
+       "tog-watchlisthidebots": "关注表里囥脱机器人个编辑",
        "tog-watchlisthideminor": "關注表裏囥脫細編",
-       "tog-watchlisthideliu": "關注表裏囥脫已登用戶所編",
-       "tog-watchlisthideanons": "關注表裏囥脫隱姓埋名用戶所編",
-       "tog-watchlisthidepatrolled": "關注表裏囥脫巡脫編",
+       "tog-watchlisthideliu": "关注表里囥脱登录用户个编辑",
+       "tog-watchlisthideanons": "关注表里囥脱匿名用户个编辑",
+       "tog-watchlisthidepatrolled": "关注表里囥脱巡查过个编辑",
        "tog-watchlisthidecategorization": "囥脱对页面个分类",
        "tog-ccmeonemails": "拿我发畀其他用户个电子邮件也发只副本畀我自家",
        "tog-diffonly": "比较两只修订版本两样个辰光弗显示页面内容",
        "tog-showhiddencats": "顯示囥脫分類",
        "tog-norollbackdiff": "执行退回之后弗显示两样",
-       "tog-useeditwarning": "離開編頁朆保存到提醒我",
+       "tog-useeditwarning": "离开编辑页面朆保存个辰光警告我",
        "tog-prefershttps": "登录后老世用保险连接",
        "underline-always": "老世",
        "underline-never": "老世弗",
        "newarticle": "(新)",
        "newarticletext": "倷跟著链接来着一个还弗勒里个页面。要创建该页面呢,就勒下底个框里向开始写([$1 帮助页面]浪有更加多个信息)。要是倷是弗用心到该𡍲个说话,请点击浏览器个<strong>返回</strong>揿钮。",
        "anontalkpagetext": "---- ''箇是一个还弗曾建立账户个匿名用户个讨论页, 箇咾我伲只好用IP地址来搭渠联络。该IP地址可能由几名用户共享。如果侬是一名匿名用户并认为箇只页面高头个评语搭侬弗搭界,请 [[Special:UserLogin/signup|创建新账户]]或[[Special:UserLogin|登录]]来避免垃拉将来搭其他匿名用户混淆。''",
-       "noarticletext": "箇只页面目前呒没文本。侬可以垃拉其他页面高头[[Special:Search/{{PAGENAME}}|寻该只标题]]、<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 寻相关日志]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 编辑此页]</span>。",
+       "noarticletext": "箇只页面目前呒没文本。侬可以垃拉其他页面高头[[Special:Search/{{PAGENAME}}|寻该只标题]]、<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 寻相关日志]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 建立此页]</span>。",
        "noarticletext-nopermission": "箇只页面目前呒不文本。侬可以垃拉其他页面高头[[Special:Search/{{PAGENAME}}|寻箇页标题]],或者<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 寻相关日志]</span>,但必过侬呒不权限建立箇只页面。",
        "userpage-userdoesnotexist": "用户账户“<nowiki>$1</nowiki>”弗曾创建。请垃拉创建/编辑迭个页面前头先检查一记。",
        "userpage-userdoesnotexist-view": "用户账户“$1”弗曾创建。",
        "yourlanguage": "界面语言:",
        "yournick": "新签名:",
        "badsig": "无效原始签名;检查 HTML 标签。",
-       "yourgender": "侬希望畀哪亨称呼?",
+       "yourgender": "侬个性别?",
        "gender-unknown": "提到侬个辰光,软件会尽量用性别中立个词",
        "gender-male": "男",
        "gender-female": "女",
        "recentchanges-legend": "近段辰光个改动选项",
        "recentchanges-summary": "登该个页面浪跟踪最近对维基百科个改动。",
        "recentchanges-feed-description": "跟踪此订阅垃拉 wiki 高头个最近更改。",
-       "recentchanges-label-newpage": "建新页来编",
+       "recentchanges-label-newpage": "箇编辑建立着新页面",
        "recentchanges-label-minor": "箇是小编写",
        "recentchanges-label-bot": "箇编辑由机器人执行",
        "recentchanges-label-unpatrolled": "该编辑还朆巡查",
        "confirm": "确认",
        "excontentauthor": "内容是:“$1”,唯一贡献者是“[[Special:Contributions/$2|$2]]”([[User talk:$2|讲张]])",
        "historywarning": "<strong>警告:</strong>侬要删脱个页面有$1次{{PLURAL:$1|修订}}历史:",
-       "confirmdeletetext": "侬å\8d³å°\86å\88 é\99¤ä¸\80å\8fªé¡µé\9d¢æ\88\96å\9b¾å\83\8f以å\8f\8aå\85¶å\8e\86å\8f²ã\80\82\n请确å®\9a侬è¦\81è¿\9bè¡\8c此项æ\93\8dä½\9cï¼\8c并ä¸\94äº\86解å\85¶å\90\8eæ\9e\9cï¼\8cå\90\8cæ\97¶ä¾¬ä¸ªè¡\8c为符å\90\88[[{{MediaWiki:Policy-url}}|the policy]]。",
+       "confirmdeletetext": "侬å\8d³å°\86å\88 é\99¤ä¸\80å\8fªé¡µé\9d¢æ\90­è\91\97ä¼\8a个æ\89\80æ\9c\89å\8e\86å\8f²ã\80\82请确认侬è¦\81è¿\9bè¡\8c此项æ\93\8dä½\9cï¼\8c并ä¸\94äº\86解å\85¶å\90\8eæ\9e\9cï¼\8cå\90\8cæ\97¶ä¾¬ä¸ªè¡\8c为符å\90\88[[{{MediaWiki:Policy-url}}|æ\94¿ç­\96]]。",
        "actioncomplete": "操作完成哉",
        "deletedtext": "“$1”已经畀删除脱哉。最近删除个记录请参见$2。",
        "dellogpage": "删除记录",
index 54bee89..60ae906 100644 (file)
        "newarticle": "(新页面)",
        "newarticletext": "您点击了一个尚不存在的页面的链接。要创建该页面,请在下面的编辑框中输入内容(更多信息请见[$1 帮助页面])。如果您是错误地进入了此页面,请点击您的浏览器的<strong>返回</strong>按钮。",
        "anontalkpagetext": "----\n<em>这是一个还未建立账户的匿名用户的讨论页, 因此我们只能用IP地址来与他或她联络。</em>该IP地址可能由几名用户共享。如果您是一名匿名用户并认为此页上的评语与您无关,请[[Special:UserLogin/signup|创建新账户]]或[[Special:UserLogin|登录]]以避免在未来与其他匿名用户混淆。",
-       "noarticletext": "本页面目前没有内容。您可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索本页标题]]、<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 编辑本页面]。</span>",
+       "noarticletext": "本页面目前没有内容。您可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索本页标题]]、<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 创建本页面]</span>。",
        "noarticletext-nopermission": "本页面目前没有内容。您可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索本页标题]]或<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]</span>,但您没有权限创建本页面。",
        "missing-revision": "“{{FULLPAGENAME}}”的版本#$1不存在。\n\n这通常是因为进入了一个已被删除的页面的历史链接。\n详细信息可以在[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 删除日志]中找到。",
        "userpage-userdoesnotexist": "用户账户“$1”没有注册。请在创建/编辑本页前检查。",
index 1179a9a..f4e5e72 100644 (file)
@@ -1480,6 +1480,7 @@ return [
        ],
        'mediawiki.action.view.redirectPage' => [
                'position' => 'top',
+               'targets' => [ 'desktop', 'mobile' ],
                'styles' => 'resources/src/mediawiki.action/mediawiki.action.view.redirectPage.css',
        ],
        'mediawiki.action.view.rightClickEdit' => [
diff --git a/resources/lib/oojs-ui/i18n/nan.json b/resources/lib/oojs-ui/i18n/nan.json
new file mode 100644 (file)
index 0000000..7fdf532
--- /dev/null
@@ -0,0 +1,17 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Luuva"
+               ]
+       },
+       "ooui-dialog-message-accept": "Liáu-kái",
+       "ooui-dialog-message-reject": "Chhú-siau",
+       "ooui-dialog-process-error": "Ū mi̍h bô hó-sè",
+       "ooui-dialog-process-dismiss": "Koaiⁿ tiāu",
+       "ooui-dialog-process-retry": "Koh chhì khòaⁿ-māi",
+       "ooui-dialog-process-continue": "Kè-sio̍k",
+       "ooui-selectfile-button-select": "Soán-tek 1-ê tóng-àn",
+       "ooui-selectfile-not-supported": "Só͘ soán ê tóng-àn bô siū chi-chhî",
+       "ooui-selectfile-placeholder": "Iáu-bē soán tóng-àn",
+       "ooui-selectfile-dragdrop-placeholder": "Kā tóng-àn tàn chia"
+}
index 58b0ed0..a32660a 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:23Z
+ * Date: 2016-02-22T22:33:33Z
  */
 ( function ( OO ) {
 
index 633c558..6d9dbd8 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:27Z
+ * Date: 2016-02-22T22:33:37Z
  */
 .oo-ui-element-hidden {
        display: none !important;
 .oo-ui-indicatorElement.oo-ui-indicatorElement-indicator {
        opacity: 0.8;
 }
+.oo-ui-labelElement .oo-ui-labelElement-label-highlight {
+       font-weight: bold;
+}
 .oo-ui-pendingElement-pending {
        background-image: /* @embed */ url(themes/apex/images/textures/pending.gif);
 }
        width: 100%;
        max-width: 50em;
 }
+.oo-ui-dropdownInputWidget .oo-ui-dropdownWidget,
+.oo-ui-dropdownInputWidget select {
+       display: block;
+}
 .oo-ui-dropdownInputWidget select {
-       display: inline-block;
        width: 100%;
        resize: none;
        -webkit-box-sizing: border-box;
 }
 .oo-ui-textInputWidget input,
 .oo-ui-textInputWidget textarea {
-       display: inline-block;
+       display: block;
        width: 100%;
        resize: none;
        -webkit-box-sizing: border-box;
 }
 .oo-ui-dropdownWidget-handle {
        width: 100%;
-       display: inline-block;
+       display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        cursor: default;
        opacity: 0.2;
 }
-.oo-ui-comboBoxInputWidget > .oo-ui-selectWidget {
-       margin-top: -3px;
-}
index 2062ec6..7c9fffd 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:27Z
+ * Date: 2016-02-22T22:33:37Z
  */
 .oo-ui-element-hidden {
        display: none !important;
        background-position: center center;
        background-repeat: no-repeat;
 }
+.oo-ui-labelElement .oo-ui-labelElement-label-highlight {
+       font-weight: bold;
+}
 .oo-ui-pendingElement-pending {
        background-image: /* @embed */ url(themes/mediawiki/images/textures/pending.gif);
 }
        width: 100%;
        max-width: 50em;
 }
+.oo-ui-dropdownInputWidget .oo-ui-dropdownWidget,
+.oo-ui-dropdownInputWidget select {
+       display: block;
+}
 .oo-ui-dropdownInputWidget select {
-       display: inline-block;
        width: 100%;
        resize: none;
        -webkit-box-sizing: border-box;
 }
 .oo-ui-textInputWidget input,
 .oo-ui-textInputWidget textarea {
-       display: inline-block;
+       display: block;
        width: 100%;
        resize: none;
        -webkit-box-sizing: border-box;
 }
 .oo-ui-dropdownWidget-handle {
        width: 100%;
-       display: inline-block;
+       display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
 .oo-ui-dropdownWidget.oo-ui-indicatorElement .oo-ui-dropdownWidget-handle .oo-ui-labelElement-label {
        margin-right: 2em;
 }
-.oo-ui-dropdownWidget .oo-ui-selectWidget {
-       border-top-color: #ffffff;
-}
 .oo-ui-comboBoxInputWidget {
        display: inline-block;
        position: relative;
index f0b96d5..67d3c02 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:23Z
+ * Date: 2016-02-22T22:33:33Z
  */
 ( function ( OO ) {
 
@@ -253,8 +253,10 @@ OO.ui.debounce = function ( func, wait, immediate ) {
                if ( immediate && !timeout ) {
                        func.apply( context, args );
                }
-               clearTimeout( timeout );
-               timeout = setTimeout( later, wait );
+               if ( !timeout || wait ) {
+                       clearTimeout( timeout );
+                       timeout = setTimeout( later, wait );
+               }
        };
 };
 
@@ -264,7 +266,7 @@ OO.ui.debounce = function ( func, wait, immediate ) {
  * @param {HTMLElement} node
  * @param {string} eventName
  * @param {Function} handler
- * @deprecated
+ * @deprecated since 0.15.0
  */
 OO.ui.addCaptureEventListener = function ( node, eventName, handler ) {
        node.addEventListener( eventName, handler, true );
@@ -276,7 +278,7 @@ OO.ui.addCaptureEventListener = function ( node, eventName, handler ) {
  * @param {HTMLElement} node
  * @param {string} eventName
  * @param {Function} handler
- * @deprecated
+ * @deprecated since 0.15.0
  */
 OO.ui.removeCaptureEventListener = function ( node, eventName, handler ) {
        node.removeEventListener( eventName, handler, true );
@@ -608,13 +610,13 @@ OO.ui.Element.static.unsafeInfuse = function ( idOrNode, domPromise ) {
                }
                if ( domPromise ) {
                        // pick up dynamic state, like focus, value of form inputs, scroll position, etc.
-                       state = data.gatherPreInfuseState( $elem );
+                       state = data.constructor.static.gatherPreInfuseState( $elem, data );
                        // restore dynamic state after the new element is re-inserted into DOM under infused parent
                        domPromise.done( data.restorePreInfuseState.bind( data, state ) );
                        infusedChildren = $elem.data( 'ooui-infused-children' );
                        if ( infusedChildren && infusedChildren.length ) {
                                infusedChildren.forEach( function ( data ) {
-                                       var state = data.gatherPreInfuseState( $elem );
+                                       var state = data.constructor.static.gatherPreInfuseState( $elem, data );
                                        domPromise.done( data.restorePreInfuseState.bind( data, state ) );
                                } );
                        }
@@ -2636,8 +2638,6 @@ OO.ui.mixin.IndicatorElement.prototype.getIndicatorTitle = function () {
  *  as a plaintext string, a jQuery selection of elements, or a function that will produce a string
  *  in the future. See the [OOjs UI documentation on MediaWiki] [2] for examples.
  *  [2]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Icons,_Indicators,_and_Labels#Labels
- * @cfg {boolean} [autoFitLabel=true] Fit the label to the width of the parent element.
- *  The label will be truncated to fit if necessary.
  */
 OO.ui.mixin.LabelElement = function OoUiMixinLabelElement( config ) {
        // Configuration initialization
@@ -2646,7 +2646,6 @@ OO.ui.mixin.LabelElement = function OoUiMixinLabelElement( config ) {
        // Properties
        this.$label = null;
        this.label = null;
-       this.autoFitLabel = config.autoFitLabel === undefined || !!config.autoFitLabel;
 
        // Initialization
        this.setLabel( config.label || this.constructor.static.label );
@@ -2677,6 +2676,33 @@ OO.initClass( OO.ui.mixin.LabelElement );
  */
 OO.ui.mixin.LabelElement.static.label = null;
 
+/* Static methods */
+
+/**
+ * Highlight the first occurrence of the query in the given text
+ *
+ * @param {string} text Text
+ * @param {string} query Query to find
+ * @return {jQuery} Text with the first match of the query
+ *  sub-string wrapped in highlighted span
+ */
+OO.ui.mixin.LabelElement.static.highlightQuery = function ( text, query ) {
+       var $result = $( '<span>' ),
+               offset = text.toLowerCase().indexOf( query.toLowerCase() );
+
+       if ( !query.length || offset === -1 ) {
+               return $result.text( text );
+       }
+       $result.append(
+               document.createTextNode( text.slice( 0, offset ) ),
+               $( '<span>' )
+                       .addClass( 'oo-ui-labelElement-label-highlight' )
+                       .text( text.slice( offset, offset + query.length ) ),
+               document.createTextNode( text.slice( offset + query.length ) )
+       );
+       return $result.contents();
+};
+
 /* Methods */
 
 /**
@@ -2722,6 +2748,17 @@ OO.ui.mixin.LabelElement.prototype.setLabel = function ( label ) {
        return this;
 };
 
+/**
+ * Set the label as plain text with a highlighted query
+ *
+ * @param {string} text Text label to set
+ * @param {string} query Substring of text to highlight
+ * @chainable
+ */
+OO.ui.mixin.LabelElement.prototype.setHighlightedQuery = function ( text, query ) {
+       return this.setLabel( this.constructor.static.highlightQuery( text, query ) );
+};
+
 /**
  * Get the label.
  *
@@ -2736,12 +2773,9 @@ OO.ui.mixin.LabelElement.prototype.getLabel = function () {
  * Fit the label.
  *
  * @chainable
+ * @deprecated since 0.16.0
  */
 OO.ui.mixin.LabelElement.prototype.fitLabel = function () {
-       if ( this.$label && this.$label.autoEllipsis && this.autoFitLabel ) {
-               this.$label.autoEllipsis( { hasSpan: false, tooltip: true } );
-       }
-
        return this;
 };
 
@@ -5866,7 +5900,6 @@ OO.ui.MenuSelectWidget = function OoUiMenuSelectWidget( config ) {
        OO.ui.mixin.ClippableElement.call( this, $.extend( {}, config, { $clippable: this.$group } ) );
 
        // Properties
-       this.newItems = null;
        this.autoHide = config.autoHide === undefined || !!config.autoHide;
        this.filterFromInput = !!config.filterFromInput;
        this.$input = config.$input ? config.$input : config.input ? config.input.$input : null;
@@ -6032,26 +6065,9 @@ OO.ui.MenuSelectWidget.prototype.chooseItem = function ( item ) {
  * @inheritdoc
  */
 OO.ui.MenuSelectWidget.prototype.addItems = function ( items, index ) {
-       var i, len, item;
-
        // Parent method
        OO.ui.MenuSelectWidget.parent.prototype.addItems.call( this, items, index );
 
-       // Auto-initialize
-       if ( !this.newItems ) {
-               this.newItems = [];
-       }
-
-       for ( i = 0, len = items.length; i < len; i++ ) {
-               item = items[ i ];
-               if ( this.isVisible() ) {
-                       // Defer fitting label until item has been attached
-                       item.fitLabel();
-               } else {
-                       this.newItems.push( item );
-               }
-       }
-
        // Reevaluate clipping
        this.clip();
 
@@ -6088,7 +6104,7 @@ OO.ui.MenuSelectWidget.prototype.clearItems = function () {
  * @inheritdoc
  */
 OO.ui.MenuSelectWidget.prototype.toggle = function ( visible ) {
-       var i, len, change;
+       var change;
 
        visible = ( visible === undefined ? !this.visible : !!visible ) && !!this.items.length;
        change = visible !== this.isVisible();
@@ -6101,12 +6117,6 @@ OO.ui.MenuSelectWidget.prototype.toggle = function ( visible ) {
                        this.bindKeyDownListener();
                        this.bindKeyPressListener();
 
-                       if ( this.newItems && this.newItems.length ) {
-                               for ( i = 0, len = this.newItems.length; i < len; i++ ) {
-                                       this.newItems[ i ].fitLabel();
-                               }
-                               this.newItems = null;
-                       }
                        this.toggleClipping( true );
 
                        if ( this.getSelectedItem() ) {
@@ -6851,7 +6861,7 @@ OO.ui.InputWidget.prototype.getValue = function () {
 /**
  * Set the directionality of the input, either RTL (right-to-left) or LTR (left-to-right).
  *
- * @deprecated since v0.13.1, use #setDir directly
+ * @deprecated since v0.13.1; use #setDir directly
  * @param {boolean} isRTL Directionality is right-to-left
  * @chainable
  */
@@ -7184,7 +7194,7 @@ OO.ui.CheckboxInputWidget.static.gatherPreInfuseState = function ( node, config
  * @protected
  */
 OO.ui.CheckboxInputWidget.prototype.getInputElement = function () {
-       return $( '<input type="checkbox" />' );
+       return $( '<input>' ).attr( 'type', 'checkbox' );
 };
 
 /**
@@ -7314,7 +7324,7 @@ OO.ui.DropdownInputWidget.prototype.getInputElement = function ( config ) {
        if ( config.$input ) {
                return config.$input.addClass( 'oo-ui-element-hidden' );
        }
-       return $( '<input type="hidden">' );
+       return $( '<input>' ).attr( 'type', 'hidden' );
 };
 
 /**
@@ -7476,7 +7486,7 @@ OO.ui.RadioInputWidget.static.gatherPreInfuseState = function ( node, config ) {
  * @protected
  */
 OO.ui.RadioInputWidget.prototype.getInputElement = function () {
-       return $( '<input type="radio" />' );
+       return $( '<input>' ).attr( 'type', 'radio' );
 };
 
 /**
@@ -7591,7 +7601,7 @@ OO.ui.RadioSelectInputWidget.static.gatherPreInfuseState = function ( node, conf
  * @protected
  */
 OO.ui.RadioSelectInputWidget.prototype.getInputElement = function () {
-       return $( '<input type="hidden">' );
+       return $( '<input>' ).attr( 'type', 'hidden' );
 };
 
 /**
@@ -8133,7 +8143,7 @@ OO.ui.TextInputWidget.prototype.adjustSize = function () {
 OO.ui.TextInputWidget.prototype.getInputElement = function ( config ) {
        return config.multiline ?
                $( '<textarea>' ) :
-               $( '<input type="' + this.getSaneType( config ) + '" />' );
+               $( '<input>' ).attr( 'type', this.getSaneType( config ) );
 };
 
 /**
@@ -8339,7 +8349,7 @@ OO.ui.TextInputWidget.prototype.setValidityFlag = function ( isValid ) {
  * This method returns a promise that resolves with a boolean `true` if the current value is
  * considered valid according to the supplied {@link #validate validation pattern}.
  *
- * @deprecated
+ * @deprecated since v0.12.3
  * @return {jQuery.Promise} A promise that resolves to a boolean `true` if the value is valid.
  */
 OO.ui.TextInputWidget.prototype.isValid = function () {
@@ -8398,7 +8408,11 @@ OO.ui.TextInputWidget.prototype.getValidity = function () {
  */
 OO.ui.TextInputWidget.prototype.setLabelPosition = function ( labelPosition ) {
        this.labelPosition = labelPosition;
-       this.updatePosition();
+       if ( this.label ) {
+               // If there is no label and we only change the position, #updatePosition is a no-op,
+               // but it takes really a lot of work to do nothing.
+               this.updatePosition();
+       }
        return this;
 };
 
@@ -8734,7 +8748,7 @@ OO.ui.ComboBoxInputWidget.prototype.setOptions = function ( options ) {
 
 /**
  * @class
- * @deprecated Use OO.ui.ComboBoxInputWidget instead.
+ * @deprecated since 0.13.2; use OO.ui.ComboBoxInputWidget instead
  */
 OO.ui.ComboBoxWidget = OO.ui.ComboBoxInputWidget;
 
index de585a7..a3ff757 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:23Z
+ * Date: 2016-02-22T22:33:33Z
  */
 ( function ( OO ) {
 
index 4a37310..aba2ecf 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:27Z
+ * Date: 2016-02-22T22:33:37Z
  */
 .oo-ui-popupTool .oo-ui-popupWidget-popup,
 .oo-ui-popupTool .oo-ui-popupWidget-anchor {
index a13af69..24820e4 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:27Z
+ * Date: 2016-02-22T22:33:37Z
  */
 .oo-ui-popupTool .oo-ui-popupWidget-popup,
 .oo-ui-popupTool .oo-ui-popupWidget-anchor {
index b033276..aff739f 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:23Z
+ * Date: 2016-02-22T22:33:33Z
  */
 ( function ( OO ) {
 
index dff61e9..2540191 100644 (file)
@@ -1,29 +1,33 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:27Z
+ * Date: 2016-02-22T22:33:37Z
  */
-.oo-ui-draggableElement {
-       cursor: -webkit-grab -moz-grab, url(images/grab.cur), move;
+.oo-ui-draggableElement-handle.oo-ui-widget-enabled {
+       cursor: move;
+       cursor: url(images/grab.cur );
+       cursor: -webkit-grab;
+       cursor:    -moz-grab;
+       cursor:         grab;
+}
+.oo-ui-draggableElement-placeholder {
+       opacity: 0.2;
 }
-.oo-ui-draggableElement-dragging {
-       cursor: -webkit-grabbing -moz-grabbing, url(images/grabbing.cur), move;
-       background: rgba(0, 0, 0, 0.2);
-       opacity: 0.4;
+.oo-ui-draggableElement.oo-ui-widget-enabled:active {
+       cursor: move;
+       cursor: url(images/grabbing.cur );
+       cursor: -webkit-grabbing;
+       cursor:    -moz-grabbing;
+       cursor:         grabbing;
 }
 .oo-ui-draggableGroupElement-horizontal .oo-ui-draggableElement.oo-ui-optionWidget {
        display: inline-block;
 }
-.oo-ui-draggableGroupElement-placeholder {
-       position: absolute;
-       display: block;
-       background: rgba(0, 0, 0, 0.4);
-}
 .oo-ui-lookupElement > .oo-ui-menuSelectWidget {
        z-index: 1;
        width: 100%;
 }
 .oo-ui-capsuleMultiSelectWidget-handle {
        width: 100%;
-       display: inline-block;
+       display: block;
        position: relative;
 }
 .oo-ui-capsuleMultiSelectWidget-content {
 .oo-ui-capsuleMultiSelectWidget.oo-ui-widget-disabled .oo-ui-capsuleMultiSelectWidget-handle > .oo-ui-indicatorElement-indicator {
        opacity: 0.2;
 }
-.oo-ui-capsuleMultiSelectWidget .oo-ui-selectWidget {
-       border-top-color: #ffffff;
-}
 .oo-ui-capsuleItemWidget {
        position: relative;
        display: inline-block;
        text-overflow: ellipsis;
        overflow: hidden;
 }
-.oo-ui-capsuleItemWidget .oo-ui-buttonElement {
-       margin-top: -1.6em;
-       padding-left: 0.3em;
-}
 .oo-ui-capsuleItemWidget:focus {
        outline: none;
        border-color: #087ecc;
 }
-.oo-ui-capsuleItemWidget.oo-ui-indicatorElement > .oo-ui-labelElement-label {
-       padding-right: 1.3375em;
-}
-.oo-ui-capsuleItemWidget.oo-ui-indicatorElement > .oo-ui-indicatorElement-indicator {
-       position: absolute;
-       right: 0.4em;
-       top: 0;
-       width: 0.9375em;
-       height: 100%;
-       background-repeat: no-repeat;
-}
-.oo-ui-capsuleItemWidget.oo-ui-indicatorElement > .oo-ui-indicator-clear {
-       cursor: pointer;
-}
 .oo-ui-capsuleItemWidget.oo-ui-widget-disabled {
        opacity: 0.5;
        -webkit-transform: translate3d(0, 0, 0);
        background: #eeeeee;
        border-color: #cccccc;
 }
-.oo-ui-capsuleItemWidget.oo-ui-widget-disabled > .oo-ui-indicatorElement-indicator {
-       opacity: 0.2;
+.oo-ui-capsuleItemWidget > .oo-ui-buttonElement {
+       float: right;
+       margin-top: -0.1em;
+       margin-right: -0.4em;
 }
 .oo-ui-searchWidget-query {
        position: absolute;
 .oo-ui-numberInputWidget-field > .oo-ui-buttonWidget {
        width: 2.25em;
 }
-.oo-ui-numberInputWidget-minusButton.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button {
+.oo-ui-numberInputWidget-minusButton.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-right-width: 0;
 }
-.oo-ui-numberInputWidget-plusButton.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button {
+.oo-ui-numberInputWidget-plusButton.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-left-width: 0;
index cc12598..a47e821 100644 (file)
@@ -1,29 +1,33 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:27Z
+ * Date: 2016-02-22T22:33:37Z
  */
-.oo-ui-draggableElement {
-       cursor: -webkit-grab -moz-grab, url(images/grab.cur), move;
+.oo-ui-draggableElement-handle.oo-ui-widget-enabled {
+       cursor: move;
+       cursor: url(images/grab.cur );
+       cursor: -webkit-grab;
+       cursor:    -moz-grab;
+       cursor:         grab;
+}
+.oo-ui-draggableElement-placeholder {
+       opacity: 0.2;
 }
-.oo-ui-draggableElement-dragging {
-       cursor: -webkit-grabbing -moz-grabbing, url(images/grabbing.cur), move;
-       background: rgba(0, 0, 0, 0.2);
-       opacity: 0.4;
+.oo-ui-draggableElement.oo-ui-widget-enabled:active {
+       cursor: move;
+       cursor: url(images/grabbing.cur );
+       cursor: -webkit-grabbing;
+       cursor:    -moz-grabbing;
+       cursor:         grabbing;
 }
 .oo-ui-draggableGroupElement-horizontal .oo-ui-draggableElement.oo-ui-optionWidget {
        display: inline-block;
 }
-.oo-ui-draggableGroupElement-placeholder {
-       position: absolute;
-       display: block;
-       background: rgba(0, 0, 0, 0.4);
-}
 .oo-ui-lookupElement > .oo-ui-menuSelectWidget {
        z-index: 1;
        width: 100%;
 }
 .oo-ui-capsuleMultiSelectWidget-handle {
        width: 100%;
-       display: inline-block;
+       display: block;
        position: relative;
 }
 .oo-ui-capsuleMultiSelectWidget-content {
 .oo-ui-capsuleMultiSelectWidget.oo-ui-widget-disabled .oo-ui-capsuleMultiSelectWidget-handle > .oo-ui-indicatorElement-indicator {
        opacity: 0.2;
 }
-.oo-ui-capsuleMultiSelectWidget .oo-ui-selectWidget {
-       border-top-color: #ffffff;
-}
 .oo-ui-capsuleItemWidget {
        position: relative;
        display: inline-block;
        text-overflow: ellipsis;
        overflow: hidden;
 }
-.oo-ui-capsuleItemWidget .oo-ui-buttonElement {
-       margin-top: -1.6em;
-       padding-left: 0.3em;
-}
 .oo-ui-capsuleItemWidget:focus {
        outline: none;
        border-color: #347bff;
 }
-.oo-ui-capsuleItemWidget.oo-ui-indicatorElement > .oo-ui-labelElement-label {
-       padding-right: 1.3375em;
-}
-.oo-ui-capsuleItemWidget.oo-ui-indicatorElement > .oo-ui-indicatorElement-indicator {
-       position: absolute;
-       right: 0.4em;
-       top: 0;
-       width: 0.9375em;
-       height: 100%;
-       background-repeat: no-repeat;
-}
-.oo-ui-capsuleItemWidget.oo-ui-indicatorElement > .oo-ui-indicator-clear {
-       cursor: pointer;
-}
 .oo-ui-capsuleItemWidget.oo-ui-widget-disabled {
        color: #cccccc;
        text-shadow: 0 1px 1px #ffffff;
        border-color: #dddddd;
        background-color: #f3f3f3;
 }
-.oo-ui-capsuleItemWidget.oo-ui-widget-disabled > .oo-ui-indicatorElement-indicator {
-       opacity: 0.2;
+.oo-ui-capsuleItemWidget > .oo-ui-buttonElement {
+       float: right;
+       margin-top: -0.2em;
+       margin-left: 0.4em;
 }
 .oo-ui-searchWidget-query {
        position: absolute;
index 4f5e0ed..d754eff 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:23Z
+ * Date: 2016-02-22T22:33:33Z
  */
 ( function ( OO ) {
 
  * @class
  *
  * @constructor
+ * @param {Object} [config] Configuration options
+ * @cfg {jQuery} [$handle] The part of the element which can be used for dragging, defaults to the whole element
  */
-OO.ui.mixin.DraggableElement = function OoUiMixinDraggableElement() {
+OO.ui.mixin.DraggableElement = function OoUiMixinDraggableElement( config ) {
+       config = config || {};
+
        // Properties
        this.index = null;
+       this.$handle = config.$handle || this.$element;
+       this.wasHandleUsed = null;
 
        // Initialize and events
-       this.$element
+       this.$element.addClass( 'oo-ui-draggableElement' )
+               // We make the entire element draggable, not just the handle, so that
+               // the whole element appears to move. wasHandleUsed prevents drags from
+               // starting outside the handle
                .attr( 'draggable', true )
-               .addClass( 'oo-ui-draggableElement' )
                .on( {
+                       mousedown: this.onDragMouseDown.bind( this ),
                        dragstart: this.onDragStart.bind( this ),
                        dragover: this.onDragOver.bind( this ),
                        dragend: this.onDragEnd.bind( this ),
                        drop: this.onDrop.bind( this )
                } );
+       this.$handle.addClass( 'oo-ui-draggableElement-handle' );
 };
 
 OO.initClass( OO.ui.mixin.DraggableElement );
@@ -71,6 +81,20 @@ OO.ui.mixin.DraggableElement.static.cancelButtonMouseDownEvents = false;
 
 /* Methods */
 
+/**
+ * Respond to mousedown event.
+ *
+ * @private
+ * @param {jQuery.Event} event jQuery event
+ */
+OO.ui.mixin.DraggableElement.prototype.onDragMouseDown = function ( e ) {
+       this.wasHandleUsed =
+               // Optimization: if the handle is the whole element this is always true
+               this.$handle[ 0 ] === this.$element[ 0 ] ||
+               // Check the mousedown occurred inside the handle
+               OO.ui.contains( this.$handle[ 0 ], e.target, true );
+};
+
 /**
  * Respond to dragstart event.
  *
@@ -79,7 +103,13 @@ OO.ui.mixin.DraggableElement.static.cancelButtonMouseDownEvents = false;
  * @fires dragstart
  */
 OO.ui.mixin.DraggableElement.prototype.onDragStart = function ( e ) {
-       var dataTransfer = e.originalEvent.dataTransfer;
+       var element = this,
+               dataTransfer = e.originalEvent.dataTransfer;
+
+       if ( !this.wasHandleUsed ) {
+               return false;
+       }
+
        // Define drop effect
        dataTransfer.dropEffect = 'none';
        dataTransfer.effectAllowed = 'move';
@@ -91,8 +121,14 @@ OO.ui.mixin.DraggableElement.prototype.onDragStart = function ( e ) {
        } catch ( err ) {
                // The above is only for Firefox. Move on if it fails.
        }
-       // Add dragging class
-       this.$element.addClass( 'oo-ui-draggableElement-dragging' );
+       // Briefly add a 'clone' class to style the browser's native drag image
+       this.$element.addClass( 'oo-ui-draggableElement-clone' );
+       // Add placeholder class after the browser has rendered the clone
+       setTimeout( function () {
+               element.$element
+                       .removeClass( 'oo-ui-draggableElement-clone' )
+                       .addClass( 'oo-ui-draggableElement-placeholder' );
+       } );
        // Emit event
        this.emit( 'dragstart', this );
        return true;
@@ -105,7 +141,7 @@ OO.ui.mixin.DraggableElement.prototype.onDragStart = function ( e ) {
  * @fires dragend
  */
 OO.ui.mixin.DraggableElement.prototype.onDragEnd = function () {
-       this.$element.removeClass( 'oo-ui-draggableElement-dragging' );
+       this.$element.removeClass( 'oo-ui-draggableElement-placeholder' );
        this.emit( 'dragend' );
 };
 
@@ -181,9 +217,9 @@ OO.ui.mixin.DraggableGroupElement = function OoUiMixinDraggableGroupElement( con
        // Properties
        this.orientation = config.orientation || 'vertical';
        this.dragItem = null;
-       this.itemDragOver = null;
        this.itemKeys = {};
-       this.sideInsertion = '';
+       this.dir = null;
+       this.itemsOrder = null;
 
        // Events
        this.aggregate( {
@@ -193,25 +229,18 @@ OO.ui.mixin.DraggableGroupElement = function OoUiMixinDraggableGroupElement( con
        } );
        this.connect( this, {
                itemDragStart: 'onItemDragStart',
-               itemDrop: 'onItemDrop',
-               itemDragEnd: 'onItemDragEnd'
-       } );
-       this.$element.on( {
-               dragover: this.onDragOver.bind( this ),
-               dragleave: this.onDragLeave.bind( this )
+               itemDrop: 'onItemDropOrDragEnd',
+               itemDragEnd: 'onItemDropOrDragEnd'
        } );
 
        // Initialize
        if ( Array.isArray( config.items ) ) {
                this.addItems( config.items );
        }
-       this.$placeholder = $( '<div>' )
-               .addClass( 'oo-ui-draggableGroupElement-placeholder' );
        this.$element
                .addClass( 'oo-ui-draggableGroupElement' )
                .append( this.$status )
-               .toggleClass( 'oo-ui-draggableGroupElement-horizontal', this.orientation === 'horizontal' )
-               .prepend( this.$placeholder );
+               .toggleClass( 'oo-ui-draggableGroupElement-horizontal', this.orientation === 'horizontal' );
 };
 
 /* Setup */
@@ -220,7 +249,15 @@ OO.mixinClass( OO.ui.mixin.DraggableGroupElement, OO.ui.mixin.GroupElement );
 /* Events */
 
 /**
- * A 'reorder' event is emitted when the order of items in the group changes.
+ * An item has been dragged to a new position, but not yet dropped.
+ *
+ * @event drag
+ * @param {OO.ui.mixin.DraggableElement} item Dragged item
+ * @param {number} [newIndex] New index for the item
+ */
+
+/**
+ * And item has been dropped at a new position.
  *
  * @event reorder
  * @param {OO.ui.mixin.DraggableElement} item Reordered item
@@ -236,86 +273,68 @@ OO.mixinClass( OO.ui.mixin.DraggableGroupElement, OO.ui.mixin.GroupElement );
  * @param {OO.ui.mixin.DraggableElement} item Dragged item
  */
 OO.ui.mixin.DraggableGroupElement.prototype.onItemDragStart = function ( item ) {
-       var i, len;
-
-       // Map the index of each object
-       for ( i = 0, len = this.items.length; i < len; i++ ) {
-               this.items[ i ].setIndex( i );
-       }
-
+       // Make a shallow copy of this.items so we can re-order it during previews
+       // without affecting the original array.
+       this.itemsOrder = this.items.slice();
+       this.updateIndexes();
        if ( this.orientation === 'horizontal' ) {
-               // Set the height of the indicator
-               this.$placeholder.css( {
-                       height: item.$element.outerHeight(),
-                       width: 2
-               } );
-       } else {
-               // Set the width of the indicator
-               this.$placeholder.css( {
-                       height: 2,
-                       width: item.$element.outerWidth()
-               } );
+               // Calculate and cache directionality on drag start - it's a little
+               // expensive and it shouldn't change while dragging.
+               this.dir = this.$element.css( 'direction' );
        }
        this.setDragItem( item );
 };
 
 /**
- * Respond to item drag end event
- *
- * @private
+ * Update the index properties of the items
  */
-OO.ui.mixin.DraggableGroupElement.prototype.onItemDragEnd = function () {
-       this.unsetDragItem();
-       return false;
+OO.ui.mixin.DraggableGroupElement.prototype.updateIndexes = function () {
+       var i, len;
+
+       // Map the index of each object
+       for ( i = 0, len = this.itemsOrder.length; i < len; i++ ) {
+               this.itemsOrder[ i ].setIndex( i );
+       }
 };
 
 /**
- * Handle drop event and switch the order of the items accordingly
+ * Handle drop or dragend event and switch the order of the items accordingly
  *
  * @private
  * @param {OO.ui.mixin.DraggableElement} item Dropped item
- * @fires reorder
  */
-OO.ui.mixin.DraggableGroupElement.prototype.onItemDrop = function ( item ) {
-       var toIndex = item.getIndex();
-       // Check if the dropped item is from the current group
+OO.ui.mixin.DraggableGroupElement.prototype.onItemDropOrDragEnd = function () {
+       var targetIndex, originalIndex,
+               item = this.getDragItem();
+
        // TODO: Figure out a way to configure a list of legally droppable
        // elements even if they are not yet in the list
-       if ( this.getDragItem() ) {
-               // If the insertion point is 'after', the insertion index
-               // is shifted to the right (or to the left in RTL, hence 'after')
-               if ( this.sideInsertion === 'after' ) {
-                       toIndex++;
-               }
-               // Emit change event
-               this.emit( 'reorder', this.getDragItem(), toIndex );
+       if ( item ) {
+               originalIndex = this.items.indexOf( item );
+               // If the item has moved forward, add one to the index to account for the left shift
+               targetIndex = item.getIndex() + ( item.getIndex() > originalIndex ? 1 : 0 );
+               this.reorder( this.getDragItem(), targetIndex );
+               this.emit( 'reorder', this.getDragItem(), targetIndex );
+               this.updateIndexes();
        }
        this.unsetDragItem();
        // Return false to prevent propogation
        return false;
 };
 
-/**
- * Handle dragleave event.
- *
- * @private
- */
-OO.ui.mixin.DraggableGroupElement.prototype.onDragLeave = function () {
-       // This means the item was dragged outside the widget
-       this.$placeholder
-               .css( 'left', 0 )
-               .addClass( 'oo-ui-element-hidden' );
-};
-
 /**
  * Respond to dragover event
  *
  * @private
- * @param {jQuery.Event} event Event details
+ * @param {jQuery.Event} event Dragover event
+ * @fires reorder
  */
 OO.ui.mixin.DraggableGroupElement.prototype.onDragOver = function ( e ) {
        var dragOverObj, $optionWidget, itemOffset, itemMidpoint, itemBoundingRect,
-               itemSize, cssOutput, dragPosition, itemIndex, itemPosition,
+               itemSize, cssOutput, dragPosition, overIndex, itemPosition, after,
+               targetIndex = null,
+               item = this.getDragItem(),
+               dragItemIndex = item.getIndex(),
                clientX = e.originalEvent.clientX,
                clientY = e.originalEvent.clientY;
 
@@ -326,13 +345,12 @@ OO.ui.mixin.DraggableGroupElement.prototype.onDragOver = function ( e ) {
                itemOffset = $optionWidget.offset();
                itemBoundingRect = $optionWidget[ 0 ].getBoundingClientRect();
                itemPosition = $optionWidget.position();
-               itemIndex = $optionWidget.data( 'index' );
+               overIndex = $optionWidget.data( 'index' );
        }
 
        if (
                itemOffset &&
-               this.isDragging() &&
-               itemIndex !== this.getDragItem().getIndex()
+               overIndex !== dragItemIndex
        ) {
                if ( this.orientation === 'horizontal' ) {
                        // Calculate where the mouse is relative to the item width
@@ -340,7 +358,7 @@ OO.ui.mixin.DraggableGroupElement.prototype.onDragOver = function ( e ) {
                        itemMidpoint = itemBoundingRect.left + itemSize / 2;
                        dragPosition = clientX;
                        // Which side of the item we hover over will dictate
-                       // where the placeholder will appear, on the left or
+                       // where to drop the selected item, on the left or
                        // on the right
                        cssOutput = {
                                left: dragPosition < itemMidpoint ? itemPosition.left : itemPosition.left + itemSize,
@@ -352,7 +370,7 @@ OO.ui.mixin.DraggableGroupElement.prototype.onDragOver = function ( e ) {
                        itemMidpoint = itemBoundingRect.top + itemSize / 2;
                        dragPosition = clientY;
                        // Which side of the item we hover over will dictate
-                       // where the placeholder will appear, on the top or
+                       // where to drop the selected item, on the top or
                        // on the bottom
                        cssOutput = {
                                top: dragPosition < itemMidpoint ? itemPosition.top : itemPosition.top + itemSize,
@@ -361,25 +379,44 @@ OO.ui.mixin.DraggableGroupElement.prototype.onDragOver = function ( e ) {
                }
                // Store whether we are before or after an item to rearrange
                // For horizontal layout, we need to account for RTL, as this is flipped
-               if (  this.orientation === 'horizontal' && this.$element.css( 'direction' ) === 'rtl' ) {
-                       this.sideInsertion = dragPosition < itemMidpoint ? 'after' : 'before';
+               if ( this.orientation === 'horizontal' && this.dir === 'rtl' ) {
+                       after = dragPosition < itemMidpoint;
                } else {
-                       this.sideInsertion = dragPosition < itemMidpoint ? 'before' : 'after';
+                       after = dragPosition > itemMidpoint;
+               }
+               targetIndex = overIndex + ( after ? 1 : 0 );
+               // Check the targetIndex isn't immediately to the left or right of the current item (a no-op)
+               if ( targetIndex === dragItemIndex || targetIndex === dragItemIndex + 1 ) {
+                       targetIndex = null;
                }
-               // Add drop indicator between objects
-               this.$placeholder
-                       .css( cssOutput )
-                       .removeClass( 'oo-ui-element-hidden' );
-       } else {
-               // This means the item was dragged outside the widget
-               this.$placeholder
-                       .css( 'left', 0 )
-                       .addClass( 'oo-ui-element-hidden' );
+       }
+       if ( targetIndex !== null ) {
+               if ( targetIndex > 0 ) {
+                       this.$group.children().eq( targetIndex - 1 ).after( item.$element );
+               } else {
+                       this.$group.prepend( item.$element );
+               }
+               // Move item in itemsOrder array. Needs to account for left shift if the item is moved forward.
+               this.itemsOrder.splice( targetIndex - ( targetIndex > dragItemIndex ? 1 : 0 ), 0,
+                       this.itemsOrder.splice( dragItemIndex, 1 )[ 0 ]
+               );
+               this.updateIndexes();
+               this.emit( 'drag', item, targetIndex );
        }
        // Prevent default
        e.preventDefault();
 };
 
+/**
+ * Reorder the items in the group
+ *
+ * @param {OO.ui.mixin.DraggableElement} item Reordered item
+ * @param {number} newIndex New index
+ */
+OO.ui.mixin.DraggableGroupElement.prototype.reorder = function ( item, newIndex ) {
+       this.addItems( [ item ], newIndex );
+};
+
 /**
  * Set a dragged item
  *
@@ -387,6 +424,8 @@ OO.ui.mixin.DraggableGroupElement.prototype.onDragOver = function ( e ) {
  */
 OO.ui.mixin.DraggableGroupElement.prototype.setDragItem = function ( item ) {
        this.dragItem = item;
+       this.$element.on( 'dragover', this.onDragOver.bind( this ) );
+       this.$element.addClass( 'oo-ui-draggableGroupElement-dragging' );
 };
 
 /**
@@ -394,9 +433,8 @@ OO.ui.mixin.DraggableGroupElement.prototype.setDragItem = function ( item ) {
  */
 OO.ui.mixin.DraggableGroupElement.prototype.unsetDragItem = function () {
        this.dragItem = null;
-       this.itemDragOver = null;
-       this.$placeholder.addClass( 'oo-ui-element-hidden' );
-       this.sideInsertion = '';
+       this.$element.off( 'dragover' );
+       this.$element.removeClass( 'oo-ui-draggableGroupElement-dragging' );
 };
 
 /**
@@ -408,15 +446,6 @@ OO.ui.mixin.DraggableGroupElement.prototype.getDragItem = function () {
        return this.dragItem;
 };
 
-/**
- * Check if an item in the group is currently being dragged.
- *
- * @return {Boolean} Item is being dragged
- */
-OO.ui.mixin.DraggableGroupElement.prototype.isDragging = function () {
-       return this.getDragItem() !== null;
-};
-
 /**
  * RequestManager is a mixin that manages the lifecycle of a promise-backed request for a widget, such as
  * the {@link OO.ui.mixin.LookupElement}.
@@ -4245,18 +4274,12 @@ OO.ui.CapsuleMultiSelectWidget.prototype.focus = function () {
  * @cfg {string} [notsupported] Text to display when file support is missing in the browser.
  * @cfg {boolean} [droppable=true] Whether to accept files by drag and drop.
  * @cfg {boolean} [showDropTarget=false] Whether to show a drop target. Requires droppable to be true.
- * @cfg {boolean} [dragDropUI=false] Deprecated alias for showDropTarget
  * @cfg {Number} [thumbnailSizeLimit=20] File size limit in MiB above which to not try and show a
  *  preview (for performance)
  */
 OO.ui.SelectFileWidget = function OoUiSelectFileWidget( config ) {
        var dragHandler;
 
-       // TODO: Remove in next release
-       if ( config && config.dragDropUI ) {
-               config.showDropTarget = true;
-       }
-
        // Configuration initialization
        config = $.extend( {
                accept: null,
@@ -4274,7 +4297,7 @@ OO.ui.SelectFileWidget = function OoUiSelectFileWidget( config ) {
        OO.ui.mixin.IconElement.call( this, config );
        OO.ui.mixin.IndicatorElement.call( this, config );
        OO.ui.mixin.PendingElement.call( this, $.extend( {}, config, { $pending: this.$info } ) );
-       OO.ui.mixin.LabelElement.call( this, $.extend( {}, config, { autoFitLabel: true } ) );
+       OO.ui.mixin.LabelElement.call( this, config );
 
        // Properties
        this.$info = $( '<span>' );
@@ -4373,7 +4396,7 @@ OO.mixinClass( OO.ui.SelectFileWidget, OO.ui.mixin.LabelElement );
 OO.ui.SelectFileWidget.static.isSupported = function () {
        var $input;
        if ( OO.ui.SelectFileWidget.static.isSupportedCache === null ) {
-               $input = $( '<input type="file">' );
+               $input = $( '<input>' ).attr( 'type', 'file' );
                OO.ui.SelectFileWidget.static.isSupportedCache = $input[ 0 ].files !== undefined;
        }
        return OO.ui.SelectFileWidget.static.isSupportedCache;
@@ -4542,7 +4565,7 @@ OO.ui.SelectFileWidget.prototype.addInput = function () {
                return;
        }
 
-       this.$input = $( '<input type="file">' );
+       this.$input = $( '<input>' ).attr( 'type', 'file' );
        this.$input.on( 'change', this.onFileSelectedHandler );
        this.$input.on( 'click', function ( e ) {
                // Prevents dropTarget to get clicked which calls
index f122db5..cca7488 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:27Z
+ * Date: 2016-02-22T22:33:37Z
  */
 .oo-ui-actionWidget.oo-ui-pendingElement-pending {
        background-image: /* @embed */ url(themes/apex/images/textures/pending.gif);
index ed0716a..923f0e6 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:27Z
+ * Date: 2016-02-22T22:33:37Z
  */
 .oo-ui-window {
        background: transparent;
index aa11142..a50cafb 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.15.4
+ * OOjs UI v0.16.0
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2016 OOjs UI Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2016-02-17T02:03:23Z
+ * Date: 2016-02-22T22:33:33Z
  */
 ( function ( OO ) {
 
index c0d04e9..4c70ee4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/add.png and b/resources/lib/oojs-ui/themes/apex/images/icons/add.png differ
index a82600c..dd3ef8a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/advanced.png and b/resources/lib/oojs-ui/themes/apex/images/icons/advanced.png differ
index 98e94fb..7355084 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/alert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/alert.png differ
index 92d231e..a912b03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/align-center.png and b/resources/lib/oojs-ui/themes/apex/images/icons/align-center.png differ
index 2880478..e395036 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/align-float-left.png and b/resources/lib/oojs-ui/themes/apex/images/icons/align-float-left.png differ
index e9c2f0e..c72a956 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/align-float-right.png and b/resources/lib/oojs-ui/themes/apex/images/icons/align-float-right.png differ
index 88d1439..87a84e2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-ltr.png differ
index 83a1c23..12285f9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/arched-arrow-rtl.png differ
index 8bef0a5..24905bc 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/arrow-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/arrow-ltr.png differ
index 26e3e69..1cd81cb 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/arrow-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/arrow-rtl.png differ
index 8b0920f..3dbe20e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/articleRedirect-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/articleRedirect-ltr.png differ
index 09631d7..60beb6e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/articleRedirect-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/articleRedirect-rtl.png differ
index cbcd675..92dfaf2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/attachment-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/attachment-ltr.png differ
index 43a0161..f793246 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/attachment-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/attachment-rtl.png differ
index 7d23df2..c3b26b8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/beta-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/beta-invert.png differ
index ef3e20a..7b31e1e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/beta.png and b/resources/lib/oojs-ui/themes/apex/images/icons/beta.png differ
index d620367..0963538 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/betaLaunch-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/betaLaunch-invert.png differ
index f1e48ac..6d3c067 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/betaLaunch.png and b/resources/lib/oojs-ui/themes/apex/images/icons/betaLaunch.png differ
index b1c13a2..82fbd14 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bigger-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bigger-ltr.png differ
index 052ae37..64d1cf1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bigger-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bigger-rtl.png differ
index 181dace..7f8eb2a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/block.png and b/resources/lib/oojs-ui/themes/apex/images/icons/block.png differ
index 76e0db4..640bb2a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/blockUndo-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/blockUndo-ltr.png differ
index e31809e..2475b06 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/blockUndo-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/blockUndo-rtl.png differ
index 86611e3..2907677 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-a.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-a.png differ
index 2ac8bfc..931b6cf 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-ain.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-ain.png differ
index 4d45ea0..1121257 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-dad.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-arab-dad.png differ
index 034e2d6..6f6349b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-armn-to.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-armn-to.png differ
index b1c6955..8d09636 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-b.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-b.png differ
index 07a721b..de9e9d1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-be.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-be.png differ
index 6058d8f..281d718 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-te.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-te.png differ
index 205800b..9838701 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-zhe.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-cyrl-zhe.png differ
index e650eb6..ad0d89b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-f.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-f.png differ
index 13fd1ad..55e766a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-g.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-g.png differ
index d6dcb5d..c050074 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-geor-man.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-geor-man.png differ
index ff021ce..11b67a1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-l.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-l.png differ
index 7ae9321..708d421 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-n.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-n.png differ
index 39c2be0..a60786c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bold-v.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bold-v.png differ
index 008246c..084cbc7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bookmark-ltr-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bookmark-ltr-invert.png differ
index 371dfc6..ad046b6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bookmark-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bookmark-ltr.png differ
index deff3f6..125fb74 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bookmark-rtl-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bookmark-rtl-invert.png differ
index 4a50c17..0d19f03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/bookmark-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/bookmark-rtl.png differ
index 4632447..027df2d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/browser-ltr-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/browser-ltr-invert.png differ
index 80f1a47..ae059ad 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/browser-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/browser-ltr.png differ
index 5a3df4b..51937b7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/browser-rtl-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/browser-rtl-invert.png differ
index ea215df..939a858 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/browser-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/browser-rtl.png differ
index 8b3ed72..0ab46dd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/calendar-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/calendar-ltr.png differ
index 8ec5023..0236393 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/calendar-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/calendar-rtl.png differ
index 180e3ab..f9354e3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/cancel.png and b/resources/lib/oojs-ui/themes/apex/images/icons/cancel.png differ
index d90b371..e95caf2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/caret-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/caret-ltr.png differ
index 9064f61..e59bdd5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/caret-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/caret-rtl.png differ
index bc453ea..a46ffdb 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/caretDown.png and b/resources/lib/oojs-ui/themes/apex/images/icons/caretDown.png differ
index efd2356..9e5c022 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/caretUp.png and b/resources/lib/oojs-ui/themes/apex/images/icons/caretUp.png differ
index 202cbf7..426c5de 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/case-sensitive.png and b/resources/lib/oojs-ui/themes/apex/images/icons/case-sensitive.png differ
index 7ecd312..0cc9f74 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/check.png and b/resources/lib/oojs-ui/themes/apex/images/icons/check.png differ
index 3bdc8e2..32ba403 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/circle.png and b/resources/lib/oojs-ui/themes/apex/images/icons/circle.png differ
index d8b538e..ec90ed9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/clear-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/clear-invert.png differ
index b18e2e6..973dc03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/clear.png and b/resources/lib/oojs-ui/themes/apex/images/icons/clear.png differ
index a05c7d9..fdd3e51 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/clock-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/clock-invert.png differ
index 3e94b3a..b826457 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/clock.png and b/resources/lib/oojs-ui/themes/apex/images/icons/clock.png differ
index 86dc8b3..9b3d4ae 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/close.png and b/resources/lib/oojs-ui/themes/apex/images/icons/close.png differ
index 98584c0..ba89e4e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/code.png and b/resources/lib/oojs-ui/themes/apex/images/icons/code.png differ
index 4dad20f..1d8c6db 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/collapse.png and b/resources/lib/oojs-ui/themes/apex/images/icons/collapse.png differ
index 959637a..dcaa881 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/comment.png and b/resources/lib/oojs-ui/themes/apex/images/icons/comment.png differ
index 9408199..7df0592 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/downTriangle.png and b/resources/lib/oojs-ui/themes/apex/images/icons/downTriangle.png differ
index afaddc5..504f29b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/edit-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/edit-ltr.png differ
index 4755937..7ea3aee 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/edit-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/edit-rtl.png differ
index 966bfcb..aa4b8c3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/editLock-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/editLock-ltr.png differ
index 961abe6..3d8b751 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/editLock-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/editLock-rtl.png differ
index e3dc95a..c163360 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/editUndo-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/editUndo-ltr.png differ
index 6dd8b46..fc98968 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/editUndo-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/editUndo-rtl.png differ
index 1e4050c..85fa4f3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/ellipsis.png and b/resources/lib/oojs-ui/themes/apex/images/icons/ellipsis.png differ
index 9073d24..f72b6f2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/expand.png and b/resources/lib/oojs-ui/themes/apex/images/icons/expand.png differ
index 4b59b2a..185ffc6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/external-link-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/external-link-ltr.png differ
index 2978654..7066001 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/external-link-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/external-link-rtl.png differ
index 0335ea1..066d84a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/find-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/find-ltr.png differ
index 2a56ff6..ed834af 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/find-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/find-rtl.png differ
index 63ceaaf..bd19f2b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/flag-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/flag-ltr.png differ
index 80835c0..e881d7c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/flag-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/flag-rtl.png differ
index 6f84122..84d50e9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/flagUndo-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/flagUndo-ltr.png differ
index 89674cc..777322b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/flagUndo-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/flagUndo-rtl.png differ
index 056e781..2949648 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/funnel-ltr-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/funnel-ltr-invert.png differ
index df174d6..9396cba 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/funnel-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/funnel-ltr.png differ
index 7d4f60a..c0f155a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/funnel-rtl-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/funnel-rtl-invert.png differ
index 1204eb1..7aee05f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/funnel-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/funnel-rtl.png differ
index b631396..2070997 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/heart-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/heart-invert.png differ
index 0bd2124..76d76d0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/heart.png and b/resources/lib/oojs-ui/themes/apex/images/icons/heart.png differ
index 4428ef3..9bb1382 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/help-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/help-ltr.png differ
index e6ab21b..50899b0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/help-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/help-rtl.png differ
index 95686fb..417f529 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/history.png and b/resources/lib/oojs-ui/themes/apex/images/icons/history.png differ
index d680396..f76b374 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/image.png and b/resources/lib/oojs-ui/themes/apex/images/icons/image.png differ
index 62c5e10..937ef3c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/imageGallery-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/imageGallery-ltr.png differ
index 9e688ed..8a26322 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/imageGallery-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/imageGallery-rtl.png differ
index 9de6d98..ea48759 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/indent-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/indent-ltr.png differ
index 003343c..ea967d0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/indent-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/indent-rtl.png differ
index f021189..d79c612 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/info.png and b/resources/lib/oojs-ui/themes/apex/images/icons/info.png differ
index a81e803..2f5fd18 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-a.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-a.png differ
index ce99ac7..c8e03ee 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-keheh-jeem.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-keheh-jeem.png differ
index 258699c..409a416 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-meem.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-arab-meem.png differ
index c9546eb..2dd80f7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-armn-sha.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-armn-sha.png differ
index 1bb9cdb..dc70ded 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-c.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-c.png differ
index 0f102b2..cd5ac9d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-d.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-d.png differ
index 882a535..bb51c22 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-e.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-e.png differ
index 41be11f..9750f42 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-geor-kan.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-geor-kan.png differ
index 28aab44..a37620b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-i.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-i.png differ
index 4f87e9a..9b156fd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-k.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-k.png differ
index 030a98e..3213d6d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/italic-s.png and b/resources/lib/oojs-ui/themes/apex/images/icons/italic-s.png differ
index 1e9d92d..265da14 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/key-ltr-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/key-ltr-invert.png differ
index ba9ce73..9a4dca8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/key-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/key-ltr.png differ
index 9d46092..a5f2904 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/key-rtl-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/key-rtl-invert.png differ
index 65ed300..f49e112 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/key-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/key-rtl.png differ
index 1dcd4c3..d7d1a0b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/keyboard-ltr-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/keyboard-ltr-invert.png differ
index 7af2472..886d37a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/keyboard-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/keyboard-ltr.png differ
index 61c95be..1b0275e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/keyboard-rtl-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/keyboard-rtl-invert.png differ
index b6e9b6e..790a5e2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/keyboard-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/keyboard-rtl.png differ
index e27be3c..f7b785c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/language-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/language-ltr.png differ
index a7fd0cd..c78f2cd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/language-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/language-rtl.png differ
index dac7b2c..ea6d2f5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/layout-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/layout-ltr.png differ
index 470b785..46bf59b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/layout-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/layout-rtl.png differ
index 0b87983..985a520 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/link.png and b/resources/lib/oojs-ui/themes/apex/images/icons/link.png differ
index a7655e6..e678733 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/listBullet-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/listBullet-ltr.png differ
index 1410d61..5346b5a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/listBullet-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/listBullet-rtl.png differ
index a76559d..fc2a369 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/listNumbered-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/listNumbered-ltr.png differ
index d807f9e..fd7bc00 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/listNumbered-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/listNumbered-rtl.png differ
index b22626f..5f295f8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/lock.png and b/resources/lib/oojs-ui/themes/apex/images/icons/lock.png differ
index 52467f2..fb1bb0c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/logOut-ltr-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/logOut-ltr-invert.png differ
index a08b629..18f82eb 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/logOut-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/logOut-ltr.png differ
index 734b5f2..dcd2f15 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/logOut-rtl-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/logOut-rtl-invert.png differ
index 135df45..0ffb723 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/logOut-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/logOut-rtl.png differ
index 0a78119..d2278db 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/menu.png and b/resources/lib/oojs-ui/themes/apex/images/icons/menu.png differ
index fc4cd39..b57d8da 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/move-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/move-ltr.png differ
index 7aab217..e401a8f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/move-rtl.png differ
index 7ba0ee9..7071499 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/move.png and b/resources/lib/oojs-ui/themes/apex/images/icons/move.png differ
index c1a9fab..5e432b0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/newWindow-ltr-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/newWindow-ltr-invert.png differ
index ed7b930..29563d8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/newWindow-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/newWindow-ltr.png differ
index 8dd0188..f9a742e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/newWindow-rtl-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/newWindow-rtl-invert.png differ
index 46567c7..c49609f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/newWindow-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/newWindow-rtl.png differ
index 9e7c67f..f41eb0c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/newline-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/newline-ltr.png differ
index 20f5d0d..93c7e52 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/newline-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/newline-rtl.png differ
index 875958b..19a4e3e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/noWikiText-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/noWikiText-ltr.png differ
index 6ebb399..7a36d38 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/noWikiText-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/noWikiText-rtl.png differ
index a57e2bf..114020e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/notice.png and b/resources/lib/oojs-ui/themes/apex/images/icons/notice.png differ
index 7596c4a..e3af672 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/outdent-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/outdent-ltr.png differ
index 58737cb..ff08acf 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/outdent-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/outdent-rtl.png differ
index a9a186b..bcbfa5c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/outline-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/outline-ltr.png differ
index b7f025d..d89e06e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/outline-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/outline-rtl.png differ
index 786beb1..20fd380 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/printer-ltr-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/printer-ltr-invert.png differ
index 051ab1d..c50b404 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/printer-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/printer-ltr.png differ
index bd37410..e309d27 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/printer-rtl-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/printer-rtl-invert.png differ
index 18e247d..6e5b175 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/printer-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/printer-rtl.png differ
index 47dad2b..9b40609 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/puzzle-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/puzzle-ltr.png differ
index 51c40db..6f7334b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/puzzle-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/puzzle-rtl.png differ
index b458c39..0252b74 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/quotes-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/quotes-ltr.png differ
index 6e8917f..7bcc7c7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/quotes-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/quotes-rtl.png differ
index 39d68bd..e1a0c4b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/quotesAdd-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/quotesAdd-ltr.png differ
index 4290e87..0ef9d01 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/quotesAdd-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/quotesAdd-rtl.png differ
index ef8cfc3..f27e421 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/regular-expression.png and b/resources/lib/oojs-ui/themes/apex/images/icons/regular-expression.png differ
index 329da36..46a180d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize-invert.png differ
index 304a4fa..1010574 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize.png and b/resources/lib/oojs-ui/themes/apex/images/icons/ribbonPrize.png differ
index c461272..7b47539 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/search.png and b/resources/lib/oojs-ui/themes/apex/images/icons/search.png differ
index 2b89d37..8a44a92 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/secure-link.png and b/resources/lib/oojs-ui/themes/apex/images/icons/secure-link.png differ
index dd2706b..1c8e587 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/settings.png and b/resources/lib/oojs-ui/themes/apex/images/icons/settings.png differ
index 7181e6d..f5e89ba 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/smaller-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/smaller-ltr.png differ
index cc539f0..e07c7b0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/smaller-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/smaller-rtl.png differ
index 92f887d..9b02a41 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/specialCharacter.png and b/resources/lib/oojs-ui/themes/apex/images/icons/specialCharacter.png differ
index 046bbf7..36b6a1f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/star.png and b/resources/lib/oojs-ui/themes/apex/images/icons/star.png differ
index cab7a98..279d1f7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/strikethrough-a.png and b/resources/lib/oojs-ui/themes/apex/images/icons/strikethrough-a.png differ
index 45f096f..21b9baa 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/strikethrough-s.png and b/resources/lib/oojs-ui/themes/apex/images/icons/strikethrough-s.png differ
index 5b1c1fd..d769468 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/strikethrough-y.png and b/resources/lib/oojs-ui/themes/apex/images/icons/strikethrough-y.png differ
index f8b8766..c2cf4cf 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/subscript-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/subscript-ltr.png differ
index f01e11d..b1ee51b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/subscript-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/subscript-rtl.png differ
index 9c2fe07..2bc944a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/sun-ltr-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/sun-ltr-invert.png differ
index 459f4c9..0c00745 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/sun-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/sun-ltr.png differ
index 3481d18..7ac54ff 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/sun-rtl-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/sun-rtl-invert.png differ
index 8a0fc83..77c7806 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/sun-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/sun-rtl.png differ
index 69fe6e7..8df4609 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/superscript-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/superscript-ltr.png differ
index eac3d1d..48bfd68 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/superscript-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/superscript-rtl.png differ
index 1389d3d..80b474d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/table-caption.png and b/resources/lib/oojs-ui/themes/apex/images/icons/table-caption.png differ
index dfd5e51..99bae00 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/table-insert-column-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/table-insert-column-ltr.png differ
index 1354a88..d785a03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/table-insert-column-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/table-insert-column-rtl.png differ
index 3d8091e..02efded 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/table-insert-row-after.png and b/resources/lib/oojs-ui/themes/apex/images/icons/table-insert-row-after.png differ
index e357f90..2477475 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/table-insert-row-before.png and b/resources/lib/oojs-ui/themes/apex/images/icons/table-insert-row-before.png differ
index 202a120..e6b2da3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/table-merge-cells.png and b/resources/lib/oojs-ui/themes/apex/images/icons/table-merge-cells.png differ
index 2eedd1e..f4008f6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/table.png and b/resources/lib/oojs-ui/themes/apex/images/icons/table.png differ
index 46c07c9..82461ef 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/tag.png and b/resources/lib/oojs-ui/themes/apex/images/icons/tag.png differ
index f7a51c9..f3ce49e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/templateAdd-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/templateAdd-ltr.png differ
index 3bb8174..448caf4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/templateAdd-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/templateAdd-rtl.png differ
index ffd190a..fede39a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/text-dir-lefttoright.png and b/resources/lib/oojs-ui/themes/apex/images/icons/text-dir-lefttoright.png differ
index 214f8d1..9f60ed5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/text-dir-righttoleft.png and b/resources/lib/oojs-ui/themes/apex/images/icons/text-dir-righttoleft.png differ
index a2f48be..65ab476 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/text-style.png and b/resources/lib/oojs-ui/themes/apex/images/icons/text-style.png differ
index 9dc34b8..7fad3db 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/trash.png and b/resources/lib/oojs-ui/themes/apex/images/icons/trash.png differ
index 89448ed..1b00f3e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/trashUndo-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/trashUndo-ltr.png differ
index 51abef3..9e6ac39 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/trashUndo-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/trashUndo-rtl.png differ
index 2906614..82919e7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/unLock-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/unLock-ltr.png differ
index 63ec5cb..94d1593 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/unLock-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/unLock-rtl.png differ
index bdb1c4f..2329af3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/unStar.png and b/resources/lib/oojs-ui/themes/apex/images/icons/unStar.png differ
index f4add0a..78a3c3f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/underline-a.png and b/resources/lib/oojs-ui/themes/apex/images/icons/underline-a.png differ
index 2504e66..0dbeb80 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/underline-u.png and b/resources/lib/oojs-ui/themes/apex/images/icons/underline-u.png differ
index 1b65589..f1aca31 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/upTriangle.png and b/resources/lib/oojs-ui/themes/apex/images/icons/upTriangle.png differ
index fa2da24..08e31e9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/upload-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/upload-ltr.png differ
index 1ac6106..ccabf98 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/upload-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/upload-rtl.png differ
index 19b4561..7018968 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/watchlist-ltr-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/watchlist-ltr-invert.png differ
index 4b94c1a..53e7011 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/watchlist-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/icons/watchlist-ltr.png differ
index 48bf383..28008b5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/watchlist-rtl-invert.png and b/resources/lib/oojs-ui/themes/apex/images/icons/watchlist-rtl-invert.png differ
index f9cc5ea..8fc4df5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/watchlist-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/icons/watchlist-rtl.png differ
index 850f157..40309aa 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/wikiText.png and b/resources/lib/oojs-ui/themes/apex/images/icons/wikiText.png differ
index db726a1..bae13d7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/icons/window.png and b/resources/lib/oojs-ui/themes/apex/images/icons/window.png differ
index ca60c43..9d25a24 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/alert.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/alert.png differ
index 6574725..f6ff705 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-down.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-down.png differ
index 7c84397..3c94da3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-ltr.png differ
index 5bf9064..6b1422f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-rtl.png differ
index 1a05ade..5b2081c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-up.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/arrow-up.png differ
index 5db444c..a858a03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/clear.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/clear.png differ
index 45eb03b..aca9239 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/required.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/required.png differ
index 1146082..123fbfa 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/search-ltr.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/search-ltr.png differ
index c21cc61..db74061 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/indicators/search-rtl.png and b/resources/lib/oojs-ui/themes/apex/images/indicators/search-rtl.png differ
index 1843f27..b305586 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/textures/transparency.png and b/resources/lib/oojs-ui/themes/apex/images/textures/transparency.png differ
index 97e8d13..eeb20b0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/apex/images/toolbar-shadow.png and b/resources/lib/oojs-ui/themes/apex/images/toolbar-shadow.png differ
index e81206c..fb97725 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/add-constructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/add-constructive.png differ
index 34a293f..8deeddf 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/add-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/add-invert.png differ
index c0d04e9..4c70ee4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/add.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/add.png differ
index 92da111..67fec17 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced-invert.png differ
index 1d4dce7..32892a5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/advanced.png differ
index 6071d88..2a66b03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-invert.png differ
index 82bcd06..6276502 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-warning.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert-warning.png differ
index 98e94fb..7355084 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/alert.png differ
index 0cdfef9..5f74001 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-center-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-center-invert.png differ
index 92d231e..a912b03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-center.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-center.png differ
index a2338b9..059d17b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-left-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-left-invert.png differ
index 2880478..e395036 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-left.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-left.png differ
index 80d5f6b..5a346fc 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-right-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-right-invert.png differ
index e9c2f0e..c72a956 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-right.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/align-float-right.png differ
index 327e1dd..d8d64f1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-ltr-invert.png differ
index 649cd14..c2fae72 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-ltr.png differ
index f04017c..21fa9ab 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-rtl-invert.png differ
index d591768..df22b7d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/arched-arrow-rtl.png differ
index 15b0e44..6299e86 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-ltr-invert.png differ
index 8bef0a5..24905bc 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-ltr.png differ
index bef0ab4..fb375e4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-rtl-invert.png differ
index 26e3e69..1cd81cb 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/arrow-rtl.png differ
index 764b7c0..6969321 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/article-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/article-ltr-invert.png differ
index 99dd638..cf7de13 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/article-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/article-ltr.png differ
index b701339..584782a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/article-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/article-rtl-invert.png differ
index e5e47aa..d0b0e70 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/article-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/article-rtl.png differ
index f67ac4a..5eed717 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-ltr-invert.png differ
index a7c76b8..5b169e2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-ltr.png differ
index 1db4c2e..cc9c9de 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-rtl-invert.png differ
index 314b8eb..9f22672 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleCheck-rtl.png differ
index 9261197..76cc11f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-ltr-invert.png differ
index 8b0920f..3dbe20e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-ltr.png differ
index 7c4c294..b31e0f9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-rtl-invert.png differ
index 09631d7..60beb6e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleRedirect-rtl.png differ
index 7f7b0a3..1bd1587 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-ltr-invert.png differ
index 93f8624..1802dfc 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-ltr.png differ
index dafab9b..a8e8a3a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-rtl-invert.png differ
index 7cf4ac8..a2611da 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/articleSearch-rtl.png differ
index a77a23e..aa1b38e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-ltr-invert.png differ
index cbcd675..92dfaf2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-ltr.png differ
index e2e2e02..bba8db5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-rtl-invert.png differ
index 43a0161..f793246 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/attachment-rtl.png differ
index 16d67ef..2f0c960 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bell-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bell-invert.png differ
index 948443f..b86d5f7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bell.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bell.png differ
index e59b49d..1c0de72 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-ltr-invert.png differ
index 9572f43..1f9ae71 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-ltr.png differ
index 114d215..c21e1c0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-rtl-invert.png differ
index 6e71a86..81d9a0a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bellOn-rtl.png differ
index 7d23df2..c3b26b8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta-invert.png differ
index ef3e20a..7b31e1e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/beta.png differ
index d620367..0963538 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/betaLaunch-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/betaLaunch-invert.png differ
index f1e48ac..6d3c067 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/betaLaunch.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/betaLaunch.png differ
index 867a1d8..97f77f4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-ltr-invert.png differ
index b1c13a2..82fbd14 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-ltr.png differ
index 2575108..628de3d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-rtl-invert.png differ
index 052ae37..64d1cf1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bigger-rtl.png differ
index 3e91997..1a42029 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/block-destructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/block-destructive.png differ
index 9529e5b..ca81ab7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/block-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/block-invert.png differ
index 181dace..7f8eb2a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/block.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/block.png differ
index aeee727..7426f56 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-ltr-invert.png differ
index 76e0db4..640bb2a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-ltr.png differ
index 46b680c..a02e2e0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-rtl-invert.png differ
index e31809e..2475b06 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/blockUndo-rtl.png differ
index 7d531fe..8c11dad 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-a-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-a-invert.png differ
index 86611e3..2907677 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-a.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-a.png differ
index 838af39..eac1ac7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain-invert.png differ
index 2ac8bfc..931b6cf 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-ain.png differ
index 6c2130d..0973b1f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad-invert.png differ
index 4d45ea0..1121257 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-arab-dad.png differ
index 7be426d..2ae27c2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to-invert.png differ
index 034e2d6..6f6349b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-armn-to.png differ
index 1f96ddf..e242b55 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-b-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-b-invert.png differ
index b1c6955..8d09636 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-b.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-b.png differ
index 7ea9092..c131903 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-be-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-be-invert.png differ
index 07a721b..de9e9d1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-be.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-be.png differ
index 82835f6..0b5cc7f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-te-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-te-invert.png differ
index 6058d8f..281d718 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-te.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-te.png differ
index 764795f..080e731 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe-invert.png differ
index 205800b..9838701 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-cyrl-zhe.png differ
index e695e7e..8ee1727 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-f-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-f-invert.png differ
index e650eb6..ad0d89b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-f.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-f.png differ
index ed60059..2f1b7ac 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g-invert.png differ
index 13fd1ad..55e766a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-g.png differ
index e699abb..ef2da34 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-geor-man-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-geor-man-invert.png differ
index d6dcb5d..c050074 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-geor-man.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-geor-man.png differ
index 45a84ab..9c5cea2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-l-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-l-invert.png differ
index ff021ce..11b67a1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-l.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-l.png differ
index 13b5b72..d57d0a5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-n-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-n-invert.png differ
index 7ae9321..708d421 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-n.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-n.png differ
index ea7e7fd..ad990be 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-v-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-v-invert.png differ
index 39c2be0..a60786c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-v.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bold-v.png differ
index 8f8feb6..a32272e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/book-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/book-ltr-invert.png differ
index 636d3bd..49ac06a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/book-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/book-ltr.png differ
index 573fc84..7258970 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/book-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/book-rtl-invert.png differ
index 87f9189..e0edc34 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/book-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/book-rtl.png differ
index 008246c..084cbc7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-ltr-invert.png differ
index 371dfc6..ad046b6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-ltr.png differ
index deff3f6..125fb74 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-rtl-invert.png differ
index 4a50c17..0d19f03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bookmark-rtl.png differ
index 2e93e35..6194ed4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bright-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bright-invert.png differ
index 3e9e2f1..788fc94 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/bright.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/bright.png differ
index 4632447..027df2d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-ltr-invert.png differ
index 80f1a47..ae059ad 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-ltr.png differ
index 5a3df4b..51937b7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-rtl-invert.png differ
index ea215df..939a858 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/browser-rtl.png differ
index 330a53d..1463874 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-ltr-invert.png differ
index 8b3ed72..0ab46dd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-ltr.png differ
index 2f9c5ba..806c55d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-rtl-invert.png differ
index 8ec5023..0236393 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/calendar-rtl.png differ
index acb8b01..6252443 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel-destructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel-destructive.png differ
index 02538ef..b7529a2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel-invert.png differ
index 180e3ab..f9354e3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/cancel.png differ
index 80488fc..0bf8286 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-ltr-invert.png differ
index d90b371..e95caf2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-ltr.png differ
index 69eba72..4a880d3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-rtl-invert.png differ
index 9064f61..e59bdd5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/caret-rtl.png differ
index eea3f84..f3031d9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/caretDown-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/caretDown-invert.png differ
index bc453ea..a46ffdb 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/caretDown.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/caretDown.png differ
index 7386e14..5706cb4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/caretUp-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/caretUp-invert.png differ
index efd2356..9e5c022 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/caretUp.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/caretUp.png differ
index 3a267f7..6fe1260 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive-invert.png differ
index 202cbf7..426c5de 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/case-sensitive.png differ
index 875fa68..39bef00 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-constructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-constructive.png differ
index 9577504..af75a97 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-destructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-destructive.png differ
index 83ba2b0..708bb39 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-invert.png differ
index 343d52f..1e416ce 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-progressive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-progressive.png differ
index 1ea326d..65ab0e9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/check.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/check.png differ
index 0e0d9c2..12968d3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/circle-constructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/circle-constructive.png differ
index 82c327a..f4dd1ff 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/circle-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/circle-invert.png differ
index 3bdc8e2..32ba403 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/circle.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/circle.png differ
index 08a5fe1..f9d1403 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-ltr-invert.png differ
index ae1621c..2c55b61 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-ltr.png differ
index af33ec0..39e1857 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-rtl-invert.png differ
index 4acaa0f..72c52cd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/citeArticle-rtl.png differ
index d8b538e..ec90ed9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/clear-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/clear-invert.png differ
index b18e2e6..973dc03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/clear.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/clear.png differ
index 2ac138b..2f944d7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/clock-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/clock-invert.png differ
index e62c52c..98b504e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/clock.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/clock.png differ
index 32d5ae8..a146530 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/close-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/close-ltr-invert.png differ
index b05cc97..d768fc3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/close-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/close-ltr.png differ
index 731baf9..f484f62 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/close-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/close-rtl-invert.png differ
index 3752520..504c534 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/close-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/close-rtl.png differ
index e1b2199..1804fb8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/code-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/code-invert.png differ
index 98584c0..ba89e4e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/code.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/code.png differ
index 3e7e993..951a840 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/collapse-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/collapse-invert.png differ
index 4dad20f..1d8c6db 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/collapse.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/collapse.png differ
index 80171e3..1de3b9d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/comment-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/comment-invert.png differ
index 959637a..dcaa881 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/comment.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/comment.png differ
index add46d4..e68b260 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/die-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/die-ltr-invert.png differ
index 07abcbe..79f4497 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/die-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/die-ltr.png differ
index 2ecf913..5c789d6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/die-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/die-rtl-invert.png differ
index 54c0af7..c01002f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/die-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/die-rtl.png differ
index b87c977..b186eb0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/downTriangle-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/downTriangle-invert.png differ
index 9408199..7df0592 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/downTriangle.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/downTriangle.png differ
index 1e2f6c9..ce0f041 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/download-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/download-ltr-invert.png differ
index b63ca2d..4d67c8d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/download-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/download-ltr.png differ
index 167fd8d..09286f7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/download-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/download-rtl-invert.png differ
index 457ef94..660d7d0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/download-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/download-rtl.png differ
index 65b4c65..682e18f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-ltr-invert.png differ
index ee2be2d..44ceb9c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-ltr-progressive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-ltr-progressive.png differ
index afaddc5..504f29b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-ltr.png differ
index c66c5fd..2d23719 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-rtl-invert.png differ
index ef6c949..615875c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-rtl-progressive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-rtl-progressive.png differ
index 4755937..7ea3aee 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/edit-rtl.png differ
index fe07392..c90c593 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-ltr-invert.png differ
index 966bfcb..aa4b8c3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-ltr.png differ
index ff54699..5a40486 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-rtl-invert.png differ
index 961abe6..3d8b751 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/editLock-rtl.png differ
index 1977477..19726d1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-ltr-invert.png differ
index e3dc95a..c163360 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-ltr.png differ
index 9070cab..8e72010 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-rtl-invert.png differ
index 6dd8b46..fc98968 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/editUndo-rtl.png differ
index 1c876e3..7d57d11 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ellipsis-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ellipsis-invert.png differ
index 1e4050c..85fa4f3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ellipsis.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ellipsis.png differ
index 05f7138..38a2c39 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/expand-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/expand-invert.png differ
index 9073d24..f72b6f2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/expand.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/expand.png differ
index eec3102..18a1801 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-ltr-invert.png differ
index 4b59b2a..185ffc6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-ltr.png differ
index bf0ef13..105fd0d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-rtl-invert.png differ
index 2978654..7066001 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/external-link-rtl.png differ
index 84a838b..b456478 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/eye-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/eye-invert.png differ
index 9a0dbaa..fb90b1e 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #ffffff }</style>
-    <path d="M12 8C7 8 1 14 1 14s6 6 11 6l11-6s-6-6-11-6zm0 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"/>
+    <path d="M12 8c-5 0-11 6-11 6s6 6 11 6 11-6 11-6-6-6-11-6zm0 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"/>
     <circle cx="12" cy="14" r="2"/>
 </svg>
index f851591..62c82c0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/eye.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/eye.png differ
index 36c043f..343e9cf 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-    <path d="M12 8C7 8 1 14 1 14s6 6 11 6l11-6s-6-6-11-6zm0 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"/>
+    <path d="M12 8c-5 0-11 6-11 6s6 6 11 6 11-6 11-6-6-6-11-6zm0 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"/>
     <circle cx="12" cy="14" r="2"/>
 </svg>
index 7b4bb15..bd499f1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/eyeClosed-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/eyeClosed-invert.png differ
index f350b57..1ac37d6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/eyeClosed.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/eyeClosed.png differ
index 1210980..e6602c9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr-invert.png differ
index 0335ea1..066d84a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-ltr.png differ
index fbba51e..bd3e862 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl-invert.png differ
index 2a56ff6..ed834af 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/find-rtl.png differ
index b9ad2b8..ea79f46 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-ltr-invert.png differ
index 63ceaaf..bd19f2b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-ltr.png differ
index da059cf..e0b8859 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-rtl-invert.png differ
index 80835c0..e881d7c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/flag-rtl.png differ
index 9ef0552..b297849 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-ltr-invert.png differ
index 6f84122..84d50e9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-ltr.png differ
index 1ae130d..1faeae3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-rtl-invert.png differ
index 89674cc..777322b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/flagUndo-rtl.png differ
index 5c9d194..d7c6e28 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-ltr-invert.png differ
index 163465e..45c3ee9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-ltr.png differ
index 9fd77b2..46b3f94 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-rtl-invert.png differ
index 4856f62..8a624c1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/folderPlaceholder-rtl.png differ
index 056e781..2949648 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-ltr-invert.png differ
index df174d6..9396cba 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-ltr.png differ
index 7d4f60a..c0f155a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-rtl-invert.png differ
index 1204eb1..7aee05f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/funnel-rtl.png differ
index 7d3d996..2a4d547 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/halfBright-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/halfBright-invert.png differ
index 9332bea..f843210 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/halfBright.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/halfBright.png differ
index b631396..2070997 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/heart-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/heart-invert.png differ
index 0bd2124..76d76d0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/heart.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/heart.png differ
index ac9968d..35d8f22 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/help-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/help-ltr-invert.png differ
index 4428ef3..9bb1382 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/help-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/help-ltr.png differ
index f425c35..9cb8cb2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/help-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/help-rtl-invert.png differ
index e6ab21b..50899b0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/help-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/help-rtl.png differ
index 8c1cc2b..0bd8394 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/history-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/history-invert.png differ
index 95686fb..417f529 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/history.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/history.png differ
index fc724c8..42797a2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/image-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/image-ltr-invert.png differ
index 23c2331..f91dfa2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/image-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/image-ltr.png differ
index 9845260..c33eed6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/image-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/image-rtl-invert.png differ
index 1260378..f33be17 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/image-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/image-rtl.png differ
index 32b7d1a..422f8ea 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-ltr-invert.png differ
index a071e4e..f08883c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-ltr.png differ
index bfc5625..375a79f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-rtl-invert.png differ
index ad22a4e..dd60447 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageAdd-rtl.png differ
index 6bb8581..bd15ff0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-ltr-invert.png differ
index db12fcd..3934d14 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-ltr.png differ
index 964d8b1..85b22c4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-rtl-invert.png differ
index ca56cc3..f8af41f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageGallery-rtl.png differ
index 20cda89..61b5d22 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-ltr-invert.png differ
index 973e363..a1a1e1e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-ltr.png differ
index 2058be0..2223f5f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-rtl-invert.png differ
index d160db5..f0ddda4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/imageLock-rtl.png differ
index f1c6cd6..af944e7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-ltr-invert.png differ
index daf4257..b7663ae 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-ltr.png differ
index fc48622..f52ff9b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-rtl-invert.png differ
index 6ebe883..63b2750 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/indent-rtl.png differ
index a89528f..52c6142 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/info-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/info-invert.png differ
index f021189..d79c612 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/info.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/info.png differ
index 7627397..12dfc56 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-a-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-a-invert.png differ
index a81e803..2f5fd18 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-a.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-a.png differ
index 5e36975..567b290 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem-invert.png differ
index ce99ac7..c8e03ee 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-keheh-jeem.png differ
index 475d014..03989d4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem-invert.png differ
index 258699c..409a416 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-arab-meem.png differ
index ed79915..75dc339 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha-invert.png differ
index c9546eb..2dd80f7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-armn-sha.png differ
index 68fe590..a165657 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c-invert.png differ
index 1bb9cdb..dc70ded 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-c.png differ
index a2d6800..b656d1c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d-invert.png differ
index 0f102b2..cd5ac9d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-d.png differ
index cf39073..2e0918d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-e-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-e-invert.png differ
index 882a535..bb51c22 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-e.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-e.png differ
index 1601810..b0e5b2c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan-invert.png differ
index 41be11f..9750f42 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-geor-kan.png differ
index ad101c7..cc8fee4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-i-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-i-invert.png differ
index 28aab44..a37620b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-i.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-i.png differ
index 260a03c..5387c36 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-k-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-k-invert.png differ
index 4f87e9a..9b156fd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-k.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-k.png differ
index 09e3cfb..42b674e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s-invert.png differ
index 030a98e..3213d6d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/italic-s.png differ
index 4f5e01e..95e42c2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-ltr-invert.png differ
index b08c1d4..f30b5ff 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-ltr.png differ
index 519bf10..2dc90fc 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-rtl-invert.png differ
index 31dbb88..7826fa8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/journal-rtl.png differ
index 1e9d92d..265da14 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/key-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/key-ltr-invert.png differ
index ba9ce73..9a4dca8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/key-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/key-ltr.png differ
index 9d46092..a5f2904 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/key-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/key-rtl-invert.png differ
index 65ed300..f49e112 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/key-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/key-rtl.png differ
index 1dcd4c3..d7d1a0b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-ltr-invert.png differ
index 7af2472..886d37a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-ltr.png differ
index 61c95be..1b0275e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-rtl-invert.png differ
index b6e9b6e..790a5e2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/keyboard-rtl.png differ
index 9de74f2..d9ac348 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/language-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/language-ltr-invert.png differ
index e27be3c..f7b785c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/language-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/language-ltr.png differ
index 97c0c09..80dad94 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/language-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/language-rtl-invert.png differ
index a7fd0cd..c78f2cd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/language-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/language-rtl.png differ
index e9b226c..264811b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-ltr-invert.png differ
index 79a2824..4b6d298 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-ltr.png differ
index e9b226c..264811b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-rtl-invert.png differ
index 79a2824..4b6d298 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/largerText-rtl.png differ
index edee6ac..96b9ea6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-ltr-invert.png differ
index dac7b2c..ea6d2f5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-ltr.png differ
index 83e0145..1ef7734 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-rtl-invert.png differ
index 470b785..46bf59b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/layout-rtl.png differ
index ca5beaf..7c9195e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/link-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/link-ltr-invert.png differ
index 25980e6..617d325 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/link-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/link-ltr.png differ
index ead64bc..ece611a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/link-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/link-rtl-invert.png differ
index 024c2db..ef48413 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/link-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/link-rtl.png differ
index f304cef..024f32a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-ltr-invert.png differ
index c73e1a1..7796dd1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-ltr.png differ
index 41cdbfb..6aeed4c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-rtl-invert.png differ
index e586f02..2c727b1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/listBullet-rtl.png differ
index d1caa84..54c0ead 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-ltr-invert.png differ
index ab6dfe0..59a1860 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-ltr.png differ
index ded0765..8b98392 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-rtl-invert.png differ
index b433b2c..098ca3a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/listNumbered-rtl.png differ
index 16974b2..23cb930 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr-destructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr-destructive.png differ
index 082f2e9..a81a2a1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr-invert.png differ
index 06a6afb..a87541f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-ltr.png differ
index 4bafac8..2c9acb4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl-destructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl-destructive.png differ
index c5d842a..ab62257 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl-invert.png differ
index 15dd61e..55f2d22 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/lock-rtl.png differ
index 52467f2..fb1bb0c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-ltr-invert.png differ
index a08b629..18f82eb 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-ltr.png differ
index 734b5f2..dcd2f15 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-rtl-invert.png differ
index 135df45..0ffb723 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/logOut-rtl.png differ
index 7dcc6fa..7f04a80 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-cc-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-cc-invert.png differ
index 7c2c123..80ef2a6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-cc.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-cc.png differ
index 2ae214f..0f8d9a6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikimediaCommons-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikimediaCommons-invert.png differ
index cde6003..c41c247 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikimediaCommons.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikimediaCommons.png differ
index ea3aec3..9d576d0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikipedia-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikipedia-invert.png differ
index 05bf48c..f1d8330 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikipedia.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/logo-wikipedia.png differ
index 054cfd2..6e0cd01 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/map-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/map-ltr-invert.png differ
index 3629f55..43a97d2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/map-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/map-ltr.png differ
index afd1dc7..4993f57 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/map-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/map-rtl-invert.png differ
index 5d1362f..36e9cad 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/map-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/map-rtl.png differ
index 3b041dd..55a68db 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPin-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPin-invert.png differ
index 46b31a4..536e77c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPin.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPin.png differ
index ab176c9..607354c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-ltr-invert.png differ
index 6d51b9a..88160bc 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-ltr.png differ
index 9cb0343..6ea8226 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-rtl-invert.png differ
index b7797c4..20aba25 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/mapPinAdd-rtl.png differ
index 0400c19..b61db4a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/menu-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/menu-invert.png differ
index 0a78119..d2278db 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/menu.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/menu.png differ
index 7e1c9fb..33a9800 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/message-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/message-ltr-invert.png differ
index 279c61d..2171c1f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/message-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/message-ltr.png differ
index d965979..c2d617b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/message-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/message-rtl-invert.png differ
index c44dea0..fba7920 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/message-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/message-rtl.png differ
index 576c531..38bcc0a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/moon-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/moon-invert.png differ
index 98df69c..7aef8bd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/moon.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/moon.png differ
index e72516a..6d7e5ec 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-invert.png differ
index 7c9bdc1..fe5f614 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-ltr-invert.png differ
index fc4cd39..b57d8da 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-ltr.png differ
index db69b5a..cfca1e2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl-invert.png differ
index 7aab217..e401a8f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/move-rtl.png differ
index 7ba0ee9..7071499 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/move.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/move.png differ
index c1a9fab..5e432b0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-ltr-invert.png differ
index ed7b930..29563d8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-ltr.png differ
index 8dd0188..f9a742e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-rtl-invert.png differ
index 46567c7..c49609f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newWindow-rtl.png differ
index fb09227..874ff29 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-ltr-invert.png differ
index 9e7c67f..f41eb0c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-ltr.png differ
index 11b6b25..99be840 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-rtl-invert.png differ
index 20f5d0d..93c7e52 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newline-rtl.png differ
index 69ceeaf..3f48ede 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-ltr-invert.png differ
index 056e7dd..ccd6474 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-ltr.png differ
index c34589a..85cfa83 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-rtl-invert.png differ
index 8221a09..b5df1df 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/newspaper-rtl.png differ
index 39e00b1..050c190 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-ltr-invert.png differ
index 875958b..19a4e3e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-ltr.png differ
index 6cd62a1..39690f8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-rtl-invert.png differ
index 6ebb399..7a36d38 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/noWikiText-rtl.png differ
index 2be7397..de7e529 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/notBright-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/notBright-invert.png differ
index 37145c7..5273b4c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/notBright.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/notBright.png differ
index 8d1d3af..e18795b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice-invert.png differ
index a57e2bf..114020e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/notice.png differ
index 5db6cf8..b2dea7c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-invert.png differ
index 6292977..6fffe1a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-progressive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-progressive.png differ
index eff32eb..df49095 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr.png differ
index f471ce7..a3d6013 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-invert.png differ
index eea07b4..4c0bd30 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-progressive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-progressive.png differ
index 7b01a27..3d7e9bd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl.png differ
index c552e53..6bb2f99 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-ltr-invert.png differ
index 4ac336c..c1cd66a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-ltr.png differ
index 309681e..eb3d700 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-rtl-invert.png differ
index 68577dd..a1d9454 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/outdent-rtl.png differ
index 148a87e..eceedbd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-ltr-invert.png differ
index a9a186b..bcbfa5c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-ltr.png differ
index f30534f..96c4719 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-rtl-invert.png differ
index b7f025d..d89e06e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/outline-rtl.png differ
index 8a86884..82fcfa3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/play-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/play-ltr-invert.png differ
index c5050e0..a3b711b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/play-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/play-ltr.png differ
index eb878da..c31dbea 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/play-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/play-rtl-invert.png differ
index 1264e9f..2e45883 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/play-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/play-rtl.png differ
index 786beb1..20fd380 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-ltr-invert.png differ
index 051ab1d..c50b404 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-ltr.png differ
index bd37410..e309d27 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-rtl-invert.png differ
index 18e247d..6e5b175 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/printer-rtl.png differ
index 4ad9160..0dbe87e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-ltr-invert.png differ
index 47dad2b..9b40609 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-ltr.png differ
index faff0ae..dc5a97f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-rtl-invert.png differ
index 51c40db..6f7334b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/puzzle-rtl.png differ
index 4ddc796..46ac181 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-ltr-invert.png differ
index b458c39..0252b74 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-ltr.png differ
index c4e9c67..6637ca2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-rtl-invert.png differ
index 6e8917f..7bcc7c7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotes-rtl.png differ
index b33bc95..40e3a06 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-ltr-invert.png differ
index 39d68bd..e1a0c4b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-ltr.png differ
index 88f3c9f..e15cc90 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-rtl-invert.png differ
index 4290e87..0ef9d01 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/quotesAdd-rtl.png differ
index 2a78c4f..0206be9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression-invert.png differ
index ef8cfc3..f27e421 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/regular-expression.png differ
index 329da36..46a180d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize-invert.png differ
index 304a4fa..1010574 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ribbonPrize.png differ
index 6cb23d8..4b2913b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/search-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/search-ltr-invert.png differ
index c897837..e8e99f8 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/search-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/search-ltr.png differ
index 6f45003..0409aa4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/search-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/search-rtl-invert.png differ
index 1275716..3ab96be 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/search-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/search-rtl.png differ
index 61ce959..a74063d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/secure-link-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/secure-link-invert.png differ
index 2b89d37..8a44a92 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/secure-link.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/secure-link.png differ
index 17b4379..34c6afe 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/settings-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/settings-invert.png differ
index dd2706b..1c8e587 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/settings.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/settings.png differ
index c7776c0..4538011 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-ltr-invert.png differ
index 30e88db..f68a7bf 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-ltr.png differ
index 5686bdb..a99fe52 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-rtl-invert.png differ
index 665c4e2..9166e8d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/signature-rtl.png differ
index 29675cf..84b1bcd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-ltr-invert.png differ
index 7181e6d..f5e89ba 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-ltr.png differ
index 20c2845..c9cdd77 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-rtl-invert.png differ
index cc539f0..e07c7b0 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/smaller-rtl.png differ
index bd09b83..dec125e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-ltr-invert.png differ
index 63551b4..b38dca3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-ltr.png differ
index 950622a..9aba246 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-rtl-invert.png differ
index a245556..b9864ef 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/smallerText-rtl.png differ
index 6fb42f2..b7c9996 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter-invert.png differ
index 92f887d..9b02a41 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/specialCharacter.png differ
index 15ae3ab..6409de2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-ltr-invert.png differ
index 902d548..2eedf9f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-ltr.png differ
index 02c0fa1..e85fd44 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-rtl-invert.png differ
index 133ef1d..0d14443 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubble-rtl.png differ
index 15ae3ab..6409de2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-ltr-invert.png differ
index 53e3f2c..08c458b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-ltr.png differ
index 02c0fa1..e85fd44 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-rtl-invert.png differ
index ef78b5e..b1db04b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbleAdd-rtl.png differ
index 405f8ed..24a8e4e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-ltr-invert.png differ
index ed649b8..f2e0564 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-ltr.png differ
index 6350811..ae78bd6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-rtl-invert.png differ
index fa3bd32..9c67f3f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/speechBubbles-rtl.png differ
index b0bc3b1..cc3a4d3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/star-constructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/star-constructive.png differ
index 445f2d4..7c949a6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/star-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/star-invert.png differ
index 046bbf7..36b6a1f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/star.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/star.png differ
index c2a07c6..21ff8b2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stop-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stop-invert.png differ
index b7e20ef..7ef55ea 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stop.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stop.png differ
index bf6e28f..ebabd3b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-a-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-a-invert.png differ
index cab7a98..279d1f7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-a.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-a.png differ
index 7760693..2a29a6e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-s-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-s-invert.png differ
index 45f096f..21b9baa 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-s.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-s.png differ
index 63028d6..5ed9097 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-y-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-y-invert.png differ
index 5b1c1fd..d769468 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-y.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/strikethrough-y.png differ
index 35e6837..44f846c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-ltr-invert.png differ
index 093b1a9..5423b36 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-ltr.png differ
index 2ae83c7..6bb087c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-rtl-invert.png differ
index e8aea5e..0ff3d7c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeFlow-rtl.png differ
index b944490..40d864d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSideMenu-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSideMenu-invert.png differ
index a49eaef..3143e2b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSideMenu.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSideMenu.png differ
index 88d26c2..8103535 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-ltr-invert.png differ
index 2c1e230..30ad92e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-ltr.png differ
index 279d80a..54050d7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-rtl-invert.png differ
index 5ce176c..82ca2bf 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeSummary-rtl.png differ
index 57ac8b7..629ea35 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-ltr-invert.png differ
index 5d9fca8..126e8bd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-ltr-progressive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-ltr-progressive.png differ
index 533a915..b482d3e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-ltr.png differ
index 72d4906..f81e503 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-rtl-invert.png differ
index a51e389..03b6555 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-rtl-progressive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-rtl-progressive.png differ
index 282c652..516bc2c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/stripeToC-rtl.png differ
index 1607d39..f7f291e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-ltr-invert.png differ
index f8b8766..c2cf4cf 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-ltr.png differ
index 3970bb1..56ad252 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-rtl-invert.png differ
index f01e11d..b1ee51b 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/subscript-rtl.png differ
index 9c2fe07..2bc944a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-ltr-invert.png differ
index 459f4c9..0c00745 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-ltr.png differ
index 3481d18..7ac54ff 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-rtl-invert.png differ
index 8a0fc83..77c7806 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/sun-rtl.png differ
index 7099d7f..abb7229 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-ltr-invert.png differ
index 69fe6e7..8df4609 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-ltr.png differ
index 7d73f51..ee76ff4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-rtl-invert.png differ
index eac3d1d..48bfd68 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/superscript-rtl.png differ
index 81c258e..9d50a42 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-caption-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-caption-invert.png differ
index 1389d3d..80b474d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-caption.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-caption.png differ
index 13bb421..5022575 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-ltr-invert.png differ
index dfd5e51..99bae00 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-ltr.png differ
index 363241b..161d90f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-rtl-invert.png differ
index 1354a88..d785a03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-column-rtl.png differ
index eb82a50..916fdb1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-after-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-after-invert.png differ
index 3d8091e..02efded 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-after.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-after.png differ
index f5ff540..3b81c91 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-before-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-before-invert.png differ
index e357f90..2477475 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-before.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-insert-row-before.png differ
index ee9885f..4c19203 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-invert.png differ
index 67c095d..b24537d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-merge-cells-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-merge-cells-invert.png differ
index 202a120..e6b2da3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-merge-cells.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table-merge-cells.png differ
index 2eedd1e..f4008f6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/table.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/table.png differ
index 415863e..7c72c63 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-constructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-constructive.png differ
index d4697b3..4b135f2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-destructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-destructive.png differ
index de3190c..fd5956c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-invert.png differ
index b37a917..077a7a7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-progressive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-progressive.png differ
index 93ebb5d..cde9c38 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-warning.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag-warning.png differ
index 46c07c9..82461ef 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/tag.png differ
index 10cb834..cba38d2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-ltr-invert.png differ
index f7a51c9..f3ce49e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-ltr.png differ
index d47a083..eb8d08d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-rtl-invert.png differ
index 3bb8174..448caf4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/templateAdd-rtl.png differ
index fb7b900..44394d9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-lefttoright-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-lefttoright-invert.png differ
index ffd190a..fede39a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-lefttoright.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-lefttoright.png differ
index b935d7c..d5b78c2 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-righttoleft-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-righttoleft-invert.png differ
index 214f8d1..9f60ed5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-righttoleft.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-dir-righttoleft.png differ
index 4bea5a1..f173ad7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-style-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-style-invert.png differ
index a2f48be..65ab476 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-style.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/text-style.png differ
index ca4a7b9..722eebe 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/trash-destructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/trash-destructive.png differ
index d730765..04eaa41 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/trash-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/trash-invert.png differ
index dfee886..b3e899d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/trash.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/trash.png differ
index bc977a7..af3f0e9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-ltr-invert.png differ
index 594836e..3b5231f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-ltr.png differ
index 162d9a9..1cb5449 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-rtl-invert.png differ
index 182e56d..a1d2388 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/trashUndo-rtl.png differ
index b4c1366..f0a3501 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr-destructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr-destructive.png differ
index 3a0bc75..68c1437 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr-invert.png differ
index 8f261a8..e6d9aae 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-ltr.png differ
index 03d91f2..a11b7eb 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl-destructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl-destructive.png differ
index b823325..d50b4c7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl-invert.png differ
index e683c52..0529c16 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/unLock-rtl.png differ
index c30fe9d..b808f48 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/unStar-constructive.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/unStar-constructive.png differ
index 03a5687..20ce036 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/unStar-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/unStar-invert.png differ
index bdb1c4f..2329af3 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/unStar.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/unStar.png differ
index b12856d..8a6ca42 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a-invert.png differ
index f4add0a..78a3c3f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-a.png differ
index c1f52df..9f0af6c 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-u-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-u-invert.png differ
index 2504e66..0dbeb80 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-u.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/underline-u.png differ
index 720f335..9fcea7f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/upTriangle-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/upTriangle-invert.png differ
index 1b65589..f1aca31 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/upTriangle.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/upTriangle.png differ
index c7b7fd5..aa26066 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-ltr-invert.png differ
index fa2da24..08e31e9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-ltr.png differ
index 1fb0995..602ae42 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-rtl-invert.png differ
index 1ac6106..ccabf98 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/upload-rtl.png differ
index b234763..98083be 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-ltr-invert.png differ
index bc94f18..ce385f9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-ltr.png differ
index 29d54e2..3dc0f44 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-rtl-invert.png differ
index 6fb01ce..ee1afbc 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userActive-rtl.png differ
index f1e7c79..1f4d3a4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userAvatar-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userAvatar-invert.png differ
index 33e5fe9..8190095 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userAvatar.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userAvatar.png differ
index 184deb7..db34f59 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-ltr-invert.png differ
index b6f9b15..05170e1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-ltr.png differ
index fad58d4..8fe830a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-rtl-invert.png differ
index d71a08b..bf953f1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userInactive-rtl.png differ
index 0d2d304..332bcba 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-ltr-invert.png differ
index 952410a..18981fd 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-ltr.png differ
index 68d92b0..187f3e6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-rtl-invert.png differ
index 1a0983d..7122efa 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/userTalk-rtl.png differ
index 8e0abb0..e716ba5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewCompact-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewCompact-invert.png differ
index bc4bc26..13fe420 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewCompact.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewCompact.png differ
index 35bbc8d..bda668d 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-ltr-invert.png differ
index 4ab5394..4341f0e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-ltr.png differ
index c45dd11..c0accbf 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-rtl-invert.png differ
index 46587ec..73ce6c4 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/viewDetails-rtl.png differ
index 118e468..e18ee17 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/visionSimulator-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/visionSimulator-invert.png differ
index e1afbae..afa5652 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/visionSimulator.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/visionSimulator.png differ
index 19b4561..7018968 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-ltr-invert.png differ
index 4b94c1a..53e7011 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-ltr.png differ
index 48bf383..28008b5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-rtl-invert.png differ
index f9cc5ea..8fc4df5 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/watchlist-rtl.png differ
index 5e53c45..5a0d048 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikiText-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikiText-invert.png differ
index 850f157..40309aa 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikiText.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikiText.png differ
index 917a577..075f84e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-ltr-invert.png differ
index db4b6a5..331fd59 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-ltr.png differ
index 7b02236..75c8dcf 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-rtl-invert.png differ
index f2ce844..62f1fe9 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/wikitrail-rtl.png differ
index 1c6ed1f..74c54ff 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/window-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/window-invert.png differ
index db726a1..bae13d7 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/icons/window.png and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/window.png differ
index 1f964b9..035b626 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert-invert.png differ
index ca60c43..9d25a24 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/alert.png differ
index fcb50d6..582adce 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down-invert.png differ
index 034fe2b..af67c7a 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-down.png differ
index 22bf897..05578be 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr-invert.png differ
index 4440329..d7a4111 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-ltr.png differ
index 4f3c9d1..9731658 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl-invert.png differ
index 5f1f868..afceed6 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-rtl.png differ
index e6fad56..218a700 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up-invert.png differ
index 38d01c7..ee12d6e 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/arrow-up.png differ
index d68353b..82f5bf1 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear-invert.png differ
index 5db444c..a858a03 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/clear.png differ
index 614c6e8..d9ff42f 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/required-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/required-invert.png differ
index 45eb03b..aca9239 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/required.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/required.png differ
index 8504977..9529803 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr-invert.png differ
index 1146082..123fbfa 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-ltr.png differ
index ace4775..a727057 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-invert.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl-invert.png differ
index c21cc61..db74061 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl.png and b/resources/lib/oojs-ui/themes/mediawiki/images/indicators/search-rtl.png differ
index 1843f27..b305586 100644 (file)
Binary files a/resources/lib/oojs-ui/themes/mediawiki/images/textures/transparency.png and b/resources/lib/oojs-ui/themes/mediawiki/images/textures/transparency.png differ
index e52955f..2517605 100644 (file)
        width: 5em;
 }
 
+.mw-apisandbox-help-field {
+       border-bottom: 1px solid rgba( 0, 0, 0, 0.1 );
+}
+
+.mw-apisandbox-help-field:last-child {
+       border-bottom: none;
+}
+
 .mw-apisandbox-optionalWidget {
        width: 100%;
 }
index 10664fa..a2d106d 100644 (file)
 
                        // I'm surprised this doesn't seem to exist in jQuery or mw.util.
                        params = {};
-                       hash = hash.replace( '+', '%20' );
+                       hash = hash.replace( /\+/g, '%20' );
                        re = /([^&=#]+)=?([^&#]*)/g;
                        while ( ( m = re.exec( hash ) ) ) {
                                params[ decodeURIComponent( m[ 1 ] ) ] = decodeURIComponent( m[ 2 ] );
                 * Submit button handler
                 */
                sendRequest: function () {
-                       var page, subpages, i, query, $result,
+                       var page, subpages, i, query, $result, $focus,
                                progress, $progressText, progressLoading,
                                deferreds = [],
                                params = {},
                                displayParams = {},
                                checkPages = [ pages.main ];
 
+                       // Blur any focused widget before submit, because
+                       // OO.ui.ButtonWidget doesn't take focus itself (T128054)
+                       $focus = $( '#mw-apisandbox-ui' ).find( document.activeElement );
+                       if ( $focus.length ) {
+                               $focus[ 0 ].blur();
+                       }
+
                        suppressErrors = false;
 
                        while ( checkPages.length ) {
                                                                classes: [ 'mw-apisandbox-spacer' ]
                                                        } ), {
                                                                align: 'inline',
+                                                               classes: [ 'mw-apisandbox-help-field' ],
                                                                label: dl
                                                        }
                                                );
                                                        widget,
                                                        {
                                                                align: 'left',
+                                                               classes: [ 'mw-apisandbox-widget-field' ],
                                                                label: prefix + pi.parameters[ i ].name,
                                                                $label: $widgetLabel
                                                        }
index 4ffaeee..71febe3 100644 (file)
        font-size: 1em;
        // Container layout
        display: inline-block;
+       min-width: 4em;
+       max-width: 28.75em; // equivalent to 460px, @see T95367
        padding: .5em 1em;
        margin: 0;
+       border-radius: @borderRadius;
        .box-sizing( border-box );
 
        // Disable weird iOS styling
        *display: inline;
        zoom: 1;
 
-       // Container styling
-       .button-colors( #fff, #ccc, #777 );
-       border-radius: @borderRadius;
-       min-width: 4em;
-
        // Ensure that buttons and inputs are nicely aligned when they have differing heights
        vertical-align: middle;
 
        // Content styling
+       .button-colors( #fff, @colorGray12, @colorGray7 );
        text-align: center;
        font-weight: bold;
 
        &.mw-ui-block {
                display: block;
                width: 100%;
+               margin-left: auto;
+               margin-right: auto;
        }
 
        // Progressive buttons
index 437ddec..981a2e9 100644 (file)
@@ -17,9 +17,9 @@
                };
 
        /**
-        * @private
         * Get nonce for iframe IDs on the page.
         *
+        * @private
         * @return {number}
         */
        function getNonce() {
@@ -27,9 +27,9 @@
        }
 
        /**
-        * @private
         * Given a non-empty object, return one of its keys.
         *
+        * @private
         * @param {Object} obj
         * @return {string}
         */
@@ -42,9 +42,9 @@
        }
 
        /**
-        * @private
         * Get new iframe object for an upload.
         *
+        * @private
         * @return {HTMLIframeElement}
         */
        function getNewIframe( id ) {
@@ -55,9 +55,9 @@
        }
 
        /**
-        * @private
         * Shortcut for getting hidden inputs
         *
+        * @private
         * @return {jQuery}
         */
        function getHiddenInput( name, val ) {
index 0fcd22c..782501a 100644 (file)
 
                // The function used to render the suggestions.
                function renderFunction( text, context ) {
-                       var formData = getFormData( context );
+                       var formData = getFormData( context ),
+                               textboxConfig = context.data.$textbox.data( 'mw-searchsuggest' ) || {};
 
                        // linkParams object is modified and reused
                        formData.linkParams[ formData.textParam ] = text;
 
-                       // this is the container <div>, jQueryfied
-                       this.text( text )
-                               .wrap(
+                       // this is the container <div>, jQueryfield
+                       this.text( text );
+
+                       // wrap only as link, if the config doesn't disallow it
+                       if ( textboxConfig.wrapAsLink !== false ) {
+                               this.wrap(
                                        $( '<a>' )
                                                .attr( 'href', formData.baseHref + $.param( formData.linkParams ) )
                                                .attr( 'title', text )
                                                .addClass( 'mw-searchSuggest-link' )
                                );
+                       }
                }
 
                // The function used when the user makes a selection
index fa774c7..c42ff30 100644 (file)
@@ -168,15 +168,16 @@ class ParserTest {
                        $wgUser, $wgLang, $wgOut, $wgRequest, $wgStyleDirectory,
                        $wgExtraNamespaces, $wgNamespaceAliases, $wgNamespaceProtection, $wgLocalFileRepo,
                        $wgExtraInterlanguageLinkPrefixes, $wgLocalInterwikis,
-                       $parserMemc, $wgThumbnailScriptPath, $wgScriptPath,
+                       $parserMemc, $wgThumbnailScriptPath, $wgScriptPath, $wgResourceBasePath,
                        $wgArticlePath, $wgScript, $wgStylePath, $wgExtensionAssetsPath,
                        $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType, $wgLockManagers;
 
+               $wgScriptPath = '';
                $wgScript = '/index.php';
-               $wgScriptPath = '/';
-               $wgArticlePath = '/wiki/$1';
                $wgStylePath = '/skins';
+               $wgResourceBasePath = '';
                $wgExtensionAssetsPath = '/extensions';
+               $wgArticlePath = '/wiki/$1';
                $wgThumbnailScriptPath = false;
                $wgLockManagers = [ [
                        'name' => 'fsLockManager',
@@ -828,7 +829,7 @@ class ParserTest {
                        'wgServer' => 'http://example.org',
                        'wgServerName' => 'example.org',
                        'wgScript' => '/index.php',
-                       'wgScriptPath' => '/',
+                       'wgScriptPath' => '',
                        'wgArticlePath' => '/wiki/$1',
                        'wgActionPaths' => [],
                        'wgLockManagers' => [ [
index 9ad7bd5..d01ebdf 100644 (file)
@@ -2534,7 +2534,7 @@ parsoid=wt2html
 <table><pre></pre></table>
 
 !! html/parsoid
-<pre about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"a":{"&lt;pre":null},"sa":{"&lt;pre":""},"stx":"html","pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;pre &lt;pre>x&lt;/pre>"}},"i":0}}]}'>x</pre>
+<pre about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"a":{"&lt;pre":null},"sa":{"&lt;pre":""},"stx":"html","pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;pre &lt;pre>x&lt;/pre>"}},"i":0}}]}'>x</pre>
 
 
 <p>&lt;pre </p>
@@ -2728,9 +2728,9 @@ Templates: Handle comments in parameter names (bug 67657)
 <!-- should be ignored -->
 1 = foo}}
 
-{{echo|1<!-- should be ignored --> = foo}}
+{{echo|1<!-- should be ignored -->=foo}}
 
-{{echo|<!-- should be ignored -->1 = foo}}
+{{echo|<!-- should be ignored -->1=foo}}
 !!html/parsoid
 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo","key":{"wt":"1\n&lt;!-- should be ignored -->"}}},"i":0}}]}'>foo</p>
 
@@ -2872,7 +2872,7 @@ Templates: Preserve blank parameter names in other positions
 !! html/php+tidy
 <p>bar foo</p>
 !! html/parsoid
-<p about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]},{"k":"","named":true,"spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"blank_param","href":"./Template:Blank_param"},"params":{"1":{"wt":"bar"},"":{"wt":"foo"}},"i":0}}]}'>bar
+<p about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1"},{"k":"","named":true}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"blank_param","href":"./Template:Blank_param"},"params":{"1":{"wt":"bar"},"":{"wt":"foo"}},"i":0}}]}'>bar
 foo</p>
 !! end
 
@@ -4374,8 +4374,8 @@ Definition Lists: colons occurring in tags
 <dt><div data-parsoid='{"stx":"html"}'>a:b</div></dt>
 <dt><div data-parsoid='{"stx":"html","autoInsertedEnd":true}'>a</div></dt>
 <dd>b</dd>
-<dt><span about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a:b"}},"i":0}}]}'>a:b</span></dt>
-<dt><i about="#mwt2" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&#39;&#39;a:b&#39;&#39;"}},"i":0}}]}'>a:b</i>
+<dt><span about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a:b"}},"i":0}}]}'>a:b</span></dt>
+<dt><i about="#mwt2" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&#39;&#39;a:b&#39;&#39;"}},"i":0}}]}'>a:b</i>
 <dl><dt><dl><dt><i>a:b</i></dt></dl></dt></dl></dt></dl>
 !! end
 
@@ -5629,7 +5629,7 @@ Parenthesis in external links, w/ transclusion or comment
 </p><p>(<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>)
 </p>
 !! html/parsoid
-<p>(<a typeof="mw:ExpandedAttrs" about="#mwt2" rel="mw:ExtLink" href="http://example.com/hi" data-parsoid='{"stx":"url","a":{"href":"http://example.com/hi"},"sa":{"href":"http://example.com/{{echo|hi}}"}}' data-mw='{"attribs":[[{"txt":"href"},{"html":"http://example.com/&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[20,31,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;hi&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">hi&lt;/span>"}]]}'>http://example.com/hi</a>)</p>
+<p>(<a typeof="mw:ExpandedAttrs" about="#mwt2" rel="mw:ExtLink" href="http://example.com/hi" data-parsoid='{"stx":"url","a":{"href":"http://example.com/hi"},"sa":{"href":"http://example.com/{{echo|hi}}"}}' data-mw='{"attribs":[[{"txt":"href"},{"html":"http://example.com/&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;}]],&amp;quot;dsr&amp;quot;:[20,31,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;hi&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">hi&lt;/span>"}]]}'>http://example.com/hi</a>)</p>
 
 <p>(<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url","a":{"href":"http://example.com"},"sa":{"href":"http://example.com&lt;!-- hi -->"}}'>http://example.com</a>)</p>
 !! end
@@ -6085,7 +6085,7 @@ Accept "!!" in templates
 
 !! html/parsoid
 <table>
-<tbody><tr><th typeof="mw:Transclusion" about="#mwt1" data-parsoid='{"autoInsertedEnd":true,"pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":["!a ",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b!!c"}},"i":0}}]}'>a b</th><th about="#mwt1">c</th></tr>
+<tbody><tr><th typeof="mw:Transclusion" about="#mwt1" data-parsoid='{"autoInsertedEnd":true,"pi":[[{"k":"1"}]]}' data-mw='{"parts":["!a ",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b!!c"}},"i":0}}]}'>a b</th><th about="#mwt1">c</th></tr>
 !! end
 
 !! test
@@ -6370,6 +6370,19 @@ parsoid=wt2html
 </tbody></table>
 !! end
 
+!! test
+Break on | in element attribute in template
+!! options
+parsoid=wt2html,html2html
+!! wikitext
+{{echo|1=<div class="hi|ho">ha</div>}}
+!! html/php
+<p>ho"&gt;ha&lt;/div&gt;
+</p>
+!! html/parsoid
+<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"ho\">ha&lt;/div>"}},"i":0}}]}'>ho">ha</span>
+!! end
+
 !! test
 Indented table markup mixed with indented pre content (proposed in bug 6200)
 !! wikitext
@@ -7800,7 +7813,7 @@ parsoid
 !! wikitext
 {{echo|Some [[Fool]]}}s
 !! html
-<p><span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"Some [[Fool]]"}},"i":0}},"s"]}' data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}'>Some </span><a rel="mw:WikiLink" href="./Fool" title="Fool" about="#mwt1" data-parsoid='{"stx":"simple","a":{"href":"./Fool"},"sa":{"href":"Fool"},"tail":"s"}'>Fools</a></p>
+<p><span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"Some [[Fool]]"}},"i":0}},"s"]}' data-parsoid='{"pi":[[{"k":"1"}]]}'>Some </span><a rel="mw:WikiLink" href="./Fool" title="Fool" about="#mwt1" data-parsoid='{"stx":"simple","a":{"href":"./Fool"},"sa":{"href":"Fool"},"tail":"s"}'>Fools</a></p>
 !! end
 
 !! test
@@ -7810,7 +7823,7 @@ parsoid
 !! wikitext
 {{echo|Some [[Fool]]s are '''bold and foolish'''}}
 !! html
-<p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"Some [[Fool]]s are &#39;&#39;&#39;bold and foolish&#39;&#39;&#39;"}},"i":0}}]}' data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}'>Some <a rel="mw:WikiLink" href="./Fool" title="Fool" data-parsoid='{"stx":"simple","a":{"href":"./Fool"},"sa":{"href":"Fool"},"tail":"s"}'>Fools</a> are <b>bold and foolish</b></p>
+<p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"Some [[Fool]]s are &#39;&#39;&#39;bold and foolish&#39;&#39;&#39;"}},"i":0}}]}' data-parsoid='{"pi":[[{"k":"1"}]]}'>Some <a rel="mw:WikiLink" href="./Fool" title="Fool" data-parsoid='{"stx":"simple","a":{"href":"./Fool"},"sa":{"href":"Fool"},"tail":"s"}'>Fools</a> are <b>bold and foolish</b></p>
 !! end
 
 !! article
@@ -8399,7 +8412,7 @@ Blah blah blah
 !! wikitext
 #REDIRECT [[{{echo|Foo}}bar]]
 !! html/parsoid
-<link typeof="mw:ExpandedAttrs" rel="mw:PageProp/redirect" href="./Foobar" data-mw='{"attribs":[[{"txt":"href"},{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[12,24,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;Foo&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">Foo&lt;/span>bar"}]]}'/>
+<link typeof="mw:ExpandedAttrs" rel="mw:PageProp/redirect" href="./Foobar" data-mw='{"attribs":[[{"txt":"href"},{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;}]],&amp;quot;dsr&amp;quot;:[12,24,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;Foo&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">Foo&lt;/span>bar"}]]}'/>
 !! end
 
 !! test
@@ -8836,7 +8849,7 @@ Mixed list
 
 !! html/parsoid
 <dl><dt> hi</dt>
-<dd> <li about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"stx":"html","pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;li>ho&lt;/li>"}},"i":0}}]}'>ho</li></dd></dl>
+<dd> <li about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"stx":"html","pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;li>ho&lt;/li>"}},"i":0}}]}'>ho</li></dd></dl>
 !! end
 
 !! test
@@ -9804,8 +9817,7 @@ Magic Word: {{SCRIPTPATH}}
 !! wikitext
 {{SCRIPTPATH}}
 !! html
-<p>/
-</p>
+
 !! end
 
 !! test
@@ -10440,7 +10452,7 @@ Template with complex template as argument
 !! test
 Template with thumb image (with link in description)
 !! wikitext
-{{paramtest|param =[[Image:noimage.png|thumb|[[no link|link]] [[no link|caption]]]]}}
+{{paramtest|param=[[Image:noimage.png|thumb|[[no link|link]] [[no link|caption]]]]}}
 !! html/php
 This is a test template with parameter <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=Special:Upload&amp;wpDestFile=Noimage.png" class="new" title="File:Noimage.png">File:Noimage.png</a>  <div class="thumbcaption"><a href="/index.php?title=No_link&amp;action=edit&amp;redlink=1" class="new" title="No link (page does not exist)">link</a> <a href="/index.php?title=No_link&amp;action=edit&amp;redlink=1" class="new" title="No link (page does not exist)">caption</a></div></div></div>
 
@@ -10523,7 +10535,7 @@ Don't abort table cell attribute parsing if wikilink is found in template arg
 |}
 !! html/parsoid
 <table>
-<tbody><tr><td> Test <ref about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"#tag:ref","function":"#tag"},"params":{"1":{"wt":"One two \"[[three]]\" four"}},"i":0}}]}'>One two "<a rel="mw:WikiLink" href="./Three" title="Three">three</a>" four</ref></td></tr>
+<tbody><tr><td> Test <ref about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"#tag:ref","function":"#tag"},"params":{"1":{"wt":"One two \"[[three]]\" four"}},"i":0}}]}'>One two "<a rel="mw:WikiLink" href="./Three" title="Three">three</a>" four</ref></td></tr>
 </tbody></table>
 !! end
 
@@ -10738,7 +10750,7 @@ Templates with intersecting and overlapping ranges
 </tr>
 </table>
 !! html/parsoid
-<p about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[{"k":"1","spc":["","","",""]}],[{"k":"1","spc":["","","",""]}],[{"k":"1","spc":["","","",""]}]],"firstWikitextNode":"table"}' data-mw='{"parts":["{|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"\n&lt;p>ha&lt;/p>"}},"i":0}},"\n","{|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"\n&lt;p>ho&lt;/p>"}},"i":1}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"{{!}}hi"}},"i":2}},"\n|}"]}'>ha</p><table about="#mwt1" typeof="mw:ExpandedAttrs" data-mw='{"attribs":[[{"txt":"","html":""},{"html":""}]]}'>
+<p about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[{"k":"1"}],[{"k":"1"}],[{"k":"1"}]],"firstWikitextNode":"table"}' data-mw='{"parts":["{|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"\n&lt;p>ha&lt;/p>"}},"i":0}},"\n","{|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"\n&lt;p>ho&lt;/p>"}},"i":1}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"{{!}}hi"}},"i":2}},"\n|}"]}'>ha</p><table about="#mwt1" typeof="mw:ExpandedAttrs" data-mw='{"attribs":[[{"txt":"","html":""},{"html":""}]]}'>
 
 </table><p about="#mwt1">ho</p><table about="#mwt1" typeof="mw:ExpandedAttrs" data-mw='{"attribs":[[{"txt":"","html":""},{"html":""}]]}'>
 
@@ -10968,7 +10980,9 @@ section=1
 Un-closed <includeonly>
 !! wikitext
 <includeonly>
-!! html
+!! html/php
+!! html/parsoid
+<meta typeof="mw:Includes/IncludeOnly" data-parsoid='{"src":"&lt;includeonly>"}'/>
 !! end
 
 ## We used to, but no longer wt2wt this test since the default serializer
@@ -11027,13 +11041,13 @@ c}}d
 
 b}}
 !! html
-<p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":["a",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b&lt;table>&lt;/table>c"}},"i":0}},"d"]}' data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}'>ab</p><table about="#mwt1" data-parsoid='{"stx":"html"}'></table><p about="#mwt1">cd</p>
+<p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":["a",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b&lt;table>&lt;/table>c"}},"i":0}},"d"]}' data-parsoid='{"pi":[[{"k":"1"}]]}'>ab</p><table about="#mwt1" data-parsoid='{"stx":"html"}'></table><p about="#mwt1">cd</p>
 
-<p about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":["a",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b\n&lt;table>&lt;/table>\nc"}},"i":0}},"d"]}' data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}'>ab</p><span about="#mwt2">
+<p about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":["a",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b\n&lt;table>&lt;/table>\nc"}},"i":0}},"d"]}' data-parsoid='{"pi":[[{"k":"1"}]]}'>ab</p><span about="#mwt2">
 </span><table about="#mwt2" data-parsoid='{"stx":"html"}'></table><span about="#mwt2">
 </span><p about="#mwt2">cd</p>
 
-<p about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\n\n&lt;table>&lt;/table>\n\nb"}},"i":0}}]}' data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}'>a</p><span about="#mwt3">
+<p about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\n\n&lt;table>&lt;/table>\n\nb"}},"i":0}}]}' data-parsoid='{"pi":[[{"k":"1"}]]}'>a</p><span about="#mwt3">
 
 </span><table about="#mwt3" data-parsoid='{"stx":"html"}'></table><span about="#mwt3">
 
@@ -11533,7 +11547,7 @@ Templates: Support for templates generating attributes and content
 <div style="background:#f9f9f9;">foo</div>
 
 !! html/parsoid
-<div style="background:#f9f9f9;" about="#mwt3" typeof="mw:ExpandedAttrs" data-parsoid='{"stx":"html"}' data-mw='{"attribs":[[{"txt":"style","html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[5,49,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;style{{=}}\\&amp;quot;background:&amp;amp;#35;f9f9f9;\\&amp;quot;&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">style&lt;/span>&lt;span typeof=\"mw:Nowiki\" about=\"#mwt1\" data-parsoid=\"{}\">=&lt;/span>&lt;span about=\"#mwt1\" data-parsoid=\"{}\">\"background:&lt;/span>&lt;span typeof=\"mw:Entity\" about=\"#mwt1\" data-parsoid=\"{&amp;quot;src&amp;quot;:&amp;quot;&amp;amp;#35;&amp;quot;,&amp;quot;srcContent&amp;quot;:&amp;quot;#&amp;quot;}\">#&lt;/span>&lt;span about=\"#mwt1\" data-parsoid=\"{}\">f9f9f9;\"&lt;/span>"},{"html":""}]]}'>foo</div>
+<div style="background:#f9f9f9;" about="#mwt3" typeof="mw:ExpandedAttrs" data-parsoid='{"stx":"html"}' data-mw='{"attribs":[[{"txt":"style","html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;}]],&amp;quot;dsr&amp;quot;:[5,49,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;style{{=}}\\&amp;quot;background:&amp;amp;#35;f9f9f9;\\&amp;quot;&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">style&lt;/span>&lt;span typeof=\"mw:Nowiki\" about=\"#mwt1\" data-parsoid=\"{}\">=&lt;/span>&lt;span about=\"#mwt1\" data-parsoid=\"{}\">\"background:&lt;/span>&lt;span typeof=\"mw:Entity\" about=\"#mwt1\" data-parsoid=\"{&amp;quot;src&amp;quot;:&amp;quot;&amp;amp;#35;&amp;quot;,&amp;quot;srcContent&amp;quot;:&amp;quot;#&amp;quot;}\">#&lt;/span>&lt;span about=\"#mwt1\" data-parsoid=\"{}\">f9f9f9;\"&lt;/span>"},{"html":""}]]}'>foo</div>
 !! end
 
 !! test
@@ -12012,7 +12026,7 @@ Templates: Ugly templates: 5. Template encapsulation test: Non-trivial overlap o
 {{echo|<div>foo}}
 {{echo|</table>}}
 !! html/parsoid
-<div about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;table>"}},"i":0}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;div>foo"}},"i":1}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;/table>"}},"i":2}}]}' data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[{"k":"1","spc":["","","",""]}],[{"k":"1","spc":["","","",""]}],[{"k":"1","spc":["","","",""]}]]}'>foo
+<div about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;table>"}},"i":0}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;div>foo"}},"i":1}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;/table>"}},"i":2}}]}' data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[{"k":"1"}],[{"k":"1"}],[{"k":"1"}]]}'>foo
 </div><table about="#mwt1" data-parsoid='{"stx":"html"}'>
 </table>
 !! end
@@ -12026,7 +12040,7 @@ Templates: Ugly templates: 6. Template encapsulation test: Cyclical nesting of t
 {{echo|<div>}}
 {{echo|</div>}}
 !! html/parsoid
-<table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;table>&lt;tr>&lt;td>&lt;table>"}},"i":0}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;div>"}},"i":1}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;/div>"}},"i":2}}]}' data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[{"k":"1","spc":["","","",""]}],[{"k":"1","spc":["","","",""]}],[{"k":"1","spc":["","","",""]}]]}'><tbody><tr data-parsoid='{"stx":"html"}'><td data-parsoid='{"stx":"html"}'><div data-parsoid='{"stx":"html"}'>
+<table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;table>&lt;tr>&lt;td>&lt;table>"}},"i":0}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;div>"}},"i":1}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;/div>"}},"i":2}}]}' data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[{"k":"1"}],[{"k":"1"}],[{"k":"1"}]]}'><tbody><tr data-parsoid='{"stx":"html"}'><td data-parsoid='{"stx":"html"}'><div data-parsoid='{"stx":"html"}'>
 </div><table about="#mwt1" data-parsoid='{"stx":"html"}'>
 </table></td></tr></tbody></table>
 !! end
@@ -12892,7 +12906,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:139px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" width="137" height="16" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/206px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/274px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is a caption</div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt2" data-mw='{"attribs":[["thumbnail",{"html":"thumb"}],["width",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[24,38,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">137px&lt;/span>"}]]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
+<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt2" data-mw='{"attribs":[["thumbnail",{"html":"thumb"}],["width",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;}]],&amp;quot;dsr&amp;quot;:[24,38,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">137px&lt;/span>"}]]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
 !! end
 
 !! test
@@ -12903,7 +12917,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:139px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" width="137" height="16" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/206px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/274px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is a caption</div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt3" data-mw='{"attribs":[["thumbnail",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[18,32,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;thumb&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">thumb&lt;/span>"}],["width",{"html":"&lt;span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[33,47,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">137px&lt;/span>"}]]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
+<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt3" data-mw='{"attribs":[["thumbnail",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;}]],&amp;quot;dsr&amp;quot;:[18,32,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;thumb&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">thumb&lt;/span>"}],["width",{"html":"&lt;span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;}]],&amp;quot;dsr&amp;quot;:[33,47,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">137px&lt;/span>"}]]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
 !! end
 
 !! test
@@ -12914,7 +12928,7 @@ parsoid=wt2html,wt2wt,html2html
 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" width="50" height="6" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/75px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/100px-Foobar.jpg 2x" /></a>
 </p>
 !! html/parsoid
-<p><span typeof="mw:Image mw:ExpandedAttrs" about="#mwt2" data-parsoid='{"optList":[{"ck":"width","ak":"{{echo|50px}}"}]}' data-mw='{"attribs":[["width",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[18,31,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;50px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">50px&lt;/span>"}]]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></span></p>
+<p><span typeof="mw:Image mw:ExpandedAttrs" about="#mwt2" data-parsoid='{"optList":[{"ck":"width","ak":"{{echo|50px}}"}]}' data-mw='{"attribs":[["width",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;}]],&amp;quot;dsr&amp;quot;:[18,31,null,null]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;50px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">50px&lt;/span>"}]]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="6" width="50"/></a></span></p>
 !! end
 
 ## Parsoid does not provide editing support for images where templates produce multiple image attributes.
@@ -13296,7 +13310,7 @@ Alt image option should handle most kinds of wikitext without barfing
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="This is a link and a bold template." src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is the image caption</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt2" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"This is the image caption"},{"ck":"alt","ak":"alt=This is a [[link]] and a {{echo|&#39;&#39;bold template&#39;&#39;}}."}]}' data-mw='{"attribs":[["thumbnail",{"html":"thumb"}],["alt",{"html":"alt=This is a &lt;a rel=\"mw:WikiLink\" href=\"./Link\" title=\"Link\" data-parsoid=\"{&amp;quot;stx&amp;quot;:&amp;quot;simple&amp;quot;,&amp;quot;a&amp;quot;:{&amp;quot;href&amp;quot;:&amp;quot;./Link&amp;quot;},&amp;quot;sa&amp;quot;:{&amp;quot;href&amp;quot;:&amp;quot;link&amp;quot;},&amp;quot;dsr&amp;quot;:[65,73,2,2]}\">link&lt;/a> and a &lt;i about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;dsr&amp;quot;:[80,106,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;&#39;&#39;bold template&#39;&#39;&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">bold template&lt;/i>."}]]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img alt="This is a link and a bold template." resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220" data-parsoid='{"a":{"alt":"This is a link and a bold template.","resource":"./File:Foobar.jpg","height":"25","width":"220"},"sa":{"alt":"alt=This is a [[link]] and a {{echo|&#39;&#39;bold template&#39;&#39;}}.","resource":"Image:Foobar.jpg"}}'/></a><figcaption>This is the image caption</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt2" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"This is the image caption"},{"ck":"alt","ak":"alt=This is a [[link]] and a {{echo|&#39;&#39;bold template&#39;&#39;}}."}]}' data-mw='{"attribs":[["thumbnail",{"html":"thumb"}],["alt",{"html":"alt=This is a &lt;a rel=\"mw:WikiLink\" href=\"./Link\" title=\"Link\" data-parsoid=\"{&amp;quot;stx&amp;quot;:&amp;quot;simple&amp;quot;,&amp;quot;a&amp;quot;:{&amp;quot;href&amp;quot;:&amp;quot;./Link&amp;quot;},&amp;quot;sa&amp;quot;:{&amp;quot;href&amp;quot;:&amp;quot;link&amp;quot;},&amp;quot;dsr&amp;quot;:[65,73,2,2]}\">link&lt;/a> and a &lt;i about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&amp;quot;dsr&amp;quot;:[80,106,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;}]]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;&#39;&#39;bold template&#39;&#39;&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">bold template&lt;/i>."}]]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img alt="This is a link and a bold template." resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220" data-parsoid='{"a":{"alt":"This is a link and a bold template.","resource":"./File:Foobar.jpg","height":"25","width":"220"},"sa":{"alt":"alt=This is a [[link]] and a {{echo|&#39;&#39;bold template&#39;&#39;}}.","resource":"Image:Foobar.jpg"}}'/></a><figcaption>This is the image caption</figcaption></figure>
 !! end
 
 ###################
@@ -14129,7 +14143,7 @@ T93580: 3. Templated <ref> inside inline images
 
 <references />
 !! html/parsoid
-<p><span class="mw-default-size" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"caption","ak":"Undisplayed caption in inline image with ref: {{echo|&lt;ref>{{echo|foo}}&lt;/ref>}}"}]}' data-mw='{"caption":"Undisplayed caption in inline image with ref: &lt;span about=\"#mwt2\" class=\"mw-ref\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Transclusion  mw:Extension/ref\" data-parsoid=\"{&amp;quot;dsr&amp;quot;:[64,96,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;&lt;ref>{{echo|foo}}&lt;/ref>&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">&lt;a href=\"#cite_note-1\" style=\"counter-reset: mw-Ref 1;\">&lt;span class=\"mw-reflink-text\">[1]&lt;/span>&lt;/a>&lt;/span>&lt;meta typeof=\"mw:Transclusion mw:Extension/ref/Marker\" about=\"#mwt2\" data-parsoid=\"{&amp;quot;group&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;foo&amp;quot;,&amp;quot;hasRefInRef&amp;quot;:false,&amp;quot;dsr&amp;quot;:[64,96,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;tmp&amp;quot;:{}}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;&lt;ref>{{echo|foo}}&lt;/ref>&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">"}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"1941"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
+<p><span class="mw-default-size" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"caption","ak":"Undisplayed caption in inline image with ref: {{echo|&lt;ref>{{echo|foo}}&lt;/ref>}}"}]}' data-mw='{"caption":"Undisplayed caption in inline image with ref: &lt;span about=\"#mwt2\" class=\"mw-ref\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Transclusion  mw:Extension/ref\" data-parsoid=\"{&amp;quot;dsr&amp;quot;:[64,96,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;}]]}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;&lt;ref>{{echo|foo}}&lt;/ref>&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">&lt;a href=\"#cite_note-1\" style=\"counter-reset: mw-Ref 1;\">&lt;span class=\"mw-reflink-text\">[1]&lt;/span>&lt;/a>&lt;/span>&lt;meta typeof=\"mw:Transclusion mw:Extension/ref/Marker\" about=\"#mwt2\" data-parsoid=\"{&amp;quot;group&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;foo&amp;quot;,&amp;quot;hasRefInRef&amp;quot;:false,&amp;quot;dsr&amp;quot;:[64,96,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;}]],&amp;quot;tmp&amp;quot;:{}}\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;&lt;ref>{{echo|foo}}&lt;/ref>&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\">"}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"1941"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
 
 <ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text" data-parsoid="{}">foo</span></li></ol>
 !! end
@@ -14622,7 +14636,7 @@ parsoid=wt2html
 * {{echo|a
 [[Category:Foo]]}}
 !! html/parsoid
-<ul><li> <span about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\n[[Category:Foo]]"}},"i":0}}]}'>a
+<ul><li> <span about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\n[[Category:Foo]]"}},"i":0}}]}'>a
 </span><link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"}}'/></li></ul>
 !! end
 
@@ -14637,7 +14651,7 @@ parsoid=wt2html
 !! html/parsoid
 <ul><li> a</li></ul>
 
-<link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"},"pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Category:Foo]]\n[[Category:Bar]]"}},"i":0}}]}'/><span about="#mwt1">
+<link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"},"pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Category:Foo]]\n[[Category:Bar]]"}},"i":0}}]}'/><span about="#mwt1">
 </span><link rel="mw:PageProp/Category" href="./Category:Bar" about="#mwt1" data-parsoid='{"stx":"simple","a":{"href":"./Category:Bar"},"sa":{"href":"Category:Bar"}}'/>
 <link rel="mw:PageProp/Category" href="./Category:Baz" data-parsoid='{"stx":"simple","a":{"href":"./Category:Baz"},"sa":{"href":"Category:Baz"}}'/>
 !! end
@@ -22031,8 +22045,11 @@ B <span about="#mwt4" class="mw-ref" id="cite_ref-2" rel="dc:references" typeof=
 </ol>
 !!end
 
-!!test
+## Don't expect this to rt since we're dropping content
+!! test
 References: 5. ref tags in references should be processed while ignoring all other content
+!! options
+parsoid=wt2html,html2html
 !! wikitext
 A <ref name="a" />
 B <ref name="b">bar</ref>
@@ -22046,18 +22063,18 @@ This should just get lost.
 B <span about="#mwt4" class="mw-ref" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-b-2"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2"><span class="mw-reflink-text">[2]</span></a></span></p>
 
 
-<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","body":{"extsrc":"&lt;ref name=\"a\">foo&lt;/ref>\nThis should just get lost.","html":"\n&lt;span about=\"#mwt8\" class=\"mw-ref\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[59,82,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-a-1\"},\"attrs\":{\"name\":\"a\"}}&#39;>&lt;a href=\"#cite_note-a-1\" style=\"counter-reset: mw-Ref 1;\">&lt;span class=\"mw-reflink-text\">[1]&lt;/span>&lt;/a>&lt;/span>\n"},"attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><a href="#cite_ref-a_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><a href="#cite_ref-b_2-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{},"body":{"html":"\n&lt;span about=\"#mwt8\" class=\"mw-ref\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[59,82,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-a-1\"},\"attrs\":{\"name\":\"a\"}}&#39;>&lt;a href=\"#cite_note-a-1\" style=\"counter-reset: mw-Ref 1;\">&lt;span class=\"mw-reflink-text\">[1]&lt;/span>&lt;/a>&lt;/span>\n"}}'><li about="#cite_note-a-1" id="cite_note-a-1"><a href="#cite_ref-a_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><a href="#cite_ref-b_2-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
 </ol>
-!!end
+!! end
 
-!!test
+!! test
 References: 6. <references /> from a transclusion
 !! wikitext
 <ref>Foo</ref> {{echo|<references />}}
 !! html/parsoid
 <p><span about="#mwt3" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span></p> <ol class="mw-references" typeof="mw:Extension/references mw:Transclusion" about="#mwt4" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;references />"}},"i":0}}]}'><li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Foo</span></li>
 </ol>
-!!end
+!! end
 
 !! test
 References: 7. Multiple references tags (one without and one with nested refs) should be correctly handled
@@ -22079,7 +22096,7 @@ B <span about="#mwt4" class="mw-ref" id="cite_ref-b_2-0" rel="dc:references" typ
 <li about="#cite_note-1" id="cite_note-1"><a href="#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo bar for a</span></li>
 </ol>
 
-<ol class="mw-references" typeof="mw:Extension/references" about="#mwt8" data-mw-group="X" data-mw='{"name":"references","body":{"extsrc":"&lt;ref name=\"b\">foo&lt;/ref>","html":"\n&lt;span about=\"#mwt10\" class=\"mw-ref\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[96,119,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-b-2\"},\"attrs\":{\"name\":\"b\"}}&#39;>&lt;a href=\"#cite_note-b-2\" style=\"counter-reset: mw-Ref 1;\" data-mw-group=\"X\">&lt;span class=\"mw-reflink-text\">[X 1]&lt;/span>&lt;/a>&lt;/span>\n"},"attrs":{"group":"X"}}'>
+<ol class="mw-references" typeof="mw:Extension/references" about="#mwt8" data-mw-group="X" data-mw='{"name":"references","attrs":{"group":"X"},"body":{"html":"\n&lt;span about=\"#mwt10\" class=\"mw-ref\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[96,119,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-b-2\"},\"attrs\":{\"name\":\"b\"}}&#39;>&lt;a href=\"#cite_note-b-2\" style=\"counter-reset: mw-Ref 1;\" data-mw-group=\"X\">&lt;span class=\"mw-reflink-text\">[X 1]&lt;/span>&lt;/a>&lt;/span>\n"}}'>
 <li about="#cite_note-b-2" id="cite_note-b-2"><a href="#cite_ref-b_2-0" data-mw-group="X" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">foo</span></li>
 </ol>
 !! end
@@ -22352,7 +22369,7 @@ parsoid=html2wt
 !! html/parsoid
 <h1>=<b>bold</b>foo=</h1>
 !! wikitext
-= ='''bold'''<nowiki>foo=</nowiki> =
+= ='''bold'''foo= =
 !!end
 
 !! test
@@ -22556,35 +22573,52 @@ parsoid=html2wt
 <nowiki>;</nowiki>Foo<nowiki>:</nowiki>bar
 !!end
 
+## Making these next 3 tests Parsoid-only since they are html2wt tests
+## to test wikitext escaping, and insignificant whitespace diffs
+## cause PHP parser tests to barf
 !! test
-Lists: 1. Nested inside html
+Lists: 1. Nested inside html (No unnecessary escapes)
 !! options
 parsoid=html2wt
 !! html/parsoid
-<ul><li>*foo</li></ul>
-<ul><li>#foo</li></ul>
-<ul><li>:foo</li></ul>
-<ul><li>;foo</li></ul>
-<ol><li>*foo</li></ol>
-<ol><li>#foo</li></ol>
-<ol><li>:foo</li></ol>
-<ol><li>;foo</li></ol>
+<ul>
+<li>*foo</li>
+<li>#foo</li>
+<li>:foo</li>
+<li>;foo</li>
+<li data-parsoid='{}'>*foo</li>
+<li data-parsoid='{}'>#foo</li>
+<li data-parsoid='{}'>:foo</li>
+<li data-parsoid='{}'>;foo</li>
+</ul>
 
+<ol>
+<li>*foo</li>
+<li>#foo</li>
+<li>:foo</li>
+<li>;foo</li>
+<li data-parsoid='{}'>*foo</li>
+<li data-parsoid='{}'>#foo</li>
+<li data-parsoid='{}'>:foo</li>
+<li data-parsoid='{}'>;foo</li>
+</ol>
 !! wikitext
+* *foo
+* #foo
+* :foo
+* ;foo
 *<nowiki>*foo</nowiki>
-
 *<nowiki>#foo</nowiki>
-
 *<nowiki>:foo</nowiki>
-
 *<nowiki>;foo</nowiki>
 
+# *foo
+# #foo
+# :foo
+# ;foo
 #<nowiki>*foo</nowiki>
-
 #<nowiki>#foo</nowiki>
-
 #<nowiki>:foo</nowiki>
-
 #<nowiki>;foo</nowiki>
 !!end
 
@@ -22598,29 +22632,28 @@ parsoid=html2wt
 <dl><dt>:foo</dt>
 <dd>bar</dd></dl>
 <dl><dd>:foo</dd></dl>
-
 !! wikitext
-;<nowiki>;foo</nowiki>
+; ;foo
 
-;<nowiki>:foo</nowiki>
+; <nowiki>:foo</nowiki>
 
-;<nowiki>:foo</nowiki>
-:bar
+; <nowiki>:foo</nowiki>
+: bar
 
-:<nowiki>:foo</nowiki>
+: :foo
 !!end
 
 !! test
-Lists: 3. Only bullets at start of text should be escaped
+Lists: 3. Only bullets at start of text in wikitext-generated HTML should be escaped
 !! options
 parsoid=html2wt
 !! html/parsoid
-<ul><li>*foo*bar</li></ul>
-<ul><li>*foo<i>it</i>*bar</li></ul>
-
+<ul>
+<li>*foo*bar</li>
+<li data-parsoid='{}'>*foo<i>it</i>*bar</li>
+</ul>
 !! wikitext
-*<nowiki>*foo*bar</nowiki>
-
+* *foo*bar
 *<nowiki>*foo</nowiki>''it''*bar
 !!end
 
@@ -23208,6 +23241,8 @@ parsoid=html2wt
 <a rel="mw:ExtLink" href="http://google.com">google]</a></p>
 <p>[http://google.com]</p>
 <p>[http://google.com google]</p>
+<p>[<a rel="mw:ExtLink" href="http://google.com">http://google.com</a>]</p>
+<p>[<a rel="mw:ExtLink" href="http://google.com" about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"http://google.com"}},"i":0}}]}'>http://google.com</a>]</p>
 !! wikitext
 [http://google.com <nowiki>[google]</nowiki>]
 [http://google.com <nowiki>google]</nowiki>]
@@ -23216,11 +23251,16 @@ parsoid=html2wt
 
 <nowiki>[http://google.com google]</nowiki>
 
+[http://google.com<nowiki>]</nowiki>
+
+[{{echo|http://google.com}}<nowiki>]</nowiki>
 !! html/php
 <p><a rel="nofollow" class="external text" href="http://google.com">[google]</a>
 <a rel="nofollow" class="external text" href="http://google.com">google]</a>
 </p><p>[http://google.com]
 </p><p>[http://google.com google]
+</p><p>[<a rel="nofollow" class="external free" href="http://google.com">http://google.com</a>]
+</p><p>[<a rel="nofollow" class="external free" href="http://google.com">http://google.com</a>]
 </p>
 !! end
 
@@ -23230,10 +23270,14 @@ Links 5. ExtLinks: No escapes needed
 parsoid=html2wt
 !! html/parsoid
 <p><a rel="mw:ExtLink" href="http://google.com">[google</a></p>
+<p>[<a ref="mw:ExtLink" href="http://google.com"></a>]</p>
 !! wikitext
 [http://google.com [google]
+
+[[http://google.com]]
 !! html/php
 <p><a rel="nofollow" class="external text" href="http://google.com">[google</a>
+</p><p>[<a rel="nofollow" class="external autonumber" href="http://google.com">[1]</a>]
 </p>
 !! end
 
@@ -24530,13 +24574,13 @@ parsoid=wt2wt,wt2html
 !! wikitext
 <table>{{echo|hi</table>hello}}
 !! html/parsoid
-<p about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":["&lt;table>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"hi&lt;/table>hello"}},"i":0}}]}' data-parsoid='{"fostered":true,"autoInsertedEnd":true,"autoInsertedStart":true,"pi":[[{"k":"1","spc":["","","",""]}]]}'>hi</p><table about="#mwt2" data-parsoid='{"stx":"html"}'></table><p about="#mwt2">hello</p>
+<p about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":["&lt;table>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"hi&lt;/table>hello"}},"i":0}}]}' data-parsoid='{"fostered":true,"autoInsertedEnd":true,"autoInsertedStart":true,"pi":[[{"k":"1"}]]}'>hi</p><table about="#mwt2" data-parsoid='{"stx":"html"}'></table><p about="#mwt2">hello</p>
 !!end
 
 !!test
 Table in fosterable position
 !!options
-parsoid=wt2html,wt2wt
+parsoid=wt2html
 !! wikitext
 {{OpenTable}}
 <div>
@@ -24545,7 +24589,7 @@ parsoid=wt2html,wt2wt
 </div>
 |}
 !! html/parsoid
-<div about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"OpenTable","href":"./Template:OpenTable"},"params":{},"i":0}},"\n&lt;div>"]}' data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[]]}'></div><span about="#mwt1">
+<div about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"OpenTable","href":"./Template:OpenTable"},"params":{},"i":0}},"\n&lt;div>\n"]}' data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[]]}'></div><span about="#mwt1">
 </span>
 <table about="#mwt1" data-parsoid='{"autoInsertedEnd":true}'></table>
 
@@ -24563,7 +24607,7 @@ Properly encapsulate empty-content transclusions in fosterable positions
 }}
 </table>
 !! html/parsoid
-<table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":["&lt;table>\n",{"template":{"target":{"wt":"#if:","function":"#if"},"params":{"1":{"wt":"\n&lt;td>foo&lt;/td>\n"}},"i":0}},"\n&lt;/table>"]}' data-parsoid='{"stx":"html","pi":[[{"k":"1","spc":["","","",""]}]]}'>
+<table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":["&lt;table>\n",{"template":{"target":{"wt":"#if:","function":"#if"},"params":{"1":{"wt":"\n&lt;td>foo&lt;/td>\n"}},"i":0}},"\n&lt;/table>"]}' data-parsoid='{"stx":"html","pi":[[{"k":"1"}]]}'>
 
 </table>
 !! end
@@ -24581,6 +24625,30 @@ hello
 
 !! end
 
+!! test
+T115289: Unclosed table
+!! wikitext
+{{echo|<table>}}<!--c-->[[Category:Two]]
+!! html/parsoid
+<link rel="mw:PageProp/Category" href="./Category:Two" about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"stx":"simple","a":{"href":"./Category:Two"},"sa":{"href":"Category:Two"},"pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;table>"}},"i":0}},"&lt;!--c-->[[Category:Two]]"]}'/><table about="#mwt1" data-parsoid='{"stx":"html","autoInsertedEnd":true}'><!--c--></table>
+!! end
+
+!! test
+T115289: Don't migrate newlines out of tables with fostered content
+!! wikitext
+<table><td></td>{{echo|<tr>[[Category:One]]}}<!--c-->[[Category:Two]]
+!! html/parsoid
+<link rel="mw:PageProp/Category" href="./Category:One" about="#mwt2" typeof="mw:Transclusion" data-parsoid='{"stx":"simple","a":{"href":"./Category:One"},"sa":{"href":"Category:One"},"fostered":true,"pi":[[{"k":"1"}]]}' data-mw='{"parts":["&lt;table>&lt;td>&lt;/td>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;tr>[[Category:One]]"}},"i":0}},"&lt;!--c-->[[Category:Two]]"]}'/><link rel="mw:PageProp/Category" href="./Category:Two" about="#mwt2"/><table about="#mwt2" data-parsoid='{"stx":"html","autoInsertedEnd":true,"dsr":[0,53,7,0]}'><tbody><tr><td></td></tr><tr><!--c--></tr></tbody></table>
+!! end
+
+!! test
+T73074: More fostering fun
+!! wikitext
+<table><td></td>{{echo|<tr>}}<!--c-->[[Category:Two]]
+!! html/parsoid
+<link rel="mw:PageProp/Category" href="./Category:Two" data-parsoid='{"stx":"simple","a":{"href":"./Category:Two"},"sa":{"href":"Category:Two"},"fostered":true}'/><table data-parsoid='{"stx":"html","autoInsertedEnd":true}'><tbody><tr data-parsoid='{"autoInsertedEnd":true,"autoInsertedStart":true}'><td data-parsoid='{"stx":"html"}'></td></tr><tr about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;tr>"}},"i":0}},"&lt;!--c-->[[Category:Two]]"]}'><!--c--></tr></tbody></table>
+!! end
+
 !!test
 Support <object> element with .data attribute
 !!options
@@ -25149,11 +25217,11 @@ data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},
 
 <!--Orig params with data-parsoid has heuristics for handling = chars-->
 <!--FIXME: But maybe the heuristic needs fixing to apply to new params as well-->
-<p data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]},{"k":"2","spc":["","","",""]}]]}' about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"f=oo"},"2":{"wt":"bar"}},"i":0}}]}'>foo</p>
+<p data-parsoid='{"pi":[[{"k":"1"},{"k":"2"}]]}' about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"f=oo"},"2":{"wt":"bar"}},"i":0}}]}'>foo</p>
 !! wikitext
-{{echo|1 = f=oo}}
+{{echo|1=f=oo}}
 
-{{echo|1 = f=oo|2 = bar}}
+{{echo|1=f=oo|2=bar}}
 
 <!--Orig params with data-parsoid has heuristics for handling = chars-->
 <!--FIXME: But maybe the heuristic needs fixing to apply to new params as well-->
@@ -25167,7 +25235,7 @@ parsoid=html2wt
 !! html/parsoid
 <p><a rel="mw:ExtLink" href="http://stuff?is=ok" about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"http://stuff?is=ok"}},"i":0}}]}'>http://stuff?is=ok</a></p>
 !! wikitext
-{{echo|1 = http://stuff?is=ok}}
+{{echo|1=http://stuff?is=ok}}
 !! end
 
 !! test
@@ -25865,7 +25933,7 @@ Use data-parsoid.firstWikitextNode to compute newline constraints for template c
 !! options
 parsoid=html2wt
 !! html/parsoid
-<span about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a"}},"i":0}}]}'>a</span><table about="#mwt2" typeof="mw:Transclusion mw:ExpandedAttrs" data-parsoid='{"a":{"{{echo|c\n{{!}}d\n}}":null},"sa":{"{{echo|c\n{{!}}d\n}}":""},"firstWikitextNode":"table","pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":["{|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"c\n{{!}}d\n"}},"i":0}},"\n|}"]}'>
+<span about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a"}},"i":0}}]}'>a</span><table about="#mwt2" typeof="mw:Transclusion mw:ExpandedAttrs" data-parsoid='{"a":{"{{echo|c\n{{!}}d\n}}":null},"sa":{"{{echo|c\n{{!}}d\n}}":""},"firstWikitextNode":"table","pi":[[{"k":"1"}]]}' data-mw='{"parts":["{|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"c\n{{!}}d\n"}},"i":0}},"\n|}"]}'>
 <tbody><tr><td>d
 </td></tr>
 </tbody></table>
index 02c0123..7e6f68c 100644 (file)
@@ -24,9 +24,9 @@
  * @ingroup Testing
  */
 
-$otions = [ 'quick', 'color', 'quiet', 'help', 'show-output',
+$options = [ 'quick', 'color', 'quiet', 'help', 'show-output',
        'record', 'run-disabled', 'run-parsoid' ];
-$optionsWithArgs = [ 'regex', 'filter', 'seed', 'setversion' ];
+$optionsWithArgs = [ 'regex', 'filter', 'seed', 'setversion', 'file' ];
 
 require_once __DIR__ . '/../maintenance/commandLine.inc';
 require_once __DIR__ . '/TestsAutoLoader.php';
diff --git a/tests/phpunit/includes/WatchedItemStoreTest.php b/tests/phpunit/includes/WatchedItemStoreTest.php
new file mode 100644 (file)
index 0000000..fc132b0
--- /dev/null
@@ -0,0 +1,91 @@
+<?php
+
+/**
+ * @author Addshore
+ *
+ * @covers WatchedItemStore
+ */
+class WatchedItemStoreTest extends PHPUnit_Framework_TestCase {
+
+       /**
+        * @return PHPUnit_Framework_MockObject_MockObject|IDatabase
+        */
+       private function getMockDb() {
+               return $this->getMock( 'IDatabase' );
+       }
+
+       /**
+        * @return PHPUnit_Framework_MockObject_MockObject|LoadBalancer
+        */
+       private function getMockLoadBalancer( $mockDb ) {
+               $mock = $this->getMockBuilder( 'LoadBalancer' )
+                       ->disableOriginalConstructor()
+                       ->getMock();
+               $mock->expects( $this->any() )
+                       ->method( 'getConnection' )
+                       ->will( $this->returnValue( $mockDb ) );
+               return $mock;
+       }
+
+       private function getFakeRow( $userId, $timestamp ) {
+               $fakeRow = new stdClass();
+               $fakeRow->wl_user = $userId;
+               $fakeRow->wl_notificationtimestamp = $timestamp;
+               return $fakeRow;
+       }
+
+       public function testDuplicateEntry_nothingToDuplicate() {
+               $mockDb = $this->getMockDb();
+               $mockDb->expects( $this->exactly( 1 ) )
+                       ->method( 'select' )
+                       ->will( $this->returnValue( new FakeResultWrapper( [] ) ) );
+
+               $store = new WatchedItemStore( $this->getMockLoadBalancer( $mockDb ) );
+
+               $store->duplicateEntry(
+                       Title::newFromText( 'Old_Title' ),
+                       Title::newFromText( 'New_Title' )
+               );
+       }
+
+       public function testDuplicateEntry_somethingToDuplicate() {
+               $fakeRows = [
+                       $this->getFakeRow( 1, '20151212010101' ),
+                       $this->getFakeRow( 2, null ),
+               ];
+
+               $mockDb = $this->getMockDb();
+               $mockDb->expects( $this->at( 0 ) )
+                       ->method( 'select' )
+                       ->will( $this->returnValue( new FakeResultWrapper( $fakeRows ) ) );
+               $mockDb->expects( $this->at( 1 ) )
+                       ->method( 'replace' )
+                       ->with(
+                               'watchlist',
+                               [ [ 'wl_user', 'wl_namespace', 'wl_title' ] ],
+                               [
+                                       [
+                                               'wl_user' => 1,
+                                               'wl_namespace' => 0,
+                                               'wl_title' => 'New_Title',
+                                               'wl_notificationtimestamp' => '20151212010101',
+                                       ],
+                                       [
+                                               'wl_user' => 2,
+                                               'wl_namespace' => 0,
+                                               'wl_title' => 'New_Title',
+                                               'wl_notificationtimestamp' => null,
+                                       ],
+                               ],
+                               $this->isType( 'string' )
+                       );
+
+               $store = new WatchedItemStore( $this->getMockLoadBalancer( $mockDb ) );
+
+               $store->duplicateEntry(
+                       Title::newFromText( 'Old_Title' ),
+                       Title::newFromText( 'New_Title' )
+               );
+       }
+
+}
index faad97b..37a28c3 100644 (file)
@@ -26,7 +26,7 @@ use Psr\Log\LogLevel;
 class LegacyLoggerTest extends MediaWikiTestCase {
 
        /**
-        * @covers LegacyLogger::interpolate
+        * @covers MediaWiki\Logger\LegacyLogger::interpolate
         * @dataProvider provideInterpolate
         */
        public function testInterpolate( $message, $context, $expect ) {
@@ -125,7 +125,7 @@ class LegacyLoggerTest extends MediaWikiTestCase {
        }
 
        /**
-        * @covers LegacyLogger::shouldEmit
+        * @covers MediaWiki\Logger\LegacyLogger::shouldEmit
         * @dataProvider provideShouldEmit
         */
        public function testShouldEmit( $level, $config, $expected ) {
index 206362f..0ee7d26 100644 (file)
@@ -26,7 +26,7 @@ use TestingAccessWrapper;
 class MonologSpiTest extends MediaWikiTestCase {
 
        /**
-        * @covers MonologSpi::mergeConfig
+        * @covers MediaWiki\Logger\MonologSpi::mergeConfig
         */
        public function testMergeConfig() {
                $base = [
index be23c4a..f33cf7e 100644 (file)
@@ -36,7 +36,7 @@ class LineFormatterTest extends MediaWikiTestCase {
        }
 
        /**
-        * @covers LineFormatter::normalizeException
+        * @covers MediaWiki\Logger\Monolog\LineFormatter::normalizeException
         */
        public function testNormalizeExceptionNoTrace() {
                $fixture = new LineFormatter();
@@ -55,7 +55,7 @@ class LineFormatterTest extends MediaWikiTestCase {
        }
 
        /**
-        * @covers LineFormatter::normalizeException
+        * @covers MediaWiki\Logger\Monolog\LineFormatter::normalizeException
         */
        public function testNormalizeExceptionTrace() {
                $fixture = new LineFormatter();
index 4f47f32..95ffb70 100644 (file)
@@ -27,17 +27,17 @@ class SwiftFileBackendTest extends MediaWikiTestCase {
        }
 
        /**
-        * @dataProvider provider_testSanitzeHdrs
-        * @covers SwiftFileBackend::sanitzeHdrs
+        * @dataProvider provider_testSanitizeHdrs
+        * @covers SwiftFileBackend::sanitizeHdrs
         * @covers SwiftFileBackend::getCustomHeaders
         */
-       public function testSanitzeHdrs( $raw, $sanitized ) {
+       public function testSanitizeHdrs( $raw, $sanitized ) {
                $hdrs = $this->backend->sanitizeHdrs( [ 'headers' => $raw ] );
 
                $this->assertEquals( $hdrs, $sanitized, 'sanitizeHdrs() has expected result' );
        }
 
-       public static function provider_testSanitzeHdrs() {
+       public static function provider_testSanitizeHdrs() {
                return [
                        [
                                [
index a579f3a..9c189d1 100644 (file)
@@ -94,7 +94,7 @@ class ProcessCacheLRUTest extends PHPUnit_Framework_TestCase {
        /**
         * @covers ProcessCacheLRU::get
         * @covers ProcessCacheLRU::set
-        * @covers ProcessCacheLRU::het
+        * @covers ProcessCacheLRU::has
         */
        public function testAddAndGetAKey() {
                $oneCache = new ProcessCacheLRUTestable( 1 );
@@ -184,7 +184,7 @@ class ProcessCacheLRUTest extends PHPUnit_Framework_TestCase {
        /**
         * @covers ProcessCacheLRU::get
         * @covers ProcessCacheLRU::set
-        * @covers ProcessCacheLRU::het
+        * @covers ProcessCacheLRU::has
         */
        public function testRecentlyAccessedKeyStickIn() {
                $cache = new ProcessCacheLRUTestable( 2 );
index 3b19c9a..7fe8055 100644 (file)
@@ -49,4 +49,22 @@ class CachedBagOStuffTest extends PHPUnit_Framework_TestCase {
                $cache->delete( 'foo', CachedBagOStuff::WRITE_CACHE_ONLY );
                $this->assertEquals( 'old', $cache->get( 'foo' ) ); // Reloaded from backend
        }
+
+       public function testCacheBackendMisses() {
+               $backend = new HashBagOStuff;
+               $cache = new CachedBagOStuff( $backend );
+
+               // First hit primes the cache with miss from the backend
+               $this->assertEquals( false, $cache->get( 'foo' ) );
+
+               // Change the value in the backend
+               $backend->set( 'foo', true );
+
+               // Second hit returns the cached miss
+               $this->assertEquals( false, $cache->get( 'foo' ) );
+
+               // But a fresh value is read from the backend
+               $backend->set( 'bar', true );
+               $this->assertEquals( true, $cache->get( 'bar' ) );
+       }
 }
index b777ed0..f70b42d 100644 (file)
@@ -146,7 +146,7 @@ class ExifBitmapTest extends MediaWikiMediaTestCase {
 
        /**
         * @dataProvider provideSwappingICCProfile
-        * @covers BitmapHandler::swapICCProfile
+        * @covers ExifBitmapHandler::swapICCProfile
         */
        public function testSwappingICCProfile(
                $sourceFilename, $controlFilename, $newProfileFilename, $oldProfileName
index dacef8d..bffe415 100644 (file)
@@ -175,7 +175,7 @@ class XMPTest extends MediaWikiTestCase {
 
        /**
         * Test for multi-section, hostile XML
-        * @covers checkParseSafety
+        * @covers XMPReader::checkParseSafety
         */
        public function testCheckParseSafety() {
 
index ae069ea..a96a296 100644 (file)
@@ -41,16 +41,6 @@ class ArticleTest extends MediaWikiTestCase {
                $this->assertEquals( 2, $this->article->mLatest, "Article __set magic" );
        }
 
-       /**
-        * @depends testImplementsSetMagic
-        * @covers Article::__call
-        */
-       public function testImplementsCallMagic() {
-               $this->article->mLatest = 33;
-               $this->article->mDataLoaded = true;
-               $this->assertEquals( 33, $this->article->getLatest(), "Article __call magic" );
-       }
-
        /**
         * @covers Article::__get
         * @covers Article::__set
index fa86eed..04d6067 100644 (file)
@@ -71,13 +71,14 @@ class NewParserTest extends MediaWikiTestCase {
                $tmpGlobals['wgSitename'] = 'MediaWiki';
                $tmpGlobals['wgServer'] = 'http://example.org';
                $tmpGlobals['wgServerName'] = 'example.org';
+               $tmpGlobals['wgScriptPath'] = '';
                $tmpGlobals['wgScript'] = '/index.php';
-               $tmpGlobals['wgScriptPath'] = '/';
+               $tmpGlobals['wgResourceBasePath'] = '';
+               $tmpGlobals['wgStylePath'] = '/skins';
+               $tmpGlobals['wgExtensionAssetsPath'] = '/extensions';
                $tmpGlobals['wgArticlePath'] = '/wiki/$1';
                $tmpGlobals['wgActionPaths'] = [];
                $tmpGlobals['wgVariantArticlePath'] = false;
-               $tmpGlobals['wgExtensionAssetsPath'] = '/extensions';
-               $tmpGlobals['wgStylePath'] = '/skins';
                $tmpGlobals['wgEnableUploads'] = true;
                $tmpGlobals['wgUploadNavigationUrl'] = false;
                $tmpGlobals['wgThumbnailScriptPath'] = false;
index 46ba46c..d6940b5 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * @group large
  */
-class BcryptPasswordTestCase extends PasswordTestCase {
+class BcryptPasswordTest extends PasswordTestCase {
        protected function getTypeConfigs() {
                return [ 'bcrypt' => [
                        'class' => 'BcryptPassword',
index 35aca48..27c0c60 100644 (file)
@@ -130,7 +130,7 @@ class ExtensionProcessorTest extends MediaWikiTestCase {
                $this->assertEquals( 'somevalue', $extracted['globals']['egBar'] );
        }
 
-       public static function provideExtracttExtensionMessagesFiles() {
+       public static function provideExtractExtensionMessagesFiles() {
                $dir = __DIR__ . '/FooBar/';
                return [
                        [
@@ -155,10 +155,10 @@ class ExtensionProcessorTest extends MediaWikiTestCase {
        }
 
        /**
-        * @covers ExtensionProcessor::extracttExtensionMessagesFiles
-        * @dataProvider provideExtracttExtensionMessagesFiles
+        * @covers ExtensionProcessor::extractExtensionMessagesFiles
+        * @dataProvider provideExtractExtensionMessagesFiles
         */
-       public function testExtracttExtensionMessagesFiles( $input, $expected ) {
+       public function testExtractExtensionMessagesFiles( $input, $expected ) {
                $processor = new ExtensionProcessor();
                $processor->extractInfo( $this->dir, $input + self::$default, 1 );
                $out = $processor->getExtractedInfo();
index b40a05c..590f287 100644 (file)
@@ -281,4 +281,58 @@ class BotPasswordSessionProviderTest extends MediaWikiTestCase {
                $this->assertSame( [], $logger->getBuffer() );
                $this->assertEquals( $dataMD + [ 'rights' => [ 'read' ] ], $metadata );
        }
+
+       public function testGetAllowedUserRights() {
+               $logger = new \TestLogger( true );
+               $provider = $this->getProvider();
+               $provider->setLogger( $logger );
+
+               $backend = TestUtils::getDummySessionBackend();
+               $backendPriv = \TestingAccessWrapper::newFromObject( $backend );
+
+               try {
+                       $provider->getAllowedUserRights( $backend );
+                       $this->fail( 'Expected exception not thrown' );
+               } catch ( \InvalidArgumentException $ex ) {
+                       $this->assertSame( 'Backend\'s provider isn\'t $this', $ex->getMessage() );
+               }
+
+               $backendPriv->provider = $provider;
+               $backendPriv->providerMetadata = [ 'rights' => [ 'foo', 'bar', 'baz' ] ];
+               $this->assertSame( [ 'foo', 'bar', 'baz' ], $provider->getAllowedUserRights( $backend ) );
+               $this->assertSame( [], $logger->getBuffer() );
+
+               $backendPriv->providerMetadata = [ 'foo' => 'bar' ];
+               $this->assertSame( [], $provider->getAllowedUserRights( $backend ) );
+               $this->assertSame( [
+                       [
+                               LogLevel::DEBUG,
+                               'MediaWiki\\Session\\BotPasswordSessionProvider::getAllowedUserRights: ' .
+                                       'No provider metadata, returning no rights allowed'
+                       ]
+               ], $logger->getBuffer() );
+               $logger->clearBuffer();
+
+               $backendPriv->providerMetadata = [ 'rights' => 'bar' ];
+               $this->assertSame( [], $provider->getAllowedUserRights( $backend ) );
+               $this->assertSame( [
+                       [
+                               LogLevel::DEBUG,
+                               'MediaWiki\\Session\\BotPasswordSessionProvider::getAllowedUserRights: ' .
+                                       'No provider metadata, returning no rights allowed'
+                       ]
+               ], $logger->getBuffer() );
+               $logger->clearBuffer();
+
+               $backendPriv->providerMetadata = null;
+               $this->assertSame( [], $provider->getAllowedUserRights( $backend ) );
+               $this->assertSame( [
+                       [
+                               LogLevel::DEBUG,
+                               'MediaWiki\\Session\\BotPasswordSessionProvider::getAllowedUserRights: ' .
+                                       'No provider metadata, returning no rights allowed'
+                       ]
+               ], $logger->getBuffer() );
+               $logger->clearBuffer();
+       }
 }
index d376159..a52aa4b 100644 (file)
@@ -762,4 +762,25 @@ class CookieSessionProviderTest extends MediaWikiTestCase {
        public function onUserSetCookies( $user, &$sessionData, &$cookies ) {
        }
 
+       public function testGetCookie() {
+               $provider = new CookieSessionProvider( [
+                       'priority' => 1,
+                       'sessionName' => 'MySessionName',
+                       'cookieOptions' => [ 'prefix' => 'x' ],
+               ] );
+               $provider->setLogger( new \Psr\Log\NullLogger() );
+               $provider->setConfig( $this->getConfig() );
+               $provider->setManager( SessionManager::singleton() );
+               $provider = \TestingAccessWrapper::newFromObject( $provider );
+
+               $request = new \FauxRequest();
+               $request->setCookies( [
+                       'xFoo' => 'foo!',
+                       'xBar' => 'deleted',
+               ], '' );
+               $this->assertSame( 'foo!', $provider->getCookie( $request, 'Foo', 'x' ) );
+               $this->assertNull( $provider->getCookie( $request, 'Bar', 'x' ) );
+               $this->assertNull( $provider->getCookie( $request, 'Baz', 'x' ) );
+       }
+
 }
diff --git a/tests/phpunit/includes/session/MetadataMergeExceptionTest.php b/tests/phpunit/includes/session/MetadataMergeExceptionTest.php
new file mode 100644 (file)
index 0000000..0981f02
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+
+namespace MediaWiki\Session;
+
+use MediaWikiTestCase;
+
+/**
+ * @group Session
+ * @covers MediaWiki\Session\MetadataMergeException
+ */
+class MetadataMergeExceptionTest extends MediaWikiTestCase {
+
+       public function testBasics() {
+               $data = [ 'foo' => 'bar' ];
+
+               $ex = new MetadataMergeException();
+               $this->assertInstanceOf( 'UnexpectedValueException', $ex );
+               $this->assertSame( [], $ex->getContext() );
+
+               $ex2 = new MetadataMergeException( 'Message', 42, $ex, $data );
+               $this->assertSame( 'Message', $ex2->getMessage() );
+               $this->assertSame( 42, $ex2->getCode() );
+               $this->assertSame( $ex, $ex2->getPrevious() );
+               $this->assertSame( $data, $ex2->getContext() );
+
+               $ex->setContext( $data );
+               $this->assertSame( $data, $ex->getContext() );
+       }
+
+}
index 5824ce1..54ad0f4 100644 (file)
@@ -216,6 +216,42 @@ class SessionBackendTest extends MediaWikiTestCase {
                $this->assertArrayHasKey( $backend->getId(), $manager->allSessionIds );
        }
 
+       public function testSetProviderMetadata() {
+               $backend = $this->getBackend();
+               $priv = \TestingAccessWrapper::newFromObject( $backend );
+               $priv->providerMetadata = [ 'dummy' ];
+
+               try {
+                       $backend->setProviderMetadata( 'foo' );
+                       $this->fail( 'Expected exception not thrown' );
+               } catch ( \InvalidArgumentException $ex ) {
+                       $this->assertSame( '$metadata must be an array or null', $ex->getMessage() );
+               }
+
+               try {
+                       $backend->setProviderMetadata( (object)[] );
+                       $this->fail( 'Expected exception not thrown' );
+               } catch ( \InvalidArgumentException $ex ) {
+                       $this->assertSame( '$metadata must be an array or null', $ex->getMessage() );
+               }
+
+               $this->assertFalse( $this->store->getSession( self::SESSIONID ), 'sanity check' );
+               $backend->setProviderMetadata( [ 'dummy' ] );
+               $this->assertFalse( $this->store->getSession( self::SESSIONID ) );
+
+               $this->assertFalse( $this->store->getSession( self::SESSIONID ), 'sanity check' );
+               $backend->setProviderMetadata( [ 'test' ] );
+               $this->assertNotFalse( $this->store->getSession( self::SESSIONID ) );
+               $this->assertSame( [ 'test' ], $backend->getProviderMetadata() );
+               $this->store->deleteSession( self::SESSIONID );
+
+               $this->assertFalse( $this->store->getSession( self::SESSIONID ), 'sanity check' );
+               $backend->setProviderMetadata( null );
+               $this->assertNotFalse( $this->store->getSession( self::SESSIONID ) );
+               $this->assertSame( null, $backend->getProviderMetadata() );
+               $this->store->deleteSession( self::SESSIONID );
+       }
+
        public function testResetId() {
                $id = session_id();
 
index d3d8509..fe2c3b7 100644 (file)
@@ -3,7 +3,6 @@
 namespace MediaWiki\Session;
 
 use AuthPlugin;
-use MediaWiki\Logger\LoggerFactory;
 use MediaWikiTestCase;
 use Psr\Log\LogLevel;
 use User;
@@ -1677,74 +1676,4 @@ class SessionManagerTest extends MediaWikiTestCase {
                ], $logger->getBuffer() );
                $logger->clearBuffer();
        }
-
-       /**
-        * @dataProvider provideCheckIpLimits
-        */
-       public function testCheckIpLimits( $ip, $sessionData, $userData, $logLevel1, $logLevel2 ) {
-               $this->setMwGlobals( [
-                       'wgSuspiciousIpPerSessionLimit' => 5,
-                       'wgSuspiciousIpPerUserLimit' => 10,
-                       'wgSuspiciousIpExpiry' => 600,
-                       'wgSquidServers' => [ '11.22.33.44' ],
-               ] );
-               $manager = new SessionManager();
-               $logger = $this->getMock( '\Psr\Log\LoggerInterface' );
-               $this->setLogger( 'session-ip', $logger );
-               $request = new \FauxRequest();
-               $request->setIP( $ip );
-
-               $session = $manager->getSessionForRequest( $request );
-               /** @var SessionBackend $backend */
-               $backend = \TestingAccessWrapper::newFromObject( $session )->backend;
-               $data = &$backend->getData();
-               $data = [ 'SessionManager-ip' => $sessionData ];
-               $backend->setUser( User::newFromName( 'UTSysop' ) );
-               $manager = \TestingAccessWrapper::newFromObject( $manager );
-               $manager->store->set( 'SessionManager-ip:' . md5( 'UTSysop' ), $userData );
-
-               $logger->expects( $this->exactly( isset( $logLevel1 ) + isset( $logLevel2 ) ) )->method( 'log' );
-               if ( $logLevel1 ) {
-                       $logger->expects( $this->at( 0 ) )->method( 'log' )->with( $logLevel1,
-                               'Same session used from {count} IPs', $this->isType( 'array' ) );
-               }
-               if ( $logLevel2 ) {
-                       $logger->expects( $this->at( isset( $logLevel1 ) ) )->method( 'log' )->with( $logLevel2,
-                               'Same user had sessions from {count} IPs', $this->isType( 'array' ) );
-               }
-
-               $manager->checkIpLimits( $session );
-       }
-
-       public function provideCheckIpLimits() {
-               $future = time() + 1000;
-               $past = time() - 1000;
-               return [
-                       // DEBUG log for first new IP
-                       [ '1.2.3.4', [], [], LogLevel::DEBUG, LogLevel::DEBUG ],
-                       // no log for same IP
-                       [ '1.2.3.4', [ '1.2.3.4'  => $future ], [ '1.2.3.4' => $future ],
-                                  null, null ],
-                       [ '1.2.3.4', [], [ '1.2.3.4' => $future ],
-                                  LogLevel::DEBUG, null ],
-                       // INFO log for second new IP
-                       [ '1.2.3.4', [ '10.20.30.40'  => $future ], [ '10.20.30.40' => $future ],
-                          LogLevel::INFO, LogLevel::INFO ],
-                       // WARNING above $wgSuspiciousIpPerSessionLimit
-                       [ '1.2.3.4', array_fill_keys( range( 1, 5 ), $future ),
-                          array_fill_keys( range( 1, 5 ), $future ), LogLevel::WARNING, LogLevel::INFO ],
-                       // WARNING above $wgSuspiciousIpPerUserLimit
-
-                       [ '1.2.3.4', array_fill_keys( range( 1, 2 ), $future ),
-                                  array_fill_keys( range( 1, 12 ), $future ), LogLevel::INFO, LogLevel::WARNING ],
-                       // expired keys ignored
-                       [ '1.2.3.4', [ '1.2.3.4'  => $past ], [ '1.2.3.4' => $past ],
-                          LogLevel::DEBUG, LogLevel::DEBUG ],
-                       [ '1.2.3.4', array_fill_keys( range( 1, 5 ), $past ),
-                                  array_fill_keys( range( 1, 5 ), $past ), LogLevel::DEBUG, LogLevel::DEBUG ],
-                       // special IPs are ignored
-                       [ '127.0.0.1', [], [], null, null ],
-                       [ '11.22.33.44', [], [], null, null ],
-               ];
-       }
 }
index 24b9716..e92eb09 100644 (file)
@@ -128,6 +128,11 @@ class SessionProviderTest extends MediaWikiTestCase {
                        $provider->preventSessionsForUser( 'Foo' );
                        $this->fail( 'Expected exception not thrown' );
                } catch ( \BadMethodCallException $ex ) {
+                       $this->assertSame(
+                               'MediaWiki\\Session\\SessionProvider::preventSessionsForUser must be implmented ' .
+                                       'when canChangeUser() is false',
+                               $ex->getMessage()
+                       );
                }
 
        }
index db18b72..2de4bff 100644 (file)
@@ -18,7 +18,7 @@ class FileContentsHasherTest extends MediaWikiTestCase {
        }
 
        /**
-        * @covers FileContentsHasher::getFileContentHash
+        * @covers FileContentsHasher::getFileContentsHash
         * @covers FileContentsHasher::getFileContentsHashInternal
         * @dataProvider provideSingleFile
         */
@@ -33,7 +33,7 @@ class FileContentsHasherTest extends MediaWikiTestCase {
        }
 
        /**
-        * @covers FileContentsHasher::getFileContentHash
+        * @covers FileContentsHasher::getFileContentsHash
         * @covers FileContentsHasher::getFileContentsHashInternal
         * @dataProvider provideMultipleFiles
         */
index 5e99d69..6d7325d 100644 (file)
@@ -79,7 +79,7 @@ class UIDGeneratorTest extends PHPUnit_Framework_TestCase {
                                preg_match( '!^[0-9a-f]{12}1[0-9a-f]{3}[89ab][0-9a-f]{15}$!', $id ),
                                "UID $id has the right format" );
 
-                       $id = UIDGenerator::newRawUUIDv1( UIDGenerator::QUICK_RAND );
+                       $id = UIDGenerator::newRawUUIDv1();
                        $this->assertEquals( true,
                                preg_match( '!^[0-9a-f]{12}1[0-9a-f]{3}[89ab][0-9a-f]{15}$!', $id ),
                                "UID $id has the right format" );
index 0c69027..cdb3f78 100644 (file)
@@ -82,7 +82,7 @@ class DummyContentForTesting extends AbstractContent {
         * Returns true if this content is countable as a "real" wiki page, provided
         * that it's also in a countable location (e.g. a current revision in the main namespace).
         *
-        * @param bool $hasLinks If it is known whether this content contains links,
+        * @param bool|null $hasLinks If it is known whether this content contains links,
         * provide this information here, to avoid redundant parsing to find out.
         * @return bool
         */
index 889efb7..afc1a4a 100644 (file)
@@ -82,7 +82,7 @@ class DummyNonTextContent extends AbstractContent {
         * Returns true if this content is countable as a "real" wiki page, provided
         * that it's also in a countable location (e.g. a current revision in the main namespace).
         *
-        * @param bool $hasLinks If it is known whether this content contains links,
+        * @param bool|null $hasLinks If it is known whether this content contains links,
         * provide this information here, to avoid redundant parsing to find out.
         * @return bool
         */
index 66e8182..86fc295 100755 (executable)
@@ -176,19 +176,6 @@ class PHPUnitMaintClass extends Maintenance {
                        $_SERVER['argv'] = array_values( $_SERVER['argv'] );
                }
 
-               if ( !wfIsWindows() ) {
-                       # If we are not running on windows then we can enable phpunit colors
-                       # Windows does not come anymore with ANSI.SYS loaded by default
-                       # PHPUnit uses the suite.xml parameters to enable/disable colors
-                       # which can be then forced to be enabled with --colors.
-                       # The below code injects a parameter just like if the user called
-                       # Probably fix bug 29226
-                       $key = array_search( '--colors', $_SERVER['argv'] );
-                       if ( $key === false ) {
-                               array_splice( $_SERVER['argv'], 1, 0, '--colors' );
-                       }
-               }
-
                # Makes MediaWiki PHPUnit directory includable so the PHPUnit will
                # be able to resolve relative files inclusion such as suites/*
                # PHPUnit uses stream_resolve_include_path() internally
index bdabdc1..63f5de0 100644 (file)
@@ -1,11 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Colors don't work on Windows!
-phpunit.php enables colors for other OSs at runtime
--->
 <phpunit bootstrap="./bootstrap.php"
-       colors="false"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.8/phpunit.xsd"
+
+       colors="true"
        backupGlobals="false"
        convertErrorsToExceptions="true"
        convertNoticesToExceptions="true"
@@ -15,7 +13,9 @@ phpunit.php enables colors for other OSs at runtime
        timeoutForSmallTests="10"
        timeoutForMediumTests="30"
        timeoutForLargeTests="60"
-       strict="true"
+       beStrictAboutTestsThatDoNotTestAnything="true"
+       beStrictAboutOutputDuringTests="true"
+       beStrictAboutTestSize="true"
        verbose="true">
        <testsuites>
                <testsuite name="includes">