<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fa">
	<id>https://www.iran-pedia.org/w/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C%3AGadget-Twinkle-test.js</id>
	<title>مدیاویکی:Gadget-Twinkle-test.js - تاریخچهٔ نسخه‌ها</title>
	<link rel="self" type="application/atom+xml" href="https://www.iran-pedia.org/w/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C%3AGadget-Twinkle-test.js"/>
	<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-Twinkle-test.js&amp;action=history"/>
	<updated>2026-04-25T23:42:35Z</updated>
	<subtitle>تاریخچهٔ نسخه‌ها برای این صفحه در ویکی</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-Twinkle-test.js&amp;diff=2951&amp;oldid=prev</id>
		<title>Rootadmin: ۱ نسخه واردشده</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-Twinkle-test.js&amp;diff=2951&amp;oldid=prev"/>
		<updated>2017-12-02T20:45:39Z</updated>

		<summary type="html">&lt;p&gt;۱ نسخه واردشده&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fa&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;→ نسخهٔ قدیمی‌تر&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;نسخهٔ ‏۲ دسامبر ۲۰۱۷، ساعت ۲۲:۴۵&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;fa&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(بدون تفاوت)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key fairanpediadb-fa_:diff:1.41:old-2931:rev-2951 --&gt;
&lt;/table&gt;</summary>
		<author><name>Rootadmin</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-Twinkle-test.js&amp;diff=2931&amp;oldid=prev</id>
		<title>Rootadmin در ‏۲ دسامبر ۲۰۱۷، ساعت ۱۴:۳۰</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-Twinkle-test.js&amp;diff=2931&amp;oldid=prev"/>
		<updated>2017-12-02T14:30:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fa&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;→ نسخهٔ قدیمی‌تر&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;نسخهٔ ‏۲ دسامبر ۲۰۱۷، ساعت ۱۶:۳۰&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot;&gt;خط ۱۵:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;خط ۱۵:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  *&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  *&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  * This is AzaToth&amp;#039;s Twinkle, the popular script sidekick for newbies, admins, and&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  * This is AzaToth&amp;#039;s Twinkle, the popular script sidekick for newbies, admins, and&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  * every &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Wikipedian &lt;/del&gt;in between. Visit [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WP&lt;/del&gt;:TW]] for more information.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  * every &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Iranpedian &lt;/ins&gt;in between. Visit [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ip&lt;/ins&gt;:TW]] for more information.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  */&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  */&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l45&quot;&gt;خط ۴۵:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;خط ۴۵:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Twinkle.defaultConfig.twinkle = {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Twinkle.defaultConfig.twinkle = {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	 // General&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	 // General&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	summaryAd: &quot; ([[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;وپ&lt;/del&gt;:توینکل|T]])&quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	summaryAd: &quot; ([[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;اپ&lt;/ins&gt;:توینکل|T]])&quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	deletionSummaryAd: &quot; ([[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;وپ&lt;/del&gt;:توینکل|T]])&quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	deletionSummaryAd: &quot; ([[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;اپ&lt;/ins&gt;:توینکل|T]])&quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	protectionSummaryAd: &quot; ([[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;وپ&lt;/del&gt;:توینکل|T]])&quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	protectionSummaryAd: &quot; ([[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;اپ&lt;/ins&gt;:توینکل|T]])&quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	userTalkPageMode: &amp;quot;window&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	userTalkPageMode: &amp;quot;window&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	dialogLargeFont: false,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	dialogLargeFont: false,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rootadmin</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-Twinkle-test.js&amp;diff=2657&amp;oldid=prev</id>
		<title>Rootadmin: ۱ نسخه واردشده</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-Twinkle-test.js&amp;diff=2657&amp;oldid=prev"/>
		<updated>2017-12-02T11:14:50Z</updated>

		<summary type="html">&lt;p&gt;۱ نسخه واردشده&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحهٔ تازه&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * +-------------------------------------------------------------------------+&lt;br /&gt;
 * |                  === WARNING: GLOBAL GADGET FILE ===                    |&lt;br /&gt;
 * |                Changes to this page affect many users.                  |&lt;br /&gt;
 * |           Please discuss changes at [[WT:TW]] before editing.           |&lt;br /&gt;
 * +-------------------------------------------------------------------------+&lt;br /&gt;
 *&lt;br /&gt;
 * Imported from github [https://github.com/azatoth/twinkle].&lt;br /&gt;
 * All changes should be made in the repository, otherwise they will be lost.&lt;br /&gt;
 *&lt;br /&gt;
 * To update this script from github, you must have a local repository set up. Then&lt;br /&gt;
 * follow the instructions at [https://github.com/azatoth/twinkle/blob/master/README.md].&lt;br /&gt;
 *&lt;br /&gt;
 * ----------&lt;br /&gt;
 *&lt;br /&gt;
 * This is AzaToth&amp;#039;s Twinkle, the popular script sidekick for newbies, admins, and&lt;br /&gt;
 * every Wikipedian in between. Visit [[WP:TW]] for more information.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
//&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
( function ( window, document, $, undefined ) { // Wrap with anonymous function&lt;br /&gt;
&lt;br /&gt;
var Twinkle = {};&lt;br /&gt;
window.Twinkle = Twinkle;  // allow global access&lt;br /&gt;
&lt;br /&gt;
// Check if account is experienced enough to use Twinkle&lt;br /&gt;
Twinkle.userAuthorized = Morebits.userIsInGroup( &amp;quot;autoconfirmed&amp;quot; ) || Morebits.userIsInGroup( &amp;quot;confirmed&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
// for use by custom modules (normally empty)&lt;br /&gt;
Twinkle.initCallbacks = [];&lt;br /&gt;
Twinkle.addInitCallback = function twinkleAddInitCallback( func ) {&lt;br /&gt;
	Twinkle.initCallbacks.push( func );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.defaultConfig = {};&lt;br /&gt;
/**&lt;br /&gt;
 * Twinkle.defaultConfig.twinkle and Twinkle.defaultConfig.friendly&lt;br /&gt;
 *&lt;br /&gt;
 * This holds the default set of preferences used by Twinkle. (The |friendly| object holds preferences stored in the FriendlyConfig object.)&lt;br /&gt;
 * It is important that all new preferences added here, especially admin-only ones, are also added to&lt;br /&gt;
 * |Twinkle.config.sections| in twinkleconfig.js, so they are configurable via the Twinkle preferences panel.&lt;br /&gt;
 * For help on the actual preferences, see the comments in twinkleconfig.js.&lt;br /&gt;
 */&lt;br /&gt;
Twinkle.defaultConfig.twinkle = {&lt;br /&gt;
	 // General&lt;br /&gt;
	summaryAd: &amp;quot; ([[وپ:توینکل|T]])&amp;quot;,&lt;br /&gt;
	deletionSummaryAd: &amp;quot; ([[وپ:توینکل|T]])&amp;quot;,&lt;br /&gt;
	protectionSummaryAd: &amp;quot; ([[وپ:توینکل|T]])&amp;quot;,&lt;br /&gt;
	userTalkPageMode: &amp;quot;window&amp;quot;,&lt;br /&gt;
	dialogLargeFont: false,&lt;br /&gt;
	 // ARV&lt;br /&gt;
	spiWatchReport: &amp;quot;yes&amp;quot;,&lt;br /&gt;
	 // Fluff (revert and rollback)&lt;br /&gt;
	openTalkPage: [ &amp;quot;agf&amp;quot;, &amp;quot;norm&amp;quot;, &amp;quot;vand&amp;quot; ],&lt;br /&gt;
	openTalkPageOnAutoRevert: false,&lt;br /&gt;
	markRevertedPagesAsMinor: [ &amp;quot;vand&amp;quot; ],&lt;br /&gt;
	watchRevertedPages: [ &amp;quot;agf&amp;quot;, &amp;quot;norm&amp;quot;, &amp;quot;vand&amp;quot;, &amp;quot;torev&amp;quot; ],&lt;br /&gt;
	offerReasonOnNormalRevert: true,&lt;br /&gt;
	confirmOnFluff: false,&lt;br /&gt;
	showRollbackLinks: [ &amp;quot;diff&amp;quot;, &amp;quot;others&amp;quot; ],&lt;br /&gt;
	 // DI (twinkleimage)&lt;br /&gt;
	notifyUserOnDeli: true,&lt;br /&gt;
	deliWatchPage: &amp;quot;default&amp;quot;,&lt;br /&gt;
	deliWatchUser: &amp;quot;default&amp;quot;,&lt;br /&gt;
	 // PROD&lt;br /&gt;
	watchProdPages: true,&lt;br /&gt;
	prodReasonDefault: &amp;quot;&amp;quot;,&lt;br /&gt;
	logProdPages: false,&lt;br /&gt;
	prodLogPageName: &amp;quot;PROD log&amp;quot;,&lt;br /&gt;
	 // CSD&lt;br /&gt;
	speedySelectionStyle: &amp;quot;buttonClick&amp;quot;,&lt;br /&gt;
	watchSpeedyPages: [ &amp;quot;ع۳&amp;quot;, &amp;quot;ع۵&amp;quot;, &amp;quot;ع۱۰&amp;quot;, &amp;quot;ع۱۱&amp;quot;, &amp;quot;ع۱۲&amp;quot; ],&lt;br /&gt;
	markSpeedyPagesAsPatrolled: true,&lt;br /&gt;
	// these next two should probably be identical by default&lt;br /&gt;
	notifyUserOnSpeedyDeletionNomination:    [ &amp;quot;db&amp;quot;, &amp;quot;ع۱&amp;quot;, &amp;quot;ع۲&amp;quot;, &amp;quot;ع۳&amp;quot;, &amp;quot;ع۴&amp;quot;, &amp;quot;ع۶&amp;quot;, &amp;quot;ع۱۰&amp;quot;, &amp;quot;ع۱۱&amp;quot;, &amp;quot;ع۱۲&amp;quot;, &amp;quot;ع۱۳&amp;quot;, &amp;quot;م۱&amp;quot;, &amp;quot;م۲&amp;quot;, &amp;quot;م۳&amp;quot;, &amp;quot;م۵&amp;quot;, &amp;quot;م۷&amp;quot;, &amp;quot;م۹&amp;quot;, &amp;quot;م۱۰&amp;quot;, &amp;quot;م۱۱&amp;quot;, &amp;quot;پ۱&amp;quot;, &amp;quot;پ۲&amp;quot;, &amp;quot;پ۳&amp;quot;, &amp;quot;پ۷&amp;quot;, &amp;quot;پ۹&amp;quot;, &amp;quot;پ۱۰&amp;quot;, &amp;quot;ک۳&amp;quot;, &amp;quot;ک۵&amp;quot;, &amp;quot;ت۲&amp;quot;, &amp;quot;ت۳&amp;quot;, &amp;quot;د۱&amp;quot;, &amp;quot;د۲&amp;quot; ],&lt;br /&gt;
	welcomeUserOnSpeedyDeletionNotification: [ &amp;quot;db&amp;quot;, &amp;quot;ع۱&amp;quot;, &amp;quot;ع۲&amp;quot;, &amp;quot;ع۳&amp;quot;, &amp;quot;ع۴&amp;quot;, &amp;quot;ع۶&amp;quot;, &amp;quot;ع۱۰&amp;quot;, &amp;quot;ع۱۱&amp;quot;, &amp;quot;ع۱۲&amp;quot;, &amp;quot;ع۱۳&amp;quot;, &amp;quot;م۱&amp;quot;, &amp;quot;م۲&amp;quot;, &amp;quot;م۳&amp;quot;, &amp;quot;م۵&amp;quot;, &amp;quot;م۷&amp;quot;, &amp;quot;م۹&amp;quot;, &amp;quot;م۱۰&amp;quot;, &amp;quot;م۱۱&amp;quot;, &amp;quot;پ۱&amp;quot;, &amp;quot;پ۲&amp;quot;, &amp;quot;پ۳&amp;quot;, &amp;quot;پ۷&amp;quot;, &amp;quot;پ۹&amp;quot;, &amp;quot;پ۱۰&amp;quot;, &amp;quot;ک۳&amp;quot;, &amp;quot;ک۵&amp;quot;, &amp;quot;ت۲&amp;quot;, &amp;quot;ت۳&amp;quot;, &amp;quot;د۱&amp;quot;, &amp;quot;د۲&amp;quot; ],&lt;br /&gt;
	promptForSpeedyDeletionSummary: [ &amp;quot;db&amp;quot;, &amp;quot;ع۱&amp;quot;, &amp;quot;ع۲&amp;quot;, &amp;quot;ع۳&amp;quot;, &amp;quot;ع۴&amp;quot;, &amp;quot;ع۶&amp;quot;, &amp;quot;ع۷&amp;quot;, &amp;quot;ع۸&amp;quot;, &amp;quot;ع۱۰&amp;quot;, &amp;quot;ع۱۱&amp;quot;, &amp;quot;ع۱۲&amp;quot;, &amp;quot;م۱&amp;quot;, &amp;quot;م۲&amp;quot;, &amp;quot;م۳&amp;quot;, &amp;quot;م۵&amp;quot;, &amp;quot;م۷&amp;quot;, &amp;quot;م۹&amp;quot;, &amp;quot;م۱۰&amp;quot;, &amp;quot;م۱۱&amp;quot;, &amp;quot;پ۲&amp;quot;, &amp;quot;پ۴&amp;quot;, &amp;quot;پ۷&amp;quot;, &amp;quot;پ۸&amp;quot;, &amp;quot;پ۱۰&amp;quot;, &amp;quot;ک۵&amp;quot;, &amp;quot;ت۲&amp;quot;, &amp;quot;ت۳&amp;quot;, &amp;quot;د۱&amp;quot;, &amp;quot;د۲&amp;quot; ],&lt;br /&gt;
	openUserTalkPageOnSpeedyDelete: [ &amp;quot;db&amp;quot;, &amp;quot;ع۱&amp;quot;, &amp;quot;ع۲&amp;quot;, &amp;quot;ع۳&amp;quot;, &amp;quot;ع۴&amp;quot;, &amp;quot;ع۵&amp;quot;, &amp;quot;ع۱۰&amp;quot;, &amp;quot;ع۱۱&amp;quot;, &amp;quot;ع۱۲&amp;quot;, &amp;quot;م۱&amp;quot;, &amp;quot;م۳&amp;quot;, &amp;quot;م۷&amp;quot;, &amp;quot;م۹&amp;quot;, &amp;quot;م۱۰&amp;quot;, &amp;quot;م۱۱&amp;quot;, &amp;quot;پ۳&amp;quot;, &amp;quot;پ۷&amp;quot;, &amp;quot;پ۹&amp;quot;, &amp;quot;ک۳&amp;quot;, &amp;quot;ک۵&amp;quot;, &amp;quot;ت۲&amp;quot;, &amp;quot;د۱&amp;quot; ],&lt;br /&gt;
	deleteTalkPageOnDelete: false,&lt;br /&gt;
	deleteRedirectsOnDelete: true,&lt;br /&gt;
	deleteSysopDefaultToTag: false,&lt;br /&gt;
	speedyWindowHeight: 500,&lt;br /&gt;
	speedyWindowWidth: 800,&lt;br /&gt;
	logSpeedyNominations: false,&lt;br /&gt;
	speedyLogPageName: &amp;quot;CSD log&amp;quot;,&lt;br /&gt;
	noLogOnSpeedyNomination: [ &amp;quot;ک۱&amp;quot; ],&lt;br /&gt;
	 // Unlink&lt;br /&gt;
	unlinkNamespaces: [ &amp;quot;0&amp;quot;, &amp;quot;10&amp;quot;, &amp;quot;100&amp;quot;, &amp;quot;118&amp;quot; ],&lt;br /&gt;
	 // Warn&lt;br /&gt;
	defaultWarningGroup: &amp;quot;1&amp;quot;,&lt;br /&gt;
	showSharedIPNotice: true,&lt;br /&gt;
	watchWarnings: true,&lt;br /&gt;
	blankTalkpageOnIndefBlock: false,&lt;br /&gt;
	customWarningList: [],&lt;br /&gt;
	 // XfD&lt;br /&gt;
	xfdWatchDiscussion: &amp;quot;default&amp;quot;,&lt;br /&gt;
	xfdWatchList: &amp;quot;no&amp;quot;,&lt;br /&gt;
	xfdWatchPage: &amp;quot;default&amp;quot;,&lt;br /&gt;
	xfdWatchUser: &amp;quot;default&amp;quot;,&lt;br /&gt;
	 // Hidden preferences&lt;br /&gt;
	revertMaxRevisions: 50,&lt;br /&gt;
	batchdeleteChunks: 50,&lt;br /&gt;
	batchDeleteMinCutOff: 5,&lt;br /&gt;
	batchMax: 5000,&lt;br /&gt;
	batchProtectChunks: 50,&lt;br /&gt;
	batchProtectMinCutOff: 5,&lt;br /&gt;
	batchundeleteChunks: 50,&lt;br /&gt;
	batchUndeleteMinCutOff: 5,&lt;br /&gt;
	deliChunks: 500,&lt;br /&gt;
	deliMax: 5000,&lt;br /&gt;
	proddeleteChunks: 50&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// now some skin dependent config.&lt;br /&gt;
if ( mw.config.get( &amp;quot;skin&amp;quot; ) === &amp;quot;vector&amp;quot; ) {&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletArea = &amp;quot;right-navigation&amp;quot;;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletId   = &amp;quot;p-twinkle&amp;quot;;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletName = &amp;quot;توینکل&amp;quot;;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletType = &amp;quot;menu&amp;quot;;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletNext = &amp;quot;p-veiws&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletArea =  null;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletId   = &amp;quot;p-cactions&amp;quot;;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletName = null;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletType = null;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletNext = null;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Twinkle.defaultConfig.friendly = {&lt;br /&gt;
	 // Tag&lt;br /&gt;
	groupByDefault: true,&lt;br /&gt;
	watchTaggedPages: true,&lt;br /&gt;
	watchMergeDiscussions: true,&lt;br /&gt;
	markTaggedPagesAsMinor: false,&lt;br /&gt;
	markTaggedPagesAsPatrolled: true,&lt;br /&gt;
	tagArticleSortOrder: &amp;quot;cat&amp;quot;,&lt;br /&gt;
	customTagList: [],&lt;br /&gt;
	 // Welcome&lt;br /&gt;
	topWelcomes: false,&lt;br /&gt;
	watchWelcomes: true,&lt;br /&gt;
	welcomeHeading: &amp;quot;Welcome&amp;quot;,&lt;br /&gt;
	insertHeadings: true,&lt;br /&gt;
	insertUsername: true,&lt;br /&gt;
	insertSignature: true,  // sign welcome templates, where appropriate&lt;br /&gt;
	quickWelcomeMode: &amp;quot;norm&amp;quot;,&lt;br /&gt;
	quickWelcomeTemplate: &amp;quot;welcome&amp;quot;,&lt;br /&gt;
	customWelcomeList: [],&lt;br /&gt;
	customWelcomeSignature: true,&lt;br /&gt;
	 // Talkback&lt;br /&gt;
	markTalkbackAsMinor: true,&lt;br /&gt;
	insertTalkbackSignature: true,  // always sign talkback templates&lt;br /&gt;
	talkbackHeading: &amp;quot;بازبحث&amp;quot;,&lt;br /&gt;
	adminNoticeHeading: &amp;quot;آگاه‌سازی&amp;quot;,&lt;br /&gt;
	mailHeading: &amp;quot;نامه دارید!&amp;quot;,&lt;br /&gt;
	 // Shared&lt;br /&gt;
	markSharedIPAsMinor: true&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.getPref = function twinkleGetPref( name ) {&lt;br /&gt;
	var result;&lt;br /&gt;
	if ( typeof Twinkle.prefs === &amp;quot;object&amp;quot; &amp;amp;&amp;amp; typeof Twinkle.prefs.twinkle === &amp;quot;object&amp;quot; ) {&lt;br /&gt;
		// look in Twinkle.prefs (twinkleoptions.js)&lt;br /&gt;
		result = Twinkle.prefs.twinkle[name];&lt;br /&gt;
	} else if ( typeof window.TwinkleConfig === &amp;quot;object&amp;quot; ) {&lt;br /&gt;
		// look in TwinkleConfig&lt;br /&gt;
		result = window.TwinkleConfig[name];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if ( result === undefined ) {&lt;br /&gt;
		return Twinkle.defaultConfig.twinkle[name];&lt;br /&gt;
	}&lt;br /&gt;
	return result;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.getFriendlyPref = function twinkleGetFriendlyPref(name) {&lt;br /&gt;
	var result;&lt;br /&gt;
	if ( typeof Twinkle.prefs === &amp;quot;object&amp;quot; &amp;amp;&amp;amp; typeof Twinkle.prefs.friendly === &amp;quot;object&amp;quot; ) {&lt;br /&gt;
		// look in Twinkle.prefs (twinkleoptions.js)&lt;br /&gt;
		result = Twinkle.prefs.friendly[ name ];&lt;br /&gt;
	} else if ( typeof window.FriendlyConfig === &amp;quot;object&amp;quot; ) {&lt;br /&gt;
		// look in FriendlyConfig&lt;br /&gt;
		result = window.FriendlyConfig[ name ];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if ( result === undefined ) {&lt;br /&gt;
		return Twinkle.defaultConfig.friendly[ name ];&lt;br /&gt;
	}&lt;br /&gt;
	return result;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * **************** Twinkle.addPortlet() ****************&lt;br /&gt;
 *&lt;br /&gt;
 * Adds a portlet menu to one of the navigation areas on the page.&lt;br /&gt;
 * This is necessarily quite a hack since skins, navigation areas, and&lt;br /&gt;
 * portlet menu types all work slightly different.&lt;br /&gt;
 *&lt;br /&gt;
 * Available navigation areas depend on the skin used.&lt;br /&gt;
 * Monobook:&lt;br /&gt;
 *  &amp;quot;column-one&amp;quot;, outer div class &amp;quot;portlet&amp;quot;, inner div class &amp;quot;pBody&amp;quot;. Existing portlets: &amp;quot;p-cactions&amp;quot;, &amp;quot;p-personal&amp;quot;, &amp;quot;p-logo&amp;quot;, &amp;quot;p-navigation&amp;quot;, &amp;quot;p-veiws&amp;quot;, &amp;quot;p-interaction&amp;quot;, &amp;quot;p-tb&amp;quot;, &amp;quot;p-coll-print_export&amp;quot;&lt;br /&gt;
 *  Special layout of p-cactions and p-personal through specialized styles.&lt;br /&gt;
 * Vector:&lt;br /&gt;
 *  &amp;quot;mw-panel&amp;quot;, outer div class &amp;quot;portal&amp;quot;, inner div class &amp;quot;body&amp;quot;. Existing portlets/elements: &amp;quot;p-logo&amp;quot;, &amp;quot;p-navigation&amp;quot;, &amp;quot;p-interaction&amp;quot;, &amp;quot;p-tb&amp;quot;, &amp;quot;p-coll-print_export&amp;quot;&lt;br /&gt;
 *  &amp;quot;left-navigation&amp;quot;, outer div class &amp;quot;vectorTabs&amp;quot; or &amp;quot;vectorMenu&amp;quot;, inner div class &amp;quot;&amp;quot; or &amp;quot;menu&amp;quot;. Existing portlets: &amp;quot;p-namespaces&amp;quot;, &amp;quot;p-variants&amp;quot; (menu)&lt;br /&gt;
 *  &amp;quot;right-navigation&amp;quot;, outer div class &amp;quot;vectorTabs&amp;quot; or &amp;quot;vectorMenu&amp;quot;, inner div class &amp;quot;&amp;quot; or &amp;quot;menu&amp;quot;. Existing portlets: &amp;quot;p-views&amp;quot;, &amp;quot;p-cactions&amp;quot; (menu), &amp;quot;p-veiws&amp;quot;&lt;br /&gt;
 *  Special layout of p-personal portlet (part of &amp;quot;head&amp;quot;) through specialized styles.&lt;br /&gt;
 * Modern:&lt;br /&gt;
 *  &amp;quot;mw_contentwrapper&amp;quot; (top nav), outer div class &amp;quot;portlet&amp;quot;, inner div class &amp;quot;pBody&amp;quot;. Existing portlets or elements: &amp;quot;p-cactions&amp;quot;, &amp;quot;mw_content&amp;quot;&lt;br /&gt;
 *  &amp;quot;mw_portlets&amp;quot; (sidebar), outer div class &amp;quot;portlet&amp;quot;, inner div class &amp;quot;pBody&amp;quot;. Existing portlets: &amp;quot;p-navigation&amp;quot;, &amp;quot;p-veiws&amp;quot;, &amp;quot;p-interaction&amp;quot;, &amp;quot;p-tb&amp;quot;, &amp;quot;p-coll-print_export&amp;quot;&lt;br /&gt;
 *&lt;br /&gt;
 * @param String navigation -- id of the target navigation area (skin dependant, on vector either of &amp;quot;left-navigation&amp;quot;, &amp;quot;right-navigation&amp;quot;, or &amp;quot;mw-panel&amp;quot;)&lt;br /&gt;
 * @param String id -- id of the portlet menu to create, preferably start with &amp;quot;p-&amp;quot;.&lt;br /&gt;
 * @param String text -- name of the portlet menu to create. Visibility depends on the class used.&lt;br /&gt;
 * @param String type -- type of portlet. Currently only used for the vector non-sidebar portlets, pass &amp;quot;menu&amp;quot; to make this portlet a drop down menu.&lt;br /&gt;
 * @param Node nextnodeid -- the id of the node before which the new item should be added, should be another item in the same list, or undefined to place it at the end.&lt;br /&gt;
 *&lt;br /&gt;
 * @return Node -- the DOM node of the new item (a DIV element) or null&lt;br /&gt;
 */&lt;br /&gt;
Twinkle.addPortlet = function( navigation, id, text, type, nextnodeid )&lt;br /&gt;
{&lt;br /&gt;
	//sanity checks, and get required DOM nodes&lt;br /&gt;
	var root = document.getElementById( navigation );&lt;br /&gt;
	if ( !root ) {&lt;br /&gt;
		return null;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var item = document.getElementById( id );&lt;br /&gt;
	if ( item ) {&lt;br /&gt;
		if ( item.parentNode &amp;amp;&amp;amp; item.parentNode === root ) {&lt;br /&gt;
			return item;&lt;br /&gt;
		}&lt;br /&gt;
		return null;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var nextnode;&lt;br /&gt;
	if ( nextnodeid ) {&lt;br /&gt;
		nextnode = document.getElementById(nextnodeid);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	//verify/normalize input&lt;br /&gt;
	var skin = mw.config.get(&amp;quot;skin&amp;quot;);&lt;br /&gt;
	type = ( skin === &amp;quot;vector&amp;quot; &amp;amp;&amp;amp; type === &amp;quot;menu&amp;quot; &amp;amp;&amp;amp; ( navigation === &amp;quot;left-navigation&amp;quot; || navigation === &amp;quot;right-navigation&amp;quot; )) ? &amp;quot;menu&amp;quot; : &amp;quot;&amp;quot;;&lt;br /&gt;
	var outerDivClass;&lt;br /&gt;
	var innerDivClass;&lt;br /&gt;
	switch ( skin )&lt;br /&gt;
	{&lt;br /&gt;
		case &amp;quot;vector&amp;quot;:&lt;br /&gt;
			if ( navigation !== &amp;quot;portal&amp;quot; &amp;amp;&amp;amp; navigation !== &amp;quot;left-navigation&amp;quot; &amp;amp;&amp;amp; navigation !== &amp;quot;right-navigation&amp;quot; ) {&lt;br /&gt;
				navigation = &amp;quot;mw-panel&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			outerDivClass = ( navigation === &amp;quot;mw-panel&amp;quot; ) ? &amp;quot;portal&amp;quot; : ( type === &amp;quot;menu&amp;quot; ? &amp;quot;vectorMenu&amp;quot; : &amp;quot;vectorTabs&amp;quot; );&lt;br /&gt;
			innerDivClass = ( navigation === &amp;quot;mw-panel&amp;quot; ) ? &amp;quot;body&amp;quot; : ( type === &amp;quot;menu&amp;quot; ? &amp;quot;menu&amp;quot; : &amp;quot;&amp;quot; );&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;modern&amp;quot;:&lt;br /&gt;
			if ( navigation !== &amp;quot;mw_portlets&amp;quot; &amp;amp;&amp;amp; navigation !== &amp;quot;mw_contentwrapper&amp;quot; ) {&lt;br /&gt;
				navigation = &amp;quot;mw_portlets&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			outerDivClass = &amp;quot;portlet&amp;quot;;&lt;br /&gt;
			innerDivClass = &amp;quot;pBody&amp;quot;;&lt;br /&gt;
			break;&lt;br /&gt;
		default:&lt;br /&gt;
			navigation = &amp;quot;column-one&amp;quot;;&lt;br /&gt;
			outerDivClass = &amp;quot;portlet&amp;quot;;&lt;br /&gt;
			innerDivClass = &amp;quot;pBody&amp;quot;;&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Build the DOM elements.&lt;br /&gt;
	var outerDiv = document.createElement( &amp;quot;div&amp;quot; );&lt;br /&gt;
	outerDiv.className = outerDivClass + &amp;quot; emptyPortlet&amp;quot;;&lt;br /&gt;
	outerDiv.id = id;&lt;br /&gt;
	if ( nextnode &amp;amp;&amp;amp; nextnode.parentNode === root ) {&lt;br /&gt;
		root.insertBefore( outerDiv, nextnode );&lt;br /&gt;
	} else {&lt;br /&gt;
		root.appendChild( outerDiv );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var h5 = document.createElement( &amp;quot;h3&amp;quot; );&lt;br /&gt;
	if ( type === &amp;quot;menu&amp;quot; ) {&lt;br /&gt;
		var span = document.createElement( &amp;quot;span&amp;quot; );&lt;br /&gt;
		span.appendChild( document.createTextNode( text ) );&lt;br /&gt;
		h5.appendChild( span );&lt;br /&gt;
&lt;br /&gt;
		var a = document.createElement( &amp;quot;a&amp;quot; );&lt;br /&gt;
		a.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		$( a ).click(function ( e ) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
&lt;br /&gt;
			if ( !Twinkle.userAuthorized ) {&lt;br /&gt;
				alert(&amp;quot;Sorry, your account is too new to use Twinkle.&amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		h5.appendChild( a );&lt;br /&gt;
	} else {&lt;br /&gt;
		h5.appendChild( document.createTextNode( text ) );&lt;br /&gt;
	}&lt;br /&gt;
	outerDiv.appendChild( h5 );&lt;br /&gt;
&lt;br /&gt;
	if ( type === &amp;quot;menu&amp;quot; ) {&lt;br /&gt;
		var innerDiv = document.createElement( &amp;quot;div&amp;quot; );&lt;br /&gt;
		innerDiv.className = innerDivClass;&lt;br /&gt;
		outerDiv.appendChild(innerDiv);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var ul = document.createElement( &amp;quot;ul&amp;quot; );&lt;br /&gt;
	(innerDiv || outerDiv).appendChild( ul );&lt;br /&gt;
&lt;br /&gt;
	return outerDiv;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * **************** Twinkle.addPortletLink() ****************&lt;br /&gt;
 * Builds a portlet menu if it doesn&amp;#039;t exist yet, and add the portlet link.&lt;br /&gt;
 * @param task: Either a URL for the portlet link or a function to execute.&lt;br /&gt;
 */&lt;br /&gt;
Twinkle.addPortletLink = function( task, text, id, tooltip )&lt;br /&gt;
{&lt;br /&gt;
	if ( Twinkle.getPref(&amp;quot;portletArea&amp;quot;) !== null ) {&lt;br /&gt;
		Twinkle.addPortlet( Twinkle.getPref( &amp;quot;portletArea&amp;quot; ), Twinkle.getPref( &amp;quot;portletId&amp;quot; ), Twinkle.getPref( &amp;quot;portletName&amp;quot; ), Twinkle.getPref( &amp;quot;portletType&amp;quot; ), Twinkle.getPref( &amp;quot;portletNext&amp;quot; ));&lt;br /&gt;
	}&lt;br /&gt;
	var link = mw.util.addPortletLink( Twinkle.getPref( &amp;quot;portletId&amp;quot; ), typeof task === &amp;quot;string&amp;quot; ? task : &amp;quot;#&amp;quot;, text, id, tooltip );&lt;br /&gt;
	if ( $.isFunction( task ) ) {&lt;br /&gt;
		$( link ).click(function ( ev ) {&lt;br /&gt;
			task();&lt;br /&gt;
			ev.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
	if ( $.collapsibleTabs ) {&lt;br /&gt;
		$.collapsibleTabs.handleResize();&lt;br /&gt;
	}&lt;br /&gt;
	return link;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * **************** General initialization code ****************&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
var scriptpathbefore = mw.util.wikiScript( &amp;quot;index&amp;quot; ) + &amp;quot;?title=&amp;quot;,&lt;br /&gt;
    scriptpathafter = &amp;quot;&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;amp;happy=yes&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Retrieve the user&amp;#039;s Twinkle preferences&lt;br /&gt;
$.ajax({&lt;br /&gt;
	url: scriptpathbefore + &amp;quot;User:&amp;quot; + encodeURIComponent( mw.config.get(&amp;quot;wgUserName&amp;quot;)) + &amp;quot;/twinkleoptions.js&amp;quot; + scriptpathafter,&lt;br /&gt;
	dataType: &amp;quot;text&amp;quot;&lt;br /&gt;
})&lt;br /&gt;
	.fail(function () {	mw.util.jsMessage( &amp;quot;Could not load twinkleoptions.js&amp;quot; ); })&lt;br /&gt;
	.done(function ( optionsText ) {&lt;br /&gt;
&lt;br /&gt;
		// Quick pass if user has no options&lt;br /&gt;
		if ( optionsText === &amp;quot;&amp;quot; ) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// Twinkle options are basically a JSON object with some comments. Strip those:&lt;br /&gt;
		optionsText = optionsText.replace( /(?:^(?:\/\/[^\n]*\n)*\n*|(?:\/\/[^\n]*(?:\n|$))*$)/g, &amp;quot;&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
		// First version of options had some boilerplate code to make it eval-able -- strip that too. This part may become obsolete down the line.&lt;br /&gt;
		if ( optionsText.lastIndexOf( &amp;quot;window.Twinkle.prefs = &amp;quot;, 0 ) === 0 ) {&lt;br /&gt;
			optionsText = optionsText.replace( /(?:^window.Twinkle.prefs = |;\n*$)/g, &amp;quot;&amp;quot; );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		try {&lt;br /&gt;
			var options = $.parseJSON( optionsText );&lt;br /&gt;
&lt;br /&gt;
			// Assuming that our options evolve, we will want to transform older versions:&lt;br /&gt;
			//if ( options.optionsVersion === undefined ) {&lt;br /&gt;
			// ...&lt;br /&gt;
			// options.optionsVersion = 1;&lt;br /&gt;
			//}&lt;br /&gt;
			//if ( options.optionsVersion === 1 ) {&lt;br /&gt;
			// ...&lt;br /&gt;
			// options.optionsVersion = 2;&lt;br /&gt;
			//}&lt;br /&gt;
			// At the same time, twinkleconfig.js needs to be adapted to write a higher version number into the options.&lt;br /&gt;
&lt;br /&gt;
			if ( options ) {&lt;br /&gt;
				Twinkle.prefs = options;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		catch ( e ) {&lt;br /&gt;
			mw.util.jsMessage(&amp;quot;Could not parse twinkleoptions.js&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
	})&lt;br /&gt;
	.always(function () {&lt;br /&gt;
		$( Twinkle.load );&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
// Developers: you can import custom Twinkle modules here&lt;br /&gt;
// For example, mw.loader.load(scriptpathbefore + &amp;quot;User:UncleDouggie/morebits-test.js&amp;quot; + scriptpathafter);&lt;br /&gt;
&lt;br /&gt;
Twinkle.load = function () {&lt;br /&gt;
	    // Don&amp;#039;t activate on special pages other than &amp;quot;Contributions&amp;quot; so that they load faster, especially the watchlist.&lt;br /&gt;
	var isSpecialPage = ( mw.config.get(&amp;#039;wgNamespaceNumber&amp;#039;) === -1&lt;br /&gt;
	    	&amp;amp;&amp;amp; mw.config.get(&amp;#039;wgCanonicalSpecialPageName&amp;#039;) !== &amp;quot;Contributions&amp;quot;&lt;br /&gt;
	    	&amp;amp;&amp;amp; mw.config.get(&amp;#039;wgCanonicalSpecialPageName&amp;#039;) !== &amp;quot;Prefixindex&amp;quot; ),&lt;br /&gt;
&lt;br /&gt;
	    // Also, Twinkle is incompatible with Internet Explorer versions 8 or lower, so don&amp;#039;t load there either.&lt;br /&gt;
	    isOldIE = ( $.client.profile().name === &amp;#039;msie&amp;#039; &amp;amp;&amp;amp; $.client.profile().versionNumber &amp;lt; 9 );&lt;br /&gt;
&lt;br /&gt;
    // Prevent users that are not autoconfirmed from loading Twinkle as well.&lt;br /&gt;
	if ( isSpecialPage || isOldIE || !Twinkle.userAuthorized ) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Load the modules in the order that the tabs should appears&lt;br /&gt;
	// User/user talk-related&lt;br /&gt;
	Twinkle.arv();&lt;br /&gt;
	Twinkle.warn();&lt;br /&gt;
	Twinkle.welcome();&lt;br /&gt;
	Twinkle.shared();&lt;br /&gt;
	Twinkle.talkback();&lt;br /&gt;
	// Deletion&lt;br /&gt;
	Twinkle.speedy();&lt;br /&gt;
	Twinkle.prod();&lt;br /&gt;
	Twinkle.xfd();&lt;br /&gt;
	Twinkle.image();&lt;br /&gt;
	// Maintenance&lt;br /&gt;
	Twinkle.protect();&lt;br /&gt;
	Twinkle.tag();&lt;br /&gt;
	// Misc. ones last&lt;br /&gt;
	Twinkle.diff();&lt;br /&gt;
	Twinkle.unlink();&lt;br /&gt;
	Twinkle.config.init();&lt;br /&gt;
	Twinkle.fluff.init();&lt;br /&gt;
	if ( Morebits.userIsInGroup(&amp;#039;sysop&amp;#039;) ) {&lt;br /&gt;
		Twinkle.delimages();&lt;br /&gt;
		Twinkle.deprod();&lt;br /&gt;
		Twinkle.batchdelete();&lt;br /&gt;
		Twinkle.batchprotect();&lt;br /&gt;
		Twinkle.batchundelete();&lt;br /&gt;
	}&lt;br /&gt;
	// Run the initialization callbacks for any custom modules&lt;br /&gt;
	$( Twinkle.initCallbacks ).each(function ( k, v ) { v(); });&lt;br /&gt;
	Twinkle.addInitCallback = function ( func ) { func(); };&lt;br /&gt;
&lt;br /&gt;
	// Increases text size in Twinkle dialogs, if so configured&lt;br /&gt;
	if ( Twinkle.getPref( &amp;quot;dialogLargeFont&amp;quot; ) ) {&lt;br /&gt;
		mw.util.addCSS( &amp;quot;.morebits-dialog-content, .morebits-dialog-footerlinks { font-size: 100% !important; } &amp;quot; +&lt;br /&gt;
			&amp;quot;.morebits-dialog input, .morebits-dialog select, .morebits-dialog-content button { font-size: inherit !important; }&amp;quot; );&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
} ( window, document, jQuery )); // End wrap with anonymous function&lt;br /&gt;
&lt;br /&gt;
// &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rootadmin</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-Twinkle-test.js&amp;diff=2656&amp;oldid=prev</id>
		<title>Rootadmin: ۱ نسخه واردشده</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-Twinkle-test.js&amp;diff=2656&amp;oldid=prev"/>
		<updated>2017-08-29T21:52:24Z</updated>

		<summary type="html">&lt;p&gt;۱ نسخه واردشده&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحهٔ تازه&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * +-------------------------------------------------------------------------+&lt;br /&gt;
 * |                  === WARNING: GLOBAL GADGET FILE ===                    |&lt;br /&gt;
 * |                Changes to this page affect many users.                  |&lt;br /&gt;
 * |           Please discuss changes at [[WT:TW]] before editing.           |&lt;br /&gt;
 * +-------------------------------------------------------------------------+&lt;br /&gt;
 *&lt;br /&gt;
 * Imported from github [https://github.com/azatoth/twinkle].&lt;br /&gt;
 * All changes should be made in the repository, otherwise they will be lost.&lt;br /&gt;
 *&lt;br /&gt;
 * To update this script from github, you must have a local repository set up. Then&lt;br /&gt;
 * follow the instructions at [https://github.com/azatoth/twinkle/blob/master/README.md].&lt;br /&gt;
 *&lt;br /&gt;
 * ----------&lt;br /&gt;
 *&lt;br /&gt;
 * This is AzaToth&amp;#039;s Twinkle, the popular script sidekick for newbies, admins, and&lt;br /&gt;
 * every Wikipedian in between. Visit [[WP:TW]] for more information.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
//&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
( function ( window, document, $, undefined ) { // Wrap with anonymous function&lt;br /&gt;
&lt;br /&gt;
var Twinkle = {};&lt;br /&gt;
window.Twinkle = Twinkle;  // allow global access&lt;br /&gt;
&lt;br /&gt;
// Check if account is experienced enough to use Twinkle&lt;br /&gt;
Twinkle.userAuthorized = Morebits.userIsInGroup( &amp;quot;autoconfirmed&amp;quot; ) || Morebits.userIsInGroup( &amp;quot;confirmed&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
// for use by custom modules (normally empty)&lt;br /&gt;
Twinkle.initCallbacks = [];&lt;br /&gt;
Twinkle.addInitCallback = function twinkleAddInitCallback( func ) {&lt;br /&gt;
	Twinkle.initCallbacks.push( func );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.defaultConfig = {};&lt;br /&gt;
/**&lt;br /&gt;
 * Twinkle.defaultConfig.twinkle and Twinkle.defaultConfig.friendly&lt;br /&gt;
 *&lt;br /&gt;
 * This holds the default set of preferences used by Twinkle. (The |friendly| object holds preferences stored in the FriendlyConfig object.)&lt;br /&gt;
 * It is important that all new preferences added here, especially admin-only ones, are also added to&lt;br /&gt;
 * |Twinkle.config.sections| in twinkleconfig.js, so they are configurable via the Twinkle preferences panel.&lt;br /&gt;
 * For help on the actual preferences, see the comments in twinkleconfig.js.&lt;br /&gt;
 */&lt;br /&gt;
Twinkle.defaultConfig.twinkle = {&lt;br /&gt;
	 // General&lt;br /&gt;
	summaryAd: &amp;quot; ([[وپ:توینکل|T]])&amp;quot;,&lt;br /&gt;
	deletionSummaryAd: &amp;quot; ([[وپ:توینکل|T]])&amp;quot;,&lt;br /&gt;
	protectionSummaryAd: &amp;quot; ([[وپ:توینکل|T]])&amp;quot;,&lt;br /&gt;
	userTalkPageMode: &amp;quot;window&amp;quot;,&lt;br /&gt;
	dialogLargeFont: false,&lt;br /&gt;
	 // ARV&lt;br /&gt;
	spiWatchReport: &amp;quot;yes&amp;quot;,&lt;br /&gt;
	 // Fluff (revert and rollback)&lt;br /&gt;
	openTalkPage: [ &amp;quot;agf&amp;quot;, &amp;quot;norm&amp;quot;, &amp;quot;vand&amp;quot; ],&lt;br /&gt;
	openTalkPageOnAutoRevert: false,&lt;br /&gt;
	markRevertedPagesAsMinor: [ &amp;quot;vand&amp;quot; ],&lt;br /&gt;
	watchRevertedPages: [ &amp;quot;agf&amp;quot;, &amp;quot;norm&amp;quot;, &amp;quot;vand&amp;quot;, &amp;quot;torev&amp;quot; ],&lt;br /&gt;
	offerReasonOnNormalRevert: true,&lt;br /&gt;
	confirmOnFluff: false,&lt;br /&gt;
	showRollbackLinks: [ &amp;quot;diff&amp;quot;, &amp;quot;others&amp;quot; ],&lt;br /&gt;
	 // DI (twinkleimage)&lt;br /&gt;
	notifyUserOnDeli: true,&lt;br /&gt;
	deliWatchPage: &amp;quot;default&amp;quot;,&lt;br /&gt;
	deliWatchUser: &amp;quot;default&amp;quot;,&lt;br /&gt;
	 // PROD&lt;br /&gt;
	watchProdPages: true,&lt;br /&gt;
	prodReasonDefault: &amp;quot;&amp;quot;,&lt;br /&gt;
	logProdPages: false,&lt;br /&gt;
	prodLogPageName: &amp;quot;PROD log&amp;quot;,&lt;br /&gt;
	 // CSD&lt;br /&gt;
	speedySelectionStyle: &amp;quot;buttonClick&amp;quot;,&lt;br /&gt;
	watchSpeedyPages: [ &amp;quot;ع۳&amp;quot;, &amp;quot;ع۵&amp;quot;, &amp;quot;ع۱۰&amp;quot;, &amp;quot;ع۱۱&amp;quot;, &amp;quot;ع۱۲&amp;quot; ],&lt;br /&gt;
	markSpeedyPagesAsPatrolled: true,&lt;br /&gt;
	// these next two should probably be identical by default&lt;br /&gt;
	notifyUserOnSpeedyDeletionNomination:    [ &amp;quot;db&amp;quot;, &amp;quot;ع۱&amp;quot;, &amp;quot;ع۲&amp;quot;, &amp;quot;ع۳&amp;quot;, &amp;quot;ع۴&amp;quot;, &amp;quot;ع۶&amp;quot;, &amp;quot;ع۱۰&amp;quot;, &amp;quot;ع۱۱&amp;quot;, &amp;quot;ع۱۲&amp;quot;, &amp;quot;ع۱۳&amp;quot;, &amp;quot;م۱&amp;quot;, &amp;quot;م۲&amp;quot;, &amp;quot;م۳&amp;quot;, &amp;quot;م۵&amp;quot;, &amp;quot;م۷&amp;quot;, &amp;quot;م۹&amp;quot;, &amp;quot;م۱۰&amp;quot;, &amp;quot;م۱۱&amp;quot;, &amp;quot;پ۱&amp;quot;, &amp;quot;پ۲&amp;quot;, &amp;quot;پ۳&amp;quot;, &amp;quot;پ۷&amp;quot;, &amp;quot;پ۹&amp;quot;, &amp;quot;پ۱۰&amp;quot;, &amp;quot;ک۳&amp;quot;, &amp;quot;ک۵&amp;quot;, &amp;quot;ت۲&amp;quot;, &amp;quot;ت۳&amp;quot;, &amp;quot;د۱&amp;quot;, &amp;quot;د۲&amp;quot; ],&lt;br /&gt;
	welcomeUserOnSpeedyDeletionNotification: [ &amp;quot;db&amp;quot;, &amp;quot;ع۱&amp;quot;, &amp;quot;ع۲&amp;quot;, &amp;quot;ع۳&amp;quot;, &amp;quot;ع۴&amp;quot;, &amp;quot;ع۶&amp;quot;, &amp;quot;ع۱۰&amp;quot;, &amp;quot;ع۱۱&amp;quot;, &amp;quot;ع۱۲&amp;quot;, &amp;quot;ع۱۳&amp;quot;, &amp;quot;م۱&amp;quot;, &amp;quot;م۲&amp;quot;, &amp;quot;م۳&amp;quot;, &amp;quot;م۵&amp;quot;, &amp;quot;م۷&amp;quot;, &amp;quot;م۹&amp;quot;, &amp;quot;م۱۰&amp;quot;, &amp;quot;م۱۱&amp;quot;, &amp;quot;پ۱&amp;quot;, &amp;quot;پ۲&amp;quot;, &amp;quot;پ۳&amp;quot;, &amp;quot;پ۷&amp;quot;, &amp;quot;پ۹&amp;quot;, &amp;quot;پ۱۰&amp;quot;, &amp;quot;ک۳&amp;quot;, &amp;quot;ک۵&amp;quot;, &amp;quot;ت۲&amp;quot;, &amp;quot;ت۳&amp;quot;, &amp;quot;د۱&amp;quot;, &amp;quot;د۲&amp;quot; ],&lt;br /&gt;
	promptForSpeedyDeletionSummary: [ &amp;quot;db&amp;quot;, &amp;quot;ع۱&amp;quot;, &amp;quot;ع۲&amp;quot;, &amp;quot;ع۳&amp;quot;, &amp;quot;ع۴&amp;quot;, &amp;quot;ع۶&amp;quot;, &amp;quot;ع۷&amp;quot;, &amp;quot;ع۸&amp;quot;, &amp;quot;ع۱۰&amp;quot;, &amp;quot;ع۱۱&amp;quot;, &amp;quot;ع۱۲&amp;quot;, &amp;quot;م۱&amp;quot;, &amp;quot;م۲&amp;quot;, &amp;quot;م۳&amp;quot;, &amp;quot;م۵&amp;quot;, &amp;quot;م۷&amp;quot;, &amp;quot;م۹&amp;quot;, &amp;quot;م۱۰&amp;quot;, &amp;quot;م۱۱&amp;quot;, &amp;quot;پ۲&amp;quot;, &amp;quot;پ۴&amp;quot;, &amp;quot;پ۷&amp;quot;, &amp;quot;پ۸&amp;quot;, &amp;quot;پ۱۰&amp;quot;, &amp;quot;ک۵&amp;quot;, &amp;quot;ت۲&amp;quot;, &amp;quot;ت۳&amp;quot;, &amp;quot;د۱&amp;quot;, &amp;quot;د۲&amp;quot; ],&lt;br /&gt;
	openUserTalkPageOnSpeedyDelete: [ &amp;quot;db&amp;quot;, &amp;quot;ع۱&amp;quot;, &amp;quot;ع۲&amp;quot;, &amp;quot;ع۳&amp;quot;, &amp;quot;ع۴&amp;quot;, &amp;quot;ع۵&amp;quot;, &amp;quot;ع۱۰&amp;quot;, &amp;quot;ع۱۱&amp;quot;, &amp;quot;ع۱۲&amp;quot;, &amp;quot;م۱&amp;quot;, &amp;quot;م۳&amp;quot;, &amp;quot;م۷&amp;quot;, &amp;quot;م۹&amp;quot;, &amp;quot;م۱۰&amp;quot;, &amp;quot;م۱۱&amp;quot;, &amp;quot;پ۳&amp;quot;, &amp;quot;پ۷&amp;quot;, &amp;quot;پ۹&amp;quot;, &amp;quot;ک۳&amp;quot;, &amp;quot;ک۵&amp;quot;, &amp;quot;ت۲&amp;quot;, &amp;quot;د۱&amp;quot; ],&lt;br /&gt;
	deleteTalkPageOnDelete: false,&lt;br /&gt;
	deleteRedirectsOnDelete: true,&lt;br /&gt;
	deleteSysopDefaultToTag: false,&lt;br /&gt;
	speedyWindowHeight: 500,&lt;br /&gt;
	speedyWindowWidth: 800,&lt;br /&gt;
	logSpeedyNominations: false,&lt;br /&gt;
	speedyLogPageName: &amp;quot;CSD log&amp;quot;,&lt;br /&gt;
	noLogOnSpeedyNomination: [ &amp;quot;ک۱&amp;quot; ],&lt;br /&gt;
	 // Unlink&lt;br /&gt;
	unlinkNamespaces: [ &amp;quot;0&amp;quot;, &amp;quot;10&amp;quot;, &amp;quot;100&amp;quot;, &amp;quot;118&amp;quot; ],&lt;br /&gt;
	 // Warn&lt;br /&gt;
	defaultWarningGroup: &amp;quot;1&amp;quot;,&lt;br /&gt;
	showSharedIPNotice: true,&lt;br /&gt;
	watchWarnings: true,&lt;br /&gt;
	blankTalkpageOnIndefBlock: false,&lt;br /&gt;
	customWarningList: [],&lt;br /&gt;
	 // XfD&lt;br /&gt;
	xfdWatchDiscussion: &amp;quot;default&amp;quot;,&lt;br /&gt;
	xfdWatchList: &amp;quot;no&amp;quot;,&lt;br /&gt;
	xfdWatchPage: &amp;quot;default&amp;quot;,&lt;br /&gt;
	xfdWatchUser: &amp;quot;default&amp;quot;,&lt;br /&gt;
	 // Hidden preferences&lt;br /&gt;
	revertMaxRevisions: 50,&lt;br /&gt;
	batchdeleteChunks: 50,&lt;br /&gt;
	batchDeleteMinCutOff: 5,&lt;br /&gt;
	batchMax: 5000,&lt;br /&gt;
	batchProtectChunks: 50,&lt;br /&gt;
	batchProtectMinCutOff: 5,&lt;br /&gt;
	batchundeleteChunks: 50,&lt;br /&gt;
	batchUndeleteMinCutOff: 5,&lt;br /&gt;
	deliChunks: 500,&lt;br /&gt;
	deliMax: 5000,&lt;br /&gt;
	proddeleteChunks: 50&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// now some skin dependent config.&lt;br /&gt;
if ( mw.config.get( &amp;quot;skin&amp;quot; ) === &amp;quot;vector&amp;quot; ) {&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletArea = &amp;quot;right-navigation&amp;quot;;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletId   = &amp;quot;p-twinkle&amp;quot;;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletName = &amp;quot;توینکل&amp;quot;;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletType = &amp;quot;menu&amp;quot;;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletNext = &amp;quot;p-veiws&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletArea =  null;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletId   = &amp;quot;p-cactions&amp;quot;;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletName = null;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletType = null;&lt;br /&gt;
	Twinkle.defaultConfig.twinkle.portletNext = null;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Twinkle.defaultConfig.friendly = {&lt;br /&gt;
	 // Tag&lt;br /&gt;
	groupByDefault: true,&lt;br /&gt;
	watchTaggedPages: true,&lt;br /&gt;
	watchMergeDiscussions: true,&lt;br /&gt;
	markTaggedPagesAsMinor: false,&lt;br /&gt;
	markTaggedPagesAsPatrolled: true,&lt;br /&gt;
	tagArticleSortOrder: &amp;quot;cat&amp;quot;,&lt;br /&gt;
	customTagList: [],&lt;br /&gt;
	 // Welcome&lt;br /&gt;
	topWelcomes: false,&lt;br /&gt;
	watchWelcomes: true,&lt;br /&gt;
	welcomeHeading: &amp;quot;Welcome&amp;quot;,&lt;br /&gt;
	insertHeadings: true,&lt;br /&gt;
	insertUsername: true,&lt;br /&gt;
	insertSignature: true,  // sign welcome templates, where appropriate&lt;br /&gt;
	quickWelcomeMode: &amp;quot;norm&amp;quot;,&lt;br /&gt;
	quickWelcomeTemplate: &amp;quot;welcome&amp;quot;,&lt;br /&gt;
	customWelcomeList: [],&lt;br /&gt;
	customWelcomeSignature: true,&lt;br /&gt;
	 // Talkback&lt;br /&gt;
	markTalkbackAsMinor: true,&lt;br /&gt;
	insertTalkbackSignature: true,  // always sign talkback templates&lt;br /&gt;
	talkbackHeading: &amp;quot;بازبحث&amp;quot;,&lt;br /&gt;
	adminNoticeHeading: &amp;quot;آگاه‌سازی&amp;quot;,&lt;br /&gt;
	mailHeading: &amp;quot;نامه دارید!&amp;quot;,&lt;br /&gt;
	 // Shared&lt;br /&gt;
	markSharedIPAsMinor: true&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.getPref = function twinkleGetPref( name ) {&lt;br /&gt;
	var result;&lt;br /&gt;
	if ( typeof Twinkle.prefs === &amp;quot;object&amp;quot; &amp;amp;&amp;amp; typeof Twinkle.prefs.twinkle === &amp;quot;object&amp;quot; ) {&lt;br /&gt;
		// look in Twinkle.prefs (twinkleoptions.js)&lt;br /&gt;
		result = Twinkle.prefs.twinkle[name];&lt;br /&gt;
	} else if ( typeof window.TwinkleConfig === &amp;quot;object&amp;quot; ) {&lt;br /&gt;
		// look in TwinkleConfig&lt;br /&gt;
		result = window.TwinkleConfig[name];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if ( result === undefined ) {&lt;br /&gt;
		return Twinkle.defaultConfig.twinkle[name];&lt;br /&gt;
	}&lt;br /&gt;
	return result;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.getFriendlyPref = function twinkleGetFriendlyPref(name) {&lt;br /&gt;
	var result;&lt;br /&gt;
	if ( typeof Twinkle.prefs === &amp;quot;object&amp;quot; &amp;amp;&amp;amp; typeof Twinkle.prefs.friendly === &amp;quot;object&amp;quot; ) {&lt;br /&gt;
		// look in Twinkle.prefs (twinkleoptions.js)&lt;br /&gt;
		result = Twinkle.prefs.friendly[ name ];&lt;br /&gt;
	} else if ( typeof window.FriendlyConfig === &amp;quot;object&amp;quot; ) {&lt;br /&gt;
		// look in FriendlyConfig&lt;br /&gt;
		result = window.FriendlyConfig[ name ];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if ( result === undefined ) {&lt;br /&gt;
		return Twinkle.defaultConfig.friendly[ name ];&lt;br /&gt;
	}&lt;br /&gt;
	return result;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * **************** Twinkle.addPortlet() ****************&lt;br /&gt;
 *&lt;br /&gt;
 * Adds a portlet menu to one of the navigation areas on the page.&lt;br /&gt;
 * This is necessarily quite a hack since skins, navigation areas, and&lt;br /&gt;
 * portlet menu types all work slightly different.&lt;br /&gt;
 *&lt;br /&gt;
 * Available navigation areas depend on the skin used.&lt;br /&gt;
 * Monobook:&lt;br /&gt;
 *  &amp;quot;column-one&amp;quot;, outer div class &amp;quot;portlet&amp;quot;, inner div class &amp;quot;pBody&amp;quot;. Existing portlets: &amp;quot;p-cactions&amp;quot;, &amp;quot;p-personal&amp;quot;, &amp;quot;p-logo&amp;quot;, &amp;quot;p-navigation&amp;quot;, &amp;quot;p-veiws&amp;quot;, &amp;quot;p-interaction&amp;quot;, &amp;quot;p-tb&amp;quot;, &amp;quot;p-coll-print_export&amp;quot;&lt;br /&gt;
 *  Special layout of p-cactions and p-personal through specialized styles.&lt;br /&gt;
 * Vector:&lt;br /&gt;
 *  &amp;quot;mw-panel&amp;quot;, outer div class &amp;quot;portal&amp;quot;, inner div class &amp;quot;body&amp;quot;. Existing portlets/elements: &amp;quot;p-logo&amp;quot;, &amp;quot;p-navigation&amp;quot;, &amp;quot;p-interaction&amp;quot;, &amp;quot;p-tb&amp;quot;, &amp;quot;p-coll-print_export&amp;quot;&lt;br /&gt;
 *  &amp;quot;left-navigation&amp;quot;, outer div class &amp;quot;vectorTabs&amp;quot; or &amp;quot;vectorMenu&amp;quot;, inner div class &amp;quot;&amp;quot; or &amp;quot;menu&amp;quot;. Existing portlets: &amp;quot;p-namespaces&amp;quot;, &amp;quot;p-variants&amp;quot; (menu)&lt;br /&gt;
 *  &amp;quot;right-navigation&amp;quot;, outer div class &amp;quot;vectorTabs&amp;quot; or &amp;quot;vectorMenu&amp;quot;, inner div class &amp;quot;&amp;quot; or &amp;quot;menu&amp;quot;. Existing portlets: &amp;quot;p-views&amp;quot;, &amp;quot;p-cactions&amp;quot; (menu), &amp;quot;p-veiws&amp;quot;&lt;br /&gt;
 *  Special layout of p-personal portlet (part of &amp;quot;head&amp;quot;) through specialized styles.&lt;br /&gt;
 * Modern:&lt;br /&gt;
 *  &amp;quot;mw_contentwrapper&amp;quot; (top nav), outer div class &amp;quot;portlet&amp;quot;, inner div class &amp;quot;pBody&amp;quot;. Existing portlets or elements: &amp;quot;p-cactions&amp;quot;, &amp;quot;mw_content&amp;quot;&lt;br /&gt;
 *  &amp;quot;mw_portlets&amp;quot; (sidebar), outer div class &amp;quot;portlet&amp;quot;, inner div class &amp;quot;pBody&amp;quot;. Existing portlets: &amp;quot;p-navigation&amp;quot;, &amp;quot;p-veiws&amp;quot;, &amp;quot;p-interaction&amp;quot;, &amp;quot;p-tb&amp;quot;, &amp;quot;p-coll-print_export&amp;quot;&lt;br /&gt;
 *&lt;br /&gt;
 * @param String navigation -- id of the target navigation area (skin dependant, on vector either of &amp;quot;left-navigation&amp;quot;, &amp;quot;right-navigation&amp;quot;, or &amp;quot;mw-panel&amp;quot;)&lt;br /&gt;
 * @param String id -- id of the portlet menu to create, preferably start with &amp;quot;p-&amp;quot;.&lt;br /&gt;
 * @param String text -- name of the portlet menu to create. Visibility depends on the class used.&lt;br /&gt;
 * @param String type -- type of portlet. Currently only used for the vector non-sidebar portlets, pass &amp;quot;menu&amp;quot; to make this portlet a drop down menu.&lt;br /&gt;
 * @param Node nextnodeid -- the id of the node before which the new item should be added, should be another item in the same list, or undefined to place it at the end.&lt;br /&gt;
 *&lt;br /&gt;
 * @return Node -- the DOM node of the new item (a DIV element) or null&lt;br /&gt;
 */&lt;br /&gt;
Twinkle.addPortlet = function( navigation, id, text, type, nextnodeid )&lt;br /&gt;
{&lt;br /&gt;
	//sanity checks, and get required DOM nodes&lt;br /&gt;
	var root = document.getElementById( navigation );&lt;br /&gt;
	if ( !root ) {&lt;br /&gt;
		return null;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var item = document.getElementById( id );&lt;br /&gt;
	if ( item ) {&lt;br /&gt;
		if ( item.parentNode &amp;amp;&amp;amp; item.parentNode === root ) {&lt;br /&gt;
			return item;&lt;br /&gt;
		}&lt;br /&gt;
		return null;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var nextnode;&lt;br /&gt;
	if ( nextnodeid ) {&lt;br /&gt;
		nextnode = document.getElementById(nextnodeid);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	//verify/normalize input&lt;br /&gt;
	var skin = mw.config.get(&amp;quot;skin&amp;quot;);&lt;br /&gt;
	type = ( skin === &amp;quot;vector&amp;quot; &amp;amp;&amp;amp; type === &amp;quot;menu&amp;quot; &amp;amp;&amp;amp; ( navigation === &amp;quot;left-navigation&amp;quot; || navigation === &amp;quot;right-navigation&amp;quot; )) ? &amp;quot;menu&amp;quot; : &amp;quot;&amp;quot;;&lt;br /&gt;
	var outerDivClass;&lt;br /&gt;
	var innerDivClass;&lt;br /&gt;
	switch ( skin )&lt;br /&gt;
	{&lt;br /&gt;
		case &amp;quot;vector&amp;quot;:&lt;br /&gt;
			if ( navigation !== &amp;quot;portal&amp;quot; &amp;amp;&amp;amp; navigation !== &amp;quot;left-navigation&amp;quot; &amp;amp;&amp;amp; navigation !== &amp;quot;right-navigation&amp;quot; ) {&lt;br /&gt;
				navigation = &amp;quot;mw-panel&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			outerDivClass = ( navigation === &amp;quot;mw-panel&amp;quot; ) ? &amp;quot;portal&amp;quot; : ( type === &amp;quot;menu&amp;quot; ? &amp;quot;vectorMenu&amp;quot; : &amp;quot;vectorTabs&amp;quot; );&lt;br /&gt;
			innerDivClass = ( navigation === &amp;quot;mw-panel&amp;quot; ) ? &amp;quot;body&amp;quot; : ( type === &amp;quot;menu&amp;quot; ? &amp;quot;menu&amp;quot; : &amp;quot;&amp;quot; );&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;modern&amp;quot;:&lt;br /&gt;
			if ( navigation !== &amp;quot;mw_portlets&amp;quot; &amp;amp;&amp;amp; navigation !== &amp;quot;mw_contentwrapper&amp;quot; ) {&lt;br /&gt;
				navigation = &amp;quot;mw_portlets&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			outerDivClass = &amp;quot;portlet&amp;quot;;&lt;br /&gt;
			innerDivClass = &amp;quot;pBody&amp;quot;;&lt;br /&gt;
			break;&lt;br /&gt;
		default:&lt;br /&gt;
			navigation = &amp;quot;column-one&amp;quot;;&lt;br /&gt;
			outerDivClass = &amp;quot;portlet&amp;quot;;&lt;br /&gt;
			innerDivClass = &amp;quot;pBody&amp;quot;;&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Build the DOM elements.&lt;br /&gt;
	var outerDiv = document.createElement( &amp;quot;div&amp;quot; );&lt;br /&gt;
	outerDiv.className = outerDivClass + &amp;quot; emptyPortlet&amp;quot;;&lt;br /&gt;
	outerDiv.id = id;&lt;br /&gt;
	if ( nextnode &amp;amp;&amp;amp; nextnode.parentNode === root ) {&lt;br /&gt;
		root.insertBefore( outerDiv, nextnode );&lt;br /&gt;
	} else {&lt;br /&gt;
		root.appendChild( outerDiv );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var h5 = document.createElement( &amp;quot;h3&amp;quot; );&lt;br /&gt;
	if ( type === &amp;quot;menu&amp;quot; ) {&lt;br /&gt;
		var span = document.createElement( &amp;quot;span&amp;quot; );&lt;br /&gt;
		span.appendChild( document.createTextNode( text ) );&lt;br /&gt;
		h5.appendChild( span );&lt;br /&gt;
&lt;br /&gt;
		var a = document.createElement( &amp;quot;a&amp;quot; );&lt;br /&gt;
		a.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		$( a ).click(function ( e ) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
&lt;br /&gt;
			if ( !Twinkle.userAuthorized ) {&lt;br /&gt;
				alert(&amp;quot;Sorry, your account is too new to use Twinkle.&amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		h5.appendChild( a );&lt;br /&gt;
	} else {&lt;br /&gt;
		h5.appendChild( document.createTextNode( text ) );&lt;br /&gt;
	}&lt;br /&gt;
	outerDiv.appendChild( h5 );&lt;br /&gt;
&lt;br /&gt;
	if ( type === &amp;quot;menu&amp;quot; ) {&lt;br /&gt;
		var innerDiv = document.createElement( &amp;quot;div&amp;quot; );&lt;br /&gt;
		innerDiv.className = innerDivClass;&lt;br /&gt;
		outerDiv.appendChild(innerDiv);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var ul = document.createElement( &amp;quot;ul&amp;quot; );&lt;br /&gt;
	(innerDiv || outerDiv).appendChild( ul );&lt;br /&gt;
&lt;br /&gt;
	return outerDiv;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * **************** Twinkle.addPortletLink() ****************&lt;br /&gt;
 * Builds a portlet menu if it doesn&amp;#039;t exist yet, and add the portlet link.&lt;br /&gt;
 * @param task: Either a URL for the portlet link or a function to execute.&lt;br /&gt;
 */&lt;br /&gt;
Twinkle.addPortletLink = function( task, text, id, tooltip )&lt;br /&gt;
{&lt;br /&gt;
	if ( Twinkle.getPref(&amp;quot;portletArea&amp;quot;) !== null ) {&lt;br /&gt;
		Twinkle.addPortlet( Twinkle.getPref( &amp;quot;portletArea&amp;quot; ), Twinkle.getPref( &amp;quot;portletId&amp;quot; ), Twinkle.getPref( &amp;quot;portletName&amp;quot; ), Twinkle.getPref( &amp;quot;portletType&amp;quot; ), Twinkle.getPref( &amp;quot;portletNext&amp;quot; ));&lt;br /&gt;
	}&lt;br /&gt;
	var link = mw.util.addPortletLink( Twinkle.getPref( &amp;quot;portletId&amp;quot; ), typeof task === &amp;quot;string&amp;quot; ? task : &amp;quot;#&amp;quot;, text, id, tooltip );&lt;br /&gt;
	if ( $.isFunction( task ) ) {&lt;br /&gt;
		$( link ).click(function ( ev ) {&lt;br /&gt;
			task();&lt;br /&gt;
			ev.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
	if ( $.collapsibleTabs ) {&lt;br /&gt;
		$.collapsibleTabs.handleResize();&lt;br /&gt;
	}&lt;br /&gt;
	return link;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * **************** General initialization code ****************&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
var scriptpathbefore = mw.util.wikiScript( &amp;quot;index&amp;quot; ) + &amp;quot;?title=&amp;quot;,&lt;br /&gt;
    scriptpathafter = &amp;quot;&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;amp;happy=yes&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Retrieve the user&amp;#039;s Twinkle preferences&lt;br /&gt;
$.ajax({&lt;br /&gt;
	url: scriptpathbefore + &amp;quot;User:&amp;quot; + encodeURIComponent( mw.config.get(&amp;quot;wgUserName&amp;quot;)) + &amp;quot;/twinkleoptions.js&amp;quot; + scriptpathafter,&lt;br /&gt;
	dataType: &amp;quot;text&amp;quot;&lt;br /&gt;
})&lt;br /&gt;
	.fail(function () {	mw.util.jsMessage( &amp;quot;Could not load twinkleoptions.js&amp;quot; ); })&lt;br /&gt;
	.done(function ( optionsText ) {&lt;br /&gt;
&lt;br /&gt;
		// Quick pass if user has no options&lt;br /&gt;
		if ( optionsText === &amp;quot;&amp;quot; ) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// Twinkle options are basically a JSON object with some comments. Strip those:&lt;br /&gt;
		optionsText = optionsText.replace( /(?:^(?:\/\/[^\n]*\n)*\n*|(?:\/\/[^\n]*(?:\n|$))*$)/g, &amp;quot;&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
		// First version of options had some boilerplate code to make it eval-able -- strip that too. This part may become obsolete down the line.&lt;br /&gt;
		if ( optionsText.lastIndexOf( &amp;quot;window.Twinkle.prefs = &amp;quot;, 0 ) === 0 ) {&lt;br /&gt;
			optionsText = optionsText.replace( /(?:^window.Twinkle.prefs = |;\n*$)/g, &amp;quot;&amp;quot; );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		try {&lt;br /&gt;
			var options = $.parseJSON( optionsText );&lt;br /&gt;
&lt;br /&gt;
			// Assuming that our options evolve, we will want to transform older versions:&lt;br /&gt;
			//if ( options.optionsVersion === undefined ) {&lt;br /&gt;
			// ...&lt;br /&gt;
			// options.optionsVersion = 1;&lt;br /&gt;
			//}&lt;br /&gt;
			//if ( options.optionsVersion === 1 ) {&lt;br /&gt;
			// ...&lt;br /&gt;
			// options.optionsVersion = 2;&lt;br /&gt;
			//}&lt;br /&gt;
			// At the same time, twinkleconfig.js needs to be adapted to write a higher version number into the options.&lt;br /&gt;
&lt;br /&gt;
			if ( options ) {&lt;br /&gt;
				Twinkle.prefs = options;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		catch ( e ) {&lt;br /&gt;
			mw.util.jsMessage(&amp;quot;Could not parse twinkleoptions.js&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
	})&lt;br /&gt;
	.always(function () {&lt;br /&gt;
		$( Twinkle.load );&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
// Developers: you can import custom Twinkle modules here&lt;br /&gt;
// For example, mw.loader.load(scriptpathbefore + &amp;quot;User:UncleDouggie/morebits-test.js&amp;quot; + scriptpathafter);&lt;br /&gt;
&lt;br /&gt;
Twinkle.load = function () {&lt;br /&gt;
	    // Don&amp;#039;t activate on special pages other than &amp;quot;Contributions&amp;quot; so that they load faster, especially the watchlist.&lt;br /&gt;
	var isSpecialPage = ( mw.config.get(&amp;#039;wgNamespaceNumber&amp;#039;) === -1&lt;br /&gt;
	    	&amp;amp;&amp;amp; mw.config.get(&amp;#039;wgCanonicalSpecialPageName&amp;#039;) !== &amp;quot;Contributions&amp;quot;&lt;br /&gt;
	    	&amp;amp;&amp;amp; mw.config.get(&amp;#039;wgCanonicalSpecialPageName&amp;#039;) !== &amp;quot;Prefixindex&amp;quot; ),&lt;br /&gt;
&lt;br /&gt;
	    // Also, Twinkle is incompatible with Internet Explorer versions 8 or lower, so don&amp;#039;t load there either.&lt;br /&gt;
	    isOldIE = ( $.client.profile().name === &amp;#039;msie&amp;#039; &amp;amp;&amp;amp; $.client.profile().versionNumber &amp;lt; 9 );&lt;br /&gt;
&lt;br /&gt;
    // Prevent users that are not autoconfirmed from loading Twinkle as well.&lt;br /&gt;
	if ( isSpecialPage || isOldIE || !Twinkle.userAuthorized ) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Load the modules in the order that the tabs should appears&lt;br /&gt;
	// User/user talk-related&lt;br /&gt;
	Twinkle.arv();&lt;br /&gt;
	Twinkle.warn();&lt;br /&gt;
	Twinkle.welcome();&lt;br /&gt;
	Twinkle.shared();&lt;br /&gt;
	Twinkle.talkback();&lt;br /&gt;
	// Deletion&lt;br /&gt;
	Twinkle.speedy();&lt;br /&gt;
	Twinkle.prod();&lt;br /&gt;
	Twinkle.xfd();&lt;br /&gt;
	Twinkle.image();&lt;br /&gt;
	// Maintenance&lt;br /&gt;
	Twinkle.protect();&lt;br /&gt;
	Twinkle.tag();&lt;br /&gt;
	// Misc. ones last&lt;br /&gt;
	Twinkle.diff();&lt;br /&gt;
	Twinkle.unlink();&lt;br /&gt;
	Twinkle.config.init();&lt;br /&gt;
	Twinkle.fluff.init();&lt;br /&gt;
	if ( Morebits.userIsInGroup(&amp;#039;sysop&amp;#039;) ) {&lt;br /&gt;
		Twinkle.delimages();&lt;br /&gt;
		Twinkle.deprod();&lt;br /&gt;
		Twinkle.batchdelete();&lt;br /&gt;
		Twinkle.batchprotect();&lt;br /&gt;
		Twinkle.batchundelete();&lt;br /&gt;
	}&lt;br /&gt;
	// Run the initialization callbacks for any custom modules&lt;br /&gt;
	$( Twinkle.initCallbacks ).each(function ( k, v ) { v(); });&lt;br /&gt;
	Twinkle.addInitCallback = function ( func ) { func(); };&lt;br /&gt;
&lt;br /&gt;
	// Increases text size in Twinkle dialogs, if so configured&lt;br /&gt;
	if ( Twinkle.getPref( &amp;quot;dialogLargeFont&amp;quot; ) ) {&lt;br /&gt;
		mw.util.addCSS( &amp;quot;.morebits-dialog-content, .morebits-dialog-footerlinks { font-size: 100% !important; } &amp;quot; +&lt;br /&gt;
			&amp;quot;.morebits-dialog input, .morebits-dialog select, .morebits-dialog-content button { font-size: inherit !important; }&amp;quot; );&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
} ( window, document, jQuery )); // End wrap with anonymous function&lt;br /&gt;
&lt;br /&gt;
// &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rootadmin</name></author>
	</entry>
</feed>