local z = {} local WikitextLC = require( 'Module:WikitextLC' )  function Tcode( args ) 	if args.T == nil or args.T == '' then 		return '' 	end 	local div = mw.html.create( 'div' ) 		:attr( 'class', 'noteTA-title' ) 		:attr( 'data-noteta-code', args.T ) 		:wikitext( WikitextLC.title( args.T ) ) 	if args.dt ~= nil and args.dt ~= '' then 		div:attr( 'data-noteta-desc', args.dt ) 	end 	return tostring( div ) end  function group( name, frame ) 	if name == nil or name == '' then 		return '' 	end 	local moduleTitle = mw.title.makeTitle( 'Module', 'CGroup/' .. name ) 	if moduleTitle and moduleTitle.exists then 		local data = mw.loadData( 'Module:CGroup/' .. name ) 		local pieces = {} 		if data.content then 			for i, v in ipairs( data.content ) do 				if v.type == 'item' and v.rule then 					table.insert( pieces, '-{H|' .. v.rule .. '}-' ) 				end 			end 			return tostring( mw.html.create( 'div' ) 				:attr( 'data-noteta-group-source', 'module' ) 				:attr( 'data-noteta-group', data.name or name ) 				:wikitext( table.concat( pieces ) ) ) 		end 	end 	local templateTitle = mw.title.makeTitle( 'Template', 'CGroup/' .. name ) 	if templateTitle and templateTitle.exists then 		return frame:expandTemplate{ title = templateTitle } 	end 	return tostring( mw.html.create( 'div' ) 			-- :attr( 'id', 'noteTA-group-' .. mw.uri.anchorEncode( name ) ) 			:attr( 'data-noteta-group-source', 'none' ) 			:attr( 'data-noteta-group', name ) ) end  function Gcode( args, frame ) 	local code = {} 	for i = 1, 30 do 		table.insert( code, group( args['G' .. i], frame ) ) 	end 	code = table.concat( code ) 	if code ~= '' then 		code = tostring( mw.html.create( 'div' ) 				:attr( 'class', 'noteTA-group' ) 				:wikitext( code ) ) 		if args.G31 ~= nil then 			code = code .. '[[Category:NoteTA模板参数使用数量超过限制的页面|G]]' 		end 	end 	return code end  function local_( i, code, desc ) 	if code == nil or code == '' then 		return '' 	end 	local div = mw.html.create( 'div' ) 		-- :attr( 'id', 'noteTA-local-' .. i ) 		:attr( 'data-noteta-code', code ) 		:wikitext( WikitextLC.hidden( code ) ) 	if desc ~= nil and desc ~= '' then 		div:attr( 'data-noteta-desc', desc ) 	end 	return tostring( div ) end  function Lcode( args ) 	local code = {} 	for i = 1, 30 do 		table.insert( code, local_( i, args[i], args['d' .. i] ) ) 	end 	code = table.concat( code ) 	if code ~= '' then 		code = tostring( mw.html.create( 'div' ) 				:attr( 'class', 'noteTA-local' ) 				:wikitext( code ) ) 		if args[31] ~= nil then 			code = code .. '[[Category:NoteTA模板参数使用数量超过限制的页面|L]]' 		end 	end 	return code end  function z.main( frame ) 	local args 	if frame == mw.getCurrentFrame() then 		-- Being called from {{noteTA}} 		args = frame:getParent().args 	else 		-- Being called from another module 		args = frame 		frame = mw.getCurrentFrame() 	end 	local Tc = Tcode( args ) 	local Gc = Gcode( args, frame ) 	local Lc = Lcode( args ) 	local code = Tc .. Gc .. Lc 	if code ~= '' then 		local hash = require( 'Module:Crc32lua' ).crc32( mw.dumpObject( args ) ) 		code = frame:extensionTag{ 			name = 'indicator', 			content = '[[File:Zh conversion icon m.svg|35px|本页使用了标题或全文手工转换|link=]]', 			args = { name = string.format( 'noteTA-%x', hash ) }, 		} .. tostring( mw.html.create( 'div' ) 				:attr( 'id', string.format( 'noteTA-%x', hash ) ) 				:attr( 'class', 'noteTA' ) 				:wikitext( code ) ) 		if mw.title.getCurrentTitle():inNamespace( 'Template' ) then 			code = code .. '[[Category:放置于模板的noteTA]]' 		end 	end 	return code end  return z