男孩取什么名字好听又有贵气| 支气管炎咳嗽吃什么药好得快| 总蛋白高是什么原因| 齐天大圣是什么意思| 腹痛吃什么药| 为什么头皮会疼| 什么的围巾| 系少一撇叫什么| 821是什么意思| rhubarb是什么意思| 什么样的女人水多| 大便想拉又拉不出来是什么原因| 肠道蠕动慢吃什么药| 毫无意义是什么意思| 月经不调吃什么药好| 头顶长白头发是什么原因造成的| 铁娘子是什么意思| 打嗝吃什么药好| iga是什么| 白细胞弱阳性是什么意思| 属猪和什么属相相冲| 猫怕什么气味| 马步鱼为什么是甜的| maybach是什么车| 做梦和别人吵架意味着什么| 为什么会长息肉| 最新奥特曼叫什么| 857什么意思| 乔字五行属什么| ihc是什么意思| 基础病是什么意思| 安宫牛黄丸为什么那么贵| 什么叫矫正视力| 总打喷嚏是什么原因| 晚上磨牙是什么原因| 猴戏是什么意思| 网盘是什么| 龟苓膏的原料是什么| 什么情况下不能献血| 肾结石去医院挂什么科| 小孩血糖高是什么原因引起的| 遗精是什么原因| 带状疱疹能吃什么食物| 脑梗用什么药效果好| 为什么会得扁平疣| 外围女是什么意思| 悱恻是什么意思| 遍体鳞伤是什么意思| 性疾病都有什么症状| 宝宝消化不好吃什么调理| 慢性结肠炎是什么症状| 文王卦是什么意思| 安徽古代叫什么| 青稞面是什么| eb病毒是什么病| 脸上白了一小块是什么原因| 归元寺求什么最灵验| 蚂蚁上树什么意思| 九知道指的是什么| 麻风病是什么病| 夏季吃什么菜| 炸酱面用的什么酱| 医生说宝宝趴着在暗示着什么| 肚子胀是什么原因引起的| 肺上有结节是什么意思| 由来是什么意思| 三毛为什么自杀| 儿童热感冒吃什么药| 两个c交叉是什么牌子| 贫血吃什么水果| 人瘦肚子大是什么原因| 婆家是什么意思| 韶字五行属什么| 鲐背之年是什么意思| 女性潮热是什么症状| 视力突然模糊是什么原因引起的| 氯硝西泮片是什么药| 查hpv挂什么科| 小产和流产有什么区别| 为什么外阴老是长疖子| 预计是什么意思| 狗皮肤病用什么药| 被迫是什么意思| 7.1是什么星座| 属羊的本命佛是什么佛| 石斛配什么泡水喝好| 软骨病是什么病| 梦见水是什么预兆| 奶油是什么做的| 梦见下暴雨是什么意思| 嘴巴臭是什么原因| 九条鱼代表什么意思| 打喷嚏流鼻涕吃什么药| 使能是什么意思| 横行霸道的意思是什么| 吃什么水果能降血压| 头秃了一块是什么原因| 初次见面说什么| 绀是什么意思| 塑料袋是什么材质| 喝蛋白粉有什么副作用| 专项变应原筛查是什么| 盆腔积液吃什么药好| 高血压有什么危害| 老鹰代表什么生肖| 肺部有空洞是什么病症| 1990年什么生肖| 日匀念什么| 园字五行属什么| 鼻子旁边有痣代表什么| 小孩记忆力差需要补充什么营养| 半熟芝士是什么意思| 泌尿系统感染吃什么消炎药| 敕令是什么意思| 吃布洛芬不能吃什么| 同性恋是什么| 什么梨| 载脂蛋白b偏高是什么意思| 梦见吃螃蟹是什么预兆| 春宵一刻值千金是什么意思| 荆棘什么意思| 眼角下面长斑是什么原因引起的| 什么人容易得血栓| 猪油吃多了有什么好处和坏处| 怀孕分泌物是什么颜色| 虎什么熊什么| 大姨妈一直不干净是什么原因| 眼睛胀痛什么原因| 玫瑰糠疹什么原因引起的| 忘不了鱼在中国叫什么| 四月是什么月| 肚子特别疼是什么原因| 为什么突然得了荨麻疹| 乳房里面有硬块是什么原因| 交警大队长是什么级别| 阴茎越来越小是什么原因| 让我爱你然后把我抛弃是什么歌| 胃酸过多吃什么好| 取经是什么意思| 野钓用什么饵料最好| 弯脚杆是什么意思| 调经止带是什么意思| 脚心发热是什么原因| 附属是什么意思| usr是什么意思| 脚气是什么样的| 天可以加什么偏旁| 67年属什么生肖| 什么的晚霞| 世界上笔画最多的字是什么字| 花是植物的什么器官| 为宜是什么意思| 痛风打什么针| 免疫力下降吃什么好| 轻度高血压吃什么食物可以降压| 博美犬吃什么狗粮最好| 什么一边什么一边什么| 贾宝玉的玉是什么来历| 千里江陵是什么意思| 阿拉是什么意思| rh血型是什么意思| 泾渭分明是什么意思| 去医院看嘴唇挂什么科| 血痣是什么原因引起的| 案例是什么意思| 胃暖气是什么症状| 周围神经病是什么意思| 顾影自怜什么意思| 什么的陪伴| 杀阴虱用什么药最快| 处方药是什么标志| 拔牙第二天可以吃什么| 为什么一吃辣的就拉肚子| 肾衰竭五期是什么意思| 9月16日是什么星座| 乳腺纤维瘤和乳腺结节有什么区别| 弥留之际什么意思| 尿频是什么病| o.o什么意思| 1982年属什么| 百什么争鸣| 空调出现pl是什么意思| 淀粉酶高有什么危害| 阴茎长水泡是什么原因| 借鸡生蛋是什么意思| 肾虚有什么症状| 副主任科员是什么级别| 2002年出生属什么| 女性的排卵期是什么时候| 肠胃紊乱吃什么药| 跳蚤吃什么| 静息心率是什么意思| 八月七号是什么星座| 印度古代叫什么| 眼睛发炎用什么眼药水| 马英九属什么| 什么是有机奶粉| 松鼠是什么生肖| mri是什么意思| 缺钙吃什么补得最快| 红色裤子配什么上衣好看| 药流后吃什么消炎药比较好| pd是什么元素| 中国黄金为什么比其它金店便宜| 笑什么如花| 虾仁不能和什么食物一起吃| 钦点是什么意思| 牛百叶是什么| 吃韭菜有什么好处和坏处| 虱子用什么药可以根除| 导演是干什么的| 开平方是什么意思| 夜深人静是什么意思| 国字脸适合什么发型| 蝉什么时候出来| 满清是什么民族| 眼睛粘糊是什么原因| 福州立冬吃什么| 现在领结婚证需要什么| ppi是什么| 小三阳和大三阳有什么区别| 遗尿是什么症状| 呼吸音粗是什么原因| 吃什么可以让子宫内膜变薄| 后背发冷发凉属于什么症状| 投喂是什么意思| 活跃是什么意思| 萃是什么意思| 前列腺炎是什么原因引起的| 痛风打什么针见效最快| 越描越黑是什么意思| 虾皮是什么虾| 欲壑难填什么意思| 什么是县级市| 荔枝吃了有什么好处| 什么屈膝| 壬午日五行属什么| 戊肝抗体igg阳性是什么意思| N医学上是什么意思| 肾炎是什么症状| 总胆固醇高是什么意思| 善茬是什么意思| 什么是碳水化合物食物| 三湖慈鲷可以和什么鱼混养| 汗毛重是什么原因| 眼睛充血什么原因| 附件炎是什么症状| 玉谷叶是什么植物| 波霸是什么| 经期吃榴莲有什么好处| 石英岩玉是什么| 海带绿豆汤有什么功效| 井底之蛙是什么意思| 枸杞和什么搭配壮阳| 吃的少还胖什么原因| 长颈鹿的脖子像什么| 什么是心脏病| winbond是什么品牌| 圣诞节是什么时候| 什么的遐想| 三班倒什么意思| 胆酷醇高有什么危害| 红细胞减少是什么原因| 总维生素d偏低会导致什么| 百度???????????? ????

陕西省西咸新区人力资源和社会保障局关于印

???????????, ????? ???????? ????
百度 1955年4月11日,“克什米尔公主”号载着参加亚非会议的中国政府代表团工作人员和随同采访的中外记者等,从香港飞往雅加达途中,遭国民党特务炸弹袭击,飞机爆炸失事,16人遇难。

require('strict')
local p = {}
local navbar = require('Module:Navbar')._navbar
local cfg = mw.loadData('?????:Navbox/??????????')
local getArgs -- lazily initialized
local args
local format = string.format

local function striped(wikitext, border)
	-- Return wikitext with markers replaced for odd/even striping.
	-- Child (subgroup) navboxes are flagged with a category that is removed
	-- by parent navboxes. The result is that the category shows all pages
	-- where a child navbox is not contained in a parent navbox.
	local orphanCat = cfg.category.orphan
	if border == cfg.keyword.border_subgroup and args[cfg.arg.orphan] ~= cfg.keyword.orphan_yes then
		-- No change; striping occurs in outermost navbox.
		return wikitext .. orphanCat
	end
	local first, second = cfg.class.navbox_odd_part, cfg.class.navbox_even_part
	if args[cfg.arg.evenodd] then
		if args[cfg.arg.evenodd] == cfg.keyword.evenodd_swap then
			first, second = second, first
		else
			first = args[cfg.arg.evenodd]
			second = first
		end
	end
	local changer
	if first == second then
		changer = first
	else
		local index = 0
		changer = function (code)
			if code == '0' then
				-- Current occurrence is for a group before a nested table.
				-- Set it to first as a valid although pointless class.
				-- The next occurrence will be the first row after a title
				-- in a subgroup and will also be first.
				index = 0
				return first
			end
			index = index + 1
			return index % 2 == 1 and first or second
		end
	end
	local regex = orphanCat:gsub('([%[%]])', '%%%1')
	return (wikitext:gsub(regex, ''):gsub(cfg.marker.regex, changer)) -- () omits gsub count
end

local function processItem(item, nowrapitems)
	if item:sub(1, 2) == '{|' then
		-- Applying nowrap to lines in a table does not make sense.
		-- Add newlines to compensate for trim of x in |parm=x in a template.
		return '\n' .. item ..'\n'
	end
	if nowrapitems == cfg.keyword.nowrapitems_yes then
		local lines = {}
		for line in (item .. '\n'):gmatch('([^\n]*)\n') do
			local prefix, content = line:match('^([*:;#]+)%s*(.*)')
			if prefix and not content:match(cfg.pattern.nowrap) then
				line = format(cfg.nowrap_item, prefix, content)
			end
			table.insert(lines, line)
		end
		item = table.concat(lines, '\n')
	end
	if item:match('^[*:;#]') then
		return '\n' .. item ..'\n'
	end
	return item
end

local function has_navbar()
	return args[cfg.arg.navbar] ~= cfg.keyword.navbar_off
		and args[cfg.arg.navbar] ~= cfg.keyword.navbar_plain
		and (
			args[cfg.arg.name]
			or mw.getCurrentFrame():getParent():getTitle():gsub(cfg.pattern.sandbox, '')
				~= cfg.pattern.navbox
		)
end

-- extract text color from css, which is the only permitted inline CSS for the navbar
local function extract_color(css_str)
	-- return nil because navbar takes its argument into mw.html which handles
	-- nil gracefully, removing the associated style attribute
	return mw.ustring.match(';' .. css_str .. ';', '.*;%s*([Cc][Oo][Ll][Oo][Rr]%s*:%s*.-)%s*;') or nil
end

local function renderNavBar(titleCell)
	if has_navbar() then
		titleCell:wikitext(navbar{
			[cfg.navbar.name] = args[cfg.arg.name],
			[cfg.navbar.mini] = 1,
			[cfg.navbar.fontstyle] = extract_color(
				(args[cfg.arg.basestyle] or '') .. ';' .. (args[cfg.arg.titlestyle] or '')
			)
		})
	end

end

local function renderTitleRow(tbl)
	if not args[cfg.arg.title] then return end

	local titleRow = tbl:tag('tr')

	local titleCell = titleRow:tag('th'):attr('scope', 'col')

	local titleColspan = 2
	if args[cfg.arg.imageleft] then titleColspan = titleColspan + 1 end
	if args[cfg.arg.image] then titleColspan = titleColspan + 1 end

	titleCell
		:cssText(args[cfg.arg.basestyle])
		:cssText(args[cfg.arg.titlestyle])
		:addClass(cfg.class.navbox_title)
		:attr('colspan', titleColspan)

	renderNavBar(titleCell)

	titleCell
		:tag('div')
			-- id for aria-labelledby attribute
			:attr('id', mw.uri.anchorEncode(args[cfg.arg.title]))
			:addClass(args[cfg.arg.titleclass])
			:css('font-size', '114%')
			:css('margin', '0 4em')
			:wikitext(processItem(args[cfg.arg.title]))
end

local function getAboveBelowColspan()
	local ret = 2
	if args[cfg.arg.imageleft] then ret = ret + 1 end
	if args[cfg.arg.image] then ret = ret + 1 end
	return ret
end

local function renderAboveRow(tbl)
	if not args[cfg.arg.above] then return end

	tbl:tag('tr')
		:tag('td')
			:addClass(cfg.class.navbox_abovebelow)
			:addClass(args[cfg.arg.aboveclass])
			:cssText(args[cfg.arg.basestyle])
			:cssText(args[cfg.arg.abovestyle])
			:attr('colspan', getAboveBelowColspan())
			:tag('div')
				-- id for aria-labelledby attribute, if no title
				:attr('id', (not args[cfg.arg.title]) and mw.uri.anchorEncode(args[cfg.arg.above]) or nil)
				:wikitext(processItem(args[cfg.arg.above], args[cfg.arg.nowrapitems]))
end

local function renderBelowRow(tbl)
	if not args[cfg.arg.below] then return end

	tbl:tag('tr')
		:tag('td')
			:addClass(cfg.class.navbox_abovebelow)
			:addClass(args[cfg.arg.belowclass])
			:cssText(args[cfg.arg.basestyle])
			:cssText(args[cfg.arg.belowstyle])
			:attr('colspan', getAboveBelowColspan())
			:tag('div')
				:wikitext(processItem(args[cfg.arg.below], args[cfg.arg.nowrapitems]))
end

local function renderListRow(tbl, index, listnum, listnums_size)
	local row = tbl:tag('tr')

	if index == 1 and args[cfg.arg.imageleft] then
		row
			:tag('td')
				:addClass(cfg.class.noviewer)
				:addClass(cfg.class.navbox_image)
				:addClass(args[cfg.arg.imageclass])
				:css('width', '1px')               -- Minimize width
				:css('padding', '0 2px 0 0')
				:cssText(args[cfg.arg.imageleftstyle])
				:attr('rowspan', listnums_size)
				:tag('div')
					:wikitext(processItem(args[cfg.arg.imageleft]))
	end

	local group_and_num = format(cfg.arg.group_and_num, listnum)
	local groupstyle_and_num = format(cfg.arg.groupstyle_and_num, listnum)
	if args[group_and_num] then
		local groupCell = row:tag('th')

		-- id for aria-labelledby attribute, if lone group with no title or above
		if listnum == 1 and not (args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group2]) then
			groupCell
				:attr('id', mw.uri.anchorEncode(args[cfg.arg.group1]))
		end

		groupCell
			:attr('scope', 'row')
			:addClass(cfg.class.navbox_group)
			:addClass(args[cfg.arg.groupclass])
			:cssText(args[cfg.arg.basestyle])
			-- If groupwidth not specified, minimize width
			:css('width', args[cfg.arg.groupwidth] or '1%')

		groupCell
			:cssText(args[cfg.arg.groupstyle])
			:cssText(args[groupstyle_and_num])
			:wikitext(args[group_and_num])
	end

	local listCell = row:tag('td')

	if args[group_and_num] then
		listCell
			:addClass(cfg.class.navbox_list_with_group)
	else
		listCell:attr('colspan', 2)
	end

	if not args[cfg.arg.groupwidth] then
		listCell:css('width', '100%')
	end

	local rowstyle  -- usually nil so cssText(rowstyle) usually adds nothing
	if index % 2 == 1 then
		rowstyle = args[cfg.arg.oddstyle]
	else
		rowstyle = args[cfg.arg.evenstyle]
	end

	local list_and_num = format(cfg.arg.list_and_num, listnum)
	local listText = args[list_and_num]
	local oddEven = cfg.marker.oddeven
	if listText:sub(1, 12) == '</div><table' then
		-- Assume list text is for a subgroup navbox so no automatic striping for this row.
		oddEven = listText:find(cfg.pattern.navbox_title) and cfg.marker.restart or cfg.class.navbox_odd_part
	end

	local liststyle_and_num = format(cfg.arg.liststyle_and_num, listnum)
	local listclass_and_num = format(cfg.arg.listclass_and_num, listnum)
	listCell
		:css('padding', '0')
		:cssText(args[cfg.arg.liststyle])
		:cssText(rowstyle)
		:cssText(args[liststyle_and_num])
		:addClass(cfg.class.navbox_list)
		:addClass(cfg.class.navbox_part .. oddEven)
		:addClass(args[cfg.arg.listclass])
		:addClass(args[listclass_and_num])
		:tag('div')
			:css('padding',
				(index == 1 and args[cfg.arg.list1padding]) or args[cfg.arg.listpadding] or '0 0.25em'
			)
			:wikitext(processItem(listText, args[cfg.arg.nowrapitems]))

	if index == 1 and args[cfg.arg.image] then
		row
			:tag('td')
				:addClass(cfg.class.noviewer)
				:addClass(cfg.class.navbox_image)
				:addClass(args[cfg.arg.imageclass])
				:css('width', '1px')               -- Minimize width
				:css('padding', '0 0 0 2px')
				:cssText(args[cfg.arg.imagestyle])
				:attr('rowspan', listnums_size)
				:tag('div')
					:wikitext(processItem(args[cfg.arg.image]))
	end
end

local function has_list_class(htmlclass)
	local patterns = {
		'^' .. htmlclass .. '$',
		'%s' .. htmlclass .. '$',
		'^' .. htmlclass .. '%s',
		'%s' .. htmlclass .. '%s'
	}
	
	for arg, _ in pairs(args) do
		if type(arg) == 'string' and mw.ustring.find(arg, cfg.pattern.class) then
			for _, pattern in ipairs(patterns) do
				if mw.ustring.find(args[arg] or '', pattern) then
					return true
				end
			end
		end
	end
	return false
end

-- there are a lot of list classes in the wild, so we add their TemplateStyles
local function add_list_styles()
	local frame = mw.getCurrentFrame()
	local function add_list_templatestyles(htmlclass, templatestyles)
		if has_list_class(htmlclass) then
			return frame:extensionTag{
				name = 'templatestyles', args = { src = templatestyles }
			}
		else
			return ''
		end
	end
	
	local hlist_styles = add_list_templatestyles('hlist', cfg.hlist_templatestyles)
	local plainlist_styles = add_list_templatestyles('plainlist', cfg.plainlist_templatestyles)
	
	-- a second workaround for [[phab:T303378]]
	-- when that issue is fixed, we can actually use has_navbar not to emit the
	-- tag here if we want
	if has_navbar() and hlist_styles == '' then
		hlist_styles = frame:extensionTag{
			name = 'templatestyles', args = { src = cfg.hlist_templatestyles }
		}
	end
	
	-- hlist -> plainlist is best-effort to preserve old Common.css ordering.
	-- this ordering is not a guarantee because most navboxes will emit only
	-- one of these classes [hlist_note]
	return hlist_styles .. plainlist_styles
end

local function needsHorizontalLists(border)
	if border == cfg.keyword.border_subgroup or args[cfg.arg.tracking] == cfg.keyword.tracking_no then
		return false
	end
	return not has_list_class(cfg.pattern.hlist) and not has_list_class(cfg.pattern.plainlist)
end

local function hasBackgroundColors()
	for _, key in ipairs({cfg.arg.titlestyle, cfg.arg.groupstyle,
		cfg.arg.basestyle, cfg.arg.abovestyle, cfg.arg.belowstyle}) do
		if tostring(args[key]):find('background', 1, true) then
			return true
		end
	end
	return false
end

local function hasBorders()
	for _, key in ipairs({cfg.arg.groupstyle, cfg.arg.basestyle,
		cfg.arg.abovestyle, cfg.arg.belowstyle}) do
		if tostring(args[key]):find('border', 1, true) then
			return true
		end
	end
	return false
end

local function isIllegible()
	local styleratio = require('Module:Color contrast')._styleratio
	for key, style in pairs(args) do
		if tostring(key):match(cfg.pattern.style) then
			if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then
				return true
			end
		end
	end
	return false
end

local function getTrackingCategories(border)
	local cats = {}
	if needsHorizontalLists(border) then table.insert(cats, cfg.category.horizontal_lists) end
	if hasBackgroundColors() then table.insert(cats, cfg.category.background_colors) end
	if isIllegible() then table.insert(cats, cfg.category.illegible) end
	if hasBorders() then table.insert(cats, cfg.category.borders) end
	return cats
end

local function renderTrackingCategories(builder, border)
	local title = mw.title.getCurrentTitle()
	if title.namespace ~= 10 then return end -- not in template space
	local subpage = title.subpageText
	if subpage == cfg.keyword.subpage_doc or subpage == cfg.keyword.subpage_sandbox
		or subpage == cfg.keyword.subpage_testcases then return end

	for _, cat in ipairs(getTrackingCategories(border)) do
		builder:wikitext('[[???????????:' .. cat .. ']]')
	end
end

local function renderMainTable(border, listnums)
	local tbl = mw.html.create('table')
		:addClass(cfg.class.nowraplinks)
		:addClass(args[cfg.arg.bodyclass])

	local state = args[cfg.arg.state]
	if args[cfg.arg.title] and state ~= cfg.keyword.state_plain and state ~= cfg.keyword.state_off then
		if state == cfg.keyword.state_collapsed then
			state = cfg.class.collapsed
		end
		tbl
			:addClass(cfg.class.collapsible)
			:addClass(state or cfg.class.autocollapse)
	end

	tbl:css('border-spacing', 0)
	if border == cfg.keyword.border_subgroup or border == cfg.keyword.border_none then
		tbl
			:addClass(cfg.class.navbox_subgroup)
			:cssText(args[cfg.arg.bodystyle])
			:cssText(args[cfg.arg.style])
	else  -- regular navbox - bodystyle and style will be applied to the wrapper table
		tbl
			:addClass(cfg.class.navbox_inner)
			:css('background', 'transparent')
			:css('color', 'inherit')
	end
	tbl:cssText(args[cfg.arg.innerstyle])

	renderTitleRow(tbl)
	renderAboveRow(tbl)
	local listnums_size = #listnums
	for i, listnum in ipairs(listnums) do
		renderListRow(tbl, i, listnum, listnums_size)
	end
	renderBelowRow(tbl)

	return tbl
end

local function add_navbox_styles(hiding_templatestyles)
	local frame = mw.getCurrentFrame()
	-- This is a lambda so that it doesn't need the frame as a parameter
	local function add_user_styles(templatestyles)
		if templatestyles and templatestyles ~= '' then
			return frame:extensionTag{
				name = 'templatestyles', args = { src = templatestyles }
			}
		end
		return ''
	end

	-- get templatestyles. load base from config so that Lua only needs to do
	-- the work once of parser tag expansion
	local base_templatestyles = cfg.templatestyles
	local templatestyles = add_user_styles(args[cfg.arg.templatestyles])
	local child_templatestyles = add_user_styles(args[cfg.arg.child_templatestyles])

	-- The 'navbox-styles' div exists to wrap the styles to work around T200206
	-- more elegantly. Instead of combinatorial rules, this ends up being linear
	-- number of CSS rules.
	return mw.html.create('div')
		:addClass(cfg.class.navbox_styles)
		:wikitext(
			add_list_styles() .. -- see [hlist_note] applied to 'before base_templatestyles'
			base_templatestyles ..
			templatestyles ..
			child_templatestyles ..
			table.concat(hiding_templatestyles)
		)
		:done()
end

-- work around [[phab:T303378]]
-- for each arg: find all the templatestyles strip markers, insert them into a
-- table. then remove all templatestyles markers from the arg
local function move_hiding_templatestyles(args)
	local gfind = string.gfind
	local gsub = string.gsub
	local templatestyles_markers = {}
	local strip_marker_pattern = '(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)'
	for k, arg in pairs(args) do
		for marker in gfind(arg, strip_marker_pattern) do
			table.insert(templatestyles_markers, marker)
		end
		args[k] = gsub(arg, strip_marker_pattern, '')
	end
	return templatestyles_markers
end

function p._navbox(navboxArgs)
	args = navboxArgs
	local hiding_templatestyles = move_hiding_templatestyles(args)
	local listnums = {}

	for k, _ in pairs(args) do
		if type(k) == 'string' then
			local listnum = k:match(cfg.pattern.listnum)
			if listnum then table.insert(listnums, tonumber(listnum)) end
		end
	end
	table.sort(listnums)

	local border = mw.text.trim(args[cfg.arg.border] or args[1] or '')
	if border == cfg.keyword.border_child then
		border = cfg.keyword.border_subgroup
	end

	-- render the main body of the navbox
	local tbl = renderMainTable(border, listnums)

	local res = mw.html.create()
	-- render the appropriate wrapper for the navbox, based on the border param

	if border == cfg.keyword.border_none then
		res:node(add_navbox_styles(hiding_templatestyles))
		local nav = res:tag('div')
			:attr('role', 'navigation')
			:node(tbl)
		-- aria-labelledby title, otherwise above, otherwise lone group
		if args[cfg.arg.title] or args[cfg.arg.above] or (args[cfg.arg.group1]
			and not args[cfg.arg.group2]) then
			nav:attr(
				'aria-labelledby',
				mw.uri.anchorEncode(
					args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1]
				)
			)
		else
			nav:attr('aria-label', cfg.aria_label)
		end
	elseif border == cfg.keyword.border_subgroup then
		-- We assume that this navbox is being rendered in a list cell of a
		-- parent navbox, and is therefore inside a div with padding:0em 0.25em.
		-- We start with a </div> to avoid the padding being applied, and at the
		-- end add a <div> to balance out the parent's </div>
		res
			:wikitext('</div>')
			:node(tbl)
			:wikitext('<div>')
	else
		res:node(add_navbox_styles(hiding_templatestyles))
		local nav = res:tag('div')
			:attr('role', 'navigation')
			:addClass(cfg.class.navbox)
			:addClass(args[cfg.arg.navboxclass])
			:cssText(args[cfg.arg.bodystyle])
			:cssText(args[cfg.arg.style])
			:css('padding', '3px')
			:node(tbl)
		-- aria-labelledby title, otherwise above, otherwise lone group
		if args[cfg.arg.title] or args[cfg.arg.above]
			or (args[cfg.arg.group1] and not args[cfg.arg.group2]) then
			nav:attr(
				'aria-labelledby',
				mw.uri.anchorEncode(args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1])
			)
		else
			nav:attr('aria-label', cfg.aria_label)
		end
	end

	if (args[cfg.arg.nocat] or cfg.keyword.nocat_false):lower() == cfg.keyword.nocat_false then
		renderTrackingCategories(res, border)
	end
	return striped(tostring(res), border)
end

function p.navbox(frame)
	if not getArgs then
		getArgs = require('Module:Arguments').getArgs
	end
	args = getArgs(frame, {wrappers = {cfg.pattern.navbox}})

	-- Read the arguments in the order they'll be output in, to make references
	-- number in the right order.
	local _
	_ = args[cfg.arg.title]
	_ = args[cfg.arg.above]
	-- Limit this to 20 as covering 'most' cases (that's a SWAG) and because
	-- iterator approach won't work here
	for i = 1, 20 do
		_ = args[format(cfg.arg.group_and_num, i)]
		_ = args[format(cfg.arg.list_and_num, i)]
	end
	_ = args[cfg.arg.below]

	return p._navbox(args)
end

return p
艾滋病一年有什么症状 cob是什么意思 区级以上医院是什么意思 宝宝大便酸臭味是什么原因 拔了牙吃什么消炎药
浑身出汗是什么原因 生育登记有什么用 尿道痒男吃什么消炎药 肝功能七项是检查什么 相安无事什么意思
屁股抽筋疼是什么原因 npv是什么 一个田一个比读什么 4月16日是什么星座 中耳炎吃什么药效果比较好
性病是什么病 穆字五行属什么 气血虚挂什么科 引产什么意思 湿厕纸是干什么用的
双肺纹理增多是什么意思严重吗hcv9jop2ns1r.cn 妇科衣原体感染是什么病hcv8jop9ns9r.cn 花甲是什么意思xjhesheng.com 前列腺b超能检查出什么hcv8jop4ns0r.cn 监制是干什么的hcv8jop1ns1r.cn
筋膜炎有什么症状youbangsi.com 氯化钠敷脸有什么作用hcv8jop3ns3r.cn 免签国家是什么意思hcv8jop5ns0r.cn pg在医学是什么意思hcv8jop1ns8r.cn 做梦车丢了有什么预兆hcv8jop8ns4r.cn
加油什么意思hcv9jop7ns0r.cn 叶酸有什么好处hcv9jop3ns3r.cn 要强是什么意思jiuxinfghf.com 夏天有什么花开0297y7.com 3岁宝宝流鼻血是什么原因hcv9jop3ns9r.cn
皿是什么意思hcv8jop1ns6r.cn 588是什么意思onlinewuye.com 备孕吃什么最容易怀孕hcv9jop5ns6r.cn 马来西亚有什么特产hcv9jop4ns0r.cn 胸闷挂什么科hcv8jop5ns5r.cn
百度