<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="he">
	<id>https://wiki.netfree.link/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%F0%9F%98%A1</id>
	<title>ויקי נטפרי - תרומות המשתמש [he]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.netfree.link/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%F0%9F%98%A1"/>
	<link rel="alternate" type="text/html" href="https://wiki.netfree.link/wiki/%D7%9E%D7%99%D7%95%D7%97%D7%93:%D7%AA%D7%A8%D7%95%D7%9E%D7%95%D7%AA/%F0%9F%98%A1"/>
	<updated>2026-04-27T13:09:12Z</updated>
	<subtitle>תרומות המשתמש</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%95%D7%99%D7%A7%D7%99_%D7%A0%D7%98%D7%A4%D7%A8%D7%99:AutoWikiBrowser/Script&amp;diff=18204</id>
		<title>ויקי נטפרי:AutoWikiBrowser/Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%95%D7%99%D7%A7%D7%99_%D7%A0%D7%98%D7%A4%D7%A8%D7%99:AutoWikiBrowser/Script&amp;diff=18204"/>
		<updated>2026-03-09T23:20:41Z</updated>

		<summary type="html">&lt;p&gt;😡: יצירת דף עם התוכן &amp;quot;ניסוי (לערוך באמצעות כלי [https://en.wikipedia.org/wiki/User:Joeytje50/JWB זה])&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ניסוי&lt;br /&gt;
(לערוך באמצעות כלי [https://en.wikipedia.org/wiki/User:Joeytje50/JWB זה])&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%F0%9F%98%A1/common.js&amp;diff=18203</id>
		<title>משתמש:😡/common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%F0%9F%98%A1/common.js&amp;diff=18203"/>
		<updated>2026-03-09T23:12:56Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&amp;amp;action=raw&amp;amp;ctype=text/javascript' ); // Backlink: [[en:User:Joeytje50/JWB.js/load.js]]&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%F0%9F%98%A1/common.js&amp;diff=18202</id>
		<title>משתמש:😡/common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%F0%9F%98%A1/common.js&amp;diff=18202"/>
		<updated>2026-03-09T22:59:10Z</updated>

		<summary type="html">&lt;p&gt;😡: החלפת הדף בתוכן &amp;quot;mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&amp;amp;action=raw&amp;amp;ctype=text/javascript');&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&amp;amp;action=raw&amp;amp;ctype=text/javascript');&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%F0%9F%98%A1/common.js&amp;diff=18201</id>
		<title>משתמש:😡/common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%F0%9F%98%A1/common.js&amp;diff=18201"/>
		<updated>2026-03-09T22:50:37Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&amp;amp;action=raw&amp;amp;ctype=text/javascript');&lt;br /&gt;
// Copied from [[User:Joeytje50/JWB.js]]&lt;br /&gt;
/**&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 * Install this script by pasting the following in your personal JavaScript file:&lt;br /&gt;
&lt;br /&gt;
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&amp;amp;action=raw&amp;amp;ctype=text/javascript');&lt;br /&gt;
&lt;br /&gt;
 * Or for users on en.wikipedia.org:&lt;br /&gt;
&lt;br /&gt;
importScript( 'User:Joeytje50/JWB.js/load.js' ); // Backlink: [[User:Joeytje50/JWB.js/load.js]]&lt;br /&gt;
&lt;br /&gt;
 * Note that this script will only run on the 'Project:AutoWikiBrowser/Script' page.&lt;br /&gt;
 * This script is based on the downloadable AutoWikiBrowser.&lt;br /&gt;
 * &lt;br /&gt;
 * @licence&lt;br /&gt;
 * This program is free software; you can redistribute it and/or modify&lt;br /&gt;
 * it under the terms of the GNU General Public License as published by&lt;br /&gt;
 * the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;
 * (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This program is distributed in the hope that it will be useful,&lt;br /&gt;
 * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;
 * GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU General Public License along&lt;br /&gt;
 * with this program; if not, write to the Free Software Foundation, Inc.,&lt;br /&gt;
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.&lt;br /&gt;
 * http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
 * @version 3.1.0&lt;br /&gt;
 * @author Joeytje50&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
//TODO: Re-enable summary box (possibly more) when not busy submitting.&lt;br /&gt;
//TODO: more advanced pagelist-generating options&lt;br /&gt;
//TODO: generate page list based on images on a page&lt;br /&gt;
//TODO: Split up i18n to separate files per language (in the same way MediaWiki does it)&lt;br /&gt;
//TODO: Add feature to perform general cleanup (&amp;lt;table&amp;gt; to {|, fullurl-links to wikilinks, removing underscores from wikilinks)&lt;br /&gt;
&lt;br /&gt;
window.JWB = {}; //The main global object for the script.&lt;br /&gt;
&lt;br /&gt;
/***** User verification *****/&lt;br /&gt;
&lt;br /&gt;
(function() {&lt;br /&gt;
	if (mw.config.get('wgCanonicalNamespace')+':'+mw.config.get('wgTitle') !== 'Project:AutoWikiBrowser/Script Beta' || JWB.allowed === false || mw.config.get('wgUserName') === null) {&lt;br /&gt;
		JWB.allowed = false;&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	mw.loader.load('//he.wikipedia.org/w/index.php?title=User:Uziel302/JWB.css&amp;amp;action=raw&amp;amp;ctype=text/css', 'text/css');&lt;br /&gt;
	mw.loader.load('mediawiki.diff.styles');&lt;br /&gt;
	&lt;br /&gt;
	$.getScript('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/i18n.js&amp;amp;action=raw&amp;amp;ctype=text/javascript', function() {&lt;br /&gt;
		if (JWB.allowed === true) {&lt;br /&gt;
			JWB.init(); //init if verification has already returned true&lt;br /&gt;
		} else if (JWB.allowed === false) {&lt;br /&gt;
			alert(JWB.msg('not-on-list'));&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	//RegEx Typo Fixing&lt;br /&gt;
	$.getScript('//en.wikipedia.org/w/index.php?title=User:Joeytje50/RETF.js&amp;amp;action=raw&amp;amp;ctype=text/javascript', function() {&lt;br /&gt;
			$('#refreshRETF').click(RETF.load);&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	(new mw.Api()).get({&lt;br /&gt;
		action: 'query',&lt;br /&gt;
		titles: 'Project:AutoWikiBrowser/CheckPage',&lt;br /&gt;
		prop: 'revisions',&lt;br /&gt;
		meta: 'userinfo|siteinfo',&lt;br /&gt;
		rvprop: 'content',&lt;br /&gt;
		rvlimit: 1,&lt;br /&gt;
		uiprop: 'groups',&lt;br /&gt;
		siprop: 'namespaces',&lt;br /&gt;
		indexpageids: true,&lt;br /&gt;
		format: 'json',&lt;br /&gt;
	}).done(function(response) {&lt;br /&gt;
		if (response.error) {&lt;br /&gt;
			alert('API error: ' + response.error.info);&lt;br /&gt;
			JWB = false; //preventing further access. No verification =&amp;gt; no access.&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		JWB.ns = response.query.namespaces; //saving for later&lt;br /&gt;
		&lt;br /&gt;
		JWB.username = response.query.userinfo.name; //preventing any &amp;quot;hacks&amp;quot; that change wgUserName or mw.config.wgUserName&lt;br /&gt;
		var groups = response.query.userinfo.groups;&lt;br /&gt;
		var page = response.query.pages[response.query.pageids[0]];&lt;br /&gt;
		var users, bots;&lt;br /&gt;
		if (response.query.pageids[0] !== '-1' &amp;amp;&amp;amp; /&amp;lt;!--\s*enabledusersbegins\s*--&amp;gt;/.test(page.revisions[0]['*'])) {&lt;br /&gt;
			var cont = page.revisions[0]['*'];&lt;br /&gt;
			users = cont.substring(&lt;br /&gt;
				cont.search(/&amp;lt;!--\s*enabledusersbegins\s*--&amp;gt;/),&lt;br /&gt;
				cont.search(/&amp;lt;!--\s*enabledusersends\s*--&amp;gt;/)&lt;br /&gt;
			).split('\n');&lt;br /&gt;
			if (/&amp;lt;!--\s*enabledbots\s*--&amp;gt;/.test(cont)) {&lt;br /&gt;
				bots = cont.substring(&lt;br /&gt;
					cont.search(/&amp;lt;!--\s*enabledbots\s*--&amp;gt;/),&lt;br /&gt;
					cont.search(/&amp;lt;!--\s*enabledbotsends\s*--&amp;gt;/)&lt;br /&gt;
				).split('\n');&lt;br /&gt;
			} else bots = [];&lt;br /&gt;
			var i=0;&lt;br /&gt;
			while (i&amp;lt;users.length) {&lt;br /&gt;
			    if (users[i].charAt(0) !== '*') {&lt;br /&gt;
			    	users.splice(i,1);&lt;br /&gt;
			    } else {&lt;br /&gt;
			    	users[i] = $.trim(users[i].substr(1));&lt;br /&gt;
			    	i++;&lt;br /&gt;
			    }&lt;br /&gt;
			}&lt;br /&gt;
			i=0;&lt;br /&gt;
			while (i&amp;lt;bots.length) {&lt;br /&gt;
			    if (bots[i].charAt(0) !== '*') {&lt;br /&gt;
			    	bots.splice(i,1);&lt;br /&gt;
			    } else {&lt;br /&gt;
			    	bots[i] = $.trim(bots[i].substr(1));&lt;br /&gt;
			    	i++;&lt;br /&gt;
			    }&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			users = false; //fallback when page doesn't exist&lt;br /&gt;
		}&lt;br /&gt;
		// Temporary global debugging variables&lt;br /&gt;
		JWB.debug = [groups.indexOf('bot'), users === false, bots &amp;amp;&amp;amp; bots.indexOf(JWB.username)];&lt;br /&gt;
		JWB.bot = groups.indexOf('bot') !== -1 &amp;amp;&amp;amp; (users === false || bots.indexOf(JWB.username) !== -1);&lt;br /&gt;
		JWB.sysop = groups.indexOf('sysop') !== -1;&lt;br /&gt;
		if (JWB.username === &amp;quot;Uziel302&amp;quot; &amp;amp;&amp;amp; response.query.userinfo.id === 13299994) {//TEMP: Dev full access to entire interface.&lt;br /&gt;
			JWB.bot = true;&lt;br /&gt;
			users.push(&amp;quot;Uziel302&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
		if (JWB.sysop || response.query.pageids[0] === '-1' || users.indexOf(JWB.username) !== -1 || users === false) {&lt;br /&gt;
			JWB.allowed = true;&lt;br /&gt;
			if (JWB.messages.en) JWB.init(); //init if messages have already loaded&lt;br /&gt;
		} else {&lt;br /&gt;
			if (JWB.messages.en) {&lt;br /&gt;
				//run this after messages have loaded, so the message that shows is in the user's language&lt;br /&gt;
				alert(JWB.msg('not-on-list'));&lt;br /&gt;
			}&lt;br /&gt;
			JWB = false; //prevent further access&lt;br /&gt;
		}&lt;br /&gt;
	}).fail(function(xhr, error) {&lt;br /&gt;
		alert(JWB.msg('verify-error') + '\n' + error);&lt;br /&gt;
		JWB = false; //preventing further access. No verification =&amp;gt; no access.&lt;br /&gt;
	});&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
/***** Global object/variables *****/&lt;br /&gt;
&lt;br /&gt;
var objs = ['page', 'api', 'fn', 'pl', 'messages', 'setup', 'settings', 'ns'];&lt;br /&gt;
for (var i=0;i&amp;lt;objs.length;i++) {&lt;br /&gt;
	JWB[objs[i]] = {};&lt;br /&gt;
}&lt;br /&gt;
JWB.summarySuffix = ' (דרך [[WP:JWB]])';&lt;br /&gt;
if (document.location.hostname == 'en.wikipedia.org') JWB.summarySuffix = ' (via [[WP:JWB]])'&lt;br /&gt;
JWB.lang = mw.config.get('wgUserLanguage');&lt;br /&gt;
JWB.index_php = mw.config.get('wgScript');&lt;br /&gt;
JWB.isStopped = true;&lt;br /&gt;
JWB.tooltip = window.tooltipAccessKeyPrefix || '';&lt;br /&gt;
JWB.configext = 'js';&lt;br /&gt;
if (document.location.hostname.split('.').slice(-2).join('.') == 'wikia.com' || document.location.hostname.split('.').slice(-2).join('.') == 'fandom.com') {&lt;br /&gt;
	//it makes no sense, but Wikia does not allow users to create .js subpages of their userpage.&lt;br /&gt;
	//Because the settings should REALLY be protected from vandalism automatically, the backup is .css&lt;br /&gt;
	//even though this has nothing to do with CSS.&lt;br /&gt;
	JWB.configext = 'css';&lt;br /&gt;
}&lt;br /&gt;
JWB.settingspage = 'JWB';&lt;br /&gt;
if (window.hasOwnProperty('JWBSETTINGS')) {&lt;br /&gt;
	JWB.settingspage = JWBSETTINGS;&lt;br /&gt;
	delete window.JWBSETTINGS; //clean up the global variable&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/***** Google Analytics *****/&lt;br /&gt;
&lt;br /&gt;
JWB.loadAnalytics = function() {&lt;br /&gt;
	$.getScript('https://www.googletagmanager.com/gtag/js?id=UA-149754182-1', function() {&lt;br /&gt;
		window.dataLayer = window.dataLayer || [];&lt;br /&gt;
		function gtag(){&lt;br /&gt;
			dataLayer.push(arguments);&lt;br /&gt;
		}&lt;br /&gt;
		gtag('js', new Date());&lt;br /&gt;
		gtag('config', 'UA-149754182-1', { 'anonymize_ip': true }); // anonymize_ip to comply with GDPR&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/***** API functions *****/&lt;br /&gt;
&lt;br /&gt;
//Main template for API calls&lt;br /&gt;
JWB.api.call = function(data, callback, onerror) {&lt;br /&gt;
	data.format = 'json';&lt;br /&gt;
	if (data.action !== 'query') data.bot = true;&lt;br /&gt;
	$.ajax({&lt;br /&gt;
		data: data,&lt;br /&gt;
		dataType: 'json',&lt;br /&gt;
		url: mw.config.get('wgScriptPath') + '/api.php',&lt;br /&gt;
		type: 'POST',&lt;br /&gt;
		success: function(response) {&lt;br /&gt;
			if (response.error) {&lt;br /&gt;
				alert('API error: ' + response.error.info);&lt;br /&gt;
				JWB.stop();&lt;br /&gt;
			} else {&lt;br /&gt;
				callback(response);&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		error: function(xhr, error) {&lt;br /&gt;
			alert('AJAX error: ' + error);&lt;br /&gt;
			JWB.stop();&lt;br /&gt;
			if (onerror) onerror();&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Get page diff, and process it for more interactivity&lt;br /&gt;
JWB.api.diff = function(callback) {&lt;br /&gt;
	JWB.status('diff');&lt;br /&gt;
	var editBoxInput = $('#editBoxArea').val();&lt;br /&gt;
	var redirects = $('input.redirects:checked').val()==='follow'?'1':'0';&lt;br /&gt;
	var data = {&lt;br /&gt;
		'action': 'query',&lt;br /&gt;
		'prop': 'info|revisions',&lt;br /&gt;
		'indexpageids': true,&lt;br /&gt;
		'titles': JWB.page.name,&lt;br /&gt;
		'rvlimit': '1',&lt;br /&gt;
		'rvdifftotext': editBoxInput,&lt;br /&gt;
		'redirects': redirects&lt;br /&gt;
	};&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		var pageExists = response.query.pageids[0] !== '-1';&lt;br /&gt;
		var diff;&lt;br /&gt;
		if (pageExists) {&lt;br /&gt;
			var diffpage = response.query.pages[response.query.pageids[0]];&lt;br /&gt;
			diff = diffpage.revisions[0].diff['*'];&lt;br /&gt;
			if (diff === '') {&lt;br /&gt;
				diff = '&amp;lt;h2&amp;gt;'+JWB.msg('no-changes-made')+'&amp;lt;/h2&amp;gt;';&lt;br /&gt;
			} else {&lt;br /&gt;
				diff = '&amp;lt;table class=&amp;quot;diff&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;colgroup&amp;gt;'+&lt;br /&gt;
						'&amp;lt;col class=&amp;quot;diff-marker&amp;quot;&amp;gt;'+&lt;br /&gt;
						'&amp;lt;col class=&amp;quot;diff-content&amp;quot;&amp;gt;'+&lt;br /&gt;
						'&amp;lt;col class=&amp;quot;diff-marker&amp;quot;&amp;gt;'+&lt;br /&gt;
						'&amp;lt;col class=&amp;quot;diff-content&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;/colgroup&amp;gt;'+&lt;br /&gt;
					'&amp;lt;tbody&amp;gt;'+diff+'&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;';&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			diff = '&amp;lt;span style=&amp;quot;font-weight:bold;color:red;&amp;quot;&amp;gt;'+JWB.msg('page-not-exists')+'&amp;lt;/span&amp;gt;';&lt;br /&gt;
		}&lt;br /&gt;
		$('#resultWindow').html(diff);&lt;br /&gt;
		$('.diff-lineno').each(function() {&lt;br /&gt;
			$(this).parent().attr('data-line',parseInt($(this).html().match(/\d+/)[0])-1).addClass('lineheader');&lt;br /&gt;
		});&lt;br /&gt;
		$('table.diff tr').each(function() { //add data-line attribute to every line, relative to the previous one. Used for click event.&lt;br /&gt;
			if (!$(this).next().is('[data-line]') &amp;amp;&amp;amp; !$(this).next().has('td.diff-deletedline + td.diff-empty')) {&lt;br /&gt;
				$(this).next().attr('data-line',parseInt($(this).data('line'))+1);&lt;br /&gt;
			} else if ($(this).next().has('td.diff-deletedline + td.diff-empty')) {&lt;br /&gt;
				$(this).next().attr('data-line',$(this).data('line')); //copy over current data-line for deleted lines to prevent them from messing up counting.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		if (typeof(callback) === 'function') {&lt;br /&gt;
			callback();&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Retrieve page contents/info, process them, and store information in JWB.page object.&lt;br /&gt;
JWB.api.get = function(pagename) {&lt;br /&gt;
	JWB.pageCount();&lt;br /&gt;
	if (!JWB.list[0] || JWB.isStopped) {&lt;br /&gt;
		return JWB.stop();&lt;br /&gt;
	}&lt;br /&gt;
	if (pagename === '#PRE-PARSE-STOP') {&lt;br /&gt;
		var curval = $('#articleList').val();&lt;br /&gt;
		$('#articleList').val(curval.substr(curval.indexOf('\n') + 1));&lt;br /&gt;
		$('#preparse').prop('checked', false);&lt;br /&gt;
		JWB.stop();&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	var redirect = $('input.redirects:checked').val();&lt;br /&gt;
	var data = {&lt;br /&gt;
		'action': 'query',&lt;br /&gt;
		'prop': 'info|revisions',&lt;br /&gt;
		'inprop': 'watched',&lt;br /&gt;
		'intoken': 'edit|delete|protect|move|watch',&lt;br /&gt;
		'titles': pagename,&lt;br /&gt;
		'rvprop': 'content|timestamp|ids',&lt;br /&gt;
		'rvlimit': '1',&lt;br /&gt;
		'indexpageids': true,&lt;br /&gt;
		'meta': 'userinfo',&lt;br /&gt;
		'uiprop': 'hasmsg'&lt;br /&gt;
	};&lt;br /&gt;
	if (redirect=='follow'||redirect=='skip') data.redirects = true;&lt;br /&gt;
	if (JWB.sysop) {&lt;br /&gt;
		data.list = 'deletedrevs';&lt;br /&gt;
		data.drprop = 'token';&lt;br /&gt;
	}&lt;br /&gt;
	JWB.status('load-page');&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		if (response.query.userinfo.hasOwnProperty('messages')) {&lt;br /&gt;
			var view = mw.config.get('wgScriptPath') + '?title=Special:MyTalk';&lt;br /&gt;
			var viewNew = view + '&amp;amp;diff=cur';&lt;br /&gt;
			JWB.status(&lt;br /&gt;
				'&amp;lt;span style=&amp;quot;color:red;font-weight:bold;&amp;quot;&amp;gt;'+&lt;br /&gt;
					JWB.msg('status-newmsg', &lt;br /&gt;
						'&amp;lt;a href=&amp;quot;'+view+'&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;'+JWB.msg('status-talklink')+'&amp;lt;/a&amp;gt;',&lt;br /&gt;
						'&amp;lt;a href=&amp;quot;'+viewNew+'&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;'+JWB.msg('status-difflink')+'&amp;lt;/a&amp;gt;')+&lt;br /&gt;
				'&amp;lt;/span&amp;gt;', true);&lt;br /&gt;
			alert(JWB.msg('new-message'));&lt;br /&gt;
			JWB.stop();&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		JWB.page = response.query.pages[response.query.pageids[0]];&lt;br /&gt;
		JWB.page.name = JWB.list[0].split('|')[0];&lt;br /&gt;
	 	var varOffset = JWB.list[0].indexOf('|') !== -1 ? JWB.list[0].indexOf('|') + 1 : 0;&lt;br /&gt;
	 	JWB.page.pagevar = JWB.list[0].substr(varOffset);&lt;br /&gt;
		JWB.page.content = JWB.page.revisions ? JWB.page.revisions[0]['*'] : '';&lt;br /&gt;
		JWB.page.exists = !response.query.pages[&amp;quot;-1&amp;quot;];&lt;br /&gt;
		JWB.page.deletedrevs = response.query.deletedrevs;&lt;br /&gt;
		JWB.page.watched = JWB.page.hasOwnProperty('watched');&lt;br /&gt;
		if (response.query.redirects) {&lt;br /&gt;
			JWB.page.name = response.query.redirects[0].to;&lt;br /&gt;
		}&lt;br /&gt;
		var newContent = JWB.replace(JWB.page.content);&lt;br /&gt;
		if (JWB.stopped === true) return;&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		var containRegex = $('#containRegex').prop('checked'), containFlags = $('#containFlags').val();&lt;br /&gt;
		var skipContains = containRegex ? new RegExp($('#skipContains').val(), containFlags) : $('#skipContains').val();&lt;br /&gt;
		var skipNotContains = containRegex ? new RegExp($('#skipNotContains').val(), containFlags) : $('#skipContains').val();&lt;br /&gt;
		if (&lt;br /&gt;
			($('#skipNoChange').prop('checked') &amp;amp;&amp;amp; JWB.page.content === newContent) || //skip if no changes are made&lt;br /&gt;
			($('#skipContains').val() &amp;amp;&amp;amp; JWB.page.content.match(skipContains)) ||&lt;br /&gt;
			($('#skipNotContains').val() &amp;amp;&amp;amp; !JWB.page.content.match(skipNotContains)) ||&lt;br /&gt;
			($('#exists-no').prop('checked') &amp;amp;&amp;amp; !JWB.page.exists) ||&lt;br /&gt;
			($('#exists-yes').prop('checked') &amp;amp;&amp;amp; JWB.page.exists) ||&lt;br /&gt;
			(redirect==='skip' &amp;amp;&amp;amp; response.query.redirects) // variable  redirect  is defined outside this callback function.&lt;br /&gt;
		) {&lt;br /&gt;
			JWB.log('skip', JWB.page.name);&lt;br /&gt;
			return JWB.next();&lt;br /&gt;
		} else {&lt;br /&gt;
			$('#editBoxArea').val(newContent);&lt;br /&gt;
			$('#currentpage').html(JWB.msg('editbox-currentpage', JWB.page.name, encodeURIComponent(JWB.page.name)));&lt;br /&gt;
			if ($('#preparse').prop('checked')) {&lt;br /&gt;
				$('#articleList').val($.trim($('#articleList').val()) + '\n' + JWB.list[0]); //move current page to the bottom&lt;br /&gt;
				JWB.next();&lt;br /&gt;
				return;&lt;br /&gt;
			} else if (JWB.bot &amp;amp;&amp;amp; $('#autosave').prop('checked')) {&lt;br /&gt;
				JWB.api.diff(function() {&lt;br /&gt;
					//timeout will take #throttle's value * 1000, if it's a number above 0. Currently defaults to 0.&lt;br /&gt;
					setTimeout(JWB.api.submit, Math.max(+$('#throttle').val() || 0, 0) * 1000, JWB.page.name);&lt;br /&gt;
				});&lt;br /&gt;
			} else {&lt;br /&gt;
				JWB.api.diff();&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		JWB.updateButtons();&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Some functions with self-explanatory names:&lt;br /&gt;
JWB.api.submit = function(page) {&lt;br /&gt;
	JWB.status('submit');&lt;br /&gt;
	var summary = $('#summary').val();&lt;br /&gt;
	if ($('#summary').parent('label').hasClass('viaJWB')) summary += JWB.summarySuffix;&lt;br /&gt;
	if ((typeof page === 'text' &amp;amp;&amp;amp; page !== JWB.page.name) || $('#currentpage a').html().replace(/&amp;amp;amp;/g, '&amp;amp;') !== JWB.page.name) {&lt;br /&gt;
		console.log(page, JWB.page.name, $('#currentpage a').html())&lt;br /&gt;
		JWB.stop();&lt;br /&gt;
		alert(JWB.msg('autosave-error', JWB.msg('tab-log')));&lt;br /&gt;
		$('#currentpage').html(JWB.msg('editbox-currentpage', ' ', ' '));&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	var data = {&lt;br /&gt;
		'title': JWB.page.name,&lt;br /&gt;
		'summary': summary,&lt;br /&gt;
		'action': 'edit',&lt;br /&gt;
		'basetimestamp': JWB.page.revisions ? JWB.page.revisions[0].timestamp : '',&lt;br /&gt;
		'token': JWB.page.edittoken,&lt;br /&gt;
		'text': $('#editBoxArea').val(),&lt;br /&gt;
		'watchlist': $('#watchPage').val(),&lt;br /&gt;
		'bot':true&lt;br /&gt;
	};&lt;br /&gt;
	if ($('#minorEdit').prop('checked')) data.minor = true;&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		JWB.log('edit', response.edit.title, response.edit.newrevid);&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		JWB.next();&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
JWB.api.preview = function() {&lt;br /&gt;
	JWB.status('preview');&lt;br /&gt;
	JWB.api.call({&lt;br /&gt;
		'title': JWB.page.name,&lt;br /&gt;
		'action': 'parse',&lt;br /&gt;
		'text': $('#editBoxArea').val()&lt;br /&gt;
	}, function(response) {&lt;br /&gt;
		$('#resultWindow').html(response.parse.text['*']);&lt;br /&gt;
		$('#resultWindow div.previewnote').remove();&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
JWB.api.move = function() {&lt;br /&gt;
	JWB.status('move');&lt;br /&gt;
	var topage = $('#moveTo').val().replace(/\$x/gi, JWB.page.pagevar);&lt;br /&gt;
	var summary = $('#summary').val();&lt;br /&gt;
	if ($('#summary').parent('label').hasClass('viaJWB')) summary += JWB.summarySuffix;&lt;br /&gt;
	var data = {&lt;br /&gt;
		'action':'move',&lt;br /&gt;
		'from': JWB.page.name,&lt;br /&gt;
		'to': topage,&lt;br /&gt;
		'token': JWB.page.movetoken,&lt;br /&gt;
		'reason': summary,&lt;br /&gt;
		'ignorewarnings': 'yes'&lt;br /&gt;
	};&lt;br /&gt;
	if ($('#moveTalk').prop('checked')) data.movetalk = true;&lt;br /&gt;
	if ($('#moveSubpage').prop('checked')) data.movesubpages = true;&lt;br /&gt;
	if ($('#suppressRedir').prop('checked')) data.noredirect = true;&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		JWB.log('move', response.move.from, reponse.move.to);&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		if (!$('#moveTo').val().match(/\$x/i)) $('#moveTo').val('')[0].focus(); //clear entered move-to pagename if it's not based on the pagevar&lt;br /&gt;
		JWB.next(topage);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
JWB.api.delete = function() {&lt;br /&gt;
	JWB.status(($('#deletePage').is('.undelete') ? 'un' : '') + 'delete');&lt;br /&gt;
	var summary = $('#summary').val();&lt;br /&gt;
	if ($('#summary').parent('label').hasClass('viaJWB')) summary += JWB.summarySuffix;&lt;br /&gt;
	var undeltoken = JWB.page.deletedrevs &amp;amp;&amp;amp; JWB.page.deletedrevs[0] ? JWB.page.deletedrevs[0].token : '';&lt;br /&gt;
	JWB.api.call({&lt;br /&gt;
		'action': (!JWB.page.exists ? 'un' : '') + 'delete',&lt;br /&gt;
		'title': JWB.page.name,&lt;br /&gt;
		'token': JWB.page.exists ? JWB.page.deletetoken : undeltoken,&lt;br /&gt;
		'reason': summary&lt;br /&gt;
	}, function(response) {&lt;br /&gt;
		JWB.log((!JWB.page.exists ? 'un' : '') + 'delete', (response.delete||response.undelete).title);&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		JWB.next(response.undelete &amp;amp;&amp;amp; response.undelete.title);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
JWB.api.protect = function() {&lt;br /&gt;
	JWB.status('protect');&lt;br /&gt;
	var summary = $('#summary').val();&lt;br /&gt;
	if ($('#summary').parent('label').hasClass('viaJWB')) summary += JWB.summarySuffix;&lt;br /&gt;
	var editprot = $('#editProt').val();&lt;br /&gt;
	var moveprot = $('#moveProt').val();&lt;br /&gt;
	JWB.api.call({&lt;br /&gt;
		'action':'protect',&lt;br /&gt;
		'title': JWB.page.name,&lt;br /&gt;
		'token': JWB.page.protecttoken,&lt;br /&gt;
		'reason': summary,&lt;br /&gt;
		'expiry': $('#protectExpiry').val()!==''?$('#protectExpiry').val():'infinite',&lt;br /&gt;
		'protections': (JWB.page.exists?'edit='+editprot+'|move='+moveprot:'create='+editprot)&lt;br /&gt;
	}, function(response) {&lt;br /&gt;
		var protactions = '';&lt;br /&gt;
		var prots = response.protect.protections;&lt;br /&gt;
		for (var i=0;i&amp;lt;prots.length;i++) {&lt;br /&gt;
			if (typeof prots[i].edit == 'string') {&lt;br /&gt;
				protactions += ' edit: '+(prots[i].edit?prots[i].edit:'all');&lt;br /&gt;
			} else if (typeof prots[i].move == 'string') {&lt;br /&gt;
				protactions += ' move: '+(prots[i].move?prots[i].move:'all');&lt;br /&gt;
			} else if (typeof prots[i].create == 'string') {&lt;br /&gt;
				protactions += ' create: '+(prots[i].create?prots[i].create:'all');&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		protactions += ' expires: '+prots[0].expiry;&lt;br /&gt;
		JWB.log('protect', response.protect.title, protactions);&lt;br /&gt;
		JWB.status('done', false);&lt;br /&gt;
		JWB.next(response.protect.title);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.api.watch = function() {&lt;br /&gt;
	JWB.status('watch');&lt;br /&gt;
	var data = {&lt;br /&gt;
		'action':'watch',&lt;br /&gt;
		'title':JWB.page.name,&lt;br /&gt;
		'token':JWB.page.watchtoken&lt;br /&gt;
	};&lt;br /&gt;
	if (JWB.page.watched) data.unwatch = true;&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		JWB.status('&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;'+&lt;br /&gt;
			JWB.msg('status-watch-'+(JWB.page.watched ? 'removed' : 'added'), &amp;quot;'&amp;quot;+JWB.page.name+&amp;quot;'&amp;quot;)+&lt;br /&gt;
		'&amp;lt;/span&amp;gt;', true);&lt;br /&gt;
		JWB.page.watched = !JWB.page.watched;&lt;br /&gt;
		$('#watchNow').html( JWB.msg('watch-' + (JWB.page.watched ? 'remove' : 'add')) );&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/***** Pagelist functions *****/&lt;br /&gt;
&lt;br /&gt;
JWB.pl.list = [];&lt;br /&gt;
JWB.pl.iterations = 0;&lt;br /&gt;
&lt;br /&gt;
JWB.pl.stop = function() {&lt;br /&gt;
	JWB.pl.iterations = 0;&lt;br /&gt;
	$('#pagelistPopup [disabled]:not(fieldset [disabled]), #pagelistPopup legend input').prop('disabled', false);&lt;br /&gt;
	$('#pagelistPopup legend input').trigger('change');&lt;br /&gt;
	$('#pagelistPopup button img').remove();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
JWB.pl.getNSpaces = function() {&lt;br /&gt;
	var list = $('#pagelistPopup [name=&amp;quot;namespace&amp;quot;]')[0];&lt;br /&gt;
	if (list.selectedOptions.length == list.options.length) {&lt;br /&gt;
		return ''; //return empty string if every namespace is selected; this will make the request default to having no filter&lt;br /&gt;
	} else {&lt;br /&gt;
		return $('#pagelistPopup [name=&amp;quot;namespace&amp;quot;]').val().join('|'); //.val() returns an array of selected options.&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * abbrs: array of abbreviations for each page generator enabled.&lt;br /&gt;
 *		ps = prefix search, pl = links on page, etc.&lt;br /&gt;
 *		note that the &amp;quot;Links to page&amp;quot; section may generate multiple generators (each &lt;br /&gt;
 *		of wikilinks, transclusions, and file usage are done separately)&lt;br /&gt;
 * lists: as above, but full names. Possible elements include: &lt;br /&gt;
 *		prefixsearch, links, watchlistraw&lt;br /&gt;
 *		These correspond to possible &amp;quot;list&amp;quot; values for https://www.mediawiki.org/wiki/API:Query&lt;br /&gt;
 *		Er, except when they don't. &amp;quot;links&amp;quot; is not a valid list value (but this just causes a benign warning)&lt;br /&gt;
 * data: object with keys for each value in lists, plus &amp;quot;continue&amp;quot;. For each generator,&lt;br /&gt;
 *		the corresponding value will be the user input related to that generator&lt;br /&gt;
 *		(e.g. the category name, the title prefix). If there are multiple values for&lt;br /&gt;
 *		a generator, they'll be pipe-delimited within the string.&lt;br /&gt;
 *		More keys will be added to this obj during this function's execution.&lt;br /&gt;
 *		(This is ultimately used as POST data for API calls)&lt;br /&gt;
**/&lt;br /&gt;
JWB.pl.getList = function(abbrs, lists, data) {&lt;br /&gt;
	$('#pagelistPopup button, #pagelistPopup input, #pagelistPopup select').prop('disabled', true);&lt;br /&gt;
	JWB.pl.iterations++;&lt;br /&gt;
	// cf. https://www.mediawiki.org/wiki/API:Query&lt;br /&gt;
	data.action = 'query';&lt;br /&gt;
	var nspaces = JWB.pl.getNSpaces();&lt;br /&gt;
	for (var i=0;i&amp;lt;abbrs.length;i++) {&lt;br /&gt;
		if (nspaces) data[abbrs[i]+'namespace'] = nspaces;&lt;br /&gt;
		data[abbrs[i]+'limit'] = 'max';&lt;br /&gt;
	}&lt;br /&gt;
	if (lists.indexOf('links') !== -1) {&lt;br /&gt;
		// If using the &amp;quot;Links on page&amp;quot; feature, then ask the API to give us the links&lt;br /&gt;
		// on each returned page&lt;br /&gt;
		data.prop = 'links';&lt;br /&gt;
	}&lt;br /&gt;
	data.list = lists.join('|');&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		var maxiterate = 100; //allow up to 100 consecutive requests at a time to avoid overloading the server.&lt;br /&gt;
		if (!response.query) response.query = {};&lt;br /&gt;
		if (response.watchlistraw) response.query.watchlistraw = response.watchlistraw; //adding some consistency&lt;br /&gt;
		var plist = [];&lt;br /&gt;
		if (response.query.pages) {&lt;br /&gt;
			var links;&lt;br /&gt;
			for (var id in response.query.pages) {&lt;br /&gt;
				links = response.query.pages[id].links;&lt;br /&gt;
				for (var i=0;i&amp;lt;links.length;i++) {&lt;br /&gt;
					plist.push(links[i].title);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		for (var l in response.query) {&lt;br /&gt;
			if (l === 'pages') continue;&lt;br /&gt;
			for (var i=0;i&amp;lt;response.query[l].length;i++) {&lt;br /&gt;
				plist.push(response.query[l][i].title);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		//add the result to the pagelist immediately, as opposed to saving it all up and adding in 1 go like AWB does&lt;br /&gt;
		$('#articleList').val($.trim($('#articleList').val()) + '\n' + plist.join('\n'));&lt;br /&gt;
		JWB.pageCount();&lt;br /&gt;
		var cont = response.continue;&lt;br /&gt;
		console.log(&amp;quot;Continue&amp;quot;,JWB.pl.iterations, cont);&lt;br /&gt;
		if (cont &amp;amp;&amp;amp; JWB.pl.iterations &amp;lt;= maxiterate) {&lt;br /&gt;
			var lists = [];&lt;br /&gt;
			if (response.query) { //compatibility with the code I wrote for the old query-continue. TODO: make this unnecessary?&lt;br /&gt;
				for (var list in response.query) {&lt;br /&gt;
					lists.push(list); //add to the new array of &amp;amp;list= values&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			var abbrs = [];&lt;br /&gt;
			for (var abbr in cont) {&lt;br /&gt;
				data[abbr] = cont[abbr]; //add the &amp;amp;xxcontinue= value to the data&lt;br /&gt;
				if (abbr != 'continue') {&lt;br /&gt;
					abbrs.push(abbr.replace('continue','')); //find out what xx is and add it to the list of abbrs&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			JWB.pl.getList(abbrs, lists, data); //recursive function to get every page of a list&lt;br /&gt;
		} else {&lt;br /&gt;
			if (JWB.pl.iterations &amp;gt; maxiterate) {&lt;br /&gt;
				JWB.status('pl-over-lim', true);&lt;br /&gt;
			} else {&lt;br /&gt;
				JWB.status('done', true);&lt;br /&gt;
			}&lt;br /&gt;
			JWB.pl.stop();&lt;br /&gt;
		}&lt;br /&gt;
	}, function() { //on error, simply reset and let the user work with what he has&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		JWB.pl.stop();&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//JWB.pl.getList(['wr'], ['watchlistraw'], {}) for watchlists&lt;br /&gt;
JWB.pl.generate = function() {&lt;br /&gt;
	var $fields = $('#pagelistPopup fieldset').not('[disabled]');&lt;br /&gt;
	var spinner = '&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif&amp;quot; width=&amp;quot;15&amp;quot; height=&amp;quot;15&amp;quot; alt=&amp;quot;'+JWB.msg('status-alt')+'&amp;quot;/&amp;gt;';&lt;br /&gt;
	$('#pagelistPopup').find('button[type=&amp;quot;submit&amp;quot;]').append(spinner);&lt;br /&gt;
	var abbrs = [], lists = [], data = {'continue': ''};&lt;br /&gt;
	$fields.each(function() {&lt;br /&gt;
		var list = $(this).find('legend input').attr('name');&lt;br /&gt;
		var abbr;&lt;br /&gt;
		if (list === 'linksto') { //Special case since this fieldset features 3 merged lists in 1 fieldset&lt;br /&gt;
			if (!$('[name=&amp;quot;title&amp;quot;]').val()) return;&lt;br /&gt;
			$('[name=&amp;quot;backlinks&amp;quot;], [name=&amp;quot;embeddedin&amp;quot;], [name=&amp;quot;imageusage&amp;quot;]').filter(':checked').each(function() {&lt;br /&gt;
				var val = this.value;&lt;br /&gt;
				abbrs.push(val);&lt;br /&gt;
				lists.push(this.name);&lt;br /&gt;
				data[val+'title'] = $('[name=&amp;quot;title&amp;quot;]').val();&lt;br /&gt;
				data[val+'filterredir'] = $('[name=&amp;quot;filterredir&amp;quot;]:checked').val();&lt;br /&gt;
				if ($('[name=&amp;quot;redirect&amp;quot;]').prop('checked')) data[val+'redirect'] = true;&lt;br /&gt;
			});&lt;br /&gt;
		} else { //default input system&lt;br /&gt;
			abbr = $(this).find('legend input').val();&lt;br /&gt;
			lists.push(list);&lt;br /&gt;
			abbrs.push(abbr);&lt;br /&gt;
			// For each input in this fieldset other than the checkbox enabling it,&lt;br /&gt;
			// add a key-value pair to data, where the key is the input's name and &lt;br /&gt;
			// the value is the value (or pipe-separated string of values, if multiple)&lt;br /&gt;
			// (These will correspond to params of the API query)&lt;br /&gt;
			$(this).find('input').not('legend input').each(function() {&lt;br /&gt;
				if ((this.type === 'checkbox' || this.type === 'radio') &amp;amp;&amp;amp; this.checked === false) return;&lt;br /&gt;
				if ($(this).is('[name=&amp;quot;cmtitle&amp;quot;]')) {&lt;br /&gt;
					//making sure every page has a Category: prefix, in case the user left it out&lt;br /&gt;
					var newval = $(this).val().replace(new RegExp(JWB.ns[14]['*']+':', 'gi'), '').split('|')[0];&lt;br /&gt;
					$(this).val(JWB.ns[14]['*']+':'+newval);&lt;br /&gt;
				}&lt;br /&gt;
				var name = this.name;&lt;br /&gt;
				var val = this.value;&lt;br /&gt;
				if (data.hasOwnProperty(name)) {&lt;br /&gt;
					data[name] += '|'+val;&lt;br /&gt;
				} else {&lt;br /&gt;
					data[name] = val;&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			console.log(&amp;quot;abbrs, lists, data:&amp;quot;, abbrs, lists, data);&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
	if (abbrs.length) JWB.pl.getList(abbrs, lists, data);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/***** Setup functions *****/&lt;br /&gt;
&lt;br /&gt;
JWB.setup.save = function(name) {&lt;br /&gt;
	name = name || prompt(JWB.msg('setup-prompt', JWB.msg('setup-prompt-store')), $('#loadSettings').val());&lt;br /&gt;
	if (name === null) return;&lt;br /&gt;
	var self = JWB.settings[name] = {&lt;br /&gt;
		string: {},&lt;br /&gt;
		bool: {},&lt;br /&gt;
		replaces: []&lt;br /&gt;
	};&lt;br /&gt;
	//inputs with a text value&lt;br /&gt;
	$('textarea, input[type=&amp;quot;text&amp;quot;], input[type=&amp;quot;number&amp;quot;], select').not('.replaces input, #editBoxArea, #settings *, #google-analytics').each(function() {&lt;br /&gt;
		if (typeof $(this).val() == 'string') { &lt;br /&gt;
			self.string[this.id] = this.value.replace(/\n{2,}/g,'\n');&lt;br /&gt;
		} else {&lt;br /&gt;
			self.string[this.id] = $(this).val();&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
	self.replaces = [];&lt;br /&gt;
	$('.replaces').each(function() {&lt;br /&gt;
		if ($(this).find('.replaceText').val() || $(this).find('.replaceWith').val()) {&lt;br /&gt;
			self.replaces.push({&lt;br /&gt;
				replaceText: $(this).find('.replaceText').val(),&lt;br /&gt;
				replaceWith: $(this).find('.replaceWith').val(),&lt;br /&gt;
				useRegex: $(this).find('.useRegex').prop('checked'),&lt;br /&gt;
				regexFlags: $(this).find('.regexFlags').val(),&lt;br /&gt;
				ignoreNowiki: $(this).find('.ignoreNowiki').prop('checked')&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
	$('input[type=&amp;quot;radio&amp;quot;], input[type=&amp;quot;checkbox&amp;quot;]').not('.replaces input').each(function() {&lt;br /&gt;
		self.bool[this.id] = this.checked;&lt;br /&gt;
	});&lt;br /&gt;
	if (!$('#loadSettings option[value=&amp;quot;'+name+'&amp;quot;]').length) {&lt;br /&gt;
		$('#loadSettings').append('&amp;lt;option value=&amp;quot;'+name+'&amp;quot;&amp;gt;'+name+'&amp;lt;/option&amp;gt;');&lt;br /&gt;
	}&lt;br /&gt;
	$('#loadSettings').val(name);&lt;br /&gt;
	console.log(self);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.apply = function(name) {&lt;br /&gt;
	name = name &amp;amp;&amp;amp; JWB.settings[name] ? name : 'default';&lt;br /&gt;
	var self = JWB.settings[name];&lt;br /&gt;
	$('#loadSettings').val(name);&lt;br /&gt;
	$('.replaces + .replaces').remove(); //reset find&amp;amp;replace inputs&lt;br /&gt;
	$('.replaces input[type=&amp;quot;text&amp;quot;]').val('');&lt;br /&gt;
	$('.useRegex').each(function() {this.checked = false;});&lt;br /&gt;
	$('#pagelistPopup legend input').trigger('change'); //fix checked state of pagelist generating inputs&lt;br /&gt;
	for (var a in self.string) {&lt;br /&gt;
		$('#'+a).val(self.string[a]);&lt;br /&gt;
	}&lt;br /&gt;
	for (var b in self.bool) {&lt;br /&gt;
		$('#'+b).prop('checked', self.bool[b]);&lt;br /&gt;
	}&lt;br /&gt;
	var cur;&lt;br /&gt;
	for (var c=0;c&amp;lt;self.replaces.length;c++) {&lt;br /&gt;
		if ($('.replaces').length &amp;lt;= c) $('#moreReplaces')[0].click();&lt;br /&gt;
		cur = self.replaces[c];&lt;br /&gt;
		for (var d in cur) {&lt;br /&gt;
			if (cur[d] === true || cur[d] === false) {&lt;br /&gt;
				$('.replaces').eq(c).find('.'+d).prop('checked', cur[d]);&lt;br /&gt;
			} else {&lt;br /&gt;
				$('.replaces').eq(c).find('.'+d).val(cur[d]);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	$('.useRegex, #containRegex,'+&lt;br /&gt;
	  '#pagelistPopup legend input,'+&lt;br /&gt;
	  '#viaJWB').trigger('change'); //reset disabled inputs&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.getObj = function() {&lt;br /&gt;
	// google analytics preferences do not depend on which settings profile, so should be stored outside that.&lt;br /&gt;
	JWB.settings['_google_analytics'] = $('#allow-analytics').prop('checked');&lt;br /&gt;
	var settings = [];&lt;br /&gt;
	for (var i in JWB.settings) {&lt;br /&gt;
		if (i != '_blank') {&lt;br /&gt;
			settings.push('&amp;quot;' + i + '&amp;quot;: ' + JSON.stringify(JWB.settings[i]));&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	return '{\n\t' + settings.join(',\n\t') + '\n}';&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.submit = function() {&lt;br /&gt;
	var name = prompt(JWB.msg('setup-prompt', JWB.msg('setup-prompt-save')), $('#loadSettings').val());&lt;br /&gt;
	if (name === null) return;&lt;br /&gt;
	if ($.trim(name) === '') name = 'default';&lt;br /&gt;
	JWB.setup.save(name);&lt;br /&gt;
	JWB.status('setup-submit');&lt;br /&gt;
	JWB.api.call({&lt;br /&gt;
		'title': 'User:'+JWB.username+'/'+JWB.settingspage+'-settings.'+JWB.configext,&lt;br /&gt;
		'summary': JWB.msg(['setup-summary', mw.config.get('wgContentLanguage')]),&lt;br /&gt;
		'action': 'edit',&lt;br /&gt;
		'token': JWB.setup.edittoken,&lt;br /&gt;
		'text': JWB.setup.getObj(),&lt;br /&gt;
		'minor': true&lt;br /&gt;
	}, function(response) {&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//TODO: use blob uri&lt;br /&gt;
JWB.setup.download = function() {&lt;br /&gt;
	var name = prompt(JWB.msg('setup-prompt', JWB.msg('setup-prompt-save')), $('#loadSettings').val());&lt;br /&gt;
	if (name === null) return;&lt;br /&gt;
	if ($.trim(name) === '') name = 'default';&lt;br /&gt;
	JWB.setup.save(name);&lt;br /&gt;
	JWB.status('setup-dload');&lt;br /&gt;
	var url = 'data:application/json;base64,' + btoa(JWB.setup.getObj());&lt;br /&gt;
	var elem = $('#download-anchor')[0];&lt;br /&gt;
	if (elem.hasOwnProperty('download')) { //use download attribute when possible, for its ability to specify a filename&lt;br /&gt;
		elem.href = url;&lt;br /&gt;
		elem.click();&lt;br /&gt;
		setTimeout(function() {elem.removeAttribute('href');}, 2000);&lt;br /&gt;
	} else { //fallback to iframes for browsers with no support for download=&amp;quot;&amp;quot; attributes&lt;br /&gt;
		elem = $('#download-iframe')[0];&lt;br /&gt;
		elem.src = url.replace('application/json', 'application/octet-stream');&lt;br /&gt;
		setTimeout(function() {elem.removeAttribute('src');}, 2000);&lt;br /&gt;
	}&lt;br /&gt;
	JWB.status('done', true);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.import = function(e) {&lt;br /&gt;
	e.preventDefault();&lt;br /&gt;
	file = (e.dataTransfer||this).files[0];&lt;br /&gt;
	if ($(this).is('#import')) { //reset input&lt;br /&gt;
		this.outerHTML = this.outerHTML;&lt;br /&gt;
		$('#import').change(JWB.setup.import);&lt;br /&gt;
	}&lt;br /&gt;
	if (!window.hasOwnProperty('FileReader')) {&lt;br /&gt;
		alert(JWB.msg('old-browser'));&lt;br /&gt;
		JWB.status('old-browser', '&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;'+JWB.index_php+'?title=Special:MyPage/'+JWB.settingspage+'-settings.'+JWB.configext+'&amp;quot;&amp;gt;/'+JWB.settingspage+'-settings.'+JWB.configext+'&amp;lt;/a&amp;gt;');&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	if (file.name.split('.').pop().toLowerCase() !== 'json') {&lt;br /&gt;
		alert(JWB.msg('not-json'));&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	JWB.status('Processing file');&lt;br /&gt;
	var reader = new FileReader();&lt;br /&gt;
	reader.readAsText(file);&lt;br /&gt;
	reader.onload = function(e) {&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		try {&lt;br /&gt;
			//Exclusion regex based on http://stackoverflow.com/a/23589204/1256925&lt;br /&gt;
			//Removes all JS comments from the file, except when they're between quotes.&lt;br /&gt;
			var data = JSON.parse(reader.result.replace(/(&amp;quot;[^&amp;quot;]*&amp;quot;)|(\/\*[\w\W]*\*\/|\/\/[^\n]*)/g, function(match, g1, g2) {&lt;br /&gt;
				if (g1) return g1;&lt;br /&gt;
			}));&lt;br /&gt;
		} catch(e) {&lt;br /&gt;
			alert(JWB.msg('json-err', e.message, JWB.msg('json-err-upload')));&lt;br /&gt;
			console.log(e); //also log the error for further info&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		JWB.setup.extend(data);&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
	JWB.status('Processing file');&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.load = function() {&lt;br /&gt;
	&lt;br /&gt;
//addition forcing LTR orientation&lt;br /&gt;
/**&lt;br /&gt;
 * Forces left-to-right layout and editing on RTL wikis.&lt;br /&gt;
 * @see https://meta.wikimedia.org/wiki/Force_ltr&lt;br /&gt;
 * @update-token [[File:pathoschild/forceltr.js]]&lt;br /&gt;
 */&lt;br /&gt;
mw.loader.load('//tools-static.wmflabs.org/meta/scripts/pathoschild.forceltr.js');&lt;br /&gt;
	&lt;br /&gt;
	JWB.status('setup-load');&lt;br /&gt;
	JWB.api.call({&lt;br /&gt;
		'action': 'query',&lt;br /&gt;
		'titles': 'User:' + (JWB.username||mw.config.get('wgUserName')) + '/'+JWB.settingspage+'-settings.'+JWB.configext,&lt;br /&gt;
		'prop': 'info|revisions',&lt;br /&gt;
		'intoken': 'edit',&lt;br /&gt;
		'rvprop': 'content',&lt;br /&gt;
		'indexpageids': true&lt;br /&gt;
	}, function(response) {&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		if (JWB === false) return; //user is not allowed to use JWB&lt;br /&gt;
		var firstrun =  JWB.setup.edittoken ? false : true;&lt;br /&gt;
		var page = response.query.pages[response.query.pageids[0]];&lt;br /&gt;
		JWB.setup.edittoken = page.edittoken;&lt;br /&gt;
		if (response.query.pageids[0] === '-1') {&lt;br /&gt;
			if (JWB.allowed &amp;amp;&amp;amp; firstrun) JWB.setup.save('default'); //this runs when this callback returns after the init has loaded.&lt;br /&gt;
			JWB.loadAnalytics(); // load Analytics, because user did not opt-out (no settings page)&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		var data = page.revisions[0]['*'];&lt;br /&gt;
		if (!data) {&lt;br /&gt;
			if (JWB.allowed &amp;amp;&amp;amp; firstrun) JWB.setup.save('default'); //this runs when this callback returns after the init has loaded.&lt;br /&gt;
			JWB.loadAnalytics(); // load Analytics, because user did not opt-out (empty settings page)&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		try {&lt;br /&gt;
			data = JSON.parse(data);&lt;br /&gt;
		} catch(e) {&lt;br /&gt;
			alert(JWB.msg('json-err', e.message, JWB.msg('json-err-page', JWB.settingspage)) || 'JSON error:\n'+e.message);&lt;br /&gt;
			JWB.setup.save('default');&lt;br /&gt;
			JWB.loadAnalytics(); // load Analytics, because user did not opt-out (no valid settings page)&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		if (data[&amp;quot;_google_analytics&amp;quot;] === false) {&lt;br /&gt;
			$('#allow-analytics').prop('checked', false); // user opts out of analytics&lt;br /&gt;
		} else {&lt;br /&gt;
			JWB.loadAnalytics(); // if user's settings exist, and the google analytics preference is not false, load GA.&lt;br /&gt;
			delete data[&amp;quot;_google_analytics&amp;quot;]; // prevent &amp;quot;_google_analytics&amp;quot; from appearing as a profile&lt;br /&gt;
		}&lt;br /&gt;
		JWB.setup.extend(data);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.extend = function(obj) {&lt;br /&gt;
	$.extend(JWB.settings, obj);&lt;br /&gt;
	if (!JWB.settings.hasOwnProperty('default')) {&lt;br /&gt;
		JWB.setup.save('default');&lt;br /&gt;
	}&lt;br /&gt;
	for (var i in JWB.settings) {&lt;br /&gt;
		if ($('#loadSettings').find('option[value=&amp;quot;'+i+'&amp;quot;]').length) continue;&lt;br /&gt;
		$('#loadSettings').append('&amp;lt;option value=&amp;quot;'+i+'&amp;quot;&amp;gt;'+i+'&amp;lt;/option&amp;gt;');&lt;br /&gt;
	}&lt;br /&gt;
	JWB.setup.apply($('#loadSettings').val());&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.delete = function() {&lt;br /&gt;
	var name = $('#loadSettings').val();&lt;br /&gt;
	if (name === '_blank') return alert(JWB.msg('setup-delete-blank'));&lt;br /&gt;
	var temp = {};&lt;br /&gt;
	temp[name] = JWB.settings[name];&lt;br /&gt;
	JWB.setup.temp = $.extend({}, temp);&lt;br /&gt;
	delete JWB.settings[name];&lt;br /&gt;
	$('#loadSettings').val('default');&lt;br /&gt;
	if (name === 'default') {&lt;br /&gt;
		JWB.setup.apply('_blank');&lt;br /&gt;
		JWB.setup.save('default');&lt;br /&gt;
		JWB.status(JWB.msg('status-del-default', '&amp;lt;a href=&amp;quot;javascript:JWB.setup.undelete();&amp;quot;&amp;gt;'+JWB.msg('status-del-undo')+'&amp;lt;/a&amp;gt;'), true);&lt;br /&gt;
	} else {&lt;br /&gt;
		$('#loadSettings').find('[value=&amp;quot;'+name+'&amp;quot;]').remove();&lt;br /&gt;
		JWB.setup.apply();&lt;br /&gt;
		JWB.status(JWB.msg('status-del-setup', name, '&amp;lt;a href=&amp;quot;javascript:JWB.setup.undelete();&amp;quot;&amp;gt;'+JWB.msg('status-del-undo')+'&amp;lt;/a&amp;gt;'), true);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
JWB.setup.undelete = function() {&lt;br /&gt;
	JWB.setup.extend(JWB.setup.temp);&lt;br /&gt;
	JWB.status('done', true);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/***** Main other functions *****/&lt;br /&gt;
&lt;br /&gt;
//Show status message&lt;br /&gt;
JWB.status = function(action, done) {&lt;br /&gt;
	$('#summary, .editbutton').prop('disabled', !done); //Disable box when not done (so busy loading). re-enable when done loading.&lt;br /&gt;
	var status = JWB.msg('status-'+action);&lt;br /&gt;
	if (status === false) return;&lt;br /&gt;
	var spinImg = '&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif&amp;quot; width=&amp;quot;15&amp;quot; height=&amp;quot;15&amp;quot; alt=&amp;quot;'+JWB.msg('status-alt')+'&amp;quot;/&amp;gt;';&lt;br /&gt;
	if (status) {&lt;br /&gt;
		if (!done) { //spinner if not done&lt;br /&gt;
			status += ' ' + spinImg;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		status = action;&lt;br /&gt;
	}&lt;br /&gt;
	$('#status').html(status);&lt;br /&gt;
	JWB.pageCount();&lt;br /&gt;
	return action=='done';&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.pageCount = function() {&lt;br /&gt;
	if (JWB.allowed === false||!$('#articleList').length) return;&lt;br /&gt;
	$('#articleList').val(($('#articleList').val()||'').replace(/(^[ \t]*$\n)*/gm, ''));&lt;br /&gt;
	JWB.list = $('#articleList').val().split('\n');&lt;br /&gt;
	var count = JWB.list.length;&lt;br /&gt;
	if (count === 1 &amp;amp;&amp;amp; JWB.list[0] === '') count = 0;&lt;br /&gt;
	$('#totPages').html(count);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Perform all specified find&amp;amp;replace actions&lt;br /&gt;
JWB.replace = function(input) {&lt;br /&gt;
	JWB.pageCount();&lt;br /&gt;
 	var varOffset = JWB.list[0].indexOf('|') !== -1 ? JWB.list[0].indexOf('|') + 1 : 0;&lt;br /&gt;
 	JWB.page.pagevar = JWB.list[0].substr(varOffset);&lt;br /&gt;
	$('.replaces').each(function() {&lt;br /&gt;
		var $this = $(this);&lt;br /&gt;
		var regexFlags = $this.find('.regexFlags').val();&lt;br /&gt;
		var replace = $this.find('.replaceText').val().replace(/\$x/gi, JWB.page.pagevar).replace(/\\{2}/g, '\\').replace(/\\n/g,'\n') || '$';&lt;br /&gt;
		var useRegex = replace === '$' || $this.find('.useRegex').prop('checked');&lt;br /&gt;
		if (useRegex &amp;amp;&amp;amp; regexFlags.indexOf('_') !== -1) {&lt;br /&gt;
			replace = replace.replace(/[ _]/g, '[ _]'); //replaces any of [Space OR underscore] with a match for spaces or underscores.&lt;br /&gt;
			replace = replace.replace(/(\[[^\]]*)\[ _\]/g, '$1 _'); //in case a [ _] was placed inside another [] match, remove the [].&lt;br /&gt;
			regexFlags = regexFlags.replace('_', '');&lt;br /&gt;
		}&lt;br /&gt;
		//apply replaces where \n and \\ work in both regular text and regex mode.&lt;br /&gt;
		var rWith = $this.find('.replaceWith').val().replace(/\$x/gi, JWB.page.pagevar).replace(/\\{2}/g, '\\').replace(/\\n/g,'\n');&lt;br /&gt;
		try {&lt;br /&gt;
			if ($this.find('.ignoreNowiki').prop('checked')) {&lt;br /&gt;
				if (!useRegex) {&lt;br /&gt;
					replace = replace.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&amp;amp;');&lt;br /&gt;
					regexFlags = 'g';&lt;br /&gt;
				}&lt;br /&gt;
				input = JWB.replaceParsed(input, replace, regexFlags, rWith);&lt;br /&gt;
			} else if (useRegex) {&lt;br /&gt;
				replace = new RegExp(replace, regexFlags);&lt;br /&gt;
				input = input.replace(replace, rWith);&lt;br /&gt;
			} else {&lt;br /&gt;
				input = input.split(replace).join(rWith); //global replacement without having to escape all special chars.&lt;br /&gt;
			}&lt;br /&gt;
		} catch(e) {&lt;br /&gt;
			JWB.stop();&lt;br /&gt;
			return JWB.status('regex-err', false);&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
	if ($('#enableRETF').prop('checked')) {&lt;br /&gt;
		input = RETF.replace(input);&lt;br /&gt;
	}&lt;br /&gt;
	return input;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//function to *only* replace the parsed wikitext&lt;br /&gt;
//It excludes comments (&amp;lt;!-- --&amp;gt;), and nowiki, math, source, syntaxhighlight, pre, code, gallery and timeline tags)&lt;br /&gt;
//Based on http://stackoverflow.com/a/23589204/1256925&lt;br /&gt;
JWB.replaceParsed = function(str, replace, flags, rwith) {&lt;br /&gt;
	var exclude = '(&amp;lt;!--[\\s\\S]*?--&amp;gt;|&amp;lt;(nowiki|math|source|syntaxhighlight|pre|gallery|timeline)[^&amp;gt;]*?&amp;gt;[\\s\\S]*?&amp;lt;\\/\\2&amp;gt;)';&lt;br /&gt;
	//add /i flag, to exclude the correct tags regardless of casing.&lt;br /&gt;
	//This won't matter for the actual replacing, as the specified flags are used there.&lt;br /&gt;
	var re = new RegExp(exclude + '|(' + replace + ')', flags.replace(/i|$/, 'i'));&lt;br /&gt;
	return str.replace(re, function(match, g1, g2, g3) {&lt;br /&gt;
		if (g3 !== undefined) { //continue to perform replacement if the match is the group that's supposed to be the match&lt;br /&gt;
			return match.replace(new RegExp(replace, flags), rwith);&lt;br /&gt;
		} else { //do nothing if the match is one of the excluded groups&lt;br /&gt;
			return match;&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Adds a line to the logs tab.&lt;br /&gt;
JWB.log = function(action, page, info) {&lt;br /&gt;
	var d = new Date();&lt;br /&gt;
	var pagee = encodeURIComponent(page);&lt;br /&gt;
	var extraInfo = '', actionStat = '';&lt;br /&gt;
	switch (action) {&lt;br /&gt;
		case 'edit':&lt;br /&gt;
			if (typeof info === 'undefined') {&lt;br /&gt;
				action = 'null-edit';&lt;br /&gt;
				actionStat = 'nullEdits';&lt;br /&gt;
				extraInfo = '';&lt;br /&gt;
			} else {&lt;br /&gt;
				extraInfo = ' (&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;'+JWB.index_php+'?title='+pagee+'&amp;amp;diff='+info+'&amp;quot;&amp;gt;diff&amp;lt;/a&amp;gt;)';&lt;br /&gt;
				actionStat = 'pagesSaved';&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		case 'skip':&lt;br /&gt;
			actionStat = 'pagesSkipped';&lt;br /&gt;
			break;&lt;br /&gt;
		case 'move':&lt;br /&gt;
			extraInfo = ' to &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;/wiki/'+encodeURIComponent(info)+'&amp;quot; title=&amp;quot;'+info+'&amp;quot;&amp;gt;'+info+'&amp;lt;/a&amp;gt;';&lt;br /&gt;
			break;&lt;br /&gt;
		case 'protect':&lt;br /&gt;
			extraInfo = info;&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
	actionStat = '#' + (actionStat || 'otherActions');&lt;br /&gt;
	$(actionStat).html(+$(actionStat).html() + 1);&lt;br /&gt;
	$('#actionlog tbody')&lt;br /&gt;
		.append('&amp;lt;tr&amp;gt;'+&lt;br /&gt;
			'&amp;lt;td&amp;gt;'+(JWB.fn.pad0(d.getHours())+':'+JWB.fn.pad0(d.getMinutes())+':'+JWB.fn.pad0(d.getSeconds()))+'&amp;lt;/td&amp;gt;'+&lt;br /&gt;
			'&amp;lt;th&amp;gt;'+action+'&amp;lt;/th&amp;gt;'+&lt;br /&gt;
			'&amp;lt;td&amp;gt;&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;/wiki/'+pagee+'&amp;quot; title=&amp;quot;'+page+'&amp;quot;&amp;gt;'+page+'&amp;lt;/a&amp;gt;'+ extraInfo +'&amp;lt;/td&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/tr&amp;gt;')&lt;br /&gt;
		.parents('.JWBtabc').scrollTop($('#actionlog tbody').parents('.JWBtabc')[0].scrollHeight);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Move to the next page in the list&lt;br /&gt;
JWB.next = function(nextPage) {&lt;br /&gt;
	if ($.trim(nextPage) &amp;amp;&amp;amp; !$('#skipAfterAction').prop('checked')) {&lt;br /&gt;
		nextPage = $.trim(nextPage) + '\n';&lt;br /&gt;
	} else {&lt;br /&gt;
		nextPage = '';&lt;br /&gt;
	}&lt;br /&gt;
	$('#articleList').val($('#articleList').val().replace(/^.*\n?/, nextPage));&lt;br /&gt;
	JWB.list.splice(0,1);&lt;br /&gt;
	JWB.pageCount();&lt;br /&gt;
	JWB.api.get(JWB.list[0].split('|')[0]);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Stop everything, reset inputs and editor&lt;br /&gt;
JWB.stop = function() {&lt;br /&gt;
	$('#stopbutton,'+&lt;br /&gt;
	  '.editbutton,'+&lt;br /&gt;
	  '#watchNow,'+&lt;br /&gt;
	  '.JWBtabc[data-tab=&amp;quot;2&amp;quot;] .editbutton,'+&lt;br /&gt;
	  '#watchNow'+&lt;br /&gt;
	  '.JWBtabc[data-tab=&amp;quot;4&amp;quot;] button').prop('disabled', true);&lt;br /&gt;
	$('#startbutton, #articleList,'+&lt;br /&gt;
	  '.JWBtabc[data-tab=&amp;quot;1&amp;quot;] button,'+&lt;br /&gt;
	  '#replacesPopup button,'+&lt;br /&gt;
	  '#replacesPopup input,'+&lt;br /&gt;
	  '.JWBtabc input, select').prop('disabled', false);&lt;br /&gt;
	$('#resultWindow').html('');&lt;br /&gt;
	$('#editBoxArea').val('');&lt;br /&gt;
	$('#currentpage').html(JWB.msg('editbox-currentpage', ' ', ' '));&lt;br /&gt;
	JWB.pl.stop();&lt;br /&gt;
	JWB.status('done', true);&lt;br /&gt;
	JWB.isStopped = true;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Start AutoWikiBrowsing&lt;br /&gt;
JWB.start = function() {&lt;br /&gt;
	JWB.pageCount();&lt;br /&gt;
	if (JWB.list.length === 0 || (JWB.list.length === 1 &amp;amp;&amp;amp; !JWB.list[0])) {&lt;br /&gt;
		alert(JWB.msg('no-pages-listed'));&lt;br /&gt;
	} else if ($('#skipNoChange').prop('checked') &amp;amp;&amp;amp; !$('.replaceText').val() &amp;amp;&amp;amp; !$('.replaceWith').val() &amp;amp;&amp;amp; !$('#enableRETF').prop('checked')) {&lt;br /&gt;
		alert(JWB.msg('infinite-skip-notice'));&lt;br /&gt;
	} else {&lt;br /&gt;
		JWB.isStopped = false;&lt;br /&gt;
		if ($('#preparse').prop('checked') &amp;amp;&amp;amp; !$('#articleList').val().match('#PRE-PARSE-STOP')) {&lt;br /&gt;
			$('#articleList').val($.trim($('#articleList').val()) + '\n#PRE-PARSE-STOP'); //mark where to stop pre-parsing&lt;br /&gt;
		} else {&lt;br /&gt;
			$('#preparse-reset').click();&lt;br /&gt;
		}&lt;br /&gt;
		$('#stopbutton, .editbutton, #watchNow, .JWBtabc[data-tab=&amp;quot;2&amp;quot;] button, .JWBtabc[data-tab=&amp;quot;4&amp;quot;] button').prop('disabled', false);&lt;br /&gt;
		$('#startbutton, #articleList, .JWBtabc[data-tab=&amp;quot;1&amp;quot;] button, #replacesPopup button, #replacesPopup input, .JWBtabc input, select').prop('disabled', true);&lt;br /&gt;
		JWB.api.get(JWB.list[0].split('|')[0]);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.updateButtons = function() {&lt;br /&gt;
	if (!JWB.page.exists &amp;amp;&amp;amp; $('#deletePage').is('.delete')) {&lt;br /&gt;
		$('#deletePage').removeClass('delete').addClass('undelete').html('Undelete');&lt;br /&gt;
		JWB.fn.blink('#deletePage'); //Indicate the button has changed&lt;br /&gt;
	} else if (JWB.page.exists &amp;amp;&amp;amp; $('#deletePage').is('.undelete')) {&lt;br /&gt;
		$('#deletePage').removeClass('undelete').addClass('delete').html('Delete');&lt;br /&gt;
		JWB.fn.blink('#deletePage'); //Indicate the button has changed&lt;br /&gt;
	}&lt;br /&gt;
	if (!JWB.page.exists) {&lt;br /&gt;
		$('#movePage').prop('disabled', true);&lt;br /&gt;
	} else {&lt;br /&gt;
		$('#movePage').prop('disabled', false);&lt;br /&gt;
	}&lt;br /&gt;
	$('#watchNow').html( JWB.msg('watch-' + (JWB.page.watched ? 'remove' : 'add')) );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/***** General functions *****/&lt;br /&gt;
&lt;br /&gt;
//Clear all existing timers to prevent them from getting errors&lt;br /&gt;
JWB.fn.clearAllTimeouts = function() {&lt;br /&gt;
	var i = setTimeout(function() {&lt;br /&gt;
		return void(0);&lt;br /&gt;
	}, 1000);&lt;br /&gt;
	for (var n=0;n&amp;lt;=i;n++) {&lt;br /&gt;
		clearTimeout(n);&lt;br /&gt;
		clearInterval(i);&lt;br /&gt;
	}&lt;br /&gt;
	console.log('Cleared all running intervals up to index',i);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Filter an array to only contain unique values.&lt;br /&gt;
JWB.fn.uniques = function(arr) {&lt;br /&gt;
	var a = [];&lt;br /&gt;
	for (var i=0, l=arr.length; i&amp;lt;l; i++) {&lt;br /&gt;
		if (a.indexOf(arr[i]) === -1 &amp;amp;&amp;amp; arr[i] !== '') {&lt;br /&gt;
			a.push(arr[i]);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	return a;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Prepends zeroes until the number has the desired length of len (default 2)&lt;br /&gt;
JWB.fn.pad0 = function(n, len) {&lt;br /&gt;
	n = n.toString();&lt;br /&gt;
	len = len||2;&lt;br /&gt;
	return n.length &amp;lt; len ? Array(len-n.length).join('0')+n : n;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.fn.blink = function(el,t) {&lt;br /&gt;
	t=t?t:500;&lt;br /&gt;
	$(el).prop('disabled', true)&lt;br /&gt;
	.children().animate({opacity:'0.1'},t-100)&lt;br /&gt;
	.animate({opacity:'1'},t)&lt;br /&gt;
	.animate({opacity:'0.1'},t-100)&lt;br /&gt;
	.animate({opacity:'1'},t);&lt;br /&gt;
	setTimeout(&amp;quot;$('&amp;quot;+el+&amp;quot;').prop('disabled', false)&amp;quot;,t*4-400);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.fn.setSelection = function(el, start, end, dir) {&lt;br /&gt;
    dir = dir||'none'; //Default value&lt;br /&gt;
    end = end||start; //If no end is specified, assume the caret is placed without creating text selection.&lt;br /&gt;
    if (el.setSelectionRange) {&lt;br /&gt;
        el.focus();&lt;br /&gt;
        el.setSelectionRange(start, end, dir);&lt;br /&gt;
    } else if (el.createTextRange) {&lt;br /&gt;
        var rng = el.createTextRange();&lt;br /&gt;
        rng.collapse(true);&lt;br /&gt;
        rng.moveStart('character', start);&lt;br /&gt;
        rng.moveEnd('character', end);&lt;br /&gt;
        rng.select();&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.fn.scrollSelection = function(el, index) { //function to fix scrolling to selection - doesn't do that automatically.&lt;br /&gt;
	var newEl = document.createElement('textarea'); //create a new textarea to simulate the same conditions&lt;br /&gt;
	var elStyle = getComputedStyle(el);&lt;br /&gt;
	newEl.style.height = elStyle.height; //copy over size-influencing styles&lt;br /&gt;
	newEl.style.width = elStyle.width;&lt;br /&gt;
	newEl.style.lineHeight = elStyle.lineHeight;&lt;br /&gt;
	newEl.style.fontSize = elStyle.fontSize;&lt;br /&gt;
	newEl.value = el.value.substr(0,index);&lt;br /&gt;
	document.body.appendChild(newEl); //needs to be added to the HTML for the scrollHeight and clientHeight to work.&lt;br /&gt;
	if (newEl.scrollHeight != newEl.clientHeight) {&lt;br /&gt;
		el.scrollTop = newEl.scrollHeight - 2;&lt;br /&gt;
	} else {&lt;br /&gt;
		el.scrollTop = 0;&lt;br /&gt;
	}&lt;br /&gt;
	newEl.remove(); //clean up the mess I've made&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//i18n function&lt;br /&gt;
JWB.msg = function(message) {&lt;br /&gt;
	var args = arguments;&lt;br /&gt;
	var lang = JWB.lang;&lt;br /&gt;
	if (typeof message === 'object') {&lt;br /&gt;
		lang = message[1];&lt;br /&gt;
		message = message[0];&lt;br /&gt;
	}&lt;br /&gt;
	if (lang == 'qqx') return message;&lt;br /&gt;
	if (!JWB.messages || !JWB.messages.en) return message;&lt;br /&gt;
	var msg;&lt;br /&gt;
	if (JWB.messages.hasOwnProperty(lang) &amp;amp;&amp;amp; JWB.messages[lang].hasOwnProperty(message)) {&lt;br /&gt;
		msg = JWB.messages[lang][message];&lt;br /&gt;
	} else {&lt;br /&gt;
		msg = (JWB.messages.en.hasOwnProperty(message)) ? JWB.messages.en[message] : '';&lt;br /&gt;
	}&lt;br /&gt;
	msg = msg.replace(/\$(\d+)/g, function(match, num) {&lt;br /&gt;
		return args[+num] || match;&lt;br /&gt;
	});&lt;br /&gt;
	return msg;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/***** Init *****/&lt;br /&gt;
&lt;br /&gt;
JWB.init = function() {&lt;br /&gt;
	console.log(JWB.messages.en, !!JWB.messages.en);&lt;br /&gt;
	JWB.setup.load();&lt;br /&gt;
	JWB.fn.clearAllTimeouts();&lt;br /&gt;
	if (!JWB.messages[JWB.lang] &amp;amp;&amp;amp; JWB.lang != 'qqx') JWB.lang = 'en';&lt;br /&gt;
	&lt;br /&gt;
	var findreplace = '&amp;lt;div class=&amp;quot;replaces&amp;quot;&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label style=&amp;quot;display:block;&amp;quot;&amp;gt;'+JWB.msg('label-replace')+' &amp;lt;input type=&amp;quot;text&amp;quot; class=&amp;quot;replaceText&amp;quot;/&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label style=&amp;quot;display:block;&amp;quot;&amp;gt;'+JWB.msg('label-rwith')+' &amp;lt;input type=&amp;quot;text&amp;quot; class=&amp;quot;replaceWith&amp;quot;/&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;div class=&amp;quot;regexswitch&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; class=&amp;quot;useRegex&amp;quot;&amp;gt; '+JWB.msg('label-useregex')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;a class=&amp;quot;re101&amp;quot; href=&amp;quot;http://regex101.com/#javascript&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;?&amp;lt;/a&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label class=&amp;quot;divisor&amp;quot; title=&amp;quot;'+JWB.msg('tip-regex-flags')+'&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;'+&lt;br /&gt;
				JWB.msg('label-regex-flags')+' &amp;lt;input type=&amp;quot;text&amp;quot; class=&amp;quot;regexFlags&amp;quot; value=&amp;quot;g&amp;quot;/&amp;gt;'+ //default: global replacement&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br/&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-ignore-comment')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;input type=&amp;quot;checkbox&amp;quot; class=&amp;quot;ignoreNowiki&amp;quot;&amp;gt; '+JWB.msg('label-ignore-comment')+&lt;br /&gt;
		'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
	'&amp;lt;/div&amp;gt;';&lt;br /&gt;
	&lt;br /&gt;
	var NSList = '&amp;lt;select multiple name=&amp;quot;namespace&amp;quot; id=&amp;quot;namespacelist&amp;quot;&amp;gt;';&lt;br /&gt;
	for (var i in JWB.ns) {&lt;br /&gt;
		if (parseInt(i) &amp;lt; 0) continue; //No Special: or Media: in the list&lt;br /&gt;
		if (parseInt(i) == 0) NSList += '&amp;lt;option value=&amp;quot;'+JWB.ns[i].id+'&amp;quot; selected&amp;gt;'+(JWB.ns[i]['*'] || '('+JWB.msg('namespace-main')+')')+'&amp;lt;/option&amp;gt;';&lt;br /&gt;
		else NSList += '&amp;lt;option value=&amp;quot;'+JWB.ns[i].id+'&amp;quot; _blank&amp;gt;'+(JWB.ns[i]['*'] || '('+JWB.msg('namespace-main')+')')+'&amp;lt;/option&amp;gt;';&lt;br /&gt;
	}&lt;br /&gt;
	NSList += '&amp;lt;/select&amp;gt;';&lt;br /&gt;
	&lt;br /&gt;
	/***** Interface *****/&lt;br /&gt;
	&lt;br /&gt;
	document.title = 'AWB+search Script'+(document.title.split('-')[1] ? ' -'+document.title.split('-')[1] : '');&lt;br /&gt;
	$('body').html(&lt;br /&gt;
		'&amp;lt;article id=&amp;quot;resultWindow&amp;quot;&amp;gt;&amp;lt;/article&amp;gt;'+&lt;br /&gt;
		'&amp;lt;main id=&amp;quot;inputsWindow&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;div id=&amp;quot;inputsBox&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;aside id=&amp;quot;articleBox&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;b&amp;gt;'+JWB.msg('pagelist-caption')+'&amp;lt;/b&amp;gt;'+&lt;br /&gt;
					'&amp;lt;textarea id=&amp;quot;articleList&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;'+&lt;br /&gt;
				'&amp;lt;/aside&amp;gt;'+&lt;br /&gt;
				'&amp;lt;section id=&amp;quot;tabs&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;nav class=&amp;quot;tabholder&amp;quot;&amp;gt;'+&lt;br /&gt;
						'&amp;lt;span class=&amp;quot;JWBtab&amp;quot; data-tab=&amp;quot;1&amp;quot;&amp;gt;'+JWB.msg('tab-setup')+'&amp;lt;/span&amp;gt; '+&lt;br /&gt;
						'&amp;lt;span class=&amp;quot;JWBtab active&amp;quot; data-tab=&amp;quot;2&amp;quot;&amp;gt;'+JWB.msg('tab-editing')+'&amp;lt;/span&amp;gt; '+&lt;br /&gt;
						'&amp;lt;span class=&amp;quot;JWBtab&amp;quot; data-tab=&amp;quot;3&amp;quot;&amp;gt;'+JWB.msg('tab-skip')+'&amp;lt;/span&amp;gt; '+&lt;br /&gt;
						(JWB.sysop?'&amp;lt;span class=&amp;quot;JWBtab&amp;quot; data-tab=&amp;quot;4&amp;quot;&amp;gt;'+JWB.msg('tab-other')+'&amp;lt;/span&amp;gt; ':'')+&lt;br /&gt;
						' &amp;lt;span class=&amp;quot;JWBtab log&amp;quot; data-tab=&amp;quot;5&amp;quot;&amp;gt;'+JWB.msg('tab-log')+'&amp;lt;/span&amp;gt; '+&lt;br /&gt;
					'&amp;lt;/nav&amp;gt;'+&lt;br /&gt;
					'&amp;lt;section class=&amp;quot;JWBtabc&amp;quot; data-tab=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/section&amp;gt;'+&lt;br /&gt;
					'&amp;lt;section class=&amp;quot;JWBtabc active&amp;quot; data-tab=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/section&amp;gt;'+&lt;br /&gt;
					'&amp;lt;section class=&amp;quot;JWBtabc&amp;quot; data-tab=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/section&amp;gt;'+&lt;br /&gt;
					(JWB.sysop?'&amp;lt;section class=&amp;quot;JWBtabc&amp;quot; data-tab=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/section&amp;gt;':'')+&lt;br /&gt;
					'&amp;lt;section class=&amp;quot;JWBtabc log&amp;quot; data-tab=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/section&amp;gt;'+&lt;br /&gt;
					'&amp;lt;footer id=&amp;quot;status&amp;quot;&amp;gt;done&amp;lt;/footer&amp;gt;'+&lt;br /&gt;
				'&amp;lt;/section&amp;gt;'+&lt;br /&gt;
				'&amp;lt;aside id=&amp;quot;editBox&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;b&amp;gt;'+JWB.msg('editbox-caption')+' - &amp;lt;span id=&amp;quot;currentpage&amp;quot;&amp;gt;'+JWB.msg('editbox-currentpage', ' ', ' ')+'&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;'+&lt;br /&gt;
					'&amp;lt;textarea id=&amp;quot;editBoxArea&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;'+&lt;br /&gt;
				'&amp;lt;/aside&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/main&amp;gt;'+&lt;br /&gt;
		'&amp;lt;footer id=&amp;quot;stats&amp;quot;&amp;gt;'+&lt;br /&gt;
			JWB.msg('stat-pages')+' &amp;lt;span id=&amp;quot;totPages&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&amp;amp;emsp;'+&lt;br /&gt;
			JWB.msg('stat-save')+' &amp;lt;span id=&amp;quot;pagesSaved&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&amp;amp;emsp;'+&lt;br /&gt;
			JWB.msg('stat-null')+' &amp;lt;span id=&amp;quot;nullEdits&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&amp;amp;emsp;'+&lt;br /&gt;
			JWB.msg('stat-skip')+' &amp;lt;span id=&amp;quot;pagesSkipped&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&amp;amp;emsp;'+&lt;br /&gt;
			JWB.msg('stat-other')+' &amp;lt;span id=&amp;quot;otherActions&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&amp;amp;emsp;'+&lt;br /&gt;
		'&amp;lt;/footer&amp;gt;'+&lt;br /&gt;
		'&amp;lt;div id=&amp;quot;overlay&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;section class=&amp;quot;JWBpopup&amp;quot; id=&amp;quot;replacesPopup&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;moreReplaces&amp;quot;&amp;gt;'+JWB.msg('button-more-fields')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+findreplace+&lt;br /&gt;
		'&amp;lt;/section&amp;gt;'+&lt;br /&gt;
		'&amp;lt;section class=&amp;quot;JWBpopup&amp;quot; id=&amp;quot;pagelistPopup&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;form action=&amp;quot;#&amp;quot; onsubmit=&amp;quot;JWB.pl.generate();event.preventDefault();&amp;quot;&amp;gt;&amp;lt;/form&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/section&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	&lt;br /&gt;
	$('.JWBtabc[data-tab=&amp;quot;1&amp;quot;]').html(&lt;br /&gt;
		'&amp;lt;fieldset id=&amp;quot;pagelist&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('label-pagelist')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;removeDupes&amp;quot;&amp;gt;'+JWB.msg('button-remove-dupes')+'&amp;lt;/button&amp;gt; '+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;sortArticles&amp;quot;&amp;gt;'+JWB.msg('button-sort')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-preparse')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;preparse&amp;quot;&amp;gt; '+JWB.msg('preparse')+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;preparse-reset&amp;quot; title=&amp;quot;'+JWB.msg('tip-preparse-reset')+'&amp;quot;&amp;gt;'+JWB.msg('preparse-reset')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;pagelistButton&amp;quot;&amp;gt;'+JWB.msg('pagelist-generate')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset id=&amp;quot;settings&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('label-settings')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;saveAs&amp;quot; title=&amp;quot;'+JWB.msg('tip-store-setup')+'&amp;quot;&amp;gt;'+JWB.msg('store-setup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;'+&lt;br /&gt;
				JWB.msg('load-settings') + ' '+&lt;br /&gt;
				'&amp;lt;select id=&amp;quot;loadSettings&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;option value=&amp;quot;default&amp;quot; selected&amp;gt;default&amp;lt;/option&amp;gt;'+&lt;br /&gt;
					'&amp;lt;option value=&amp;quot;_blank&amp;quot;&amp;gt;'+JWB.msg('blank-setup')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
				'&amp;lt;/select&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;deleteSetup&amp;quot; title=&amp;quot;'+JWB.msg('tip-delete-setup')+'&amp;quot;&amp;gt;'+JWB.msg('delete-setup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;hr&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;saveToWiki&amp;quot;&amp;gt;'+JWB.msg('save-setup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;download&amp;quot;&amp;gt;'+JWB.msg('download-setup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;hr&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label class=&amp;quot;button&amp;quot; id=&amp;quot;importLabel&amp;quot; title=&amp;quot;'+JWB.msg('tip-import-setup')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input type=&amp;quot;file&amp;quot; id=&amp;quot;import&amp;quot; accept=&amp;quot;.json&amp;quot;&amp;gt;'+&lt;br /&gt;
				JWB.msg('import-setup')+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;updateSetups&amp;quot; title=&amp;quot;'+JWB.msg('tip-update-setup', JWB.settingspage)+'&amp;quot;&amp;gt;'+JWB.msg('update-setup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;div id=&amp;quot;downloads&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;a download=&amp;quot;JWB-settings.json&amp;quot; target=&amp;quot;_blank&amp;quot; id=&amp;quot;download-anchor&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;'+&lt;br /&gt;
				'&amp;lt;iframe id=&amp;quot;download-iframe&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset id=&amp;quot;google-analytics&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('label-analytics')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-analytics')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input id=&amp;quot;allow-analytics&amp;quot; type=&amp;quot;checkbox&amp;quot; checked&amp;gt; '+&lt;br /&gt;
				JWB.msg('allow-analytics')+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;https://en.wikipedia.org/wiki/User:Joeytje50/JWB#Analytics&amp;quot; title=&amp;quot;'+JWB.msg('tip-analytics-link')+'&amp;quot;&amp;gt;&amp;lt;i&amp;gt;'+&lt;br /&gt;
				JWB.msg('analytics-link')+&lt;br /&gt;
			'&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	$('.JWBtabc[data-tab=&amp;quot;2&amp;quot;]').html(&lt;br /&gt;
		'&amp;lt;label class=&amp;quot;minorEdit&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;minorEdit&amp;quot; checked&amp;gt; '+JWB.msg('minor-edit')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label class=&amp;quot;editSummary viaJWB&amp;quot;&amp;gt;'+JWB.msg('edit-summary')+' &amp;lt;input class=&amp;quot;fullwidth&amp;quot; type=&amp;quot;text&amp;quot; id=&amp;quot;summary&amp;quot; maxlength=&amp;quot;250&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		' &amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;viaJWB&amp;quot; checked title=&amp;quot;'+JWB.msg('tip-via-JWB')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
		'&amp;lt;select id=&amp;quot;watchPage&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;option value=&amp;quot;watch&amp;quot;&amp;gt;'+JWB.msg('watch-watch')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
			'&amp;lt;option value=&amp;quot;unwatch&amp;quot;&amp;gt;'+JWB.msg('watch-unwatch')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
			'&amp;lt;option value=&amp;quot;nochange&amp;quot; selected&amp;gt;'+JWB.msg('watch-nochange')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
			'&amp;lt;option value=&amp;quot;preferences&amp;quot;&amp;gt;'+JWB.msg('watch-preferences')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/select&amp;gt;'+&lt;br /&gt;
		'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;watchNow&amp;quot; disabled accesskey=&amp;quot;w&amp;quot; title=&amp;quot;['+JWB.tooltip+'w]&amp;quot;&amp;gt;'+&lt;br /&gt;
			JWB.msg('watch-add')+&lt;br /&gt;
		'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;br&amp;gt;'+&lt;br /&gt;
		(JWB.bot?&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;autosave&amp;quot;&amp;gt; '+JWB.msg('auto-save')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-save-interval')+'&amp;quot; class=&amp;quot;divisor&amp;quot;&amp;gt;'+&lt;br /&gt;
				JWB.msg('save-interval', '&amp;lt;input type=&amp;quot;number&amp;quot; min=&amp;quot;0&amp;quot; value=&amp;quot;0&amp;quot; style=&amp;quot;width:50px&amp;quot; id=&amp;quot;throttle&amp;quot; disabled&amp;gt;')+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'&lt;br /&gt;
		:'')+&lt;br /&gt;
		'&amp;lt;span id=&amp;quot;startstop&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;startbutton&amp;quot; accesskey=&amp;quot;a&amp;quot; title=&amp;quot;['+JWB.tooltip+'a]&amp;quot;&amp;gt;'+JWB.msg('editbutton-start')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;stopbutton&amp;quot; disabled accesskey=&amp;quot;q&amp;quot; title=&amp;quot;['+JWB.tooltip+'q]&amp;quot;&amp;gt;'+JWB.msg('editbutton-stop')+'&amp;lt;/button&amp;gt; '+&lt;br /&gt;
		'&amp;lt;/span&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button class=&amp;quot;editbutton&amp;quot; id=&amp;quot;skipButton&amp;quot; disabled accesskey=&amp;quot;n&amp;quot; title=&amp;quot;['+JWB.tooltip+'n]&amp;quot;&amp;gt;'+JWB.msg('editbutton-skip')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button class=&amp;quot;editbutton&amp;quot; id=&amp;quot;submitButton&amp;quot; disabled accesskey=&amp;quot;s&amp;quot; title=&amp;quot;['+JWB.tooltip+'s]&amp;quot;&amp;gt;'+JWB.msg('editbutton-save')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;br&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button class=&amp;quot;editbutton&amp;quot; id=&amp;quot;previewButton&amp;quot; disabled accesskey=&amp;quot;p&amp;quot; title=&amp;quot;['+JWB.tooltip+'p]&amp;quot;&amp;gt;'+JWB.msg('editbutton-preview')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button class=&amp;quot;editbutton&amp;quot; id=&amp;quot;diffButton&amp;quot; disabled accesskey=&amp;quot;d&amp;quot; title=&amp;quot;['+JWB.tooltip+'d]&amp;quot;&amp;gt;'+JWB.msg('editbutton-diff')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;replacesButton&amp;quot;&amp;gt;'+JWB.msg('button-open-popup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		findreplace+&lt;br /&gt;
		'&amp;lt;hr&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;enableRETF&amp;quot;&amp;gt;'+&lt;br /&gt;
			JWB.msg('label-enable-RETF', &lt;br /&gt;
				'&amp;lt;a href=&amp;quot;/wiki/Project:AutoWikiBrowser/Typos&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;'+&lt;br /&gt;
					JWB.msg('label-RETF')+&lt;br /&gt;
				'&amp;lt;/a&amp;gt;')+&lt;br /&gt;
		'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		' &amp;lt;img src=&amp;quot;https://upload.wikimedia.org/wikipedia/commons/thumb/2/2a/Gnome-view-refresh.svg/20px-Gnome-view-refresh.svg.png&amp;quot;'+&lt;br /&gt;
		'id=&amp;quot;refreshRETF&amp;quot; title=&amp;quot;'+JWB.msg('tip-refresh-RETF')+'&amp;quot;&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	$('.JWBtabc[data-tab=&amp;quot;3&amp;quot;]').html(&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('label-redirects')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-redirects-follow')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input type=&amp;quot;radio&amp;quot; class=&amp;quot;redirects&amp;quot; value=&amp;quot;follow&amp;quot; name=&amp;quot;redir&amp;quot; id=&amp;quot;redir-follow&amp;quot;&amp;gt; '+JWB.msg('redirects-follow')+' '+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-redirects-skip')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				 '&amp;lt;input type=&amp;quot;radio&amp;quot; class=&amp;quot;redirects&amp;quot; value=&amp;quot;skip&amp;quot; name=&amp;quot;redir&amp;quot; id=&amp;quot;redir-skip&amp;quot;&amp;gt; '+JWB.msg('redirects-skip')+' '+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-redirects-edit')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input type=&amp;quot;radio&amp;quot; class=&amp;quot;redirects&amp;quot; value=&amp;quot;edit&amp;quot; name=&amp;quot;redir&amp;quot; id=&amp;quot;redir-edit&amp;quot; checked&amp;gt; '+JWB.msg('redirects-edit')+''+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('label-skip-when')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;skipNoChange&amp;quot;&amp;gt; '+JWB.msg('skip-no-change')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;exists-yes&amp;quot; name=&amp;quot;exists&amp;quot; value=&amp;quot;yes&amp;quot;&amp;gt; '+JWB.msg('skip-exists-yes')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;exists-no&amp;quot; name=&amp;quot;exists&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; '+JWB.msg('skip-exists-no')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;exists-neither&amp;quot; name=&amp;quot;exists&amp;quot; value=&amp;quot;neither&amp;quot;&amp;gt;'+JWB.msg('skip-exists-neither')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			(JWB.sysop?'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;skipAfterAction&amp;quot; checked&amp;gt; '+JWB.msg('skip-after-action')+'&amp;lt;/label&amp;gt;':'')+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label&amp;gt;'+JWB.msg('skip-contains')+' &amp;lt;input class=&amp;quot;fullwidth&amp;quot; type=&amp;quot;text&amp;quot; id=&amp;quot;skipContains&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label&amp;gt;'+JWB.msg('skip-not-contains')+' &amp;lt;input class=&amp;quot;fullwidth&amp;quot; type=&amp;quot;text&amp;quot; id=&amp;quot;skipNotContains&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;div class=&amp;quot;regexswitch&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;containRegex&amp;quot;&amp;gt; '+JWB.msg('label-useregex')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;a class=&amp;quot;re101&amp;quot; href=&amp;quot;http://regex101.com/#javascript&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;?&amp;lt;/a&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label class=&amp;quot;divisor&amp;quot; title=&amp;quot;'+JWB.msg('tip-regex-flags')+'&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;'+&lt;br /&gt;
				JWB.msg('label-regex-flags')+' &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;containFlags&amp;quot;/&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/div&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	if (JWB.sysop) $('.JWBtabc[data-tab=&amp;quot;4&amp;quot;]').html(&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('move-header')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;suppressRedir&amp;quot;&amp;gt; '+JWB.msg('move-redir-suppress')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			JWB.msg('move-also')+' '+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;movetalk&amp;quot;&amp;gt; '+JWB.msg('move-talk-page')+'&amp;lt;/label&amp;gt; '+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;movesubpage&amp;quot;&amp;gt; '+JWB.msg('move-subpage')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;'+JWB.msg('move-new-name')+' &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;moveTo&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;legend&amp;gt;'+JWB.msg('protect-header')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			JWB.msg('protect-edit')+&lt;br /&gt;
			'&amp;lt;select id=&amp;quot;editProt&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;all&amp;quot; selected&amp;gt;'+JWB.msg('protect-none')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;autoconfirmed&amp;quot;&amp;gt;'+JWB.msg('protect-autoconf')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;sysop&amp;quot;&amp;gt;'+JWB.msg('protect-sysop')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/select&amp;gt; '+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			JWB.msg('protect-move')+&lt;br /&gt;
			'&amp;lt;select id=&amp;quot;moveProt&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;all&amp;quot; selected&amp;gt;'+JWB.msg('protect-none')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;autoconfirmed&amp;quot;&amp;gt;'+JWB.msg('protect-autoconf')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;sysop&amp;quot;&amp;gt;'+JWB.msg('protect-sysop')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/select&amp;gt; '+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;'+JWB.msg('protect-expiry')+' &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;protectExpiry&amp;quot;/&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;movePage&amp;quot; disabled accesskey=&amp;quot;m&amp;quot; title=&amp;quot;['+JWB.tooltip+'m]&amp;quot;&amp;gt;'+JWB.msg('editbutton-move')+'&amp;lt;/button&amp;gt; '+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;deletePage&amp;quot; disabled accesskey=&amp;quot;x&amp;quot; title=&amp;quot;['+JWB.tooltip+'x]&amp;quot;&amp;gt;'+JWB.msg('editbutton-delete')+'&amp;lt;/button&amp;gt; '+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;protectPage&amp;quot; disabled accesskey=&amp;quot;z&amp;quot; title=&amp;quot;['+JWB.tooltip+'z]&amp;quot;&amp;gt;'+JWB.msg('editbutton-protect')+'&amp;lt;/button&amp;gt; '+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;skipPage&amp;quot; disabled title=&amp;quot;['+JWB.tooltip+'n]&amp;quot;&amp;gt;'+JWB.msg('editbutton-skip')+'&amp;lt;/button&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	$('.JWBtabc[data-tab=&amp;quot;5&amp;quot;]').html('&amp;lt;table id=&amp;quot;actionlog&amp;quot;&amp;gt;&amp;lt;tbody&amp;gt;&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;');&lt;br /&gt;
	$('#pagelistPopup form').html(&lt;br /&gt;
		'&amp;lt;div id=&amp;quot;ns-filter&amp;quot; title=&amp;quot;'+JWB.msg('tip-ns-select')+'&amp;quot;&amp;gt;' + JWB.msg('label-ns-select') + NSList + '&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;categorymembers&amp;quot; name=&amp;quot;categorymembers&amp;quot; value=&amp;quot;cm&amp;quot;&amp;gt; '+JWB.msg('legend-cm')+'&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;Namespace prefix not required.&amp;quot;&amp;gt;'+JWB.msg('label-cm')+' &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;cmtitle&amp;quot; id=&amp;quot;cmtitle&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;div&amp;gt;'+JWB.msg('cm-include')+' '+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;cmtype-page&amp;quot; name=&amp;quot;cmtype&amp;quot; value=&amp;quot;page&amp;quot; checked&amp;gt; '+JWB.msg('cm-include-pages')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;cmtype-subcg&amp;quot; name=&amp;quot;cmtype&amp;quot; value=&amp;quot;subcat&amp;quot; checked&amp;gt; '+JWB.msg('cm-include-subcgs')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;cmtype-file&amp;quot; name=&amp;quot;cmtype&amp;quot; value=&amp;quot;file&amp;quot; checked&amp;gt; '+JWB.msg('cm-include-files')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;linksto&amp;quot; id=&amp;quot;linksto&amp;quot;&amp;gt; '+JWB.msg('legend-linksto')+'&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;'+JWB.msg('label-linksto')+' &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;title&amp;quot; id=&amp;quot;linksto-title&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;div&amp;gt;'+JWB.msg('links-include')+' '+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;backlinks&amp;quot; name=&amp;quot;backlinks&amp;quot; value=&amp;quot;bl&amp;quot; checked&amp;gt; '+JWB.msg('links-include-links')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;embeddedin&amp;quot; name=&amp;quot;embeddedin&amp;quot; value=&amp;quot;ei&amp;quot;&amp;gt; '+JWB.msg('links-include-templ')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;imageusage&amp;quot; name=&amp;quot;imageusage&amp;quot; value=&amp;quot;iu&amp;quot;&amp;gt; '+JWB.msg('links-include-files')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
			'&amp;lt;div&amp;gt;'+JWB.msg('links-redir')+' '+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;rfilter-redir&amp;quot; name=&amp;quot;filterredir&amp;quot; value=&amp;quot;redirects&amp;quot;&amp;gt; '+JWB.msg('links-redir-redirs')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;rfilter-nonredir&amp;quot; name=&amp;quot;filterredir&amp;quot; value=&amp;quot;nonredirects&amp;quot;&amp;gt; '+JWB.msg('links-redir-noredirs')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;rfilter-all&amp;quot; name=&amp;quot;filterredir&amp;quot; value=&amp;quot;all&amp;quot; checked&amp;gt; '+JWB.msg('links-redir-all')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-link-redir')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;redirect&amp;quot; value=&amp;quot;true&amp;quot; checked id=&amp;quot;linksto-redir&amp;quot;&amp;gt; '+JWB.msg('label-link-redir')+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;prefixsearch&amp;quot; name=&amp;quot;prefixsearch&amp;quot; value=&amp;quot;ps&amp;quot;&amp;gt; '+JWB.msg('legend-ps')+'&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;'+JWB.msg('label-ps')+' &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;pssearch&amp;quot; id=&amp;quot;pssearch&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;watchlistraw&amp;quot; name=&amp;quot;watchlistraw&amp;quot; value=&amp;quot;wr&amp;quot;&amp;gt; '+JWB.msg('legend-wr')+'&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			JWB.msg('label-wr')+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;proplinks&amp;quot; name=&amp;quot;links&amp;quot; value=&amp;quot;pl&amp;quot;&amp;gt; '+JWB.msg('legend-pl')+'&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-pl')+'&amp;quot;&amp;gt;'+JWB.msg('label-pl')+' &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;pltitles&amp;quot; name=&amp;quot;titles&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;search&amp;quot; value=&amp;quot;sr&amp;quot;&amp;gt;Search&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label title=&amp;quot;Query&amp;quot;&amp;gt;Query&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;srsearch&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button type=&amp;quot;submit&amp;quot;&amp;gt;'+JWB.msg('pagelist-generate')+'&amp;lt;/button&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	$('body').addClass('AutoWikiBrowser'); //allow easier custom styling of JWB.&lt;br /&gt;
	&lt;br /&gt;
	/***** Setup *****/&lt;br /&gt;
	JWB.setup.save('_blank'); //default setup&lt;br /&gt;
	if (JWB.settings.hasOwnProperty('default')) {&lt;br /&gt;
		JWB.setup.apply();&lt;br /&gt;
	} else if (JWB.setup.hasOwnProperty('edittoken')) {&lt;br /&gt;
		JWB.setup.save('default');&lt;br /&gt;
	}&lt;br /&gt;
	JWB.setup.extend({});&lt;br /&gt;
&lt;br /&gt;
	/***** Event handlers *****/&lt;br /&gt;
	&lt;br /&gt;
	//Alert user when leaving the tab, to prevent accidental closing.&lt;br /&gt;
	onbeforeunload = function() {&lt;br /&gt;
		return &amp;quot;Closing this tab will cause you to lose all progress.&amp;quot;;&lt;br /&gt;
	};&lt;br /&gt;
	ondragover = function(e) {&lt;br /&gt;
		e.preventDefault();&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
	$('.JWBtab').click(function() {&lt;br /&gt;
		$('.active').removeClass('active');&lt;br /&gt;
		$(this).addClass('active');&lt;br /&gt;
		$('.JWBtabc[data-tab=&amp;quot;'+$(this).attr('data-tab')+'&amp;quot;]').addClass('active');&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	function showRegexFlags() {&lt;br /&gt;
		// &amp;gt;&amp;gt;this&amp;lt;&amp;lt; is the element that's triggered&lt;br /&gt;
		$(this).parent().nextAll('label').toggle(this.checked);&lt;br /&gt;
	}&lt;br /&gt;
	$('body').on('change', '#useRegex, #containRegex, .useRegex', showRegexFlags);&lt;br /&gt;
	&lt;br /&gt;
	$('#preparse-reset').click(function() {&lt;br /&gt;
		$('#articleList').val($('#articleList').val().replace(/#PRE-PARSE-STOP/g,'').replace(/\n\n/g, '\n'));&lt;br /&gt;
	});&lt;br /&gt;
	$('#saveAs').click(function() {&lt;br /&gt;
		JWB.setup.save();&lt;br /&gt;
	});&lt;br /&gt;
	$('#loadSettings').change(function() {&lt;br /&gt;
		JWB.setup.apply(this.value);&lt;br /&gt;
	});&lt;br /&gt;
	$('#download').click(JWB.setup.download);&lt;br /&gt;
	$('#saveToWiki').click(JWB.setup.submit);&lt;br /&gt;
	$('#import').change(JWB.setup.import);&lt;br /&gt;
	ondrop = JWB.setup.import;&lt;br /&gt;
	$('#updateSetups').click(JWB.setup.load);&lt;br /&gt;
	$('#deleteSetup').click(JWB.setup.delete);&lt;br /&gt;
	&lt;br /&gt;
	if (window.RETF) $('#refreshRETF').click(RETF.load);&lt;br /&gt;
&lt;br /&gt;
	$('#replacesButton, #pagelistButton').click(function() {&lt;br /&gt;
		var popup = this.id.slice(0, -6); //omits the 'Button' in the id by cutting off the last 6 characters&lt;br /&gt;
		$('#'+popup+'Popup, #overlay').show();&lt;br /&gt;
	});&lt;br /&gt;
	$('#overlay').click(function() {&lt;br /&gt;
		$('#replacesPopup, #pagelistPopup, #overlay').hide();&lt;br /&gt;
	});&lt;br /&gt;
	$('#moreReplaces').click(function() {&lt;br /&gt;
		$('#replacesPopup').append(findreplace);&lt;br /&gt;
	});&lt;br /&gt;
	$('#replacesPopup').on('keydown', '.replaces:last', function(e) {&lt;br /&gt;
		if (e.which === 9) $('#moreReplaces')[0].click();&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$('#pagelistPopup legend input').change(function() {&lt;br /&gt;
		//remove disabled attr when checked, add when not.&lt;br /&gt;
		$(this).parents('fieldset').find('input').not('legend input').prop('disabled', !this.checked);&lt;br /&gt;
		$(this).parents('fieldset').prop('disabled', !this.checked);&lt;br /&gt;
	}).trigger('change');&lt;br /&gt;
	&lt;br /&gt;
	$('#resultWindow').on('click', 'tr[data-line]:not(.lineheader) *', function(e) {&lt;br /&gt;
		var line = +$(e.target).closest('tr[data-line]').data('line');&lt;br /&gt;
		var index = $('#editBoxArea').val().split('\n').slice(0, line-1).join('\n').length;&lt;br /&gt;
		$('#editBoxArea')[0].focus();&lt;br /&gt;
		JWB.fn.setSelection($('#editBoxArea')[0], index+1);&lt;br /&gt;
		JWB.fn.scrollSelection($('#editBoxArea')[0], index);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$('#removeDupes').click(function() {&lt;br /&gt;
		$('#articleList').val(JWB.fn.uniques($('#articleList').val().split('\n')).join('\n'));&lt;br /&gt;
		JWB.pageCount();&lt;br /&gt;
	});&lt;br /&gt;
	$('#sortArticles').click(function() {&lt;br /&gt;
		$('#articleList').val($('#articleList').val().split('\n').sort().join('\n'));&lt;br /&gt;
		JWB.pageCount();&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$('#watchNow').click(JWB.api.watch);&lt;br /&gt;
	$('#autosave').change(function() {&lt;br /&gt;
		$('#throttle').prop('disabled', !this.checked);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$('#viaJWB').change(function() {&lt;br /&gt;
		$('#summary').parent('label')&lt;br /&gt;
			.toggleClass('viaJWB', this.checked)&lt;br /&gt;
			.attr('maxlength', 250 - this.checked*JWB.summarySuffix.length); // Change the max size of the allowed summary according to having a suffix or not.&lt;br /&gt;
	});&lt;br /&gt;
	$('#startbutton').click(JWB.start);&lt;br /&gt;
	$('#stopbutton').click(JWB.stop);&lt;br /&gt;
	$('#submitButton').click(JWB.api.submit);&lt;br /&gt;
	$('#previewButton').click(JWB.api.preview);&lt;br /&gt;
	$('#diffButton').click(JWB.api.diff);&lt;br /&gt;
	&lt;br /&gt;
	$('#skipButton, #skipPage').click(function() {&lt;br /&gt;
		JWB.log('skip', JWB.list[0].split('|')[0]);&lt;br /&gt;
		JWB.next();&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	if (JWB.sysop) {&lt;br /&gt;
		$('#movePage').click(function() {&lt;br /&gt;
			if ($('#moveTo').val().length === 0) {&lt;br /&gt;
				return alert(JWB.msg('alert-no-move'));&lt;br /&gt;
			}&lt;br /&gt;
			JWB.api.move();&lt;br /&gt;
		});&lt;br /&gt;
		$('#protectPage').click(JWB.api.protect);&lt;br /&gt;
		$('#deletePage').click(JWB.api.delete);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Disable JWB altogether when it's loaded on a page other than Project:AutoWikiBrowser/Script. This script shouldn't be loaded on any other page in the first place.&lt;br /&gt;
if (JWB.allowed === false) JWB = false;&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%F0%9F%98%A1/common.js&amp;diff=18200</id>
		<title>משתמש:😡/common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%F0%9F%98%A1/common.js&amp;diff=18200"/>
		<updated>2026-03-09T22:46:57Z</updated>

		<summary type="html">&lt;p&gt;😡: יצירת דף עם התוכן &amp;quot;// Copied from User:Joeytje50/JWB.js /**&amp;lt;nowiki&amp;gt;  * Install this script by pasting the following in your personal JavaScript file:  mw.loader.load('//en.wiki...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Copied from [[User:Joeytje50/JWB.js]]&lt;br /&gt;
/**&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 * Install this script by pasting the following in your personal JavaScript file:&lt;br /&gt;
&lt;br /&gt;
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&amp;amp;action=raw&amp;amp;ctype=text/javascript');&lt;br /&gt;
&lt;br /&gt;
 * Or for users on en.wikipedia.org:&lt;br /&gt;
&lt;br /&gt;
importScript( 'User:Joeytje50/JWB.js/load.js' ); // Backlink: [[User:Joeytje50/JWB.js/load.js]]&lt;br /&gt;
&lt;br /&gt;
 * Note that this script will only run on the 'Project:AutoWikiBrowser/Script' page.&lt;br /&gt;
 * This script is based on the downloadable AutoWikiBrowser.&lt;br /&gt;
 * &lt;br /&gt;
 * @licence&lt;br /&gt;
 * This program is free software; you can redistribute it and/or modify&lt;br /&gt;
 * it under the terms of the GNU General Public License as published by&lt;br /&gt;
 * the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;
 * (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This program is distributed in the hope that it will be useful,&lt;br /&gt;
 * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;
 * GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU General Public License along&lt;br /&gt;
 * with this program; if not, write to the Free Software Foundation, Inc.,&lt;br /&gt;
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.&lt;br /&gt;
 * http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
 * @version 3.1.0&lt;br /&gt;
 * @author Joeytje50&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
//TODO: Re-enable summary box (possibly more) when not busy submitting.&lt;br /&gt;
//TODO: more advanced pagelist-generating options&lt;br /&gt;
//TODO: generate page list based on images on a page&lt;br /&gt;
//TODO: Split up i18n to separate files per language (in the same way MediaWiki does it)&lt;br /&gt;
//TODO: Add feature to perform general cleanup (&amp;lt;table&amp;gt; to {|, fullurl-links to wikilinks, removing underscores from wikilinks)&lt;br /&gt;
&lt;br /&gt;
window.JWB = {}; //The main global object for the script.&lt;br /&gt;
&lt;br /&gt;
/***** User verification *****/&lt;br /&gt;
&lt;br /&gt;
(function() {&lt;br /&gt;
	if (mw.config.get('wgCanonicalNamespace')+':'+mw.config.get('wgTitle') !== 'Project:AutoWikiBrowser/Script Beta' || JWB.allowed === false || mw.config.get('wgUserName') === null) {&lt;br /&gt;
		JWB.allowed = false;&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	mw.loader.load('//he.wikipedia.org/w/index.php?title=User:Uziel302/JWB.css&amp;amp;action=raw&amp;amp;ctype=text/css', 'text/css');&lt;br /&gt;
	mw.loader.load('mediawiki.diff.styles');&lt;br /&gt;
	&lt;br /&gt;
	$.getScript('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/i18n.js&amp;amp;action=raw&amp;amp;ctype=text/javascript', function() {&lt;br /&gt;
		if (JWB.allowed === true) {&lt;br /&gt;
			JWB.init(); //init if verification has already returned true&lt;br /&gt;
		} else if (JWB.allowed === false) {&lt;br /&gt;
			alert(JWB.msg('not-on-list'));&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	//RegEx Typo Fixing&lt;br /&gt;
	$.getScript('//en.wikipedia.org/w/index.php?title=User:Joeytje50/RETF.js&amp;amp;action=raw&amp;amp;ctype=text/javascript', function() {&lt;br /&gt;
			$('#refreshRETF').click(RETF.load);&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	(new mw.Api()).get({&lt;br /&gt;
		action: 'query',&lt;br /&gt;
		titles: 'Project:AutoWikiBrowser/CheckPage',&lt;br /&gt;
		prop: 'revisions',&lt;br /&gt;
		meta: 'userinfo|siteinfo',&lt;br /&gt;
		rvprop: 'content',&lt;br /&gt;
		rvlimit: 1,&lt;br /&gt;
		uiprop: 'groups',&lt;br /&gt;
		siprop: 'namespaces',&lt;br /&gt;
		indexpageids: true,&lt;br /&gt;
		format: 'json',&lt;br /&gt;
	}).done(function(response) {&lt;br /&gt;
		if (response.error) {&lt;br /&gt;
			alert('API error: ' + response.error.info);&lt;br /&gt;
			JWB = false; //preventing further access. No verification =&amp;gt; no access.&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		JWB.ns = response.query.namespaces; //saving for later&lt;br /&gt;
		&lt;br /&gt;
		JWB.username = response.query.userinfo.name; //preventing any &amp;quot;hacks&amp;quot; that change wgUserName or mw.config.wgUserName&lt;br /&gt;
		var groups = response.query.userinfo.groups;&lt;br /&gt;
		var page = response.query.pages[response.query.pageids[0]];&lt;br /&gt;
		var users, bots;&lt;br /&gt;
		if (response.query.pageids[0] !== '-1' &amp;amp;&amp;amp; /&amp;lt;!--\s*enabledusersbegins\s*--&amp;gt;/.test(page.revisions[0]['*'])) {&lt;br /&gt;
			var cont = page.revisions[0]['*'];&lt;br /&gt;
			users = cont.substring(&lt;br /&gt;
				cont.search(/&amp;lt;!--\s*enabledusersbegins\s*--&amp;gt;/),&lt;br /&gt;
				cont.search(/&amp;lt;!--\s*enabledusersends\s*--&amp;gt;/)&lt;br /&gt;
			).split('\n');&lt;br /&gt;
			if (/&amp;lt;!--\s*enabledbots\s*--&amp;gt;/.test(cont)) {&lt;br /&gt;
				bots = cont.substring(&lt;br /&gt;
					cont.search(/&amp;lt;!--\s*enabledbots\s*--&amp;gt;/),&lt;br /&gt;
					cont.search(/&amp;lt;!--\s*enabledbotsends\s*--&amp;gt;/)&lt;br /&gt;
				).split('\n');&lt;br /&gt;
			} else bots = [];&lt;br /&gt;
			var i=0;&lt;br /&gt;
			while (i&amp;lt;users.length) {&lt;br /&gt;
			    if (users[i].charAt(0) !== '*') {&lt;br /&gt;
			    	users.splice(i,1);&lt;br /&gt;
			    } else {&lt;br /&gt;
			    	users[i] = $.trim(users[i].substr(1));&lt;br /&gt;
			    	i++;&lt;br /&gt;
			    }&lt;br /&gt;
			}&lt;br /&gt;
			i=0;&lt;br /&gt;
			while (i&amp;lt;bots.length) {&lt;br /&gt;
			    if (bots[i].charAt(0) !== '*') {&lt;br /&gt;
			    	bots.splice(i,1);&lt;br /&gt;
			    } else {&lt;br /&gt;
			    	bots[i] = $.trim(bots[i].substr(1));&lt;br /&gt;
			    	i++;&lt;br /&gt;
			    }&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			users = false; //fallback when page doesn't exist&lt;br /&gt;
		}&lt;br /&gt;
		// Temporary global debugging variables&lt;br /&gt;
		JWB.debug = [groups.indexOf('bot'), users === false, bots &amp;amp;&amp;amp; bots.indexOf(JWB.username)];&lt;br /&gt;
		JWB.bot = groups.indexOf('bot') !== -1 &amp;amp;&amp;amp; (users === false || bots.indexOf(JWB.username) !== -1);&lt;br /&gt;
		JWB.sysop = groups.indexOf('sysop') !== -1;&lt;br /&gt;
		if (JWB.username === &amp;quot;Uziel302&amp;quot; &amp;amp;&amp;amp; response.query.userinfo.id === 13299994) {//TEMP: Dev full access to entire interface.&lt;br /&gt;
			JWB.bot = true;&lt;br /&gt;
			users.push(&amp;quot;Uziel302&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
		if (JWB.sysop || response.query.pageids[0] === '-1' || users.indexOf(JWB.username) !== -1 || users === false) {&lt;br /&gt;
			JWB.allowed = true;&lt;br /&gt;
			if (JWB.messages.en) JWB.init(); //init if messages have already loaded&lt;br /&gt;
		} else {&lt;br /&gt;
			if (JWB.messages.en) {&lt;br /&gt;
				//run this after messages have loaded, so the message that shows is in the user's language&lt;br /&gt;
				alert(JWB.msg('not-on-list'));&lt;br /&gt;
			}&lt;br /&gt;
			JWB = false; //prevent further access&lt;br /&gt;
		}&lt;br /&gt;
	}).fail(function(xhr, error) {&lt;br /&gt;
		alert(JWB.msg('verify-error') + '\n' + error);&lt;br /&gt;
		JWB = false; //preventing further access. No verification =&amp;gt; no access.&lt;br /&gt;
	});&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
/***** Global object/variables *****/&lt;br /&gt;
&lt;br /&gt;
var objs = ['page', 'api', 'fn', 'pl', 'messages', 'setup', 'settings', 'ns'];&lt;br /&gt;
for (var i=0;i&amp;lt;objs.length;i++) {&lt;br /&gt;
	JWB[objs[i]] = {};&lt;br /&gt;
}&lt;br /&gt;
JWB.summarySuffix = ' (דרך [[WP:JWB]])';&lt;br /&gt;
if (document.location.hostname == 'en.wikipedia.org') JWB.summarySuffix = ' (via [[WP:JWB]])'&lt;br /&gt;
JWB.lang = mw.config.get('wgUserLanguage');&lt;br /&gt;
JWB.index_php = mw.config.get('wgScript');&lt;br /&gt;
JWB.isStopped = true;&lt;br /&gt;
JWB.tooltip = window.tooltipAccessKeyPrefix || '';&lt;br /&gt;
JWB.configext = 'js';&lt;br /&gt;
if (document.location.hostname.split('.').slice(-2).join('.') == 'wikia.com' || document.location.hostname.split('.').slice(-2).join('.') == 'fandom.com') {&lt;br /&gt;
	//it makes no sense, but Wikia does not allow users to create .js subpages of their userpage.&lt;br /&gt;
	//Because the settings should REALLY be protected from vandalism automatically, the backup is .css&lt;br /&gt;
	//even though this has nothing to do with CSS.&lt;br /&gt;
	JWB.configext = 'css';&lt;br /&gt;
}&lt;br /&gt;
JWB.settingspage = 'JWB';&lt;br /&gt;
if (window.hasOwnProperty('JWBSETTINGS')) {&lt;br /&gt;
	JWB.settingspage = JWBSETTINGS;&lt;br /&gt;
	delete window.JWBSETTINGS; //clean up the global variable&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/***** Google Analytics *****/&lt;br /&gt;
&lt;br /&gt;
JWB.loadAnalytics = function() {&lt;br /&gt;
	$.getScript('https://www.googletagmanager.com/gtag/js?id=UA-149754182-1', function() {&lt;br /&gt;
		window.dataLayer = window.dataLayer || [];&lt;br /&gt;
		function gtag(){&lt;br /&gt;
			dataLayer.push(arguments);&lt;br /&gt;
		}&lt;br /&gt;
		gtag('js', new Date());&lt;br /&gt;
		gtag('config', 'UA-149754182-1', { 'anonymize_ip': true }); // anonymize_ip to comply with GDPR&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/***** API functions *****/&lt;br /&gt;
&lt;br /&gt;
//Main template for API calls&lt;br /&gt;
JWB.api.call = function(data, callback, onerror) {&lt;br /&gt;
	data.format = 'json';&lt;br /&gt;
	if (data.action !== 'query') data.bot = true;&lt;br /&gt;
	$.ajax({&lt;br /&gt;
		data: data,&lt;br /&gt;
		dataType: 'json',&lt;br /&gt;
		url: mw.config.get('wgScriptPath') + '/api.php',&lt;br /&gt;
		type: 'POST',&lt;br /&gt;
		success: function(response) {&lt;br /&gt;
			if (response.error) {&lt;br /&gt;
				alert('API error: ' + response.error.info);&lt;br /&gt;
				JWB.stop();&lt;br /&gt;
			} else {&lt;br /&gt;
				callback(response);&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		error: function(xhr, error) {&lt;br /&gt;
			alert('AJAX error: ' + error);&lt;br /&gt;
			JWB.stop();&lt;br /&gt;
			if (onerror) onerror();&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Get page diff, and process it for more interactivity&lt;br /&gt;
JWB.api.diff = function(callback) {&lt;br /&gt;
	JWB.status('diff');&lt;br /&gt;
	var editBoxInput = $('#editBoxArea').val();&lt;br /&gt;
	var redirects = $('input.redirects:checked').val()==='follow'?'1':'0';&lt;br /&gt;
	var data = {&lt;br /&gt;
		'action': 'query',&lt;br /&gt;
		'prop': 'info|revisions',&lt;br /&gt;
		'indexpageids': true,&lt;br /&gt;
		'titles': JWB.page.name,&lt;br /&gt;
		'rvlimit': '1',&lt;br /&gt;
		'rvdifftotext': editBoxInput,&lt;br /&gt;
		'redirects': redirects&lt;br /&gt;
	};&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		var pageExists = response.query.pageids[0] !== '-1';&lt;br /&gt;
		var diff;&lt;br /&gt;
		if (pageExists) {&lt;br /&gt;
			var diffpage = response.query.pages[response.query.pageids[0]];&lt;br /&gt;
			diff = diffpage.revisions[0].diff['*'];&lt;br /&gt;
			if (diff === '') {&lt;br /&gt;
				diff = '&amp;lt;h2&amp;gt;'+JWB.msg('no-changes-made')+'&amp;lt;/h2&amp;gt;';&lt;br /&gt;
			} else {&lt;br /&gt;
				diff = '&amp;lt;table class=&amp;quot;diff&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;colgroup&amp;gt;'+&lt;br /&gt;
						'&amp;lt;col class=&amp;quot;diff-marker&amp;quot;&amp;gt;'+&lt;br /&gt;
						'&amp;lt;col class=&amp;quot;diff-content&amp;quot;&amp;gt;'+&lt;br /&gt;
						'&amp;lt;col class=&amp;quot;diff-marker&amp;quot;&amp;gt;'+&lt;br /&gt;
						'&amp;lt;col class=&amp;quot;diff-content&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;/colgroup&amp;gt;'+&lt;br /&gt;
					'&amp;lt;tbody&amp;gt;'+diff+'&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;';&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			diff = '&amp;lt;span style=&amp;quot;font-weight:bold;color:red;&amp;quot;&amp;gt;'+JWB.msg('page-not-exists')+'&amp;lt;/span&amp;gt;';&lt;br /&gt;
		}&lt;br /&gt;
		$('#resultWindow').html(diff);&lt;br /&gt;
		$('.diff-lineno').each(function() {&lt;br /&gt;
			$(this).parent().attr('data-line',parseInt($(this).html().match(/\d+/)[0])-1).addClass('lineheader');&lt;br /&gt;
		});&lt;br /&gt;
		$('table.diff tr').each(function() { //add data-line attribute to every line, relative to the previous one. Used for click event.&lt;br /&gt;
			if (!$(this).next().is('[data-line]') &amp;amp;&amp;amp; !$(this).next().has('td.diff-deletedline + td.diff-empty')) {&lt;br /&gt;
				$(this).next().attr('data-line',parseInt($(this).data('line'))+1);&lt;br /&gt;
			} else if ($(this).next().has('td.diff-deletedline + td.diff-empty')) {&lt;br /&gt;
				$(this).next().attr('data-line',$(this).data('line')); //copy over current data-line for deleted lines to prevent them from messing up counting.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		if (typeof(callback) === 'function') {&lt;br /&gt;
			callback();&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Retrieve page contents/info, process them, and store information in JWB.page object.&lt;br /&gt;
JWB.api.get = function(pagename) {&lt;br /&gt;
	JWB.pageCount();&lt;br /&gt;
	if (!JWB.list[0] || JWB.isStopped) {&lt;br /&gt;
		return JWB.stop();&lt;br /&gt;
	}&lt;br /&gt;
	if (pagename === '#PRE-PARSE-STOP') {&lt;br /&gt;
		var curval = $('#articleList').val();&lt;br /&gt;
		$('#articleList').val(curval.substr(curval.indexOf('\n') + 1));&lt;br /&gt;
		$('#preparse').prop('checked', false);&lt;br /&gt;
		JWB.stop();&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	var redirect = $('input.redirects:checked').val();&lt;br /&gt;
	var data = {&lt;br /&gt;
		'action': 'query',&lt;br /&gt;
		'prop': 'info|revisions',&lt;br /&gt;
		'inprop': 'watched',&lt;br /&gt;
		'intoken': 'edit|delete|protect|move|watch',&lt;br /&gt;
		'titles': pagename,&lt;br /&gt;
		'rvprop': 'content|timestamp|ids',&lt;br /&gt;
		'rvlimit': '1',&lt;br /&gt;
		'indexpageids': true,&lt;br /&gt;
		'meta': 'userinfo',&lt;br /&gt;
		'uiprop': 'hasmsg'&lt;br /&gt;
	};&lt;br /&gt;
	if (redirect=='follow'||redirect=='skip') data.redirects = true;&lt;br /&gt;
	if (JWB.sysop) {&lt;br /&gt;
		data.list = 'deletedrevs';&lt;br /&gt;
		data.drprop = 'token';&lt;br /&gt;
	}&lt;br /&gt;
	JWB.status('load-page');&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		if (response.query.userinfo.hasOwnProperty('messages')) {&lt;br /&gt;
			var view = mw.config.get('wgScriptPath') + '?title=Special:MyTalk';&lt;br /&gt;
			var viewNew = view + '&amp;amp;diff=cur';&lt;br /&gt;
			JWB.status(&lt;br /&gt;
				'&amp;lt;span style=&amp;quot;color:red;font-weight:bold;&amp;quot;&amp;gt;'+&lt;br /&gt;
					JWB.msg('status-newmsg', &lt;br /&gt;
						'&amp;lt;a href=&amp;quot;'+view+'&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;'+JWB.msg('status-talklink')+'&amp;lt;/a&amp;gt;',&lt;br /&gt;
						'&amp;lt;a href=&amp;quot;'+viewNew+'&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;'+JWB.msg('status-difflink')+'&amp;lt;/a&amp;gt;')+&lt;br /&gt;
				'&amp;lt;/span&amp;gt;', true);&lt;br /&gt;
			alert(JWB.msg('new-message'));&lt;br /&gt;
			JWB.stop();&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		JWB.page = response.query.pages[response.query.pageids[0]];&lt;br /&gt;
		JWB.page.name = JWB.list[0].split('|')[0];&lt;br /&gt;
	 	var varOffset = JWB.list[0].indexOf('|') !== -1 ? JWB.list[0].indexOf('|') + 1 : 0;&lt;br /&gt;
	 	JWB.page.pagevar = JWB.list[0].substr(varOffset);&lt;br /&gt;
		JWB.page.content = JWB.page.revisions ? JWB.page.revisions[0]['*'] : '';&lt;br /&gt;
		JWB.page.exists = !response.query.pages[&amp;quot;-1&amp;quot;];&lt;br /&gt;
		JWB.page.deletedrevs = response.query.deletedrevs;&lt;br /&gt;
		JWB.page.watched = JWB.page.hasOwnProperty('watched');&lt;br /&gt;
		if (response.query.redirects) {&lt;br /&gt;
			JWB.page.name = response.query.redirects[0].to;&lt;br /&gt;
		}&lt;br /&gt;
		var newContent = JWB.replace(JWB.page.content);&lt;br /&gt;
		if (JWB.stopped === true) return;&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		var containRegex = $('#containRegex').prop('checked'), containFlags = $('#containFlags').val();&lt;br /&gt;
		var skipContains = containRegex ? new RegExp($('#skipContains').val(), containFlags) : $('#skipContains').val();&lt;br /&gt;
		var skipNotContains = containRegex ? new RegExp($('#skipNotContains').val(), containFlags) : $('#skipContains').val();&lt;br /&gt;
		if (&lt;br /&gt;
			($('#skipNoChange').prop('checked') &amp;amp;&amp;amp; JWB.page.content === newContent) || //skip if no changes are made&lt;br /&gt;
			($('#skipContains').val() &amp;amp;&amp;amp; JWB.page.content.match(skipContains)) ||&lt;br /&gt;
			($('#skipNotContains').val() &amp;amp;&amp;amp; !JWB.page.content.match(skipNotContains)) ||&lt;br /&gt;
			($('#exists-no').prop('checked') &amp;amp;&amp;amp; !JWB.page.exists) ||&lt;br /&gt;
			($('#exists-yes').prop('checked') &amp;amp;&amp;amp; JWB.page.exists) ||&lt;br /&gt;
			(redirect==='skip' &amp;amp;&amp;amp; response.query.redirects) // variable  redirect  is defined outside this callback function.&lt;br /&gt;
		) {&lt;br /&gt;
			JWB.log('skip', JWB.page.name);&lt;br /&gt;
			return JWB.next();&lt;br /&gt;
		} else {&lt;br /&gt;
			$('#editBoxArea').val(newContent);&lt;br /&gt;
			$('#currentpage').html(JWB.msg('editbox-currentpage', JWB.page.name, encodeURIComponent(JWB.page.name)));&lt;br /&gt;
			if ($('#preparse').prop('checked')) {&lt;br /&gt;
				$('#articleList').val($.trim($('#articleList').val()) + '\n' + JWB.list[0]); //move current page to the bottom&lt;br /&gt;
				JWB.next();&lt;br /&gt;
				return;&lt;br /&gt;
			} else if (JWB.bot &amp;amp;&amp;amp; $('#autosave').prop('checked')) {&lt;br /&gt;
				JWB.api.diff(function() {&lt;br /&gt;
					//timeout will take #throttle's value * 1000, if it's a number above 0. Currently defaults to 0.&lt;br /&gt;
					setTimeout(JWB.api.submit, Math.max(+$('#throttle').val() || 0, 0) * 1000, JWB.page.name);&lt;br /&gt;
				});&lt;br /&gt;
			} else {&lt;br /&gt;
				JWB.api.diff();&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		JWB.updateButtons();&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Some functions with self-explanatory names:&lt;br /&gt;
JWB.api.submit = function(page) {&lt;br /&gt;
	JWB.status('submit');&lt;br /&gt;
	var summary = $('#summary').val();&lt;br /&gt;
	if ($('#summary').parent('label').hasClass('viaJWB')) summary += JWB.summarySuffix;&lt;br /&gt;
	if ((typeof page === 'text' &amp;amp;&amp;amp; page !== JWB.page.name) || $('#currentpage a').html().replace(/&amp;amp;amp;/g, '&amp;amp;') !== JWB.page.name) {&lt;br /&gt;
		console.log(page, JWB.page.name, $('#currentpage a').html())&lt;br /&gt;
		JWB.stop();&lt;br /&gt;
		alert(JWB.msg('autosave-error', JWB.msg('tab-log')));&lt;br /&gt;
		$('#currentpage').html(JWB.msg('editbox-currentpage', ' ', ' '));&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	var data = {&lt;br /&gt;
		'title': JWB.page.name,&lt;br /&gt;
		'summary': summary,&lt;br /&gt;
		'action': 'edit',&lt;br /&gt;
		'basetimestamp': JWB.page.revisions ? JWB.page.revisions[0].timestamp : '',&lt;br /&gt;
		'token': JWB.page.edittoken,&lt;br /&gt;
		'text': $('#editBoxArea').val(),&lt;br /&gt;
		'watchlist': $('#watchPage').val(),&lt;br /&gt;
		'bot':true&lt;br /&gt;
	};&lt;br /&gt;
	if ($('#minorEdit').prop('checked')) data.minor = true;&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		JWB.log('edit', response.edit.title, response.edit.newrevid);&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		JWB.next();&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
JWB.api.preview = function() {&lt;br /&gt;
	JWB.status('preview');&lt;br /&gt;
	JWB.api.call({&lt;br /&gt;
		'title': JWB.page.name,&lt;br /&gt;
		'action': 'parse',&lt;br /&gt;
		'text': $('#editBoxArea').val()&lt;br /&gt;
	}, function(response) {&lt;br /&gt;
		$('#resultWindow').html(response.parse.text['*']);&lt;br /&gt;
		$('#resultWindow div.previewnote').remove();&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
JWB.api.move = function() {&lt;br /&gt;
	JWB.status('move');&lt;br /&gt;
	var topage = $('#moveTo').val().replace(/\$x/gi, JWB.page.pagevar);&lt;br /&gt;
	var summary = $('#summary').val();&lt;br /&gt;
	if ($('#summary').parent('label').hasClass('viaJWB')) summary += JWB.summarySuffix;&lt;br /&gt;
	var data = {&lt;br /&gt;
		'action':'move',&lt;br /&gt;
		'from': JWB.page.name,&lt;br /&gt;
		'to': topage,&lt;br /&gt;
		'token': JWB.page.movetoken,&lt;br /&gt;
		'reason': summary,&lt;br /&gt;
		'ignorewarnings': 'yes'&lt;br /&gt;
	};&lt;br /&gt;
	if ($('#moveTalk').prop('checked')) data.movetalk = true;&lt;br /&gt;
	if ($('#moveSubpage').prop('checked')) data.movesubpages = true;&lt;br /&gt;
	if ($('#suppressRedir').prop('checked')) data.noredirect = true;&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		JWB.log('move', response.move.from, reponse.move.to);&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		if (!$('#moveTo').val().match(/\$x/i)) $('#moveTo').val('')[0].focus(); //clear entered move-to pagename if it's not based on the pagevar&lt;br /&gt;
		JWB.next(topage);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
JWB.api.delete = function() {&lt;br /&gt;
	JWB.status(($('#deletePage').is('.undelete') ? 'un' : '') + 'delete');&lt;br /&gt;
	var summary = $('#summary').val();&lt;br /&gt;
	if ($('#summary').parent('label').hasClass('viaJWB')) summary += JWB.summarySuffix;&lt;br /&gt;
	var undeltoken = JWB.page.deletedrevs &amp;amp;&amp;amp; JWB.page.deletedrevs[0] ? JWB.page.deletedrevs[0].token : '';&lt;br /&gt;
	JWB.api.call({&lt;br /&gt;
		'action': (!JWB.page.exists ? 'un' : '') + 'delete',&lt;br /&gt;
		'title': JWB.page.name,&lt;br /&gt;
		'token': JWB.page.exists ? JWB.page.deletetoken : undeltoken,&lt;br /&gt;
		'reason': summary&lt;br /&gt;
	}, function(response) {&lt;br /&gt;
		JWB.log((!JWB.page.exists ? 'un' : '') + 'delete', (response.delete||response.undelete).title);&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		JWB.next(response.undelete &amp;amp;&amp;amp; response.undelete.title);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
JWB.api.protect = function() {&lt;br /&gt;
	JWB.status('protect');&lt;br /&gt;
	var summary = $('#summary').val();&lt;br /&gt;
	if ($('#summary').parent('label').hasClass('viaJWB')) summary += JWB.summarySuffix;&lt;br /&gt;
	var editprot = $('#editProt').val();&lt;br /&gt;
	var moveprot = $('#moveProt').val();&lt;br /&gt;
	JWB.api.call({&lt;br /&gt;
		'action':'protect',&lt;br /&gt;
		'title': JWB.page.name,&lt;br /&gt;
		'token': JWB.page.protecttoken,&lt;br /&gt;
		'reason': summary,&lt;br /&gt;
		'expiry': $('#protectExpiry').val()!==''?$('#protectExpiry').val():'infinite',&lt;br /&gt;
		'protections': (JWB.page.exists?'edit='+editprot+'|move='+moveprot:'create='+editprot)&lt;br /&gt;
	}, function(response) {&lt;br /&gt;
		var protactions = '';&lt;br /&gt;
		var prots = response.protect.protections;&lt;br /&gt;
		for (var i=0;i&amp;lt;prots.length;i++) {&lt;br /&gt;
			if (typeof prots[i].edit == 'string') {&lt;br /&gt;
				protactions += ' edit: '+(prots[i].edit?prots[i].edit:'all');&lt;br /&gt;
			} else if (typeof prots[i].move == 'string') {&lt;br /&gt;
				protactions += ' move: '+(prots[i].move?prots[i].move:'all');&lt;br /&gt;
			} else if (typeof prots[i].create == 'string') {&lt;br /&gt;
				protactions += ' create: '+(prots[i].create?prots[i].create:'all');&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		protactions += ' expires: '+prots[0].expiry;&lt;br /&gt;
		JWB.log('protect', response.protect.title, protactions);&lt;br /&gt;
		JWB.status('done', false);&lt;br /&gt;
		JWB.next(response.protect.title);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.api.watch = function() {&lt;br /&gt;
	JWB.status('watch');&lt;br /&gt;
	var data = {&lt;br /&gt;
		'action':'watch',&lt;br /&gt;
		'title':JWB.page.name,&lt;br /&gt;
		'token':JWB.page.watchtoken&lt;br /&gt;
	};&lt;br /&gt;
	if (JWB.page.watched) data.unwatch = true;&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		JWB.status('&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;'+&lt;br /&gt;
			JWB.msg('status-watch-'+(JWB.page.watched ? 'removed' : 'added'), &amp;quot;'&amp;quot;+JWB.page.name+&amp;quot;'&amp;quot;)+&lt;br /&gt;
		'&amp;lt;/span&amp;gt;', true);&lt;br /&gt;
		JWB.page.watched = !JWB.page.watched;&lt;br /&gt;
		$('#watchNow').html( JWB.msg('watch-' + (JWB.page.watched ? 'remove' : 'add')) );&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/***** Pagelist functions *****/&lt;br /&gt;
&lt;br /&gt;
JWB.pl.list = [];&lt;br /&gt;
JWB.pl.iterations = 0;&lt;br /&gt;
&lt;br /&gt;
JWB.pl.stop = function() {&lt;br /&gt;
	JWB.pl.iterations = 0;&lt;br /&gt;
	$('#pagelistPopup [disabled]:not(fieldset [disabled]), #pagelistPopup legend input').prop('disabled', false);&lt;br /&gt;
	$('#pagelistPopup legend input').trigger('change');&lt;br /&gt;
	$('#pagelistPopup button img').remove();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
JWB.pl.getNSpaces = function() {&lt;br /&gt;
	var list = $('#pagelistPopup [name=&amp;quot;namespace&amp;quot;]')[0];&lt;br /&gt;
	if (list.selectedOptions.length == list.options.length) {&lt;br /&gt;
		return ''; //return empty string if every namespace is selected; this will make the request default to having no filter&lt;br /&gt;
	} else {&lt;br /&gt;
		return $('#pagelistPopup [name=&amp;quot;namespace&amp;quot;]').val().join('|'); //.val() returns an array of selected options.&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * abbrs: array of abbreviations for each page generator enabled.&lt;br /&gt;
 *		ps = prefix search, pl = links on page, etc.&lt;br /&gt;
 *		note that the &amp;quot;Links to page&amp;quot; section may generate multiple generators (each &lt;br /&gt;
 *		of wikilinks, transclusions, and file usage are done separately)&lt;br /&gt;
 * lists: as above, but full names. Possible elements include: &lt;br /&gt;
 *		prefixsearch, links, watchlistraw&lt;br /&gt;
 *		These correspond to possible &amp;quot;list&amp;quot; values for https://www.mediawiki.org/wiki/API:Query&lt;br /&gt;
 *		Er, except when they don't. &amp;quot;links&amp;quot; is not a valid list value (but this just causes a benign warning)&lt;br /&gt;
 * data: object with keys for each value in lists, plus &amp;quot;continue&amp;quot;. For each generator,&lt;br /&gt;
 *		the corresponding value will be the user input related to that generator&lt;br /&gt;
 *		(e.g. the category name, the title prefix). If there are multiple values for&lt;br /&gt;
 *		a generator, they'll be pipe-delimited within the string.&lt;br /&gt;
 *		More keys will be added to this obj during this function's execution.&lt;br /&gt;
 *		(This is ultimately used as POST data for API calls)&lt;br /&gt;
**/&lt;br /&gt;
JWB.pl.getList = function(abbrs, lists, data) {&lt;br /&gt;
	$('#pagelistPopup button, #pagelistPopup input, #pagelistPopup select').prop('disabled', true);&lt;br /&gt;
	JWB.pl.iterations++;&lt;br /&gt;
	// cf. https://www.mediawiki.org/wiki/API:Query&lt;br /&gt;
	data.action = 'query';&lt;br /&gt;
	var nspaces = JWB.pl.getNSpaces();&lt;br /&gt;
	for (var i=0;i&amp;lt;abbrs.length;i++) {&lt;br /&gt;
		if (nspaces) data[abbrs[i]+'namespace'] = nspaces;&lt;br /&gt;
		data[abbrs[i]+'limit'] = 'max';&lt;br /&gt;
	}&lt;br /&gt;
	if (lists.indexOf('links') !== -1) {&lt;br /&gt;
		// If using the &amp;quot;Links on page&amp;quot; feature, then ask the API to give us the links&lt;br /&gt;
		// on each returned page&lt;br /&gt;
		data.prop = 'links';&lt;br /&gt;
	}&lt;br /&gt;
	data.list = lists.join('|');&lt;br /&gt;
	JWB.api.call(data, function(response) {&lt;br /&gt;
		var maxiterate = 100; //allow up to 100 consecutive requests at a time to avoid overloading the server.&lt;br /&gt;
		if (!response.query) response.query = {};&lt;br /&gt;
		if (response.watchlistraw) response.query.watchlistraw = response.watchlistraw; //adding some consistency&lt;br /&gt;
		var plist = [];&lt;br /&gt;
		if (response.query.pages) {&lt;br /&gt;
			var links;&lt;br /&gt;
			for (var id in response.query.pages) {&lt;br /&gt;
				links = response.query.pages[id].links;&lt;br /&gt;
				for (var i=0;i&amp;lt;links.length;i++) {&lt;br /&gt;
					plist.push(links[i].title);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		for (var l in response.query) {&lt;br /&gt;
			if (l === 'pages') continue;&lt;br /&gt;
			for (var i=0;i&amp;lt;response.query[l].length;i++) {&lt;br /&gt;
				plist.push(response.query[l][i].title);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		//add the result to the pagelist immediately, as opposed to saving it all up and adding in 1 go like AWB does&lt;br /&gt;
		$('#articleList').val($.trim($('#articleList').val()) + '\n' + plist.join('\n'));&lt;br /&gt;
		JWB.pageCount();&lt;br /&gt;
		var cont = response.continue;&lt;br /&gt;
		console.log(&amp;quot;Continue&amp;quot;,JWB.pl.iterations, cont);&lt;br /&gt;
		if (cont &amp;amp;&amp;amp; JWB.pl.iterations &amp;lt;= maxiterate) {&lt;br /&gt;
			var lists = [];&lt;br /&gt;
			if (response.query) { //compatibility with the code I wrote for the old query-continue. TODO: make this unnecessary?&lt;br /&gt;
				for (var list in response.query) {&lt;br /&gt;
					lists.push(list); //add to the new array of &amp;amp;list= values&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			var abbrs = [];&lt;br /&gt;
			for (var abbr in cont) {&lt;br /&gt;
				data[abbr] = cont[abbr]; //add the &amp;amp;xxcontinue= value to the data&lt;br /&gt;
				if (abbr != 'continue') {&lt;br /&gt;
					abbrs.push(abbr.replace('continue','')); //find out what xx is and add it to the list of abbrs&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			JWB.pl.getList(abbrs, lists, data); //recursive function to get every page of a list&lt;br /&gt;
		} else {&lt;br /&gt;
			if (JWB.pl.iterations &amp;gt; maxiterate) {&lt;br /&gt;
				JWB.status('pl-over-lim', true);&lt;br /&gt;
			} else {&lt;br /&gt;
				JWB.status('done', true);&lt;br /&gt;
			}&lt;br /&gt;
			JWB.pl.stop();&lt;br /&gt;
		}&lt;br /&gt;
	}, function() { //on error, simply reset and let the user work with what he has&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		JWB.pl.stop();&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//JWB.pl.getList(['wr'], ['watchlistraw'], {}) for watchlists&lt;br /&gt;
JWB.pl.generate = function() {&lt;br /&gt;
	var $fields = $('#pagelistPopup fieldset').not('[disabled]');&lt;br /&gt;
	var spinner = '&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif&amp;quot; width=&amp;quot;15&amp;quot; height=&amp;quot;15&amp;quot; alt=&amp;quot;'+JWB.msg('status-alt')+'&amp;quot;/&amp;gt;';&lt;br /&gt;
	$('#pagelistPopup').find('button[type=&amp;quot;submit&amp;quot;]').append(spinner);&lt;br /&gt;
	var abbrs = [], lists = [], data = {'continue': ''};&lt;br /&gt;
	$fields.each(function() {&lt;br /&gt;
		var list = $(this).find('legend input').attr('name');&lt;br /&gt;
		var abbr;&lt;br /&gt;
		if (list === 'linksto') { //Special case since this fieldset features 3 merged lists in 1 fieldset&lt;br /&gt;
			if (!$('[name=&amp;quot;title&amp;quot;]').val()) return;&lt;br /&gt;
			$('[name=&amp;quot;backlinks&amp;quot;], [name=&amp;quot;embeddedin&amp;quot;], [name=&amp;quot;imageusage&amp;quot;]').filter(':checked').each(function() {&lt;br /&gt;
				var val = this.value;&lt;br /&gt;
				abbrs.push(val);&lt;br /&gt;
				lists.push(this.name);&lt;br /&gt;
				data[val+'title'] = $('[name=&amp;quot;title&amp;quot;]').val();&lt;br /&gt;
				data[val+'filterredir'] = $('[name=&amp;quot;filterredir&amp;quot;]:checked').val();&lt;br /&gt;
				if ($('[name=&amp;quot;redirect&amp;quot;]').prop('checked')) data[val+'redirect'] = true;&lt;br /&gt;
			});&lt;br /&gt;
		} else { //default input system&lt;br /&gt;
			abbr = $(this).find('legend input').val();&lt;br /&gt;
			lists.push(list);&lt;br /&gt;
			abbrs.push(abbr);&lt;br /&gt;
			// For each input in this fieldset other than the checkbox enabling it,&lt;br /&gt;
			// add a key-value pair to data, where the key is the input's name and &lt;br /&gt;
			// the value is the value (or pipe-separated string of values, if multiple)&lt;br /&gt;
			// (These will correspond to params of the API query)&lt;br /&gt;
			$(this).find('input').not('legend input').each(function() {&lt;br /&gt;
				if ((this.type === 'checkbox' || this.type === 'radio') &amp;amp;&amp;amp; this.checked === false) return;&lt;br /&gt;
				if ($(this).is('[name=&amp;quot;cmtitle&amp;quot;]')) {&lt;br /&gt;
					//making sure every page has a Category: prefix, in case the user left it out&lt;br /&gt;
					var newval = $(this).val().replace(new RegExp(JWB.ns[14]['*']+':', 'gi'), '').split('|')[0];&lt;br /&gt;
					$(this).val(JWB.ns[14]['*']+':'+newval);&lt;br /&gt;
				}&lt;br /&gt;
				var name = this.name;&lt;br /&gt;
				var val = this.value;&lt;br /&gt;
				if (data.hasOwnProperty(name)) {&lt;br /&gt;
					data[name] += '|'+val;&lt;br /&gt;
				} else {&lt;br /&gt;
					data[name] = val;&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			console.log(&amp;quot;abbrs, lists, data:&amp;quot;, abbrs, lists, data);&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
	if (abbrs.length) JWB.pl.getList(abbrs, lists, data);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/***** Setup functions *****/&lt;br /&gt;
&lt;br /&gt;
JWB.setup.save = function(name) {&lt;br /&gt;
	name = name || prompt(JWB.msg('setup-prompt', JWB.msg('setup-prompt-store')), $('#loadSettings').val());&lt;br /&gt;
	if (name === null) return;&lt;br /&gt;
	var self = JWB.settings[name] = {&lt;br /&gt;
		string: {},&lt;br /&gt;
		bool: {},&lt;br /&gt;
		replaces: []&lt;br /&gt;
	};&lt;br /&gt;
	//inputs with a text value&lt;br /&gt;
	$('textarea, input[type=&amp;quot;text&amp;quot;], input[type=&amp;quot;number&amp;quot;], select').not('.replaces input, #editBoxArea, #settings *, #google-analytics').each(function() {&lt;br /&gt;
		if (typeof $(this).val() == 'string') { &lt;br /&gt;
			self.string[this.id] = this.value.replace(/\n{2,}/g,'\n');&lt;br /&gt;
		} else {&lt;br /&gt;
			self.string[this.id] = $(this).val();&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
	self.replaces = [];&lt;br /&gt;
	$('.replaces').each(function() {&lt;br /&gt;
		if ($(this).find('.replaceText').val() || $(this).find('.replaceWith').val()) {&lt;br /&gt;
			self.replaces.push({&lt;br /&gt;
				replaceText: $(this).find('.replaceText').val(),&lt;br /&gt;
				replaceWith: $(this).find('.replaceWith').val(),&lt;br /&gt;
				useRegex: $(this).find('.useRegex').prop('checked'),&lt;br /&gt;
				regexFlags: $(this).find('.regexFlags').val(),&lt;br /&gt;
				ignoreNowiki: $(this).find('.ignoreNowiki').prop('checked')&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
	$('input[type=&amp;quot;radio&amp;quot;], input[type=&amp;quot;checkbox&amp;quot;]').not('.replaces input').each(function() {&lt;br /&gt;
		self.bool[this.id] = this.checked;&lt;br /&gt;
	});&lt;br /&gt;
	if (!$('#loadSettings option[value=&amp;quot;'+name+'&amp;quot;]').length) {&lt;br /&gt;
		$('#loadSettings').append('&amp;lt;option value=&amp;quot;'+name+'&amp;quot;&amp;gt;'+name+'&amp;lt;/option&amp;gt;');&lt;br /&gt;
	}&lt;br /&gt;
	$('#loadSettings').val(name);&lt;br /&gt;
	console.log(self);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.apply = function(name) {&lt;br /&gt;
	name = name &amp;amp;&amp;amp; JWB.settings[name] ? name : 'default';&lt;br /&gt;
	var self = JWB.settings[name];&lt;br /&gt;
	$('#loadSettings').val(name);&lt;br /&gt;
	$('.replaces + .replaces').remove(); //reset find&amp;amp;replace inputs&lt;br /&gt;
	$('.replaces input[type=&amp;quot;text&amp;quot;]').val('');&lt;br /&gt;
	$('.useRegex').each(function() {this.checked = false;});&lt;br /&gt;
	$('#pagelistPopup legend input').trigger('change'); //fix checked state of pagelist generating inputs&lt;br /&gt;
	for (var a in self.string) {&lt;br /&gt;
		$('#'+a).val(self.string[a]);&lt;br /&gt;
	}&lt;br /&gt;
	for (var b in self.bool) {&lt;br /&gt;
		$('#'+b).prop('checked', self.bool[b]);&lt;br /&gt;
	}&lt;br /&gt;
	var cur;&lt;br /&gt;
	for (var c=0;c&amp;lt;self.replaces.length;c++) {&lt;br /&gt;
		if ($('.replaces').length &amp;lt;= c) $('#moreReplaces')[0].click();&lt;br /&gt;
		cur = self.replaces[c];&lt;br /&gt;
		for (var d in cur) {&lt;br /&gt;
			if (cur[d] === true || cur[d] === false) {&lt;br /&gt;
				$('.replaces').eq(c).find('.'+d).prop('checked', cur[d]);&lt;br /&gt;
			} else {&lt;br /&gt;
				$('.replaces').eq(c).find('.'+d).val(cur[d]);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	$('.useRegex, #containRegex,'+&lt;br /&gt;
	  '#pagelistPopup legend input,'+&lt;br /&gt;
	  '#viaJWB').trigger('change'); //reset disabled inputs&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.getObj = function() {&lt;br /&gt;
	// google analytics preferences do not depend on which settings profile, so should be stored outside that.&lt;br /&gt;
	JWB.settings['_google_analytics'] = $('#allow-analytics').prop('checked');&lt;br /&gt;
	var settings = [];&lt;br /&gt;
	for (var i in JWB.settings) {&lt;br /&gt;
		if (i != '_blank') {&lt;br /&gt;
			settings.push('&amp;quot;' + i + '&amp;quot;: ' + JSON.stringify(JWB.settings[i]));&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	return '{\n\t' + settings.join(',\n\t') + '\n}';&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.submit = function() {&lt;br /&gt;
	var name = prompt(JWB.msg('setup-prompt', JWB.msg('setup-prompt-save')), $('#loadSettings').val());&lt;br /&gt;
	if (name === null) return;&lt;br /&gt;
	if ($.trim(name) === '') name = 'default';&lt;br /&gt;
	JWB.setup.save(name);&lt;br /&gt;
	JWB.status('setup-submit');&lt;br /&gt;
	JWB.api.call({&lt;br /&gt;
		'title': 'User:'+JWB.username+'/'+JWB.settingspage+'-settings.'+JWB.configext,&lt;br /&gt;
		'summary': JWB.msg(['setup-summary', mw.config.get('wgContentLanguage')]),&lt;br /&gt;
		'action': 'edit',&lt;br /&gt;
		'token': JWB.setup.edittoken,&lt;br /&gt;
		'text': JWB.setup.getObj(),&lt;br /&gt;
		'minor': true&lt;br /&gt;
	}, function(response) {&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//TODO: use blob uri&lt;br /&gt;
JWB.setup.download = function() {&lt;br /&gt;
	var name = prompt(JWB.msg('setup-prompt', JWB.msg('setup-prompt-save')), $('#loadSettings').val());&lt;br /&gt;
	if (name === null) return;&lt;br /&gt;
	if ($.trim(name) === '') name = 'default';&lt;br /&gt;
	JWB.setup.save(name);&lt;br /&gt;
	JWB.status('setup-dload');&lt;br /&gt;
	var url = 'data:application/json;base64,' + btoa(JWB.setup.getObj());&lt;br /&gt;
	var elem = $('#download-anchor')[0];&lt;br /&gt;
	if (elem.hasOwnProperty('download')) { //use download attribute when possible, for its ability to specify a filename&lt;br /&gt;
		elem.href = url;&lt;br /&gt;
		elem.click();&lt;br /&gt;
		setTimeout(function() {elem.removeAttribute('href');}, 2000);&lt;br /&gt;
	} else { //fallback to iframes for browsers with no support for download=&amp;quot;&amp;quot; attributes&lt;br /&gt;
		elem = $('#download-iframe')[0];&lt;br /&gt;
		elem.src = url.replace('application/json', 'application/octet-stream');&lt;br /&gt;
		setTimeout(function() {elem.removeAttribute('src');}, 2000);&lt;br /&gt;
	}&lt;br /&gt;
	JWB.status('done', true);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.import = function(e) {&lt;br /&gt;
	e.preventDefault();&lt;br /&gt;
	file = (e.dataTransfer||this).files[0];&lt;br /&gt;
	if ($(this).is('#import')) { //reset input&lt;br /&gt;
		this.outerHTML = this.outerHTML;&lt;br /&gt;
		$('#import').change(JWB.setup.import);&lt;br /&gt;
	}&lt;br /&gt;
	if (!window.hasOwnProperty('FileReader')) {&lt;br /&gt;
		alert(JWB.msg('old-browser'));&lt;br /&gt;
		JWB.status('old-browser', '&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;'+JWB.index_php+'?title=Special:MyPage/'+JWB.settingspage+'-settings.'+JWB.configext+'&amp;quot;&amp;gt;/'+JWB.settingspage+'-settings.'+JWB.configext+'&amp;lt;/a&amp;gt;');&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	if (file.name.split('.').pop().toLowerCase() !== 'json') {&lt;br /&gt;
		alert(JWB.msg('not-json'));&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	JWB.status('Processing file');&lt;br /&gt;
	var reader = new FileReader();&lt;br /&gt;
	reader.readAsText(file);&lt;br /&gt;
	reader.onload = function(e) {&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		try {&lt;br /&gt;
			//Exclusion regex based on http://stackoverflow.com/a/23589204/1256925&lt;br /&gt;
			//Removes all JS comments from the file, except when they're between quotes.&lt;br /&gt;
			var data = JSON.parse(reader.result.replace(/(&amp;quot;[^&amp;quot;]*&amp;quot;)|(\/\*[\w\W]*\*\/|\/\/[^\n]*)/g, function(match, g1, g2) {&lt;br /&gt;
				if (g1) return g1;&lt;br /&gt;
			}));&lt;br /&gt;
		} catch(e) {&lt;br /&gt;
			alert(JWB.msg('json-err', e.message, JWB.msg('json-err-upload')));&lt;br /&gt;
			console.log(e); //also log the error for further info&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		JWB.setup.extend(data);&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
	JWB.status('Processing file');&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.load = function() {&lt;br /&gt;
	&lt;br /&gt;
//addition forcing LTR orientation&lt;br /&gt;
/**&lt;br /&gt;
 * Forces left-to-right layout and editing on RTL wikis.&lt;br /&gt;
 * @see https://meta.wikimedia.org/wiki/Force_ltr&lt;br /&gt;
 * @update-token [[File:pathoschild/forceltr.js]]&lt;br /&gt;
 */&lt;br /&gt;
mw.loader.load('//tools-static.wmflabs.org/meta/scripts/pathoschild.forceltr.js');&lt;br /&gt;
	&lt;br /&gt;
	JWB.status('setup-load');&lt;br /&gt;
	JWB.api.call({&lt;br /&gt;
		'action': 'query',&lt;br /&gt;
		'titles': 'User:' + (JWB.username||mw.config.get('wgUserName')) + '/'+JWB.settingspage+'-settings.'+JWB.configext,&lt;br /&gt;
		'prop': 'info|revisions',&lt;br /&gt;
		'intoken': 'edit',&lt;br /&gt;
		'rvprop': 'content',&lt;br /&gt;
		'indexpageids': true&lt;br /&gt;
	}, function(response) {&lt;br /&gt;
		JWB.status('done', true);&lt;br /&gt;
		if (JWB === false) return; //user is not allowed to use JWB&lt;br /&gt;
		var firstrun =  JWB.setup.edittoken ? false : true;&lt;br /&gt;
		var page = response.query.pages[response.query.pageids[0]];&lt;br /&gt;
		JWB.setup.edittoken = page.edittoken;&lt;br /&gt;
		if (response.query.pageids[0] === '-1') {&lt;br /&gt;
			if (JWB.allowed &amp;amp;&amp;amp; firstrun) JWB.setup.save('default'); //this runs when this callback returns after the init has loaded.&lt;br /&gt;
			JWB.loadAnalytics(); // load Analytics, because user did not opt-out (no settings page)&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		var data = page.revisions[0]['*'];&lt;br /&gt;
		if (!data) {&lt;br /&gt;
			if (JWB.allowed &amp;amp;&amp;amp; firstrun) JWB.setup.save('default'); //this runs when this callback returns after the init has loaded.&lt;br /&gt;
			JWB.loadAnalytics(); // load Analytics, because user did not opt-out (empty settings page)&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		try {&lt;br /&gt;
			data = JSON.parse(data);&lt;br /&gt;
		} catch(e) {&lt;br /&gt;
			alert(JWB.msg('json-err', e.message, JWB.msg('json-err-page', JWB.settingspage)) || 'JSON error:\n'+e.message);&lt;br /&gt;
			JWB.setup.save('default');&lt;br /&gt;
			JWB.loadAnalytics(); // load Analytics, because user did not opt-out (no valid settings page)&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		if (data[&amp;quot;_google_analytics&amp;quot;] === false) {&lt;br /&gt;
			$('#allow-analytics').prop('checked', false); // user opts out of analytics&lt;br /&gt;
		} else {&lt;br /&gt;
			JWB.loadAnalytics(); // if user's settings exist, and the google analytics preference is not false, load GA.&lt;br /&gt;
			delete data[&amp;quot;_google_analytics&amp;quot;]; // prevent &amp;quot;_google_analytics&amp;quot; from appearing as a profile&lt;br /&gt;
		}&lt;br /&gt;
		JWB.setup.extend(data);&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.extend = function(obj) {&lt;br /&gt;
	$.extend(JWB.settings, obj);&lt;br /&gt;
	if (!JWB.settings.hasOwnProperty('default')) {&lt;br /&gt;
		JWB.setup.save('default');&lt;br /&gt;
	}&lt;br /&gt;
	for (var i in JWB.settings) {&lt;br /&gt;
		if ($('#loadSettings').find('option[value=&amp;quot;'+i+'&amp;quot;]').length) continue;&lt;br /&gt;
		$('#loadSettings').append('&amp;lt;option value=&amp;quot;'+i+'&amp;quot;&amp;gt;'+i+'&amp;lt;/option&amp;gt;');&lt;br /&gt;
	}&lt;br /&gt;
	JWB.setup.apply($('#loadSettings').val());&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.setup.delete = function() {&lt;br /&gt;
	var name = $('#loadSettings').val();&lt;br /&gt;
	if (name === '_blank') return alert(JWB.msg('setup-delete-blank'));&lt;br /&gt;
	var temp = {};&lt;br /&gt;
	temp[name] = JWB.settings[name];&lt;br /&gt;
	JWB.setup.temp = $.extend({}, temp);&lt;br /&gt;
	delete JWB.settings[name];&lt;br /&gt;
	$('#loadSettings').val('default');&lt;br /&gt;
	if (name === 'default') {&lt;br /&gt;
		JWB.setup.apply('_blank');&lt;br /&gt;
		JWB.setup.save('default');&lt;br /&gt;
		JWB.status(JWB.msg('status-del-default', '&amp;lt;a href=&amp;quot;javascript:JWB.setup.undelete();&amp;quot;&amp;gt;'+JWB.msg('status-del-undo')+'&amp;lt;/a&amp;gt;'), true);&lt;br /&gt;
	} else {&lt;br /&gt;
		$('#loadSettings').find('[value=&amp;quot;'+name+'&amp;quot;]').remove();&lt;br /&gt;
		JWB.setup.apply();&lt;br /&gt;
		JWB.status(JWB.msg('status-del-setup', name, '&amp;lt;a href=&amp;quot;javascript:JWB.setup.undelete();&amp;quot;&amp;gt;'+JWB.msg('status-del-undo')+'&amp;lt;/a&amp;gt;'), true);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
JWB.setup.undelete = function() {&lt;br /&gt;
	JWB.setup.extend(JWB.setup.temp);&lt;br /&gt;
	JWB.status('done', true);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/***** Main other functions *****/&lt;br /&gt;
&lt;br /&gt;
//Show status message&lt;br /&gt;
JWB.status = function(action, done) {&lt;br /&gt;
	$('#summary, .editbutton').prop('disabled', !done); //Disable box when not done (so busy loading). re-enable when done loading.&lt;br /&gt;
	var status = JWB.msg('status-'+action);&lt;br /&gt;
	if (status === false) return;&lt;br /&gt;
	var spinImg = '&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif&amp;quot; width=&amp;quot;15&amp;quot; height=&amp;quot;15&amp;quot; alt=&amp;quot;'+JWB.msg('status-alt')+'&amp;quot;/&amp;gt;';&lt;br /&gt;
	if (status) {&lt;br /&gt;
		if (!done) { //spinner if not done&lt;br /&gt;
			status += ' ' + spinImg;&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		status = action;&lt;br /&gt;
	}&lt;br /&gt;
	$('#status').html(status);&lt;br /&gt;
	JWB.pageCount();&lt;br /&gt;
	return action=='done';&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.pageCount = function() {&lt;br /&gt;
	if (JWB.allowed === false||!$('#articleList').length) return;&lt;br /&gt;
	$('#articleList').val(($('#articleList').val()||'').replace(/(^[ \t]*$\n)*/gm, ''));&lt;br /&gt;
	JWB.list = $('#articleList').val().split('\n');&lt;br /&gt;
	var count = JWB.list.length;&lt;br /&gt;
	if (count === 1 &amp;amp;&amp;amp; JWB.list[0] === '') count = 0;&lt;br /&gt;
	$('#totPages').html(count);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Perform all specified find&amp;amp;replace actions&lt;br /&gt;
JWB.replace = function(input) {&lt;br /&gt;
	JWB.pageCount();&lt;br /&gt;
 	var varOffset = JWB.list[0].indexOf('|') !== -1 ? JWB.list[0].indexOf('|') + 1 : 0;&lt;br /&gt;
 	JWB.page.pagevar = JWB.list[0].substr(varOffset);&lt;br /&gt;
	$('.replaces').each(function() {&lt;br /&gt;
		var $this = $(this);&lt;br /&gt;
		var regexFlags = $this.find('.regexFlags').val();&lt;br /&gt;
		var replace = $this.find('.replaceText').val().replace(/\$x/gi, JWB.page.pagevar).replace(/\\{2}/g, '\\').replace(/\\n/g,'\n') || '$';&lt;br /&gt;
		var useRegex = replace === '$' || $this.find('.useRegex').prop('checked');&lt;br /&gt;
		if (useRegex &amp;amp;&amp;amp; regexFlags.indexOf('_') !== -1) {&lt;br /&gt;
			replace = replace.replace(/[ _]/g, '[ _]'); //replaces any of [Space OR underscore] with a match for spaces or underscores.&lt;br /&gt;
			replace = replace.replace(/(\[[^\]]*)\[ _\]/g, '$1 _'); //in case a [ _] was placed inside another [] match, remove the [].&lt;br /&gt;
			regexFlags = regexFlags.replace('_', '');&lt;br /&gt;
		}&lt;br /&gt;
		//apply replaces where \n and \\ work in both regular text and regex mode.&lt;br /&gt;
		var rWith = $this.find('.replaceWith').val().replace(/\$x/gi, JWB.page.pagevar).replace(/\\{2}/g, '\\').replace(/\\n/g,'\n');&lt;br /&gt;
		try {&lt;br /&gt;
			if ($this.find('.ignoreNowiki').prop('checked')) {&lt;br /&gt;
				if (!useRegex) {&lt;br /&gt;
					replace = replace.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&amp;amp;');&lt;br /&gt;
					regexFlags = 'g';&lt;br /&gt;
				}&lt;br /&gt;
				input = JWB.replaceParsed(input, replace, regexFlags, rWith);&lt;br /&gt;
			} else if (useRegex) {&lt;br /&gt;
				replace = new RegExp(replace, regexFlags);&lt;br /&gt;
				input = input.replace(replace, rWith);&lt;br /&gt;
			} else {&lt;br /&gt;
				input = input.split(replace).join(rWith); //global replacement without having to escape all special chars.&lt;br /&gt;
			}&lt;br /&gt;
		} catch(e) {&lt;br /&gt;
			JWB.stop();&lt;br /&gt;
			return JWB.status('regex-err', false);&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
	if ($('#enableRETF').prop('checked')) {&lt;br /&gt;
		input = RETF.replace(input);&lt;br /&gt;
	}&lt;br /&gt;
	return input;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//function to *only* replace the parsed wikitext&lt;br /&gt;
//It excludes comments (&amp;lt;!-- --&amp;gt;), and nowiki, math, source, syntaxhighlight, pre, code, gallery and timeline tags)&lt;br /&gt;
//Based on http://stackoverflow.com/a/23589204/1256925&lt;br /&gt;
JWB.replaceParsed = function(str, replace, flags, rwith) {&lt;br /&gt;
	var exclude = '(&amp;lt;!--[\\s\\S]*?--&amp;gt;|&amp;lt;(nowiki|math|source|syntaxhighlight|pre|gallery|timeline)[^&amp;gt;]*?&amp;gt;[\\s\\S]*?&amp;lt;\\/\\2&amp;gt;)';&lt;br /&gt;
	//add /i flag, to exclude the correct tags regardless of casing.&lt;br /&gt;
	//This won't matter for the actual replacing, as the specified flags are used there.&lt;br /&gt;
	var re = new RegExp(exclude + '|(' + replace + ')', flags.replace(/i|$/, 'i'));&lt;br /&gt;
	return str.replace(re, function(match, g1, g2, g3) {&lt;br /&gt;
		if (g3 !== undefined) { //continue to perform replacement if the match is the group that's supposed to be the match&lt;br /&gt;
			return match.replace(new RegExp(replace, flags), rwith);&lt;br /&gt;
		} else { //do nothing if the match is one of the excluded groups&lt;br /&gt;
			return match;&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Adds a line to the logs tab.&lt;br /&gt;
JWB.log = function(action, page, info) {&lt;br /&gt;
	var d = new Date();&lt;br /&gt;
	var pagee = encodeURIComponent(page);&lt;br /&gt;
	var extraInfo = '', actionStat = '';&lt;br /&gt;
	switch (action) {&lt;br /&gt;
		case 'edit':&lt;br /&gt;
			if (typeof info === 'undefined') {&lt;br /&gt;
				action = 'null-edit';&lt;br /&gt;
				actionStat = 'nullEdits';&lt;br /&gt;
				extraInfo = '';&lt;br /&gt;
			} else {&lt;br /&gt;
				extraInfo = ' (&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;'+JWB.index_php+'?title='+pagee+'&amp;amp;diff='+info+'&amp;quot;&amp;gt;diff&amp;lt;/a&amp;gt;)';&lt;br /&gt;
				actionStat = 'pagesSaved';&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		case 'skip':&lt;br /&gt;
			actionStat = 'pagesSkipped';&lt;br /&gt;
			break;&lt;br /&gt;
		case 'move':&lt;br /&gt;
			extraInfo = ' to &amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;/wiki/'+encodeURIComponent(info)+'&amp;quot; title=&amp;quot;'+info+'&amp;quot;&amp;gt;'+info+'&amp;lt;/a&amp;gt;';&lt;br /&gt;
			break;&lt;br /&gt;
		case 'protect':&lt;br /&gt;
			extraInfo = info;&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
	actionStat = '#' + (actionStat || 'otherActions');&lt;br /&gt;
	$(actionStat).html(+$(actionStat).html() + 1);&lt;br /&gt;
	$('#actionlog tbody')&lt;br /&gt;
		.append('&amp;lt;tr&amp;gt;'+&lt;br /&gt;
			'&amp;lt;td&amp;gt;'+(JWB.fn.pad0(d.getHours())+':'+JWB.fn.pad0(d.getMinutes())+':'+JWB.fn.pad0(d.getSeconds()))+'&amp;lt;/td&amp;gt;'+&lt;br /&gt;
			'&amp;lt;th&amp;gt;'+action+'&amp;lt;/th&amp;gt;'+&lt;br /&gt;
			'&amp;lt;td&amp;gt;&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;/wiki/'+pagee+'&amp;quot; title=&amp;quot;'+page+'&amp;quot;&amp;gt;'+page+'&amp;lt;/a&amp;gt;'+ extraInfo +'&amp;lt;/td&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/tr&amp;gt;')&lt;br /&gt;
		.parents('.JWBtabc').scrollTop($('#actionlog tbody').parents('.JWBtabc')[0].scrollHeight);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Move to the next page in the list&lt;br /&gt;
JWB.next = function(nextPage) {&lt;br /&gt;
	if ($.trim(nextPage) &amp;amp;&amp;amp; !$('#skipAfterAction').prop('checked')) {&lt;br /&gt;
		nextPage = $.trim(nextPage) + '\n';&lt;br /&gt;
	} else {&lt;br /&gt;
		nextPage = '';&lt;br /&gt;
	}&lt;br /&gt;
	$('#articleList').val($('#articleList').val().replace(/^.*\n?/, nextPage));&lt;br /&gt;
	JWB.list.splice(0,1);&lt;br /&gt;
	JWB.pageCount();&lt;br /&gt;
	JWB.api.get(JWB.list[0].split('|')[0]);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Stop everything, reset inputs and editor&lt;br /&gt;
JWB.stop = function() {&lt;br /&gt;
	$('#stopbutton,'+&lt;br /&gt;
	  '.editbutton,'+&lt;br /&gt;
	  '#watchNow,'+&lt;br /&gt;
	  '.JWBtabc[data-tab=&amp;quot;2&amp;quot;] .editbutton,'+&lt;br /&gt;
	  '#watchNow'+&lt;br /&gt;
	  '.JWBtabc[data-tab=&amp;quot;4&amp;quot;] button').prop('disabled', true);&lt;br /&gt;
	$('#startbutton, #articleList,'+&lt;br /&gt;
	  '.JWBtabc[data-tab=&amp;quot;1&amp;quot;] button,'+&lt;br /&gt;
	  '#replacesPopup button,'+&lt;br /&gt;
	  '#replacesPopup input,'+&lt;br /&gt;
	  '.JWBtabc input, select').prop('disabled', false);&lt;br /&gt;
	$('#resultWindow').html('');&lt;br /&gt;
	$('#editBoxArea').val('');&lt;br /&gt;
	$('#currentpage').html(JWB.msg('editbox-currentpage', ' ', ' '));&lt;br /&gt;
	JWB.pl.stop();&lt;br /&gt;
	JWB.status('done', true);&lt;br /&gt;
	JWB.isStopped = true;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Start AutoWikiBrowsing&lt;br /&gt;
JWB.start = function() {&lt;br /&gt;
	JWB.pageCount();&lt;br /&gt;
	if (JWB.list.length === 0 || (JWB.list.length === 1 &amp;amp;&amp;amp; !JWB.list[0])) {&lt;br /&gt;
		alert(JWB.msg('no-pages-listed'));&lt;br /&gt;
	} else if ($('#skipNoChange').prop('checked') &amp;amp;&amp;amp; !$('.replaceText').val() &amp;amp;&amp;amp; !$('.replaceWith').val() &amp;amp;&amp;amp; !$('#enableRETF').prop('checked')) {&lt;br /&gt;
		alert(JWB.msg('infinite-skip-notice'));&lt;br /&gt;
	} else {&lt;br /&gt;
		JWB.isStopped = false;&lt;br /&gt;
		if ($('#preparse').prop('checked') &amp;amp;&amp;amp; !$('#articleList').val().match('#PRE-PARSE-STOP')) {&lt;br /&gt;
			$('#articleList').val($.trim($('#articleList').val()) + '\n#PRE-PARSE-STOP'); //mark where to stop pre-parsing&lt;br /&gt;
		} else {&lt;br /&gt;
			$('#preparse-reset').click();&lt;br /&gt;
		}&lt;br /&gt;
		$('#stopbutton, .editbutton, #watchNow, .JWBtabc[data-tab=&amp;quot;2&amp;quot;] button, .JWBtabc[data-tab=&amp;quot;4&amp;quot;] button').prop('disabled', false);&lt;br /&gt;
		$('#startbutton, #articleList, .JWBtabc[data-tab=&amp;quot;1&amp;quot;] button, #replacesPopup button, #replacesPopup input, .JWBtabc input, select').prop('disabled', true);&lt;br /&gt;
		JWB.api.get(JWB.list[0].split('|')[0]);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.updateButtons = function() {&lt;br /&gt;
	if (!JWB.page.exists &amp;amp;&amp;amp; $('#deletePage').is('.delete')) {&lt;br /&gt;
		$('#deletePage').removeClass('delete').addClass('undelete').html('Undelete');&lt;br /&gt;
		JWB.fn.blink('#deletePage'); //Indicate the button has changed&lt;br /&gt;
	} else if (JWB.page.exists &amp;amp;&amp;amp; $('#deletePage').is('.undelete')) {&lt;br /&gt;
		$('#deletePage').removeClass('undelete').addClass('delete').html('Delete');&lt;br /&gt;
		JWB.fn.blink('#deletePage'); //Indicate the button has changed&lt;br /&gt;
	}&lt;br /&gt;
	if (!JWB.page.exists) {&lt;br /&gt;
		$('#movePage').prop('disabled', true);&lt;br /&gt;
	} else {&lt;br /&gt;
		$('#movePage').prop('disabled', false);&lt;br /&gt;
	}&lt;br /&gt;
	$('#watchNow').html( JWB.msg('watch-' + (JWB.page.watched ? 'remove' : 'add')) );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/***** General functions *****/&lt;br /&gt;
&lt;br /&gt;
//Clear all existing timers to prevent them from getting errors&lt;br /&gt;
JWB.fn.clearAllTimeouts = function() {&lt;br /&gt;
	var i = setTimeout(function() {&lt;br /&gt;
		return void(0);&lt;br /&gt;
	}, 1000);&lt;br /&gt;
	for (var n=0;n&amp;lt;=i;n++) {&lt;br /&gt;
		clearTimeout(n);&lt;br /&gt;
		clearInterval(i);&lt;br /&gt;
	}&lt;br /&gt;
	console.log('Cleared all running intervals up to index',i);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Filter an array to only contain unique values.&lt;br /&gt;
JWB.fn.uniques = function(arr) {&lt;br /&gt;
	var a = [];&lt;br /&gt;
	for (var i=0, l=arr.length; i&amp;lt;l; i++) {&lt;br /&gt;
		if (a.indexOf(arr[i]) === -1 &amp;amp;&amp;amp; arr[i] !== '') {&lt;br /&gt;
			a.push(arr[i]);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	return a;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Prepends zeroes until the number has the desired length of len (default 2)&lt;br /&gt;
JWB.fn.pad0 = function(n, len) {&lt;br /&gt;
	n = n.toString();&lt;br /&gt;
	len = len||2;&lt;br /&gt;
	return n.length &amp;lt; len ? Array(len-n.length).join('0')+n : n;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.fn.blink = function(el,t) {&lt;br /&gt;
	t=t?t:500;&lt;br /&gt;
	$(el).prop('disabled', true)&lt;br /&gt;
	.children().animate({opacity:'0.1'},t-100)&lt;br /&gt;
	.animate({opacity:'1'},t)&lt;br /&gt;
	.animate({opacity:'0.1'},t-100)&lt;br /&gt;
	.animate({opacity:'1'},t);&lt;br /&gt;
	setTimeout(&amp;quot;$('&amp;quot;+el+&amp;quot;').prop('disabled', false)&amp;quot;,t*4-400);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.fn.setSelection = function(el, start, end, dir) {&lt;br /&gt;
    dir = dir||'none'; //Default value&lt;br /&gt;
    end = end||start; //If no end is specified, assume the caret is placed without creating text selection.&lt;br /&gt;
    if (el.setSelectionRange) {&lt;br /&gt;
        el.focus();&lt;br /&gt;
        el.setSelectionRange(start, end, dir);&lt;br /&gt;
    } else if (el.createTextRange) {&lt;br /&gt;
        var rng = el.createTextRange();&lt;br /&gt;
        rng.collapse(true);&lt;br /&gt;
        rng.moveStart('character', start);&lt;br /&gt;
        rng.moveEnd('character', end);&lt;br /&gt;
        rng.select();&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JWB.fn.scrollSelection = function(el, index) { //function to fix scrolling to selection - doesn't do that automatically.&lt;br /&gt;
	var newEl = document.createElement('textarea'); //create a new textarea to simulate the same conditions&lt;br /&gt;
	var elStyle = getComputedStyle(el);&lt;br /&gt;
	newEl.style.height = elStyle.height; //copy over size-influencing styles&lt;br /&gt;
	newEl.style.width = elStyle.width;&lt;br /&gt;
	newEl.style.lineHeight = elStyle.lineHeight;&lt;br /&gt;
	newEl.style.fontSize = elStyle.fontSize;&lt;br /&gt;
	newEl.value = el.value.substr(0,index);&lt;br /&gt;
	document.body.appendChild(newEl); //needs to be added to the HTML for the scrollHeight and clientHeight to work.&lt;br /&gt;
	if (newEl.scrollHeight != newEl.clientHeight) {&lt;br /&gt;
		el.scrollTop = newEl.scrollHeight - 2;&lt;br /&gt;
	} else {&lt;br /&gt;
		el.scrollTop = 0;&lt;br /&gt;
	}&lt;br /&gt;
	newEl.remove(); //clean up the mess I've made&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//i18n function&lt;br /&gt;
JWB.msg = function(message) {&lt;br /&gt;
	var args = arguments;&lt;br /&gt;
	var lang = JWB.lang;&lt;br /&gt;
	if (typeof message === 'object') {&lt;br /&gt;
		lang = message[1];&lt;br /&gt;
		message = message[0];&lt;br /&gt;
	}&lt;br /&gt;
	if (lang == 'qqx') return message;&lt;br /&gt;
	if (!JWB.messages || !JWB.messages.en) return message;&lt;br /&gt;
	var msg;&lt;br /&gt;
	if (JWB.messages.hasOwnProperty(lang) &amp;amp;&amp;amp; JWB.messages[lang].hasOwnProperty(message)) {&lt;br /&gt;
		msg = JWB.messages[lang][message];&lt;br /&gt;
	} else {&lt;br /&gt;
		msg = (JWB.messages.en.hasOwnProperty(message)) ? JWB.messages.en[message] : '';&lt;br /&gt;
	}&lt;br /&gt;
	msg = msg.replace(/\$(\d+)/g, function(match, num) {&lt;br /&gt;
		return args[+num] || match;&lt;br /&gt;
	});&lt;br /&gt;
	return msg;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/***** Init *****/&lt;br /&gt;
&lt;br /&gt;
JWB.init = function() {&lt;br /&gt;
	console.log(JWB.messages.en, !!JWB.messages.en);&lt;br /&gt;
	JWB.setup.load();&lt;br /&gt;
	JWB.fn.clearAllTimeouts();&lt;br /&gt;
	if (!JWB.messages[JWB.lang] &amp;amp;&amp;amp; JWB.lang != 'qqx') JWB.lang = 'en';&lt;br /&gt;
	&lt;br /&gt;
	var findreplace = '&amp;lt;div class=&amp;quot;replaces&amp;quot;&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label style=&amp;quot;display:block;&amp;quot;&amp;gt;'+JWB.msg('label-replace')+' &amp;lt;input type=&amp;quot;text&amp;quot; class=&amp;quot;replaceText&amp;quot;/&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label style=&amp;quot;display:block;&amp;quot;&amp;gt;'+JWB.msg('label-rwith')+' &amp;lt;input type=&amp;quot;text&amp;quot; class=&amp;quot;replaceWith&amp;quot;/&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;div class=&amp;quot;regexswitch&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; class=&amp;quot;useRegex&amp;quot;&amp;gt; '+JWB.msg('label-useregex')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;a class=&amp;quot;re101&amp;quot; href=&amp;quot;http://regex101.com/#javascript&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;?&amp;lt;/a&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label class=&amp;quot;divisor&amp;quot; title=&amp;quot;'+JWB.msg('tip-regex-flags')+'&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;'+&lt;br /&gt;
				JWB.msg('label-regex-flags')+' &amp;lt;input type=&amp;quot;text&amp;quot; class=&amp;quot;regexFlags&amp;quot; value=&amp;quot;g&amp;quot;/&amp;gt;'+ //default: global replacement&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br/&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-ignore-comment')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;input type=&amp;quot;checkbox&amp;quot; class=&amp;quot;ignoreNowiki&amp;quot;&amp;gt; '+JWB.msg('label-ignore-comment')+&lt;br /&gt;
		'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
	'&amp;lt;/div&amp;gt;';&lt;br /&gt;
	&lt;br /&gt;
	var NSList = '&amp;lt;select multiple name=&amp;quot;namespace&amp;quot; id=&amp;quot;namespacelist&amp;quot;&amp;gt;';&lt;br /&gt;
	for (var i in JWB.ns) {&lt;br /&gt;
		if (parseInt(i) &amp;lt; 0) continue; //No Special: or Media: in the list&lt;br /&gt;
		if (parseInt(i) == 0) NSList += '&amp;lt;option value=&amp;quot;'+JWB.ns[i].id+'&amp;quot; selected&amp;gt;'+(JWB.ns[i]['*'] || '('+JWB.msg('namespace-main')+')')+'&amp;lt;/option&amp;gt;';&lt;br /&gt;
		else NSList += '&amp;lt;option value=&amp;quot;'+JWB.ns[i].id+'&amp;quot; _blank&amp;gt;'+(JWB.ns[i]['*'] || '('+JWB.msg('namespace-main')+')')+'&amp;lt;/option&amp;gt;';&lt;br /&gt;
	}&lt;br /&gt;
	NSList += '&amp;lt;/select&amp;gt;';&lt;br /&gt;
	&lt;br /&gt;
	/***** Interface *****/&lt;br /&gt;
	&lt;br /&gt;
	document.title = 'AWB+search Script'+(document.title.split('-')[1] ? ' -'+document.title.split('-')[1] : '');&lt;br /&gt;
	$('body').html(&lt;br /&gt;
		'&amp;lt;article id=&amp;quot;resultWindow&amp;quot;&amp;gt;&amp;lt;/article&amp;gt;'+&lt;br /&gt;
		'&amp;lt;main id=&amp;quot;inputsWindow&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;div id=&amp;quot;inputsBox&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;aside id=&amp;quot;articleBox&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;b&amp;gt;'+JWB.msg('pagelist-caption')+'&amp;lt;/b&amp;gt;'+&lt;br /&gt;
					'&amp;lt;textarea id=&amp;quot;articleList&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;'+&lt;br /&gt;
				'&amp;lt;/aside&amp;gt;'+&lt;br /&gt;
				'&amp;lt;section id=&amp;quot;tabs&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;nav class=&amp;quot;tabholder&amp;quot;&amp;gt;'+&lt;br /&gt;
						'&amp;lt;span class=&amp;quot;JWBtab&amp;quot; data-tab=&amp;quot;1&amp;quot;&amp;gt;'+JWB.msg('tab-setup')+'&amp;lt;/span&amp;gt; '+&lt;br /&gt;
						'&amp;lt;span class=&amp;quot;JWBtab active&amp;quot; data-tab=&amp;quot;2&amp;quot;&amp;gt;'+JWB.msg('tab-editing')+'&amp;lt;/span&amp;gt; '+&lt;br /&gt;
						'&amp;lt;span class=&amp;quot;JWBtab&amp;quot; data-tab=&amp;quot;3&amp;quot;&amp;gt;'+JWB.msg('tab-skip')+'&amp;lt;/span&amp;gt; '+&lt;br /&gt;
						(JWB.sysop?'&amp;lt;span class=&amp;quot;JWBtab&amp;quot; data-tab=&amp;quot;4&amp;quot;&amp;gt;'+JWB.msg('tab-other')+'&amp;lt;/span&amp;gt; ':'')+&lt;br /&gt;
						' &amp;lt;span class=&amp;quot;JWBtab log&amp;quot; data-tab=&amp;quot;5&amp;quot;&amp;gt;'+JWB.msg('tab-log')+'&amp;lt;/span&amp;gt; '+&lt;br /&gt;
					'&amp;lt;/nav&amp;gt;'+&lt;br /&gt;
					'&amp;lt;section class=&amp;quot;JWBtabc&amp;quot; data-tab=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/section&amp;gt;'+&lt;br /&gt;
					'&amp;lt;section class=&amp;quot;JWBtabc active&amp;quot; data-tab=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/section&amp;gt;'+&lt;br /&gt;
					'&amp;lt;section class=&amp;quot;JWBtabc&amp;quot; data-tab=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/section&amp;gt;'+&lt;br /&gt;
					(JWB.sysop?'&amp;lt;section class=&amp;quot;JWBtabc&amp;quot; data-tab=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/section&amp;gt;':'')+&lt;br /&gt;
					'&amp;lt;section class=&amp;quot;JWBtabc log&amp;quot; data-tab=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/section&amp;gt;'+&lt;br /&gt;
					'&amp;lt;footer id=&amp;quot;status&amp;quot;&amp;gt;done&amp;lt;/footer&amp;gt;'+&lt;br /&gt;
				'&amp;lt;/section&amp;gt;'+&lt;br /&gt;
				'&amp;lt;aside id=&amp;quot;editBox&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;b&amp;gt;'+JWB.msg('editbox-caption')+' - &amp;lt;span id=&amp;quot;currentpage&amp;quot;&amp;gt;'+JWB.msg('editbox-currentpage', ' ', ' ')+'&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;'+&lt;br /&gt;
					'&amp;lt;textarea id=&amp;quot;editBoxArea&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;'+&lt;br /&gt;
				'&amp;lt;/aside&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/main&amp;gt;'+&lt;br /&gt;
		'&amp;lt;footer id=&amp;quot;stats&amp;quot;&amp;gt;'+&lt;br /&gt;
			JWB.msg('stat-pages')+' &amp;lt;span id=&amp;quot;totPages&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&amp;amp;emsp;'+&lt;br /&gt;
			JWB.msg('stat-save')+' &amp;lt;span id=&amp;quot;pagesSaved&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&amp;amp;emsp;'+&lt;br /&gt;
			JWB.msg('stat-null')+' &amp;lt;span id=&amp;quot;nullEdits&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&amp;amp;emsp;'+&lt;br /&gt;
			JWB.msg('stat-skip')+' &amp;lt;span id=&amp;quot;pagesSkipped&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&amp;amp;emsp;'+&lt;br /&gt;
			JWB.msg('stat-other')+' &amp;lt;span id=&amp;quot;otherActions&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&amp;amp;emsp;'+&lt;br /&gt;
		'&amp;lt;/footer&amp;gt;'+&lt;br /&gt;
		'&amp;lt;div id=&amp;quot;overlay&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;section class=&amp;quot;JWBpopup&amp;quot; id=&amp;quot;replacesPopup&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;moreReplaces&amp;quot;&amp;gt;'+JWB.msg('button-more-fields')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+findreplace+&lt;br /&gt;
		'&amp;lt;/section&amp;gt;'+&lt;br /&gt;
		'&amp;lt;section class=&amp;quot;JWBpopup&amp;quot; id=&amp;quot;pagelistPopup&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;form action=&amp;quot;#&amp;quot; onsubmit=&amp;quot;JWB.pl.generate();event.preventDefault();&amp;quot;&amp;gt;&amp;lt;/form&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/section&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	&lt;br /&gt;
	$('.JWBtabc[data-tab=&amp;quot;1&amp;quot;]').html(&lt;br /&gt;
		'&amp;lt;fieldset id=&amp;quot;pagelist&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('label-pagelist')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;removeDupes&amp;quot;&amp;gt;'+JWB.msg('button-remove-dupes')+'&amp;lt;/button&amp;gt; '+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;sortArticles&amp;quot;&amp;gt;'+JWB.msg('button-sort')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-preparse')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;preparse&amp;quot;&amp;gt; '+JWB.msg('preparse')+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;preparse-reset&amp;quot; title=&amp;quot;'+JWB.msg('tip-preparse-reset')+'&amp;quot;&amp;gt;'+JWB.msg('preparse-reset')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;pagelistButton&amp;quot;&amp;gt;'+JWB.msg('pagelist-generate')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset id=&amp;quot;settings&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('label-settings')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;saveAs&amp;quot; title=&amp;quot;'+JWB.msg('tip-store-setup')+'&amp;quot;&amp;gt;'+JWB.msg('store-setup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;'+&lt;br /&gt;
				JWB.msg('load-settings') + ' '+&lt;br /&gt;
				'&amp;lt;select id=&amp;quot;loadSettings&amp;quot;&amp;gt;'+&lt;br /&gt;
					'&amp;lt;option value=&amp;quot;default&amp;quot; selected&amp;gt;default&amp;lt;/option&amp;gt;'+&lt;br /&gt;
					'&amp;lt;option value=&amp;quot;_blank&amp;quot;&amp;gt;'+JWB.msg('blank-setup')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
				'&amp;lt;/select&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;deleteSetup&amp;quot; title=&amp;quot;'+JWB.msg('tip-delete-setup')+'&amp;quot;&amp;gt;'+JWB.msg('delete-setup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;hr&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;saveToWiki&amp;quot;&amp;gt;'+JWB.msg('save-setup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;download&amp;quot;&amp;gt;'+JWB.msg('download-setup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;hr&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label class=&amp;quot;button&amp;quot; id=&amp;quot;importLabel&amp;quot; title=&amp;quot;'+JWB.msg('tip-import-setup')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input type=&amp;quot;file&amp;quot; id=&amp;quot;import&amp;quot; accept=&amp;quot;.json&amp;quot;&amp;gt;'+&lt;br /&gt;
				JWB.msg('import-setup')+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;updateSetups&amp;quot; title=&amp;quot;'+JWB.msg('tip-update-setup', JWB.settingspage)+'&amp;quot;&amp;gt;'+JWB.msg('update-setup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;div id=&amp;quot;downloads&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;a download=&amp;quot;JWB-settings.json&amp;quot; target=&amp;quot;_blank&amp;quot; id=&amp;quot;download-anchor&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;'+&lt;br /&gt;
				'&amp;lt;iframe id=&amp;quot;download-iframe&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset id=&amp;quot;google-analytics&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('label-analytics')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-analytics')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input id=&amp;quot;allow-analytics&amp;quot; type=&amp;quot;checkbox&amp;quot; checked&amp;gt; '+&lt;br /&gt;
				JWB.msg('allow-analytics')+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;https://en.wikipedia.org/wiki/User:Joeytje50/JWB#Analytics&amp;quot; title=&amp;quot;'+JWB.msg('tip-analytics-link')+'&amp;quot;&amp;gt;&amp;lt;i&amp;gt;'+&lt;br /&gt;
				JWB.msg('analytics-link')+&lt;br /&gt;
			'&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	$('.JWBtabc[data-tab=&amp;quot;2&amp;quot;]').html(&lt;br /&gt;
		'&amp;lt;label class=&amp;quot;minorEdit&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;minorEdit&amp;quot; checked&amp;gt; '+JWB.msg('minor-edit')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label class=&amp;quot;editSummary viaJWB&amp;quot;&amp;gt;'+JWB.msg('edit-summary')+' &amp;lt;input class=&amp;quot;fullwidth&amp;quot; type=&amp;quot;text&amp;quot; id=&amp;quot;summary&amp;quot; maxlength=&amp;quot;250&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		' &amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;viaJWB&amp;quot; checked title=&amp;quot;'+JWB.msg('tip-via-JWB')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
		'&amp;lt;select id=&amp;quot;watchPage&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;option value=&amp;quot;watch&amp;quot;&amp;gt;'+JWB.msg('watch-watch')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
			'&amp;lt;option value=&amp;quot;unwatch&amp;quot;&amp;gt;'+JWB.msg('watch-unwatch')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
			'&amp;lt;option value=&amp;quot;nochange&amp;quot; selected&amp;gt;'+JWB.msg('watch-nochange')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
			'&amp;lt;option value=&amp;quot;preferences&amp;quot;&amp;gt;'+JWB.msg('watch-preferences')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/select&amp;gt;'+&lt;br /&gt;
		'&amp;lt;span class=&amp;quot;divisor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;watchNow&amp;quot; disabled accesskey=&amp;quot;w&amp;quot; title=&amp;quot;['+JWB.tooltip+'w]&amp;quot;&amp;gt;'+&lt;br /&gt;
			JWB.msg('watch-add')+&lt;br /&gt;
		'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;br&amp;gt;'+&lt;br /&gt;
		(JWB.bot?&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;autosave&amp;quot;&amp;gt; '+JWB.msg('auto-save')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-save-interval')+'&amp;quot; class=&amp;quot;divisor&amp;quot;&amp;gt;'+&lt;br /&gt;
				JWB.msg('save-interval', '&amp;lt;input type=&amp;quot;number&amp;quot; min=&amp;quot;0&amp;quot; value=&amp;quot;0&amp;quot; style=&amp;quot;width:50px&amp;quot; id=&amp;quot;throttle&amp;quot; disabled&amp;gt;')+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'&lt;br /&gt;
		:'')+&lt;br /&gt;
		'&amp;lt;span id=&amp;quot;startstop&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;startbutton&amp;quot; accesskey=&amp;quot;a&amp;quot; title=&amp;quot;['+JWB.tooltip+'a]&amp;quot;&amp;gt;'+JWB.msg('editbutton-start')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;button id=&amp;quot;stopbutton&amp;quot; disabled accesskey=&amp;quot;q&amp;quot; title=&amp;quot;['+JWB.tooltip+'q]&amp;quot;&amp;gt;'+JWB.msg('editbutton-stop')+'&amp;lt;/button&amp;gt; '+&lt;br /&gt;
		'&amp;lt;/span&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button class=&amp;quot;editbutton&amp;quot; id=&amp;quot;skipButton&amp;quot; disabled accesskey=&amp;quot;n&amp;quot; title=&amp;quot;['+JWB.tooltip+'n]&amp;quot;&amp;gt;'+JWB.msg('editbutton-skip')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button class=&amp;quot;editbutton&amp;quot; id=&amp;quot;submitButton&amp;quot; disabled accesskey=&amp;quot;s&amp;quot; title=&amp;quot;['+JWB.tooltip+'s]&amp;quot;&amp;gt;'+JWB.msg('editbutton-save')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;br&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button class=&amp;quot;editbutton&amp;quot; id=&amp;quot;previewButton&amp;quot; disabled accesskey=&amp;quot;p&amp;quot; title=&amp;quot;['+JWB.tooltip+'p]&amp;quot;&amp;gt;'+JWB.msg('editbutton-preview')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button class=&amp;quot;editbutton&amp;quot; id=&amp;quot;diffButton&amp;quot; disabled accesskey=&amp;quot;d&amp;quot; title=&amp;quot;['+JWB.tooltip+'d]&amp;quot;&amp;gt;'+JWB.msg('editbutton-diff')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;replacesButton&amp;quot;&amp;gt;'+JWB.msg('button-open-popup')+'&amp;lt;/button&amp;gt;'+&lt;br /&gt;
		findreplace+&lt;br /&gt;
		'&amp;lt;hr&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;enableRETF&amp;quot;&amp;gt;'+&lt;br /&gt;
			JWB.msg('label-enable-RETF', &lt;br /&gt;
				'&amp;lt;a href=&amp;quot;/wiki/Project:AutoWikiBrowser/Typos&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;'+&lt;br /&gt;
					JWB.msg('label-RETF')+&lt;br /&gt;
				'&amp;lt;/a&amp;gt;')+&lt;br /&gt;
		'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		' &amp;lt;img src=&amp;quot;https://upload.wikimedia.org/wikipedia/commons/thumb/2/2a/Gnome-view-refresh.svg/20px-Gnome-view-refresh.svg.png&amp;quot;'+&lt;br /&gt;
		'id=&amp;quot;refreshRETF&amp;quot; title=&amp;quot;'+JWB.msg('tip-refresh-RETF')+'&amp;quot;&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	$('.JWBtabc[data-tab=&amp;quot;3&amp;quot;]').html(&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('label-redirects')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-redirects-follow')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input type=&amp;quot;radio&amp;quot; class=&amp;quot;redirects&amp;quot; value=&amp;quot;follow&amp;quot; name=&amp;quot;redir&amp;quot; id=&amp;quot;redir-follow&amp;quot;&amp;gt; '+JWB.msg('redirects-follow')+' '+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-redirects-skip')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				 '&amp;lt;input type=&amp;quot;radio&amp;quot; class=&amp;quot;redirects&amp;quot; value=&amp;quot;skip&amp;quot; name=&amp;quot;redir&amp;quot; id=&amp;quot;redir-skip&amp;quot;&amp;gt; '+JWB.msg('redirects-skip')+' '+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-redirects-edit')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input type=&amp;quot;radio&amp;quot; class=&amp;quot;redirects&amp;quot; value=&amp;quot;edit&amp;quot; name=&amp;quot;redir&amp;quot; id=&amp;quot;redir-edit&amp;quot; checked&amp;gt; '+JWB.msg('redirects-edit')+''+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('label-skip-when')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;skipNoChange&amp;quot;&amp;gt; '+JWB.msg('skip-no-change')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;exists-yes&amp;quot; name=&amp;quot;exists&amp;quot; value=&amp;quot;yes&amp;quot;&amp;gt; '+JWB.msg('skip-exists-yes')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;exists-no&amp;quot; name=&amp;quot;exists&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; '+JWB.msg('skip-exists-no')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;exists-neither&amp;quot; name=&amp;quot;exists&amp;quot; value=&amp;quot;neither&amp;quot;&amp;gt;'+JWB.msg('skip-exists-neither')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			(JWB.sysop?'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;skipAfterAction&amp;quot; checked&amp;gt; '+JWB.msg('skip-after-action')+'&amp;lt;/label&amp;gt;':'')+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label&amp;gt;'+JWB.msg('skip-contains')+' &amp;lt;input class=&amp;quot;fullwidth&amp;quot; type=&amp;quot;text&amp;quot; id=&amp;quot;skipContains&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label&amp;gt;'+JWB.msg('skip-not-contains')+' &amp;lt;input class=&amp;quot;fullwidth&amp;quot; type=&amp;quot;text&amp;quot; id=&amp;quot;skipNotContains&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;div class=&amp;quot;regexswitch&amp;quot;&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;containRegex&amp;quot;&amp;gt; '+JWB.msg('label-useregex')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;a class=&amp;quot;re101&amp;quot; href=&amp;quot;http://regex101.com/#javascript&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;?&amp;lt;/a&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label class=&amp;quot;divisor&amp;quot; title=&amp;quot;'+JWB.msg('tip-regex-flags')+'&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;'+&lt;br /&gt;
				JWB.msg('label-regex-flags')+' &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;containFlags&amp;quot;/&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/div&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	if (JWB.sysop) $('.JWBtabc[data-tab=&amp;quot;4&amp;quot;]').html(&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;'+JWB.msg('move-header')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;suppressRedir&amp;quot;&amp;gt; '+JWB.msg('move-redir-suppress')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			JWB.msg('move-also')+' '+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;movetalk&amp;quot;&amp;gt; '+JWB.msg('move-talk-page')+'&amp;lt;/label&amp;gt; '+&lt;br /&gt;
			'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;movesubpage&amp;quot;&amp;gt; '+JWB.msg('move-subpage')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;'+JWB.msg('move-new-name')+' &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;moveTo&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;legend&amp;gt;'+JWB.msg('protect-header')+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			JWB.msg('protect-edit')+&lt;br /&gt;
			'&amp;lt;select id=&amp;quot;editProt&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;all&amp;quot; selected&amp;gt;'+JWB.msg('protect-none')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;autoconfirmed&amp;quot;&amp;gt;'+JWB.msg('protect-autoconf')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;sysop&amp;quot;&amp;gt;'+JWB.msg('protect-sysop')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/select&amp;gt; '+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			JWB.msg('protect-move')+&lt;br /&gt;
			'&amp;lt;select id=&amp;quot;moveProt&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;all&amp;quot; selected&amp;gt;'+JWB.msg('protect-none')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;autoconfirmed&amp;quot;&amp;gt;'+JWB.msg('protect-autoconf')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
				'&amp;lt;option value=&amp;quot;sysop&amp;quot;&amp;gt;'+JWB.msg('protect-sysop')+'&amp;lt;/option&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/select&amp;gt; '+&lt;br /&gt;
			'&amp;lt;br&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;'+JWB.msg('protect-expiry')+' &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;protectExpiry&amp;quot;/&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;movePage&amp;quot; disabled accesskey=&amp;quot;m&amp;quot; title=&amp;quot;['+JWB.tooltip+'m]&amp;quot;&amp;gt;'+JWB.msg('editbutton-move')+'&amp;lt;/button&amp;gt; '+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;deletePage&amp;quot; disabled accesskey=&amp;quot;x&amp;quot; title=&amp;quot;['+JWB.tooltip+'x]&amp;quot;&amp;gt;'+JWB.msg('editbutton-delete')+'&amp;lt;/button&amp;gt; '+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;protectPage&amp;quot; disabled accesskey=&amp;quot;z&amp;quot; title=&amp;quot;['+JWB.tooltip+'z]&amp;quot;&amp;gt;'+JWB.msg('editbutton-protect')+'&amp;lt;/button&amp;gt; '+&lt;br /&gt;
		'&amp;lt;button id=&amp;quot;skipPage&amp;quot; disabled title=&amp;quot;['+JWB.tooltip+'n]&amp;quot;&amp;gt;'+JWB.msg('editbutton-skip')+'&amp;lt;/button&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	$('.JWBtabc[data-tab=&amp;quot;5&amp;quot;]').html('&amp;lt;table id=&amp;quot;actionlog&amp;quot;&amp;gt;&amp;lt;tbody&amp;gt;&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;');&lt;br /&gt;
	$('#pagelistPopup form').html(&lt;br /&gt;
		'&amp;lt;div id=&amp;quot;ns-filter&amp;quot; title=&amp;quot;'+JWB.msg('tip-ns-select')+'&amp;quot;&amp;gt;' + JWB.msg('label-ns-select') + NSList + '&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;categorymembers&amp;quot; name=&amp;quot;categorymembers&amp;quot; value=&amp;quot;cm&amp;quot;&amp;gt; '+JWB.msg('legend-cm')+'&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;Namespace prefix not required.&amp;quot;&amp;gt;'+JWB.msg('label-cm')+' &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;cmtitle&amp;quot; id=&amp;quot;cmtitle&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;div&amp;gt;'+JWB.msg('cm-include')+' '+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;cmtype-page&amp;quot; name=&amp;quot;cmtype&amp;quot; value=&amp;quot;page&amp;quot; checked&amp;gt; '+JWB.msg('cm-include-pages')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;cmtype-subcg&amp;quot; name=&amp;quot;cmtype&amp;quot; value=&amp;quot;subcat&amp;quot; checked&amp;gt; '+JWB.msg('cm-include-subcgs')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;cmtype-file&amp;quot; name=&amp;quot;cmtype&amp;quot; value=&amp;quot;file&amp;quot; checked&amp;gt; '+JWB.msg('cm-include-files')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;linksto&amp;quot; id=&amp;quot;linksto&amp;quot;&amp;gt; '+JWB.msg('legend-linksto')+'&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;'+JWB.msg('label-linksto')+' &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;title&amp;quot; id=&amp;quot;linksto-title&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;div&amp;gt;'+JWB.msg('links-include')+' '+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;backlinks&amp;quot; name=&amp;quot;backlinks&amp;quot; value=&amp;quot;bl&amp;quot; checked&amp;gt; '+JWB.msg('links-include-links')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;embeddedin&amp;quot; name=&amp;quot;embeddedin&amp;quot; value=&amp;quot;ei&amp;quot;&amp;gt; '+JWB.msg('links-include-templ')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;imageusage&amp;quot; name=&amp;quot;imageusage&amp;quot; value=&amp;quot;iu&amp;quot;&amp;gt; '+JWB.msg('links-include-files')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
			'&amp;lt;div&amp;gt;'+JWB.msg('links-redir')+' '+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;rfilter-redir&amp;quot; name=&amp;quot;filterredir&amp;quot; value=&amp;quot;redirects&amp;quot;&amp;gt; '+JWB.msg('links-redir-redirs')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;rfilter-nonredir&amp;quot; name=&amp;quot;filterredir&amp;quot; value=&amp;quot;nonredirects&amp;quot;&amp;gt; '+JWB.msg('links-redir-noredirs')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
				'&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;rfilter-all&amp;quot; name=&amp;quot;filterredir&amp;quot; value=&amp;quot;all&amp;quot; checked&amp;gt; '+JWB.msg('links-redir-all')+'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
			'&amp;lt;/div&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-link-redir')+'&amp;quot;&amp;gt;'+&lt;br /&gt;
				'&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;redirect&amp;quot; value=&amp;quot;true&amp;quot; checked id=&amp;quot;linksto-redir&amp;quot;&amp;gt; '+JWB.msg('label-link-redir')+&lt;br /&gt;
			'&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;prefixsearch&amp;quot; name=&amp;quot;prefixsearch&amp;quot; value=&amp;quot;ps&amp;quot;&amp;gt; '+JWB.msg('legend-ps')+'&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label&amp;gt;'+JWB.msg('label-ps')+' &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;pssearch&amp;quot; id=&amp;quot;pssearch&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;watchlistraw&amp;quot; name=&amp;quot;watchlistraw&amp;quot; value=&amp;quot;wr&amp;quot;&amp;gt; '+JWB.msg('legend-wr')+'&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			JWB.msg('label-wr')+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
			'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;proplinks&amp;quot; name=&amp;quot;links&amp;quot; value=&amp;quot;pl&amp;quot;&amp;gt; '+JWB.msg('legend-pl')+'&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
			'&amp;lt;label title=&amp;quot;'+JWB.msg('tip-pl')+'&amp;quot;&amp;gt;'+JWB.msg('label-pl')+' &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;pltitles&amp;quot; name=&amp;quot;titles&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;legend&amp;gt;&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;search&amp;quot; value=&amp;quot;sr&amp;quot;&amp;gt;Search&amp;lt;/label&amp;gt;&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
		'&amp;lt;label title=&amp;quot;Query&amp;quot;&amp;gt;Query&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;srsearch&amp;quot;&amp;gt;&amp;lt;/label&amp;gt;'+&lt;br /&gt;
		'&amp;lt;/fieldset&amp;gt;'+&lt;br /&gt;
		'&amp;lt;button type=&amp;quot;submit&amp;quot;&amp;gt;'+JWB.msg('pagelist-generate')+'&amp;lt;/button&amp;gt;'&lt;br /&gt;
	);&lt;br /&gt;
	$('body').addClass('AutoWikiBrowser'); //allow easier custom styling of JWB.&lt;br /&gt;
	&lt;br /&gt;
	/***** Setup *****/&lt;br /&gt;
	JWB.setup.save('_blank'); //default setup&lt;br /&gt;
	if (JWB.settings.hasOwnProperty('default')) {&lt;br /&gt;
		JWB.setup.apply();&lt;br /&gt;
	} else if (JWB.setup.hasOwnProperty('edittoken')) {&lt;br /&gt;
		JWB.setup.save('default');&lt;br /&gt;
	}&lt;br /&gt;
	JWB.setup.extend({});&lt;br /&gt;
&lt;br /&gt;
	/***** Event handlers *****/&lt;br /&gt;
	&lt;br /&gt;
	//Alert user when leaving the tab, to prevent accidental closing.&lt;br /&gt;
	onbeforeunload = function() {&lt;br /&gt;
		return &amp;quot;Closing this tab will cause you to lose all progress.&amp;quot;;&lt;br /&gt;
	};&lt;br /&gt;
	ondragover = function(e) {&lt;br /&gt;
		e.preventDefault();&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
	$('.JWBtab').click(function() {&lt;br /&gt;
		$('.active').removeClass('active');&lt;br /&gt;
		$(this).addClass('active');&lt;br /&gt;
		$('.JWBtabc[data-tab=&amp;quot;'+$(this).attr('data-tab')+'&amp;quot;]').addClass('active');&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	function showRegexFlags() {&lt;br /&gt;
		// &amp;gt;&amp;gt;this&amp;lt;&amp;lt; is the element that's triggered&lt;br /&gt;
		$(this).parent().nextAll('label').toggle(this.checked);&lt;br /&gt;
	}&lt;br /&gt;
	$('body').on('change', '#useRegex, #containRegex, .useRegex', showRegexFlags);&lt;br /&gt;
	&lt;br /&gt;
	$('#preparse-reset').click(function() {&lt;br /&gt;
		$('#articleList').val($('#articleList').val().replace(/#PRE-PARSE-STOP/g,'').replace(/\n\n/g, '\n'));&lt;br /&gt;
	});&lt;br /&gt;
	$('#saveAs').click(function() {&lt;br /&gt;
		JWB.setup.save();&lt;br /&gt;
	});&lt;br /&gt;
	$('#loadSettings').change(function() {&lt;br /&gt;
		JWB.setup.apply(this.value);&lt;br /&gt;
	});&lt;br /&gt;
	$('#download').click(JWB.setup.download);&lt;br /&gt;
	$('#saveToWiki').click(JWB.setup.submit);&lt;br /&gt;
	$('#import').change(JWB.setup.import);&lt;br /&gt;
	ondrop = JWB.setup.import;&lt;br /&gt;
	$('#updateSetups').click(JWB.setup.load);&lt;br /&gt;
	$('#deleteSetup').click(JWB.setup.delete);&lt;br /&gt;
	&lt;br /&gt;
	if (window.RETF) $('#refreshRETF').click(RETF.load);&lt;br /&gt;
&lt;br /&gt;
	$('#replacesButton, #pagelistButton').click(function() {&lt;br /&gt;
		var popup = this.id.slice(0, -6); //omits the 'Button' in the id by cutting off the last 6 characters&lt;br /&gt;
		$('#'+popup+'Popup, #overlay').show();&lt;br /&gt;
	});&lt;br /&gt;
	$('#overlay').click(function() {&lt;br /&gt;
		$('#replacesPopup, #pagelistPopup, #overlay').hide();&lt;br /&gt;
	});&lt;br /&gt;
	$('#moreReplaces').click(function() {&lt;br /&gt;
		$('#replacesPopup').append(findreplace);&lt;br /&gt;
	});&lt;br /&gt;
	$('#replacesPopup').on('keydown', '.replaces:last', function(e) {&lt;br /&gt;
		if (e.which === 9) $('#moreReplaces')[0].click();&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$('#pagelistPopup legend input').change(function() {&lt;br /&gt;
		//remove disabled attr when checked, add when not.&lt;br /&gt;
		$(this).parents('fieldset').find('input').not('legend input').prop('disabled', !this.checked);&lt;br /&gt;
		$(this).parents('fieldset').prop('disabled', !this.checked);&lt;br /&gt;
	}).trigger('change');&lt;br /&gt;
	&lt;br /&gt;
	$('#resultWindow').on('click', 'tr[data-line]:not(.lineheader) *', function(e) {&lt;br /&gt;
		var line = +$(e.target).closest('tr[data-line]').data('line');&lt;br /&gt;
		var index = $('#editBoxArea').val().split('\n').slice(0, line-1).join('\n').length;&lt;br /&gt;
		$('#editBoxArea')[0].focus();&lt;br /&gt;
		JWB.fn.setSelection($('#editBoxArea')[0], index+1);&lt;br /&gt;
		JWB.fn.scrollSelection($('#editBoxArea')[0], index);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$('#removeDupes').click(function() {&lt;br /&gt;
		$('#articleList').val(JWB.fn.uniques($('#articleList').val().split('\n')).join('\n'));&lt;br /&gt;
		JWB.pageCount();&lt;br /&gt;
	});&lt;br /&gt;
	$('#sortArticles').click(function() {&lt;br /&gt;
		$('#articleList').val($('#articleList').val().split('\n').sort().join('\n'));&lt;br /&gt;
		JWB.pageCount();&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$('#watchNow').click(JWB.api.watch);&lt;br /&gt;
	$('#autosave').change(function() {&lt;br /&gt;
		$('#throttle').prop('disabled', !this.checked);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$('#viaJWB').change(function() {&lt;br /&gt;
		$('#summary').parent('label')&lt;br /&gt;
			.toggleClass('viaJWB', this.checked)&lt;br /&gt;
			.attr('maxlength', 250 - this.checked*JWB.summarySuffix.length); // Change the max size of the allowed summary according to having a suffix or not.&lt;br /&gt;
	});&lt;br /&gt;
	$('#startbutton').click(JWB.start);&lt;br /&gt;
	$('#stopbutton').click(JWB.stop);&lt;br /&gt;
	$('#submitButton').click(JWB.api.submit);&lt;br /&gt;
	$('#previewButton').click(JWB.api.preview);&lt;br /&gt;
	$('#diffButton').click(JWB.api.diff);&lt;br /&gt;
	&lt;br /&gt;
	$('#skipButton, #skipPage').click(function() {&lt;br /&gt;
		JWB.log('skip', JWB.list[0].split('|')[0]);&lt;br /&gt;
		JWB.next();&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	if (JWB.sysop) {&lt;br /&gt;
		$('#movePage').click(function() {&lt;br /&gt;
			if ($('#moveTo').val().length === 0) {&lt;br /&gt;
				return alert(JWB.msg('alert-no-move'));&lt;br /&gt;
			}&lt;br /&gt;
			JWB.api.move();&lt;br /&gt;
		});&lt;br /&gt;
		$('#protectPage').click(JWB.api.protect);&lt;br /&gt;
		$('#deletePage').click(JWB.api.delete);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//Disable JWB altogether when it's loaded on a page other than Project:AutoWikiBrowser/Script. This script shouldn't be loaded on any other page in the first place.&lt;br /&gt;
if (JWB.allowed === false) JWB = false;&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%94%D7%93%D7%A8%D7%9B%D7%94_%D7%9C%D7%94%D7%92%D7%93%D7%A8%D7%AA_%D7%A0%D7%98%D7%A1%D7%98%D7%99%D7%A7&amp;diff=18199</id>
		<title>הדרכה להגדרת נטסטיק</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%94%D7%93%D7%A8%D7%9B%D7%94_%D7%9C%D7%94%D7%92%D7%93%D7%A8%D7%AA_%D7%A0%D7%98%D7%A1%D7%98%D7%99%D7%A7&amp;diff=18199"/>
		<updated>2026-03-09T21:51:00Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{עמוד באנגלית|Guidance for configuring netstick}}&lt;br /&gt;
{{קישור לתצוגת קריאה}}&lt;br /&gt;
{{ניווט}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===הגדרת APN===&lt;br /&gt;
רובם של הנטסטיקים לא דורשים הגדרות תצורה מיוחדות אלא מתחברים באופן אוטומטי, אך במידה והנטסטיק לא מתחבר לאינטרנט יש להגדיר את תצורת החיבור לפי ההגדרות הבאות:&lt;br /&gt;
&lt;br /&gt;
'''איך ניגשים לממשק הנטסטיק?'''&lt;br /&gt;
&lt;br /&gt;
בדרך כלל בחיבור הראשוני יש צורך להתקין את תוכנת ההתקנה של הנטסטיק, תוכלו לראות זאת ב&amp;quot;מחשב שלי&amp;quot;, שם תמצאו את ההתקנים שמחוברים למחשב, פתחו את תיקיית הנטסטיק, והפעילו את קובץ ההתקנה (בד&amp;quot;כ setup.exe) הנמצא בתיקייה.&lt;br /&gt;
&lt;br /&gt;
יש נטסטיקים בהם הגישה היא דרך תוכנה ויש כאלו שהגישה היא דרך ממשק בדפדפן, כדי למצוא את הכתובת של הממשק, יש לפתוח שורת הפקודה ולהקיש את הפקודה &amp;lt;code&amp;gt;ipconfig&amp;lt;/code&amp;gt; וללחוץ אנטר, כתובת המספרים שמופיעה בשורת הDefault Gateway היא כתובת הגישה לממשק נטסטיק, ואותה יש להקיש בשורת הכתובת של הדפדפן על מנת להיכנס לממשק ההגדרות.&lt;br /&gt;
&lt;br /&gt;
לעיתים הגישה להגדרות הנטסטיק דורשת שם משתמש וסיסמא, במרבית הדגמים הנפוצים שם המשתמש והסיסמא הם &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''שימו לב! מיקום ההגדרות ושמותיהם שונים במעט בין נטסטיק לנטסטיק'''&lt;br /&gt;
&lt;br /&gt;
בד&amp;quot;כ ניתן למצוא את הגדרות הapn בממשק הנטסטיק תחת הכותרת &amp;quot;Configure Profile Settings&amp;quot; או &amp;quot;APN Settings&amp;quot; &amp;quot;Connection Profile&amp;quot; &amp;quot;Connection Settings&amp;quot; &amp;quot;Network Settings&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
בשם הפרופיל לא משנה מה לכתוב. הגדרות נוספות כמו User Name ו Password ו-Dial Number להשאיר ריק בד&amp;quot;כ. במידה ונדרש dial Number זה - &amp;lt;code&amp;gt;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;*99#&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+הגדרת APN לפי חברה&lt;br /&gt;
|-&lt;br /&gt;
!חברה!!APN&lt;br /&gt;
|-&lt;br /&gt;
![[רשימת משווקים של 019 | 019]]&lt;br /&gt;
|019&lt;br /&gt;
|-&lt;br /&gt;
![http://x2one.com/ x2One]&lt;br /&gt;
|apn.x2one.com&lt;br /&gt;
|-&lt;br /&gt;
![https://koshersim.com/%D7%92%D7%9C%D7%99%D7%A9%D7%94-%D7%9E%D7%A1%D7%95%D7%A0%D7%A0%D7%AA/#%D7%9C%D7%A0%D7%99%D7%99%D7%93 סים כשר]&lt;br /&gt;
|ksim&lt;br /&gt;
&lt;br /&gt;
בהוט-מובייל בלבד: iots.hotm&lt;br /&gt;
|-&lt;br /&gt;
![http://www.isp.net.il/ RL]&lt;br /&gt;
|iisp&lt;br /&gt;
|-&lt;br /&gt;
!011&lt;br /&gt;
|apn.x2one.com&lt;br /&gt;
|-&lt;br /&gt;
![https://www.yossi-tikshoret.co.il/ יוסי תקשורת]&lt;br /&gt;
|netoweb&lt;br /&gt;
|-&lt;br /&gt;
!itc&lt;br /&gt;
|iots.hotm&lt;br /&gt;
|-&lt;br /&gt;
!IB תקשורת&lt;br /&gt;
|פלאפון - netfree&lt;br /&gt;
סלקום - spotnet2&lt;br /&gt;
&lt;br /&gt;
פרטנר - ib-telecom&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
את ההגדרות מגדירים בד&amp;quot;כ בלחיצה על Add שפירושו &amp;quot;הוספת פרופיל&amp;quot; (Edit פירושו &amp;quot;עריכת הפרופיל&amp;quot;, Delete פירושו &amp;quot;מחיקת הפרופיל&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
לאחר שמגדירים את ההגדרות הרצויות יש לבחור בApply או Ok או Save (בד&amp;quot;כ), לאחמ&amp;quot;כ בד&amp;quot;כ חוזרים למסך של הAPN בוחרים את הפרופיל אותו הגדרנו והופכים אותו לברירת מחדל (בד&amp;quot;כ לחיצה על set as defult).&lt;br /&gt;
&lt;br /&gt;
'''במידה והגדרות אלו הוגדרו בצורה תקינה אך עדיין אין חיבור לאינטרנט (חלק מההגדרות הבאות לא קיימות בכל הנטסטיקים):''' &lt;br /&gt;
&lt;br /&gt;
צריך לאפשר נדידה (Roaming data).&lt;br /&gt;
&lt;br /&gt;
בתצורת האימות (Protocol/Authentication) צריך להגדיר NONE או CHAP או PAP (לנסות מה שעובד).&lt;br /&gt;
&lt;br /&gt;
ב - PDP Type להגדיר ip או ipv4.&lt;br /&gt;
&lt;br /&gt;
וכן לבצע חיפוש רשת ידני (בד&amp;quot;כ תחת הכותרת Select Network) ולבחור ברשת המתאימה לפי שמה (Automatic - בחירת רשת אוטומטית Manual - חיפוש ידני), לעיתים יהיה צורך לנסות להתחבר לרשת לא מתאימה ולאחר שההתחברות נכשלת לנסות שוב והפעם לרשת המתאימה.&lt;br /&gt;
&lt;br /&gt;
כמו&amp;quot;כ שימו לב שאתם לא מחוברים לדור 2 שזה נקרא GSM או GPRS או EDGE, ובמקרה שיש לכם נטסטיק דור 4, מומלץ להתחבר בד&amp;quot;כ לדור 4 כדי לנצל את המהירות בצורה האופטימלית, אך לעיתים הגלישה דור 3 במקומות מסוימים מהירה יותר מאשר הגלישה בדור 4.&lt;br /&gt;
&lt;br /&gt;
===איטיות בגלישה סלולרית===&lt;br /&gt;
ראו [[איטיות וניתוקים למתקדמים#איטיות בגלישה סלולרית|ערך מורחב]].&lt;br /&gt;
&lt;br /&gt;
{{פורום|&lt;br /&gt;
===קישור חיצוני===&lt;br /&gt;
[http://forum.netfree.link/topic/3327/%D7%94%D7%93%D7%A8%D7%9B%D7%94-%D7%9C%D7%94%D7%92%D7%93%D7%A8%D7%95%D7%AA-%D7%A0%D7%98%D7%A1%D7%98%D7%99%D7%A7 הדרכה להגדרות נטסטיק - פורום משתמשי נטפרי]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%A4%D7%95%D7%A8%D7%95%D7%9D&amp;diff=18198</id>
		<title>תבנית:פורום</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%A4%D7%95%D7%A8%D7%95%D7%9D&amp;diff=18198"/>
		<updated>2026-03-09T21:48:53Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#ifeq:{{{מצב|&lt;br /&gt;
&amp;lt;!--כדי לשנות את המצב אם הפורום פעיל או לא, יש לשנות את הערך של השורה הבאה: 1=פעיל | 0=לא פעיל--&amp;gt;&lt;br /&gt;
0&lt;br /&gt;
}}}|1&lt;br /&gt;
 | {{{1}}}&lt;br /&gt;
 | {{{2|}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
אז בגלל שמצב פעילת הפורום משתנה לעיתים תכופות, לכן אפשר להשתמש עם התבנית הזה בכדי להציג או להסתיר מידע שתלוי בפעילת הפורום.&amp;lt;br&amp;gt;&lt;br /&gt;
כדי להשתמש בתבנית זה כותבים כזה:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{פורום|מידע שיוצג בזמן שהפורום פעיל|מידע שיוצג בזמן שהפורום לא פעיל}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
כמובן שהפרמטר השני אופציונלי.&lt;br /&gt;
&lt;br /&gt;
{{Bootstrap alert-info|{{פורום|&lt;br /&gt;
כרגע הוגדר בתבנית שהפורום פעיל. אז כשהפורום יחזור להיות לא פעיל, אפשר לערוך שורה 4 בקוד של התבנית (למחוק את ה-&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; ולכתוב במקומו &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;).&lt;br /&gt;
|&lt;br /&gt;
כרגע הוגדר בתבנית שהפורום לא פעיל. אז כשהפורום יחזור להיות פעיל, אפשר לערוך שורה 4 בקוד של התבנית (למחוק את ה-&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; ולכתוב במקומו &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;).&lt;br /&gt;
}}}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:Bootstrap_alert-danger&amp;diff=18197</id>
		<title>תבנית:Bootstrap alert-danger</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:Bootstrap_alert-danger&amp;diff=18197"/>
		<updated>2026-03-09T21:09:14Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert alert-danger&amp;quot; role=&amp;quot;alert&amp;quot;&lt;br /&gt;
style=&amp;quot;margin-top: 1rem;&lt;br /&gt;
    color: #842029;&lt;br /&gt;
    background-color: #f8d7da;&lt;br /&gt;
    border-color: #f5c2c7;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 1rem 1rem;&lt;br /&gt;
    margin-bottom: 1rem;&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    border-radius: .25rem;&amp;quot;&amp;gt;&lt;br /&gt;
🚨&lt;br /&gt;
&amp;lt;strong&amp;gt;{{{2|}}}&amp;lt;/strong&amp;gt; {{{1|}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{קישור לתצוגת קריאה}}&lt;br /&gt;
&lt;br /&gt;
===דוגמא===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Bootstrap alert-danger| וזהו התוכן|זוהי הכותרת}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bootstrap alert-danger| וזהו התוכן|זוהי הכותרת}}&lt;br /&gt;
&lt;br /&gt;
[[קטגוריה:תבניות מבוססות Bootstrap]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%94%D7%AA%D7%A7%D7%A0%D7%AA_%D7%AA%D7%A2%D7%95%D7%93%D7%94_%D7%91-bower&amp;diff=18196</id>
		<title>התקנת תעודה ב-bower</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%94%D7%AA%D7%A7%D7%A0%D7%AA_%D7%AA%D7%A2%D7%95%D7%93%D7%94_%D7%91-bower&amp;diff=18196"/>
		<updated>2026-03-09T21:03:01Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{עמוד באנגלית|Installation of certificate in Bower}}&lt;br /&gt;
{{קישור לתצוגת קריאה}}&lt;br /&gt;
{{ניווט|תעודת האבטחה}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
יש להוריד את תעודת האבטחה של נטפרי מפה http://netfree.link/netfree-ca.crt ולשמור אותה במחשב.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
כעת יש ליצור קובץ טקסט בשם&lt;br /&gt;
&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;.bowerrc&amp;lt;/span&amp;gt;&lt;br /&gt;
בתיקייה ממנה מריצים את bower, ולרשום בו את התוכן הבא:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;ca&amp;quot;: &amp;quot;C:/netfree-ca.crt&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
שימו לב: יש להשתמש בסלאש של לינוקס (/) ולא זה של ווינדוס (\) - גם במערכות הפעלה של ווינדוס.&lt;br /&gt;
&lt;br /&gt;
במקום נתיב הקובץ (C:/netfree-ca.crt) יהיה עליכם לרשום את המיקום בו שמרתם את תעודת האבטחה.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
אפשרות נוספת, להגדיר ביטול SLL, מה שיבטל את הצורך בתעודת אבטחה (אפשרות פחות מומלצת).&lt;br /&gt;
&lt;br /&gt;
כדי לעשות זאת יש לרשום את הפקודה הבאה בקובץ &amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;.bowerrc&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;strict-ssl&amp;quot;: false&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
{{פורום|שאלות בנושא ניתן להעלות ב[http://forum.netfree.link/unread פורום המשתמשים של נטפרי].|}}&lt;br /&gt;
&lt;br /&gt;
[https://bower.io/docs/config/ מקור]&lt;br /&gt;
[https://github.com/bower/bower/issues/467 מקור]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==קישורים חיצוניים==&lt;br /&gt;
[https://bower.io/ אתר הבית של Bower]&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%94%D7%AA%D7%A7%D7%A0%D7%AA_%D7%AA%D7%A2%D7%95%D7%93%D7%94_%D7%91-bower&amp;diff=18195</id>
		<title>התקנת תעודה ב-bower</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%94%D7%AA%D7%A7%D7%A0%D7%AA_%D7%AA%D7%A2%D7%95%D7%93%D7%94_%D7%91-bower&amp;diff=18195"/>
		<updated>2026-03-09T21:01:41Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{עמוד באנגלית|Installation of certificate in Bower}}&lt;br /&gt;
{{קישור לתצוגת קריאה}}&lt;br /&gt;
{{ניווט|תעודת האבטחה}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
יש להוריד את תעודת האבטחה של נטפרי מפה http://netfree.link/netfree-ca.crt ולשמור אותה במחשב.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
כעת יש ליצור קובץ טקסט בשם&lt;br /&gt;
&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;.bowerrc&amp;lt;/span&amp;gt;&lt;br /&gt;
בתיקייה ממנה מריצים את bower, ולרשום בו את התוכן הבא:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;ca&amp;quot;: &amp;quot;C:/netfree-ca.crt&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
שימו לב: יש להשתמש בסלאש של לינוקס (/) ולא זה של ווינדוס (\) - גם במערכות הפעלה של ווינדוס.&lt;br /&gt;
&lt;br /&gt;
במקום נתיב הקובץ (C:/netfree-ca.crt) יהיה עליכם לרשום את המיקום בו שמרתם את תעודת האבטחה.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
אפשרות נוספת, להגדיר ביטול SLL, מה שיבטל את הצורך בתעודת אבטחה (אפשרות פחות מומלצת).&lt;br /&gt;
&lt;br /&gt;
כדי לעשות זאת יש לרשום את הפקודה הבאה בקובץ &amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;.bowerrc&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;strict-ssl&amp;quot;: false&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{פורום|&lt;br /&gt;
שאלות בנושא ניתן להעלות ב[http://forum.netfree.link/unread פורום המשתמשים של נטפרי].&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://bower.io/docs/config/ מקור]&lt;br /&gt;
[https://github.com/bower/bower/issues/467 מקור]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==קישורים חיצוניים==&lt;br /&gt;
[https://bower.io/ אתר הבית של Bower]&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%9E%D7%A6%D7%9C%D7%9E%D7%95%D7%AA_%D7%90%D7%91%D7%98%D7%97%D7%94_%D7%91%D7%A0%D7%98%D7%A4%D7%A8%D7%99&amp;diff=18194</id>
		<title>מצלמות אבטחה בנטפרי</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%9E%D7%A6%D7%9C%D7%9E%D7%95%D7%AA_%D7%90%D7%91%D7%98%D7%97%D7%94_%D7%91%D7%A0%D7%98%D7%A4%D7%A8%D7%99&amp;diff=18194"/>
		<updated>2026-03-09T20:58:49Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{עמוד באנגלית|Security cameras In NetFree}}&lt;br /&gt;
{{קישור לתצוגת קריאה}}&lt;br /&gt;
{{ניווט}}&lt;br /&gt;
== מצלמות מקצועיות ==&lt;br /&gt;
מצלמות אבטחה ו/או מערכות '''NVR''' התומכות בהתחברות ישירה באמצעות '''[[ספקי אינטרנט שמחברים לנטפרי#מאפיינים ייחודיים|כתובת IP קבועה פרטית]]'''.&amp;lt;br&amp;gt;&lt;br /&gt;
מרבית המצלמות של החברות הנפוצות בשוק נכללות בקטגוריה זו, provision ,dahua ,hikvision. &amp;lt;br&amp;gt;&lt;br /&gt;
נקודת המוצא כאשר מתכננים מערכת מצלמות וכאשר באים לטפל במערכת קיימת תחת רשת נטפרי,&amp;lt;br&amp;gt;&lt;br /&gt;
וכן כאשר מתחברים מנטפרי למצלמות שנמצאות ברשת אחרת היא -&amp;lt;br&amp;gt;&lt;br /&gt;
'''התחברות באמצעות כתובת הIP בלבד!'''.&amp;lt;br&amp;gt;&lt;br /&gt;
לא '''P2P''' ולא '''SN'''. (לכל חברה יש בדרך כלל כינוי כזה או אחר לצורת ההתחברות האלטרנטיבית שלהם.)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
כמובן שצריך להגדיר הפניית פורטים בראוטר ולהגדיר בהתאם את הנתונים בתוכנת הצפיה ו/או שימוש ישיר עם הכתובת בדפדפן.&amp;lt;br&amp;gt;&lt;br /&gt;
שימו לב! צפיה באמצעות דפדפן אפשרית במרבית המקרים רק בדפדפן אדג' במצב תאימות לאקספלורר.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== מצלמות סיניות ==&lt;br /&gt;
ככלל, ובכדי למנוע עוגמת נפש לא מומלץ בכלל לרכוש מצלמות כאלו למטרת שימוש ברשת נטפרי.&amp;lt;br&amp;gt;&lt;br /&gt;
למרות זאת, אם כבר רכשתם מצלמה כזאת תוכלו לפנות ל[[מערכת הפניות]] של נטפרי ושם ינסו לפתור את הבעיה.&amp;lt;br&amp;gt;&lt;br /&gt;
היו מקרים בודדים בהם מצלמות כאלו פעלו בצורה תקינה בנטפרי ולכן אפשר לנסות.&lt;br /&gt;
&lt;br /&gt;
דגמי מצלמות שיאומי שנבדקו על ידי משתמש נטפרי ונמצאו פועלות תקין בנטפרי : cw300 , aw200 , c500pro , c200 מצלמות אלו נבדקו בגרסא של שרת גלובלי ולא בשרת סין, יש לדעת שמצלמות אלו צריכות חיבור ראשוני לרשת, וזה לא ניתן על ידי אמולטור אלא ע&amp;quot;י התקנת מערכת אנדרואיד על מחשב או באמצעות טאבלט.&lt;br /&gt;
&lt;br /&gt;
{{Bootstrap alert-danger|&lt;br /&gt;
'''לתשומת לב: המידע נכתב על ידי משתמשים ואין התחייבות שזה אכן יעבוד.}}&lt;br /&gt;
ניתן לצפות בחלק מהמצלמות של שאיומי (C200 נבדק ועובד) גם בתוכנה המיועדת למחשב וינדוס ללא צורך באמולטור או סמרטפון (לצורך הצפיה ולא לצורך ההגדרה) &lt;br /&gt;
התוכנה בקישור הבא:&lt;br /&gt;
https://www.mi.com/in/product/xiaomi-camera-viewer-app/&lt;br /&gt;
&lt;br /&gt;
== יוצאי דופן ==&lt;br /&gt;
מערכות של חברת hikvision ספציפית, פועלות גם כאשר משתמשים בשירות hik-connect שלהם העושה שימוש בשיטת P2P.&amp;lt;br&amp;gt;&lt;br /&gt;
כאמור מדובר רק בחברה זו.&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%AA%D7%A7%D7%9C%D7%95%D7%AA_%D7%95%D7%A4%D7%AA%D7%A8%D7%95%D7%A0%D7%9F&amp;diff=18193</id>
		<title>תקלות ופתרונן</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%AA%D7%A7%D7%9C%D7%95%D7%AA_%D7%95%D7%A4%D7%AA%D7%A8%D7%95%D7%A0%D7%9F&amp;diff=18193"/>
		<updated>2026-03-09T20:52:47Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{עמוד באנגלית|Bugs and their solutions}}&lt;br /&gt;
{{קישור לתצוגת קריאה}}&lt;br /&gt;
{{ניווט}}&lt;br /&gt;
&lt;br /&gt;
===בעיות התחברות לאינטרנט=== &lt;br /&gt;
ראו ערך מורחב [[אבחון בעיות התחברות לאינטרנט]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===איטיות ו/או ניתוקים===&lt;br /&gt;
ראו ערך מורחב [[איטיות וניתוקים]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===אתר שפתאום לא נפתח כלל===&lt;br /&gt;
&lt;br /&gt;
תיאור: האתר לא נפתח בכלל ואין דפי חסימה של נטפרי.&lt;br /&gt;
&lt;br /&gt;
פתרונות: בידקו האם האתר עובד טוב דרך דפדפן אחר או דרך &amp;quot;חלון גלישה בסתר&amp;quot; של כרום. אם כן [[מחיקת זיכרון Cache|נקו &amp;quot;קאש&amp;quot; בדפדפן]]. אם לא בדקו האם האתר פעיל דרך האתר הזה. https://check-host.net/check-http. כמו&amp;quot;כ נסו [[ביטול הגדרות פרוקסי|לבטל הגדרות פרוקסי]] במידה וקיימות הגדרות כאלו.&lt;br /&gt;
&lt;br /&gt;
אם זה לא עוזר, ניתן לבצע [[מערכת_הפניות_של_נטפרי#הקלטת תעבורת אינטרנט|הקלטת תעבורת אינטרנט]] כדי לבדוק האם ישנה חסימה בכתובת פנימית וכדומה שגורמת בעיה בטעינת הדף. אם כן, ניתן לשלוח פניה לנטפרי כדי שיטפלו בחסימה.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===לא מצליחים לשלוח אימייל דרך תוכנה בספק RL===&lt;br /&gt;
&lt;br /&gt;
תיאור: התוכנה מנסה לשלוח אימייל דרך SMTP וזה נתקל בשגיאת TIMEOUT. זה קורה בספק RL כי הוא חוסם שליחת אימיילים.&lt;br /&gt;
&lt;br /&gt;
פתרון: פנו לספק RL שיסדרו את העניין.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===שגיאות DNS===&lt;br /&gt;
&lt;br /&gt;
[[בעיות dns|ראו ערך מורחב]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===בעיה בהתקנת ווינדוס 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''תיאור:''' &amp;amp;nbsp;	התקנת ווינדוס 11 מחייבת התחברות לרשת, &lt;br /&gt;
ומכיוון שבעת ההתקנה עדיין לא מותקנת תעודת האבטחה של נטפרי, החיבור לרשת נכשל, מה שמונע את התקדמות ההתקנה.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''פתרון:''' &amp;amp;nbsp;	 כשאתם מגיעים לשלב התאמת ווינדוס (היינו האינטרקציה של ווינדוס שעולה בסוף תהליך התקנת ווינדוס)&lt;br /&gt;
יש ללחוץ על צירוף המקשים - shift + f10 או&amp;amp;nbsp;	fn +shift + f10&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
זה אמור לפתוח חלונית שחורה (cmd). &amp;amp;nbsp; בחלונית שנפתחה יש להקליד את הפקודה &amp;lt;code&amp;gt;	&lt;br /&gt;
start ms-cxh:localonly&amp;lt;/code&amp;gt; וללחוץ על אנטר, ויפתח לכן חלון ששם אפשר ליצור חשבון מקומי בלי חיבור לרשת.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;'''אופציות נוספות:''' יתכן שבמקרים מסוימים פתרון הראשון לא יעבוד, אז הנה עוד פתרונות.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.''' כשאתם מגיעים לשלב בו נדרשת התחברות לרשת, לפני שאתם מתחברים&lt;br /&gt;
יש ללחוץ על צירוף המקשים - shift + f10 או&amp;amp;nbsp;	fn +shift + f10&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
זה אמור לפתוח חלונית שחורה (cmd). &amp;amp;nbsp; בחלונית שנפתחה יש להקליד את הפקודה &amp;lt;code&amp;gt;	&lt;br /&gt;
OOBE\BYPASSNRO&amp;lt;/code&amp;gt; וללחוץ על אנטר,&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
זה יעשה ריסטארט להתקנה. עכשיו כשתגיעו שוב לשלב של ההתחברות לרשת,&amp;lt;br&amp;gt;&lt;br /&gt;
תופיע למטה אפשרות ‘אין לי אינטרנט’&lt;br /&gt;
בחרו באפשרות זו, ובמסך שאחרי זה באפשרות 'המשך בהגדרה מוגבלת'.&lt;br /&gt;
[https://mitmachim.top/topic/46431 הסבר מצולם]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3.''' לאחר כ10 ניסיונות המשך כושלים כשמחוברים לרשת נטפרי, ההתקנה תעבור אוטומטית למצב לא מקוון.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' כמו כן, ניתן להוריד את תעודת האבטחה דרך מכשיר אחר המחובר לאותה הרשת בלינק הזה: [https://netfree.link/wiki/%D7%94%D7%AA%D7%A7%D7%A0%D7%AA_%D7%AA%D7%A2%D7%95%D7%93%D7%94_%D7%99%D7%93%D7%A0%D7%99%D7%AA_%D7%91%D7%9E%D7%97%D7%A9%D7%91 התקנת תעודה ידנית במחשב] ולהעתיק את הקובץ שירד לדיסק אונקי, אותו יש לחבר למחשב.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
לאחר שהדיסק מחובר למחשב, יש ללחוץ על WIN+R ובחלון שנפתח להקליד explorer ולהקיש על Enter, סייר הקבצים אמור להיפתח.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
בסייר הקבצים יש לבחור את קובץ התעודה ולהתקין ע&amp;quot;פ ההוראות הרגילות.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://pureinfotech.com/bypass-microsoft-account-setup-windows-11/ עוד פתרונות]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===עדכוני windows חסומים===&lt;br /&gt;
&lt;br /&gt;
עדכוני windows חסומים בברירת מחדל בחיבור דרך חברת RL, וזאת לשם חסכון בתעבורת הרשת, לשינוי ההגדרה פנו לשירות הלקוחות של הספק (RL).&lt;br /&gt;
&lt;br /&gt;
ניתן לבדוק האם זו בעיה שנגרמת מהגדרות הסינון האישיות או אולי בעיה שנגרמת מהספק על ידי גישה ללינק הזה: http://fe2.update.microsoft.com/test/ במידה ומופיע 404, הרי שזה '''לא''' חסימה של הספק.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===תמונת קאפצ'ה (CAPTCHA) לא חוזרת מבדיקה===&lt;br /&gt;
&lt;br /&gt;
תיאור: ישנם אתרים שונים אשר במטרה להבטיח שהתשובה אינה מופקת באמצעות מחשב הם משתמשים עם תמונת קאפצ'ה הכוללת אותיות או מספרים המופיעים בצורה מעוותת על המסך והמשתמש צריך לזהות אותם ולהקליד אותם. תמונות אלו מתחלפות בד&amp;quot;כ עם כל ריענון של התמונות בדף, ולכן בנטפרי באם התמונה מוגדרת להישלח לבדיקה, תמיד התמונה תופיע מפוקסלת עקב מנגנון [[סינון התמונות#תמונות שחזרו מהבדיקה - ריענון תמונות אוטומטי|ריענון התמונות]].&lt;br /&gt;
&lt;br /&gt;
פתרון: יש לשלוח פניה דרך [[מערכת הפניות של נטפרי|מערכת הפניות]] עם הלינק של התמונה המשתנה. עדיף לשלוח גם את הכתובת של הדף עצמו.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===תוכנת FileZilla לא מצליחה להתחבר ל-FTP===&lt;br /&gt;
&lt;br /&gt;
תיאור: התוכנה כותבת בלוג שהיא מנסה להתחבר ל-TLS. וזה נתקל בשגיאה.&lt;br /&gt;
&lt;br /&gt;
פתרון: הגדירו את חיבור ה-FTP שיהיה חיבור פשוט ללא אבטחה [https://netfree.link/upload-file/8b5c17abba06b26f63ad40fc70fbe0d0e941305d לפי צילום המסך כאן]. במקרה שזה לא עובד [[מערכת הפניות של נטפרי#הקלטת תעבורת אינטרנט|הקליטו את התעבורה]] ושלחו לתמיכה.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===visual Studio נכשל בפעולת publish ל-ftp===&lt;br /&gt;
&lt;br /&gt;
תיאור: זו בעיה ברשת שעובדת עם NAT.&lt;br /&gt;
&lt;br /&gt;
פתרון: הגדירו שה FTP יעבוד במצב של passive mode.&lt;br /&gt;
[http://forum.netfree.link/topic/780/visual-studio-%D7%A0%D7%9B%D7%A9%D7%9C-%D7%91%D7%A4%D7%A2%D7%95%D7%9C%D7%AA-pulish-%D7%9C-ftp-%D7%93%D7%97%D7%95%D7%A3 מקור]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===מנהלי חבילות (npm, pip, bower) לא מתחברות לרשת===&lt;br /&gt;
&lt;br /&gt;
תיאור: מנהלי חבילות דורשות חיבור באמצעות תעודת אבטחה.&lt;br /&gt;
&lt;br /&gt;
פתרון: יש להגדיר את תעודת האבטחה במיוחד לכל מנהל חבילות בנפרד, הוראות [[תעודת האבטחה|כאן]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===אנטי וירוס ESET מתריע על תעודות לא מהימנות===&lt;br /&gt;
&lt;br /&gt;
תיאור: כאשר נכנסים לאתרים מאובטחים קופצת הודעה שהאתר לא מהימן.&lt;br /&gt;
&lt;br /&gt;
פתרון: יש להוסיף את תעודת האבטחה לאנטי-וירוס, או לבטל את בדיקת התעודות, [[התקנת תעודה בתוכנת האנטי וירוס נוד 32 - NOD32|הוראות מפורטות כאן]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===התקנת תוכנות של חברת Autodesk נתקעות===&lt;br /&gt;
&lt;br /&gt;
'''מדריך זה מעודכן לגירסאות עד 2020. לגירסאות מתקדמות אין עדיין מידע.'''&lt;br /&gt;
&lt;br /&gt;
תיאור: בעת ניסיון להתקין את התוכנה, ההתקנה מתמשכת זמן רב בנסיון להוריד את התוכנה. הבעיה נובעת מהעובדה שתוכנת ההתקנה לא סומכת על [[תעודת האבטחה]] של נטפרי.&lt;br /&gt;
&lt;br /&gt;
פתרון: יש להוריד את התוכנות דרך א' האתרים דלהלן:&lt;br /&gt;
&lt;br /&gt;
https://ava.autodesk.com/modular/?module=download&lt;br /&gt;
&lt;br /&gt;
https://autodesk.rg-adguard.net/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===התקנת תוכנת Twinmotion .===&lt;br /&gt;
תיאור : התקנת תוכנת Twinmotion מתבצעת דרך תוכנת Epic Games launcher כרגע התוכנה עובדת וניתן להתחבר באמצעות חשבון גוגל ולהגיע למסך של התקנת twinmotion,&lt;br /&gt;
&lt;br /&gt;
שאר המסכים המכילים תוכן שלא מתאים לסינון חסומים .&lt;br /&gt;
&lt;br /&gt;
אחרי ההתחברות מופיע לכם רק עמוד חסום צריך ללחוץ קליק ימני על הסמל של התוכנה במגש המערכת (סמלים מוסתרים) ולחצו שם כמו שמסומן בתמונה [https://netfree.link/upload-file/8ba27ce6831a2b22a7cd768ba181c1927706e843 כאן]&lt;br /&gt;
&lt;br /&gt;
שם תוכלו להגיע למסך של התקנת twinmotion כמו שמסומן [https://netfree.link/upload-file/ab305a4664b2130db620c42f45ddddc46beae321 כאן]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===בעיות התחברות ל SIP דרך תוכנת zoiper===&lt;br /&gt;
&lt;br /&gt;
תיאור: התוכנה מנסה להתחבר לשרת SIP דרך פורט שאינו 5060 ולכן ההתחברות נכשלת.&lt;br /&gt;
&lt;br /&gt;
פתרון: הגדירו את הדומיין של שרת SIP עם פורט 5060. לדוגמה domain.com:5060&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===הורדת כרטיסי טיסה מ-WizzAir===&lt;br /&gt;
&lt;br /&gt;
נכון להיום 1/1/2026&lt;br /&gt;
הדרך להוריד את כרטיסי העלייה למטוס היא כך:&lt;br /&gt;
בסיום הצ'ק אין צריך ללחוץ על כפתור למטה בצד שמאל &lt;br /&gt;
&amp;quot;לחזור לפרטי הטיסה&amp;quot;&lt;br /&gt;
בדף הראשי של ההזמנה תחת הכותרת &amp;quot;boarding pass&amp;quot;&lt;br /&gt;
ניתן לראות אפשרות להוריד את הקובץ כ-PDF (זה לא עובד בנטפרי)&lt;br /&gt;
או כ-HTML, צריך לבחור את האופציה השנייה, לאחר ההורדה &lt;br /&gt;
ניתן להיכנס לדף ולהדפיס אותו כקובץ PDF.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===הורדת כרטיסי טיסה מ-easyJet===&lt;br /&gt;
&lt;br /&gt;
יש להגדיר ב[[הגדרות סינון אישיות#הגדרות סינון נוספות|הגדרות סינון אישיות]] '''אל תתריע על שיבוש קבצים'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===לא ניתן לצפות בדפי הפירוט של כרטיס אשראי ישראכרט / כ.א.ל (כאל) CAL - כרטיסי אשראי לישראל===&lt;br /&gt;
&lt;br /&gt;
יש לסמן ב[[הגדרות סינון אישיות#הגדרות סינון נוספות|הגדרות סינון אישיות]] &amp;quot;אל תתריע על שיבוש קבצים&amp;quot; ולשמור.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===הורדת דפי פירוט של כרטיס האשראי באתר MAX===&lt;br /&gt;
תחת הלשונית ''פעולות'' מופיע תת לשונית ''דפי הפירוט והמכתבים'' ישנה אפשרות לצפות ולהוריד דפי פירוט, אפשרות זו לפעמים לא עובדת בנטפרי, ומוצג/יורד קובץ ריק ללא תוכן כלל.&lt;br /&gt;
&lt;br /&gt;
כדי לצפות בפירוט שימושים עבור חודשים שלא נפתחים בממשק &amp;quot;דפי הפירוט והמכתבים&amp;quot; יש ליכנס ללשונית בראש הדף ''כרטיסים'' ולבחור ''פירוט חיובים ועסקאות''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===תוכנת סקייפ לא עובדת בצורה תקינה===&lt;br /&gt;
&lt;br /&gt;
יש להשתמש בגירסת הdesktop שנבדקה ועובדת כראוי, [https://go.skype.com/windows.desktop.download ניתן להוריד את התוכנה מכאן].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===תמונות לא ראויות של משתמשים מוצגות בסקייפ===&lt;br /&gt;
&lt;br /&gt;
תיאור: בדרך כלל זה קורה למי שעובר מאינטרנט אחר לנטפרי והתמונות של המשתמשים נשמרו על המחשב שלו והוא רוצה שזה יסונן.&lt;br /&gt;
&lt;br /&gt;
פתרון: סגרו את סקייפ, ושנו את השם של התקיה הזו C:\Users\USER\AppData\Roaming\Skype  לשם אחר (החליפו את המילה USER בשם המשתמש שלכם) והדליקו את סקייפ מחדש. תצטרכו להתחבר מחדש עם שם משתמש וסיסמה, ואז התמונות יסתננו.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===הורדות מהאתר [https://www.freepik.com/ Freepik.com] נחסמות עקב ריבוי הורדות מכתובת IP משותפת===&lt;br /&gt;
&lt;br /&gt;
יש [https://id.freepikcompany.com/login?&amp;amp;action=register ליצור חשבון משתמש חינמי] באתר של freepik ולהוריד באמצעותו.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===התחברות למצלמות מרוחקות נחסמת לאחר זמן מה ויש צורך בפתיחה מחדש בכל פעם===&lt;br /&gt;
&lt;br /&gt;
הסיבה היא מכיוון שבמצלמות המרוחקות אין אייפי קבוע ובכל פעם שהאייפי משתנה נטפרי צריכים לפתוח את האייפי החדש. הפתרון הוא להגדיר ברשת של המצלמות המרוחקות אייפי קבוע.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===החיבור התנתק מהחשבון בנטפרי===&lt;br /&gt;
&lt;br /&gt;
יתכן א' מהסיבות הבאות:&lt;br /&gt;
&lt;br /&gt;
1) החיבור נותק ע&amp;quot;י פעולת אנוש בדף של [https://netfree.link/user#/user/filter-settings הגדרות סינון] (או ע&amp;quot;י מנהל קהילה) בכוונה או בטעות, אפשר לחברו שוב כמו חיבור חדש.&lt;br /&gt;
&lt;br /&gt;
2) החיבור לא היה פעיל למשך חודש, חיבורים מתנתקים אוטומטית מהחשבון אם לא היו בשימוש למשך חודש (למעט חיבורי VPN), גם במקרה זה אפשר לחברו שוב.&lt;br /&gt;
&lt;br /&gt;
3) כשיש מינוס בחשבון ולא מגדירים אמצעי תשלום תוך 15 יום, החיבור מתנתק מהחשבון, לא ניתן לחברו שוב לחשבון אלא רק לאחר עדכון אמצעי תשלום.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===הסרה מרשימת תפוצה===&lt;br /&gt;
במקרים בהם לא ניתן לגשת לקישור ההסרה מרשימת התפוצה מכיוון שהאתר חסום בנטפרי או בחשבון המשתמש [[הסרה מרשימת תפוצה|ראו כאן]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{פורום|&lt;br /&gt;
===ריבוי חסימות של הרובוט באתרי קניות סיניים===&lt;br /&gt;
ראה [http://forum.netfree.link/topic/5991 כאן].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
===סנכרון גוגל כבה ודורש התחברות מחדש כל יום ===&lt;br /&gt;
תיאור: זה קורה בד&amp;quot;כ למי שמוגדר לו שעות מסויימות ללא אינטרנט כלל, כלומר שבפרופיל סינון  מוגדר שכל האתרים חסומים, בלי שום החרגות, ומכיוון שהכתובת שאחראית על סנכרון חשבון גוגל חסומה, הסנכרון כבה.&lt;br /&gt;
&lt;br /&gt;
פתרון:  צריך לפתוח בפרופיל החסום את הכתובות האלו:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code dir=&amp;quot;ltr&amp;quot;&amp;gt;https://www.googleapis.com/oauth*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code dir=&amp;quot;ltr&amp;quot;&amp;gt;https://oauthaccountmanager.googleapis.com/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===שינוי שפת ווינדוס מאנגלית לעברית בנטפרי===&lt;br /&gt;
&lt;br /&gt;
כאשר רוכשים מחשב חדש מחו&amp;quot;ל בדרך כלל הוא מגיע באנגלית.&lt;br /&gt;
&lt;br /&gt;
ע&amp;quot;מ שיהיה גם בעברית יש צורך בהורדת ערכת שפה דרך החנות - microsoft store.&lt;br /&gt;
&lt;br /&gt;
יש להיכנס לקישור [https://tinyurl.com/zhe297hr הבא] וללחוץ על &amp;quot;קבל&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===בעיית אבטחה בגירסאות העדכניות של תוכנת zoom במערכת הפעלה לינוקס===&lt;br /&gt;
&lt;br /&gt;
תיאור: בגירסה האחרונה של תוכנת zoom עבור לינוקס, ישנה בעיית אבטחה שלא מאפשרת את השימוש באפליקציה.&lt;br /&gt;
&lt;br /&gt;
פתרון: אין כרגע פתרון עבור גירסה זו. אך ניתן להוריד מ [https://zoom.us/client/5.15.10.6882/zoom_amd64.deb כאן] או מ[https://cdn.zoom.us/prod/5.13.7.683/zoom_amd64.deb כאן] גירסה ישנה יותר, או להשתמש בדפדפן.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===התקנת xcode===&lt;br /&gt;
&lt;br /&gt;
תיאור: מכיון שחנות האפליקציות של אפל לא עובדת בנטפרי, אי אפשר להתקין דרכה את תוכנת xcode.&lt;br /&gt;
&lt;br /&gt;
פתרון: אפשר להוריד את xcode מקישור [https://developer.apple.com/download/all זה], או להוריד דרך תוכנת [https://xcodes.app xcodes]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===אין גישה לאינטרנט ב wsl + wifree3 ===&lt;br /&gt;
תיאור: כשמחוברים לסינון ע&amp;quot;י תוכנת וויפרי3 אין גישה לאינטרנט בWSL.&lt;br /&gt;
&lt;br /&gt;
פתרון: להגדיר את מצב הרשת בwsl על virtioproxy.&amp;lt;br&amp;gt; &lt;br /&gt;
איך עושים את זה?&amp;lt;br&amp;gt;&lt;br /&gt;
בדר&amp;quot;כ אמור להיות במחשב תוכנת עזר מובנית לwsl בשם WSL SETTINGS אפשר לחפש את זה בהתחל.&amp;lt;br&amp;gt;&lt;br /&gt;
שם בלשונית networking בהגדרה הראשונה למעלה 'networking  mode' יש לבחור ב virtioProxy.&amp;lt;br&amp;gt;&lt;br /&gt;
לאחמ&amp;quot;כ יש לסגור לגמרי את כל המופעים של wsl ע&amp;quot;י הרצת הפקודה &amp;lt;code&amp;gt; wsl --shutdown&amp;lt;/code&amp;gt; בשורת הפקודה של ווינדוס (cmd).&amp;lt;br&amp;gt;&lt;br /&gt;
להפעיל את הwsl מחדש ולבדוק אם הבעיה נפתרה.&amp;lt;br&amp;gt;&lt;br /&gt;
כדי לוודא שההגדרה אכן נכנסה לתוקף, יש להריץ את הפקודה הבאה ב &amp;lt;strong dir=&amp;quot;rtl&amp;quot;&amp;gt;WSL&amp;lt;/strong&amp;gt; &amp;lt;code&amp;gt; wslinfo --networking-mode&amp;lt;/code&amp;gt; זה אמור להציג את הערך המוגדר כעת (virtioproxy)&amp;lt;br&amp;gt;&lt;br /&gt;
אם אתם לא מוצאים את התוכנה WSL SETTINGS. ראו [[הגדרת_רשת_wsl_לוויפרי3|'''כאן''']] הדרכה כיצד לבצע את זה באופן ידני.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===תוצאות חיפוש גוגל זרות בעת גלישה דרך VPN===&lt;br /&gt;
&lt;br /&gt;
ראה [[תוצאות חיפוש גוגל זרות בעת גלישה דרך VPN|הרחבה]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==התמודדות עם תקלות שלא מפורטות כאן==&lt;br /&gt;
&lt;br /&gt;
אם נתקלתם בתקלה שאינה מפורטת כאן, עליכם לפנות ל[[מערכת הפניות של נטפרי]] בצירוף הקלטת תעבורה. תוכלו ללמוד כיצד לעשות זאת באמצעות [[התמודדות עם תקלות#כלי הקלטת התעבורה|מדריך זה]].&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%9E%D7%A2%D7%A8%D7%9B%D7%AA_%D7%94%D7%A4%D7%A0%D7%99%D7%95%D7%AA_%D7%A9%D7%9C_%D7%A0%D7%98%D7%A4%D7%A8%D7%99&amp;diff=18192</id>
		<title>מערכת הפניות של נטפרי</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%9E%D7%A2%D7%A8%D7%9B%D7%AA_%D7%94%D7%A4%D7%A0%D7%99%D7%95%D7%AA_%D7%A9%D7%9C_%D7%A0%D7%98%D7%A4%D7%A8%D7%99&amp;diff=18192"/>
		<updated>2026-03-09T20:49:33Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{עמוד באנגלית|NetFree's Support System}}&lt;br /&gt;
{{קישור לתצוגת קריאה}}&lt;br /&gt;
{{ניווט}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;מערכת הפניות היא דרך יצירת הקשר המועדפת על צוות נטפרי. &lt;br /&gt;
כל בעיה שהיא - תוכנה שלא עובדת, אתר שעדיין לא נבדק או סרטון שדורש בדיקה, הצעות ייעול או דיווח על תוכן, וכל דבר שדורש את תשומת הלב מצוות נטפרי - מערכת הפניות היא המקום. &lt;br /&gt;
בדף זה יוסבר איך משתמשים במערכת הפניות.&amp;lt;/big&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===גישה למערכת הפניות:===&lt;br /&gt;
הגישה למערכת הפניות היא דרך [http://netfree.link/user#/user/info '''האזור האישי'''] שלכם ב[http://netfree.link/ '''דף הבית של נטפרי'''], תחת '''&amp;quot;הפניות שלי&amp;quot;'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
שם תמצאו את הלשונית [http://netfree.link/user#/tickets/list '''&amp;quot;רשימת הפניות&amp;quot;'''] - ובלחיצה עליו יופיע לכם רשימה של הפניות ששלחתם בעבר, ובראש הרשימה מופיע כפתור  [https://netfree.link/app/#/tickets/new '''&amp;quot;שלח פניה חדשה&amp;quot;'''].&amp;lt;br /&amp;gt;&lt;br /&gt;
אפשר להגיע למערכת הפניות גם ע&amp;quot;י לחיצה על 'לאיזור האישי' או 'שלח פניה' ב[[פנל ניהול מהיר|כרטסת של נטפרי]].&lt;br /&gt;
&lt;br /&gt;
===נקודות:===&lt;br /&gt;
&lt;br /&gt;
נקודות הינה הדרך בה אתם מדרגים את הקדימות של הטיפול בפניות.&lt;br /&gt;
&lt;br /&gt;
בכל תחילת חודש לועזי, נטפרי מעניקה 16 נקודות לכל חיבור שהיה פעיל בשבועיים קודם הענקת הנקודות. &lt;br /&gt;
תוקף הנקודות הוא כ-30 יום ממועד הנפקתם.&lt;br /&gt;
(ראה על [[מערכת הפניות של נטפרי#הוספת נקודות:|הוספת נקודות]]).&amp;lt;br /&amp;gt;&lt;br /&gt;
תהליך חלוקת נקודות חדשות למנויים מתבצע באופן ידני בסביבות היום ה-1 לחודש הלועזי.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
פניות לבדיקת אתר / וידאו / קובץ וכן שינוי הגדרות הסינון (הוספת אתר/תגית) לחשבון המשוייך לקהילה, פתיחת הורדת אפליקציות (קבצי apk) וכדומה חובה לשלוח עם נקודה אחת לפחות. פניה שתישלח ללא נקודות - לא תטופל. '''(ראה בהמשך על [[מערכת הפניות של נטפרי#פניות ללא צורך בנקודה:|פניות שאין בהן צורך לצרף נקודה]])'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
בנוסף הנקודות משמשות לקביעת סדר העדיפות של מערכת נטפרי בטיפול בפניות. דהיינו, פניות שיצורפו להן 3 נקודות ימוקמו בראש התור, אחריהן פניות עם 2 נקודות, לאחריהן פניות עם נקודה אחת, ולאחריהן פניות ללא נקודות כלל. כך שבמידה והפנייה דחופה מומלץ לדרגה ב-3 נקודות.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[קובץ:נקודות.gif|80px|נקודות]]&lt;br /&gt;
&lt;br /&gt;
השימוש בנקודות היא לפי שיקול דעתו של הלקוח בלבד, לא יהיה החזרה של נקודות לאחר השימוש בפניה.&lt;br /&gt;
&lt;br /&gt;
===זמן הטיפול בפניה:===&lt;br /&gt;
זמן הטיפול בפניה רגילה (פתיחת אתר, וידאו) לוקח בדרך כלל בין כמה דקות עד שעה לפניות עם שתיים-שלוש נקודות, ובנקודה אחת בדרך כלל כמה שעות (ב[[מערכת הפניות של נטפרי#שעות פעילות|שעות הפעילות]]), אך אין התחייבות מצד נטפרי לטיפול בפרק הזמן המשוער הכתוב כאן.&amp;lt;br /&amp;gt;&lt;br /&gt;
הטיפול בפניות מורכבות עלול לקחת זמן רב יותר, ניתן לראות האם הפניה מורכבת יותר על ידי בדיקה כיצד הפניה מוגדרת על ידי נטפרי (כגון 'טיפול מקצועי' 'רובוט' וכיו&amp;quot;ב).&amp;lt;br&amp;gt;&lt;br /&gt;
====השערת זמן טיפול בפניה לפי סטטיסטיקה====&lt;br /&gt;
בדף של שליחת פניה מופיע נתונים סטטיסטיים על טיפול בפניות שנשלחו באותה שעה בימים האחרונים, לפי נתונים אלו הלקוח יוכל לשער כמה זמן יקח כעת טיפול בפניתו '''(כמובן שזה תלוי במורכבות של הפניה)''', הנתונים המופיעם בדף הראשי הם הנתונים של הפניות שנענו תוך 5 דקות והם משתנים לפי דרגת העדיפות שהלקוח בחר, בשינוי דרגת העדיפות לפי נקודות ישתנה הנתון.&amp;lt;br&amp;gt;&lt;br /&gt;
בלחיצה על '''לנתונים מלאים לחץ כאן''' תיפתח דיאגרמה עם כלל הפניות כמה אחוז מהם נענו תוך 5 דקות, תוך 30 דקות, תוך שעה, תוך 3 שעות, תוך יום וכמה מהם מעל יום, העברת העכבר על חלקי הדיאגרמה מקפיץ את האחוזים של אותה חלק, גם בחלון זה ניתן לבחור נקודות ולראות את השינוי בטיפול בפניות לפי דרגת העדיפות.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--זה סתם בדיחה מעצבנת 🙁&lt;br /&gt;
===מצב SOS למקרים דחופים===&lt;br /&gt;
בזמנים שיש עומס רב של פניות במערכת, זמן טיפול בפניה יכול לקחת זמן רב ביותר, לכן למקרים דחופים יש את מצב SOS שבהפעלתו תומך מצוות נטפרי ייצור עמכם קשר טלפוני מיידית במטרה לטפל בפנייתכם במהירות האפשרית.&lt;br /&gt;
&lt;br /&gt;
עלות השירות - 30 ש&amp;quot;ח&lt;br /&gt;
&lt;br /&gt;
נטפרי תעשה מאמץ לחייג אליכם בתוך 10 דקות מרגע שליחת הפניה. אם לא תקבלו שיחה בפרק זמן זה, פנייתכם תשוב להמתנה בתור הרגיל, ולא תחויבו בתשלום.&lt;br /&gt;
&lt;br /&gt;
לתשומת ליבכם: התשלום הוא עבור ההירתמות של נטפרי למתן מענה מהיר. גם אם לא נוכל לפתור את הבעיה בשל מגבלות טכניות, מדיניות או כל סיבה אחרת, עדיין תחויבו בתשלום של 30 ש&amp;quot;ח.&lt;br /&gt;
&lt;br /&gt;
להפעלת מצב SOS, לחצו על הלחצן המיוחד שמופיע בסוף הדף של פניה שכבר נשלחה (דהיינו שיש לשלוח פניה בצורה הרגילה ואח&amp;quot;כ ליכנס שוב לפניה ולדפדף לסוף הדף). &lt;br /&gt;
&lt;br /&gt;
'''שימו לב!''' השירות נסיוני ויתכנו באגים ובעיות תכופות יותר בשלב זה.&lt;br /&gt;
&lt;br /&gt;
🙁עד כאן הבדיחה המעצבנת--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===אתרים:===&lt;br /&gt;
בכל אתר שלא נבדק מופיע קישור &amp;quot;שלח בקשה לבדיקה&amp;quot;, בלחיצה על הקישור, תועברו למערכת הפניות כדי לשלוח את האתר לבדיקה, ואז אפשר לשלוח את הבקשה עם נקודות לפי הדחיפות ולפרט מעט על תוכן האתר.&amp;lt;br /&amp;gt;&lt;br /&gt;
רוב האתרים שמאושרים ע&amp;quot;י צוות נטפרי יעברו [[סינון התמונות|סינון תמונות אנושי]], [[סינון קבצי pdf]], ו[[סינון מלל|סינון מלל על ידי רובוט אוטומטי]]. ישנם מעט אתרים שאמורים להיות כשרים לגמרי ולכן לא יצטרכו לעבור סינון נוסף.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[קובץ:Video.jpg|ממוזער|דף ההפניה למערכת הפניות באתרים [http://www.youtube.com/ יוטיוב] ו-[http://vimeo.com/ וימאו]|200px]]&lt;br /&gt;
&lt;br /&gt;
===וידאו:===&lt;br /&gt;
במערכת הפניות ניתן לשלוח סרטונים לבדיקה מרוב האתרים. בקבצי וידאו המאוחסנים באתרים [http://www.youtube.com/ יוטיוב] ו-[http://vimeo.com/ וימאו], בכל וידאו שעדיין לא נבדק יופיע כפתור &amp;quot;שלח את הוידאו לבדיקה&amp;quot;, ובלחיצה על הכפתור, תועברו למערכת הפניות כדי לשלוח את הוידאו לבדיקה (קרא עוד על [[סינון וידאו|שליחת וידאו לבדיקה]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===הורדת קבצים:===&lt;br /&gt;
ישנם סוגי קבצים שלא נתמכים בסינון אוטומטי, ניתן לשלוח פניה לבדיקת ופתיחת הקובץ כמו בכל אתר שלא נבדק.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===דיווחים:===&lt;br /&gt;
בכל מקרה שנתקלתם במשהו שלא אמור להופיע/תקלה בסינון מומלץ לדווח על כך דרך [[פנל ניהול מהיר|הכרטסת של נטפרי]] בצד ימין. פניה מסוג זה מקבלת באופן אוטומטי 5 נקודות (לא על חשבון הנקודות שלכם) ומטופלת במהירות האפשרית. אם אי אפשר לדווח דרך הכרטסת אפשר לדווח מ[https://netfree.link/app/#/report כאן].&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===פניות ללא צורך בנקודה:===&lt;br /&gt;
ישנן פניות שבהן אין צורך בנקודה:&lt;br /&gt;
&lt;br /&gt;
*אם נתקלתם בבעיה בעת התקנת/עדכון תוכנה.&lt;br /&gt;
*אם נתקלתם בדף שנחסם בטעות ע&amp;quot;י הרובוט האוטומטי.&lt;br /&gt;
*פניה בכל נושא אחר (מלבד בדיקת אתר/וידאו/קובץ שלא נתמך בסינון אוטומטי/יציאה מקהילה שבפיקוח נטפרי).&lt;br /&gt;
&lt;br /&gt;
פניות כאלו תוכלו לשלוח ללא נקודות.&amp;lt;br&amp;gt;&lt;br /&gt;
אך במידה והפניה דחופה מומלץ בכל זאת לדרג בנקודות, כדי לתת לפניה עדיפות גבוהה.&lt;br /&gt;
&lt;br /&gt;
===הוספת נקודות:===&lt;br /&gt;
[[קובץ:Buy-credits.png|ממוזער|שמאל|קניית נקודות]]&lt;br /&gt;
אם נגמרו לכם הנקודות וברצונכם לשלוח פניות המצריכות נקודות, ביכלתכם לרכוש נקודות נוספות.&amp;lt;br /&amp;gt;&lt;br /&gt;
לרכישת נקודות היכנסו לאיזור האישי בקישור זה: http://netfree.link/user/#/user/buy-credits ובחרו את החבילה המתאימה לכם.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!כמות נקודות||מחיר&lt;br /&gt;
|-&lt;br /&gt;
|5||10 ש&amp;quot;ח&lt;br /&gt;
|-&lt;br /&gt;
|10||17 ש&amp;quot;ח&lt;br /&gt;
|-&lt;br /&gt;
|20||30 ש&amp;quot;ח&lt;br /&gt;
|-&lt;br /&gt;
|30||37 ש&amp;quot;ח&lt;br /&gt;
|-&lt;br /&gt;
|50||50 ש&amp;quot;ח&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*הנקודות תקפות ל-40 יום מיום קנייתם.&lt;br /&gt;
*התשלום עבור הנקודות יתבצע ע&amp;quot;י אמצעי התשלום שהגדרתם בחשבונכם.&lt;br /&gt;
*ניתן לבצע קניה רק פעם אחת ביום.&lt;br /&gt;
*לא ניתן לקנות נקודות, באם קיימת בחשבון יתרת חוב בסכום של 100 ש&amp;quot;ח ומעלה.&lt;br /&gt;
&lt;br /&gt;
===הקלטת תעבורת אינטרנט===&lt;br /&gt;
ישנם מקרים בהם ישנו אתר פתוח אך חלק מהאתר משתמש בכתובת אחרת שחסומה, מה שגורם לאתר לתפקד בצורה משובשת. ישנם מקרים בהם תמונות האתר יושבות על כתובת אינטרנט אחרת ולכן הן לא נשלחות לבדיקה למרות שהאתר שמכיל אותן מוגדר כפתוח.&amp;lt;br /&amp;gt;&lt;br /&gt;
כמו כן ישנן תוכנות שמשתמשות בכתובות אינטרנט שלא נבדקו עדיין.&amp;lt;br /&amp;gt;&lt;br /&gt;
המשותף לכל מקרים הללו שכתובת האינטרנט המבוקשת אינה חשופה למשתמש, דבר שיוצר קושי בשליחת הכתובת לבדיקה.&lt;br /&gt;
&lt;br /&gt;
כדי לפתור בעיה זו יש ללחוץ על הכפתור הזה: [[קובץ:כפתור הקלטת תעבורה.png|150px]] בדף הפניה ולהשתמש בכלי כפי שמוסבר [[התמודדות עם תקלות#כלי הקלטת התעבורה|כאן]].&lt;br /&gt;
&lt;br /&gt;
'''על מנת להקל על מערכת הפניות, נטפרי ממליצים לצרף הקלטת תעבורה מראש בכל פניה שיש צד שההקלטה תתבקש'''.&lt;br /&gt;
&lt;br /&gt;
===שעות פעילות===&lt;br /&gt;
'''זמני תמיכה בפניות ומענה טלפוני''':&lt;br /&gt;
&lt;br /&gt;
* '''ימים א-ה:''' 24 שעות&lt;br /&gt;
&lt;br /&gt;
* '''ימי שישי''': עד 12:00 &lt;br /&gt;
&lt;br /&gt;
* '''מוצ&amp;quot;ש''': החל מכשעתיים לאחר צאת השבת&lt;br /&gt;
&lt;br /&gt;
* '''חול המועד''': לפי ההלכה, מותר לטפל בחול המועד רק בפניות שהם לצורך המועד או לצורך דבר האבד, ולכן נטפרי מבקשים לא לשלוח פניות שלא לצרכים אלו. במידה ואחד המשתמשים זקוק לפניה המותרת בחול המועד, נטפרי מבקשים לציין בגוף הפניה שזה דבר האבד או לצורך המועד.&lt;br /&gt;
{{פורום|&lt;br /&gt;
==קישורים חיצוניים==&lt;br /&gt;
[http://forum.netfree.link/post/9940 forum.netfree.link/post/9940]&lt;br /&gt;
|}}&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%F0%9F%98%A1&amp;diff=18191</id>
		<title>משתמש:😡</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:%F0%9F%98%A1&amp;diff=18191"/>
		<updated>2026-03-09T20:45:51Z</updated>

		<summary type="html">&lt;p&gt;😡: יצירת דף עם התוכן &amp;quot;שלום לכם 😀 הגעתי פה לעשות קצת סדר 😄 פשוט לא הייתי בקו שפתחתי את הניק שלי 😡🤣&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;שלום לכם 😀&lt;br /&gt;
הגעתי פה לעשות קצת סדר 😄&lt;br /&gt;
פשוט לא הייתי בקו שפתחתי את הניק שלי 😡🤣&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%A4%D7%95%D7%A8%D7%95%D7%9D_%D7%A0%D7%98%D7%A4%D7%A8%D7%99&amp;diff=18190</id>
		<title>פורום נטפרי</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%A4%D7%95%D7%A8%D7%95%D7%9D_%D7%A0%D7%98%D7%A4%D7%A8%D7%99&amp;diff=18190"/>
		<updated>2026-03-09T20:43:02Z</updated>

		<summary type="html">&lt;p&gt;😡: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{עמוד באנגלית|NetFree forum}}&lt;br /&gt;
{{קישור לתצוגת קריאה}}&lt;br /&gt;
{{ניווט}}&lt;br /&gt;
&lt;br /&gt;
{{פורום|&lt;br /&gt;
נטפרי הקימה פורום מיוחד בו יוכלו המשתמשים להתעניין ולקבל מידע מהמתמשים הוותיקים אודות כל הנושאים הקשורים לנטפרי ומטרותיה.&lt;br /&gt;
&lt;br /&gt;
בפורום ניתן לקבל מידע על ספקים ומחירים, לחוות יחד את היתרונות, החסרונות והפתרונות, וכל מה שרלוונטי לסינון נטפרי. בפורום ניתן להתייעץ עם אחרים, ולהיפך - לעזור לאחרים המבקשים זאת, על מגוון נושאים שיועילו להפיק את המירב מסינון נטפרי.&lt;br /&gt;
&lt;br /&gt;
כללי &lt;br /&gt;
&lt;br /&gt;
[https://forum.netfree.link/category/2/כללי '''לפורום בעברית''']&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://en.forum.netfree.link/category/2/general-discussions '''לפורום באנגלית''' ]&lt;br /&gt;
&lt;br /&gt;
===אודות הפורום===&lt;br /&gt;
'''לתשומת לבכם!'''&lt;br /&gt;
&lt;br /&gt;
בפורום ניתן להתייעץ עם הציבור באופן ענייני בלבד, ורק בנושאים טכניים לפתרון בעיות הקשורות לסינון האינטרנט של נטפרי.&amp;lt;br&amp;gt;&lt;br /&gt;
ראו [https://forum.netfree.link/post/134723 כאן] את כללי הפורום.&lt;br /&gt;
&lt;br /&gt;
===השימוש בפורום===&lt;br /&gt;
השימוש בפורום מיועד לחברי נטפרי, וכן למתעניינים טרם היותם משתמש נטפרי.&amp;lt;br /&amp;gt;&lt;br /&gt;
הקריאה בפורום והורדת הקבצים פתוחה לכל, אך הכתיבה ואפשרות תגובה אפשרית למשתמשים רשומים בלבד.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ניתן להוריד 'מדריך למשתמש מתחיל'  בגירסת PDF הכוללת סימניות, להקל על העיון והתמצאות במרחב של המדריך. להורדה [//wiki.netfree.link/images/3/3e/%D7%90%D7%99%D7%A0%D7%A4%D7%95%D7%A8%D7%95%D7%9D_-_%D7%9E%D7%93%D7%A8%D7%99%D7%9A_%D7%9C%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9.pdf לחצו כאן].&lt;br /&gt;
&lt;br /&gt;
===רישום לפורום===&lt;br /&gt;
על מנת לקחת חלק בפעילות בפורום צריך שתהיה לכם חשבון בנטפרי, ובנוסף לזה עליכם להירשם להפורום.&amp;lt;br /&amp;gt;&lt;br /&gt;
לשונית ההרשמה נמצאת בחלקו העליון של דף הבית בצד שמאל, לחיצה עליה תוביל אתכם ל[http://forum.netfree.link/register דף ההרשמה]&amp;lt;br /&amp;gt;&lt;br /&gt;
אם באותו דפדפן כבר נכנסת להחשבון שלכם בנטפרי, אז תוכלו להמשיך תיכף לצעדים הבאים. ואם לא, אז מקודם תצטרך להכנס להחשבון שלכם בנטפרי (או לפתוח חשבון חדש בנטפרי) ואח&amp;quot;כ תועבר להצעדים הבאים.&lt;br /&gt;
בדף זה יש למלא את הפרטים שישמשו אמצעי הזיהוי שלכם בפורום:&lt;br /&gt;
&lt;br /&gt;
*בחירת שם משתמש, אשר יזהה אתכם בכל תגובה או נושא חדש שתעלו בפורום. שם המשתמש שתבחרו הינו קבוע, ואינו ניתן לשינוי.&lt;br /&gt;
*בחירת סיסמה.&lt;br /&gt;
*עדכון כתובת מייל. זאת על מנת לאשר את ההרשמה, כדלהלן. כמו כן, הודעות לגבי פעילות בנושא אשר נמצא במעקב שלכם, ישלחו לכתובת זו. כברירת מחדל, כתובת המייל שלכם לא תופיע בדף המשתמש שלכם. באם הינכם מעוניינים שהיא תהיה גלויה לציבור המשתמשים, יש לסמן במקום המיועד לכך בהגדרות. ראה להלן פרופיל.&lt;br /&gt;
&lt;br /&gt;
כאמור, לאחר הרישום ישלח אליכם לינק לאימות כתובת המייל, יש להיכנס אל הלינק, כעת אתם רשומים. שם המשתמש שבחרתם, ותמונת פרופיל שקיבלתם באופן אקראי, ואשר ישמש אתכם כתגית הזיהוי בפורום, יופיעו - [http://forum.netfree.link/users כאן].&lt;br /&gt;
&lt;br /&gt;
===שינוי והגדרות פרופיל===&lt;br /&gt;
ניתן להגדיר העדפות שונות שלכם, ולהעלות תמונה בבחירה אישית שתהווה תמונת הפרופיל שלכם, ואשר תופיע לצד שם המשתמש שלכם.&amp;lt;br /&amp;gt;&lt;br /&gt;
בחלקו העליון של דף הפורום בצד שמאל, נמצא אייקון - תמונת הפרופיל שלכם. לחיצה על התמונה תפתח את תפריט אפשרויות הפרופיל:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*בשורה הראשונה מופיע שם המשתמש שלכם, לחיצה עליו תפתח את דף פרופיל המשתמש שלכם המוצג לכל באי הפורום, ובו מפיע המידע עליכם (כאמור, המידע האישי נשאר חסוי, אלא א&amp;quot;כ בחרתם להפכו לגלוי) וכן על פעילותכם בפורום.&amp;lt;br /&amp;gt;&lt;br /&gt;
*בארבע השורות הבאות, ביכולתכם לקבוע מה יראו המשתמשים האחרים לגבי מצב החיבור שלכם לפורום:&amp;lt;br /&amp;gt; {{הדגשת צבע|#07C|מחובר}}  /  {{הדגשת צבע|#07C|לא נמצא}}  /  {{הדגשת צבע|#07C|נא לא להפריע}} / {{הדגשת צבע|#07C|מוסתר}}, לצד תמונת הפרופיל שלכם יופיע עיגול בצבע הנבחר. אם בחרתם {{הדגשת צבע|#07C|מחובר}}, כשתתנתקו הצבע יהיה אפור. אם בחרתם {{הדגשת צבע|#07C|מוסתר}} זה יהיה הצבע גם בשעה שאתם מחוברים.&lt;br /&gt;
*השורה הבאה {{הדגשת צבע|#07C|ערוך פרופיל}} - תביא אתכם לדף עריכת הפרופיל שלכם. שם ניתן להוסיף חתימה אשר תופיע תחת כל הודעותיכם. שם תוכלו גם לבצע שינוי תמונה / כתובת מייל / סיסמה. &amp;lt;br /&amp;gt; בשמאלו של דף זה מופיע עיגול ובתוכו שלש נקודות, בלחיצה עליו תוכלו לצפות במידע מגוון אודות המשתמש שלכם.&lt;br /&gt;
&lt;br /&gt;
===הודעות ותגובות===&lt;br /&gt;
הפורום מחולק לכמה קטגוריות:&lt;br /&gt;
&lt;br /&gt;
*{{הדגשת צבע|#07C|הכרזות}} - אינו ניתן להוספה אלא ע&amp;quot;י מנהלים.&lt;br /&gt;
*{{הדגשת צבע|#07C|כללי}} - כל הודעה שאינה משוייכת לאחד מן הקטגוריות האחרות.&lt;br /&gt;
*{{הדגשת צבע|#07C|NetFriends בקשת/הצעת הדרכה}} - שיח סביב אתר הוויקי הנוכחי. מיועד לשיח על מה שנכתב כאן, ובכלל זה למי שאינו בקי ברזי העריכה כאן, יכול לכתוב שם, ומשתמשים אחרים יערכו בשבילו.&lt;br /&gt;
*{{הדגשת צבע|#07C|רשמים}} - למשוב על נטפרי, משתמשים מפרטים את מידת שביעות רצונם מנטפרי.&lt;br /&gt;
*{{הדגשת צבע|#07C|על הפורום}} - נושאים השייכים לפורום.&lt;br /&gt;
*{{הדגשת צבע|#07C|שיפורים ושיכלולים}} - אינו ניתן להוספה אלא ע&amp;quot;י מנהלים.&lt;br /&gt;
*{{הדגשת צבע|#07C|דיונים בנושא רעיונות וחידושים בנטפרי}} - המקום לכל אחד להציע את הרעיון שלו כדי שנטפרי תתקדם. כל רעיון נפתח בנושא חדש ונדון באותו נושא.&lt;br /&gt;
&lt;br /&gt;
כהיום כל הקטגוריות נעולות לבד מקטגורית &amp;quot;כללי&amp;quot; ועיין ב[https://forum.netfree.link/topic/11568/%D7%9B%D7%9C%D7%9C%D7%99-%D7%94%D7%A4%D7%95%D7%A8%D7%95%D7%9D חוקי הפורום] באיזה ענינים אפשר לדון שמה.&lt;br /&gt;
&lt;br /&gt;
===הוספת נושא חדש===&lt;br /&gt;
&lt;br /&gt;
*'''כתיבת נושא'''&amp;lt;br /&amp;gt; לאחר שנכנסתם לקטגוריה המתאימה להודעה שאתם רוצים לכתוב, יש ללחוץ על 'נושא חדש', הלחיצה תפתח תיבה לכתיבת הודעה. (ניתן להגדיל ולהקטין את גודל התיבה ע&amp;quot;י גרירת סמן החץ המופיע בצד שמאל).&amp;lt;br /&amp;gt; יש להכניס כותרת, ולאחר מכן את גוף ההודעה.&amp;lt;br /&amp;gt; אם אתם מעוניינים לשלוח התראה לאחד המשתמשים על מה שכתבתם, יש להזכיר אותו בגוף הודעתכם. ראה להלן [[אינפורום - הפורום של נטפרי#הזכרה של משתמש אחר|הזכרה של משתמש אחר]].&lt;br /&gt;
&lt;br /&gt;
*'''עיצוב הודעה'''&amp;lt;br /&amp;gt; ניתן להדגיש ולהטות מילים שאנו רוצים, ע&amp;quot;י הסרגל המופיע בין הכותרת לגוף ההודעה. אם בחרתם עיצוב מסוים, מה שתראו בגוף ההודעה זה כוכביות וקודים למיניהם, אבל ניתן לראות את התוצאה הסופית בחלון התצוגה שבצד שמאל לחלון העריכה.&amp;lt;br /&amp;gt; {{הדגשת צבע|#07C|B}} - הדגשה.&amp;lt;br /&amp;gt; {{הדגשת צבע|#07C|I}} - הטייה. &amp;lt;br /&amp;gt; {{הדגשת צבע|#07C|פסים ונקודות}} - כתיבה בצורת רשימה. ניתן לעשות גם ידני ע&amp;quot;י כתיבת *&amp;lt;br /&amp;gt; {{הדגשת צבע|#07C|S}} - הוספת קו על הטקסט (מחיקה).&amp;lt;br /&amp;gt;{{הדגשת צבע|#07C|סמל קישור}} - להפניה בגוף הודעתכם למיקום אחר כל שהו. אם העתקתם קישור, לחצו על הסמל של קישור, ותכניסו את הקישור. תוכלו לערוך מה יופיע בתצוגה ע&amp;quot;י כתיבה בתוך link text. אם הכנסתם נכון, הכיתוב שלכם יופיע בכחול. [http://wiki.netfree.link/images/4/41/%D7%9E%D7%93%D7%A8%D7%99%D7%9A_%D7%95%D7%99%D7%93%D7%90%D7%95_%D7%90%D7%99%D7%9A_%D7%9C%D7%A2%D7%A9%D7%95%D7%AA_%D7%A7%D7%99%D7%A9%D7%95%D7%A8_%D7%91%D7%A4%D7%95%D7%A8%D7%95%D7%9D~1.zip מדריך וידאו איך לעשות קישור בפורום (- צריך לחלץ את הסרטון)]&amp;lt;br /&amp;gt; {{הדגשת צבע|#07C|סמל תמונה}} - קישור לתמונה במיקום אחר.&amp;lt;br /&amp;gt; {{הדגשת צבע|#07C|סמלים}} - הוספת סמלים.&amp;lt;br /&amp;gt; {{הדגשת צבע|#07C|העלאת קובץ}} - ניתן להעלות כל קובץ תמונה וכדו', לצורך הודעתכם.&amp;lt;br /&amp;gt; {{הדגשת צבע|#07C|הגדלת הטקסט}} - ניתן להגדיל טקסט על ידי כתיבת # בתחילת השורה, כל # נוסף מקטין עוד, סה&amp;quot;כ עד 6 גדלים שונים.&amp;lt;br /&amp;gt; ניתן לראות את השפה שבה משתמשים לעיצוב [http://commonmark.org/help כאן].&lt;br /&gt;
&lt;br /&gt;
*'''תיוג נושא'''&amp;lt;br /&amp;gt;לאחר שסיימתם לערוך את הודעתכם, תוכלו לתייג את הודעתכם בתגית המתאימה.&amp;lt;br /&amp;gt;את התגית ניתן לכתוב בשורה שנמצאת מתחת לחלון כתיבת הודעה. אם אינכם מצליחים לראות את השורה, הקטינו את תצוגת המסך באחוזים, הוא מסתתר אי שם.&amp;lt;br /&amp;gt;תגית טובה מועילה למשתמשים אחרים שיכולים למצוא על נושא מסויים את כל ההודעות (המתויגות). על התגית להיות מתומצתת וקולעת להודעה. אם אתם לא בטוחים איזו תגית מתאימה, תוכלו לשאול בקטגוריית &amp;quot;על הפורום&amp;quot;. כמו&amp;quot;כ כשתקישו תו כל שהו בהכנסת תגית, תקבלו הצעות מתגיות דומות.&amp;lt;br /&amp;gt;סיימתם? לחצו &amp;quot;שלח&amp;quot;, ההודעה תיכנס למקום שבחרתם.&amp;lt;br /&amp;gt;מעתה כל תגובה שתתקבל להודעתכם תקבלו התראה במייל שלכם, אם לא ביטלתם אותה. ראה להלן [[אינפורום - הפורום של נטפרי#מעקב אחר הודעות|מעקב אחר הודעות]].&lt;br /&gt;
&lt;br /&gt;
===תגובה על נושא קיים===&lt;br /&gt;
אם יש לכם מה להוסיף על נושא שנפתח על ידי משתמש אחר, או על תגובה על נושא שאחר כתב או על תגובה על מה שאתם כתבתם, תוכלו לעשות כן ע&amp;quot;י הוספת תגובה בתוך ההודעה הקיימת.&amp;lt;br /&amp;gt;&lt;br /&gt;
כברירת מחדל כל מי שכתב בהודעה יקבל התראת מייל על כך, אלא אם כן בחר שלא.&lt;br /&gt;
&lt;br /&gt;
'''אופציה א.'''&amp;lt;br /&amp;gt;&lt;br /&gt;
{{הדגשת צבע|#07C|לחיצה על תגובה}} - הודעתכם תהיה בלא ציטוט ההודעה. בהודעתכם תהיה הזכרה של השם של מי שלחצתם בהודעתו. תוכלו למחוק או לשנות, ראה להלן [[אינפורום - הפורום של נטפרי#הזכרה של משתמש אחר|הזכרה של משתמש אחר]].&amp;lt;br /&amp;gt;&lt;br /&gt;
'''אופציה ב.'''&amp;lt;br /&amp;gt;&lt;br /&gt;
{{הדגשת צבע|#07C|לחיצה על ציטוט}} - הודעתכם תהיה אחרי ציטוט של ההודעה עליהם אתם מגיבים. הציטוט יהיה מוקטן. על מנת שהודעתכם לא תיכנס בתוך הציטוט יש להקיש מעבר שורה.&amp;lt;br /&amp;gt;&lt;br /&gt;
מומלץ לצטט כשאתם לא לבד בתוך שירשור ההודעה, כדי שידעו אחרים על מי תגובתכם, ועל מה.&lt;br /&gt;
&lt;br /&gt;
=====תיקון הודעות=====&lt;br /&gt;
אם אתם רוצים לשנות / להוסיף מכל סיבה שלא תהיה, ניתן לערוך את ההודעה. יש ללחוץ על שלש הנקודות הנמצאות מתחת להודעה המדוברת בצד שמאל, ולבחור 'עריכה' או 'מחיקה'.&lt;br /&gt;
&lt;br /&gt;
=====הזכרה של משתמש אחר=====&lt;br /&gt;
תגובה על הודעה / תגובה של משתמש אחר, תכניס את שמו באופן אוטומטי בגוף הודעתכם. אם אינכם מעונינים במישהו מסויים ניתן למחוק, כמו&amp;quot;כ אם אתם רוצים להזכיר מישהו נוסף, יש ללחוץ @ ואז יופיע רשימה, שמביאה את האחרונים שכתבו בנושא זה. להכנסת משתמשים אחרים, יש להקיש @ ואות ראשונה שלהם, ויופיעו לכם אופציות נוספות.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''חשוב מאוד! על @ להיות דבוק לשם המשתמש, ומופרד מכל טקסט אחר שלפניו ולאחריו.'''&lt;br /&gt;
&lt;br /&gt;
=====מעקב אחר הודעות=====&lt;br /&gt;
כל הודעה שכתבתם או הגבתם, תקבלו התראה על כך ישירות למייל שלכם. ניתן לשנות ע&amp;quot;י לחיצה בתחתית העמוד שבכל הודעה ולשנות עוקב / לא עוקב. כמו&amp;quot;כ ניתן לשנות מלא עוקב לעוקב גם על הודעות של אחרים שלא השתתפתם בשירשור.&lt;br /&gt;
&lt;br /&gt;
=====סימניות=====&lt;br /&gt;
ראיתם הודעה מועילה שאתם רוצים לחזור אליה שוב בעתיד? תוכלו ללחוץ על שלש הנקודות שבצד שמאל מתחת להודעה, ולסמן &amp;quot;סימניה&amp;quot;. בעתיד תוכלו למצוא אותה בדף הפרופיל שלכם בתפריט שבצד שמאל בשלש נקודות הכחולות, וללחוץ על &amp;quot;סימניות&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=====פוסט לא ראוי=====&lt;br /&gt;
אם נתקלתם בפוסט לא ראוי, תוכלו לדווח עליו. לחיצה על השלש נקודות &amp;gt; דווח על פוסט זה למנהל. או לחלופין הזכרת @administrators הם כבר יראו את זה, וכן דיווח בכרטסת של נטפרי. בדיווח בכרטסת נפתחת כביכול פניה במערכת הפניות שזוכה לעדיפות גבוהה מאוד.&lt;br /&gt;
&lt;br /&gt;
===סרגל הכלים===&lt;br /&gt;
'''בחלק העליון של המסך מלווה אותנו סרגל הכלים. נעבור על כל הסמלים מימין לשמאל עם הסבר קטן על כל אחד מהם.'''&lt;br /&gt;
&lt;br /&gt;
*{{הדגשת צבע|#07C|סמל הפורום}} - לחיצה עליו מביאה לדף הראשי.&lt;br /&gt;
*{{הדגשת צבע|#07C|חיפוש}} - אפשרות חיפוש לפי הקלדה. ראה להלן [[פורום נטפרי#חיפוש בפורום|חיפוש בפורום]].&lt;br /&gt;
*{{הדגשת צבע|#07C|קטגוריות}} - הפורום מחולק לשש קטגוריות שונות, ניתן לחפש/לפתוח נושאים במיקום המתאים על פי קטגוריה. ראה לעיל [[פורום נטפרי#הודעות ותגובות|רשימת קטגוריות]].&lt;br /&gt;
*{{הדגשת צבע|#07C|לא נקרא (איור מגירת מסמכים)}} - לחיצה כאן תראה לכם האם יש הודעות שעדיין לא קראתם. המספר שמופיע עליו מדי פעם מציג את מספר ההודעות שעדיין לא קראתם. שימושי ביותר.&lt;br /&gt;
*{{הדגשת צבע|#07C|פוסטים אחרונים}} - מציג את ההודעות מהאחרונה לראשונה.&lt;br /&gt;
*{{הדגשת צבע|#07C|תגיות}} - אפשרות לחפש ע&amp;quot;פ תגיות. כל משתמש שפותח נושא יכול לתייג אותו כדי להקל על המשתמשים הבאים, כשהם מחפשים האם כבר דנו בנושא. (ראה לעיל [[פורום נטפרי#הוספת נושא חדש|כיצד מתייגים]]).&lt;br /&gt;
*{{הדגשת צבע|#07C|פופולרי}} - מציג את הנושאים לפי כמות הצפיות בהם.&lt;br /&gt;
*{{הדגשת צבע|#07C|משתמשים}} - מציג את כל שמות המשתמשים הרשומים, לפי הסדר שתבחרו. בברירת מחדל המשתמשים יוצגו לפי סדר ההרשמה, מהאחרון לראשון. ניתן להציג את שמות המשתמשים גם לפי כמות ההודעות (פוסטים) שהם כתבו. לפי כמות המוניטין (תודות) שהם קבלו. או לראות אילו משתמשים מחוברים כעת.&lt;br /&gt;
*{{הדגשת צבע|#07C|קבוצות}} - מציג את הקבוצות הקיימות ואת המשתמשים הרשומים בהן.&lt;br /&gt;
*{{הדגשת צבע|#07C|חיפוש מתקדם}} - אפשרות חיפוש מתקדמת, המאפשרת לחפש הודעות או נושאים ממשתמשים מסוימים, מקטגוריות מסוימות, לפי תאריכים, ועוד. ראה להלן [[פורום נטפרי#חיפוש בפורום|איך לחפש]].&lt;br /&gt;
*{{הדגשת צבע|#07C|ויקי נטפרי}} - קישור לאתר הויקי הנוכחי. (ראוי לציין כי ניתן לצפות במדריכים בצורה נעימה יותר לעין בקישור [http://netfree.link/wiki הזה]).&lt;br /&gt;
*{{הדגשת צבע|#07C|En}} לינק לפורום באנגלית.&lt;br /&gt;
*{{הדגשת צבע|#07C|לחצני ניווט}} מאפשרים לכם לדפדף בין ההודעות, או לקפוץ להודעה הראשונה/האחרונה, להכניס מס' הודעה רצויה וכו', וכן מציגים כמה הודעות יש בנושא ומה מספר ההודעה שאתם קוראים כרגע.&lt;br /&gt;
*{{הדגשת צבע|#07C|התראות}} - לחיצה על הסמל תפתח את חלון ההתראות, שבו תוכלו לראות כל פעם שמישהו יזכיר את שם המשתמש שלכם בצורה הנכונה (ראה [[פורום נטפרי#הזכרה של משתמש אחר|לעיל]]), או בכל פעם שתקבלו מוניטין ממישהו.&lt;br /&gt;
&lt;br /&gt;
:גם במצב שאתם עוקבים אחרי נושא מסוים, בכל פעם שנכתבה תגובה, סמל ההתראות יסמן על כך.&lt;br /&gt;
:כמו&amp;quot;כ פוסט חדש שהועלה על ידי משתמש שהינכם עוקבים אחריו, סמל ההתראה יסמן על כך.&lt;br /&gt;
:כמו ב&amp;quot;לא נקרא&amp;quot;, גם כאן יש מספר שמציג את כמות ההתראות שעדיין לא צפיתם בהם. המספר הזה גם יופיע בראש הכרטיסייה של הפורום בדפדפן.&lt;br /&gt;
:באם ישנה התראה שאינכם מעונינים לקרוא אותה, ומאידך הינכם מעונינים שתופסק התראה על כך, תוכלו ללחוץ על העיגול שבצד ההתראה, לחיצה זו תגרום לכך שההתראה כאילו נקראה, וסימונה יופסק.&lt;br /&gt;
&lt;br /&gt;
*{{הדגשת צבע|#07C|תמונת פרופיל}} - לחיצה עליה תפתח רשימה של אפשרויות, ביניהן מצב הסתרה וכו', הגדרות ועריכת הפרופיל (ראה [[פורום נטפרי#שינוי והגדרות פרופיל|לעיל]]).&lt;br /&gt;
&lt;br /&gt;
:כל משתמש מקבל באופן אוטומטי תמונה שמייצגת אותו ותופיע לצד כל הודעה שיכתוב. כמובן ניתן להחליף את התמונה בכל תמונה שתרצו, בתנאי שתהיה בקובץ PNG/JPG/BMP ומשקלה לא יעלה על 256 קילו-בייט.&lt;br /&gt;
&lt;br /&gt;
===חיפוש בפורום===&lt;br /&gt;
בחלונית החיפוש ניתן לחפש כל מילה.&amp;lt;br /&amp;gt;&lt;br /&gt;
אם אתם מחפשים 2 מילים ורוצים שהתוצאות יהיו רק על 2 מילים אלו בלבד ברצף, הכניסו גרשיים לפני ואחרי. לדוגמא: &amp;quot;תעודת אבטחה&amp;quot;. אחרת התוצאות יביאו לכם כל מה שמופיע בו תעודת / אבטחה בנפרד.&amp;lt;br /&amp;gt;&lt;br /&gt;
כנ&amp;quot;ל ניתן להכניס גרשיים לפני ואחרי על כל אחד מהמילים, והתוצאה תהיה רק המילים הללו גם אם הם לא ברצף.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;[https://forum.netfree.link/category/2/כללי לפורום של נטפרי בעברית]&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;[https://en.forum.netfree.link/category/2/general-discussions לפורום של נטפרי באנגלית]&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{{Bootstrap alert-danger|'''נכון להיום הפורום לא זמין.'''&amp;lt;br&amp;gt;&lt;br /&gt;
לע&amp;quot;ע אפשר להיעזר רק ב[[מערכת הפניות]].&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
	<entry>
		<id>https://wiki.netfree.link/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%A4%D7%95%D7%A8%D7%95%D7%9D&amp;diff=18189</id>
		<title>תבנית:פורום</title>
		<link rel="alternate" type="text/html" href="https://wiki.netfree.link/index.php?title=%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%A4%D7%95%D7%A8%D7%95%D7%9D&amp;diff=18189"/>
		<updated>2026-03-09T20:39:59Z</updated>

		<summary type="html">&lt;p&gt;😡: יצירת דף עם התוכן &amp;quot;&amp;lt;includeonly&amp;gt; {{#ifeq:{{{מצב|0}}}|1  | {{{1}}}  | {{{2}}} }} &amp;lt;/includeonly&amp;gt;  &amp;lt;noinclude&amp;gt; אז בגלל שמצב פעילת הפורום משתנה לעיתי...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#ifeq:{{{מצב|0}}}|1&lt;br /&gt;
 | {{{1}}}&lt;br /&gt;
 | {{{2}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
אז בגלל שמצב פעילת הפורום משתנה לעיתים תכופות, לכן אפשר להשתמש עם התבנית הזה בכדי להציג או להסתיר מידע שתלוי בפעילת הפורום.&amp;lt;br&amp;gt;&lt;br /&gt;
כדי להשתמש בתבנית זה כותבים כזה:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{פורום|מידע שיוצג בזמן שהפורום פעיל|מידע שיוצג בזמן שהפורום לא פעיל}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
כמובן שהפרמטר השני אופציונלי.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>😡</name></author>
	</entry>
</feed>