<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="he">
	<id>https://chabadpedia.co.il/index.php?action=history&amp;feed=atom&amp;title=%D7%99%D7%97%D7%99%D7%93%D7%94%3A%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2</id>
	<title>יחידה:תבנית מידע - היסטוריית גרסאות</title>
	<link rel="self" type="application/atom+xml" href="https://chabadpedia.co.il/index.php?action=history&amp;feed=atom&amp;title=%D7%99%D7%97%D7%99%D7%93%D7%94%3A%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2"/>
	<link rel="alternate" type="text/html" href="https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2&amp;action=history"/>
	<updated>2026-04-11T07:47:39Z</updated>
	<subtitle>היסטוריית הגרסאות של הדף הזה בוויקי</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2&amp;diff=774406&amp;oldid=prev</id>
		<title>מ. רובין ב־13:33, 10 ביוני 2025</title>
		<link rel="alternate" type="text/html" href="https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2&amp;diff=774406&amp;oldid=prev"/>
		<updated>2025-06-10T13:33:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2&amp;amp;diff=774406&amp;amp;oldid=471012&quot;&gt;הצגת שינויים&lt;/a&gt;</summary>
		<author><name>מ. רובין</name></author>
	</entry>
	<entry>
		<id>https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2&amp;diff=471012&amp;oldid=prev</id>
		<title>חלוקת קונטרסים ב־14:50, 20 באפריל 2021</title>
		<link rel="alternate" type="text/html" href="https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2&amp;diff=471012&amp;oldid=prev"/>
		<updated>2021-04-20T14:50:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;he&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;→ הגרסה הקודמת&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;גרסה מ־17:50, 20 באפריל 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l466&quot;&gt;שורה 466:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;שורה 466:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		if inWikidata then&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		if inWikidata then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			local defaultZoom = templateParams[&amp;#039;מפה-זום&amp;#039;]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			local defaultZoom = templateParams[&amp;#039;מפה-זום&amp;#039;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;			-- TODO: use entityid and dont ignore it&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			templateArg.data = frame:expandTemplate{ title = &amp;#039;מפה דינמית&amp;#039;, args = {  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			templateArg.data = frame:expandTemplate{ title = &amp;#039;מפה דינמית&amp;#039;, args = {  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;				[&amp;#039;יישור&amp;#039;] = &amp;#039;center&amp;#039;,  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;				[&amp;#039;יישור&amp;#039;] = &amp;#039;center&amp;#039;,  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;				[&#039;זום ברירת מחדל&#039;] = defaultZoom&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;				[&#039;זום ברירת מחדל&#039;] = defaultZoom&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;,&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;				[&#039;פריטים&#039;] = entityId&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			} }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			} }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>חלוקת קונטרסים</name></author>
	</entry>
	<entry>
		<id>https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2&amp;diff=464848&amp;oldid=prev</id>
		<title>חלוקת קונטרסים: מויקיפדיה: https://he.wikipedia.org/wiki/%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2</title>
		<link rel="alternate" type="text/html" href="https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2&amp;diff=464848&amp;oldid=prev"/>
		<updated>2021-03-10T16:35:02Z</updated>

		<summary type="html">&lt;p&gt;מויקיפדיה: https://he.wikipedia.org/wiki/%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%9E%D7%99%D7%93%D7%A2&lt;/p&gt;
&lt;p&gt;&lt;b&gt;דף חדש&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local propertyLink = require(&amp;#039;Module:PropertyLink&amp;#039;)&lt;br /&gt;
local WikidataCrossValidation = require(&amp;#039;Module:WikidataCrossValidation&amp;#039;)&lt;br /&gt;
local Infobox = {}&lt;br /&gt;
function Infobox:new()&lt;br /&gt;
	local o = {&lt;br /&gt;
		args={},&lt;br /&gt;
		templateStructure={},&lt;br /&gt;
		isSelfUse=false,&lt;br /&gt;
		autoDocumentation=false,&lt;br /&gt;
		wikidataCats= {},&lt;br /&gt;
		root = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
	}&lt;br /&gt;
	setmetatable(o, self)&lt;br /&gt;
	self.__index = self&lt;br /&gt;
	&lt;br /&gt;
	return o&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Infobox:render()&lt;br /&gt;
	if self.isSelfUse then&lt;br /&gt;
		local templateDocumentation=&amp;#039;&amp;#039;&lt;br /&gt;
		for k,v in pairs(self.templateParams) do&lt;br /&gt;
			if mw.ustring.match( k, &amp;#039;-ויקינתונים&amp;#039;) then&lt;br /&gt;
				templateDocumentation = templateDocumentation .. &amp;#039;[[קטגוריה:תבניות שמשתמשות בוויקינתונים]]&amp;#039;&lt;br /&gt;
				break&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if self.autoDocumentation then&lt;br /&gt;
			templateDocumentation = templateDocumentation .. self:_generateDocumentation()			&lt;br /&gt;
		end&lt;br /&gt;
		return self:renderInfobox() .. templateDocumentation&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return self:renderInfobox() .. table.concat(self.wikidataCats, &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
--[[&lt;br /&gt;
Generate auto documentation for template.&lt;br /&gt;
]]&lt;br /&gt;
function Infobox:_generateDocumentation() &lt;br /&gt;
	local labelDataPrefix = &amp;#039;תווית-מידע&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	local parameters = {}&lt;br /&gt;
	for k,v in pairs(self.templateParams) do&lt;br /&gt;
		if mw.ustring.match( tostring(k),&amp;#039;תווית%-מידע%d&amp;#039; )  then&lt;br /&gt;
			table.insert(parameters, &amp;#039;&amp;quot;&amp;#039;..string.gsub(v, &amp;#039;&amp;quot;&amp;#039;, &amp;#039;\\&amp;quot;&amp;#039;)..&amp;#039;&amp;quot;:&amp;#039;..&amp;#039;{ &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;}&amp;#039;)&lt;br /&gt;
		else&lt;br /&gt;
			for mm in mw.ustring.gmatch( tostring(v),&amp;#039;%{%{%{(.-)[%}|]&amp;#039;) do&lt;br /&gt;
				table.insert(parameters, &amp;#039;&amp;quot;&amp;#039;..string.gsub(mm, &amp;#039;&amp;quot;&amp;#039;, &amp;#039;\\&amp;quot;&amp;#039;)..&amp;#039;&amp;quot;:&amp;#039;..&amp;#039;{ &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;}&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	local templateDoc = &amp;#039;{ &amp;quot;params&amp;quot;: { &amp;#039;..table.concat(parameters,&amp;#039;\n,&amp;#039;)..&amp;#039;}}&amp;#039;&lt;br /&gt;
	return frame:extensionTag( &amp;#039;templatedata&amp;#039;, templateDoc )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Renders the infobox title&lt;br /&gt;
]]&lt;br /&gt;
function Infobox:renderTitle()&lt;br /&gt;
	-- renders the title&lt;br /&gt;
	local  titleCaption = self.root&lt;br /&gt;
        :tag(&amp;#039;caption&amp;#039;)&lt;br /&gt;
        	:attr(&amp;#039;dir&amp;#039;, &amp;#039;auto&amp;#039;)&lt;br /&gt;
            :addClass(self.args.titleclass)&lt;br /&gt;
            :cssText(self.args.titlestyle)&lt;br /&gt;
            :wikitext(self.args.title)&lt;br /&gt;
&lt;br /&gt;
	if self.args.subtitle and  self.args.subtitle~=nil and #(self.args.subtitle)&amp;gt;0 then&lt;br /&gt;
		local row = self.root:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
				:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
				:css(&amp;#039;text-align&amp;#039;,&amp;#039;center&amp;#039;)&lt;br /&gt;
				:cssText(self.args.subtitlestyle)&lt;br /&gt;
				:addClass(self.args.subtitleclass)&lt;br /&gt;
				:wikitext(self.args.subtitle)&lt;br /&gt;
	end&lt;br /&gt;
	return self.titleCaption&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Renders the right/left images (possibly 1/2/none of them available) and the main image&lt;br /&gt;
]]&lt;br /&gt;
function Infobox:renderImages()&lt;br /&gt;
	-- render right an left images &lt;br /&gt;
	self.args.rightImage = self.args.rightImage~=nil and #(self.args.rightImage)&amp;gt;0 and self.args.rightImage&lt;br /&gt;
	self.args.leftImage = self.args.leftImage~=nil and #(self.args.leftImage)&amp;gt;0 and self.args.leftImage&lt;br /&gt;
	&lt;br /&gt;
	if self.args.rightImage or self.args.leftImage then&lt;br /&gt;
		if self.args.rightImage and self.args.rightImageDesc~=nil and #(self.args.rightImageDesc)&amp;gt;0 then&lt;br /&gt;
			self.args.rightImage = self.args.rightImage..&amp;#039;&amp;lt;div&amp;gt;&amp;#039; .. self.args.rightImageDesc .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if self.args.leftImage and self.args.leftImageDesc~=nil and #(self.args.leftImageDesc)&amp;gt;0 then&lt;br /&gt;
			self.args.leftImage = self.args.leftImage .. &amp;#039;&amp;lt;div&amp;gt;&amp;#039; .. self.args.leftImageDesc .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		local row = self.root:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
						:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
						:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
						:css(&amp;#039;text-align&amp;#039;,&amp;#039;center&amp;#039;)&lt;br /&gt;
		if self.args.rightImage and self.args.leftImage then&lt;br /&gt;
			row:tag(&amp;#039;table&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;width&amp;#039;,&amp;#039;100%&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;display&amp;#039;,&amp;#039;table&amp;#039;)&lt;br /&gt;
				:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
					:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
						:css(&amp;#039;width&amp;#039;,&amp;#039;50%&amp;#039;)&lt;br /&gt;
						:css(&amp;#039;vertical-align&amp;#039;,&amp;#039;middle&amp;#039;)&lt;br /&gt;
						:css(&amp;#039;text-align&amp;#039;,&amp;#039;center&amp;#039;)&lt;br /&gt;
						:wikitext(self.args.rightImage)&lt;br /&gt;
					:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
						:css(&amp;#039;width&amp;#039;,&amp;#039;50%&amp;#039;)&lt;br /&gt;
						:css(&amp;#039;vertical-align&amp;#039;,&amp;#039;middle&amp;#039;)&lt;br /&gt;
						:css(&amp;#039;text-align&amp;#039;,&amp;#039;center&amp;#039;)&lt;br /&gt;
						:wikitext(self.args.leftImage)&lt;br /&gt;
					:done()&lt;br /&gt;
		else&lt;br /&gt;
			row:wikitext(self.args.leftImage or self.args.rightImage)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- render the main image&lt;br /&gt;
	if self.args.image then&lt;br /&gt;
		self.root:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;,&amp;#039;center&amp;#039;)&lt;br /&gt;
			:wikitext(self.args.image)&lt;br /&gt;
		if self.args.imageDesc and #self.args.imageDesc&amp;gt;0 then&lt;br /&gt;
			self.root:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
			:addClass(&amp;#039;thumbcaption&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;borderless&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;,&amp;#039;center&amp;#039;)&lt;br /&gt;
			:wikitext(self.args.imageDesc)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Adds edit links for easier editing of the template. If the template use data from wikidata it also adds edit link in Wikidata&lt;br /&gt;
]]&lt;br /&gt;
function Infobox:renderEditLinks()&lt;br /&gt;
	local wbEdit=&amp;#039;&amp;#039; -- link to wikidata&lt;br /&gt;
	if self.args.usingWikidata then&lt;br /&gt;
		wbEdit = &amp;#039;[[File:Wikidata-logo S.svg|22px|link=d:&amp;#039;..self.args.entityId..&amp;#039;|לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית]]&amp;#039;&lt;br /&gt;
		wbEdit = wbEdit .. mw.ustring.format(&amp;#039; [[File:OOjs UI icon info big.svg|16px|link=%s]]&amp;#039;, &amp;#039;עזרה:תבנית מידע&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if #wbEdit &amp;gt; 0 then&lt;br /&gt;
		self.root:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;,&amp;#039;left&amp;#039;)&lt;br /&gt;
			:wikitext(wbEdit)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Adds a styled row to the table&lt;br /&gt;
]]&lt;br /&gt;
function Infobox:addRow(rowArgs)&lt;br /&gt;
    -- Adds a row to the infobox, with either a header cell&lt;br /&gt;
    -- or a label/data cell combination.&lt;br /&gt;
    if rowArgs.header then&lt;br /&gt;
        self.root&lt;br /&gt;
            :tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
                :addClass(rowArgs.rowclass)&lt;br /&gt;
                :cssText(self.args.rowsstyle)&lt;br /&gt;
                :cssText(rowArgs.rowstyle)&lt;br /&gt;
                :attr(&amp;#039;id&amp;#039;, rowArgs.rowid)&lt;br /&gt;
                :tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
                    :attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
                    :attr(&amp;#039;id&amp;#039;, rowArgs.headerid)&lt;br /&gt;
                    :addClass(rowArgs.class)&lt;br /&gt;
                    :addClass(self.args.headerclass)&lt;br /&gt;
                    :css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
                    :cssText(self.args.headerstyle)&lt;br /&gt;
                    :cssText(rowArgs.headerstyle)&lt;br /&gt;
                    :newline()&lt;br /&gt;
                    :wikitext(rowArgs.data)&lt;br /&gt;
    elseif rowArgs.data and #(rowArgs.data) &amp;gt; 0 then&lt;br /&gt;
        local row = self.root:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
        row:addClass(rowArgs.rowclass)&lt;br /&gt;
           :cssText(self.args.rowsstyle)&lt;br /&gt;
           :cssText(rowArgs.rowstyle)&lt;br /&gt;
           :attr(&amp;#039;id&amp;#039;, rowArgs.rowid)&lt;br /&gt;
        if rowArgs.label then&lt;br /&gt;
            row&lt;br /&gt;
                :tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
                    :attr(&amp;#039;scope&amp;#039;, &amp;#039;row&amp;#039;)&lt;br /&gt;
                    :attr(&amp;#039;id&amp;#039;, rowArgs.labelid)&lt;br /&gt;
                    :cssText(self.args.labelstyle)&lt;br /&gt;
                    :cssText(rowArgs.labelstyle)&lt;br /&gt;
                    :newline()&lt;br /&gt;
                    :wikitext(rowArgs.label)&lt;br /&gt;
                    :done()&lt;br /&gt;
        end&lt;br /&gt;
 &lt;br /&gt;
        local dataCell = row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
        if not rowArgs.label then &lt;br /&gt;
            dataCell&lt;br /&gt;
                :attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
            if not rowArgs.datastyle then &lt;br /&gt;
                dataCell:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;) &lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        dataCell&lt;br /&gt;
            :attr(&amp;#039;id&amp;#039;, rowArgs.dataid)&lt;br /&gt;
            :addClass(rowArgs.class)&lt;br /&gt;
            :cssText(self.args.datastyle)&lt;br /&gt;
            :cssText(rowArgs.datastyle)&lt;br /&gt;
            :newline()&lt;br /&gt;
            :wikitext(rowArgs.data)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 --[[ &lt;br /&gt;
This function removes redundent keys from templateStructure: nil entries and header entries with no data&lt;br /&gt;
]]&lt;br /&gt;
function Infobox:removeEmptyHeaders()&lt;br /&gt;
 	local lastHeaderIndex=nil&lt;br /&gt;
 	local removeFirstHeader = (not self.args.image or #self.args.image==0) -- remove the first header if there is no image&lt;br /&gt;
	&lt;br /&gt;
 	local tempTemplateStructure = {}&lt;br /&gt;
 	for i,v in pairs(self.templateStructure) do&lt;br /&gt;
  		if v~=nil then&lt;br /&gt;
 			if v.header then&lt;br /&gt;
 				lastHeaderIndex = i&lt;br /&gt;
 			else&lt;br /&gt;
 				if lastHeaderIndex then&lt;br /&gt;
 					if not removeFirstHeader then&lt;br /&gt;
 						table.insert(tempTemplateStructure, self.templateStructure[lastHeaderIndex])&lt;br /&gt;
 					end&lt;br /&gt;
 					lastHeaderIndex = nil&lt;br /&gt;
 				end&lt;br /&gt;
 				removeFirstHeader = false&lt;br /&gt;
 				table.insert(tempTemplateStructure, v)&lt;br /&gt;
 			end&lt;br /&gt;
 		end&lt;br /&gt;
 	end&lt;br /&gt;
 	self.templateStructure=tempTemplateStructure&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
This function builds the infobox table using structure templateStructure and args&lt;br /&gt;
]]&lt;br /&gt;
function Infobox:renderInfobox()&lt;br /&gt;
	self:removeEmptyHeaders()&lt;br /&gt;
	-- error if there is no data/structure given to template from wiki page or wikidata&lt;br /&gt;
	if ((#self.templateStructure)==0) and not self.args.subtemplate then&lt;br /&gt;
		local templateTitle = mw.getCurrentFrame():getParent():getTitle()&lt;br /&gt;
		errors = {}&lt;br /&gt;
		&lt;br /&gt;
		local templateName = mw.ustring.gsub(templateTitle, &amp;#039;תבנית:&amp;#039;, &amp;#039;&amp;#039;, 1)&lt;br /&gt;
		if mw.title.getCurrentTitle().namespace==0 then&lt;br /&gt;
			table.insert(errors, &amp;#039;[[קטגוריה:שגיאות פרמטריות בתבנית &amp;#039;..templateName..&amp;#039;]]&amp;#039;)&lt;br /&gt;
			table.insert(errors, &amp;#039;[[קטגוריה:שגיאות פרמטריות בתבנית מידע]]&amp;#039;)&lt;br /&gt;
			table.insert(errors, &amp;#039;[[קטגוריה:שגיאות פרמטריות]]&amp;#039; )&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(errors, &amp;#039;[[קטגוריה:שגיאות פרמטריות מחוץ למרחב הערכים]]&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		local report = &amp;#039;תבנית {{&amp;#039; .. templateName .. &amp;#039;}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים. &amp;#039; .. table.concat(errors, &amp;#039;&amp;#039;)&lt;br /&gt;
		local ParamValidator = require(&amp;#039;Module:ParamValidator&amp;#039;)&lt;br /&gt;
		return ParamValidator.wrapReport(report, templateName, {})&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- sub infobox&lt;br /&gt;
	if self.args.subtemplate then&lt;br /&gt;
		self.root:cssText(self.args.tablestyle):css(&amp;#039;width&amp;#039;, &amp;#039;100%&amp;#039;):css(&amp;#039;line-height&amp;#039;, &amp;#039;1.4em&amp;#039;)&lt;br /&gt;
	else&lt;br /&gt;
		self.root:addClass(&amp;#039;infobox&amp;#039;):cssText(self.args.tablestyle)&lt;br /&gt;
	end&lt;br /&gt;
	if self.args.tableclass then&lt;br /&gt;
		self.root:addClass(self.args.tableclass)&lt;br /&gt;
	end&lt;br /&gt;
	if self.args.title ~=&amp;#039;-&amp;#039; then&lt;br /&gt;
		self:renderTitle()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not self.args.subtemplate then&lt;br /&gt;
		self:renderImages()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local infobox_rows={}&lt;br /&gt;
	for k,v in pairs(self.templateStructure) do&lt;br /&gt;
		self:addRow(v)&lt;br /&gt;
	end&lt;br /&gt;
	if self.args.title ~= &amp;#039;-&amp;#039; then&lt;br /&gt;
		self:renderEditLinks()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return tostring(self.root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
This function adds image using valueArg, or if not specified by the user tries to get image from wikidata using property&lt;br /&gt;
]]&lt;br /&gt;
function getValueOrWikidataImage(args)&lt;br /&gt;
	valueArg = args.valueArg&lt;br /&gt;
	if valueArg and #valueArg&amp;gt;0 then &lt;br /&gt;
		if valueArg == &amp;#039;-&amp;#039; then&lt;br /&gt;
			return nil&lt;br /&gt;
		else&lt;br /&gt;
			if not mw.ustring.match(valueArg, &amp;#039;^ *%[%[&amp;#039;) and&lt;br /&gt;
			not mw.ustring.match(valueArg, &amp;#039;^ *%[%[&amp;#039;) and &lt;br /&gt;
			   not  mw.ustring.match(valueArg, &amp;#039;^ *&amp;lt;&amp;#039;) then&lt;br /&gt;
			   	local imgSuffix = &amp;#039;|&amp;#039;..args.width .. &amp;#039;px&amp;#039;&lt;br /&gt;
			   	if args.imgDesc~=nil and #args.imgDesc&amp;gt;0 then&lt;br /&gt;
			   		imgSuffix = imgSuffix .. &amp;#039;|&amp;#039; .. args.imgDesc&lt;br /&gt;
			   	end&lt;br /&gt;
			   	imgSuffix = imgSuffix .. &amp;#039;]]&amp;#039;&lt;br /&gt;
				if mw.ustring.match(valueArg, &amp;#039;^[Ff]ile:&amp;#039;) or &lt;br /&gt;
				mw.ustring.match(valueArg, &amp;#039;^[Ii]mage:&amp;#039;) or&lt;br /&gt;
				mw.ustring.match(valueArg, &amp;#039;^קובץ:&amp;#039;) or&lt;br /&gt;
				mw.ustring.match(valueArg, &amp;#039;^תמונה:&amp;#039;) then&lt;br /&gt;
					valueArg = &amp;#039;[[&amp;#039; .. valueArg .. imgSuffix&lt;br /&gt;
				else&lt;br /&gt;
					valueArg = &amp;#039;[[File:&amp;#039; .. valueArg .. imgSuffix&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			return valueArg&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if args.wikidataArg and args.args.entityId~=nil then &lt;br /&gt;
		args.args.usingWikidata = true&lt;br /&gt;
		return propertyLink.getImageLink(args.wikidataArg, args.width, nil, nil,nil, args.args.entityId)&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Split category links from value, return tuple of whether data exists and maitainance cats in case no data exists&lt;br /&gt;
]]&lt;br /&gt;
function splitMaintainceCategory(value)&lt;br /&gt;
	local maintainceCats = nil&lt;br /&gt;
	local hasData =  #(mw.ustring.gsub(value, &amp;#039;%[%[קטגוריה:.-%]%]&amp;#039;, &amp;#039;&amp;#039;))&amp;gt;0&lt;br /&gt;
	if not hasData then&lt;br /&gt;
		maintainceCats = value&lt;br /&gt;
	end&lt;br /&gt;
	return hasData, maintainceCats&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getPropertyByOptions( propertyName, entityId, options )&lt;br /&gt;
	if propertyName == nil or #propertyName == 0 then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local res = propertyLink.getPropertyByOptions(propertyName, entityId, options)&lt;br /&gt;
	if (res==nil) or (#res == 0) then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hasData, maintainceCats = splitMaintainceCategory(res)&lt;br /&gt;
	&lt;br /&gt;
	if hasData then&lt;br /&gt;
		local link = mw.title.makeTitle( 0, entityId, propertyName, &amp;#039;wikidata&amp;#039; ):fullUrl(&amp;#039;uselang=he&amp;#039;)&lt;br /&gt;
		res = res .. mw.ustring.format(&amp;#039; [[File:Blue pencil RTL.svg|15px|link=%s|עריכת הנתון בוויקינתונים]]&amp;#039;, link)&lt;br /&gt;
	end&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Filters statements to statements with existing links only&lt;br /&gt;
]]&lt;br /&gt;
function filterExists( propertyVals )&lt;br /&gt;
	local tempVals = {}&lt;br /&gt;
    for i, property in ipairs(propertyVals) do&lt;br /&gt;
    	local propValue = property.mainsnak and property.mainsnak.datavalue&lt;br /&gt;
    	if propValue and propValue.value then&lt;br /&gt;
	    	local linkTarget = mw.wikibase.sitelink( propValue.value[&amp;#039;id&amp;#039;] )&lt;br /&gt;
			if linkTarget then&lt;br /&gt;
				table.insert(tempVals, property)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return tempVals&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
This function fills missing parameter using wikidata&lt;br /&gt;
]]&lt;br /&gt;
function fillMissingParamFromWikidata(missingParam, templateParams, templateArg, entityId, frame)&lt;br /&gt;
	local inWikidata = false&lt;br /&gt;
	local hasData=false&lt;br /&gt;
	local maintainceCats = nil&lt;br /&gt;
	local includeWikidataRef = frame and frame:getParent()&lt;br /&gt;
	if entityId == nil then return inWikidata, maintainceCats end -- early terminate&lt;br /&gt;
	includeWikidataRef = includeWikidataRef and includeWikidataRef.args and includeWikidataRef.args[&amp;#039;ויקינתונים-מקורות&amp;#039;] == &amp;#039;כן&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	local wikidataOptions = {&lt;br /&gt;
		[&amp;#039;entity-gender-aware&amp;#039;] =  templateParams[missingParam..&amp;#039;-ויקינתונים-מגדר&amp;#039;] == &amp;#039;כן&amp;#039;,&lt;br /&gt;
		[&amp;#039;source&amp;#039;] = includeWikidataRef&lt;br /&gt;
	}&lt;br /&gt;
	if templateParams[missingParam..&amp;#039;-ויקינתונים-סינון&amp;#039;] == &amp;#039;קיים&amp;#039; then&lt;br /&gt;
		wikidataOptions[&amp;#039;filter&amp;#039;] = filterExists&lt;br /&gt;
	elseif templateParams[missingParam..&amp;#039;-ויקינתונים-סינון&amp;#039;] and mw.ustring.match(templateParams[missingParam..&amp;#039;-ויקינתונים-סינון&amp;#039;], &amp;#039;filter[a-zA-Z]+&amp;#039;) then&lt;br /&gt;
		local moduleTitle = mw.ustring.match( frame:getParent():getTitle(), &amp;#039;תבנית:(.+)&amp;#039; )&lt;br /&gt;
		moduleTitle = mw.ustring.format(&amp;#039;יחידה:%s&amp;#039;, moduleTitle)&lt;br /&gt;
		local filterFunc = mw.ustring.match(templateParams[missingParam..&amp;#039;-ויקינתונים-סינון&amp;#039;],&amp;#039;filter[a-zA-Z]+&amp;#039;)&lt;br /&gt;
		wikidataOptions[&amp;#039;filter&amp;#039;] = require(moduleTitle)[filterFunc]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if templateParams[missingParam..&amp;#039;-ויקינתונים-פרטים&amp;#039;]~=nil then&lt;br /&gt;
		wikidataOptions[&amp;#039;qualifiers&amp;#039;] = {}&lt;br /&gt;
		wikidataOptions[&amp;#039;qualifiers-sep&amp;#039;] = templateParams[missingParam..&amp;#039;-ויקינתונים-פרטים-הפרדה&amp;#039;] or nil&lt;br /&gt;
		for v in string.gmatch(templateParams[missingParam..&amp;#039;-ויקינתונים-פרטים&amp;#039;], &amp;quot;[^,%s]+&amp;quot;) do&lt;br /&gt;
    		table.insert(wikidataOptions[&amp;#039;qualifiers&amp;#039;], v)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if templateParams[missingParam..&amp;#039;-ויקינתונים-תמונה-גודל&amp;#039;]~=nil then&lt;br /&gt;
		wikidataOptions[&amp;#039;img-width&amp;#039;] = templateParams[missingParam..&amp;#039;-ויקינתונים-תמונה-גודל&amp;#039;]&lt;br /&gt;
	end&lt;br /&gt;
	if templateParams[missingParam..&amp;#039;-ויקינתונים&amp;#039;] then&lt;br /&gt;
		if templateParams[missingParam..&amp;#039;-ויקינתונים-יחידה&amp;#039;] then&lt;br /&gt;
			templateArg.data = require(&amp;#039;Module:Convert&amp;#039;).convert(mw.getCurrentFrame():newChild{ args = {&lt;br /&gt;
				[&amp;#039;input&amp;#039;] = templateParams[missingParam..&amp;#039;-ויקינתונים&amp;#039;],&lt;br /&gt;
				[2] = templateParams[missingParam..&amp;#039;-ויקינתונים-יחידה&amp;#039;],&lt;br /&gt;
				[&amp;#039;disp&amp;#039;] = &amp;#039;out&amp;#039;,&lt;br /&gt;
				[&amp;#039;qid&amp;#039;] = entityId,&lt;br /&gt;
				[&amp;#039;abbr&amp;#039;]=&amp;#039;off&amp;#039;&lt;br /&gt;
			} }:newChild{})&lt;br /&gt;
		else&lt;br /&gt;
			templateArg.data = getPropertyByOptions(templateParams[missingParam..&amp;#039;-ויקינתונים&amp;#039;], entityId,  wikidataOptions) or nil&lt;br /&gt;
		end&lt;br /&gt;
		inWikidata = templateArg.data and #(templateArg.data)&amp;gt;0&lt;br /&gt;
	elseif templateParams[missingParam..&amp;#039;-ויקינתונים-מרובה&amp;#039;] then&lt;br /&gt;
		wikidataOptions[&amp;#039;allowMulti&amp;#039;] = true&lt;br /&gt;
		wikidataOptions[&amp;#039;seperator&amp;#039;] = templateParams[missingParam..&amp;#039;-ויקינתונים-מרובה-הפרדה&amp;#039;]&lt;br /&gt;
		paramsData = {}&lt;br /&gt;
		-- split multiple params to include all of them (e.g: &amp;quot;P1,P2&amp;quot;)&lt;br /&gt;
		for paramToFetch in string.gmatch(templateParams[missingParam..&amp;#039;-ויקינתונים-מרובה&amp;#039;], &amp;#039;([^,]+)&amp;#039;) do&lt;br /&gt;
			-- split optional params to include ONLY the first one of them (e.g: &amp;quot;P1/P2&amp;quot;)&lt;br /&gt;
			for optionalParam in string.gmatch(paramToFetch, &amp;#039;([^/]+)&amp;#039;) do&lt;br /&gt;
				if (string.sub(optionalParam, 1, 1) == &amp;#039;P&amp;#039; or string.sub(optionalParam, 1, 1) == &amp;#039;Q&amp;#039;) then&lt;br /&gt;
					if getPropertyByOptions(optionalParam, entityId,  wikidataOptions) then&lt;br /&gt;
						table.insert(paramsData, getPropertyByOptions(optionalParam, entityId,  wikidataOptions) or nil)&lt;br /&gt;
						-- found one of the optionals - stop the loop&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					-- one of the optionals is static data - take it and stop the loop&lt;br /&gt;
					table.insert(paramsData, optionalParam)&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		templateArg.data = table.concat(paramsData, wikidataOptions[&amp;#039;seperator&amp;#039;])&lt;br /&gt;
		inWikidata = templateArg.data and #(templateArg.data)&amp;gt;0&lt;br /&gt;
	elseif templateParams[missingParam..&amp;#039;-ויקינתונים-פשוט&amp;#039;] then&lt;br /&gt;
		-- use data should be taken from wikidata and link must not be added&lt;br /&gt;
		local wikidataParamValue = propertyLink.getLabel(templateParams[missingParam..&amp;#039;-ויקינתונים-פשוט&amp;#039;], entityId)&lt;br /&gt;
		if wikidataParamValue and #wikidataParamValue&amp;gt;0 then&lt;br /&gt;
			templateArg.data = frame:preprocess(mw.ustring.gsub(templateArg.data, &amp;#039;\{\{\{(&amp;#039;..missingParam..&amp;#039;)\}\}\}&amp;#039;, wikidataParamValue))&lt;br /&gt;
			inWikidata = true&lt;br /&gt;
		end&lt;br /&gt;
	-- special cases&lt;br /&gt;
	elseif missingParam == &amp;#039;קואורדינטות&amp;#039; then&lt;br /&gt;
		&lt;br /&gt;
		templateArg.data = propertyLink.getPropertyByOptions(&amp;#039;P625&amp;#039;, entityId, {[&amp;#039;coord-display&amp;#039;] = templateParams[&amp;#039;קואורדינטות-תצוגה&amp;#039;] or &amp;#039;title,inline&amp;#039; })&lt;br /&gt;
		inWikidata = templateArg.data and #(templateArg.data)&amp;gt;0&lt;br /&gt;
	elseif  missingParam == &amp;#039;מפה&amp;#039; and templateParams[&amp;#039;מפה-זום&amp;#039;] then&lt;br /&gt;
		inWikidata = (#mw.wikibase.getBestStatements(entityId, &amp;#039;P625&amp;#039;))&amp;gt;0&lt;br /&gt;
		if inWikidata then&lt;br /&gt;
			local defaultZoom = templateParams[&amp;#039;מפה-זום&amp;#039;]&lt;br /&gt;
			-- TODO: use entityid and dont ignore it&lt;br /&gt;
			templateArg.data = frame:expandTemplate{ title = &amp;#039;מפה דינמית&amp;#039;, args = { &lt;br /&gt;
				[&amp;#039;יישור&amp;#039;] = &amp;#039;center&amp;#039;, &lt;br /&gt;
				[&amp;#039;זום ברירת מחדל&amp;#039;] = defaultZoom&lt;br /&gt;
			} }&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if inWikidata then&lt;br /&gt;
		hasData, maintainceCats = splitMaintainceCategory(templateArg.data)&lt;br /&gt;
		if not hasData then&lt;br /&gt;
			inWikidata = false&lt;br /&gt;
			maintainceCats = maintainceCats&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return inWikidata, maintainceCats&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
This function fills missing parameter using wikidata&lt;br /&gt;
]]&lt;br /&gt;
function crossValidateWikidata(missingParam, templateParams, templateArg, frame, entityId)&lt;br /&gt;
	local matching = nil&lt;br /&gt;
	local propertyName&lt;br /&gt;
&lt;br /&gt;
	if entityId == nil or missingParam==nil then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if templateParams[missingParam..&amp;#039;-ויקינתונים&amp;#039;] then&lt;br /&gt;
		propertyName = templateParams[missingParam..&amp;#039;-ויקינתונים&amp;#039;]&lt;br /&gt;
		matching = WikidataCrossValidation.crossValidate(templateArg, propertyName)&lt;br /&gt;
	elseif templateParams[missingParam..&amp;#039;-ויקינתונים-פשוט&amp;#039;] then&lt;br /&gt;
		propertyName = templateParams[missingParam..&amp;#039;-ויקינתונים-פשוט&amp;#039;]&lt;br /&gt;
		matching = WikidataCrossValidation.crossValidate(templateArg, propertyName)&lt;br /&gt;
	elseif templateParams[missingParam..&amp;#039;-ויקינתונים-מרובה&amp;#039;] then&lt;br /&gt;
		local genderAware = templateParams[missingParam..&amp;#039;-ויקינתונים-מגדר&amp;#039;] == &amp;#039;כן&amp;#039;&lt;br /&gt;
		propertyName =  templateParams[missingParam..&amp;#039;-ויקינתונים-מרובה&amp;#039;]&lt;br /&gt;
		matching = WikidataCrossValidation.crossValidate(templateArg, propertyName)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if matching then&lt;br /&gt;
		return WikidataCrossValidation.maintainceCategory(matching, propertyName)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
If template doesn&amp;#039;t specify title parameter, the default is name (fallback by title) + origin name (fallback by wikidata)&lt;br /&gt;
]]&lt;br /&gt;
function standardTitle(templateArgs, isSubTemplate, entityId)&lt;br /&gt;
	local name = templateArgs[&amp;#039;שם&amp;#039;]&lt;br /&gt;
	if name==&amp;#039;-&amp;#039; then return name end -- &lt;br /&gt;
	if isSubTemplate then return name or &amp;#039;&amp;#039; end&lt;br /&gt;
	&lt;br /&gt;
	if not name or #name==0 then --fallback to title&lt;br /&gt;
		name = mw.title.getCurrentTitle().text&lt;br /&gt;
    	name = mw.ustring.gsub(name, &amp;quot; *[(].*[)]&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local originName = templateArgs[&amp;#039;שם בשפת המקור&amp;#039;]&lt;br /&gt;
	if originName == &amp;#039;-&amp;#039; then &lt;br /&gt;
		originName = &amp;#039;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		-- use wikidata as fallback&lt;br /&gt;
		if (not originName or #originName==0) and entityId~=nil then &lt;br /&gt;
			local propertyVals = mw.wikibase.getBestStatements(entityId, &amp;#039;P1705&amp;#039;)&lt;br /&gt;
			if #propertyVals == 0 then propertyVals = mw.wikibase.getBestStatements(entityId, &amp;#039;P1476&amp;#039;) end&lt;br /&gt;
			if #propertyVals == 0 then propertyVals = mw.wikibase.getBestStatements(entityId, &amp;#039;P1559&amp;#039;) end&lt;br /&gt;
			if #propertyVals &amp;gt; 0 then&lt;br /&gt;
				local propValue = propertyVals[1].mainsnak and propertyVals[1].mainsnak.datavalue&lt;br /&gt;
				if  propValue and propValue.value and propValue.value.text and propValue.value.text~=name then&lt;br /&gt;
					originName = mw.ustring.format(&amp;#039;&amp;lt;span lang=&amp;quot;%s&amp;quot; title=&amp;quot;%s&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;#039;, propValue.value.language, &lt;br /&gt;
    											     mw.language.fetchLanguageName( propValue.value.language , &amp;#039;he&amp;#039;), propValue.value.text)&lt;br /&gt;
    			end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if originName and #originName and originName~=name then&lt;br /&gt;
			name = name..&amp;#039;&amp;lt;br&amp;gt;&amp;#039;..originName&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return name&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Infobox:parseArgs(frame)&lt;br /&gt;
	local DEFAULT_IMAGE_PROPERTY = &amp;#039;P18&amp;#039;&lt;br /&gt;
	local templateParams =  frame.args&lt;br /&gt;
	local templateArgs = frame:getParent().args&lt;br /&gt;
	local args={}&lt;br /&gt;
	local templateStructure = {}&lt;br /&gt;
	args.subtemplate = frame.args[&amp;#039;תת-תבנית&amp;#039;]&lt;br /&gt;
	args.entityId = templateArgs[&amp;#039;qid&amp;#039;] or templateParams[&amp;#039;qid&amp;#039;] or mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
	-- disable wikidata fetching&lt;br /&gt;
	if args.entityId == &amp;#039;&amp;#039; or args.entityId == &amp;#039;-&amp;#039; then args.entityId = nil	end&lt;br /&gt;
	args.title = frame.args[&amp;#039;כותרת תבנית&amp;#039;] or standardTitle(templateArgs, args.subtemplate, args.entityId)&lt;br /&gt;
	if args.title==&amp;#039;-&amp;#039; then args.subtemplate = true	end&lt;br /&gt;
	args.titlestyle = templateParams[&amp;#039;כותרת תבנית-עיצוב&amp;#039;]&lt;br /&gt;
	args.titleclass = templateParams[&amp;#039;כותרת תבנית-מחלקה&amp;#039;]&lt;br /&gt;
	args.subtitle = templateParams[&amp;#039;תת כותרת תבנית&amp;#039;]&lt;br /&gt;
	args.subtitlestyle = templateParams[&amp;#039;תת כותרת תבנית-עיצוב&amp;#039;]&lt;br /&gt;
	args.subtitleclass = templateParams[&amp;#039;תת כותרת תבנית-מחלקה&amp;#039;]&lt;br /&gt;
	args.rightImage = getValueOrWikidataImage{&lt;br /&gt;
		valueArg=templateParams[&amp;#039;תמונה ימין&amp;#039;],&lt;br /&gt;
		wikidataArg=templateParams[&amp;#039;תמונה ימין-ויקינתונים&amp;#039;], &lt;br /&gt;
		width=&amp;#039;100x80&amp;#039;, &lt;br /&gt;
		args=args&lt;br /&gt;
	}&lt;br /&gt;
	args.rightImageDesc = templateParams[&amp;#039;כיתוב ימין&amp;#039;]&lt;br /&gt;
	args.leftImage = getValueOrWikidataImage{&lt;br /&gt;
		valueArg=templateParams[&amp;#039;תמונה שמאל&amp;#039;],&lt;br /&gt;
		wikidataArg=templateParams[&amp;#039;תמונה שמאל-ויקינתונים&amp;#039;], &lt;br /&gt;
		width=&amp;#039;100x80&amp;#039;, &lt;br /&gt;
		args=args&lt;br /&gt;
	}&lt;br /&gt;
	args.leftImageDesc = templateParams[&amp;#039;כיתוב שמאל&amp;#039;]&lt;br /&gt;
	args.imageDesc = templateParams[&amp;#039;כיתוב&amp;#039;]&lt;br /&gt;
	args.image = getValueOrWikidataImage{&lt;br /&gt;
		valueArg=templateParams[&amp;#039;תמונה&amp;#039;],&lt;br /&gt;
		wikidataArg=templateParams[&amp;#039;תמונה-ויקינתונים&amp;#039;] or &amp;#039;P18&amp;#039;,&lt;br /&gt;
		width=templateParams[&amp;#039;תמונה-גודל&amp;#039;] or &amp;#039;220&amp;#039;,&lt;br /&gt;
		imgDesc=args.imageDesc,&lt;br /&gt;
		args=args&lt;br /&gt;
	}&lt;br /&gt;
	args.headerclass = templateParams[&amp;#039;כותרת-מחלקה&amp;#039;]&lt;br /&gt;
	args.headerstyle = templateParams[&amp;#039;כותרת-עיצוב&amp;#039;]&lt;br /&gt;
    args.rowsstyle = templateParams[&amp;#039;שורה-עיצוב&amp;#039;]&lt;br /&gt;
    args.labelstyle = templateParams[&amp;#039;תווית-עיצוב&amp;#039;]&lt;br /&gt;
    args.datastyle = templateParams[&amp;#039;מידע-עיצוב&amp;#039;]&lt;br /&gt;
	args.tablestyle = templateArgs[&amp;#039;טבלה-עיצוב&amp;#039;] or templateParams[&amp;#039;טבלה-עיצוב&amp;#039;]&lt;br /&gt;
	args.tableclass = templateArgs[&amp;#039;טבלה-מחלקה&amp;#039;] or templateParams[&amp;#039;טבלה-מחלקה&amp;#039;]&lt;br /&gt;
	local pageNs = mw.title.getCurrentTitle().namespace&lt;br /&gt;
	local isSelfUse = (pageNs==10)&lt;br /&gt;
	self.autoDocumentation = templateParams[&amp;#039;תיעוד-אוטומטי&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
	local labelPrefix = &amp;#039;תווית&amp;#039;&lt;br /&gt;
	local dataPrefix = &amp;#039;מידע&amp;#039;&lt;br /&gt;
	local subheader = &amp;#039;כותרת&amp;#039;&lt;br /&gt;
	local labelDataPrefix = &amp;#039;תווית-מידע&amp;#039;&lt;br /&gt;
	local rowStylePrefix = &amp;#039;עיצוב-שורה&amp;#039;&lt;br /&gt;
	local rowStyleClassPrefix = &amp;#039;מחלקה-שורה&amp;#039;&lt;br /&gt;
	local styleSuffix = &amp;#039;-עיצוב&amp;#039;&lt;br /&gt;
	local explicitWikidata = &amp;#039;-ויקינתונים-מפורש&amp;#039;&lt;br /&gt;
	local k=0&lt;br /&gt;
	local processedParams = {[&amp;#039;0&amp;#039;]=1} -- param0 may be used by Lua, not be template&lt;br /&gt;
	local wikidataCats = {}&lt;br /&gt;
	for k,v in pairs(templateParams) do&lt;br /&gt;
		local i= string.match(k, &amp;#039;.-([0-9]+)$&amp;#039;)&lt;br /&gt;
		if i and not (processedParams[i]) then&lt;br /&gt;
			indic = tonumber(i)&lt;br /&gt;
			processedParams[i]=1&lt;br /&gt;
			&lt;br /&gt;
			local subHeaderName = templateParams[subheader..i]&lt;br /&gt;
			if subHeaderName and #subHeaderName&amp;gt;0  then --subheader type&lt;br /&gt;
				table.insert(templateStructure, {header=1,data=subHeaderName,rowstyle=templateParams[rowStylePrefix..i], rowclass=templateParams[rowStyleClassPrefix..i], headerstyle=templateParams[subheader..i..styleSuffix], indic=indic})&lt;br /&gt;
			else&lt;br /&gt;
				local labelName = templateParams[labelPrefix..i]&lt;br /&gt;
				local dataTemplate = templateParams[dataPrefix..i]&lt;br /&gt;
				if dataTemplate then&lt;br /&gt;
					-- if parameter contains only category with no value, replace with with nil and add teh value to maintaince category&lt;br /&gt;
					local hasData, maintainceCats = splitMaintainceCategory(dataTemplate)&lt;br /&gt;
					if maintainceCats and not hasData then&lt;br /&gt;
						table.insert(wikidataCats, maintainceCats)&lt;br /&gt;
						dataTemplate=nil&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if labelName and dataTemplate then&lt;br /&gt;
					--label: data type&lt;br /&gt;
					table.insert(templateStructure, {label=labelName, data=dataTemplate, rowstyle=templateParams[rowStylePrefix..i], rowclass=templateParams[rowStyleClassPrefix..i], datastyle=templateParams[dataPrefix..i..styleSuffix], &lt;br /&gt;
						labelstyle=templateParams[labelPrefix..i..styleSuffix], indic=indic})&lt;br /&gt;
				elseif labelName and not dataTemplate then&lt;br /&gt;
					--skip it. no only label [use subheader]&lt;br /&gt;
				elseif not labelName and dataTemplate then&lt;br /&gt;
					--only data type&lt;br /&gt;
					table.insert(templateStructure, {data=dataTemplate, rowstyle=templateParams[rowStylePrefix..i], rowclass=templateParams[rowStyleClassPrefix..i], datastyle=templateParams[dataPrefix..i..styleSuffix], indic=indic})&lt;br /&gt;
				else&lt;br /&gt;
					 local label_data_names = templateParams[labelDataPrefix..i]&lt;br /&gt;
					 if label_data_names then&lt;br /&gt;
					 	labelName = label_data_names&lt;br /&gt;
					 	label_data_names = mw.text.trim(label_data_names, &amp;#039;%[%]&amp;#039;)&lt;br /&gt;
						local hasContent = templateArgs[label_data_names] and #templateArgs[label_data_names]&amp;gt;0&lt;br /&gt;
						-- + and use explicit wikidata replace the content with such if available from wikidata&lt;br /&gt;
						local isExplicitWikidataParam = templateParams[label_data_names..explicitWikidata]&lt;br /&gt;
						local isExplicitWikidataEnabled = false &lt;br /&gt;
						if isExplicitWikidataParam then&lt;br /&gt;
							isExplicitWikidataEnabled = templateArgs[label_data_names]~=nil and mw.ustring.match(templateArgs[label_data_names], &amp;#039;^ *+$&amp;#039;)&lt;br /&gt;
						end&lt;br /&gt;
						local skipContent = false&lt;br /&gt;
					 	if hasContent and not isExplicitWikidataEnabled then&lt;br /&gt;
					 		dataTemplate = templateArgs[label_data_names]&lt;br /&gt;
				 		else&lt;br /&gt;
							if isExplicitWikidataParam and not isExplicitWikidataEnabled then&lt;br /&gt;
								skipContent = true&lt;br /&gt;
							end&lt;br /&gt;
				 			dataTemplate = &amp;#039;{{{&amp;#039; ..label_data_names.. &amp;#039;}}}&amp;#039;&lt;br /&gt;
				 			&lt;br /&gt;
					 	end&lt;br /&gt;
					 	if not skipContent then&lt;br /&gt;
					 		table.insert(templateStructure, {label=labelName, data=dataTemplate, rowstyle=templateParams[rowStylePrefix..i], rowclass=templateParams[rowStyleClassPrefix..i], datastyle=templateParams[dataPrefix..i..styleSuffix], &lt;br /&gt;
					 									 labelstyle=templateParams[labelPrefix..i..styleSuffix], indic=indic})&lt;br /&gt;
						end					 									 &lt;br /&gt;
				 	end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(templateStructure, function (x, y) return x.indic&amp;lt;y.indic end)&lt;br /&gt;
	&lt;br /&gt;
	-- use wikidata / remove unused parameters&lt;br /&gt;
	if not isSelfUse then&lt;br /&gt;
		local entriesToRemove = {}&lt;br /&gt;
		local crossValidatedFields = {}&lt;br /&gt;
		&lt;br /&gt;
		for k,v in pairs(templateStructure) do&lt;br /&gt;
			if v.data then&lt;br /&gt;
				-- remove parameters that were explicitly defined to be removed&lt;br /&gt;
				local ignoreParam = mw.ustring.match(v.data, &amp;#039;^%-$&amp;#039;)&lt;br /&gt;
				if ignoreParam then&lt;br /&gt;
					table.insert(entriesToRemove, 1, k)&lt;br /&gt;
				else&lt;br /&gt;
					-- otherwise if the template isn&amp;#039;t full - try to use wikidata to fill it&lt;br /&gt;
					local m = mw.ustring.match(v.data, &amp;#039;\{\{\{(.-)\}\}\}&amp;#039;)&lt;br /&gt;
					if m then&lt;br /&gt;
						m = mw.uri.decode( m ) -- some templates may add encoding and are preprocessed before&lt;br /&gt;
						local inWikidata, maintainceCats = fillMissingParamFromWikidata(m, templateParams, v, args.entityId, frame)&lt;br /&gt;
						if maintainceCats then&lt;br /&gt;
							table.insert(wikidataCats, maintainceCats)&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						if inWikidata then&lt;br /&gt;
							crossValidatedFields[m] = 1&lt;br /&gt;
							args.usingWikidata = true&lt;br /&gt;
						else&lt;br /&gt;
							-- if data isn&amp;#039;t available remove it&lt;br /&gt;
							table.insert(entriesToRemove, 1, k)&lt;br /&gt;
							-- no need to cross validate it&lt;br /&gt;
							crossValidatedFields[m] = 1&lt;br /&gt;
						end&lt;br /&gt;
				&lt;br /&gt;
					end					&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		for k,v in pairs(templateArgs) do&lt;br /&gt;
			if crossValidatedFields[k]==nil and v and #v&amp;gt;0 and pageNs==0 and k~= &amp;#039;תמונה&amp;#039; then&lt;br /&gt;
				local maintainceCats = crossValidateWikidata(k,templateParams, v, frame, args.entityId)&lt;br /&gt;
				if maintainceCats and #maintainceCats&amp;gt;0 then&lt;br /&gt;
					table.insert(wikidataCats, maintainceCats)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		for k,v in pairs(entriesToRemove) do table.remove(templateStructure, v) end&lt;br /&gt;
&lt;br /&gt;
		-- use wikidata in title&lt;br /&gt;
		if args.title then&lt;br /&gt;
			local m = mw.ustring.match(args.title, &amp;#039;\{\{\{(.-)\|?\}\}\}&amp;#039;) &lt;br /&gt;
			if m then&lt;br /&gt;
				local inWikidata = false&lt;br /&gt;
				if templateParams[m..&amp;#039;-ויקינתונים&amp;#039;] then&lt;br /&gt;
					local wikidataParamValue = getPropertyByOptions(templateParams[m..&amp;#039;-ויקינתונים&amp;#039;], args.entityId) or nil&lt;br /&gt;
					if wikidataParamValue then&lt;br /&gt;
						args.title = wikidataParamValue&lt;br /&gt;
					end&lt;br /&gt;
				elseif templateParams[m..&amp;#039;-ויקינתונים-פשוט&amp;#039;] then&lt;br /&gt;
					-- use data should be taken from wikidata and link must not be added&lt;br /&gt;
					local wikidataParamValue = propertyLink.getLabel(templateParams[m..&amp;#039;-ויקינתונים-פשוט&amp;#039;])&lt;br /&gt;
					if wikidataParamValue then&lt;br /&gt;
						args.title = frame:preprocess(mw.ustring.gsub(args.title, &amp;#039;\{\{\{(&amp;#039;..m..&amp;#039;)\|?\}\}\}&amp;#039;, wikidataParamValue))&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	self.args = args&lt;br /&gt;
	self.templateStructure = templateStructure&lt;br /&gt;
	self.wikidataCats = wikidataCats&lt;br /&gt;
	self.isSelfUse = isSelfUse&lt;br /&gt;
	self.templateParams = templateParams&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function infobox(frame)&lt;br /&gt;
	local infoObj = Infobox:new()&lt;br /&gt;
	infoObj:parseArgs(frame)&lt;br /&gt;
	return infoObj:render()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return 	{&lt;br /&gt;
	[&amp;#039;מידע&amp;#039;]=infobox,&lt;br /&gt;
	Infobox=Infobox&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>חלוקת קונטרסים</name></author>
	</entry>
</feed>