Modul:Sandlådan/Larske/Testmodul1

Från Wikipedia
Hoppa till navigering Hoppa till sök

Template-info.png Dokumentation [visa] [redigera] [historik] [rensa sidcachen]


Detta är en dokumentationssida

local p = {}

require "mw.ustring"

p.test2 = function(frame)
	local p0 = frame.args['vanligatecken']
	local p1 = frame.args['parametermedå']
	local p2 = frame.args['parametermedä']
	local p3 = frame.args['parametermedö']	local p5 = frame.args['parametermedÄ']
	local p6 = frame.args['parametermedÖ']
	
	local res = ''
	res = res .. 'vanligatecken = ' .. p0 .. '<br />'
	res = res .. 'parametermedå = ' .. p1 .. '<br />'
	res = res .. 'parametermedö = ' .. p3 .. '<br />'
	res = res .. 'parametermedÄ = ' .. p5 .. '<br />'
	res = res .. 'parametermedÖ = ' .. p6 .. '<br />'
end

p.skrivstil = function(frame)
	local s = frame.args[1] or ''
	local bold = frame.args['bold'] or false 
	local res = ''
	local undantag = {['B']='212C',['E']='2130',['F']='2131',['H']='210B',['I']='2110',['L']='2112',['M']='2133',['R']='211B',['e']='212F',['g']='210A',['o']='2134'}
	for i=1,mw.ustring.len(s) do
  		local tecken  = mw.ustring.sub(s,i,i)
  		local teckenkod = string.byte(tecken)
    	if teckenkod>=string.byte('A') and teckenkod<=string.byte('Z') then
  			if bold then
  				res = res .. '&#x'..string.format("%X",120016+teckenkod-string.byte('A'))..';'
    		else
    			res = res .. '&#x'..(undantag[tecken] or string.format("%X",119964+teckenkod-string.byte('A')))..';'
    		end
    	else
    		if teckenkod>=string.byte('a') and teckenkod<=string.byte('z') then
  				if bold then 
  					res = res .. '&#x'..string.format("%X",120042+teckenkod-string.byte('a'))..';'
  				else
  					res = res .. '&#x'..(undantag[tecken] or string.format("%X",119990+teckenkod-string.byte('a')))..';'
        		end
    		else
    			if bold then
      				res = res .. '<i><b>' .. tecken .. '</b></i>'	
				else
	  				res = res .. '<i>' .. tecken .. '</i>'
				end
			end
  		end
  	end
	return res
end

p.veckostart = function(frame)
  local y = tonumber(frame.args[1]) or 2015
  local w = tonumber(frame.args[2]) or 1
  local f = frame.args[3] or 'Vecka '..w..' '..y..' börjar %Y-%m-%d'
  local a = {0, -1, -1, -1, -1, 0, 0}
  local b = {-6, 0, -1, -2, -3, -4, -5}
  local t0 = os.time{year=y, month=1, day=1}
  local w0 = os.date("*t", t0)['wday']
  if (os.date("*t",t0 + 3600*24*((w+a[w0])*7+b[w0]+3))['year']>y) or (w<1) then
     return '<span class="error">Fel veckonummer!</span> (det finns ingen vecka med nummer '..w.. ' som börjar under ' .. y .. ').'
  end
  return os.date(f,t0+3600*24*((w+a[w0])*7+b[w0]))
end

p.maxveckonummer = function(frame)
  local fr = {}
  fr.args = {frame.args[1] or 2015,52,'%d'}
  if tonumber(p.veckostart(fr))<22 then return 53 end
  return 52
end

function p.br_separated_entries(frame)
	local res = ''
	for _, v in ipairs(frame:getParent().args) do	
	  if string.gsub(v,' ','') ~= '' then  res = res .. v .. '<br />' end
	end
    return string.sub(res,1,-7)
end

function p.unbulleted_list(frame)
	local args = frame:getParent().args
	local class = args['class'] or 'plainlinks'
	local style = args['style'] or ''
	local list_style = args['list_style'] or 'margin-left:0; list-style:none;'
	local item_style = args['item_style'] or ''
	local res = '<div class="' .. class .. '" style="' .. style .. '"><ul style="' .. list_style .. '">'
	for i, v in ipairs(args) do
		itemi_style = args['item' .. i .. '_style'] or ''
		if string.gsub(v,' ','') ~= '' then res = res .. '<li style="' .. item_style .. itemi_style .. '">' .. v .. '</li>' end
	end
    return res..'</ul></div>'
end

function p.pokerhand(frame)
	kortlek = '2-Heart,3-Heart,4-Heart,5-Heart,6-Heart,7-Heart,8-Heart,9-Heart,10-Heart,J-Heart,Q-Heart,K-Heart,A-Heart,2-Diamond,3-Diamond,4-Diamond,5-Diamond,6-Diamond,7-Diamond,8-Diamond,9-Diamond,10-Diamond,J-Diamond,Q-Diamond,K-Diamond,A-Diamond,2-Club,3-Club,4-Club,5-Club,6-Club,7-Club,8-Club,9-Club,10-Club,J-Club,Q-Club,K-Club,A-Club,2-Spade,3-Spade,4-Spade,5-Spade,6-Spade,7-Spade,8-Spade,9-Spade,10-Spade,J-Spade,Q-Spade,K-Spade,A-Spade'
	frame.args['värden']=kortlek
	frame.args['absolutfrekvenser']= string.rep('1,',51)..'1'
	frame.args['antal']=5
	frame.args['separator']=','
	frame.args['återläggning']='nej'
	local hand =Statistik.slumpdragning(frame)
	local res =''
	local i = 0
	local farg = {}
	local valor = {}
	local stegupp = {['A']='2',['2']='3',['3']='4',['4']='5',['5']='6',['6']='7',['7']='8',['8']='9',['9']='10',['10']='J',['J']='Q',['Q']='K',['K']='A'}
	local stegner = {['A']='K',['2']='A',['3']='2',['4']='3',['5']='4',['6']='5',['7']='6',['8']='7',['9']='8',['10']='9',['J']='10',['Q']='J',['K']='Q'}
	for kort in string.gmatch(hand,"[^,]+") do
		i = i+1
		valor[i], farg[i] = string.match(kort,'([0-9JQKA]+)%-(%a+)')
		res = res..'[[File:Cards-'..kort..'.svg|60px|border]] '
	end 
	res = res .. '<br />'
	local fargsumma = 0
	local valorsumma = 0
	local stegsumma = 0
	for i=1,5 do
		for j=1,5 do 
	  		if farg[j] == farg[i] then fargsumma = fargsumma + 1 end 
	  		if valor[j] == valor[i] then valorsumma = valorsumma + 1 end
		end
		if valor[i] == 'A' then
			for j=1,5 do
	  			if valor[j] == 'K' or valor[j] == '2' then  
	  				stegsumma = stegsumma + 1 
	  				break 
	  			end
			end
		else 
			for j=1,5 do
	  			if valor[j] == stegner[valor[i]] then 
	  				stegsumma = stegsumma + 1 
	  				break
	  			end
			end  
			for j=1,5 do
	  			if valor[j] == stegupp[valor[i]] then 
	  				stegsumma = stegsumma + 1 
	  				break
	  			end
			end  
		end 
	end 
	if fargsumma == 25 and stegsumma == 8 then return res .. 'Färgstege (0,0015 % sannolikhet)' end
	if valorsumma == 17 then return res..'Fyrtal (0,024 % sannolikhet)' end
	if valorsumma == 13 then return res..'Kåk (0,144 % sannolikhet)' end
	if fargsumma == 25 then return res..'Färg (0,196 % sannolikhet)' end
	if stegsumma == 8 then return res..'Stege (0,39 % sannolikhet)' end
	if valorsumma == 11 then return res..'Triss (2,11 % sannolikhet)' end
	if valorsumma == 9 then return res..'Två par (4,75 % sannolikhet)' end
	if valorsumma == 7 then return res..'Par (42,26 % sannolikhet)' end
	if valorsumma == 5 then return res..'Högt kort (50,11 % sannolikhet)' end
	return res
end

--[[
 avrunda, rundar av ett värde till angivet antal signifikanta siffor
 parametrar
 ==========
 tal: talet som ska avrundas
 signifikans: antal signifikanta siffor
 exempel
 =======
 {{#invoke:Modulnamn|avrunda|tal=123.456789|signifikans=5}}
 ger resultatet
 123.46
 {{#invoke:Modulnamn|avrunda|tal=12345.6789|signifikans=3}}
 ger resultatet
 12300
]]

function p.avrunda(frame)
   local args = frame.args
   tal = tonumber(frame.args['tal']) or 1
   signifikans = tonumber(frame.args['signifikans']) or 1
   return math.floor(tal/10^(math.floor(math.log10(tal))-signifikans+1)+0.5)*10^(math.floor(math.log10(tal))-signifikans+1)	
end

--[[
  delare, skriver ut alla delare till ett givet tal 
  parametrar
  ==========
  tal: talet vars delare söks
  separator (frivillig): den teckensträng som ska skrivas ut mellan delarna. Ett blanktecken om parametern ej används 
  exempel
  =======
  {{#invoke:Modulnamn|delare|tal=58166717|separator=,}} 
  ger resultatet
  1,7,673,4711,12347,86429,8309531,58166717
]]

function p.delare (frame)
   local args = frame.args
   tal = tonumber(frame.args['tal'])
   sep = frame.args['separator'] or ' '
   delare = {}
   for i = 1, math.sqrt(tal) do
      if tal % i == 0 then 
         table.insert(delare, i)
	 if i ~= math.sqrt(tal) then
	    table.insert(delare, tal/i)
	 end
      end 	
   end
   table.sort(delare)
   return table.concat(delare,sep)
end

--[[
  wd_coord, hämtar geografisk koordinat (property P625) från wikidata för sidan med funktionsanropet och returnerar resultatet av anrop till functionen Coordinates:coord
  om funktionen anropas från en sida som saknar geografisk koordinat i wikidata så returneras parametrar motsvarande latitud 0 och longitud 0.
  latitud och longitud avrundas i enlighet med värdet på precision (som är en del av P625).
 
  parametrar
  ==========
  display: display som coord vill ha den, inline eller title eller inline,title. default är 'title'
  region: regionkod som coord vill ha den. default är 'SE'
  type : type som coord vill ha den. default är 'adm1state'
]]

function p.wd_coord(frame)
 local Coor = require("Modul:Coordinates")
 local res = ''
 local lat = 0
 local latd = 0
 local latm = 0
 local lats = 0
 local latNS = 'N'
 local long = 0
 local longd = 0
 local longm = 0
 local longs = 0
 local longEW = 'E'
 local prec = 0
 local disp = frame.args['display'] or 'title'
 local type = frame.args['type'] or 'adm1st'
 local reg = frame.args['region'] or 'SE'
 local table entity = mw.wikibase.getEntityObject()
 
 if entity then 
   prec = tonumber(entity.claims.P625[1].mainsnak.datavalue.value.precision)
   if (prec == nil) then prec = 1/36000 end
   lat = tonumber(entity.claims.P625[1].mainsnak.datavalue.value.latitude)
   if lat < 0 then latNS = 'S' end
   lat = math.abs(lat)
   lat = math.floor(lat/prec + 1/2) * prec
   long = tonumber(entity.claims.P625[1].mainsnak.datavalue.value.longitude)
   if long < 0 then longEW = 'W' end
   long = math.abs(long)
   long = math.floor(long/prec + 1/2) * prec
 end 
 
 latd = math.floor(lat)
 lat = (lat - latd) * 60
 latm = math.floor(lat)
 lats = (lat - latm) * 60
 if (prec >= 1/3600.001) then lats = math.floor(lats + 1/2) end
 if (lats == 60) then
   lats = 0
   latm = latm + 1
 end 
 if (latm == 60) then
   latm = 0
   latd = latd + 1
 end	
 
 longd = math.floor(long)
 long = (long - longd) * 60
 longm = math.floor(long)
 longs = (long - longm) * 60
 if (prec >= 1/3600.001) then longs = math.floor(longs + 1/2) end
 if (longs == 60) then
   longs = 0
   longm = longm + 1
 end 
 if (longm == 60) then
   longm = 0
   longd = longd + 1
 end	

local antal_decimaler = 3
if (prec >= 1e-8) then antal_decimaler = math.max(0,math.floor(-math.log(prec*3600)/math.log(10)+0.5)) end

local format = p.wdprec2dms(frame)
if (format == 'd') then frame.args = {latd .. "", latNS, longd .. "", longEW, display=disp, 'region:'..reg..'_type:'..type..'_source:Wikidata'} end
if (format == 'dm') then frame.args = {latd .. "", latm .. "", latNS, longd .. "", longm .. "", longEW, display=disp, 'region:'..reg..'_type:'..type..'_source:Wikidata'} end
if (format == 'dms') then frame.args = {latd.. "", latm .. "", string.format('%2.'..antal_decimaler..'f',lats).. "",latNS, longd .. "", longm .. "",string.format('%2.'..antal_decimaler..'f',longs) .. "",longEW, display=disp, 'region:'..reg..'_type:'..type..'_source:Wikidata'} end
return Coor.coord(frame)

end


-- wdprec2dms, översätter från värdet precision för geografisk koordinat (property P625) till format dms som kan användas vid anrop av Coordinates.coord
-- om precision är 1/3600 (eller mindre) blir format = dms
-- om precision är mellan 1/3600 och 1/60 blir format = dm
-- om precision är större än 1/60 blir format = d

function p.wdprec2dms(frame)
	local prec = 0
	entity = mw.wikibase.getEntityObject()
	if entity then
      prec = tonumber(entity.claims.P625[1].mainsnak.datavalue.value.precision)
      if (prec == nil) then prec = 1/36000 end
    end 
    res = 'd'
    if (prec <= 1/59.99) then res = 'dm' end
    if (prec <= 1/3599.99) then res = 'dms' end
    return res
 end

-- wd2coord, hämtar geografisk koordinat (property P625) från wikidata för sidan med funktionsanropet och returnerar parametrar som kan användas i mallen {{coord}}
-- om funktionen anropas från en sida som saknar geografisk koordinat i wikidata så returneras parametrar motsvarande latitud 0 och longitud 0.
-- latitud och longitud avrundas i enlighet med värdet på precision (som är en del av P625).
-- 
-- parametrar
-- ==========
-- latd, latm, lats, latNS, longd, longm, longs, longEW: en av dessa parametrar ska finnas med i anropet och styr vilken parameters värde i coord som ska returneras
-- prec: om parametern finns så returneras värdet på precision (mest för test). Värdet ska INTE användas som parameter för coord.
-- latdec, longdec: det returnerade värdet är latitud respektive longitud från P625 utan modifiering

function p.wd2coord(frame)
 local res = ''
 local latdec = 0
 local lat = 0
 local latd = 0
 local latm = 0
 local lats = 0
 local latNS = 'N'
 local longdec = 0
 local long = 0
 local longd = 0
 local longm = 0
 local longs = 0
 local longEW = 'E'
 local prec = 0
 local table entity = mw.wikibase.getEntityObject()
 
 if entity then 
   prec = tonumber(entity.claims.P625[1].mainsnak.datavalue.value.precision)
   if (prec == nil) then prec = 1/36000 end
   lat = tonumber(entity.claims.P625[1].mainsnak.datavalue.value.latitude)
   latdec = lat
   if lat < 0 then latNS = 'S' end
   lat = math.abs(lat)
   lat = math.floor(lat/prec + 1/2) * prec
   long = tonumber(entity.claims.P625[1].mainsnak.datavalue.value.longitude)
   longdec = long
   if long < 0 then longEW = 'W' end
   long = math.abs(long)
   long = math.floor(long/prec + 1/2) * prec
 end 
 
 latd = math.floor(lat)
 lat = (lat - latd) * 60
 latm = math.floor(lat)
 lats = (lat - latm) * 60
 if (prec >= 1/3600.001) then lats = math.floor(lats + 1/2) end
 if (lats == 60) then
   lats = 0
   latm = latm + 1
 end 
 if (latm == 60) then
   latm = 0
   latd = latd + 1
 end	
 
 longd = math.floor(long)
 long = (long - longd) * 60
 longm = math.floor(long)
 longs = (long - longm) * 60
 if (prec >= 1/3600.001) then longs = math.floor(longs + 1/2) end
 if (longs == 60) then
   longs = 0
   longm = longm + 1
 end 
 if (longm == 60) then
   longm = 0
   longd = longd + 1
 end	
 
 local antal_decimaler = 3
 if (prec >= 1e-8) then antal_decimaler = math.max(0,math.floor(-math.log(prec*3600)/math.log(10)+0.5)) end
 
 if frame.args['latd'] then res = latd end
 if frame.args['latm'] then res = latm end
 if frame.args['lats'] then res = string.format('%2.'..antal_decimaler..'f',lats) end
 if frame.args['latNS'] then res = latNS end
 if frame.args['latdec'] then res = latdec end

 if frame.args['longd'] then res = longd end
 if frame.args['longm'] then res = longm end
 if frame.args['longs'] then res = string.format('%2.'..antal_decimaler..'f',longs) end
 if frame.args['longEW'] then res = longEW end
 if frame.args['longdec'] then res = longdec end
 
 if frame.args['prec'] then res = prec end

 return res
 
 end

-- slumpdragning, väljer ett antal slumpmässigt valda värden ur en mängd, med lika eller olika sannolikhet och med eller utan återläggning
--
-- parametrar
-- ==========
-- värden (obligatorisk): de värden som kan förekomma, åtskilda med kommatecken
-- absolutfrekvenser (frivillig): de absoluta frekvenser som de olika värdena har, åtskilda med kommatecken och i samma ordning som värdena
-- relativfrekvenser (frivillig): de relativa frekvenser som de olika värdena har, åtskilda med kommatecken och i samma ordning som värdena
--   Not: endast en av parametrarna absolutfrekvenser och relativfrekvenser får anges. Om inga frekvenser anges får alla värden samma sannolikhet
-- antal (frivillig): det antal värden som funktionen ska returnera, värdena åtskils med "separator". Om antal ej anges returneras endast ett värde
-- återläggning (frivillig): om värdet nej anges dras värdena utan återläggning, om värdet ja eller inget värde anges dras värdena med återläggning
-- separator (frivillig): teckensträng som används att åtskilja flera returvärden. om separator ej anges blir alla returvärden ihoppackade. 
-- kolumner (frivillig): om parametern ges ett värde ersätts separatorn av wikikod för att skapa en tabell med angivet antal kolumner
-- tabellstil (frivillig): om parametern ges ett värde och kolumner används, så används tabellstil för att styra tabellens utseende
-- fastavärden (frivillig): de positioner och värden för de fasta värden som ska ingå i resultatet. De anges som som pos_1, värde_1, pos_2, värde_2, osv 
-- där pos_n anger positionen för det n:te fasta värdet och värde_n anger vilket av värdena i parametern värden som ska finnas där. OBS att värde_n är
-- positionen i listan värden, inte värdet själv.
--
-- Exempel på användning:
-- {{#invoke:Statistik|slumpdragning|värden=A,B,C|absolutfrekvenser=4,2,1|antal=6|kolumner=3|fastavärden=1,1,3,1,5,1|återläggning=nej}}
-- resulterar i 6 värden i tre kolumner där det första, tredje och femte är ett A och de övriga slumpas från de kvarvarande (1 st A, 2 st B och 1 st C)

function p.slumpdragning(frame)
  local res = ""
  local varden = frame.args['värden']
  if (not varden) then return "Parameterfel: Obligatorisk parameter 'värden' saknas!" end
  local table vardelista = mw.text.split(varden,",",true)
  local absolutfrekvenser = frame.args['absolutfrekvenser']
  local relativfrekvenser = frame.args['relativfrekvenser']
  local aterlaggning = frame.args['återläggning']
  if (not aterlaggning) then aterlaggning = "" end 
  local antal = frame.args['antal']
  if (antal) then antal = tonumber(antal) else antal = 1 end 
  local separator = frame.args['separator'] or ""
  if (absolutfrekvenser) and (relativfrekvenser) then return "Parameterfel: Både absoluta och relativa frekvenser är angivna!" end
  local kolumner = frame.args['kolumner']
  if (kolumner) then antalkolumner = tonumber(kolumner) end
  local tabellstil = frame.args['tabellstil']
  local fastavarden = frame.args['fastavärden']
  local table fasta_varden = {}
  if (fastavarden) then fasta_varden = mw.text.split(fastavarden,",",true) end
  local table posvarde = {}
  for i = 1, #fasta_varden-1, 2 do
  	posvarde[tonumber(fasta_varden[i])] = tonumber(fasta_varden[i+1])
  end
  
  math.randomseed(os.time())
  if (relativfrekvenser) then
      local table relativfrekvenslista = mw.text.split(relativfrekvenser,",",true)
      if (#relativfrekvenslista ~= #vardelista) then return "Parameterfel: Antal frekvenser (" .. #relativfrekvenslista .. ") ej lika med antalet värden (" .. #vardelista .. ")!" end    
      if (kolumner) then 
      	res = res..'{|' 
      	if (tabellstil) then res = res..tabellstil end
      	res = res..'\n'
      end
      for k=1,antal do
      	if (kolumner) and (k % antalkolumner == 1 or antalkolumner == 1) then
      	  res = res..'|-\n'
      	end 
      	if (posvarde[k]) then
            if (kolumner) then res = res..'|' end
            res = res .. vardelista[posvarde[k]]
            if (kolumner) then res = res..'\n' end
            if (k < antal) and not (kolumner) then res = res .. separator end
      	else	
          slumptal = math.random()
          local ackfrekvens = 0
          for i,v in ipairs(relativfrekvenslista) do
            ackfrekvens = ackfrekvens + tonumber(v)
            if (slumptal <= ackfrekvens) then
              if (kolumner) then res = res..'|' end
              res = res .. vardelista[i]
              if (kolumner) then res = res..'\n' end
              if (k < antal) and not (kolumner) then res = res .. separator end
              break
            end
          end
        end
      end
      if (kolumner) then res = res.."|}\n" end
     return res
  end
 
  local table absolutfrekvenslista = {}
  if (absolutfrekvenser) then
      absolutfrekvenslista = mw.text.split(absolutfrekvenser,",",true)
      if (#absolutfrekvenslista ~= #vardelista) then
         return "Parameterfel: Antal frekvenser (" .. #absolutfrekvenslista .. ") ej lika med antalet värden (" .. #vardelista .. ")!"  
      end
  else
    if (aterlaggning == "nej") then return "Parameterfel: Återläggning får ej vara nej utan att absolutfrekvenser är angivna!" end
    for i,v in ipairs(vardelista) do
      absolutfrekvenslista[i] = 1    
    end     
  end
  n = 0
  for i,v in ipairs(absolutfrekvenslista) do n = n + tonumber(v) end
  if (antal > n) and (aterlaggning == "nej") then return "Parameterfel: Antal (" .. antal .. ") större än antal objekt (" .. n .. ")!" end 
  if (kolumner) then 
  	res = res..'{|' 
  	if (tabellstil) then res = res..tabellstil end
   	res = res..'\n'
  end
  for k=1,antal do
    if (posvarde[k]) then
      if (aterlaggning == "nej") then
        absolutfrekvenslista[posvarde[k]] = absolutfrekvenslista[posvarde[k]] - 1
        n = n - 1
      end
    end
  end
  for k=1,antal do
    if (kolumner) and (k % antalkolumner == 1 or antalkolumner == 1) then
      res = res..'|-\n'
    end
  	if (posvarde[k]) then
      if (kolumner) then res = res..'|' end
      res = res .. vardelista[posvarde[k]]
      if (kolumner) then res = res..'\n' end
      if (k < antal) and not (kolumner) then res = res .. separator end
    else
      slumptal = math.random(1,n)
      local ackfrekvens = 0
      for i,v in ipairs(absolutfrekvenslista) do
        absolutfrekvenslista[i] = tonumber(v)   
        ackfrekvens = ackfrekvens + tonumber(v)
        if (slumptal <= ackfrekvens) then
          if (kolumner) then res = res..'|' end
          res = res .. vardelista[i]
          if (kolumner) then res = res..'\n' end
          if (k<antal) and not (kolumner) then res = res .. separator end    
          if (aterlaggning == "nej") then
            absolutfrekvenslista[i] = absolutfrekvenslista[i] - 1
            n = n - 1
          end
          break
        end       
      end
    end    
  end
  if (kolumner) then res = res.."|}\n" end
  return res
end 


-- namnversalisering, sätter inledande bokstav i namn, eller bokstäver i dubbelnamn, till versal(er)
--
-- parametrar
-- ==========
-- namn (obligatorisk): det namn som ska versaliseras
-- 
-- Exempel på användning:
-- {{#invoke:Textformatering|namnversalisering|DALA-JÄRNA}}

function p.namnversalisering(frame)
  local res = ""
  local namn = frame.args['namn']
  if mw.ustring.find(namn, "[[", 1, true) then
      res = namn 
 -- don't convert names used as links 
  else         
    namn = mw.ustring.lower(namn)
    for i = 1, mw.ustring.len(namn) do
      if (i == 1) then
         res = res .. mw.ustring.upper(mw.ustring.sub(namn,i,i)) 
      elseif  (mw.ustring.sub(namn, i-1, i-1) == "-") or
              (mw.ustring.sub(namn, i-1, i-1) == " ") or
              (mw.ustring.sub(namn, i-1, i-1) == ">") then
         res = res .. mw.ustring.upper(mw.ustring.sub(namn,i,i)) 
      else   
         res = res .. mw.ustring.sub(namn, i, i)
      end
    end
  end
  return res
end


-- ltabell, skapar en tabell som kan bestå av flera sorterbara parametrar i SAMMA kolumn
--
-- parametrar
-- ==========
-- visaanrop (frivillig): om värdet anges till 'ja' visas anropet före den färdiga tabellen. (Används endast för demo av funktionen)
-- kolumnrubriker (obligatorisk): samtliga kolumnrubriker separerade med kommatecken (,). För "multikolumner" anges delarna separerade med semikolon (;). Varje del kan anges som Långt namn(punkt)Kort namn, där Långt namn är det som hamnar i cellerna och Kort namn det som hamnar i kolumnrubriken.
-- tabellklass (frivillig): anger grundklass för tabellen, t ex wikitable
-- tabellstil (frivillig): anger stil för hela tabellen, t ex text-align:right
-- sorterbartabell (frivillig): om värdet anges till 'ja' blir tabellen sorterbar
-- sorterbarakolumner (frivillig): ange värden 'ja' eller 'nej', separerade på samma sätt som kolumnrubrikerna. Om inga värden anges blir samtliga kolumner sorterbara om sorterbartabell har värdet 'ja'.
-- kolumnstilar (frivillig): anger stil för varje kolumn, separerade med kommatecken (,). Inga stiler anges för dolda delar.
-- icke namngivna parametrar: varje parameter innehåller tabellvärden för en rad, separerade på samma sätt som kolumnrubrikerna men den skillnaden att för multikolumner finns endast värden för delarna.
--
-- Exempel på användning:
-- {{#invoke:Ltabell|ltabell
-- | tabellklass = wikitable
-- | sorterbartabell = ja
-- | tabellstil = text-align:right;
-- | kolumnrubriker = Adam, Bertil, Cesar; Xerxes.X; Yngve.Y; Zäta.Z, David, Erik, Filip, Gustav; Petter.P; Quintus.Q; Rudolf.R
-- | kolumnstilar = "text-align:left","text-align:left",,,,,"text-align:left"
-- | sorterbarakolumner = ja,ja,ja;ja;ja,nej,ja,ja,ja;nej;ja
-- |  1, 1, 1; 2; 3, 2, 2, 3, 1; -; 2 
-- |  2, 3, 2; 3; 3, 1, 3, 1, 2; +; 3
-- |  3, 2, 3; 1; 2, 3, 1, 2, 3; *; 2
-- }}

function p.ltabell(frame)
 
 local anrop = "" 
  if (frame.args['visaanrop']=="ja") then 
    anrop = anrop .. "<pre>Anrop:\n{{#invoke:" .. "<Modulnamn>" .."|ltabell\n"      
    for i,p in  ipairs({'visaanrop','tabellklass','sorterbartabell','tabellstil','kolumnrubriker','kolumnstilar','sorterbarakolumner'}) do
      if (frame.args[p]) then anrop = anrop .. "| " .. p .. " = " .. frame.args[p] .. "\n" end 
    end
    for i,p in ipairs(frame.args) do
       anrop = anrop .. "| " .. p
    end 
    anrop = anrop .. "}}</pre>\n"
  end 
  
  res = anrop .. "{|"
  local tabellklass = frame.args['tabellklass']
  local sorterbartabell = frame.args['sorterbartabell']
  if (sorterbartabell == "ja") then tabellklass = tabellklass .. " sortable" end
  if (tabellklass) then res = res .. " class=\"" ..  tabellklass .. "\"" end
  local tabellstil = frame.args['tabellstil']
  if (tabellstil) then res = res .. " style=" .. tabellstil end
  local kolumnrubriker = frame.args['kolumnrubriker']
  local kolumnstilar = frame.args['kolumnstilar']  
  local table kolumnstil = {} 
  if (kolumnstilar) then kolumnstil = mw.text.split(kolumnstilar,",",true) end 
  local sorterbarakolumner = frame.args['sorterbarakolumner']
  local table sorterbarkolumn = {}
  if (sorterbarakolumner) then sorterbarkolumn = mw.text.split(sorterbarakolumner,",",true) end
  local rowspan = ""
  if not (kolumnrubriker) then return "Obligatorisk parameter 'kolumnrubriker' saknas:" .. anrop end 
  local table kolumnrubrik = mw.text.split(kolumnrubriker,",",true)
  res = res .. "\n|-\n"
  local antalkolumnrubriker = 0
  for i,k in ipairs(kolumnrubrik) do
    antalkolumnrubriker = i  
    if (mw.ustring.find(k,";")) then
      local subkolumnrubrik = mw.text.split(k,";")
      local table subsorterbarkolumn = mw.text.split(sorterbarkolumn[i],";")
      for j, sk in ipairs(subkolumnrubrik) do
        if (mw.ustring.find(sk,".",1,true)) then sk = mw.ustring.sub(sk,mw.ustring.find(sk,".",1,true)+1) end
        if (j==1) then 
            res = res .. "! style=\"display:none\" | -\n" 
        else 
            res = res .. "!"
            if (sorterbartabell=="ja" and subsorterbarkolumn[j-1]=="nej") then res = res .. " class = \"unsortable\" | " end
            res = res .. sk .. "\n" 
        end
      end       
    else    
      res = res .. "!"
      if (sorterbartabell=="ja" and sorterbarkolumn[i]=="nej") then 
          if (mw.ustring.find(kolumnrubriker,";")) then
             res = res .. " class = \"unsortable\" valign=\"bottom\" rowspan = 2 | " 
          else
             res = res .. " class = \"unsortable\" | " 
          end
      else
        if (mw.ustring.find(kolumnrubriker,";")) then  res = res .. " valign=\"bottom\" rowspan = 2 | " end
      end 
      res = res .. k .. "\n"
    end    
  end

   if (mw.ustring.find(kolumnrubriker,";")) then
   res = res .. "|-\n"     
    for i,k in ipairs(kolumnrubrik) do
      if (mw.ustring.find(k,";")) then
        local n=-1
        local subkolumnrubrik = mw.text.split(k,";")
        for j, k in ipairs(subkolumnrubrik) do
          n = n + 1
        end
        res = res .. "! colspan = " .. n .. "| " .. subkolumnrubrik[1] .. "\n"
      end
    end     
  end

  for i,raden in ipairs(frame.args) do
     res = res .. "|-\n"
     local raddata = mw.text.split(raden,",",true)
     local stilindex = 0
     for ii,d in ipairs(raddata) do
       stilindex = stilindex + 1    
       if (mw.ustring.find(d,";")) then
       local subraddata = mw.text.split(d,";")
        local n=0
        local subkolumnrubrik = mw.text.split(kolumnrubrik[ii],";")
        for j, k in ipairs(subkolumnrubrik) do
          n = j
        end
        n = n - 1
        res = res .. "| colspan = " .. n 
        if ( not (kolumnstil[stilindex] == "")) then 
            res = res .. " style=" .. kolumnstil[stilindex] .. " | " 
         else
            res = res .. " | " 
        end 
        for j,sd in ipairs(subraddata) do
          local sk = subkolumnrubrik[j+1]    
          if (mw.ustring.find(sk,".",1,true)) then sk = mw.ustring.sub(sk,1,mw.ustring.find(sk,".",1,true)-1) end
          res = res .. "'''" .. sk .. ":''' " .. sd
          if (j<n) then res = res .. "<br>" end
        end  
        res = res .. "\n"
        for j,sd in ipairs(subraddata) do
           res = res .. "| style=\"display:none\" | " .. sd .. "\n"
        end 
      else
      res = res .. "| "
      if ( not (kolumnstil[stilindex]=="") ) then res = res .. " style=" .. kolumnstil[stilindex] .. " | " end
      res = res .. d .. "\n" 
      end
   end
  end
res = res .. "|}\n" 
return res
end


-- kolumner, liknande funktion som mallen {{kolumner}} som använder CSS-kod som inte fungerar i vissa webbläsare (t ex MSIE före version 10)
--
-- parametrar 
-- ==========
-- antal (frivillig): anger antalet kolumner, om inget värde anges blir det två kolumner
-- liten (frivillig): om parameterns värde = ja så blir det en mindre (90%) fontstorlek
-- kolumnbredd (frivillig): parameterns värde används som bredden för varje kolumn. kolumnbredd kan anges absolut i px, t ex 250px, eller relativ, t ex 20%. 
-- totalbredd (frivillig): parameterns värde används för den sammanlagda bredden för alla kolumner. totalbredd kan anges absolut i px, t ex 500px, eller relativ, t ex 75%. 
--                         (om totalbredd anges så ignoreras kolumnbredd)

function p.kolumner(frame)
	local parent = frame.getParent(frame)
   	local antal_kolumner = tonumber(frame.args['antal'] or parent.args['antal']) or 2
   	local style = ""
   	if (frame.args['liten'] == "ja" or parent.args['liten'] == "ja") then style="style='font-size:90%;'" end
   	local kolumnbredd = frame.args['kolumnbredd'] or parent.args['kolumnbredd']
   	local totalbredd = frame.args['totalbredd'] or parent.args['totalbredd']
   	local width = ""
   	if (kolumnbredd) then 
  		width="width=" .. kolumnbredd
		if (string.match(kolumnbredd,"(%d+)%%")) then notusedpercent = (100-antal_kolumner*tonumber(string.match(kolumnbredd,"(%d+)%%"))) .. "%" end
   	end
   	if (totalbredd) then
   	   	if (string.match(totalbredd,"(%d+)px")) then width = "width=" .. math.floor(tonumber(string.match(totalbredd,"(%d+)px"))/antal_kolumner) .. "px" end
   	   	if (string.match(totalbredd,"(%d+)%%")) then 
   	   		width = "width=" .. math.floor(tonumber(string.match(totalbredd,"(%d+)%%"))/antal_kolumner) .. "%" 
   	        notusedpercent = (100-math.floor(tonumber(string.match(totalbredd,"(%d+)%%")))) .. "%"
   	   	end
   	end
   local antal_poster = 0
   local antal_poster_p = 0
   local n = 0
   local innumberedlist = false
   for i,v in ipairs(frame.args) do antal_poster = i end
   for i,v in ipairs(parent.args) do antal_poster_p = i end
   antal_poster = math.max(antal_poster, antal_poster_p)
   local antal_per_kolumn = math.floor(antal_poster / antal_kolumner) 
   local kolumner_med_extra = antal_poster % antal_kolumner 
   local res = "{| "
   if (notusedpercent) then res = res .. "width=100% " end
   res = res ..style.."\n"
   local k = 0
   for i = 0, antal_kolumner - 1 do
      	res = res .. "|valign=top " .. width .. "|\n"
      	local jmax = antal_per_kolumn
      	if (i < kolumner_med_extra) then jmax = jmax + 1 end
      	for j = 1, jmax do
        	 k = k + 1
         	local arg = frame.args[k] or parent.args[k]
         	if (string.match(arg, "^#")) then
				n = n + 1
        	 	if (not innumberedlist) then 
            	    innumberedlist = true
         			res = res .. "<ol start=" .. n .. ">\n" 
         		end
         		res = res .. "<li>" .. string.sub(arg,2,-1) .. "</li>\n"
        	else
                if (innumberedlist) then
                	res = res .. "</ol>\n"
                	innumberedlist = false
                	n = 0
                end 
         		res = res .. arg .. "" 
      		end
  		end
      	if (innumberedlist) then 
      	 	res = res .. "</ol>\n"
      		innumberedlist = false
      	end
   	end
   	if (notusedpercent) then res = res .. "|width=" .. notusedpercent .. "|\n" end 
   	return res .. "|}"
end
 

-- kolumner2, liknande funktion som mallen {{kolumner}} som använder CSS-kod som inte fungerar i vissa webbläsare (t ex MSIE före version 10)
--
-- parametrar 
-- ==========
-- antal (frivillig): anger antalet kolumner, om inget värde anges blir det två kolumner
-- kolumnbredd (frivillig): parameterns värde används som bredden för varje kolumn. kolumnbredd kan anges absolut i px, t ex 250px, eller relativ, t ex 20%. 
-- totalbredd (frivillig): parameterns värde används för den sammanlagda bredden för alla kolumner. totalbredd kan anges absolut i px, t ex 500px, eller relativ, t ex 75%. 
--                         (om totalbredd anges så ignoreras kolumnbredd, om vare sig totalbredd eller kolumnbredd anges används 100% för totalbredd)
-- liten (frivillig): om parameterns värde = ja så blir det en mindre (90%) fontstorlek

function p.kolumner2(frame)
	local posterna = frame.getParent(frame).args[1] or ""
	local poster={} ; antal_poster=0
	for str in string.gmatch(posterna, "([^\n]+)") do
    	antal_poster = antal_poster + 1
		poster[antal_poster] = str
	end
	local parent = frame.getParent(frame)
	local antal_kolumner = tonumber(frame.args['antal'] or parent.args['antal']) or 2
   	local style = ""
   	if (frame.args['liten'] == "ja" or parent.args['liten'] == "ja") then style="style='font-size:90%;'" end
   	local kolumnbredd = frame.args['kolumnbredd'] or parent.args['kolumnbredd']
   	local totalbredd = frame.args['totalbredd'] or parent.args['totalbredd'] or "100%"
   	local width = ""
   	if (kolumnbredd) then 
  		width="width=" .. kolumnbredd
		if (string.match(kolumnbredd,"(%d+)%%")) then notusedpercent = (100-antal_kolumner*tonumber(string.match(kolumnbredd,"(%d+)%%"))) .. "%" end
    else
   	  	if (string.match(totalbredd,"(%d+)px")) then width = "width=" .. math.floor(tonumber(string.match(totalbredd,"(%d+)px"))/antal_kolumner) .. "px" end
   	   	if (string.match(totalbredd,"(%d+)%%")) then 
   	   		width = "width=" .. math.floor(tonumber(string.match(totalbredd,"(%d+)%%"))/antal_kolumner) .. "%" 
   	        notusedpercent = (100-math.floor(tonumber(string.match(totalbredd,"(%d+)%%")))) .. "%"
   	   	end
   	end
   local n = 0
   local innumberedlist = false
   local antal_per_kolumn = math.floor(antal_poster / antal_kolumner) 
   local kolumner_med_extra = antal_poster % antal_kolumner 
   local res = "{| "
   if (notusedpercent) then res = res .. "width=100% " end
   res = res ..style.."\n"
   local k = 0
   for i = 0, antal_kolumner - 1 do
      	res = res .. "|valign=top " .. width .. "|\n"
      	local jmax = antal_per_kolumn
      	if (i < kolumner_med_extra) then jmax = jmax + 1 end
      	for j = 1, jmax do
        	 k = k + 1
         	local arg = frame.args[k] or poster[k]
         	if (string.match(arg, "^#")) then
				n = n + 1
        	 	if (not innumberedlist) then 
            	    innumberedlist = true
         			res = res .. "<ol start=" .. n .. ">\n" 
         		end
         		res = res .. "<li>" .. string.sub(arg,2,-1) .. "</li>\n"
        	else
                if (innumberedlist) then
                	res = res .. "</ol>\n"
                	innumberedlist = false
                	n = 0
                end 
         		res = res .. arg .. "\n" 
      		end
  		end
      	if (innumberedlist) then 
      	 	res = res .. "</ol>\n"
      		innumberedlist = false
      	end
   	end
   	if (notusedpercent) then res = res .. "|width=" .. notusedpercent .. "|\n" end 
   	return res .. "|}"
end

-- heatmap, skapar en tabell med bakgrundsfärg per cell styrd av cellens värde. 
---         Bakgrundsfärgens tre komponenter (rgb) är en interpolation av valbara värden för max- och minvärde i datamängden 
--
-- parametrar 
-- ==========
-- values (obligatorisk): tabellens värden separerade av kommatecken, rader separarerade med semikolon. Alla celler måste tilldelas ett värde
-- log (frivillig): om parametern ges ett värde är det logaritmen av data snarare än data som styr färgen, används lämpligen för datamängder med stor "dynamik"
-- style (frivillig): stil för tabellen
-- hidedata (frivillig): om parametern ges värdet 'yes' visas inga värden i datacellerna, i annat fall visas värdena
-- mincolor (frivillig): hexadecimal kod för färgen som motsvarar minlimit eller det minsta datavärdet i tabellen, 60ff40 om inget annat anges
-- minhsv_hue (frivillig): hue (0-360) för färgen som motsvarar minlimit eller det minsta datavärdet i tabellen.
-- minlimit (frivillig): färgen mincolor blir resultatet för data som är lika med eller understiger detta värde. 
-- maxcolor (frivillig): hexadecimal kod för färgen som motsvarar maxlimit eller det största datavärdet i tabellen, ff6040 om inget annat anges
-- maxhsv_hue (frivillig): hue (0-360) för färgen som motsvarar maxlimit eller det största datavärdet i tabellen.
-- maxlimit (frivillig): färgen maxcolor blir resultatet för data som är lika med eller överstiger detta värde.
-- hsv_saturation (frivillig): saturation (0-100). används endast om minhsv_hue och maxhsv_hue är angivna. om parametern utelämnas används värdet 100.
-- hsv_value (frivillig): value (0-100). används endast om minhsv_hue och maxhsv_hue är angivna. om parametern utelämnas används värdet 100.
-- headers (frivillig): en kommaseparerad lista med värden för tabellens kolumnrubriker.
-- footers (frivillig): en kommaseparerad lista med värden för tabellens kolumnfötter.
-- datacolumns (frivillig): en kommaseparerad lista med ettor för de kolumns som ska färgläggas, om parametern utelämnas färgläggs alla kolumner

p.heatmap = function(frame)
	
	hsv2rgb = function(h,s,v)  -- ref: http://www.rapidtables.com/convert/color/hsv-to-rgb.htm
       local c = v/100*s/100
       local x = c*(1-math.abs((h/60) % 2 - 1))
       local m = v/100-c
       if (h<=60) then return math.floor((c+m)*255+0.5),math.floor((x+m)*255+0.5),math.floor((0+m)*255+0.5) end
       if (h<=120) then return math.floor((x+m)*255+0.5),math.floor((c+m)*255+0.5),math.floor((0+m)*255+0.5) end
       if (h<=180) then return math.floor((0+m)*255+0.5),math.floor((c+m)*255+0.5),math.floor((x+m)*255+0.5) end
       if (h<=240) then return math.floor((0+m)*255+0.5),math.floor((x+m)*255+0.5),math.floor((c+m)*255+0.5) end
       if (h<=300) then return math.floor((x+m)*255+0.5),math.floor((0+m)*255+0.5),math.floor((c+m)*255+0.5) end
       return math.floor((c+m)*255+0.5),math.floor((0+m)*255+0.5),math.floor((x+m)*255+0.5)
	end
	
   local style = frame.args['style'] or 'text-align:center;'
   local hidedata = frame.args['hidedata'] or ''
   local log = frame.args['log']
   local mincolor = frame.args['mincolor'] or '60ff40'
   local minred = tonumber(mw.ustring.sub(mincolor,1,2),16)
   local mingreen = tonumber(mw.ustring.sub(mincolor,3,4),16)
   local minblue = tonumber(mw.ustring.sub(mincolor,5,6),16)
   local minhsv_hue = frame.args['minhsv_hue']
   local minlimit = frame.args['minlimit']
   local maxcolor = frame.args['maxcolor'] or 'ff6040'
   local maxred = tonumber(mw.ustring.sub(maxcolor,1,2),16)
   local maxgreen = tonumber(mw.ustring.sub(maxcolor,3,4),16)
   local maxblue = tonumber(mw.ustring.sub(maxcolor,5,6),16)
   local maxhsv_hue = frame.args['maxhsv_hue']
   local maxlimit = frame.args['maxlimit']
   local hsv_saturation = frame.args['hsv_saturation'] or '100'
   local hsv_value = frame.args['hsv_value'] or '100'
   local headers = frame.args['headers']
   local theheaders = {}
   if (headers) then theheaders = mw.text.split(headers,',',true) end
   local ncolumns = 0
   local datacolumns = frame.args['datacolumns'] or ''
   local thedatacolumns = mw.text.split(datacolumns,',',true)
   local values = frame.args['values'] or '0' 
   local therows = mw.text.split(values,';',true)
   local nrows = tablesize(therows)
   local footers = frame.args['footers'] 
   local thefooters = {} 
   if (footers) then thefooters = mw.text.split(footers,',',true) end
   local res = '{| class="wikitable" style="' .. style .. '"\n|-\n'
   local minvalue = 1e99
   local maxvalue = -1e99
   for r=1,nrows do
   	local onerow = mw.text.split(therows[r],',',true)
    ncolumns = tablesize(onerow)
   	for c=1,ncolumns do
   		if (datacolumns == '' or thedatacolumns[c]=='1') then
   	   		if (tonumber(onerow[c]) > maxvalue) then maxvalue = tonumber(onerow[c]) end
   	   		if (tonumber(onerow[c]) < minvalue) then minvalue = tonumber(onerow[c]) end
   		end
   	end
   end
   if (minlimit) then minvalue = tonumber(minlimit) end
   if (maxlimit) then maxvalue = tonumber(maxlimit) end
   if (headers) then 
	 for c=1,ncolumns do res = res .. '! ' .. theheaders[c] .. '\n' end
   end 
   for r=1,nrows do
   	 local onerow = mw.text.split(therows[r],',',true)
   	 res = res .. '|-\n'
   	 for c=1,ncolumns do
   	 	res = res .. '| '
   	 	local displaydata = onerow[c]
   	 	if (datacolumns == '' or thedatacolumns[c]=='1') then
   	 		local heat = 0.5 
   	 		if (maxvalue>minvalue) then 
   	 			heat = (math.max(math.min(maxvalue,onerow[c]),minvalue)-minvalue)/(maxvalue-minvalue)
   	 		    if (log) then heat = (math.log(math.max(math.min(maxvalue,onerow[c]),minvalue)-minvalue+1))/(math.log(maxvalue-minvalue+1)) end
   	 		end
            local use_hsv = false
            local rgbr, rgbg, rgbb
  	 		if (minhsv_hue) then if (maxhsv_hue) then use_hsv = true end end
  	 		if (use_hsv) then
  	 		   rgbr, rgbg, rgbb = hsv2rgb(minhsv_hue+(maxhsv_hue-minhsv_hue)*heat,tonumber(hsv_saturation),tonumber(hsv_value))	
  	 		else
  	 		   rgbr = math.floor(minred+(maxred-minred)*heat+0.5)
  	 		   rgbg = math.floor(mingreen+(maxgreen-mingreen)*heat+0.5)
  	 		   rgbb = math.floor(minblue+(maxblue-minblue)*heat+0.5)
  	 		end 	
   	 		res = res .. 'style="background-color:rgb(' .. rgbr .. ',' .. rgbg .. ',' .. rgbb .. ');" |'
   	 	    if (hidedata == 'yes') then displaydata = '&nbsp;' end
   	 	end
		res =res .. mw.getCurrentFrame():preprocess('{{formatnum:' .. displaydata .. '}}') .. '\n'
   	 end
   end
   res = res .. '|-\n'
   if (footers) then 
   	for c=1,ncolumns do res = res .. '! ' .. thefooters[c] .. '\n' end
   end
   res = res .. '\n|}'
   return res
end

-- nteveckodag, returnerar datum för den n:te veckodagen av angiven typ i angiven månad och angivet år
--
-- parametrar 
-- ==========
-- 1 (obligatorisk): år, till exempel 2015
-- 2 (obligatorisk): månad, till exempel 11
-- 3 (obligatorisk): veckodag 1-7 (1=söndag, 2=måndag, ..., 7=lördag), till exempel 5 (torsdag)
-- 4 (obligatorisk): n, till exempel 4 

-- exempel
-- =======
-- {{#invoke:modulnamn|nteveckodag|2015|11|5|4}}
-- ger resultatet
-- 26
-- Den fjärde torsdagen i november månad 2015, thanksgiving, infaller alltså den 26 november.

p.nteveckodag = function(frame)
   local y = tonumber(frame.args[1])
   local m = tonumber(frame.args[2])
   local w = tonumber(frame.args[3])
   local n = tonumber(frame.args[4])
   local a = {-6,-5,-4,-3,-2,-1,-7,-6,-5,-4,-3,-2,-1}
   local t0 = os.time{year=y, month=m, day=1}
   local w0 = os.date("*t",t0)['wday']
   return os.date("%d",t0+86400*(n*7+a[w-w0+7]))
end

p.veckostart = function(frame)
  local y = tonumber(frame.args[1]) or 2015
  local w = tonumber(frame.args[2]) or 1
  local f = frame.args[3] or 'Vecka '..w..' '..y..' börjar %Y-%m-%d'
  local a = {0, -1, -1, -1, -1, 0, 0}
  local b = {-6, 0, -1, -2, -3, -4, -5}
  local t0 = os.time{year=y, month=1, day=1}
  local w0 = os.date("*t", t0)['wday']
  if (os.date("*t",t0 + 3600*24*((w+a[w0])*7+b[w0]+3))['year']>y) or (w<1) then
     return '<span class="error">Fel veckonummer!</span> (det finns ingen vecka med nummer '..w.. ' som börjar under ' .. y .. ').'
  end
  return os.date(f,t0+3600*24*((w+a[w0])*7+b[w0]))
end



p.comp = function(frame)
  local new_args = p._getParameters( frame.args, {'s1', 's2' } );
  local s1 = new_args['s1'] or ''
  local s2 = new_args['s2'] or ''
  if (s1>s2) then return 1 end
  if (s1==s2) then return 0 end
  if (s1<s2) then return -1 end
end

function p._getParameters( frame_args, arg_list )
    local new_args = {};
    local index = 1;
    local value;
    
    for i,arg in ipairs( arg_list ) do
        value = frame_args[arg]
        if value == nil then
            value = frame_args[index];
            index = index + 1;
        end
        new_args[arg] = value;
    end
    
    return new_args;
end     


--[[
   Paskdagsdatum, returnerar datum för Påskdagen för ett år eller en följd av år

   Parametrar 
   ==========
   year   (frivillig): anger det första år som datum önskas för. year måste ligga mellan 1800 och 2099. (Standardvärde = innevarande år)
   year2  (frivillig): det sista år som datum önskas för. year2 måste ligga mellan 1800 och 2099. (Standarvärde = samma som första året)
   länkar (frivillig): om parametern anges så fås wikilänkar till datum och till årtal. (Standardvärde = inga länkar)
   prefix (frivillig): text som föregås varje datum. (Standardvärde = inget prefix)
   suffix (frivillig): text som följer efter varje datum. (Standardväde = inget suffix)
   nl     (frivillig): antalet radmatningar efter varje datum. (Standardvärde = 0)
]]

function p.Paskdagsdatum(frame)
	local res = '' 
	local year1 = tonumber(frame.args['year'] or os.date('!*t')['year'])
	local year2 = tonumber(frame.args['year2'] or year1)
	local prefix = frame.args['prefix'] or ''
	local suffix = frame.args['suffix'] or ''
	local nl = tonumber(frame.args['nl'] or '0')
	local links = frame.args['länkar']
	if (year1<1800) or (year1>2099) or (year2<1800) or (year2>2099) then return 'Felaktigt parameter värde i funktionsanrop. År måste vara från 1800 till 2099!' end
	for year=year1,year2 do
		local day, month = 0, ''
		if (year==1802) then day, month = 25, 'april' end
		if (year==1805) then day, month = 21, 'april' end
		if (year==1818) then day, month = 29, 'mars' end
		if (day==0) then
			local a, b, c = math.fmod(year,19), math.fmod(year,4), math.fmod(year,7)
	    	local m, n = 23,4
	    	if (year>=1900) then m, n = 24, 5 end
	    	local d = math.fmod(19*a+m,30)
	    	local e = math.fmod(2*b+4*c+6*d+n,7)
	   		day = 22+d+e
	    	month = 'mars'
	    	if ((d+e)>9) then day, month = d+e-9, 'april' end
	    	if (day==26) and (month=='april') then day = 19 end
	    	if (day==25) and (month=='april') and (d==28) and (e==6) and (math.fmod(11*m+11,30)<19) then day=18 end
    	end
		if (links) then 
			res = res .. prefix .. '[[' .. day .. ' ' .. month .. ']] [[' .. year .. ']]' .. suffix 
		else
			res = res .. prefix .. day .. ' ' .. month .. ' ' .. year .. suffix
		end
		for i=1,nl do res = res .. '\n' end
	end
	return res
end

function p.dec_till_frac(frame)
-- Funktion:     Översätter decimaltal till bråk i blandad form
-- Parametrar:
--   decimaltal  - Talet som ska översättas, kan vara positivt eller negativt
--   noggrannhet - Anger en övre gräns för nämnaren i bråket. Bråket avkortas om möjligt
-- Resultat:     Teckensträng, t ex 2 3/4, med täljare upphöjd och nämnare nedsänkt

  local decimaltal = frame.args.decimaltal+0
  local noggrannhet = frame.args.noggrannhet+0
  local absoluttal = math.abs(decimaltal)
  local decimaldel = absoluttal - math.floor(absoluttal)
  local tecken = ""
  if decimaltal < 0 and math.floor(absoluttal) ~= 0 then tecken = "-"; end
  
  if round(decimaldel * noggrannhet) == 0 then return tecken..math.floor(absoluttal); end
  if round(decimaldel * noggrannhet) == noggrannhet then return tecken..(math.floor(absoluttal) + 1); end
  if decimaltal < 0 then tecken = "-"; end

  local delare = sgd(noggrannhet, round(decimaldel * noggrannhet))
  local namnare = noggrannhet
  local taljare = round(decimaldel * namnare)
  if delare > 0 then namnare = namnare / delare; taljare = taljare / delare; end
 
  local heltalsdel = "" 
  if math.floor(absoluttal) > 0 then heltalsdel = ""..math.floor(absoluttal); end
  return tecken..heltalsdel.."<sup>&nbsp;"..taljare.."</sup>⁄<sub>"..namnare.."</sub>"    

end 

function round (x)
-- Funktion: Avrundar parametern till närmaste heltal
  if x >= 0 then return math.floor (x + 0.5) else return math.ceil (x - 0.5) end
end

function sgd(a,b) -- a ska vara större eller lika med b
-- Funktion: Beräknar största gemensamma delare till de två parametrarna
while b > 0 do c = a % b;  a = b ;  b = c; end
  return a
end

function p.test(frame)
    local s = frame.args.s
    return mw.ustring.len(s)
end

-- function GroupNum, gruppering av siffror (samma funktion som mallen GroupNum)

function p.GroupNum(frame)  
   local tal = frame.args[1]
   local tal_len = mw.ustring.len(tal)
   local n1 = (frame.args[2] or 0)+0
   local n2 = (frame.args[3] or 0)+0
   local n3 = (frame.args[4] or 0)+0
   local n4 = (frame.args[5] or 0)+0
   local n5 = (frame.args[6] or 0)+0
   n1 = math.max(n1,tal_len-n2-n3-n4-n5)
   local del = frame.args['del'] or "&nbsp;"
   local utformat = "%2"..del.."%3"
   local pattern = "(.*)("..mw.ustring.rep("%d",n1)..")("..mw.ustring.rep("%d",n2)..")("
   if n3>=1 then 
     utformat = utformat..del.."%4"    
     pattern = pattern..mw.ustring.rep("%d",n3)
   end
   if n4>=1 then 
     utformat = utformat..del.."%5"
     pattern = pattern..")("..mw.ustring.rep("%d",n4)
   end
   if n5>=1 then
     utformat = utformat..del.."%6"
     pattern = pattern..")("..mw.ustring.rep("%d",n5)
   end
   pattern = pattern..")$"
   return ""..mw.ustring.gsub("00000000000"..tal, pattern, utformat)
end

-- function Gemeindeschlussel, formatering av tyska kommunkoder

function p.Gemeindeschlussel(frame)
   local kod = frame.args['kommunkod']
   local kod_len = mw.ustring.len(kod)
   if not (kod_len == 5 or kod_len == 7 or kod_len == 8 or kod_len == 9) or mw.ustring.find(kod,"%D")~=nil then return "Felaktig kommunkod" end
   resultat = mw.ustring.sub(kod,1,2).."&nbsp;"..mw.ustring.sub(kod,3,3).."&nbsp;"..mw.ustring.sub(kod,4,5)
   if kod_len >=7 then resultat = resultat.."&nbsp;"..mw.ustring.sub(kod,6,kod_len) end
   return resultat
end

-- function fst2f, extrahera filnamn från [[Fil:filnamn|bildstorlek|bildtext]]

function p.fst2f(frame)
    local fst = frame.args['fst']
    return mw.text.trim(mw.ustring.sub(fst,mw.ustring.find(fst,":")+1,mw.ustring.find(fst,"|")-1))
end

-- function fst2s, extrahera bildstorlek från [[Fil:filnamn|bildstorlek|bildtext]]

function p.fst2s(frame)
    local fst = frame.args['fst']
    return mw.text.trim(mw.ustring.sub(fst,mw.ustring.find(fst,"|")+1,mw.ustring.find(fst,"|",mw.ustring.find(fst,"|")+1)-1))
end

-- function fst2t, extrahera bildtext från [[Fil:filnamn|bildstorlek|bildtext]]

function p.fst2t(frame)
    local fst = frame.args['fst']
    return mw.text.trim(mw.ustring.sub(fst,mw.ustring.find(fst,"|",mw.ustring.find(fst,"|")+1)+1,mw.ustring.find(fst,"%]")-1))
end

-- function splitfst, extrahera filnamn, bildstorlek, eller bildtext från [[Fil:filnamn|bildstorlek|bildtext]]

function p.splitfst(frame)
    local fst = frame.args['fst']
    local del = frame.args['del']
    if del == "filnamn" then return mw.text.trim(mw.ustring.sub(fst,mw.ustring.find(fst,":")+1,mw.ustring.find(fst,"|")-1)) end
    if del == "bildstorlek" then return mw.text.trim(mw.ustring.sub(fst,mw.ustring.find(fst,"|")+1,mw.ustring.find(fst,"|",mw.ustring.find(fst,"|")+1)-1)) end
    if del == "bildtext" then return mw.text.trim(mw.ustring.sub(fst,mw.ustring.find(fst,"|",mw.ustring.find(fst,"|")+1)+1,mw.ustring.find(fst,"%]")-1)) end
end

-- kolumner_manuell, liknande funktionen kolumner men användaren styr var ny kolumn ska infogas genom parameternvärdet %bryt
--
-- parametrar 
-- ==========
-- kolumnbredd (frivillig): parameterns värde används som bredden för varje kolumn. kolumnbredd kan anges absolut i px, t ex 250px, eller relativ, t ex 20%. 
-- liten (frivillig): om parameterns värde = "ja" blir det en något mindre fontstorlek (90 %)
-- brytmarkering (frivillig): det värde som anges här styr vilket parametervärde som används för kolumnbrytning. Om inget värde anges används "%bryt" för att markera ny kolumn.

function p.kolumner_manuell(frame)
	local style = ""
	local brytmarkering = frame.args['brytmarkering'] or "%bryt"
   	if (frame.args['liten'] == "ja") then style="style='font-size:90%;'" end
   	local kolumnbredd = frame.args['kolumnbredd']
   	local width = ""
   	if (kolumnbredd) then 
  		width="width=" .. kolumnbredd
   	end
    local antal_poster = 0
   	for i,v in ipairs(frame.args) do antal_poster = i end
   	local res = "{| "
   	res = res ..style.."\n"
   	local k = 0
   	res = res .. "|valign=top " .. width .. "|\n"
   	for i = 1, antal_poster do
   		if string.gsub(frame.args[i],"\n","") == brytmarkering then
        	res = res .. "|valign=top " .. width .. "|\n"
      	else  
        	res = res .. frame.args[i] .. ""
      	end 
   	end
   	return res .. "|}"
end

function p.getEntityId(frame)	
    return mw.wikibase.getEntityObject().id
end

function p.emanad(frame)
	local table manader = { januari='January', februari = 'February', mars = 'March', april = 'April', maj = 'May', juni = 'June', juli = 'July', augusti = 'August', september = 'September', oktober = 'October', november = 'November', december = 'December' }
	local manad = string.lower(frame.args[1] or '')
	local nymanad = ''
	for s, e in pairs(manader) do
		nymanad = mw.ustring.gsub(manad,s,e)
		if not (nymanad == manad) then return nymanad end
	end
	return manad
end	

-- klimatdiagram, implementerar funktionaliteten i mallen Klimatöversikt
--
-- parametrar 
-- ==========
-- 1: plats, namnet på platsen
-- 2, 3, 4: mintemperatur, maxtemperatur och nederbörd för januari (kan vara tomma där data saknas)
-- 5, 6, 7: mintemperatur, maxtemperatur och nederbörd för januari (kan vara tomma där data saknas)
-- ... osv ...
-- 35, 36, 37: mintemperatur, maxtemperatur och nederbörd för december (kan vara tomma där data saknas)
-- float (frivillig): Avgör diagrammets placering, 'left', 'right'. Default är 'none'.
-- clear (frivillig): Formateringsparameter. Default är samma som parameter float.
-- source (frivillig): Källa för informationen. Hamnar längst ner i tabellen.
--
-- Teckenförklaring för temperatur och nederbörd anges endast om temperatur resp nederbörd angivits för minst en månad

function p.klimatdiagram(frame)
  local frame = frame:getParent()
  local plats = frame.args[1] or ''
  local float = frame.args['float'] or 'none'
  local clear = frame.args['clear'] or float
  local source = frame.args['source']
  local array minT = {}
  local array maxT = {}
  local array rain = {}
  local anyrain = false
  local allrain = true
  local anytemp = false
  local arsnederbord = 0
  for i = 1, 12 do
  	minT[i] = frame.args[3*i-1]
  	maxT[i] = frame.args[3*i]
  	anytemp = anytemp or (type(tonumber(minT[i])) == 'number') and (type(tonumber(maxT[i])) == 'number')
    rain[i] = frame.args[3*i+1]
    anyrain = anyrain or (type(tonumber(rain[i])) == 'number')
    allrain = allrain and (type(tonumber(rain[i])) == 'number')
    arsnederbord = arsnederbord + (tonumber(rain[i]) or 0)
  end 
  local res = '{| class="wikitable" style="width: 19.5em; float: ' .. float .. '; clear: ' .. clear .. ';'
  if  float == 'left' then 
  	res = res .. 'margin-left:0em;margin-right:1em;'
  end
  res = res .. 'text-align: center; border: solid 1px silver" cellspacing=0 cellpadding=0>\n'
  res = res .. '|-\n! style="border-bottom-style:hidden;"|' .. plats.. '\n'
  res = res .. '|-\n! style="font-size: 90%; border-top-style:hidden;"|[[Klimatöversikt]] ([[Mall:Klimatöversikt/Förklaring|förklaring]])\n'
  res = res .. '|-\n|\n{| class="infobox" style="width: 100%; margin: 0; float: ' .. float .. '; clear: ' .. clear .. ';'
  if float == 'left' then 
     res = res .. 'margin-left:0em;margin-right:1em;'
  end
  res = res .. 'text-align: center; border: none; font-size: 90%" cellspacing=0 cellpadding=0>\n'
  res = res .. '|-\n|J||F||M||A||M||J||J||A||S||O||N||D\n'
  res = res .. '|-\n'
  for i = 1,12 do
  	res = res .. '|<div style="width:1.6em;height:17em;position:relative;padding:0;margin:0">'
  	res = res .. '<div style="height:6em;bottom:2em;width:1.6em;position:absolute;left:0;'
  	if anytemp then 
  		res = res .. 'border-top:dotted 1px #cba;'
  	end
  	if anyrain then 
  	  res = res .. 'border-bottom:dotted 1px #abc;'
  	end
  	res = res .. 'padding:0;margin:-1px 0">&nbsp;</div>'
  	if type(tonumber(rain[i])) == 'number' then
       res = res .. '<div style="background:#ace;position:absolute;bottom:2em;left:.2em;width:1.2em;height:' .. rain[i]/50 .. 'em;overflow:hidden">&nbsp;</div>'
       res = res .. '<div style="color:#ace;position:absolute;bottom:.5em;left:0;width:1.6em;height:1.5em;text-align:center"><span style="font-size:70%">'
       if tonumber(rain[i]) < 10 then 
       	  res = res .. math.floor(tonumber(rain[i])*10+0.5)*0.1
       else
       	  res = res .. math.floor(tonumber(rain[i])+0.5)
 	   end
       res = res .. '</span></div>\n'
    end
    if type(tonumber(minT[i])) == 'number' and type(tonumber(maxT[i])) == 'number' then
       	res = res .. '<div style="overflow:hidden;background:#e44;position:absolute;left:.4em;width:0.8em;bottom:'
       	res = res .. minT[i]/5+8 .. 'em;height:' .. (maxT[i]-minT[i])/5 .. 'em;">&nbsp;</div>\n'
       	res = res .. '<div style="color:#e44;position:absolute;bottom:' .. maxT[i]/5+8 .. 'em; left:-.4em;width:1.6em;height:1.5em;text-align:right;"><span style="font-size:80%">'
       	if tonumber(maxT[i])<0 then
       	  	res = res .. '−'
       	end
       	res = res .. math.abs(math.floor(tonumber(maxT[i])+0.5)) .. '</span></div>\n'
		res = res .. '<div style="color:#e44;position:absolute;bottom:' .. minT[i]/5+6.5 .. 'em; left:-.4em;width:1.6em;height:1.5em;text-align:right;"><span style="font-size:80%">'
		if tonumber(minT[i])<0 then 
			res = res .. '−'
		end
		res = res .. math.abs(math.floor(tonumber(minT[i])+0.5)) .. '</span></div>\n'
    end
   	res  = res .. '</div>\n'
  	res = res .. '\n'
  end 
  res = res .. '\n'
  if anytemp  then 
    res = res .. '|-\n|colspan=12 style="padding: 2px; text-align: left; line-height: 1.5em; color: #e44"|Genomsnittliga max. och min. temperaturer i °C\n'
  end
  if anyrain then 
    res = res .. '|-\n|colspan=12 style="padding: 2px; text-align: left; line-height: 1.5em; color: #ace"|Nederbördsmängd i mm.'
  end
  if allrain then
  	res = res .. ' Årsnederbörd: ' .. arsnederbord .. ' mm.'
  end
  if anyrain or allrain then
  	res = res .. '\n'
  end
  if source then
  	 res = res .. '|-\n|colspan=12 style="padding: 2px; text-align: left; line-height: 1.5em"|' .. "''Källa: " .. source .. "''\n"
  end
  res = res .. '|}\n|}\n'
  return res 
end

-- används av [[Mall:Fotomontage]]
-- kopierad från [[:en:Module:Photo montage]] 2016-06-11

local function isnotempty(s)
	return s and s:match( '^%s*(.-)%s*$' ) ~= ''
end

local function photomontage( frame )
	local args = frame:getParent().args
	local size = tonumber(args['size'] or '200') or 200
	local border = tonumber(args['border'] or '1') or 1
	local spacing = tonumber(args['spacing'] or '1') or 1
	local color = args['color'] or 'black'
	local color_border = args['color_border'] or 'black'
	local position = (args['position'] or ''):lower()
	local caption = args['text'] or ''
	local text_background = isnotempty(args['text_background']) and args['text_background'] or '#F8F8FF'
	local foot_montage = args['foot_montage'] or ''
	local lastnum = nil
	local rownum = nil
	local floatstyle = nil
	if( position == 'left' or position == 'right' or position == 'none') then
		floatstyle = 'float:' .. position
	elseif( position == 'center' or position == 'centre' ) then
		floatstyle = 'margin-left: auto; margin-right: auto;'
	end
	if isnotempty(foot_montage) then
		local div = mw.html.create('div')
		div:css('font-size', 'smaller')
			:wikitext(foot_montage)
		foot_montage = '\n' .. tostring(div)
	end

	local lettertonumber = { 
		a = '01', b = '02',	c = '03', d = '04',	e = '05', f = '06',	g = '07',
		h = '08', i = '09',	j = '10', k = '11',	l = '12', m = '13',	n = '14',
		o = '15', p = '16',	q = '17', r = '18', s = '19', t = '20', u = '21',
		v = '22', w = '23', x = '26', y = '27', z = '28' }
	local letters = {
		'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
		'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
		}

	-- find all the nonempty photo numbers
	local photos = {}
	local photocount = 0
	for k, v in pairs( args ) do
		local i = tonumber(tostring(k):match( '^%s*photo([%d]+)[a-z]%s*$' ) or '0')
		if( i > 0 and isnotempty(v) ) then
			local c = lettertonumber[tostring(k):match( '^%s*photo[%d]+([a-z])%s*$' )]
			table.insert( photos, tonumber(i .. '.' .. c ) )
			photocount = photocount + 1
		end
	end
	-- sort the photo numbers
	table.sort(photos)
	
	-- compute the number of the photos in each row
	local count = {}
	lastnum = -1
	rownum = 0
	for k=1,photocount do
		local num = math.floor(photos[k])
		if(num == lastnum) then
			count[rownum] = count[rownum] + 1
		else
			rownum = rownum + 1
			count[rownum] = 1
		end
		lastnum = num
	end

	if(photocount > 0) then
	-- start table
	root = mw.html.create('table')
	root
		:css('background-color', color)
		:css('border-collapse', 'collapse')
		:css('border', border .. 'px solid ' .. color_border)
		:css('width', size .. 'px')
		:cssText(floatstyle)
	local innercell = root
		:tag('tr')
			:tag('td')
				:css('border-top', 0)
				:css('padding', spacing .. 'px 0 0 ' .. spacing .. 'px')
 
	-- loop over the photos
	lastnum = -1
	rownum = 0
	local row
	for k=1,photocount do
		local num = math.floor(photos[k])
		local c = letters[math.floor(0.5 + 100*(photos[k] - num))]
		if(num ~= lastnum) then
			rownum = rownum + 1
			row = innercell
				:tag('table')
					:css('background-color', color)
					:css('border-collapse', 'collapse')
						:tag('tr')
		end
		local image = string.format( '[[File:%s|%dpx]]',
			args['photo' .. num .. c],
			(size - spacing*(count[rownum] - 1))/count[rownum] )
		row
			:tag('td')
				:css('border-top', 0)
				:css('padding', '0 ' .. spacing .. 'px ' .. spacing .. 'px ' .. '0')
				:wikitext(image)
		lastnum = num
	end
	if isnotempty(caption) then
		root
			:tag('tr')
				:tag('td')
					:addClass('thumbcaption')
					:css('background-color', text_background)
					:css('font-size', '88%')
					:wikitext(caption)
	end
	-- end table
	end
	
    return tostring(root or '') .. foot_montage
end

function p.montage( frame )
    return photomontage( frame )
end

-- Den ordning fallback language hämtas, om svensk label saknas. Engelska först, därefter bokmål, danska, etc...
local fallback = {'en', 'nb', 'da', 'nn', 'de', 'fr', 'es', 'it', 'pt'}
local formatera = require('Modul:Math')
local i18n = {
    ["errors"] = {
        ["property-param-not-provided"] = "Property parameter not provided.",
        ["entity-not-found"] = "Entity not found.",
        ["unknown-claim-type"] = "Unknown claim type.",
        ["unknown-snak-type"] = "Unknown snak type.",
        ["unknown-datatype"] = "Unknown datatype.",
        ["unknown-entity-type"] = "Unknown entity type.",
        ["unknown-value-module"] = "You must set both value-module and value-function parameters.",
        ["value-module-not-found"] = "The module pointed by value-module not found.",
        ["value-function-not-found"] = "The function pointed by value-function not found."
    },
    ["somevalue"] = "''unknown value''",
    ["novalue"] = "''no value''"
}
local sortingproperties = {'P585','P571','P580','P569','P582','P570'}

function versalisering(label, options)
	local versalisering = options.versalisering
	if options.firstversalisering and options.num == 1 then 
		versalisering = options.firstversalisering
	end
	if not versalisering or versalisering == '' then
		return label
	end
	if versalisering == 'lcfirst' then
		return mw.getCurrentFrame():preprocess("{{lcfirst: " .. label .. " }}")
	elseif versalisering == 'ucfirst' then
		return mw.language.getContentLanguage():ucfirst( label )
	elseif versalisering == 'lc' then
		return mw.getCurrentFrame():preprocess("{{lc: " .. label .. " }}")
	elseif versalisering == 'uc' then
		return mw.getCurrentFrame():preprocess("{{uc: " .. label .. " }}")
	end
	return label
end
function getqualifierbysortingproperty(claim, sortingproperty)
	for k, v in pairs(sortingproperty) do
		if claim.qualifiers and claim.qualifiers[v] and claim.qualifiers[v][1].snaktype == 'value' then
			return claim.qualifiers[v][1].datavalue.value.time 
		end
	end
	return nil
end

function getDate(claim, options)
	local sortingproperty = sortingproperties
	if type(options.sortingproperty) == 'table' then
		sortingproperty = options.sortingproperty
	elseif type(options.sortingproperty) == 'string' then
		sortingproperty = {options.sortingproperty}
	end
	return getqualifierbysortingproperty(claim, sortingproperty) 
end

function getDateArb(claim, options)
	local sortingproperty = options.sortingproperty or 'P569'
	if claim.mainsnak.snaktype == 'value' then
		local item = claim.mainsnak.datavalue.value['numeric-id']
		if claim.mainsnak.datavalue.value['entity-type'] == 'item' then
			item = 'Q' .. item
		elseif claim.mainsnak.datavalue.value['entity-type'] == 'property' then 
			item = 'P' .. item
		end
		return formatStatements({property = sortingproperty, entityId = item, enbarten = 'ja', sortbytime = 'chronological', noref = 'ja'})
	end
end

function comparedates(a, b) 
	if a and b then
		return a > b
	elseif a then
		return true
	end
end

function sortbyqualifier(claims, options)
	
	table.sort(claims, function(a,b)
		local timeA = getDate(a, options)
		local timeB = getDate(b, options)
		if options.sortbytime == 'inverted' then
			return comparedates(timeB, timeA)
		else
			return comparedates(timeA, timeB)
		end
	end
	)
	return claims
end

function sortbyarb(claims, options)
	
	table.sort(claims, function(a,b)
		local timeA = getDateArb(a, options)
		local timeB = getDateArb(b, options)
		if options.sortbyarbitrary == 'inverted' then
			return comparedates(timeB, timeA)
		else
			return comparedates(timeA, timeB)
		end
	end
	)
	return claims
end

function getLabelFromFallBack( id ) 
	local entity = getEntityFromId( id )
	if not entity.labels then
		return {value = '[[d:' .. id .. '|' .. id .. ']][[Kategori:Wikidatabaserade länkar som leder till sidor utan label]]', language = ''}
	end
 	for k, v in pairs(fallback) do
		if entity.labels[v] then
			return {value = entity.labels[v].value, language = entity.labels[v].language}
		end
	end
	-- Om inget fallback-språk finns av de i variabeln ovan, så används det först definierade i objektet
	if entity.labels then 
		for v, k in pairs(entity.labels) do
			return {value = k.value, language = k.language}
		end
	end
	return {value = '-', language = ''}
end

function getEntityFromId( id )
	if id then 
		return mw.wikibase.getEntityObject( id )
	else
		return mw.wikibase.getEntityObject() 
	end
end
 
function getEntityIdFromValue( value )
    if value['entity-type'] == 'item' then
        return 'Q' .. value['numeric-id']
    elseif value['entity-type'] == 'property' then
        return 'P' .. value['numeric-id']
    else
        return formatError( 'unknown-entity-type' )
    end
end
 
function formatError( key )
    return '<span class="error">' .. i18n.errors[key] .. '</span>'
end
 
 
function formatStatements( options, ref )
   	local formattedStatements = {}
   	local claims = {}
   	if not options.property then
       	return formatError( 'property-param-not-provided' )
   	end

    if type(ref) == 'table' then -- för de fall där funktionen anropas och alla claims redan finns i en tabell
		claims = ref[options.property] or {}
	else
 
    	--Get entity
    	local entity = nil
    	if options.entity and type( options.entity ) == "table" then
        	entity = options.entity
    	else
        	entity = getEntityFromId( options.entityId )
    	end
 
    	if not entity then
        	return '' --TODO error?
    	end
 
    	if not entity.claims or not entity.claims[options.property:upper()] then
        	return '' --TODO error?
    	end
 
    	--Format statement and concat them cleanly
		if options.rank == 'best' or not options.rank then 
			claims = entity:getBestStatements( options.property:upper() )
		elseif options.rank == 'valid' then
			for i, statement in pairs( entity.claims[options.property:upper()] ) do
	    		if statement.rank == 'preferred' or statement.rank == 'normal' then
    				table.insert( claims, statement )
    			end
			end
		elseif options.rank == 'all' then
			for i, statement in pairs( entity.claims[options.property:upper()] ) do
				table.insert( claims, statement )
			end
		else
			for i, statement in pairs( entity.claims[options.property:upper()] ) do
				if statement.rank == options.rank then
					table.insert( claims, statement )
				end
			end
		end
		if options.avoidqualifier then
			local claims2 = {}
			for i, statement in pairs( claims ) do	
				if not statement.qualifiers or not statement.qualifiers[options.avoidqualifier:upper()] then
					table.insert( claims2, statement)
				end
			end
			claims = claims2
		end
		--om det finns vissa statements som har en qualifier som säger "språk = svenska", ta bara med dessa
		--alternativt om det finns statements som har en qualifier som säger "skriptsystem == latinska alfabetet"
		if not options.langpref or options.langpref == '' then
			local claims2 = {}
			for i, statement in pairs( claims ) do
				if statement.qualifiers and statement.qualifiers.P407 then
					for k, v in pairs( statement.qualifiers.P407 ) do
						if v.snaktype == 'value' and v.datavalue.value['numeric-id'] == 9027 then -- Q9027 = 'svenska'
							table.insert( claims2, statement )
						end
					end
				elseif statement.qualifiers and statement.qualifiers.P282 then
					for k, v in pairs( statement.qualifiers.P282 ) do
						if v.snaktype == 'value' and v.datavalue.value['numeric-id'] == 8229 then -- Q8229 = 'latinska alfabetet'
							table.insert( claims2, statement )
						end
					end
				end
			end
			if #claims2 > 0 then
				claims = claims2
			end
		end
		if options.sortbytime == 'chronological' or options.sortbytime == 'inverted' then
			claims = sortbyqualifier(claims, options)
		elseif options.sortbyarbitrary == 'chronological' or options.sortbyarbitrary == 'inverted' then
			claims = sortbyarb(claims, options)
		end
	end
	if options.enbarten and options.enbarten ~= '' and #claims > 1 then
		claims = {claims[1]}
	end
	local statementsraw = {}
	if claims then
		for i, statement in pairs( claims ) do
			options.num = i
			local stat = formatStatement( statement, options )
			if stat then
				local s = stat.value
				local d = stat.datum
				local tf = stat.tifr
				local pr = stat.pr
				local utgivort = stat.utgivort
				if s == '' then s = nil end
				if s then
					if d and options.withdate and options.withdate ~= '' then
						s = s .. mw.text.tag('small', {}, ' (' .. d .. ')')
					end
					if tf and options.withintervall and options.withintervall ~= '' then
						if options.withintervall == 'gift' then
							s = s .. mw.text.tag('br') .. mw.text.tag('small', {}, '(g. ' .. tf .. ')')
						else
							s = s .. mw.text.tag('small', {}, ' (' .. tf .. ')')
						end
					end
					if utgivort and options.withutgivort and options.withutgivort ~= '' then
						if options.withutgivort == 'parantes och small' then
							s = s .. ' ' .. mw.text.tag('small', {}, ' (' .. utgivort .. ')')
						else
							s = s .. ' ' .. utgivort
						end
					end
					if options.getsimpleproperty == 'född' and pr and pr ~= '' then
						s = s .. ' ' .. mw.text.tag('small', {}, '(f. ' .. pr .. ')')
					end
					if options.getsimpleproperty == 'parentes' and pr and pr ~= '' then
						s = s .. ' ' .. mw.text.tag('span', {}, '(' .. pr .. ')')
					end
					if options.getsimpleproperty == 'avnågon' and pr and pr ~= '' then
						s = s .. ' ' .. mw.text.tag('span', {}, ' av ' .. pr .. '')
					end
					if type(ref) == 'table' or (options.noref and options.noref ~='') then --Inte leta efter referenser om själva anropet görs från en referens
						table.insert( formattedStatements, s )
					else
						local t = formatReferences( statement, options )
						stat.ref = t
						table.insert( formattedStatements, s .. t )	
					end
				end
				table.insert(statementsraw, stat)
			end
		end
	end
	local tot = mw.text.listToText( formattedStatements, options.separator, options.conjunction )
	if tot == '' then tot = nil end
	if options.raw and options.raw ~= '' then
		return statementsraw
	end
	if options.numberofclaims and options.numberofclaims ~= '' then
		return #formattedStatements
	end
	return tot
end
function formatReferences( statement, options )
	local reference = {}
	if statement.references then
		local cite = require('Modul:Cite')
		for i, ref in pairs(statement.references) do
			local items, s = {}, nil
			if ref.snaks then
				if ref.snaks.P248 then
					for j, prop in pairs(ref.snaks.P248) do
						table.insert(items, 'Q' .. prop.datavalue.value['numeric-id'])
					end
				end
				s = cite.citeitem( items, ref.snaks, options ) 
				if s == '' or not s then
					s = 'Källangivelsen på Wikidata använder propertys som inte känns igen av Modul:Cite'
				end
			end
			table.insert(reference, mw.getCurrentFrame():extensionTag( 'ref', s, {name = ref.hash} ) )
		end
	end
	return table.concat(reference)
end
function formatStatement( statement, options )
    if statement.type == 'statement' then
    	local s = formatSnak( statement.mainsnak, options )
    	if statement.qualifiers then
    		if statement.qualifiers.P585 then
    			s.datum = formatStatements({property = "P585", enbarten = 'true', noref = 'true', modifytime = options.modifyqualifiertime}, statement.qualifiers)
			end
			if statement.qualifiers.P574 then
				s.dateoftaxpub = formatStatements({property = "P574", enbarten = 'true', noref = 'true', modifytime = options.modifyqualifiertime}, statement.qualifiers)
			end
			if statement.qualifiers.P405 then
				local auktorer = {}
				for i, j in pairs(statement.qualifiers.P405) do
					if j.snaktype == 'value' then
						local item = 'Q' .. j.datavalue.value['numeric-id']
						local auktorsnamn = formatStatements({property = "P428", entityId = item, noref = 'ja', enbarten = 'ja'})
						if auktorsnamn and auktorsnamn ~= '' then
							table.insert(auktorer, formatEntityId(item, {label = auktorsnamn}).value)
						else
							table.insert(auktorer, formatEntityId(item, {}).value)
						end
					end
				end
				s.auktor = mw.text.listToText(auktorer, ', ', ' & ')
			end	
			if s and (statement.qualifiers.P580 or statement.qualifiers.P582) then
				local f = formatStatements({property = "P580", enbarten = 'true', noref = 'true', modifytime = options.modifyqualifiertime}, statement.qualifiers) or ''
				local t = formatStatements({property = "P582", enbarten = 'true', noref = 'true', modifytime = options.modifyqualifiertime}, statement.qualifiers) or ''
				s.tifr = f .. '–' .. t
			end
			if statement.qualifiers.P291 then
				s.utgivort = formatStatements({property = "P291", noref = 'true', separator = options.qualifierseparator, conjunction = options.qualifierconjunction}, statement.qualifiers)
			end
			if statement.qualifiers.P2096 then
				s.bildtext = formatStatements({property = "P2096", noref = 'true', langpref = (options.langpref or 'sv')}, statement.qualifiers)
			end
			if s then
				if options.qual1 and options.qual1 ~= '' and statement.qualifiers[options.qual1] then
					s.qp1 = formatStatements({property = options.qual1, noref = 'true', separator = options.qualifierseparator, conjunction = options.qualifierconjunction}, statement.qualifiers)
				end
				if options.qual2 and options.qual2 ~= '' and statement.qualifiers[options.qual2] then
					s.qp2 = formatStatements({property = options.qual2, noref = 'true', separator = options.qualifierseparator, conjunction = options.qualifierconjunction}, statement.qualifiers)
				end
				if options.qual3 and options.qual3 ~= '' and statement.qualifiers[options.qual3] then
					s.qp3 = formatStatements({property = options.qual3, noref = 'true', separator = options.qualifierseparator, conjunction = options.qualifierconjunction}, statement.qualifiers)
				end
				if options.qual4 and options.qual4 ~= '' and statement.qualifiers[options.qual4] then
					s.qp4 = formatStatements({property = options.qual4, noref = 'true', separator = options.qualifierseparator, conjunction = options.qualifierconjunction}, statement.qualifiers)
				end
				if options.qual5 and options.qual5 ~= '' and statement.qualifiers[options.qual5] then
					s.qp5 = formatStatements({property = options.qual5, noref = 'true', separator = options.qualifierseparator, conjunction = options.qualifierconjunction}, statement.qualifiers)
				end
			end
    	end
		return s
	elseif not statement.type then
		return formatSnak( statement, options )
    end
	return {value = formatError( 'unknown-claim-type' )}
end
 
function formatSnak( snak, options )
    if snak.snaktype == 'somevalue' then
    	if options.somevalue then
    		if options.somevalue == '' then
    			return nil
    		else
    			return {value = options.somevalue}
    		end
    	end
        return {value =  i18n['somevalue']}
    elseif snak.snaktype == 'novalue' then
    	if options.novalue then
    		if options.novalue == '' then
    			return nil
    		else
    			return {value = options.novalue}
    		end
    	end
        return {value = i18n['novalue']}
    elseif snak.snaktype == 'value' then
    	local s = formatDatavalue( snak.datavalue, options, snak.datatype )
    	if s and options.prefix and options.prefix ~= '' then
    		s.value = options.prefix .. s.value
    	end
    	if s and options.suffix and options.suffix ~= '' then
    		s.value = s.value .. options.suffix
    	end
        if s and s.item and options.getsimpleproperty and options.getsimpleproperty ~= '' and options.getproperty and options.getproperty ~= '' then
        	local pr = formatStatements({property = options.getproperty, entityId = s.item, enbarten = options.getenbarten, noref = 'ja', modifytime = options.getmodifytime, raw = options.getraw})
        	if pr then s.pr = pr end
        end
        return s
    else
        return {value = formatError( 'unknown-snak-type' )}
    end
end
 
function formatDatavalue( datavalue, options, datatype )
    --Use the customize handler if provided
    if options['value-module'] or options['value-function'] then
        if not options['value-module'] or not options['value-function'] then
            return {value = formatError( 'unknown-value-module' )}
        end
        local formatter = require ('Module:' .. options['value-module'])
        if not formatter then
            return {value = formatError( 'value-module-not-found' )}
        end
        local fun = formatter[options['value-function']]
        if not fun then
            return {value = formatError( 'value-function-not-found' )}
        end
        return {value = fun( datavalue.value, options )}
    end
 
    --Default formatters
    if datatype == 'wikibase-item' then
    	local s = formatEntityId( getEntityIdFromValue( datavalue.value ), options )
    	s.item = getEntityIdFromValue( datavalue.value )
    	if options.relevans and options.relevans ~= '' then
    		if not mw.wikibase.sitelink( s.item ) then
    			return nil
    		end
    	end
		return s
        
    elseif datatype == 'string' or datatype == 'commonsMedia' or datatype == 'external-id' then
        if options.pattern and options.pattern ~= '' then
        	if options.pattern == "auktoritetsdata" then
        		local patter = formatStatements( {property = "P1630", entityId = options.property, enbarten = 'true', noref = 'true' })
        		return {value = formatFromPattern( datavalue.value, {pattern = patter} )}
        	elseif options.pattern == "auktoritetsdata2" then
        		local patter = formatStatements( {property = "P1630", entityId = options.property, enbarten = 'true', noref = 'true' })
        		return {value = '[' .. formatFromPattern( datavalue.value, {pattern = patter} ) .. ' ' .. datavalue.value .. ']' } 
        	else
            	return {value = formatFromPattern( versalisering(datavalue.value, options), options )}
            end
        else
            return {value = versalisering(datavalue.value, options), label = datavalue.value}
        end
        
    elseif datatype == 'time' then
        local Time = require 'Module:Time'
        local tid = Time.newFromWikidataValue( datavalue.value ):toHtml()
        if options.modifytime == 'longdate' then
        	local mall = ''
        	if datavalue.value.precision >= 11 then
        		mall = '{{#time:j F Y|' .. string.gsub(datavalue.value.time,'-00','-01') .. '}}'
				tid = mw.getCurrentFrame():preprocess(mall)
        	elseif datavalue.value.precision == 10 then
        		mall = '{{#time:F Y|' .. string.gsub(datavalue.value.time,'-00','-01') .. '}}'
        		tid = mw.getCurrentFrame():preprocess(mall)
        	elseif datavalue.value.precision == 9 then
        		mall = '{{#time:Y|' .. string.gsub(datavalue.value.time,'-00','-01') .. '}}'
        		tid = mw.getCurrentFrame():preprocess(mall)
        	end
    	elseif options.modifytime == 'Y' then
    		local mall = '{{#time:Y|' .. string.gsub(datavalue.value.time,'-00','-01') .. '}}'
    		tid = mw.getCurrentFrame():preprocess(mall)
        end
        return {value = tid}
        
    elseif datatype == 'globecoordinate' then
        local GlobeCoordinate = require 'Module:GlobeCoordinate'
        return {value = GlobeCoordinate.newFromWikidataValue( datavalue.value ):toHtml()}
    
	elseif datatype == 'quantity' then 
		local amount, unit, cat = datavalue.value.amount, datavalue.value.unit, nil
		if unit then
			unit = unit:match('Q%d+')
		end
		
		local number = formatera.newFromWikidataValue(datavalue.value)

		local unitraw = unit
		if unit then
			-- Kontrollerar om det finns någon förkortning för denna 'unit'
			local lab = options.label or formatStatements({property = 'P498', entityId = unit, enbarten = 'true', noref = 'true'}) or formatStatements({property = 'P558', entityId = unit, enbarten = 'true', langpref = options.langpref, noref = 'true'})
			if lab and ( not options.nounitshort or options.nounitshort == '' )  then
				local s = formatEntityId( unit, {label = lab, nolink = (options.nounitlink or options.nolink) })
				unit = s.value
				cat = s.cat
			else -- om det inte finns en förkortning
				local s = formatEntityId( unit, {nolink = options.nounitlink})
				unit = s.value
				cat = s.cat
			end
		end
		return {value = number .. ' ' .. (unit or ''), amount = amount, unit = unit, unitraw = unitraw, cat = cat}
		
	elseif datatype == 'url' then
		if options.label and options.label ~= '' then
			return {value = '[' .. datavalue.value .. ' ' .. options.label .. ']'}
		else
			return {value = datavalue.value}
		end
		
	elseif datatype == 'monolingualtext' then
		if not options.langpref or options.langpref == '' then
			return {value = mw.text.tag('span', {title = mw.language.fetchLanguageName(datavalue.value.language, 'sv')}, datavalue.value.text), text = datavalue.value.text}
		else
			if options.langpref == datavalue.value.language then
				return {value = mw.text.tag('span', {title = mw.language.fetchLanguageName(datavalue.value.language, 'sv')}, datavalue.value.text), text = datavalue.value.text}
			end
		end
    else
        return {value = formatError( 'unknown-datatype' )}
    end
end

function formatEntityId( entityId, options )
	local label = options.label or mw.wikibase.label( entityId )
	if label == '' then
		label = mw.wikibase.label( entityId ) or nil
	end
	
    local link = mw.wikibase.sitelink( entityId )

    if link and (not options.nolink or options.nolink == '') then
        if label and label ~= '' then
            return {value = '[[:' .. link .. '|' .. versalisering(label, options) .. ']]', label = label }
        else
            return {value = '[[:' .. versalisering(link, options) .. ']]', label = link }
        end
    else
    	if label then
    		return {value = versalisering(label, options), label = label}
    	else
    		local s = getLabelFromFallBack( entityId )
    		local l = mw.language.fetchLanguageName(s.language, 'sv')
    		if not l or l == '' then
    			l = 'okänt språk'
    		end
    		if s then
    			return {value = mw.text.tag('span', {title = l, ['data-q'] = entityId, class='modulwikidata2_missingswedishlabel'}, versalisering(s.value, options) ), cat = 'Wikidataetiketter på ' .. l, label = s.value }
    		end
    	end
    	return {value = entityId, cat = 'som har labels med Qid', label = entityId}
    end
end
 
function formatFromPattern( str, options )
    return mw.ustring.gsub( options.pattern, '$1', str ) .. '' --Hack to get only the first result of the function
end
 
function p.formatEntityId( entityId, options )
	return formatEntityId( entityId, (options or {}) )
end
	
function p.formatStatements( frame, key )
    local args = frame.args
 
    --If a value if already set, use it
    if args.value and args.value ~= '' then
        return args.value
    end
    return formatStatements( frame.args, key )
end
 
function p.formatStatementsFromLua( options, key )
    --If a value if already set, use it
    if options.value and options.value ~= '' then
        return options.value
    end
    local s = formatStatements( options, key )
    if s == '' then
    	s = nil
    end
    return s
end
 
-- Return the site link (for the current site) for a given data item.
function p.getSiteLink( frame )
    if frame.args[1] == nil then
        entity = mw.wikibase.getEntityObject()
        if not entity then
        	entity = mw.wikibase.getEntityObject(frame.args[1])
        end
        id = entity.id
    else
        id = frame.args[1]
    end
 
    return mw.wikibase.sitelink( id )
end

-- This is used to get the TA98 (Terminologia Anatomica first edition 1998) values like 'A01.1.00.005' (property P1323)
-- which are then linked to http://www.unifr.ch/ifaa/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/01.1.00.005%20Entity%20TA98%20EN.htm
-- uses the newer mw.wikibase calls instead of directly using the snaks
-- formatPropertyValues returns a table with the P1323 values concatenated with ", " so we have to split them out into a table in order to construct the return string
p.getTAValue = function(frame)
	local ent = mw.wikibase.getEntityObject()
	local props = ent:formatPropertyValues('P1323')
	local out = {}
	local t = {}
	for k, v in pairs(props) do
		if k == 'value' then
			t = mw.text.split( v, ", ")
			for k2, v2 in pairs(t) do
				out[#out + 1] = "[http://www.unifr.ch/ifaa/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/" .. string.sub(v2, 2) .. "%20Entity%20TA98%20EN.htm " .. v2 .. "]"
			end
		end
	end
	ret = table.concat(out, "<br> ")
	if #ret == 0 then
		ret = "Invalid TA"
	end
	return ret
end

function tablesize(T)
   local n = 0
   for _ in pairs(T) do n = n + 1 end
   return n
end 

--[[
  wdmatrix, skriver ut en tabell med länkar till artiklar för angivna wikidataobjekt på angivna språk
            samt uppgift om hur många språk som har länkar till objekten
  parametrar
  ==========
  objects: (obligatorisk) en kommaseparerad lista med qid
  langs: (obligatorisk) en kommaseparerat lista med språkkoder
  visa_P31: (frivillig) om värdet anges till 'ja' inkluderas en kolumn med påståendet P31 (är en instans av) i tabellen
  
  exempel
  =======
  {{#invoke:Modulnamn|wdmatrix|objects=Q210723,Q187140,Q2100893,Q18451251,Q4876106,Q4876107,Q16839444,Q386215|langs=en,es,de,sv}} 
]]

function p.wdmatrix(frame)
	local langs = frame.args['langs'] 
	local langstable = {}
	if langs then langstable = mw.text.split(langs,',') end
	local nlangs = tablesize(langstable)

	local objs = frame.args['objects']
	local objstable = {}
	if objs then objstable = mw.text.split(objs,',') end
	local nobjs = tablesize(objstable)

    local visa_P31 = (frame.args['visa_P31'] or '') == 'ja'
    local p31 = ''

	local sitelinks = {}
	local res = '{| class="wikitable"\n|-\n'
	res = res .. '!colspan=3| !!colspan=' .. nlangs+1 .. '|Språkutgåvor\n|-\n!Wikidataobjekt||Etikett'
	if (visa_P31) then res = res .. '||P31' end
	res = res .. '||#'
	for j = 1,nlangs do res = res .. '!!' .. langstable[j] .. 'wiki' end
	for i = 1,nobjs do
		local entity = mw.wikibase.getEntity(objstable[i]);
		if entity then
           	local n = 0
           	if entity.sitelinks then n = tablesize(entity.sitelinks) end
      		res = res .. '\n|-\n'
			res = res .. '| [[:d:' .. objstable[i] .. ']] || ' .. (entity:getLabel() or '-')
			if (visa_P31) then 
			    p31 = entity:formatStatements('P31').value
			    res = res .. '||' .. p31 
			end
		    res = res .. '|| align="right" |' .. n
      		for j = 1,nlangs do
       			local link = '-'
       			if entity.sitelinks then
       				for _, q in pairs(entity.sitelinks) do
	  				 	if q.site == langstable[j]..'wiki' then
	  				 		link = '[[:' .. langstable[j] .. ':' .. entity:getSitelink(q.site) .. '|' .. entity:getSitelink(q.site) .. ']]'
	  					 end
	  				end
	  			end
	  			res = res .. '||' .. link
			end 
	  	end
	end
	res = res .. '\n|}'
	return res
end

function p.templatetable(frame)
	local res = ''
	local pattern = frame.args['pattern'] or 'clear'
	local template = mw.text.split(pattern,'|')[1]
	local headerpattern = frame.args['headerpattern'] or ''
	local footerpattern = frame.args['footerpattern'] or ''
	local columns = frame.args['columns'] or 2
	local align = frame.args['text-align'] or 'left'
	local vertical_align = frame.args['vertical-align'] or 'top'
	local bgcolor = frame.args['bgColor'] or 'transparent'
	local width = frame.args['width'] or '100%'
	local font_size = frame.args['font-size'] or '100%'
	local class = frame.args['class'] or ''
	local majorseparator = frame.args['majorseparator'] or '§'
	local minorseparator = frame.args['minorseparator'] or ','
	local data = frame.args['data'] or ''
	local k=0
	local pars = 0
	local summor = {}
	if (data ~= '') then
		local table entries = mw.text.split(mw.text.trim(data,majorseparator),majorseparator)
		res = res .. '\n{| cellspacing="0" cellpadding="0" class="' .. class .. ' multicol" style="background:' .. bgcolor .. '; width:' .. width .. '; font-size:' .. font_size .. ';"'
		for c=1, columns do
			res = res .. '\n| style="width:' .. math.floor(100/columns) .. '%;text-align:' .. align .. ';vertical-align:' .. vertical_align .. ';" |'	
			local rader = math.ceil(#entries/columns)
    		if (not (#entries % columns == 0)) and (c > #entries % columns) then rader = rader - 1 end
    		for r=1,rader do
    	   		k = k + 1
    	   		local table d = {}
    	   		d = mw.text.split(entries[k],minorseparator)
    	   		pars = math.max(#d,pars)
    	   		local tmpstr = pattern
    	   		for m = 1,#d do 
    	   	 		tmpstr = string.gsub(tmpstr,'$'..m, d[m]) 
    	     		if summor[m] then 
    	     			summor[m] = summor[m] + (tonumber(d[m]) or 0) 
	     			else 
	     				summor[m] = tonumber(d[m]) or 0 
	     			end
    	   		end 
      	   		local table myargs = {}
    	   		myargs = mw.text.split(tmpstr,'|')
      	   		local theargs = {}
    	   		for a = 2,#myargs do theargs[a-1] = mw.text.trim(myargs[a],' }\n') end	
    	    	res = res .. '\n*' .. frame:expandTemplate{ title = template , args = theargs }
    		end
    	end
    	res = res .. '\n|}\n'
    end
    headerpattern = string.gsub(headerpattern, '$antal', k)
    for p=1,pars do headerpattern = string.gsub(headerpattern, '$sum'..p, summor[p]) end 
    footerpattern = string.gsub(footerpattern, '$antal', k)
    for p=1,pars do footerpattern = string.gsub(footerpattern, '$sum'..p, summor[p]) end 
    res = headerpattern .. res .. footerpattern
	return res
end

-- avrunda2, avrundar ett tal till önskat antal decimaler eller värdesiffror
--
-- parametrar 
-- ==========
-- varde (obligatorisk): det värde som ska avrundas, till exempel 12.467. det går bra med negativa tal
-- decimaler (frivillig): det antal decimaler som önska, till exempel 2. om decimaler ej anges används 0.
-- vardesiffror (frivillig): det antal värdesiffor som önskas, till exempel 3. denna parameter överrider parametern decimaler.
-- 
-- exempel
-- =======
-- {{#invoke:modulnamn|avrunda2|varde=12.658|decimaler=2}}
-- ger resultatet
-- 12.66
-- {{#invoke:modulnamn|avrunda2|varde=-12.658|vardesiffror=3}}
-- ger resultatet
-- -12.7
-- {{#invoke:modulnamn|avrunda2|varde=12.658}}
-- ger resultatet
-- 13

function p.avrunda2(frame)
     local varde = tonumber(frame.args['varde']) or 12.6456
     local multiply = 1
     if varde < 0 then
     	multiply = -1
     	varde = -varde
     end
     local decimaler = frame.args['decimaler'] or 0
     local vardesiffror = frame.args['vardesiffror']
     if (vardesiffror) then
       decimaler = tonumber(vardesiffror)-math.floor(math.log(varde)/math.log(10))-1
   	 end
  	 local res = ' ' .. multiply * math.floor(varde*10^decimaler+0.5)/10^decimaler
  	 if tonumber(decimaler) > 0 then
  	    if not string.match(res, '%.') then 
  	    res = res .. '.'
  	    end 
   	    decimalerna = string.sub(string.match(res .. '000000000000000000','%..*'),2,decimaler+1)
   	 	res = string.match(res, '.*%.') .. decimalerna
  	 end
     return res
end

function p.pageId(frame)
	local entity = mw.wikibase.getEntityObject()
	if not entity then return nil else return entity.id end
end

p.sortera = function(frame)
	local args = frame.args
	if args[1] == nil then
 		local pFrame = frame:getParent()
		args = pFrame.args
--		for k,v in pairs(frame.args) do
--			args[k] = v
--		end
	end
	local res = ''
	local a = {}
	for i, n in pairs(args) do table.insert(a,n) end
	table.sort(a)
	for i,n in ipairs(a) do res = res .. n  end
	return res
end

p.test2xx = function(frame)
 --   local args = frame.args
  	local args = {float = 'none', clear = 'float', title = 'Testdiagram', subtitle = 'Testing, Testing', width = '250', height = '300', xvalues = 'adam, bertil, cesar', seriesnames = 'aaa, bbb, ccc', ymin = '10', ymax = '20', yvalues1 = '11, 12, 13', yvalues2 = '14, 16, 18', yvalues3 = '17, 18, 19'} 
   	local float = args['float'] or 'none'
  	local clear = args['clear'] or float
  	local title = args['title'] or ''
  	local subtitle = args['subtitle'] or ''
    local defaultcolors = {'#4472c4', '#ed7d31', '#a5a5a5', '#ffc000', '#5b9bd5', '#70ad47', '#264478', '#9e480e', '#636363', '#997300', '#255e91', '#43682b', '#698ed0', '#f1975a', '#b7b7b7', '#ffcd33'}
   	local width = args['width'] or '400'
   	local height = args['height'] or '¨300'
   	local table xvalues = mw.text.split(args['xvalues'] or '',",")
   	local nxvalues = tablesize(xvalues)
   	local table seriesnames = mw.text.split(args['seriesnames'] or '', ",")
   	local ymin = args['ymin'] or 0
   	local ymax = args['ymax'] or 'auto'
   
   	local res = '{| class="wikitable" style="width:' .. width .. 'px; float: ' .. float .. '; clear: ' .. clear .. ';'
   	if  float == 'left' then 
  		res = res .. 'margin-left:0em;margin-right:1em;'
	end
  	res = res .. 'text-align: center; border: solid 1px silver" cellspacing=0 cellpadding=0>\n'
  	res = res .. '|-\n! style="border-bottom-style:hidden;"|' .. title.. '\n'
  	res = res .. '|-\n! style="font-size: 90%; border-top-style:hidden;"|' .. subtitle .. '\n'
  	res = res .. '|-\n|\n{| class="infobox" style="width: 100%; margin: 0; float: ' .. float .. '; clear: ' .. clear .. ';'
  	if float == 'left' then 
    	res = res .. 'margin-left:0em;margin-right:1em;'
  	end
  	res = res .. 'text-align: center; border: none; font-size: 90%" cellspacing=0 cellpadding=0>\n'
  	res = res .. '|-\n'
   	local n = 1
   	local table yvalues = {}
    res = res .. '|<div style="width:' .. width .. 'px;height:' .. height .. 'px;position:relative;padding:0;margin:0">'
  	while args['yvalues' .. n] do -- and (n==1) do
   		yvalues = mw.text.split(args['yvalues' .. n] or '', ",")
   		farg = defaultcolors[n]
     	for i = 1, nxvalues do
    		res = res .. '<div style="background:' .. farg .. ';position:absolute;bottom:1.5em;left:' .. 5*(i-0.5)+(n-1)*1.0 .. 'em;width:2em;height:' .. yvalues[i]*1 .. 'em;overflow:hidden">&nbsp;</div>'
    		if (n == 2) then
    			res = res .. '<div style="color:#808080;position:absolute;bottom:0.5em;left:' .. 5*(i-0.5)+(n-1)*1.0 .. 'em;width:2em;height:1.5em;text-align:center"><span style="font-size:70%">'
				res = res .. xvalues[i]  
            	res = res .. '</span></div>\n'
            end
		end 
      	n = n + 1
   	end
   	res = res .. '\n|}\n|}\n'	
   	return res
end

p.commonscat_WD = function(frame)
	local wikidata = require('Modul:Wikidata2').formatStatementsFromLua
	local res = ''
	local item = mw.wikibase.getEntityObject()
	local qid = frame:getParent().args[1]  -- bara för test
	if qid then item = mw.wikibase.getEntityObject(qid) end  -- bara för test 
	if item and wikidata({property="p373",entityId=item.id,noref="ja"}) then 
		res = '* [[Fil:Commons-logo.svg|15px|länk=]] Wikimedia Commons har media som rör ' .. wikidata({property="p373",noref="ja",pattern="[[:Commons:Category:$1|$1]]",entityId=item.id})..'.'
    end
    return res
end

p.hej2xx = function(frame)
	return 'hej'
end

p.getEntityIdForTitle = function(frame)
	title = frame.args['title']
	return mw.wikibase.getEntityIdForTitle(title)
end

p.svenskaspraknamn = function(frame)
	local res = '{| class=\"wikitable sortable collapsible collapsed\"\n|-\n! Språkkod !! Språknamn på svenska !! Språknamn på engelska !! Samma = Antagligen fel\n'
	local ordered_keys = {}
	local nsamma = 0
	spraktabell = mw.language.fetchLanguageNames('sv')
	for k in pairs(spraktabell) do
		table.insert(ordered_keys,k)
	end
	table.sort(ordered_keys)
	for i=1, #ordered_keys do
		local k, v = ordered_keys[i], spraktabell[ordered_keys[i]]
		v_en = mw.language.fetchLanguageName(k, 'en')
		res = res  .. '|-\n| ' .. k .. ' || ' .. v .. ' || ' .. v_en .. ' || ' 
		if v == v_en then
			nsamma = nsamma + 1
			res = res .. ' *** SAMMA *** '	
		end
		res = res .. '\n'
	end
	res = res .. '|}\n' .. #ordered_keys .. ' språkkoder varav ' .. nsamma .. ' har samma översättning på svenska som på engelska.\n'
	return res
end

p.nobelmedaljer = function(frame)
	local wd = require('Modul:Wikidata2')
	local res = ''
	local qid = frame.args['item'] or mw.wikibase.getEntityIdForCurrentPage() or "Q35149"
	utmarkelser = wd.formatStatementsFromLua({property="p166",noref="ja",entityId=qid,raw="ja"})
	if utmarkelser then
		for i,utmarkelse in pairs(utmarkelser) do
			ar = string.match(utmarkelse.datum or '','>(%d+)<') or ''
			if utmarkelse.item=="Q38104" then
				res = res .. ' [[Fil:Nobel_prize_medal.svg|20px|Nobelpristagare i fysik ' .. ar .. ']]'
			end
			if utmarkelse.item=="Q44585" then
				res = res .. ' [[Fil:Nobel_prize_medal.svg|20px|Nobelpristagare i kemi ' .. ar .. ']]'
			end
			if utmarkelse.item=="Q80061" then
				res = res .. ' [[Fil:Nobel_prize_medal.svg|20px|Nobelpristagare i fysiologi eller medicin ' .. ar .. ']]'
			end
			if utmarkelse.item=="Q37922" then
				res = res .. ' [[Fil:Nobel_prize_medal.svg|20px|Nobelpristagare i litteratur' .. ar .. ']]'
			end
			if utmarkelse.item=="Q35637" then
				res = res .. ' [[Fil:Nobel_prize_medal.svg|20px|Mottagare av Nobels fredspris ' .. ar .. ']]'
			end
		end	
	end
	return res
end

function p.ping(frame)
	local args = frame:getParent().args
	if not args[1] or args[1] == '' then
	   return mw.getCurrentFrame():preprocess("{{error|Fel i [[Mall:Ping]]: Användarnamn ej angivet.}}")
	end
	
	local str = '<span class="template-ping">'
	if args.prefix then
		str = str .. args.prefix
	else
		str = str .. '@'
	end
	for k, v in pairs(args) do
		if tonumber(k) then
			if k ~= 1 then
				str = str .. ', '
			end
			str = str .. '[[Användare:' .. v .. '|' .. v .. ']]'
		end
	end
	if args.p then
		str = str .. args.p
	else
		str = str .. ':'
	end
	str = str .. '</span>'
    return str
end

function p.fdstat(frame) 
   local log = ""
   local res = ""
   local id = frame:getParent().args['id']
   local property = frame.args['property']
   local logga = frame.args['logga'] and not (frame.args['logga'] == '')
   if logga then log = log .. ' <small>(' end
   local entity = nil
   if id then
      entity = mw.wikibase.getEntityObject(id)
   else
   	  entity = mw.wikibase.getEntityObject()
   end
   local ortid = nil
   if entity.claims[property] then
     ortid = entity.claims[property][1].mainsnak.datavalue.value['numeric-id']
   end
   if ortid then 
     ort = mw.wikibase.getEntityObject('Q' .. ortid)
     if logga then log = log .. frame:preprocess('{{Q|Q' .. ortid .. '}}, ') end
   else
   	 return '<ort saknas>'
   end
   iaoid = nil
   previoa = ort
   if ortid and ort.claims['P131'] then
     iaoid = ort.claims['P131'][1].mainsnak.datavalue.value['numeric-id']
     if logga then log = log .. frame:preprocess('{{Q|Q' .. iaoid .. '}}, ') end
   end
   iaoio = nil
   if iaoid then
     iao = mw.wikibase.getEntityObject('Q' .. iaoid)
     iaoio = iao.claims['P31'][1].mainsnak.datavalue.value['numeric-id']
   else
   	 log = log .. '<inom admin. område saknas>'
   end 
   n = 0
   while iaoio and iao.claims['P131'] do -- and not (iaoio == 35657 or iaoio == 1352230 ) do
   	 n = n + 1
   	 if iao.claims['P131'] then
        iaoid = iao.claims['P131'][1].mainsnak.datavalue.value['numeric-id']
        if logga then log = log .. frame:preprocess('{{Q|Q' .. iaoid .. '}}, ') end
     end
     if iaoid then
       previao = iao
       iao = mw.wikibase.getEntityObject('Q' .. iaoid)
       iaoio = iao.claims['P31'][1].mainsnak.datavalue.value['numeric-id'] 
     end
     if (n>10) then
     	log = log .. "LOOP ERROR?"
     	break
     end
     if iao.claims['P31'][1].mainsnak.datavalue.value['numeric-id'] == 6256 then break end
     if iao.claims['P31'][1].mainsnak.datavalue.value['numeric-id'] == 3624078 then break end
   end
   if iaoio then stat = previao end
   if ort then 
     if ort.sitelinks['svwiki'] then
    	res = res .. '[[' .. ort.sitelinks['svwiki'].title .. '|' .. ort.labels['sv'].value .. ']]' 
     else
     	if ort.labels['sv'] then
     	  res = res .. '[[' .. ort.labels['sv'].value .. ']]'
        else
          res = res .. ', [[:d:Q' .. ortid .. ']] (svensk etikett saknas)'
        end
     end 
   end
   if stat and not (start == ort) then 
   	 if stat.sitelinks['svwiki'] then
   	   res = res .. ', [[' .. stat.sitelinks['svwiki'].title .. '|' .. stat.labels['sv'].value .. ']]'
     else
       if stat.labels['sv'] then
         res = res .. ', [[' .. stat.labels['sv'].value .. ']]'	
       else
       	 res = res .. ', [[:d:Q' .. iaoid .. ']] (svensk etikett saknas)'
       end
     end
   end
   if logga then log = log .. ')</small>' end
   return res .. log
end

function p.test14(frame)
	function tablelength(T)
		local count = 0
		for _ in pairs(T) do count = count + 1 end
		return count
	end
	function ddiff(dat1,dat2x)
		local dat2 = dat2x 
		if string.len(dat2)<8 then dat2 = os.date("%Y%m%d") end
		local y1 = tonumber(string.sub(dat1,1,4))
		local m1 = tonumber(string.sub(dat1,5,6))
		local d1 = tonumber(string.sub(dat1,7,8))
		local y2 = tonumber(string.sub(dat2,1,4))
		local m2 = tonumber(string.sub(dat2,5,6))
		local d2 = tonumber(string.sub(dat2,7,8))
		local dy = y2-y1
		if m2<m1 or (m2==m1 and d2<d1) then dy=dy-1 end
		local y3 = y1 + dy
		t1 = {year=y1, month=m1, day=d1}
		t2 = {year=y2, month=m2, day=d2}
		t3 = {year=y3, month=m1, day=d1}
		local dd = os.difftime(os.time(t2),os.time(t3))/3600/24
		local ddd = os.difftime(os.time(t2),os.time(t1))/3600/24
	    return dy .. " år och " .. dd .. " dagar", ddd
	end
	function oldest(k,kon,sort)
		imax = tablelength(sort)
		iold = -1
		old = 0
		for i = 1, imax do
			if kon[i] == k and sort[i] > old then
				iold = i
			    old = sort[i]
		    end
		end
		sort[iold] = 0
	    return iold, old	
    end
    function datum(s)
    if s == "" then return "Lever" end
    return frame:preprocess("{{Date|"..string.sub(s,1,4).."-"..string.sub(s,5,6).."-"..string.sub(s,7,8).."}}")	
    end
	local res = ""
	local args=frame:getParent().args
	local n = tablelength(args)
	local antal = args['antal'] or 100
    local kon={}
    local namn={}
    local fdat={}
    local ddat={}
	local diff={}
	local days={}
	local sort={}
    local land={}
    res = '{| class="wikitable"\n'
    res = res .. '! Rank !! Kön !! Namn !! Född !! Död !! Ålder !! Nationalitet\n'
    for i=1,n do
	  local ii = 0
      namnstart = string.find(args[i],',')
      fdatstart = string.find(args[i],',',namnstart+1)
      ddatstart = string.find(args[i],',',fdatstart+1)
      landstart = string.find(args[i],',',ddatstart+1)
	  table.insert(kon,string.sub(args[i],1,namnstart-1))
	  table.insert(namn,string.sub(args[i],namnstart+1,fdatstart-1))
	  table.insert(fdat,string.sub(args[i],fdatstart+1,ddatstart-1))
	  table.insert(ddat,string.sub(args[i],ddatstart+1,landstart-1))
	  ddiffstr, ddiffsort = ddiff(string.sub(args[i],fdatstart+1,ddatstart-1),string.sub(args[i],ddatstart+1,landstart-1))
	  table.insert(diff,ddiffstr)
 	  table.insert(days,ddiffsort)
	  table.insert(sort,ddiffsort)
	  table.insert(land,string.sub(args[i],landstart+1,string.len(args[i])))
    end
    for i=1,antal do
       res = res .. '|-\n| rowspan="2"'	
       kiold,kold = oldest('K',kon,sort)
	   if kiold > 0 then
    		bg = ''
    		if ddat[kiold] == '' then bg = 'bgcolor=99FF99 |' end
    		res = res .. " | " .. i .. " || " .. bg .. kon[kiold] .. " || " .. bg .. namn[kiold] .. " || " .. bg .. datum(fdat[kiold]) .. " || " .. bg .. datum(ddat[kiold]) .. " || " .. bg .. diff[kiold] .. " (" .. string.gsub(days[kiold], "^(%d+)(%d%d%d)", '%1 %2') .. " dagar) || " .. bg .. land[kiold] .. "\n"
	   else
	     res = res .. ' | ' .. i .. '|| K || colspan ="5" |  \n' 	
	   end
       miold,mold = oldest('M',kon,sort)
       if miold > 0 then
    		bg = ''
    		if ddat[miold] == '' then bg = 'bgcolor=99FF99 |' end 
    		res = res .. "|-\n| " .. bg .. kon[miold] .. " || " .. bg .. namn[miold] .. "'' || " .. bg .. datum(fdat[miold]) .. " || " .. bg .. datum(ddat[miold]) .. " || " .. bg .. diff[miold] .. " (" .. string.gsub(days[miold], "^(%d+)(%d%d%d)", '%1 %2') .. " dagar) || " .. bg .. land[miold] .. "\n"
       else
    		res = res .. '|-\n| M || colspan = "5" |  \n'
       end
    end	
    res = res .. '|}'
    return res
end

p.faktamall = function(frame)
	local frame = frame:getParent()
	local res=''
	local grundclass = frame.args['grundclass'] or ''
	local grundstil = frame.args['grundstil'] or ''
	local cellspacing = frame.args['cellspacing'] or '3'
	local titel = frame.args['titel'] or ''
	local titelclass = frame.args['titelclass'] or ''
	local titelstil = frame.args['titelstil'] or ''
	local over = frame.args['över'] or ''
	local overclass = frame.args['överclass'] or ''
	local overstil = frame.args['överstil'] or ''
	local padding = frame.args['padding'] or '2px'
	local underrubrik1 = frame.args['underrubrik1'] or frame.args['underrubrik'] or ''
	local underrubrik2 = frame.args['underrubrik2'] or ''
	local underrubrikclass = frame.args['underrubrikclass'] or ''
	local underrubrikstil = frame.args['underrubrikstil'] or ''
	local bild1 = frame.args['bild1'] or frame.args['bild'] or ''
	local bild2 = frame.args['bild2'] or ''
	local bild3 = frame.args['bild3'] or ''
	local bildclass = frame.args['bildclass'] or ''
	local bildstil = frame.args['bildstil'] or ''
	local bildbredd1 = frame.args['bildbredd1'] or frame.args['bildbredd'] or '200'
	local bildbredd2 = frame.args['bildbredd2'] or '200'
	local bildbredd3 = frame.args['bildbredd3'] or '200'
	local bildtext1 = frame.args['bildtext1'] or frame.args['bildtext'] or ''
	local bildtext2 = frame.args['bildtext2'] or ''
	local bildtext3 = frame.args['bildtext3'] or ''
	local bildtextstil = frame.args['bildtextstil'] or ''
	local under = frame.args['under'] or ''
	local understil = frame.args['understil'] or ''
	local underclass = frame.args['underclass'] or ''
	local name = frame.args['name'] or ''
	local rubrikstil = frame.args['rubrikstil'] or ''
	local etikettstil = frame.args['etikettstil'] or ''
	local innehallsstil = frame.args['innehållsstil'] or ''
	local maxn = tonumber(frame.args['maxn'] or '240')

 	res = res .. '<table class="infobox' .. grundclass .. '" cellspacing="' .. cellspacing .. '" style="width: 22em; text-align: left; font-size: 88%; line-height: 1.6em; ' .. grundstil .. '">'
	if titel ~= '' then
	  res = res .. '<caption class="' .. titelclass .. '" style="font-size: 125%; font-weight: bold; ' .. titelstil .. '">' .. titel .. '</caption>'
    end
    if over ~= '' then
       res = res .. '<tr><td colspan="2" class="' .. overclass .. '" style="padding:' .. padding .. '; text-align:center; font-size: 125%; font-weight: bold; ' .. overstil .. '">' .. over ..'</td></tr>'
    end
    if underrubrik1 ~= '' then
    	res = res .. '<tr><td colspan="2" class="' .. underrubrikclass .. '" style="text-align:center; ' .. underrubrikstil .. '">' .. underrubrik1 .. '</td></tr>'
	end
    if underrubrik2 ~= '' then 
    	res = res .. '<tr><td colspan="2" class="' .. underrubrikclass .. '" style="text-align:center; ' .. underrubrikstil .. '">' .. underrubrik2 .. '</td></tr>'
    end
    if bild1 ~= '' then
    	res = res .. '<tr><td colspan="2" class="' .. bildclass .. '" style="text-align:center; ' .. bildstil .. '">' .. mw.getCurrentFrame():preprocess("{{#ifexist: Media:" .. bild1 .. "|[[Fil:" .. bild1 .. "|" .. bildbredd1 .. "px|" .. bild1 .. "]]|" .. bild1 .. "}}")
    	if bildtext1 ~= '' then res = res .. '<div style="' .. bildtextstil .. '">' .. bildtext1 .. '</div>' end	
    	res = res .. '</td></tr>'
    end
    if bild2 ~= '' then
    	res = res .. '<tr><td colspan="2" class="' .. bildclass .. '" style="text-align:center; ' .. bildstil .. '">' .. mw.getCurrentFrame():preprocess("{{#ifexist: Media:" .. bild2 .. "|[[Fil:" .. bild2 .. "|" .. bildbredd2 .. "px|" .. bild2 .. "]]|" .. bild2 .. "}}")
    	if bildtext2 ~= '' then res = res .. '<div style="' .. bildtextstil .. '">' .. bildtext2 .. '</div>' end	
    	res = res .. '</td></tr>'
 	end
	if bild3 ~= '' then
    	res = res .. '<tr><td colspan="2" class="' .. bildclass .. '" style="text-align:center; ' .. bildstil .. '">' .. mw.getCurrentFrame():preprocess("{{#ifexist: Media:" .. bild3 .. "|[[Fil:" .. bild3 .. "|" .. bildbredd3 .. "px|" .. bild3 .. "]]|" .. bild3 .. "}}")
    	if bildtext3 ~= '' then res = res .. '<div style="' .. bildtextstil .. '">' .. bildtext3 .. '</div>' end	
    	res = res .. '</td></tr>'
 	end
	for i = 1,maxn do
	   if frame.args['rubrik'..i] and frame.args['rubrik'..i] ~= ''then 
	      res = res .. '<tr><th colspan="2" style="text-align:center;' .. rubrikstil .. (frame.args['rubrik'..i..'stil'] or '') .. '">' .. frame.args['rubrik'..i] .. '</th></tr>'
	   elseif frame.args['etikett'..i] and frame.args['etikett'..i] ~= '' then
	   	  if frame.args['innehåll'..i] and frame.args['innehåll'..i] ~= '' then
			res = res .. '<tr><th style="text-align:left; ' .. etikettstil .. (frame.args['etikett'..i..'stil'] or '') .. '">' .. frame.args['etikett'..i] .. '</th><td class="' .. (frame.args['class'..i] or '') .. '" style="' .. innehallsstil .. (frame.args['innehåll'..i..'stil'] or '') .. '">' .. (frame.args['innehåll'..i] or '') .. '</td></tr>'
	   	  end
	   elseif frame.args['innehåll' ..i] and frame.args['innehåll'..i] ~= '' then
	      res = res .. '<tr><td colspan="2" class="' .. (frame.args['class'..i] or '') .. '" style="text-align:center; ' .. (frame.args['innehåll'..i..'stil'] or '') .. '">' .. frame.args['innehåll'..i] .. '</td></tr>'
	   end
    end
	if under ~= '' then
	   res = res .. '<tr><td colspan="2" style="text-align:center; ' .. understil ..'" class="' .. underclass .. '">' .. under .. '</td></tr>'
    end
    if name ~= '' then
		res = res .. '<tr><td style="text-align:right;" colspan="2">' .. mw.getCurrentFrame():preprocess("{{Tnavbar|" .. name .. "|viewplain=1}}") .. '</td></tr>'
	end
	res = res .. '</table>'
	return res 
end

p.getcoord = function(frame)
    local wd = require('Modul:Wikidata2')
    local qid = frame.args['qid'] or 'Q5626593'
    local what = frame.args['what'] or ''
    local item = mw.wikibase.getEntityObject(qid)
    local claims = item:getBestStatements( 'P625' )
    if what == 'lat' then 
    	return claims[1].mainsnak.datavalue.value.latitude
    end
    if what == 'long' then 
    	return claims[1].mainsnak.datavalue.value.longitude
	end
	return ''
end

p.sitelink = function(frame)
	local qid=frame.args['item']
	local site=frame.args['site'] or 'svwiki'
	local entity=nil
	local title=nil
	if qid then 
		entity=mw.wikibase.getEntityObject(qid)
	else
		entity=mw.wikibase.getEntityObject()
    end
	if entity and entity['sitelinks'][site] ~= nil then
		title=entity['sitelinks'][site]['title']
	end
	return title or ''
end

p.rangordning = function(frame)
	local property = frame.args['property']
	local entityId = frame.args['qid']
	local kommuner = {'Q510223', 'Q1128384', 'Q504257', 'Q515373', 'Q515409', 'Q500071', 'Q503209', 'Q501545', 'Q2642771', 'Q507684', 'Q509651', 'Q503184', 'Q504266', 'Q504239', 'Q504630', 'Q504244', 'Q505046', 'Q1345439', 'Q501551', 'Q123855', 'Q374794', 'Q62469', 'Q510010', 'Q62464', 'Q29963', 'Q515235', 'Q514805', 'Q505109', 'Q505085', 'Q149539', 'Q145835', 'Q508168', 'Q504692', 'Q498477', 'Q499380', 'Q487502', 'Q179180', 'Q845930', 'Q504261', 'Q513421', 'Q514707', 'Q515342', 'Q514770', 'Q271153', 'Q306789', 'Q503167', 'Q512035', 'Q505259', 'Q509609', 'Q503198', 'Q504689', 'Q505076', 'Q505096', 'Q505239', 'Q505071', 'Q605329', 'Q505052', 'Q280562', 'Q509546', 'Q509452', 'Q512002', 'Q510233', 'Q508153', 'Q515250', 'Q514756', 'Q515318', 'Q505006', 'Q515551', 'Q505057', 'Q515477', 'Q182007', 'Q509488', 'Q504235', 'Q240574', 'Q515491', 'Q515505', 'Q500217', 'Q254799', 'Q493855', 'Q499404', 'Q509476', 'Q493815', 'Q510310', 'Q512048', 'Q117091', 'Q499474', 'Q177019', 'Q186230', 'Q507656', 'Q255025', 'Q307569', 'Q307603', 'Q511310', 'Q514830', 'Q186662', 'Q499464', 'Q1130264', 'Q487648', 'Q508125', 'Q505013', 'Q504619', 'Q266401', 'Q504614', 'Q498857', 'Q513370', 'Q502298', 'Q427991', 'Q505018', 'Q503361', 'Q504594', 'Q504249', 'Q504626', 'Q504601', 'Q515266', 'Q504609', 'Q504227', 'Q515706', 'Q515519', 'Q504219', 'Q511338', 'Q505102', 'Q255206', 'Q201813', 'Q297936', 'Q307370', 'Q113718', 'Q113679', 'Q492614', 'Q113692', 'Q492575', 'Q301259', 'Q3120654', 'Q946647', 'Q214048', 'Q499460', 'Q505090', 'Q216915', 'Q503746', 'Q109010', 'Q506250', 'Q972564', 'Q516336', 'Q113730', 'Q493066', 'Q499425', 'Q113673', 'Q501526', 'Q500090', 'Q493841', 'Q117728', 'Q516080', 'Q503144', 'Q27982', 'Q239332', 'Q508140', 'Q500267', 'Q505246', 'Q501532', 'Q249378', 'Q505064', 'Q509568', 'Q516308', 'Q511253', 'Q504465', 'Q510198', 'Q59091', 'Q59858', 'Q59093', 'Q511365', 'Q498447', 'Q503204', 'Q499385', 'Q503122', 'Q511407', 'Q499359', 'Q498453', 'Q499393', 'Q510364', 'Q501494', 'Q505936', 'Q501205', 'Q511326', 'Q510135', 'Q2777887', 'Q376003', 'Q132334', 'Q948462', 'Q501540', 'Q514722', 'Q507644', 'Q507670', 'Q430780', 'Q501463', 'Q499415', 'Q507709', 'Q515861', 'Q504505', 'Q500210', 'Q271274', 'Q209634', 'Q514815', 'Q221990', 'Q504994', 'Q504983', 'Q271107', 'Q298003', 'Q431271', 'Q47018', 'Q47019', 'Q47169', 'Q42009', 'Q37404', 'Q37399', 'Q37462', 'Q34078', 'Q34550', 'Q498470', 'Q503162', 'Q267462', 'Q503102', 'Q894327', 'Q503132', 'Q503127', 'Q503214', 'Q499441', 'Q503148', 'Q503193', 'Q52502', 'Q511281', 'Q503111', 'Q428749', 'Q500125', 'Q499435', 'Q511394', 'Q503188', 'Q515358', 'Q511241', 'Q503173', 'Q427422', 'Q500153', 'Q501438', 'Q389040', 'Q511270', 'Q338752', 'Q125222', 'Q499421', 'Q501452', 'Q501420', 'Q511438', 'Q501424', 'Q501487', 'Q511228', 'Q501432', 'Q501459', 'Q501448', 'Q501479', 'Q28532', 'Q501470', 'Q501442', 'Q382808', 'Q501428', 'Q511426', 'Q511297', 'Q271079', 'Q293928', 'Q509501', 'Q509469', 'Q508180', 'Q220881', 'Q509634', 'Q504988', 'Q515326', 'Q515282', 'Q514858', 'Q514739', 'Q285894', 'Q297718', 'Q509514', 'Q503180', 'Q515299', 'Q499410', 'Q267030', 'Q508108', 'Q504676', 'Q515680', 'Q515969', 'Q509997', 'Q515699', 'Q271340', 'Q293970'
}
	res = false
	for i = 1,#kommuner do
	  if kommuner[i] == entityId then 
	  	res = true
	  	break
	  end
	end 
	if not res then return '' end
	n = 1
	thisvalue = tonumber(formatStatements({ entityId = entityId, property=property, raw="ja", noref="ja" })[1]['amount'])
	for i = 1,#kommuner do
		propvalue = formatStatements({ entityId = kommuner[i], property=property, raw="ja", noref="ja" })
        if propvalue[1]['amount'] then
			if tonumber(propvalue[1]['amount'])>thisvalue then n=n+1 end
		end
	end
    return n 
end

p.travtidskonverter = function(frame)
-- översätter tid från mm:ss.f till MM.SS,DD där
-- mm är antal minuter i indatatiden
-- ss är antal sekunder i indatatiden
-- f är antal femtedels sekunder i indatatiden
-- MM är antal minuter i utdatatiden
-- SS är antal sekunder i utdatatiden
-- DD är antal hundradels sekunder i utdatatiden
    local tid = frame.args['tid'] or '0:00.0'
	local kilometer_per_mile = 1.609344
	local minut_sekund_separator = frame.args['minut_sekund_separator'] or '.'
	local decimaltecken = frame.args['decimaltecken'] or ','
	local antal_decimaler = frame.args['antal_decimaler'] or 1
	local minut, sekund, femtedelssekund = string.match(tid..'.0', '(%d+)%D(%d+)%D(%d)')
	local sekunder = 60*tonumber(minut)+tonumber(sekund)+tonumber(femtedelssekund)/5
	local nytid = math.floor(sekunder/kilometer_per_mile*10^antal_decimaler+0.9999)/10^antal_decimaler
	local nyminut = math.floor(nytid/60)
	local nysekund = nytid - 60*nyminut
    local DD = ''
    if nysekund == math.floor(nysekund) then DD = decimaltecken .. string.rep('0',antal_decimaler) end
    nollutfyllnad_sekunder = ''
    if nysekund < 10 then nollutfyllnad_sekunder = '0' end
	res = nyminut .. minut_sekund_separator .. nollutfyllnad_sekunder .. string.gsub(nysekund,'%.',decimaltecken) .. DD
    return res .. string.rep('0',antal_decimaler-string.len(string.match(res,decimaltecken .. '(.*)')))
end

p.auktoritetsdatatest1 =function(frame)
	local id = frame.args['id'] or 'Q42'
	local variant = frame.args['variant'] or '1'
	local shortnames = (frame.args['shortnames'] or 'nej') == 'ja'
	local item = getEntityFromId(id)
	local n = 0
	local urls = {}
	local exids = {}
	local wikiarticles = {}
	local linktexts = {}
	local sorthelp = {}
	for c,v in pairs(item["claims"]) do
		hittad = 0
		for i, j in ipairs(v) do
			if (hittad==0) and not (j["rank"]=="deprecated") then
				hittad = i
			end
		end
		if (not (hittad==0)) and v[hittad].mainsnak.datatype == 'external-id' then
	    	local exid = v[1].mainsnak.datavalue.value
        	local prop = getEntityFromId(c)
        	local proplabel = prop["labels"]["en"].value
        	if prop["labels"]["sv"] then proplabel = prop["labels"]["sv"].value end
        	if prop["claims"]["P1630"] then -- strunta i identifikatorer som saknar P1630
				hittad = 0
        		for i, j in ipairs(prop["claims"]["P1630"]) do
        			if (hittad == 0) and not (j["rank"]=="deprecated") then 
						hittad = i 		-- TODO: en förfinad hantering när det finns mer än en P1630 som inte är Orekommenderad
					end
				end
				if not (hittad==0) then -- använd en P1630 som inte har Orekommenderad rang
					n = n + 1
    	    		local ffu = prop["claims"]["P1630"][hittad].mainsnak.datavalue.value
					exid = string.gsub(exid,'%%20',' ')
					exid = string.gsub(exid,' ','%%%%20')
					exid = string.gsub(exid,'-','%%%%2D')
        			local url = string.gsub(ffu,'$1',exid)
        			url = string.gsub(url,' ','%%20')
        			url = string.gsub(url,'|','%%7C')
        			urls[proplabel] = url
        			exids[proplabel] = exid
        			if variant == '3' or variant == '3B' then 
        				if shortnames and prop["claims"]["P1813"] then
			       			hittad = 0 
       						for i, j in ipairs(prop["claims"]["P1813"]) do
				  				if not (j["rank"]=="deprecated") and j.mainsnak.datavalue.value.language=='sv' then 
									hittad = i 	
								end
								if (hittad == 0) and not (j["rank"]=="deprecated") and j.mainsnak.datavalue.value.language=='en' then 
									hittad = i 	
								end
								--TODO: 'ca' is only for test, remove later
								if (hittad == 0) and not (j["rank"]=="deprecated") and j.mainsnak.datavalue.value.language=='ca' then 
									hittad = i 	
								end
							end
							if not (hittad==0) then
								linktexts[proplabel]=prop["claims"]["P1813"][hittad].mainsnak.datavalue.value.text
							end
						else
							linktexts[proplabel]=proplabel
						end

        				if variant == '3' then linkprop = 'P1629' end
        				if variant == '3B' then linkprop = 'P2378' end
        				if prop["claims"][linkprop] then
        					hittad = 0
        					local linkpropitem = nil
        					for i, j in ipairs(prop["claims"][linkprop]) do
        						if (hittad==0) and not (j["rank"]=="deprecated") and (j.mainsnak.datatype=='wikibase-item') then
        							linkpropitem = getEntityFromId(prop["claims"][linkprop][i].mainsnak.datavalue.value.id)
        							if linkpropitem["sitelinks"] and (linkpropitem["sitelinks"]["enwiki"] or linkpropitem["sitelinks"]["svwiki"]) then
        								hittad = i  -- TODO: en förfinad hantering när det finns mer än en P1629 som inte är Orekommenderad
        							end
        						end
        					end
        					if not (hittad==0) then  -- använd en P1629/P2378 som inte har Orekommenderad rang och som har länk till svwp eller enwp
								if linkpropitem["sitelinks"] and linkpropitem["sitelinks"]["enwiki"] then
									linktext = linktexts[proplabel] or linkpropitem["sitelinks"]["enwiki"]["title"]
									wikiarticles[proplabel] = mw.getCurrentFrame():preprocess('{{ILL|en|' .. proplabel .. '|' .. linktext .. '}}')
								end
								if linkpropitem["sitelinks"] and linkpropitem["sitelinks"]["svwiki"] then
									linktext = linktexts[proplabel] or proplabel
									wikiarticles[proplabel] = '[[' .. linkpropitem["sitelinks"]["svwiki"]["title"] .. '|' .. linktext .. ']]'
								end
    						end
    					end
        			end
        			
        			table.insert(sorthelp,proplabel)
	       		end
	       	end 
    	end 
	end
	table.sort(sorthelp)
	if variant=='1' then
		local res = ''
		res = res .. '{| class="wikitable collapsible collapsed"\n'
		res = res .. '|-\n'
		res = res .. '! colspan="2" style="background:#b0c4de; color:" | Auktoritetsdata (demo) för ' .. item["labels"]["sv"].value .. '\n'
		res = res .. '|-\n'
		res = res .. '! Extern identifikator (' .. n .. ' st) !! Länk\n'
		for i,j in ipairs(sorthelp) do
			res = res .. '|-\n| ' .. j .. ' || [' ..  urls[j] .. ' länk]\n'
		end	
		res = res .. '|}'
		return res 
	elseif variant=='2' then  -- ett kompaktare format med alla identifikatorer i en ruta
        local res = ''
		res = res .. '{| class="wikitable collapsible collapsed"\n'
		res = res .. '|-\n'
		res = res .. '! style="background:#b0c4de; color:" | Auktoritetsdata (demo ' .. variant .. ') för ' .. item["labels"]["sv"].value .. '\n'
		res = res .. '|-\n'
		res = res .. '! Externa identifikatorer (' .. n .. ' st)\n|-\n|<small> '
		for i,j in ipairs(sorthelp) do
			res = res ..  j .. ': <span title="' .. exids[j] .. '">[[File:Maki1-library-15.svg|link=' .. urls[j]..']]</span> &bull; '
		end	
		res = string.sub(res,1,-8) .. '</small>\n|}'
		return res 
	elseif variant=='3' or variant=='3B' then  -- som variant 2 men med länkar till svwp-artiklar (eller enwp) om de olika identifikatorerna 
        local res = ''
		res = res .. '{| class="wikitable collapsible collapsed"\n'
		res = res .. '|-\n'
		res = res .. '! style="background:#b0c4de; color:" | Auktoritetsdata (demo ' .. variant .. ') för ' .. item["labels"]["sv"].value .. '\n'
		res = res .. '|-\n'
		res = res .. '! Externa identifikatorer (' .. n .. ' st)\n|-\n|<small> '
		for i,j in ipairs(sorthelp) do
			local wikiarticle = wikiarticles[j] or linktexts[j] or j
			res = res ..  wikiarticle .. ': <span title="' .. exids[j] .. '">[[File:Maki1-library-15.svg|link=' .. urls[j]..']]</span> &bull; '
		end	
		res = string.sub(res,1,-8) .. '</small>\n|}'
		return res 
	end
end

p.datediff = function(frame)
	local wikidata = require('Modul:Wikidata2').formatStatementsFromLua
	local entityId = frame.args['entityId']
	local entity = mw.wikibase.getEntityObject()
	if not entityId and entity then entityId = entity.id end
	if not entityId then return '' end
	local date1 = frame.args['date1'] 
	local date2 = frame.args['date2'] 
	local prefix = frame.args['prefix'] or ''
	local suffix = frame.args['suffix'] or ''
	t1 = wikidata({entityId=entityId, property=date1, noref='ja', nolink='ja', rank='best'})
	if date2=='nu' then
		t2=os.date(">%Y-%m-%d")
	else
		t2 = wikidata({entityId=entityId, property=date2, noref='ja', nolink='ja', rank='best'})
	end
    if string.match(t1,'och') or string.match(t2, 'och') then  
    	return ''  --skip if more than one date with best rank	
    end
	y1,m1,d1=string.match(t1,'>(%d+)-(%d+)-(%d+)')
	y2,m2,d2=string.match(t2,'>(%d+)-(%d+)-(%d+)')
	if not d1 or not d2 then
		return '' -- skip if not both dates are full dates
	end
	diff = y2-y1
	if m2 < m1 then diff = diff-1 end
	if m2 == m1 and d2 < d1 then diff = diff - 1 end
	return prefix .. diff .. suffix
end

p.property_med_land = function(frame)
	local wikidata = require('Modul:Wikidata2').formatStatementsFromLua
	local res = ''
	local args = frame.args
	local item = args.item or mw.wikibase.getEntityIdForCurrentPage()
--	item = 'Q19056546' -- 'Q5580666' -- 'Q3742082'
	local entity = mw.wikibase.getEntityObject(item)
	if entity == nil then return nil end
	local property = args['property'] or 'P19'
	local noref = args['noref'] or 'noimport'
	local labelfromnameproperty = args['labelfromnameproperty'] or 'P569'
	local somevalue = args['somevalue'] or ''
	if entity['claims'][property] == nil then return nil end
	local claims = entity['claims'][property]
--	{{#invoke:|property=P19|noref=noimport|labelfromnameproperty=P569|somevalue=}}
	res = res .. wikidata({entityId=item, property=property, noref=noref, labelfromnameproperty=labelfromnameproperty, somevalue=nil })	
--	{{#ifeq:{{#invoke:property=P19|rank=all|numberofclaims=ja|noref=ja}}|1|
    local numberofclaims = tablesize(entity['claims'][property]) -- TODO: ignore possible claims with deprecated rank
--		{{#if:{{#invoke:|property=P19|noref=noimport|labelfromnameproperty=P569|somevalue=}}|
	if numberofclaims > 1 then return res end
	if entity['claims'][property][1].mainsnak.datatype ~= 'wikibase-item' then return res end
    local claim = entity['claims'][property][1].mainsnak.datavalue.value.id
--			{{#ifeq:{{#invoke:|property=P19/P17|noref=no|labelfromnameproperty=P569}}|
--				{{#invoke:|property=P19|noref=no|labelfromnameproperty=P569}}|
--	|
	local claimentity = mw.wikibase.getEntityObject(claim)
	if claimentity['claims']['P17'] == nil then return res end
	-- TODO: select P17 that don't give an anachronism, for now just skip if there are more than one P17
    if tablesize(claimentity['claims']['P17']) > 1 then return res end
    if claimentity['claims']['P17'][1].mainsnak.datatype ~= 'wikibase-item' then return res end
    if claimentity['claims']['P17'][1].mainsnak.datavalue.value.id == claim then return res end -- don't repeat if P17 is self-referencing
--					 {{#ifeq:{{#invoke:|property=P19/P17|noref=no|rank=valid|numberofclaims=ja}}|1|
--					 	,&nbsp;{{#invoke:|property=P19/P17|noref=no}}
	res = res .. ',&nbsp;' .. wikidata({property='p17', noref='ja', entityId=claim})
	return res
end

p.smalare_etikett = function(frame)
   local etikett = frame.args['etikett'] or ''
   local smalare = {
   	['upptäcktsdatum'] = 'upptäckts&shy;datum',
   	['kulturskyddsstatus'] = 'kulturskydds&shy;status',
   	['dotterorganisation'] = 'dotter&shy;organisation',
   	['datum för grundande eller skapande'] = 'grundad'
   }
   return smalare[etikett] or etikett
end 

p.p1629id_for_property = function(frame)
	local property = frame.args['property']
	return mw.wikibase.getEntityObject(property)['claims']['P1629'][1].mainsnak.datavalue.value.id
end

p.test_data_from_other_module = function(frame) 
	tidszonerna = require('Modul:Sandlådan/Larske/Testmodul11').tidszon
	local land = 'Q30'
	local state = 'Q16635'
	return 'Normaltiden i Guam är ' .. tidszonerna[land][state]['normaltid']
end 

p.wikisource = function(frame)
	res = nil
	local args = frame.args
	entity = mw.wikibase.getEntityObject(args.item)
	if entity['sitelinks']['svwikisource'] then
		res = '[[:src:' .. entity['sitelinks']['svwikisource']['title'] ..'|' .. entity['sitelinks']['svwikisource']['title'] .. ']]'
	end
	return res
end

p.SCBnykod = function(frame)
	gammalkod = frame.args['gammalkod'] or ''
	nykod = { ['T0152']='0114TB101',['T0160']='0114TB102',['T0236']='0114TB103',['TX010']='0114TB104',['TX024']='0114TB105',['T0450']='0114TB107',['T0388']='0115TC108',['T0116']='0115TB101',['T0142']='0115TB102',['T0146']='0115TB103',['T0202']='0115TB104',['T0208']='0115TB105',['T0224']='0115TB106',['T0232']='0115TB107',['T0408']='0117TC112',['T0102']='0117TB101',['T0194']='0117TB102',['T0256']='0117TB103',['T0270']='0117TB104',['T0290']='0117TB105',['T0292']='0117TB106',['T0302']='0117TB107',['T0306']='0117TB108',['T0326']='0117TB109',['T0334']='0117TB110',['T0350']='0117TB111',['T0448']='0117TB113',['T0172']='0120TC109',['T0106']='0120TB101',['T0118']='0120TB102',['T0120']='0120TB103',['T0122']='0120TB104',['T0136']='0120TB105',['T0154']='0120TB106',['T0162']='0120TB107',['T0166']='0120TB108',['T0174']='0120TB110',['T0180']='0120TB111',['T0186']='0120TB112',['T0198']='0120TB113',['T0214']='0120TB114',['T0234']='0120TB115',['T0248']='0120TB116',['T0250']='0120TB117',['T0312']='0120TB118',['T0314']='0120TB119',['T0324']='0120TB120',['T0342']='0120TB121',['T0366']='0120TB122',['T0370']='0120TB123',['T0410']='0120TB124',['T0418']='0120TB125',['T0438']='0120TB126',['T0440']='0120TB127',['TX016']='0123TB101',['TX018']='0123TB102',['TX030']='0123TB103',['T0150']='0125TC102',['T0140']='0125TB101',['T0151']='0125TB103',['T0182']='0125TB104',['T0210']='0125TB105',['T0218']='0125TB106',['T0230']='0125TB107',['T0246']='0125TB108',['T0266']='0125TB109',['T0318']='0125TB110',['T0328']='0125TB111',['T0362']='0125TB112',['T0378']='0125TB113',['T0414']='0125TB114',['T0424']='0125TB115',['TX032']='0125TB116',['T0452']='0125TB120',['T0454']='0125TB157',['T0183']='0125TB173',['T0178']='0126TB101',['T0394']='0126TB102',['T0406']='0126TB103',['TX012']='0126TB104',['T0372']='0127TC103',['T0282']='0127TB101',['T0298']='0127TB102',['T0396']='0127TB104',['TX002']='0127TB105',['TX006']='0127TB106',['TX022']='0127TB107',['TX034']='0127TB108',['T0458']='0127TB115',['TX028']='0128TB101',['T0132']='0136TB101',['T0200']='0136TB102',['T0238']='0136TB103',['T0258']='0136TB104',['T0402']='0136TB105',['T0404']='0136TB106',['T0430']='0136TB107',['T0434']='0136TB108',['TX014']='0136TB109',['T0110']='0138TB101',['T0170']='0138TB102',['T0274']='0138TB103',['T0376']='0138TB104',['TX008']='0138TB105',['TX020']='0138TB106',['T0220']='0139TC104',['T0112']='0139TB101',['T0124']='0139TB102',['T0190']='0139TB103',['T0242']='0139TB105',['T0286']='0139TB106',['T0358']='0139TB107',['T0360']='0139TB108',['T0426']='0139TB109',['T0460']='0139TB114',['T0260']='0140TC102',['T0158']='0140TB101',['T0262']='0140TB103',['T0262']='0140TB103',['T0382']='0140TB104',['T0468']='0140TB105',['T0114']='0160TB101',['T0288']='0160TB102',['TX004']='0160TB103',['T0368']='0162TB101',['T0384']='0163TC103',['T0304']='0163TB101',['T0316']='0163TB102',['TX026']='0163TB104',['TX036']='0163TB105',['T0336']='0180TC101',['T0356']='0181TC108',['T0148']='0181TB101',['T0196']='0181TB102',['T0204']='0181TB103',['T0244']='0181TB104',['T0272']='0181TB105',['T0310']='0181TB106',['T0344']='0181TB107',['T0374']='0181TB109',['T0390']='0181TB110',['T0398']='0181TB111',['T0428']='0181TB112',['T0444']='0181TB113',['T0104']='0182TB101',['T0156']='0182TB102',['T0192']='0182TB103',['T0212']='0182TB104',['T0216']='0182TB105',['T0216']='0182TB105',['T0296']='0182TB106',['T0416']='0182TB107',['T0436']='0182TB108',['T0228']='0186TC102',['T0108']='0186TB101',['T0332']='0186TB103',['T0466']='0186TB107',['T0392']='0187TC104',['T0222']='0187TB101',['T0268']='0187TB102',['T0276']='0187TB103',['T0432']='0187TB105',['T0446']='0187TB106',['T0252']='0188TC109',['T0100']='0188TB101',['T0126']='0188TB102',['T0144']='0188TB103',['T0164']='0188TB104',['T0168']='0188TB105',['T0176']='0188TB106',['T0184']='0188TB107',['T0206']='0188TB108',['T0278']='0188TB110',['T0280']='0188TB111',['T0294']='0188TB112',['T0308']='0188TB113',['T0322']='0188TB114',['T0346']='0188TB115',['T0348']='0188TB116',['T0352']='0188TB117',['T0354']='0188TB118',['T0400']='0188TB119',['T0412']='0188TB120',['T0422']='0188TB121',['T0442']='0188TB122',['T0464']='0188TB138',['T0462']='0188TB172',['T0456']='0188TB189',['T0240']='0191TC102',['T0188']='0191TB101',['T0284']='0191TB103',['T0300']='0191TB104',['T0380']='0191TB105',['T0470']='0191TB129',['T0264']='0192TC103',['T0226']='0192TB101',['T0254']='0192TB102',['T0320']='0192TB104',['T0330']='0192TB105',['T0340']='0192TB106',['T0364']='0192TB107',['T0386']='0192TB108',['T0420']='0192TB109',['T0520']='0305TC101',['T0522']='0305TB102',['T0570']='0305TB103',['T0584']='0305TB104',['T0618']='0305TB105',['T0626']='0305TB106',['T0630']='0305TB107',['T0638']='0305TB108',['T0690']='0305TB114',['T0616']='0319TC103',['T0552']='0319TB101',['T0600']='0319TB102',['T0664']='0319TB104',['T0670']='0319TB105',['TX224']='0319TB106',['T0576']='0330TC102',['T0504']='0330TB101',['T0658']='0330TB103',['T6232']='0331TC102',['T6228']='0331TB101',['T6276']='0331TB103',['T6308']='0331TB104',['T6352']='0331TB105',['T6368']='0331TB106',['T6384']='0331TB107',['T0640']='0360TC106',['T0572']='0360TB101',['T0604']='0360TB102',['T0608']='0360TB103',['T0624']='0360TB104',['T0636']='0360TB105',['T0648']='0360TB107',['T0652']='0360TB108',['T0672']='0360TB109',['TX220']='0360TB110',['T0656']='0380TC125',['T0500']='0380TB101',['T0512']='0380TB102',['T0514']='0380TB103',['T0516']='0380TB104',['T0524']='0380TB105',['T0526']='0380TB106',['T0530']='0380TB107',['T0538']='0380TB108',['T0548']='0380TB109',['T0556']='0380TB110',['T0566']='0380TB111',['T0568']='0380TB112',['T0580']='0380TB113',['T0590']='0380TB114',['T0592']='0380TB115',['T0596']='0380TB116',['T0598']='0380TB117',['T0606']='0380TB118',['T0620']='0380TB119',['T0622']='0380TB120',['T0628']='0380TB121',['T0632']='0380TB122',['T0650']='0380TB123',['T0654']='0380TB124',['T0660']='0380TB126',['T0662']='0380TB127',['T0666']='0380TB128',['TX200']='0380TB129',['TX202']='0380TB130',['TX204']='0380TB131',['TX208']='0380TB132',['TX222']='0380TB133',['T0696']='0380TB163',['T0694']='0380TB238',['T0532']='0381TC101',['T0536']='0381TB102',['T0544']='0381TB103',['T0558']='0381TB104',['T0564']='0381TB105',['T0588']='0381TB106',['T0612']='0381TB107',['T0680']='0381TB108',['T0682']='0381TB109',['TX216']='0381TB110',['T0692']='0381TB131',['T0688']='0382TC109',['T0508']='0382TB101',['T0528']='0382TB102',['T0540']='0382TB103',['T0560']='0382TB104',['T0610']='0382TB105',['T0614']='0382TB106',['T0676']='0382TB107',['T0684']='0382TB108',['TX210']='0382TB110',['T0904']='0428TC105',['T0704']='0428TB101',['T0776']='0428TB102',['T0802']='0428TB103',['T0808']='0428TB104',['T0752']='0461TC102',['T0724']='0461TB101',['T0860']='0461TB103',['T0930']='0461TB104',['T0812']='0480TC107',['T0702']='0480TB101',['T0708']='0480TB102',['T0728']='0480TB103',['T0736']='0480TB104',['T0780']='0480TB105',['T0794']='0480TB106',['T0816']='0480TB108',['T0818']='0480TB109',['T0828']='0480TB110',['T0832']='0480TB111',['T0838']='0480TB112',['T0854']='0480TB113',['T0856']='0480TB114',['T0876']='0480TB115',['T0888']='0480TB116',['T0908']='0480TB117',['T0916']='0480TB118',['TX160']='0480TB119',['T0932']='0480TB143',['T0820']='0481TC102',['T0778']='0481TB101',['T0744']='0482TC102',['T0712']='0482TB101',['T0768']='0482TB103',['T0796']='0482TB104',['T0804']='0482TB105',['T0822']='0482TB106',['T0836']='0482TB107',['T0848']='0482TB108',['T0784']='0483TC105',['T0716']='0483TB101',['T0720']='0483TB102',['T0734']='0483TB103',['T0748']='0483TB104',['T0844']='0483TB106',['T0864']='0483TB107',['T0900']='0483TB108',['T0924']='0483TB109',['TX154']='0483TB110',['T0740']='0484TC104',['T0700']='0484TB101',['T0726']='0484TB102',['T0730']='0484TB103',['T0756']='0484TB105',['T0760']='0484TB106',['T0764']='0484TB107',['T0786']='0484TB108',['T0788']='0484TB109',['T0840']='0484TB110',['T0842']='0484TB111',['T0870']='0484TB112',['T0880']='0484TB113',['T0882']='0484TB114',['T0886']='0484TB115',['T0892']='0484TB116',['T0918']='0484TB117',['T0920']='0484TB118',['TX150']='0484TB119',['TX152']='0484TB120',['TX156']='0484TB121',['TX158']='0484TB122',['TX162']='0484TB123',['TX164']='0484TB124',['TX268']='0484TB125',['T0868']='0486TC109',['T0699']='0486TB101',['T0722']='0486TB102',['T0772']='0486TB103',['T0782']='0486TB104',['T0798']='0486TB105',['T0800']='0486TB106',['T0806']='0486TB107',['T0852']='0486TB108',['T0890']='0486TB110',['T0902']='0486TB111',['T0912']='0486TB112',['TX266']='0486TB113',['T0884']='0488TC102',['T0790']='0488TB101',['T0896']='0488TB103',['T0898']='0488TB104',['T0910']='0488TB105',['T0928']='0488TB106',['T1332']='0509TC103',['T1108']='0509TB101',['T1294']='0509TB102',['T1336']='0512TC104',['T1000']='0512TB101',['T1092']='0512TB102',['T1228']='0512TB103',['T1132']='0513TC102',['T1100']='0513TB101',['T1220']='0513TB103',['TX240']='0513TB104',['TX248']='0513TB105',['T1040']='0560TC101',['T1264']='0560TB102',['T1328']='0561TC105',['T1012']='0561TB101',['T1024']='0561TB102',['T1048']='0561TB103',['T1072']='0561TB104',['T1056']='0562TC103',['T1032']='0562TB101',['T1052']='0562TB102',['T1080']='0562TB104',['T1104']='0562TB105',['T1112']='0562TB106',['T1116']='0562TB107',['T1164']='0562TB108',['T1168']='0562TB109',['T1206']='0562TB110',['T1216']='0562TB111',['T1256']='0562TB112',['TX252']='0562TB113',['T1304']='0563TC104',['T1076']='0563TB101',['T1084']='0563TB102',['T1224']='0563TB103',['T1350']='0563TB105',['T1152']='0580TC111',['T1004']='0580TB101',['T1008']='0580TB102',['T1016']='0580TB103',['T1020']='0580TB104',['T1044']='0580TB105',['T1050']='0580TB106',['T1068']='0580TB107',['T1124']='0580TB108',['T1142']='0580TB109',['T1148']='0580TB110',['T1160']='0580TB112',['T1172']='0580TB113',['T1200']='0580TB114',['T1212']='0580TB115',['T1236']='0580TB116',['T1238']='0580TB117',['T1252']='0580TB118',['T1272']='0580TB119',['T1288']='0580TB120',['T1296']='0580TB121',['T1308']='0580TB122',['T1318']='0580TB123',['TX244']='0580TB124',['TX246']='0580TB125',['T1192']='0581TC116',['T0996']='0581TB101',['T1018']='0581TB102',['T1046']='0581TB103',['T1054']='0581TB104',['T1058']='0581TB105',['T1074']='0581TB106',['T1088']='0581TB107',['T1120']='0581TB108',['T1128']='0581TB109',['T1140']='0581TB110',['T1144']='0581TB111',['T1146']='0581TB112',['T1156']='0581TB113',['T1166']='0581TB114',['T1178']='0581TB115',['T1196']='0581TB117',['T1232']='0581TB118',['T1242']='0581TB119',['T1248']='0581TB120',['T1268']='0581TB121',['T1276']='0581TB122',['T1310']='0581TB123',['T1310']='0581TB123',['T1324']='0581TB124',['T1326']='0581TB125',['T1330']='0581TB126',['T1344']='0581TB127',['TX254']='0581TB128',['TX258']='0581TB129',['T1354']='0581TB135',['T1352']='0581TB160',['T1284']='0582TC104',['T1162']='0582TB101',['T1170']='0582TB102',['T1184']='0582TB103',['T1320']='0582TB105',['T1348']='0582TB106',['T1188']='0583TC106',['T1028']='0583TB101',['T1060']='0583TB102',['T1064']='0583TB103',['T1070']='0583TB104',['T1136']='0583TB105',['T1204']='0583TB107',['T1292']='0583TB108',['T1322']='0583TB109',['T1340']='0583TB110',['TX242']='0583TB111',['TX250']='0583TB112',['TX262']='0583TB113',['TX264']='0583TB114',['T1300']='0584TC102',['T1036']='0584TB101',['TX256']='0584TB103',['T1180']='0586TC103',['T1096']='0586TB101',['T1176']='0586TB102',['T1244']='0586TB104',['T1260']='0586TB105',['T1280']='0586TB106',['T1316']='0586TB107',['T1404']='0604TC101',['T1480']='0604TB102',['T1684']='0604TB103',['T1488']='0617TC101',['T1508']='0617TB102',['T1556']='0617TB103',['T1592']='0617TB104',['T1604']='0617TB105',['T1714']='0617TB106',['T1738']='0617TB107',['T5380']='0642TC101',['T5408']='0642TB102',['T5284']='0643TC104',['T1534']='0643TB101',['T5228']='0643TB102',['T5252']='0643TB103',['T1484']='0662TC104',['T1400']='0662TB101',['T1440']='0662TB102',['T1452']='0662TB103',['T1504']='0662TB105',['T1624']='0662TB106',['T1652']='0662TB107',['T1664']='0662TB108',['TX292']='0662TB109',['T1656']='0665TC104',['T1720']='0665TC105',['T1426']='0665TB101',['T1516']='0665TB102',['T1552']='0665TB103',['T1544']='0680TC107',['T1412']='0680TB101',['T1416']='0680TB102',['T1432']='0680TB103',['T1448']='0680TB104',['T1486']='0680TB105',['T1500']='0680TB106',['T1548']='0680TB108',['T1554']='0680TB109',['T1576']='0680TB110',['T1612']='0680TB111',['T1628']='0680TB112',['T1660']='0680TB113',['T1692']='0680TB114',['T1696']='0680TB115',['T1704']='0680TB116',['T1708']='0680TB117',['T1742']='0680TB118',['T1748']='0680TB119',['TX284']='0680TB120',['TX286']='0680TB121',['TX288']='0680TB122',['T1756']='0680TB158',['T1608']='0682TC108',['T1408']='0682TB101',['T1424']='0682TB102',['T1464']='0682TB103',['T1464']='0682TB103',['T1468']='0682TB104',['T1476']='0682TB105',['T1492']='0682TB106',['T1584']='0682TB107',['T1614']='0682TB109',['T1640']='0682TB110',['T1668']='0682TB111',['T1676']='0682TB112',['T1740']='0682TB113',['T1732']='0683TC110',['T1428']='0683TB101',['T1436']='0683TB102',['T1472']='0683TB103',['T1524']='0683TB104',['T1532']='0683TB105',['T1564']='0683TB106',['T1572']='0683TB107',['T1632']='0683TB108',['T1712']='0683TB109',['T1736']='0683TB111',['TX282']='0683TB112',['TX290']='0683TB113',['T1754']='0683TB117',['T1688']='0684TC103',['T1636']='0684TB101',['T1680']='0684TB102',['T1728']='0684TB104',['T1724']='0685TC111',['T1420']='0685TB101',['T1456']='0685TB102',['T1520']='0685TB103',['T1560']='0685TB104',['T1568']='0685TB105',['T1600']='0685TB106',['T1606']='0685TB107',['T1620']='0685TB108',['T1644']='0685TB109',['T1648']='0685TB110',['T1752']='0685TB112',['TX280']='0685TB113',['T1460']='0686TC102',['T1444']='0686TB101',['T1512']='0686TB103',['T1528']='0686TB104',['T1540']='0686TB105',['T1588']='0686TB106',['T1700']='0687TC104',['T1496']='0687TB101',['T1536']='0687TB102',['T1672']='0687TB103',['T1758']='0687TB108',['T2036']='0760TC105',['T1804']='0760TB101',['T1848']='0760TB102',['T1912']='0760TB103',['T1948']='0760TB104',['T2040']='0760TB106',['TX304']='0760TB107',['TX306']='0760TB108',['TX312']='0760TB109',['T1916']='0761TC103',['T1876']='0761TB101',['T1896']='0761TB102',['T1976']='0761TB104',['T1992']='0763TC107',['T1836']='0763TB101',['T1844']='0763TB102',['T1892']='0763TB103',['T1932']='0763TB104',['T1960']='0763TB105',['T1968']='0763TB106',['T2004']='0763TB108',['T2020']='0763TB109',['T1808']='0764TC101',['T1860']='0764TB102',['T1872']='0764TB103',['T1944']='0764TB104',['T1996']='0764TB105',['T2012']='0764TB106',['T2048']='0765TC106',['T1828']='0765TB101',['T1828']='0765TB101',['T1832']='0765TB102',['T1840']='0765TB103',['T1880']='0765TB104',['T1920']='0765TB105',['TX308']='0765TB107',['T1940']='0767TC101',['T1980']='0767TB102',['T1988']='0767TB103',['T2000']='0767TB104',['T2024']='0780TC110',['T1818']='0780TB101',['T1818']='0780TB101',['T1820']='0780TB102',['T1852']='0780TB103',['T1856']='0780TB104',['T1884']='0780TB105',['T1908']='0780TB106',['T1952']='0780TB107',['T1956']='0780TB108',['T2002']='0780TB109',['T2028']='0780TB111',['T2032']='0780TB112',['TX300']='0780TB113',['TX302']='0780TB114',['TX310']='0780TB115',['T1858']='0780TB138',['T1936']='0781TC106',['T1802']='0781TB101',['T1802']='0781TB101',['T1812']='0781TB102',['T1900']='0781TB103',['T1904']='0781TB104',['T1924']='0781TB105',['T1964']='0781TB107',['T2016']='0781TB108',['TX314']='0781TB109',['T2264']='0821TC105',['T2108']='0821TB101',['T2172']='0821TB102',['T2200']='0821TB103',['T2220']='0821TB104',['T2388']='0821TB106',['T2428']='0834TC103',['T2112']='0834TB101',['T2416']='0834TB102',['TX332']='0834TB104',['T2344']='0840TC109',['T2092']='0840TB101',['T2106']='0840TB102',['T2152']='0840TB103',['T2208']='0840TB104',['T2214']='0840TB105',['T2216']='0840TB106',['T2240']='0840TB107',['T2284']='0840TB108',['T2350']='0840TB110',['T2396']='0840TB111',['T2404']='0840TB112',['T2458']='0840TB113',['TX348']='0840TB114',['TX354']='0840TB115',['T2492']='0840TB134',['T2260']='0860TC101',['T2276']='0860TB102',['T2320']='0860TB103',['T2336']='0860TB104',['T2348']='0860TB105',['T2384']='0860TB106',['T2400']='0860TB107',['T2456']='0860TB108',['T2464']='0860TB109',['TX346']='0860TB110',['T2340']='0861TC104',['T2120']='0861TB101',['T2180']='0861TB102',['T2188']='0861TB103',['T2354']='0861TB105',['T2424']='0861TB106',['T2480']='0861TB107',['TX352']='0861TB108',['TX358']='0861TB109',['T2490']='0861TB122',['T2160']='0862TC102',['T2128']='0862TB101',['T2168']='0862TB103',['T2272']='0862TB104',['T2312']='0862TB105',['T2468']='0862TB106',['TX340']='0862TB107',['T2280']='0880TC105',['T2130']='0880TB101',['T2154']='0880TB102',['T2244']='0880TB103',['T2248']='0880TB104',['T2300']='0880TB106',['T2304']='0880TB107',['T2316']='0880TB108',['T2368']='0880TB109',['T2376']='0880TB110',['T2380']='0880TB111',['T2408']='0880TB112',['T2422']='0880TB113',['T2436']='0880TB114',['T2444']='0880TB115',['T2452']='0880TB116',['T2482']='0880TB117',['TX330']='0880TB118',['TX338']='0880TB119',['T2352']='0881TC107',['T2100']='0881TB101',['T2144']='0881TB102',['T2184']='0881TB103',['T2192']='0881TB104',['T2292']='0881TB105',['T2332']='0881TB106',['T2332']='0881TB106',['T2356']='0881TB108',['T2484']='0881TB109',['TX334']='0881TB110',['TX342']='0881TB111',['T2360']='0882TC108',['T2124']='0882TB101',['T2164']='0882TB102',['T2176']='0882TB103',['T2204']='0882TB104',['T2288']='0882TB105',['T2328']='0882TB106',['T2330']='0882TB107',['T2372']='0882TB109',['T2394']='0882TB110',['TX326']='0882TB111',['T2494']='0882TB112',['T2472']='0883TC112',['T2096']='0883TB101',['T2104']='0883TB102',['T2116']='0883TB103',['T2156']='0883TB104',['T2212']='0883TB105',['T2236']='0883TB106',['T2256']='0883TB107',['T2268']='0883TB108',['T2308']='0883TB109',['T2364']='0883TB110',['T2432']='0883TB111',['T2488']='0883TB113',['TX336']='0883TB114',['TX356']='0883TB115',['T2460']='0884TC107',['T2196']='0884TB101',['T2232']='0884TB102',['T2390']='0884TB103',['T2412']='0884TB104',['T2420']='0884TB105',['T2440']='0884TB106',['T2132']='0885TC102',['T2114']='0885TB101',['T2266']='0885TB103',['T2296']='0885TB104',['T2324']='0885TB105',['T2410']='0885TB106',['TX322']='0885TB107',['TX324']='0885TB108',['TX350']='0885TB109',['T2552']='0980TC119',['T2500']='0980TB101',['T2504']='0980TB102',['T2506']='0980TB103',['T2508']='0980TB104',['T2512']='0980TB105',['T2518']='0980TB106',['T2520']='0980TB107',['T2524']='0980TB108',['T2528']='0980TB109',['T2530']='0980TB110',['T2532']='0980TB111',['T2534']='0980TB112',['T2536']='0980TB113',['T2538']='0980TB114',['T2540']='0980TB115',['T2542']='0980TB116',['T2544']='0980TB117',['T2548']='0980TB118',['T2556']='0980TB120',['T2560']='0980TB121',['T2564']='0980TB122',['TX360']='0980TB123',['T2720']='1060TC104',['T2628']='1060TB101',['T2668']='1060TB102',['T2684']='1060TB103',['T2772']='1060TB105',['T2680']='1080TC109',['T2606']='1080TB101',['T2612']='1080TB102',['T2620']='1080TB103',['T2624']='1080TB104',['T2630']='1080TB105',['T2640']='1080TB106',['T2644']='1080TB107',['T2664']='1080TB108',['T2686']='1080TB110',['T2712']='1080TB111',['T2716']='1080TB112',['T2728']='1080TB113',['T2736']='1080TB114',['T2738']='1080TB115',['T2740']='1080TB116',['T2742']='1080TB117',['T2744']='1080TB118',['T2760']='1080TB119',['T2764']='1080TB120',['TX374']='1080TB121',['TX380']='1080TB122',['TX384']='1080TB123',['T2780']='1080TB163',['T2732']='1081TC109',['T2600']='1081TB101',['T2604']='1081TB102',['T2616']='1081TB103',['T2632']='1081TB104',['T2660']='1081TB105',['T2672']='1081TB106',['T2682']='1081TB107',['T2688']='1081TB108',['T2734']='1081TB110',['T2746']='1081TB111',['TX372']='1081TB112',['TX378']='1081TB113',['T2676']='1082TC102',['T2648']='1082TB101',['T2700']='1082TB103',['T2748']='1082TB104',['T2750']='1082TB105',['T2754']='1082TB106',['T2776']='1082TB107',['TX370']='1082TB108',['TX382']='1082TB109',['T2752']='1083TC109',['T2610']='1083TB101',['T2652']='1083TB102',['T2656']='1083TB103',['T2692']='1083TB104',['T2696']='1083TB105',['T2704']='1083TB106',['T2708']='1083TB107',['T2724']='1083TB108',['T2768']='1083TB110',['T2774']='1083TB111',['TX376']='1083TB112',['T2778']='1083TB114',['T3716']='1214TC104',['T3340']='1214TB101',['T3544']='1214TB102',['T3660']='1214TB103',['T3744']='1214TB105',['T3760']='1214TB106',['T3696']='1230TC105',['T2814']='1230TB101',['T2818']='1230TB102',['T3460']='1230TB103',['T3543']='1230TB104',['T3840']='1230TB115',['T3374']='1231TB101',['T3812']='1231TB102',['TX402']='1231TB103',['T3780']='1233TC108',['T3324']='1233TB101',['T3438']='1233TB102',['T3492']='1233TB103',['T3496']='1233TB104',['T3572']='1233TB105',['T3658']='1233TB106',['T3672']='1233TB107',['T3800']='1233TB109',['T3832']='1233TB110',['T2828']='1256TC101',['T2884']='1256TB102',['T2912']='1256TB103',['T2920']='1256TB104',['T2948']='1256TB105',['T2972']='1256TB106',['T3052']='1256TB107',['T3212']='1256TB108',['T3208']='1257TC104',['T2856']='1257TB101',['T3080']='1257TB102',['T3188']='1257TB103',['T3352']='1260TC102',['T3344']='1260TB101',['T3392']='1260TB103',['T3432']='1260TB104',['T3432']='1260TB104',['T3736']='1260TB105',['TX422']='1260TB106',['TX430']='1260TB107',['TX438']='1260TB108',['TX444']='1260TB109',['T3552']='1261TC107',['T2950']='1261TB101',['T3336']='1261TB102',['T3337']='1261TB103',['T3388']='1261TB104',['T3408']='1261TB105',['T3464']='1261TB106',['T3568']='1261TB108',['T3592']='1261TB109',['T3662']='1261TB110',['T3802']='1261TB111',['T3814']='1261TB112',['T3576']='1262TC103',['T3356']='1262TB101',['T3402']='1262TB102',['TX400']='1262TB104',['TX404']='1262TB105',['T3724']='1263TC105',['T3332']='1263TB101',['T3466']='1263TB102',['T3532']='1263TB103',['T3668']='1263TB104',['T3684']='1264TC104',['T3300']='1264TB101',['T3656']='1264TB102',['T3680']='1264TB103',['T3664']='1265TC105',['T2952']='1265TB101',['T3360']='1265TB102',['T3364']='1265TB103',['T3600']='1265TB104',['T3714']='1265TB106',['T3738']='1265TB107',['T3792']='1265TB108',['T3816']='1265TB109',['T3838']='1265TB119',['T3500']='1266TC101',['T3580']='1266TB102',['T3636']='1266TB103',['T3834']='1266TB104',['T3836']='1266TB105',['T3836']='1266TB105',['T3504']='1267TC103',['T3064']='1267TB101',['T3368']='1267TB102',['T3574']='1267TB104',['T3622']='1267TB105',['T3634']='1267TB106',['T3690']='1267TB107',['T3728']='1267TB108',['T3748']='1267TB109',['T3112']='1270TC107',['T2836']='1270TB101',['T2996']='1270TB102',['T3028']='1270TB103',['T3074']='1270TB104',['T3084']='1270TB105',['T3088']='1270TB106',['T2832']='1272TC101',['T2850']='1272TB102',['T2892']='1272TB103',['T3020']='1272TB104',['T3024']='1272TB105',['T3136']='1272TB106',['TX416']='1272TB107',['T3032']='1273TC104',['T2944']='1273TB101',['T2956']='1273TB102',['T3000']='1273TB103',['TX428']='1273TB105',['T3036']='1275TC101',['T2964']='1276TC101',['T2968']='1276TB102',['T2992']='1276TB103',['T3092']='1276TB104',['T3224']='1276TB105',['T3534']='1276TB106',['TX414']='1276TB107',['TX448']='1276TB108',['T3192']='1277TC104',['T2810']='1277TB101',['T2928']='1277TB102',['T2984']='1277TB103',['TX436']='1277TB105',['T2840']='1278TC101',['T2880']='1278TB102',['T2888']='1278TB103',['T3116']='1278TB104',['T3172']='1278TB105',['T3220']='1278TB106',['T3604']='1280TC106',['T3372']='1280TB101',['T3520']='1280TB102',['T3524']='1280TB103',['T3536']='1280TB104',['T3548']='1280TB105',['T3640']='1280TB107',['T3682']='1280TB108',['T3750']='1280TB109',['T3754']='1280TB110',['T3756']='1280TB111',['T3788']='1280TB112',['T3804']='1280TB113',['T3584']='1281TC105',['T3380']='1281TB101',['T3416']='1281TB102',['T3480']='1281TB103',['T3506']='1281TB104',['T3648']='1281TB106',['T3712']='1281TB107',['T3732']='1281TB108',['T3768']='1281TB109',['T3776']='1281TB110',['T3560']='1282TC108',['T3126']='1282TB101',['T3316']='1282TB102',['T3328']='1282TB103',['T3428']='1282TB104',['T3476']='1282TB105',['T3484']='1282TB106',['T3542']='1282TB107',['T3718']='1282TB109',['T3452']='1283TC107',['T2870']='1283TB101',['T3304']='1283TB102',['T3376']='1283TB103',['T3384']='1283TB104',['T3412']='1283TB105',['T3444']='1283TB106',['T3456']='1283TB108',['T3516']='1283TB109',['T3620']='1283TB110',['T3644']='1283TB111',['T3652']='1283TB112',['T3764']='1283TB113',['T3766']='1283TB114',['T3772']='1283TB115',['T3820']='1283TB116',['TX408']='1283TB117',['T3488']='1284TC103',['T2866']='1284TB101',['T3320']='1284TB102',['T3508']='1284TB104',['T3512']='1284TB105',['T3564']='1284TB106',['T3612']='1284TB107',['T3616']='1284TB108',['T3784']='1284TB109',['T3796']='1284TB110',['TX432']='1284TB111',['T3396']='1285TC102',['T3348']='1285TB101',['T3400']='1285TB103',['T3436']='1285TB104',['T3440']='1285TB105',['T3472']='1285TB106',['T3540']='1285TB107',['T3588']='1285TB108',['T3608']='1285TB109',['T3700']='1285TB110',['T3704']='1285TB111',['T3828']='1285TB112',['T3830']='1285TB113',['T3808']='1286TC110',['T3138']='1286TB101',['T3424']='1286TB102',['T3448']='1286TB103',['T3556']='1286TB104',['T3596']='1286TB105',['T3632']='1286TB106',['T3708']='1286TB107',['T3720']='1286TB108',['T3740']='1286TB109',['T3752']='1287TC110',['T3308']='1287TB101',['T3312']='1287TB102',['T3338']='1287TB103',['T3420']='1287TB104',['T3528']='1287TB105',['T3538']='1287TB106',['T3663']='1287TB107',['T3676']='1287TB108',['T3688']='1287TB109',['T3806']='1287TB111',['TX420']='1287TB112',['TX446']='1287TB113',['TX454']='1287TB114',['T2980']='1290TC112',['T2800']='1290TB101',['T2808']='1290TB102',['T2844']='1290TB103',['T2848']='1290TB104',['T2864']='1290TB105',['T2872']='1290TB106',['T2876']='1290TB107',['T2896']='1290TB108',['T2904']='1290TB109',['T2906']='1290TB110',['T2924']='1290TB111',['T2988']='1290TB113',['T3016']='1290TB114',['T3018']='1290TB115',['T3034']='1290TB116',['T3040']='1290TB117',['T3108']='1290TB118',['T3124']='1290TB119',['T3142']='1290TB120',['T3148']='1290TB121',['T3148']='1290TB121',['T3156']='1290TB122',['T3170']='1290TB123',['T3174']='1290TB124',['T3180']='1290TB125',['T3184']='1290TB126',['T3200']='1290TB127',['T3216']='1290TB128',['T3228']='1290TB129',['T3354']='1290TB130',['TX426']='1290TB131',['TX434']='1290TB132',['TX440']='1290TB133',['TX452']='1290TB134',['TX456']='1290TB135',['TX460']='1290TB136',['T3060']='1291TC109',['T2812']='1291TB101',['T2820']='1291TB102',['T2824']='1291TB103',['T2900']='1291TB104',['T2908']='1291TB105',['T2960']='1291TB106',['T3048']='1291TB107',['T3056']='1291TB108',['T3072']='1291TB110',['T3152']='1291TB111',['T3164']='1291TB112',['T3232']='1291TB113',['T3236']='1291TB114',['TX412']='1291TB115',['TX418']='1291TB116',['T2890']='1291TB122',['T3196']='1292TC111',['T2916']='1292TB101',['T2942']='1292TB102',['T2986']='1292TB103',['T3010']='1292TB104',['T3012']='1292TB105',['T3063']='1292TB106',['T3100']='1292TB107',['T3102']='1292TB108',['T3132']='1292TB109',['T3144']='1292TB110',['T3198']='1292TB112',['T3210']='1292TB113',['TX442']='1292TB114',['TX450']='1292TB115',['T2936']='1293TC105',['T2804']='1293TB101',['T2816']='1293TB102',['T2860']='1293TB103',['T2868']='1293TB104',['T2940']='1293TB106',['T2946']='1293TB107',['T3008']='1293TB108',['T3044']='1293TB109',['T3062']='1293TB110',['T3096']='1293TB111',['T3104']='1293TB112',['T3120']='1293TB113',['T3128']='1293TB114',['T3140']='1293TB115',['T3160']='1293TB116',['T3168']='1293TB117',['T3176']='1293TB118',['T3176']='1293TB118',['T3992']='1315TC101',['T3996']='1315TB102',['T4032']='1315TB103',['T4068']='1315TB104',['T4116']='1315TB105',['T4144']='1315TB106',['T3960']='1380TC107',['T3916']='1380TB101',['T3934']='1380TB102',['T3935']='1380TB103',['T3940']='1380TB104',['T3948']='1380TB105',['T3952']='1380TB106',['T3964']='1380TB108',['T3972']='1380TB109',['T3988']='1380TB110',['T4016']='1380TB111',['T4034']='1380TB112',['T4056']='1380TB113',['T4076']='1380TB114',['T4080']='1380TB115',['T4084']='1380TB116',['T4106']='1380TB117',['T4124']='1380TB118',['T4134']='1380TB119',['T4176']='1380TB120',['T4192']='1380TB121',['TX470']='1380TB122',['T4028']='1381TC105',['T3936']='1381TB101',['T3968']='1381TB102',['T3984']='1381TB103',['T4000']='1381TB104',['T4036']='1381TB106',['T4044']='1381TB107',['T4072']='1381TB108',['T4092']='1381TB109',['T4098']='1381TB110',['T4148']='1381TB111',['T4164']='1381TB112',['T4184']='1381TB113',['T4190']='1381TB114',['T3920']='1382TC102',['T3908']='1382TB101',['T3924']='1382TB103',['T3944']='1382TB104',['T3976']='1382TB105',['T4020']='1382TB106',['T4040']='1382TB107',['T4048']='1382TB108',['T4052']='1382TB109',['T4058']='1382TB110',['T4088']='1382TB111',['T4094']='1382TB112',['T4096']='1382TB113',['T4104']='1382TB114',['T4140']='1382TB115',['T4168']='1382TB116',['T4180']='1382TB117',['T4182']='1382TB118',['T4196']='1382TB119',['T4212']='1382TB120',['T4216']='1382TB121',['T4232']='1382TB141',['T4156']='1383TC119',['T3912']='1383TB101',['T3942']='1383TB102',['T3982']='1383TB103',['T3994']='1383TB104',['T4012']='1383TB105',['T4024']='1383TB106',['T4042']='1383TB107',['T4060']='1383TB108',['T4100']='1383TB109',['T4112']='1383TB110',['T4114']='1383TB111',['T4120']='1383TB112',['T4122']='1383TB113',['T4128']='1383TB114',['T4130']='1383TB115',['T4132']='1383TB116',['T4136']='1383TB117',['T4154']='1383TB118',['T4160']='1383TB120',['T4188']='1383TB121',['T4194']='1383TB122',['T4204']='1383TB123',['T4230']='1383TB149',['T4234']='1383TB155',['T3898']='1384TB101',['T3900']='1384TB102',['T3904']='1384TB103',['T3910']='1384TB104',['T3914']='1384TB105',['T3928']='1384TB106',['T3930']='1384TB107',['T3932']='1384TB108',['T3947']='1384TB109',['T3950']='1384TB110',['T3954']='1384TB111',['T3956']='1384TB112',['T3986']='1384TB113',['T3990']='1384TB114',['T3998']='1384TB115',['T4004']='1384TB116',['T4008']='1384TB117',['T4008']='1384TB117',['T4038']='1384TB118',['T4054']='1384TB119',['T4064']='1384TB120',['T4108']='1384TB121',['T4110']='1384TB122',['T4152']='1384TB123',['T4158']='1384TB124',['T4172']='1384TB125',['T4200']='1384TB126',['T4224']='1384TB127',['T4228']='1384TB128',['T4300']='1384TB129',['T4520']='1401TC108',['T4290']='1401TB101',['T4306']='1401TB102',['T4334']='1401TB103',['T4354']='1401TB104',['T4392']='1401TB105',['T4424']='1401TB106',['T4484']='1401TB107',['T4526']='1401TB109',['T4542']='1401TB110',['T4544']='1401TB111',['T4570']='1401TB112',['T4640']='1401TB113',['TX482']='1401TB114',['T4432']='1402TB101',['T4464']='1402TB102',['T4631']='1402TB103',['T4628']='1407TC109',['T4304']='1407TB101',['T4348']='1407TB102',['T4406']='1407TB103',['T4420']='1407TB104',['T4428']='1407TB105',['T4434']='1407TB106',['T4476']='1407TB107',['T4552']='1407TB108',['T4568']='1415TC104',['T4370']='1415TB101',['T4436']='1415TB102',['T4566']='1415TB103',['T4576']='1415TB105',['T4578']='1415TB106',['T4580']='1415TB107',['T4595']='1415TB108',['T4598']='1415TB109',['T4606']='1415TB110',['T4618']='1415TB111',['T4630']='1415TB112',['T4560']='1419TC110',['T4308']='1419TB101',['T4326']='1419TB102',['T4440']='1419TB103',['T4442']='1419TB104',['T4460']='1419TB105',['T4468']='1419TB106',['T4514']='1419TB107',['T4516']='1419TB108',['T4548']='1419TB109',['T4572']='1419TB111',['T4624']='1419TB112',['TX494']='1419TB113',['T5542']='1419TB139',['T4384']='1421TC102',['T4336']='1421TB101',['T4414']='1421TB103',['T4426']='1421TB104',['T4508']='1421TB105',['T4592']='1421TB106',['T4594']='1421TB107',['T4610']='1421TB108',['T4644']='1421TB109',['TX484']='1421TB110',['TX498']='1421TB111',['T4448']='1427TC104',['T4312']='1427TB101',['T4400']='1427TB102',['T4404']='1427TB103',['T4500']='1427TB105',['T4564']='1427TB106',['T4616']='1427TB107',['TX486']='1427TB108',['TX504']='1427TB109',['T4512']='1430TC104',['T4324']='1430TB101',['T4380']='1430TB102',['T4412']='1430TB103',['T4554']='1430TB105',['T4600']='1435TC105',['T4344']='1435TB101',['T4356']='1435TB102',['T4372']='1435TB103',['T4532']='1435TB104',['TX488']='1435TB106',['TX500']='1435TB107',['T5552']='1435TB124',['T4796']='1438TC101',['T4828']='1439TC101',['T4900']='1439TB102',['T5048']='1439TB103',['T5160']='1439TB104',['T4976']='1440TC102',['T4704']='1440TB101',['T4980']='1440TB103',['T5036']='1440TB104',['T5056']='1440TB105',['T5152']='1440TB106',['TX512']='1440TB107',['T4920']='1441TC106',['T4374']='1441TB101',['T4582']='1441TB102',['T4732']='1441TB103',['T4804']='1441TB104',['T4836']='1441TB105',['T4986']='1441TB107',['T5032']='1441TB108',['T5072']='1441TB109',['T5176']='1441TB110',['T5550']='1441TB112',['T5124']='1442TC102',['T4402']='1442TB101',['T5162']='1442TB103',['T4744']='1443TC101',['T4884']='1443TB102',['T4984']='1443TB103',['T5092']='1443TB104',['T5538']='1443TB111',['T5260']='1444TC101',['T5388']='1445TC103',['T5250']='1445TB101',['T5312']='1445TB102',['T5324']='1446TC102',['T5248']='1446TB101',['T5384']='1446TB103',['T5496']='1446TB104',['TX532']='1446TB105',['T5300']='1447TC102',['T5268']='1447TC101',['T5396']='1447TB103',['T5416']='1447TB104',['T5272']='1447TB106',['T5080']='1452TC109',['T4708']='1452TB101',['T4784']='1452TB102',['T4832']='1452TB103',['T4928']='1452TB104',['T4936']='1452TB105',['T4940']='1452TB106',['T4988']='1452TB107',['T5022']='1452TB108',['T5100']='1452TB110',['T4970']='1452TB113',['T4970']='1452TB113',['T4720']='1460TC101',['T4728']='1460TB102',['T4768']='1460TB103',['T4772']='1460TB104',['T5040']='1460TB105',['TX518']='1460TB106',['T4952']='1461TC103',['T4764']='1461TB101',['T4776']='1461TB102',['T5144']='1461TB104',['T4896']='1461TB109',['T4924']='1462TC104',['T4490']='1462TB101',['T4856']='1462TB102',['T4872']='1462TB103',['T4944']='1462TB105',['T4978']='1462TB106',['T5548']='1462TB113',['T4912']='1463TC107',['T4450']='1463TB101',['T4724']='1463TB102',['T4736']='1463TB103',['T4812']='1463TB104',['T4880']='1463TB105',['T4892']='1463TB106',['T4992']='1463TB108',['T5064']='1463TB109',['T5076']='1463TB110',['T5172']='1463TB111',['TX528']='1463TB112',['T5540']='1463TB137',['T5060']='1465TC106',['T4868']='1465TB101',['T4876']='1465TB102',['T4956']='1465TB103',['T4962']='1465TB104',['T5016']='1465TB105',['T5164']='1465TB107',['T5168']='1465TB108',['T4864']='1466TC103',['T4712']='1466TB101',['T4824']='1466TB102',['T4932']='1466TB104',['T5500']='1470TC109',['T5204']='1470TB101',['T5224']='1470TB102',['T5292']='1470TB103',['T5316']='1470TB104',['T5336']='1470TB105',['T5346']='1470TB106',['T5440']='1470TB107',['T5476']='1470TB108',['T5512']='1470TB110',['TX536']='1470TB111',['T5280']='1471TC102',['T5276']='1471TB101',['T5304']='1471TB103',['T5340']='1471TB104',['T5360']='1471TB105',['T5528']='1471TB119',['T5456']='1472TC102',['T5232']='1472TB101',['TX538']='1472TB103',['T5484']='1473TC102',['T5376']='1473TB101',['T5536']='1473TB103',['T4368']='1480TC108',['T4294']='1480TB101',['T4298']='1480TB102',['T4302']='1480TB103',['T4322']='1480TB104',['T4332']='1480TB105',['T4352']='1480TB106',['T4364']='1480TB107',['T4382']='1480TB109',['T4396']='1480TB110',['T4456']='1480TB111',['T4498']='1480TB112',['T4510']='1480TB113',['T4518']='1480TB114',['T4522']='1480TB115',['T4524']='1480TB116',['T4524']='1480TB116',['T4528']='1480TB117',['T4546']='1480TB118',['T4550']='1480TB119',['T4574']='1480TB120',['T4588']='1480TB121',['T4596']='1480TB122',['T4612']='1480TB123',['T5086']='1480TB124',['TX478']='1480TB125',['TX490']='1480TB126',['TX492']='1480TB127',['TX496']='1480TB128',['TX502']='1480TB129',['TX506']='1480TB130',['TX510']='1480TB131',['T4410']='1481TB101',['T4472']='1481TB102',['T4488']='1481TB103',['T4602']='1481TB104',['T4367']='1481TB121',['T4369']='1481TB122',['T4452']='1482TC106',['T4328']='1482TB101',['T4376']='1482TB102',['T4438']='1482TB103',['T4444']='1482TB104',['T4446']='1482TB105',['T4458']='1482TB107',['T4480']='1482TB108',['T4494']='1482TB109',['T4504']='1482TB110',['T4506']='1482TB111',['T4536']='1482TB112',['T4558']='1482TB113',['T4562']='1482TB114',['T4604']='1482TB115',['T4614']='1482TB116',['T4648']='1482TB117',['T4652']='1482TB118',['T5070']='1482TB119',['TX508']='1482TB120',['T4453']='1482TB183',['T4496']='1484TC105',['T4316']='1484TB101',['T4320']='1484TB102',['T4340']='1484TB103',['T4360']='1484TB104',['T4540']='1484TB106',['T4318']='1484TB116',['T4608']='1485TC111',['T4296']='1485TB101',['T4338']='1485TB102',['T4388']='1485TB103',['T4398']='1485TB104',['T4454']='1485TB105',['T4482']='1485TB106',['T4492']='1485TB107',['T4534']='1485TB108',['T4586']='1485TB109',['T4590']='1485TB110',['T4626']='1485TB112',['T4632']='1485TB113',['T5106']='1485TB114',['T5546']='1485TB115',['T4584']='1486TC103',['T4439']='1486TB101',['T4556']='1486TB102',['T4620']='1486TB104',['T4622']='1486TB105',['TX480']='1486TB106',['T5544']='1486TB115',['T5132']='1487TC106',['T4330']='1487TB101',['T4760']='1487TB102',['T4820']='1487TB103',['T4974']='1487TB104',['T5112']='1487TB105',['T5084']='1488TC105',['T4738']='1488TB101',['T5020']='1488TB102',['T5038']='1488TB103',['T5039']='1488TB104',['T5108']='1488TB106',['T5128']='1488TB107',['TX520']='1488TB108',['T4700']='1489TC106',['T4386']='1489TB101',['T4502']='1489TB102',['T4530']='1489TB103',['T4538']='1489TB104',['T4634']='1489TB105',['T4840']='1489TB107',['T4870']='1489TB108',['T4908']='1489TB109',['T4972']='1489TB110',['T5044']='1489TB111',['T5052']='1489TB112',['T5136']='1489TB113',['T4752']='1490TC104',['T4310']='1490TB101',['T4716']='1490TB102',['T4748']='1490TB103',['T4756']='1490TB105',['T4780']='1490TB106',['T4792']='1490TB107',['T4808']='1490TB108',['T4816']='1490TB109',['T4816']='1490TB109',['T4848']='1490TB110',['T4860']='1490TB111',['T4916']='1490TB112',['T4960']='1490TB113',['T4996']='1490TB114',['T5000']='1490TB115',['T5008']='1490TB116',['T5012']='1490TB117',['T5024']='1490TB118',['T5078']='1490TB119',['T5120']='1490TB120',['T5156']='1490TB121',['TX514']='1490TB122',['TX516']='1490TB123',['TX522']='1490TB124',['TX526']='1490TB125',['TX530']='1490TB126',['T5010']='1490TB158',['T5104']='1491TC111',['T4740']='1491TB101',['T4788']='1491TB102',['T4852']='1491TB103',['T4888']='1491TB104',['T4904']='1491TB105',['T4948']='1491TB106',['T4968']='1491TB107',['T5004']='1491TB108',['T5068']='1491TB109',['T5088']='1491TB110',['T5116']='1491TB112',['T5148']='1491TB113',['T5140']='1492TC103',['T4800']='1492TB101',['T5096']='1492TB102',['T5372']='1493TC103',['T5356']='1493TB101',['T5364']='1493TB102',['T5412']='1493TB104',['T5488']='1493TB105',['TX534']='1493TB106',['TX540']='1493TB107',['T5352']='1494TC104',['T4486']='1494TB101',['T5240']='1494TB102',['T5320']='1494TB103',['T5400']='1494TB105',['T5404']='1494TB106',['T5432']='1494TB107',['T5480']='1494TB108',['T5516']='1494TB109',['T5890']='1494TB110',['TX544']='1494TB111',['TX546']='1494TB112',['T5258']='1494TB120',['T5452']='1494TB132',['T5420']='1495TC104',['T5200']='1495TB101',['T5208']='1495TB102',['T5216']='1495TB103',['T5504']='1495TB105',['T5428']='1496TC104',['T5308']='1496TB101',['T5348']='1496TB102',['T5424']='1496TB103',['T5444']='1496TB105',['T5464']='1496TB106',['T5468']='1496TB107',['T5492']='1496TB108',['T5520']='1496TB109',['T5524']='1496TB110',['T5296']='1497TC102',['T5212']='1497TB101',['T5332']='1497TB103',['T5460']='1498TC104',['T5220']='1498TB101',['T5254']='1498TB102',['T5368']='1498TB103',['T5236']='1499TC101',['T5244']='1499TB102',['T5264']='1499TB103',['T5328']='1499TB104',['T5344']='1499TB105',['T5392']='1499TB106',['T5436']='1499TB107',['T5472']='1499TB108',['T5508']='1499TB109',['T5532']='1499TB110',['TX542']='1499TB111',['T5708']='1715TC102',['T5656']='1715TB101',['T5730']='1715TB103',['T5814']='1715TB104',['T5628']='1730TC101',['T5636']='1730TB102',['T5716']='1730TB103',['T5880']='1730TB104',['T5844']='1737TC107',['T5600']='1737TB101',['T5696']='1737TB102',['T5736']='1737TB103',['T5780']='1737TB104',['T5816']='1737TB105',['T5836']='1737TB106',['T5892']='1737TB108',['TX554']='1737TB109',['T5812']='1760TC102',['T5722']='1760TB101',['T5804']='1761TC102',['T5790']='1761TB101',['T5850']='1761TB103',['T5862']='1761TB104',['TX556']='1761TB105',['T5760']='1762TC101',['T5664']='1763TC103',['T5632']='1763TB101',['T5634']='1763TB102',['T5842']='1763TB104',['T5676']='1764TC102',['T5620']='1764TB101',['T5796']='1764TB103',['T5810']='1764TB104',['T5884']='1765TC103',['T5728']='1765TB101',['T5848']='1765TB102',['T5824']='1766TC103',['T5744']='1766TB101',['T5788']='1766TB102',['T5856']='1766TB104',['T5876']='1766TB105',['T5704']='1780TC106',['T5596']='1780TB101',['T5616']='1780TB102',['T5648']='1780TB103',['T5652']='1780TB104',['T5654']='1780TB105',['T5756']='1780TB107',['T5766']='1780TB108',['T5794']='1780TB109',['T5800']='1780TB110',['T5808']='1780TB111',['T5860']='1780TB112',['T5864']='1780TB113',['T5872']='1780TB114',['TX550']='1780TB115',['TX552']='1780TB116',['TX558']='1780TB117',['T5720']='1781TC103',['T5612']='1781TB101',['T5624']='1781TB102',['T5768']='1781TB104',['T5888']='1781TB105',['T5660']='1782TC101',['T5732']='1782TB102',['T5764']='1782TB103',['T5772']='1782TB104',['T5784']='1782TB105',['T5688']='1783TC104',['T5608']='1783TB101',['T5644']='1783TB102',['T5668']='1783TB103',['T5668']='1783TB103',['T5724']='1783TB105',['T5752']='1783TB106',['T5792']='1783TB107',['T5828']='1783TB108',['T5852']='1783TB109',['T5604']='1784TC101',['T5640']='1784TB102',['T5672']='1784TB103',['T5680']='1784TB104',['T5700']='1784TB105',['T5712']='1784TB106',['T5786']='1784TB107',['T5820']='1784TB108',['T5840']='1785TC103',['T5776']='1785TB101',['T5832']='1785TB102',['T5868']='1785TB104',['T5936']='1814TC101',['T6026']='1814TB102',['T6028']='1814TB103',['T6056']='1814TB104',['T6152']='1814TB105',['TX568']='1814TB106',['T6036']='1860TC103',['T5932']='1860TB101',['T5980']='1860TB102',['T6100']='1860TB104',['T5964']='1861TC101',['T5984']='1861TB102',['T6088']='1861TB103',['T6112']='1861TB104',['T6156']='1861TB105',['T6192']='1861TB106',['TX574']='1861TB107',['T5916']='1862TC101',['T6140']='1862TB102',['T6178']='1862TB103',['TX590']='1862TB104',['T5996']='1863TC103',['T5952']='1863TB101',['T5972']='1863TB102',['TX564']='1863TB104',['TX586']='1863TB105',['T6016']='1864TC102',['T6000']='1864TB101',['T6132']='1864TB103',['T6136']='1864TB104',['TX570']='1864TB105',['TX592']='1864TB106',['T6188']='1880TC117',['T5900']='1880TB101',['T5912']='1880TB102',['T5922']='1880TB103',['T5924']='1880TB104',['T5944']='1880TB105',['T5948']='1880TB106',['T5974']='1880TB107',['T5988']='1880TB108',['T6012']='1880TB109',['T6032']='1880TB110',['T6052']='1880TB111',['T6064']='1880TB112',['T6072']='1880TB113',['T6076']='1880TB114',['T6116']='1880TB115',['T6184']='1880TB116',['TX562']='1880TB118',['TX566']='1880TB119',['TX572']='1880TB120',['TX582']='1880TB121',['T6020']='1881TC103',['T5920']='1881TB101',['T5992']='1881TB102',['T6024']='1881TB104',['T6108']='1881TB105',['T6164']='1881TB106',['T5904']='1882TC101',['T5968']='1882TB102',['T6080']='1882TB103',['T6104']='1882TB104',['T6144']='1882TB105',['T6144']='1882TB105',['T6160']='1882TB106',['T6168']='1882TB107',['T6172']='1882TB108',['TX578']='1882TB109',['TX588']='1882TB110',['T6008']='1883TC101',['T6146']='1883TB102',['T6060']='1884TC102',['T5960']='1884TB101',['T6074']='1884TB103',['T6124']='1884TB104',['T6176']='1884TB105',['TX584']='1884TB106',['T6040']='1885TC104',['T5928']='1885TB101',['T5940']='1885TB102',['T5956']='1885TB103',['T6092']='1885TB105',['T6096']='1885TB106',['T6120']='1885TB107',['T6128']='1885TB108',['T6148']='1885TB109',['TX580']='1885TB110',['T6320']='1904TC102',['T6304']='1904TB101',['TX600']='1904TB103',['TX608']='1904TB104',['T6332']='1907TC102',['T6296']='1907TB101',['T6364']='1907TB103',['TX612']='1907TB104',['T6256']='1960TC101',['T6360']='1960TB102',['T6224']='1961TC101',['T6244']='1961TB102',['T6328']='1961TB103',['T6340']='1961TB104',['TX602']='1961TB105',['TX610']='1961TB106',['T6225']='1961TB110',['T6226']='1961TB111',['T6292']='1962TC101',['TX604']='1962TB102',['T6376']='1980TC116',['T0792']='1980TB101',['T6204']='1980TB102',['T6208']='1980TB103',['T6210']='1980TB104',['T6236']='1980TB105',['T6260']='1980TB106',['T6262']='1980TB107',['T6266']='1980TB108',['T6270']='1980TB109',['T6278']='1980TB110',['T6324']='1980TB111',['T6342']='1980TB112',['T6344']='1980TB113',['T6348']='1980TB114',['T6356']='1980TB115',['T6382']='1980TB117',['T6386']='1980TB120',['T6312']='1981TC104',['T6252']='1981TB101',['T6284']='1981TB102',['T6300']='1981TB103',['T6316']='1981TB105',['T6336']='1981TB106',['T6372']='1981TB107',['TX596']='1981TB108',['T6212']='1982TC101',['T6234']='1982TB102',['T6380']='1982TB103',['T6268']='1983TC102',['T6248']='1983TB101',['T6280']='1983TB103',['T6200']='1984TC101',['T6220']='1984TB102',['T6272']='1984TB103',['TX598']='1984TB104',['T6828']='2021TC105',['T6468']='2021TB101',['T6680']='2021TB102',['T6682']='2021TB103',['T6738']='2021TB104',['T6900']='2021TB106',['TX664']='2021TB107',['TX672']='2021TB108',['T6830']='2021TB125',['T6636']='2023TC103',['T6612']='2023TB101',['T6612']='2023TB101',['T6616']='2023TB102',['T6640']='2023TB104',['T6784']='2023TB105',['T6808']='2023TB106',['T6888']='2023TB107',['T6904']='2023TB108',['TX634']='2023TB109',['T6528']='2026TC106',['T6428']='2026TB101',['T6456']='2026TB102',['T6460']='2026TB103',['T6480']='2026TB104',['T6484']='2026TB105',['T6644']='2026TB107',['T6728']='2026TB108',['TX622']='2026TB109',['TX660']='2026TB110',['TX662']='2026TB111',['T6608']='2029TC106',['T6402']='2029TB101',['T6476']='2029TB102',['T6574']='2029TB103',['T6584']='2029TB104',['T6596']='2029TB105',['T6732']='2029TB107',['T6816']='2029TB108',['T6872']='2029TB109',['TX638']='2029TB110',['TX682']='2029TB111',['TX688']='2029TB112',['TX694']='2029TB113',['T6716']='2031TC106',['T6410']='2031TB101',['T6436']='2031TB102',['T6516']='2031TB103',['T6560']='2031TB104',['T6660']='2031TB105',['T6800']='2031TB107',['T6848']='2031TB108',['TX614']='2031TB109',['TX616']='2031TB110',['TX626']='2031TB111',['TX692']='2031TB112',['TX698']='2031TB113',['T6696']='2034TC101',['T6736']='2034TB102',['T6740']='2034TB103',['TX628']='2034TB104',['TX636']='2034TB105',['TX644']='2034TB106',['TX676']='2034TB107',['T6896']='2039TC110',['T6448']='2039TB101',['T6500']='2039TB102',['T6592']='2039TB103',['T6600']='2039TB104',['T6708']='2039TB105',['T6788']='2039TB106',['T6866']='2039TB107',['T6884']='2039TB108',['T6892']='2039TB109',['T6892']='2039TB109',['TX620']='2039TB111',['TX654']='2039TB112',['T6744']='2061TC103',['T6558']='2061TB101',['T6566']='2061TB102',['T6796']='2061TB104',['T6820']='2061TB105',['T6648']='2062TC105',['T6414']='2062TB101',['T6440']='2062TB102',['T6524']='2062TB103',['T6540']='2062TB104',['T6672']='2062TB106',['T6724']='2062TB107',['T6748']='2062TB108',['T6832']='2062TB109',['T6836']='2062TB110',['T6844']='2062TB111',['T6860']='2062TB112',['T6864']='2062TB113',['T6912']='2062TB114',['TX632']='2062TB115',['TX650']='2062TB116',['TX652']='2062TB117',['TX666']='2062TB118',['TX670']='2062TB119',['TX696']='2062TB120',['T6504']='2080TC108',['T6408']='2080TB101',['T6412']='2080TB102',['T6424']='2080TB103',['T6430']='2080TB104',['T6458']='2080TB105',['T6472']='2080TB106',['T6496']='2080TB107',['T6552']='2080TB109',['T6604']='2080TB110',['T6620']='2080TB111',['T6628']='2080TB112',['T6766']='2080TB113',['T6768']='2080TB114',['T6776']='2080TB115',['T6780']='2080TB116',['T6814']='2080TB117',['T6840']='2080TB118',['T6916']='2080TB119',['TX624']='2080TB120',['TX648']='2080TB121',['TX690']='2080TB122',['TX700']='2080TB123',['T6506']='2080TB175',['T6444']='2081TC101',['T6568']='2081TB102',['T6588']='2081TB103',['T6666']='2081TB104',['T6692']='2081TB105',['T6704']='2081TB106',['T6706']='2081TB107',['T6806']='2081TB108',['TX658']='2081TB109',['TX668']='2081TB110',['TX684']='2081TB111',['TX686']='2081TB112',['T6792']='2082TC108',['T6492']='2082TB101',['T6518']='2082TB102',['T6606']='2082TB103',['T6652']='2082TB104',['T6656']='2082TB105',['T6752']='2082TB106',['T6764']='2082TB107',['TX618']='2082TB109',['T6494']='2082TB125',['T6572']='2083TC103',['T6464']='2083TB101',['T6532']='2083TB102',['T6632']='2083TB104',['T6852']='2083TB105',['T6880']='2083TB106',['TX640']='2083TB107',['TX642']='2083TB108',['TX680']='2083TB109',['T6404']='2084TC101',['T6462']='2084TB102',['T6508']='2084TB103',['T6576']='2084TB104',['T6602']='2084TB105',['T6664']='2084TB106',['T6684']='2084TB107',['T6624']='2085TC110',['T6432']='2085TB101',['T6512']='2085TB102',['T6514']='2085TB103',['T6544']='2085TB104',['T6548']='2085TB105',['T6554']='2085TB106',['T6556']='2085TB107',['T6580']='2085TB108',['T6586']='2085TB109',['T6676']='2085TB111',['T6720']='2085TB112',['T6772']='2085TB113',['T6804']='2085TB114',['T6842']='2085TB115',['T6920']='2085TB116',['T7236']='2101TC103',['T7144']='2101TB101',['T7180']='2101TB102',['T7372']='2101TB104',['T7112']='2104TC101',['T7254']='2104TB102',['T7332']='2104TB103',['TX704']='2104TB104',['TX706']='2104TB105',['TX720']='2104TB106',['T7044']='2121TC102',['T7000']='2121TB101',['T7160']='2121TB103',['T7240']='2121TB104',['T7256']='2121TB105',['T7258']='2121TB106',['T7360']='2121TB107',['T7020']='2132TC101',['T7068']='2132TB102',['T7096']='2132TB103',['T7100']='2132TB104',['T7136']='2132TB105',['T7154']='2132TB106',['T7172']='2132TB107',['T7292']='2132TB108',['T7304']='2132TB109',['TX708']='2132TB110',['T7184']='2161TC107',['T7064']='2161TB101',['T7108']='2161TB102',['T7124']='2161TB103',['T7152']='2161TB104',['T7164']='2161TB105',['T7178']='2161TB106',['T7192']='2161TB108',['T7210']='2161TB109',['T7220']='2161TB110',['T7244']='2161TB111',['T7324']='2161TB112',['TX710']='2161TB113',['TX718']='2161TB114',['TX730']='2161TB115',['TX738']='2161TB116',['T7076']='2180TC108',['T7014']='2180TB101',['T7016']='2180TB102',['T7028']='2180TB103',['T7038']='2180TB104',['T7050']='2180TB105',['T7052']='2180TB106',['T7060']='2180TB107',['T7080']='2180TB109',['T7092']='2180TB110',['T7104']='2180TB111',['T7170']='2180TB112',['T7198']='2180TB113',['T7198']='2180TB113',['T7224']='2180TB114',['T7228']='2180TB115',['T7308']='2180TB116',['T7336']='2180TB117',['T7340']='2180TB118',['T7344']='2180TB119',['T7346']='2180TB120',['T7368']='2180TB121',['T7388']='2180TB122',['TX702']='2180TB123',['T7272']='2181TC108',['T7012']='2181TB101',['T7072']='2181TB102',['T7084']='2181TB103',['T7110']='2181TB104',['T7140']='2181TB105',['T7148']='2181TB106',['T7168']='2181TB107',['T7296']='2181TB109',['T7364']='2181TB110',['T7376']='2181TB111',['T7380']='2181TB112',['T7384']='2181TB113',['TX714']='2181TB114',['TX724']='2181TB115',['TX732']='2181TB116',['TX734']='2181TB117',['T7274']='2181TB141',['T7316']='2182TC109',['T7024']='2182TB101',['T7188']='2182TB102',['T7208']='2182TB103',['T7208']='2182TB103',['T7212']='2182TB104',['T7214']='2182TB105',['T7268']='2182TB106',['T7284']='2182TB107',['T7312']='2182TB108',['T7342']='2182TB110',['T7352']='2182TB111',['T7356']='2182TB112',['T7378']='2182TB113',['TX712']='2182TB114',['TX716']='2182TB115',['TX728']='2182TB116',['T7390']='2182TB129',['T7036']='2183TC102',['T7004']='2183TB101',['T7058']='2183TB103',['T7126']='2183TB104',['T7156']='2183TB105',['T7196']='2183TB106',['T7252']='2183TB107',['T7276']='2183TB108',['T7280']='2183TB109',['T7348']='2183TB110',['T7120']='2184TC105',['T7040']='2184TB101',['T7048']='2184TB102',['T7054']='2184TB103',['T7056']='2184TB104',['T7128']='2184TB106',['T7130']='2184TB107',['T7132']='2184TB108',['T7204']='2184TB109',['T7216']='2184TB110',['T7232']='2184TB111',['T7320']='2184TB112',['TX722']='2184TB113',['TX726']='2184TB114',['T7392']='2184TB142',['T7736']='2260TC106',['T7400']='2260TB101',['T7456']='2260TB102',['T7472']='2260TB103',['T7552']='2260TB104',['T7708']='2260TB105',['T7748']='2260TB107',['TX744']='2260TB108',['T7704']='2262TC106',['T7416']='2262TB101',['T7544']='2262TB102',['T7554']='2262TB103',['T7668']='2262TB104',['T7700']='2262TB105',['TX768']='2262TB107',['TX772']='2262TB108',['T7500']='2280TC101',['T7608']='2280TB102',['T7632']='2280TB103',['T7720']='2280TB104',['T7740']='2280TB105',['TX770']='2280TB106',['T7688']='2281TC127',['T7402']='2281TB101',['T7404']='2281TB102',['T7408']='2281TB103',['T7446']='2281TB104',['T7460']='2281TB105',['T7462']='2281TB106',['T7478']='2281TB107',['T7486']='2281TB108',['T7492']='2281TB109',['T7504']='2281TB110',['T7506']='2281TB111',['T7510']='2281TB112',['T7520']='2281TB113',['T7532']='2281TB114',['T7538']='2281TB115',['T7548']='2281TB116',['T7560']='2281TB117',['T7580']='2281TB118',['T7596']='2281TB119',['T7600']='2281TB120',['T7600']='2281TB120',['T7642']='2281TB121',['T7646']='2281TB122',['T7652']='2281TB123',['T7670']='2281TB124',['T7676']='2281TB125',['T7684']='2281TB126',['T7696']='2281TB128',['T7696']='2281TB128',['T7714']='2281TB129',['T7716']='2281TB130',['T7726']='2281TB131',['T7758']='2281TB170',['T7524']='2282TC106',['T7432']='2282TB101',['T7448']='2282TB102',['T7468']='2282TB103',['T7488']='2282TB104',['T7516']='2282TB105',['T7534']='2282TB107',['T7564']='2282TB108',['T7568']='2282TB109',['T7588']='2282TB110',['T7604']='2282TB111',['T7616']='2282TB112',['T7636']='2282TB113',['T7640']='2282TB114',['T7664']='2282TB115',['T7672']='2282TB116',['T7680']='2282TB117',['TX752']='2282TB118',['TX756']='2282TB119',['TX760']='2282TB120',['TX764']='2282TB121',['TX766']='2282TB122',['TX774']='2282TB123',['T7660']='2283TC107',['T7452']='2283TB101',['T7512']='2283TB102',['T7572']='2283TB103',['T7620']='2283TB104',['T7628']='2283TB105',['T7634']='2283TB106',['T7662']='2283TB108',['T7752']='2283TB109',['TX740']='2283TB110',['TX746']='2283TB111',['TX748']='2283TB112',['T7744']='2284TC120',['T7412']='2284TB101',['T7420']='2284TB102',['T7424']='2284TB103',['T7428']='2284TB104',['T7444']='2284TB105',['T7476']='2284TB106',['T7480']='2284TB107',['T7482']='2284TB108',['T7496']='2284TB109',['T7540']='2284TB110',['T7576']='2284TB111',['T7584']='2284TB112',['T7592']='2284TB113',['T7644']='2284TB114',['T7648']='2284TB115',['T7656']='2284TB116',['T7712']='2284TB117',['T7728']='2284TB118',['T7732']='2284TB119',['T7756']='2284TB121',['TX742']='2284TB122',['TX750']='2284TB123',['TX754']='2284TB124',['TX758']='2284TB125',['TX762']='2284TB126',['T7856']='2303TC103',['T7806']='2303TB101',['T7808']='2303TB102',['T7964']='2303TB104',['TX778']='2303TB105',['TX792']='2303TB106',['T7816']='2305TC101',['T7844']='2305TB102',['T7896']='2305TB103',['T7944']='2305TB104',['T7952']='2305TB105',['TX790']='2305TB106',['T7888']='2309TC107',['T7800']='2309TB101',['T7814']='2309TB102',['T7824']='2309TB103',['T7836']='2309TB104',['T7872']='2309TB105',['T7882']='2309TB106',['T7932']='2309TB108',['T7988']='2309TB109',['T8002']='2309TB110',['T8016']='2309TB111',['T8028']='2309TB112',['T8040']='2309TB113',['TX786']='2309TB114',['T7960']='2313TC108',['T7804']='2313TB101',['T7840']='2313TB102',['T7860']='2313TB103',['T7876']='2313TB104',['T7928']='2313TB105',['T7934']='2313TB106',['T7948']='2313TB107',['T7992']='2313TB109',['TX798']='2313TB110',['T7884']='2321TC104',['T7810']='2321TB101',['T7820']='2321TB102',['T7852']='2321TB103',['T7916']='2321TB105',['T8000']='2321TB106',['T8024']='2321TB107',['TX794']='2321TB108',['TX796']='2321TB109',['TX802']='2321TB110',['T7976']='2326TC107',['T7848']='2326TB101',['T7878']='2326TB102',['T7886']='2326TB103',['T7912']='2326TB104',['T7924']='2326TB105',['T7926']='2326TB106',['T8032']='2326TB108',['TX784']='2326TB109',['T7968']='2361TC105',['T7828']='2361TB101',['T7868']='2361TB102',['T7904']='2361TB103',['T7920']='2361TB104',['T7996']='2361TB106',['T8008']='2361TB107',['T8012']='2361TB108',['T8036']='2361TB109',['TX782']='2361TB110',['TX788']='2361TB111',['T8046']='2361TB114',['T8044']='2380TC114',['T7812']='2380TB101',['T7830']='2380TB102',['T7864']='2380TB103',['T7880']='2380TB104',['T7906']='2380TB105',['T7908']='2380TB106',['T7910']='2380TB107',['T7914']='2380TB108',['T7936']='2380TB109',['T7938']='2380TB110',['T7942']='2380TB111',['T7984']='2380TB112',['T8042']='2380TB113',['TX780']='2380TB115',['TX800']='2380TB116',['T8256']='2401TC103',['T8190']='2401TB101',['T8236']='2401TB102',['T8296']='2401TB104',['TX812']='2401TB105',['TX816']='2401TB106',['TX818']='2401TB107',['T8120']='2403TC101',['T8380']='2404TC104',['T8188']='2404TB101',['T8204']='2404TB102',['T8356']='2404TB103',['T8392']='2404TB105',['T8292']='2409TC102',['T8152']='2409TB101',['T8396']='2409TB103',['T8268']='2417TC102',['T8112']='2417TB101',['TX824']='2417TB103',['TX834']='2417TB104',['T8244']='2418TC102',['T8100']='2418TB101',['TX804']='2418TB103',['TX826']='2418TB104',['T8324']='2421TC104',['T8192']='2421TB101',['T8198']='2421TB102',['T8320']='2421TB103',['T8364']='2421TB105',['TX806']='2421TB106',['TX808']='2421TB107',['TX822']='2421TB108',['TX830']='2421TB109',['T8316']='2422TC103',['T8126']='2422TB101',['T8184']='2422TB102',['T8168']='2425TC101',['T8384']='2460TC101',['T8388']='2460TB102',['T8376']='2462TC103',['T8164']='2462TB101',['T8216']='2462TB102',['TX820']='2462TB104',['TX828']='2462TB105',['T8400']='2463TC102',['T8176']='2463TB101',['T8372']='2480TC122',['T8136']='2480TB101',['T8138']='2480TB102',['T8140']='2480TB103',['T8142']='2480TB104',['T8174']='2480TB105',['T8196']='2480TB106',['T8200']='2480TB107',['T8208']='2480TB108',['T8210']='2480TB109',['T8260']='2480TB110',['T8280']='2480TB111',['T8304']='2480TB112',['T8332']='2480TB113',['T8334']='2480TB114',['T8336']='2480TB115',['T8344']='2480TB116',['T8348']='2480TB117',['T8352']='2480TB118',['T8354']='2480TB119',['T8360']='2480TB120',['T8368']='2480TB121',['T8390']='2480TB123',['T8394']='2480TB124',['T8412']='2480TB125',['TX814']='2480TB126',['T8232']='2481TC103',['T8194']='2481TB101',['T8220']='2481TB102',['T8300']='2481TB104',['T8404']='2481TB105',['TX810']='2481TB106',['T8312']='2482TC119',['T8116']='2482TB101',['T8132']='2482TB102',['T8144']='2482TB103',['T8148']='2482TB104',['T8156']='2482TB105',['T8160']='2482TB106',['T8172']='2482TB107',['T8180']='2482TB108',['T8212']='2482TB109',['T8218']='2482TB110',['T8224']='2482TB111',['T8228']='2482TB112',['T8240']='2482TB113',['T8248']='2482TB114',['T8252']='2482TB115',['T8284']='2482TB116',['T8308']='2482TB117',['T8310']='2482TB118',['T8340']='2482TB120',['T8342']='2482TB121',['T8408']='2482TB122',['TX832']='2482TB123',['TX836']='2482TB124',['T8414']='2482TB141',['T8516']='2505TC101',['T8584']='2505TB102',['T8744']='2505TB103',['TX840']='2505TB104',['TX866']='2505TB105',['T8512']='2506TC101',['T8712']='2506TB102',['TX896']='2506TB103',['T8628']='2510TC101',['T8748']='2510TB102',['T8796']='2510TB103',['T8920']='2510TB104',['TX858']='2510TB105',['TX872']='2510TB106',['T8940']='2513TC105',['T8592']='2513TB101',['T8868']='2513TB102',['T8884']='2513TB103',['T8924']='2513TB104',['TX846']='2513TB106',['TX850']='2513TB107',['TX864']='2513TB108',['T8656']='2514TC104',['T8556']='2514TB101',['T8560']='2514TB102',['T8578']='2514TB103',['T8668']='2514TB105',['T8740']='2514TB106',['T8804']='2514TB107',['T8812']='2514TB108',['T8820']='2514TB109',['T8836']='2514TB110',['T8896']='2514TB111',['T8928']='2514TB112',['TX894']='2514TB113',['T8944']='2518TC105',['T8612']='2518TB101',['T8640']='2518TB102',['T8784']='2518TB103',['T8860']='2518TB104',['TX856']='2518TB106',['TX888']='2518TB107',['TX890']='2518TB108',['T8780']='2521TC104',['T8636']='2521TB101',['T8660']='2521TB102',['T8688']='2521TB103',['T8892']='2521TB105',['TX852']='2521TB106',['TX854']='2521TB107',['TX878']='2521TB108',['TX886']='2521TB109',['TX892']='2521TB110',['TX904']='2521TB111',['T8596']='2523TC101',['T8600']='2523TB102',['T8694']='2523TB103',['T8730']='2523TB104',['T8732']='2523TB105',['T8756']='2523TB106',['T8760']='2523TB107',['T8772']='2523TB108',['T8800']='2523TB109',['T8848']='2523TB110',['T8886']='2523TB111',['T8900']='2523TB112',['TX844']='2523TB113',['TX868']='2523TB114',['T8932']='2560TC104',['T8692']='2560TB101',['T8904']='2560TB102',['T8908']='2560TB103',['TX842']='2560TB105',['T8724']='2580TC115',['T8504']='2580TB101',['T8508']='2580TB102',['T8524']='2580TB103',['T8528']='2580TB104',['T8532']='2580TB105',['T8538']='2580TB106',['T8558']='2580TB107',['T8564']='2580TB108',['T8576']='2580TB109',['T8580']='2580TB110',['T8644']='2580TB111',['T8658']='2580TB112',['T8670']='2580TB113',['T8680']='2580TB114',['T8752']='2580TB116',['T8764']='2580TB117',['T8788']='2580TB118',['T8828']='2580TB119',['T8832']='2580TB120',['T8856']='2580TB121',['T8874']='2580TB122',['T8880']='2580TB123',['T8934']='2580TB124',['TX848']='2580TB125',['TX874']='2580TB126',['TX884']='2580TB127',['TX908']='2580TB128',['T8792']='2581TC112',['T8536']='2581TB101',['T8540']='2581TB102',['T8568']='2581TB103',['T8572']='2581TB104',['T8616']='2581TB105',['T8620']='2581TB106',['T8648']='2581TB107',['T8684']='2581TB108',['T8720']='2581TB109',['T8728']='2581TB110',['T8776']='2581TB111',['T8816']='2581TB113',['T8824']='2581TB114',['T8844']='2581TB115',['T8846']='2581TB116',['T8870']='2581TB117',['T8876']='2581TB118',['T8936']='2581TB119',['TX876']='2581TB120',['TX882']='2581TB121',['TX898']='2581TB122',['TX902']='2581TB123',['T8950']='2581TB128',['T8544']='2582TC102',['T8520']='2582TB101',['T8548']='2582TB103',['T8588']='2582TB104',['T8608']='2582TB105',['T8872']='2582TB106',['T8878']='2582TB107',['T8882']='2582TB108',['T8888']='2582TB109',['T8902']='2582TB110',['T8916']='2582TB111',['TX862']='2582TB112',['TX880']='2582TB113',['TX900']='2582TB114',['T8604']='2583TC101',['T8672']='2583TB102',['T8734']='2583TB103',['T8768']='2583TB104',['T8840']='2583TB105',['T8676']='2584TC103',['T8632']='2584TB101',['T8664']='2584TB102',['T8704']='2584TB104',['T8864']='2584TB105',['T8890']='2584TB106',['T8912']='2584TB107',['T8948']='2584TB108',['TX860']='2584TB109',['TX870']='2584TB110',['TX906']='2584TB111',['S0153']='0114SB106',['S0154']='0114SB107',['S0170']='0114SB108',['S0185']='0114SB109',['S0204']='0114SB110',['S0213']='0114SB111',['S0323']='0114SB112',['S0612']='0114SB113',['S0693']='0114SB114',['S0111']='0115SB109',['S0144']='0115SB110',['S0160']='0115SB111',['S0171']='0115SB112',['S0176']='0115SB113',['S0184']='0115SB114',['S0189']='0115SB115',['S0191']='0115SB116',['S0200']='0115SB117',['S0208']='0115SB118',['S0220']='0115SB119',['S0225']='0115SB120',['S0260']='0115SB121',['S0269']='0115SB122',['S0295']='0115SB123',['S0332']='0115SB124',['S0351']='0115SB125',['S0425']='0115SB126',['S0459']='0115SB127',['S0462']='0115SB128',['S0671']='0115SB129',['S0789']='0115SB130',['S0794']='0115SB131',['S0825']='0115SB132',['S0826']='0115SB133',['S9695']='0115SB134',['S0117']='0117SB114',['S0138']='0117SB115',['S0161']='0117SB116',['S0174']='0117SB117',['S0180']='0117SB118',['S0188']='0117SB119',['S0194']='0117SB120',['S0215']='0117SB121',['S0250']='0117SB122',['S0255']='0117SB123',['S0310']='0117SB124',['S0316']='0117SB125',['S0331']='0117SB126',['S0371']='0117SB127',['S0399']='0117SB128',['S0405']='0117SB129',['S0415']='0117SB130',['S0417']='0117SB131',['S0421']='0117SB132',['S0451']='0117SB133',['S0455']='0117SB134',['S0456']='0117SB135',['S0475']='0117SB136',['S0485']='0117SB137',['S0491']='0117SB138',['S0493']='0117SB139',['S0537']='0117SB140',['S0538']='0117SB141',['S0589']='0117SB142',['S0603']='0117SB143',['S0633']='0117SB144',['S0659']='0117SB145',['S0665']='0117SB146',['S0683']='0117SB147',['S0733']='0117SB148',['S0737']='0117SB149',['S0765']='0117SB150',['S0781']='0117SB151',['S0793']='0117SB152',['S0805']='0117SB153',['S0121']='0120SB128',['S0129']='0120SB129',['S0135']='0120SB130',['S0137']='0120SB131',['S0149']='0120SB132',['S0155']='0120SB133',['S0187']='0120SB134',['S0193']='0120SB135',['S0195']='0120SB136',['S0197']='0120SB137',['S0203']='0120SB138',['S0222']='0120SB139',['S0231']='0120SB140',['S0235']='0120SB141',['S0238']='0120SB142',['S0239']='0120SB143',['S0240']='0120SB144',['S0248']='0120SB145',['S0251']='0120SB146',['S0268']='0120SB147',['S0271']='0120SB148',['S0273']='0120SB149',['S0277']='0120SB150',['S0283']='0120SB151',['S0317']='0120SB152',['S0335']='0120SB153',['S0343']='0120SB154',['S0347']='0120SB155',['S0349']='0120SB156',['S0363']='0120SB157',['S0377']='0120SB158',['S0381']='0120SB159',['S0385']='0120SB160',['S0391']='0120SB161',['S0395']='0120SB162',['S0411']='0120SB163',['S0419']='0120SB164',['S0439']='0120SB165',['S0443']='0120SB166',['S0465']='0120SB167',['S0473']='0120SB168',['S0521']='0120SB169',['S0545']='0120SB170',['S0569']='0120SB171',['S0577']='0120SB172',['S0599']='0120SB173',['S0601']='0120SB174',['S0645']='0120SB175',['S0649']='0120SB176',['S0705']='0120SB177',['S0707']='0120SB178',['S0713']='0120SB179',['S0777']='0120SB180',['S0803']='0120SB181',['S0817']='0120SB182',['S0843']='0120SB183',['S0423']='0123SB104',['S0107']='0125SB117',['S0124']='0125SB118',['S0169']='0125SB118',['S0125']='0125SB119',['S0177']='0125SB120',['S0183']='0125SB121',['S0227']='0125SB122',['S0228']='0125SB123',['S0234']='0125SB124',['S0237']='0125SB125',['S0258']='0125SB126',['S0285']='0125SB127',['S0290']='0125SB128',['S0292']='0125SB129',['S0297']='0125SB130',['S0302']='0125SB131',['S0306']='0125SB132',['S0315']='0125SB133',['S0321']='0125SB134',['S0322']='0125SB135',['S0325']='0125SB136',['S0330']='0125SB137',['S0345']='0125SB138',['S0357']='0125SB139',['S0359']='0125SB140',['S0365']='0125SB141',['S0393']='0125SB142',['S0413']='0125SB143',['S0429']='0125SB144',['S0431']='0125SB145',['S0437']='0125SB146',['S0457']='0125SB147',['S0461']='0125SB148',['S0511']='0125SB149',['S0518']='0125SB150',['S0527']='0125SB151',['S0559']='0125SB152',['S0561']='0125SB153',['S0565']='0125SB154',['S0591']='0125SB155',['S0597']='0125SB156',['S0607']='0125SB157',['S0629']='0125SB158',['S0667']='0125SB159',['S0669']='0125SB160',['S0674']='0125SB161',['S0685']='0125SB162',['S0689']='0125SB163',['S0697']='0125SB164',['S0726']='0125SB165',['S0729']='0125SB166',['S0735']='0125SB167',['S0753']='0125SB168',['S0783']='0125SB169',['S0787']='0125SB170',['S0813']='0125SB171',['S0821']='0125SB172',['S0147']='0126SB105',['S0253']='0126SB106',['S0427']='0126SB107',['S0623']='0126SB108',['S0655']='0126SB109',['S0749']='0126SB110',['S0795']='0126SB111',['S0159']='0127SB109',['S0167']='0127SB110',['S0209']='0127SB111',['S0219']='0127SB112',['S0244']='0127SB113',['S0361']='0127SB114',['S0387']='0127SB115',['S0489']='0127SB116',['S0495']='0127SB117',['S0585']='0127SB118',['S0710']='0127SB119',['S0769']='0127SB120',['S0807']='0127SB121',['S0221']='0128SB102',['S0293']='0128SB103',['S0106']='0136SB110',['S0134']='0136SB111',['S0210']='0136SB112',['S0230']='0136SB113',['S0257']='0136SB114',['S0275']='0136SB115',['S0284']='0136SB116',['S0301']='0136SB117',['S0319']='0136SB118',['S0404']='0136SB119',['S0435']='0136SB120',['S0447']='0136SB121',['S0463']='0136SB122',['S0472']='0136SB123',['S0575']='0136SB124',['S0583']='0136SB125',['S0613']='0136SB126',['S0687']='0136SB127',['S0696']='0136SB128',['S0715']='0136SB129',['S0727']='0136SB130',['S0739']='0136SB131',['S0747']='0136SB132',['S0755']='0136SB133',['S0773']='0136SB134',['S0801']='0136SB135',['S0829']='0136SB136',['S0833']='0136SB137',['S0127']='0138SB107',['S0163']='0138SB108',['S0249']='0138SB109',['S0517']='0138SB110',['S0721']='0138SB111',['S0811']='0138SB112',['S0186']='0139SB110',['S0198']='0139SB111',['S0246']='0139SB112',['S0279']='0139SB113',['S0312']='0139SB114',['S0379']='0139SB115',['S0445']='0139SB116',['S0481']='0139SB117',['S0515']='0139SB118',['S0549']='0139SB119',['S0615']='0139SB120',['S0673']='0139SB121',['S0791']='0139SB122',['S0280']='0140SB103',['S0119']='0140SB105',['S0152']='0140SB106',['S0190']='0140SB107',['S0192']='0140SB108',['S0201']='0140SB109',['S0247']='0140SB110',['S0407']='0140SB111',['S0499']='0140SB112',['S0631']='0140SB113',['S0653']='0140SB114',['S0654']='0140SB115',['S0661']='0140SB116',['S0308']='0160SB104',['S0717']='0162SB102',['S0243']='0180SB102',['S0109']='0181SB114',['S0131']='0181SB115',['S0202']='0181SB116',['S0212']='0181SB117',['S0218']='0181SB118',['S0254']='0181SB119',['S0256']='0181SB120',['S0264']='0181SB121',['S0265']='0181SB122',['S0266']='0181SB123',['S0276']='0181SB124',['S0282']='0181SB125',['S0286']='0181SB126',['S0288']='0181SB127',['S0289']='0181SB128',['S0299']='0181SB129',['S0326']='0181SB130',['S0339']='0181SB131',['S0341']='0181SB132',['S0402']='0181SB133',['S0428']='0181SB134',['S0453']='0181SB135',['S0469']='0181SB136',['S0471']='0181SB137',['S0477']='0181SB138',['S0503']='0181SB139',['S0504']='0181SB140',['S0505']='0181SB141',['S0506']='0181SB142',['S0555']='0181SB143',['S0563']='0181SB144',['S0573']='0181SB145',['S0581']='0181SB146',['S0605']='0181SB147',['S0617']='0181SB148',['S0618']='0181SB148',['S0619']='0181SB149',['S0621']='0181SB150',['S0641']='0181SB151',['S0703']='0181SB152',['S0709']='0181SB153',['S0725']='0181SB154',['S0741']='0181SB155',['S0761']='0181SB156',['S0763']='0181SB157',['S0823']='0181SB158',['S0226']='0182SB109',['S0236']='0182SB110',['S0313']='0182SB111',['S0757']='0182SB112',['S0809']='0182SB113',['S0141']='0186SB104',['S0233']='0186SB105',['S0252']='0186SB106',['S0647']='0186SB107',['S0723']='0186SB108',['S0369']='0187SB107',['S0523']='0187SB108',['S0529']='0187SB109',['S0531']='0187SB110',['S0535']='0187SB111',['S0593']='0187SB112',['S0595']='0187SB113',['S0731']='0187SB114',['S0841']='0187SB115',['S0102']='0188SB123',['S0103']='0188SB124',['S0104']='0188SB125',['S0105']='0188SB126',['S0108']='0188SB127',['S0110']='0188SB128',['S0112']='0188SB129',['S0113']='0188SB130',['S0114']='0188SB131',['S0115']='0188SB132',['S0116']='0188SB133',['S0118']='0188SB134',['S0120']='0188SB135',['S0122']='0188SB136',['S0126']='0188SB137',['S0128']='0188SB138',['S0132']='0188SB139',['S0133']='0188SB140',['S0136']='0188SB141',['S0139']='0188SB142',['S0140']='0188SB143',['S0146']='0188SB144',['S0148']='0188SB145',['S0150']='0188SB146',['S0151']='0188SB147',['S0156']='0188SB148',['S0157']='0188SB149',['S0162']='0188SB150',['S0164']='0188SB151',['S0165']='0188SB152',['S0168']='0188SB153',['S0172']='0188SB154',['S0178']='0188SB155',['S0181']='0188SB156',['S0182']='0188SB157',['S0196']='0188SB158',['S0199']='0188SB159',['S0205']='0188SB160',['S0206']='0188SB161',['S0211']='0188SB162',['S0214']='0188SB163',['S0216']='0188SB164',['S0217']='0188SB165',['S0229']='0188SB166',['S0242']='0188SB167',['S0245']='0188SB168',['S0261']='0188SB169',['S0267']='0188SB170',['S0270']='0188SB171',['S0274']='0188SB172',['S0281']='0188SB173',['S0287']='0188SB174',['S0291']='0188SB175',['S0294']='0188SB176',['S0296']='0188SB177',['S0300']='0188SB178',['S0304']='0188SB179',['S0305']='0188SB180',['S0307']='0188SB181',['S0309']='0188SB182',['S0314']='0188SB183',['S0318']='0188SB184',['S0320']='0188SB185',['S0324']='0188SB186',['S0328']='0188SB187',['S0337']='0188SB188',['S0367']='0188SB189',['S0373']='0188SB190',['S0383']='0188SB191',['S0397']='0188SB192',['S0403']='0188SB193',['S0441']='0188SB194',['S0449']='0188SB195',['S0467']='0188SB196',['S0479']='0188SB197',['S0483']='0188SB198',['S0497']='0188SB199',['S0501']='0188SB200',['S0509']='0188SB201',['S0519']='0188SB202',['S0525']='0188SB203',['S0539']='0188SB204',['S0541']='0188SB205',['S0311']='0188SB235',['S0551']='0188SB206',['S0553']='0188SB207',['S0554']='0188SB208',['S0557']='0188SB209',['S0571']='0188SB210',['S0611']='0188SB211',['S0625']='0188SB212',['S0626']='0188SB212',['S0627']='0188SB213',['S0639']='0188SB214',['S0651']='0188SB215',['S0675']='0188SB216',['S0677']='0188SB217',['S0691']='0188SB218',['S0695']='0188SB219',['S0699']='0188SB220',['S0701']='0188SB221',['S0711']='0188SB222',['S0719']='0188SB223',['S0743']='0188SB224',['S0751']='0188SB225',['S0759']='0188SB226',['S0771']='0188SB227',['S0775']='0188SB228',['S0779']='0188SB229',['S0785']='0188SB230',['S0797']='0188SB231',['S0799']='0188SB232',['S0837']='0188SB233',['S0839']='0188SB234',['S0101']='0191SB106',['S0123']='0191SB107',['S0130']='0191SB108',['S0142']='0191SB109',['S0143']='0191SB110',['S0145']='0191SB111',['S0158']='0191SB112',['S0166']='0191SB113',['S0175']='0191SB114',['S0223']='0191SB115',['S0259']='0191SB116',['S0327']='0191SB117',['S0329']='0191SB118',['S0333']='0191SB119',['S0353']='0191SB120',['S0355']='0191SB121',['S0375']='0191SB122',['S0389']='0191SB123',['S0609']='0191SB124',['S0637']='0191SB125',['S0638']='0191SB126',['S0679']='0191SB127',['S0681']='0191SB128',['S0745']='0191SB129',['S0822']='0191SB130',['S0827']='0191SB131',['S0173']='0192SB110',['S0179']='0192SB111',['S0207']='0192SB112',['S0224']='0192SB113',['S0232']='0192SB114',['S0241']='0192SB115',['S0262']='0192SB116',['S0263']='0192SB117',['S0272']='0192SB118',['S0278']='0192SB119',['S0298']='0192SB120',['S0303']='0192SB121',['S0401']='0192SB122',['S0409']='0192SB123',['S0433']='0192SB124',['S0487']='0192SB125',['S0507']='0192SB126',['S0513']='0192SB127',['S0533']='0192SB128',['S0543']='0192SB129',['S0547']='0192SB130',['S0567']='0192SB131',['S0579']='0192SB132',['S0587']='0192SB133',['S0635']='0192SB134',['S0643']='0192SB135',['S0657']='0192SB136',['S0663']='0192SB137',['S0831']='0192SB138',['S0875']='0305SB109',['S0882']='0305SB110',['S0891']='0305SB111',['S0909']='0305SB112',['S0945']='0305SB113',['S0957']='0305SB114',['S0969']='0305SB115',['S0985']='0305SB116',['S1048']='0305SB117',['S1066']='0305SB118',['S1073']='0305SB119',['S1077']='0305SB120',['S1099']='0305SB121',['S1111']='0305SB122',['S1117']='0305SB123',['S0930']='0319SB107',['S0946']='0319SB108',['S0993']='0319SB109',['S1009']='0319SB110',['S1141']='0319SB111',['S1145']='0319SB112',['S0845']='0330SB104',['S0857']='0330SB105',['S0880']='0330SB106',['S0883']='0330SB107',['S0886']='0330SB108',['S0914']='0330SB109',['S0927']='0330SB110',['S0977']='0330SB111',['S0979']='0330SB112',['S0999']='0330SB113',['S1049']='0330SB114',['S1093']='0330SB115',['S1137']='0330SB116',['S1139']='0330SB117',['S1157']='0330SB118',['S0948']='0331SB104',['S6265']='0331SB108',['S6285']='0331SB109',['S6301']='0331SB110',['S6351']='0331SB111',['S6371']='0331SB112',['S0856']='0360SB111',['S0873']='0360SB112',['S0877']='0360SB113',['S0885']='0360SB114',['S0905']='0360SB115',['S0907']='0360SB116',['S0908']='0360SB117',['S0912']='0360SB118',['S0933']='0360SB119',['S0941']='0360SB120',['S0942']='0360SB121',['S1001']='0360SB122',['S1005']='0360SB123',['S1033']='0360SB124',['S1065']='0360SB125',['S1081']='0360SB126',['S1085']='0360SB127',['S1091']='0360SB128',['S1097']='0360SB129',['S1101']='0360SB130',['S1113']='0360SB131',['S1125']='0360SB132',['S1151']='0360SB133',['S1153']='0360SB134',['S0846']='0380SB134',['S0847']='0380SB135',['S0848']='0380SB136',['S0849']='0380SB137',['S0850']='0380SB138',['S0851']='0380SB139',['S0852']='0380SB140',['S0853']='0380SB141',['S0855']='0380SB142',['S0858']='0380SB143',['S0859']='0380SB144',['S0860']='0380SB145',['S0861']='0380SB146',['S0863']='0380SB147',['S0864']='0380SB148',['S0866']='0380SB149',['S0870']='0380SB150',['S0871']='0380SB151',['S0872']='0380SB152',['S0876']='0380SB153',['S0878']='0380SB154',['S0879']='0380SB155',['S0884']='0380SB156',['S0887']='0380SB157',['S0889']='0380SB158',['S0892']='0380SB159',['S0893']='0380SB160',['S0896']='0380SB161',['S0899']='0380SB162',['S0900']='0380SB163',['S0901']='0380SB164',['S0902']='0380SB165',['S0904']='0380SB166',['S0906']='0380SB167',['S0910']='0380SB168',['S0911']='0380SB169',['S0913']='0380SB170',['S0918']='0380SB171',['S0920']='0380SB172',['S0921']='0380SB173',['S0922']='0380SB174',['S0923']='0380SB175',['S0924']='0380SB176',['S0926']='0380SB177',['S0928']='0380SB178',['S0931']='0380SB179',['S0932']='0380SB180',['S0934']='0380SB181',['S0935']='0380SB182',['S0936']='0380SB183',['S0937']='0380SB184',['S0940']='0380SB185',['S0943']='0380SB186',['S0950']='0380SB187',['S0953']='0380SB188',['S0962']='0380SB189',['S0971']='0380SB190',['S0973']='0380SB191',['S0975']='0380SB192',['S0981']='0380SB193',['S0983']='0380SB194',['S0987']='0380SB195',['S0995']='0380SB196',['S0997']='0380SB197',['S0998']='0380SB198',['S1003']='0380SB199',['S1011']='0380SB200',['S1015']='0380SB201',['S1017']='0380SB202',['S1019']='0380SB203',['S1021']='0380SB204',['S1023']='0380SB205',['S1025']='0380SB206',['S1026']='0380SB207',['S1029']='0380SB208',['S1035']='0380SB209',['S1039']='0380SB210',['S1041']='0380SB211',['S1043']='0380SB212',['S1045']='0380SB213',['S1047']='0380SB214',['S1051']='0380SB215',['S1053']='0380SB216',['S1055']='0380SB217',['S1057']='0380SB218',['S1059']='0380SB219',['S1061']='0380SB220',['S1063']='0380SB221',['S1079']='0380SB222',['S1087']='0380SB223',['S1089']='0380SB224',['S1092']='0380SB225',['S1094']='0380SB226',['S1095']='0380SB227',['S1103']='0380SB228',['S1105']='0380SB229',['S1107']='0380SB230',['S1109']='0380SB231',['S1127']='0380SB232',['S1129']='0380SB233',['S1133']='0380SB234',['S1143']='0380SB235',['S1149']='0380SB236',['S1155']='0380SB237',['S0854']='0381SB111',['S0862']='0381SB112',['S0867']='0381SB113',['S0868']='0381SB114',['S0874']='0381SB115',['S0888']='0381SB116',['S0890']='0381SB117',['S0894']='0381SB118',['S0895']='0381SB119',['S0898']='0381SB120',['S0903']='0381SB121',['S0915']='0381SB122',['S0917']='0381SB123',['S0929']='0381SB124',['S0938']='0381SB125',['S0939']='0381SB126',['S0963']='0381SB127',['S0965']='0381SB128',['S0989']='0381SB129',['S1007']='0381SB130',['S1013']='0381SB131',['S1027']='0381SB132',['S1028']='0381SB133',['S1037']='0381SB134',['S1069']='0381SB135',['S1071']='0381SB136',['S1121']='0381SB137',['S0944']='0382SB105',['S0865']='0382SB111',['S0869']='0382SB112',['S0881']='0382SB113',['S0897']='0382SB114',['S0916']='0382SB115',['S0919']='0382SB116',['S0925']='0382SB117',['S0947']='0382SB118',['S0949']='0382SB119',['S0961']='0382SB120',['S0991']='0382SB121',['S1075']='0382SB122',['S1193']='0428SB106',['S1243']='0428SB107',['S1247']='0428SB108',['S1269']='0428SB109',['S1345']='0428SB110',['S1365']='0428SB111',['S1201']='0461SB104',['S1233']='0461SB105',['S1259']='0461SB106',['S1275']='0461SB107',['S1161']='0480SB120',['S1177']='0480SB121',['S1179']='0480SB122',['S1185']='0480SB123',['S1190']='0480SB124',['S1196']='0480SB125',['S1200']='0480SB126',['S1203']='0480SB127',['S1213']='0480SB128',['S1217']='0480SB129',['S1225']='0480SB130',['S1227']='0480SB131',['S1231']='0480SB132',['S1237']='0480SB133',['S1249']='0480SB134',['S1266']='0480SB135',['S1277']='0480SB136',['S1285']='0480SB137',['S1286']='0480SB137',['S1289']='0480SB138',['S1301']='0480SB139',['S1305']='0480SB140',['S1309']='0480SB141',['S1335']='0480SB142',['S1363']='0480SB143',['S1184']='0481SB103',['S1188']='0481SB104',['S1315']='0481SB105',['S1281']='0482SB106',['S1174']='0482SB109',['S1183']='0482SB110',['S1199']='0482SB111',['S1282']='0482SB112',['S1294']='0482SB113',['S1337']='0482SB114',['S1351']='0482SB115',['S1170']='0483SB111',['S1171']='0483SB112',['S1181']='0483SB113',['S1191']='0483SB114',['S1195']='0483SB115',['S1197']='0483SB116',['S1202']='0483SB117',['S1209']='0483SB118',['S1313']='0483SB119',['S1333']='0483SB120',['S1361']='0483SB121',['S1162']='0484SB126',['S1164']='0484SB127',['S1168']='0484SB128',['S1172']='0484SB129',['S1173']='0484SB130',['S1175']='0484SB131',['S1176']='0484SB132',['S1180']='0484SB133',['S1182']='0484SB134',['S1186']='0484SB135',['S1187']='0484SB136',['S1189']='0484SB137',['S1192']='0484SB138',['S1194']='0484SB139',['S1207']='0484SB140',['S1211']='0484SB141',['S1239']='0484SB142',['S1255']='0484SB143',['S1265']='0484SB144',['S1271']='0484SB145',['S1279']='0484SB146',['S1287']='0484SB147',['S1295']='0484SB148',['S1297']='0484SB149',['S1304']='0484SB150',['S1317']='0484SB151',['S1318']='0484SB152',['S1319']='0484SB153',['S1321']='0484SB154',['S1323']='0484SB155',['S1329']='0484SB156',['S1347']='0484SB157',['S1357']='0484SB158',['S1163']='0486SB114',['S1165']='0486SB115',['S1166']='0486SB116',['S1167']='0486SB117',['S1169']='0486SB118',['S1178']='0486SB119',['S1205']='0486SB120',['S1215']='0486SB121',['S1219']='0486SB122',['S1221']='0486SB123',['S1223']='0486SB124',['S1241']='0486SB125',['S1245']='0486SB126',['S1251']='0486SB127',['S1257']='0486SB128',['S1261']='0486SB129',['S1263']='0486SB130',['S1267']='0486SB131',['S1273']='0486SB132',['S1283']='0486SB133',['S1291']='0486SB134',['S1292']='0486SB134',['S1293']='0486SB135',['S1303']='0486SB136',['S1325']='0486SB137',['S1341']='0486SB138',['S1343']='0486SB139',['S1353']='0486SB140',['S1198']='0488SB107',['S1229']='0488SB108',['S1253']='0488SB109',['S1311']='0488SB110',['S1349']='0488SB111',['S1355']='0488SB112',['S1433']='0509SB104',['S1581']='0509SB105',['S1375']='0512SB101',['S1381']='0513SB106',['S1441']='0513SB107',['S1523']='0513SB108',['S1589']='0513SB109',['S1501']='0560SB103',['S1383']='0561SB106',['S1403']='0561SB107',['S1461']='0561SB108',['S1443']='0562SB106',['S1384']='0562SB114',['S1393']='0562SB115',['S1397']='0562SB116',['S1400']='0562SB117',['S1401']='0562SB118',['S1451']='0562SB119',['S1493']='0562SB120',['S1497']='0562SB121',['S1513']='0562SB122',['S1380']='0563SB105',['S1389']='0563SB106',['S1417']='0563SB107',['S1418']='0563SB107',['S1431']='0563SB108',['S1565']='0563SB109',['S1601']='0563SB110',['S1370']='0580SB126',['S1373']='0580SB127',['S1377']='0580SB128',['S1382']='0580SB129',['S1394']='0580SB130',['S1399']='0580SB131',['S1402']='0580SB132',['S1413']='0580SB133',['S1420']='0580SB134',['S1423']='0580SB135',['S1424']='0580SB136',['S1429']='0580SB137',['S1457']='0580SB138',['S1459']='0580SB139',['S1505']='0580SB140',['S1516']='0580SB141',['S1517']='0580SB142',['S1525']='0580SB143',['S1531']='0580SB144',['S1533']='0580SB145',['S1537']='0580SB146',['S1545']='0580SB147',['S1571']='0580SB148',['S1573']='0580SB149',['S1575']='0580SB150',['S1587']='0580SB151',['S1599']='0580SB152',['S1613']='0580SB153',['S1625']='0580SB154',['S1477']='0581SB114',['S1390']='0581SB123',['S1369']='0581SB130',['S1374']='0581SB131',['S1376']='0581SB132',['S1378']='0581SB133',['S1379']='0581SB134',['S1396']='0581SB135',['S1398']='0581SB136',['S1408']='0581SB137',['S1409']='0581SB138',['S1410']='0581SB139',['S1411']='0581SB140',['S1412']='0581SB141',['S1414']='0581SB142',['S1415']='0581SB143',['S1416']='0581SB144',['S1425']='0581SB145',['S1427']='0581SB146',['S1437']='0581SB147',['S1449']='0581SB148',['S1455']='0581SB149',['S1463']='0581SB150',['S1465']='0581SB151',['S1469']='0581SB152',['S1473']='0581SB153',['S1475']='0581SB154',['S1515']='0581SB154',['S1481']='0581SB155',['S1485']='0581SB156',['S1499']='0581SB157',['S1503']='0581SB158',['S1511']='0581SB159',['S1521']='0581SB160',['S1541']='0581SB161',['S1542']='0581SB162',['S1553']='0581SB163',['S1557']='0581SB164',['S1559']='0581SB165',['S1561']='0581SB166',['S1563']='0581SB167',['S1567']='0581SB168',['S1577']='0581SB169',['S1585']='0581SB170',['S1605']='0581SB171',['S1610']='0581SB172',['S1611']='0581SB173',['S1614']='0581SB174',['S1629']='0581SB175',['S1367']='0582SB107',['S1387']='0582SB108',['S1404']='0582SB109',['S1406']='0582SB110',['S1419']='0582SB111',['S1489']='0582SB112',['S1491']='0582SB113',['S1519']='0582SB114',['S1421']='0583SB104',['S1371']='0583SB115',['S1385']='0583SB116',['S1388']='0583SB117',['S1391']='0583SB118',['S1405']='0583SB119',['S1407']='0583SB120',['S1422']='0583SB121',['S1445']='0583SB122',['S1447']='0583SB123',['S1453']='0583SB124',['S1507']='0583SB125',['S1569']='0583SB126',['S1593']='0583SB127',['S1597']='0583SB128',['S1617']='0583SB129',['S1386']='0584SB101',['S1529']='0584SB104',['S1549']='0584SB105',['S1368']='0586SB108',['S1372']='0586SB109',['S1392']='0586SB110',['S1395']='0586SB111',['S1509']='0586SB112',['S1555']='0586SB113',['S1556']='0586SB114',['S1609']='0586SB115',['S1621']='0586SB116',['S1633']='0604SB104',['S1699']='0604SB105',['S1705']='0604SB106',['S1799']='0604SB107',['S1738']='0617SB104',['S1813']='0617SB107',['S1657']='0617SB108',['S1660']='0617SB109',['S1741']='0617SB110',['S1743']='0617SB111',['S1793']='0617SB112',['S1652']='0643SB105',['S1659']='0643SB106',['S1676']='0643SB107',['S1679']='0643SB108',['S1778']='0643SB109',['S5305']='0643SB110',['S5317']='0643SB111',['S5325']='0643SB112',['S5505']='0643SB113',['S5513']='0643SB114',['S5601']='0643SB115',['S1632']='0662SB110',['S1650']='0662SB111',['S1655']='0662SB112',['S1737']='0662SB113',['S1785']='0662SB114',['S1809']='0662SB115',['S1649']='0665SB106',['S1653']='0665SB107',['S1665']='0665SB108',['S1697']='0665SB109',['S1783']='0665SB110',['S1637']='0680SB123',['S1638']='0680SB124',['S1639']='0680SB125',['S1642']='0680SB126',['S1645']='0680SB127',['S1648']='0680SB128',['S1656']='0680SB129',['S1658']='0680SB130',['S1661']='0680SB131',['S1662']='0680SB132',['S1663']='0680SB133',['S1664']='0680SB134',['S1667']='0680SB135',['S1668']='0680SB136',['S1670']='0680SB137',['S1671']='0680SB138',['S1674']='0680SB139',['S1675']='0680SB140',['S1689']='0680SB141',['S1719']='0680SB142',['S1725']='0680SB143',['S1727']='0680SB144',['S1729']='0680SB145',['S1731']='0680SB146',['S1739']='0680SB147',['S1749']='0680SB148',['S1757']='0680SB149',['S1765']='0680SB150',['S1773']='0680SB151',['S1774']='0680SB152',['S1779']='0680SB153',['S1780']='0680SB153',['S1781']='0680SB154',['S1782']='0680SB155',['S1787']='0680SB156',['S1789']='0680SB157',['S1791']='0680SB158',['S1819']='0680SB159',['S1666']='0682SB103',['S1775']='0682SB110',['S1636']='0682SB114',['S1759']='0682SB115',['S1786']='0682SB116',['S1797']='0682SB117',['S1643']='0683SB114',['S1644']='0683SB115',['S1646']='0683SB116',['S1672']='0683SB117',['S1673']='0683SB118',['S1687']='0683SB119',['S1693']='0683SB120',['S1703']='0683SB121',['S1721']='0683SB122',['S1723']='0683SB123',['S1755']='0683SB124',['S1805']='0683SB125',['S9697']='0683SB126',['S1640']='0684SB105',['S1701']='0684SB106',['S1709']='0684SB107',['S1713']='0684SB108',['S1631']='0685SB114',['S1634']='0685SB115',['S1635']='0685SB116',['S1651']='0685SB117',['S1654']='0685SB118',['S1669']='0685SB119',['S1677']='0685SB120',['S1685']='0685SB121',['S1711']='0685SB122',['S1751']='0685SB123',['S1753']='0685SB124',['S1761']='0685SB125',['S1777']='0685SB126',['S1817']='0685SB127',['S1641']='0686SB107',['S1647']='0686SB108',['S1717']='0686SB109',['S1735']='0686SB110',['S1745']='0686SB111',['S1763']='0686SB112',['S1801']='0686SB113',['S1681']='0687SB105',['S1715']='0687SB106',['S1733']='0687SB107',['S1747']='0687SB108',['S1769']='0687SB109',['S9699']='0760SB102',['S1897']='0760SB110',['S1905']='0760SB111',['S1933']='0760SB112',['S1831']='0763SB102',['S1836']='0763SB110',['S1851']='0763SB111',['S1879']='0763SB112',['S1889']='0763SB113',['S1973']='0763SB114',['S1825']='0764SB107',['S1826']='0764SB108',['S1827']='0764SB109',['S1829']='0764SB110',['S1833']='0764SB111',['S1869']='0764SB112',['S1874']='0764SB113',['S1883']='0764SB114',['S1891']='0764SB115',['S1893']='0764SB116',['S1899']='0764SB117',['S1901']='0764SB118',['S1945']='0764SB119',['S1824']='0765SB101',['S1871']='0765SB104',['S1843']='0765SB108',['S1873']='0765SB109',['S1877']='0765SB110',['S1909']='0765SB111',['S1961']='0765SB112',['S1875']='0767SB105',['S1885']='0767SB106',['S1921']='0767SB107',['S1941']='0767SB108',['S1965']='0767SB109',['S1971']='0767SB110',['S1822']='0780SB101',['S1830']='0780SB116',['S1835']='0780SB117',['S1839']='0780SB118',['S1841']='0780SB119',['S1849']='0780SB120',['S1853']='0780SB121',['S1857']='0780SB122',['S1859']='0780SB123',['S1863']='0780SB124',['S1865']='0780SB125',['S1867']='0780SB126',['S1887']='0780SB127',['S1907']='0780SB128',['S1911']='0780SB129',['S1913']='0780SB130',['S1917']='0780SB131',['S1895']='0780SB132',['S1923']='0780SB132',['S1925']='0780SB133',['S1931']='0780SB134',['S1943']='0780SB135',['S1953']='0780SB136',['S1957']='0780SB137',['S1821']='0781SB101',['S1823']='0781SB110',['S1828']='0781SB111',['S1832']='0781SB112',['S1834']='0781SB113',['S1837']='0781SB114',['S1845']='0781SB115',['S1861']='0781SB116',['S1881']='0781SB117',['S1929']='0781SB118',['S1937']='0781SB119',['S1949']='0781SB120',['S1951']='0781SB121',['S1969']='0781SB122',['S1989']='0821SB107',['S2009']='0821SB108',['S2093']='0821SB109',['S2161']='0821SB110',['S2355']='0821SB111',['S2005']='0834SB105',['S2031']='0834SB106',['S2045']='0834SB107',['S2061']='0834SB108',['S2097']='0834SB109',['S2149']='0834SB110',['S2203']='0834SB111',['S2265']='0834SB112',['S2313']='0834SB113',['S9701']='0840SB106',['S2189']='0840SB110',['S1977']='0840SB116',['S1981']='0840SB117',['S1984']='0840SB118',['S1990']='0840SB119',['S1994']='0840SB120',['S2001']='0840SB121',['S2051']='0840SB122',['S2065']='0840SB123',['S2089']='0840SB124',['S2117']='0840SB125',['S2121']='0840SB126',['S2137']='0840SB127',['S2177']='0840SB128',['S2183']='0840SB129',['S2191']='0840SB130',['S2209']='0840SB131',['S2219']='0840SB132',['S2243']='0840SB133',['S2273']='0840SB134',['S2277']='0840SB135',['S2285']='0840SB136',['S2301']='0840SB137',['S2317']='0840SB138',['S2345']='0840SB139',['S2357']='0840SB140',['S2167']='0860SB103',['S1991']='0860SB111',['S1978']='0861SB110',['S2073']='0861SB111',['S2091']='0861SB112',['S2106']='0861SB113',['S2109']='0861SB114',['S2141']='0861SB115',['S2201']='0861SB116',['S2205']='0861SB117',['S2241']='0861SB118',['S2308']='0861SB119',['S2309']='0861SB120',['S2333']='0861SB121',['S2365']='0861SB122',['S2024']='0862SB101',['S1985']='0862SB108',['S2069']='0862SB109',['S2283']='0862SB110',['S1979']='0880SB120',['S1982']='0880SB121',['S1986']='0880SB122',['S1987']='0880SB123',['S1998']='0880SB124',['S2000']='0880SB125',['S2002']='0880SB126',['S2025']='0880SB127',['S2049']='0880SB128',['S2053']='0880SB129',['S2057']='0880SB130',['S2077']='0880SB131',['S2113']='0880SB132',['S2119']='0880SB133',['S2143']='0880SB134',['S2153']='0880SB135',['S2155']='0880SB136',['S2211']='0880SB137',['S2213']='0880SB138',['S2335']='0880SB139',['S2349']='0880SB140',['S2363']='0880SB141',['S2364']='0880SB142',['S1992']='0881SB106',['S1997']='0881SB112',['S1999']='0881SB112',['S2074']='0881SB113',['S2081']='0881SB114',['S2101']='0881SB115',['S2145']='0881SB116',['S2217']='0881SB117',['S2249']='0881SB118',['S2255']='0881SB119',['S2261']='0881SB120',['S9703']='0882SB106',['S1975']='0882SB112',['S1996']='0882SB113',['S2013']='0882SB114',['S2131']='0882SB115',['S2133']='0882SB116',['S2139']='0882SB117',['S2181']='0882SB118',['S2185']='0882SB119',['S2233']='0882SB120',['S2245']='0882SB121',['S2353']='0882SB122',['S1993']='0883SB101',['S2023']='0883SB103',['S1980']='0883SB116',['S1995']='0883SB117',['S2017']='0883SB118',['S2021']='0883SB119',['S2085']='0883SB120',['S2095']='0883SB121',['S2099']='0883SB122',['S2125']='0883SB123',['S2127']='0883SB124',['S2129']='0883SB125',['S2193']='0883SB126',['S2197']='0883SB127',['S2207']='0883SB128',['S2257']='0883SB129',['S2289']='0883SB130',['S2329']='0883SB131',['S2337']='0883SB132',['S9705']='0884SB103',['S1988']='0884SB108',['S2041']='0884SB109',['S2159']='0884SB110',['S2325']='0884SB111',['S1976']='0885SB110',['S1983']='0885SB111',['S2007']='0885SB112',['S2027']='0885SB113',['S2029']='0885SB114',['S2033']='0885SB115',['S2037']='0885SB116',['S2055']='0885SB117',['S2105']='0885SB118',['S2157']='0885SB119',['S2165']='0885SB120',['S2169']='0885SB121',['S2173']='0885SB122',['S2221']='0885SB123',['S2225']='0885SB124',['S2229']='0885SB125',['S2237']='0885SB126',['S2253']='0885SB127',['S2269']='0885SB128',['S2281']='0885SB129',['S2293']='0885SB130',['S2297']='0885SB131',['S2305']='0885SB132',['S2307']='0885SB133',['S2311']='0885SB134',['S2321']='0885SB135',['S2341']='0885SB136',['S2361']='0885SB137',['S2445']='0980SB106',['S2394']='0980SB108',['S2477']='0980SB110',['S2479']='0980SB110',['S2369']='0980SB124',['S2370']='0980SB125',['S2371']='0980SB126',['S2372']='0980SB127',['S2373']='0980SB128',['S2374']='0980SB129',['S2375']='0980SB130',['S2376']='0980SB131',['S2377']='0980SB132',['S2378']='0980SB133',['S2379']='0980SB134',['S2380']='0980SB135',['S2381']='0980SB136',['S2382']='0980SB137',['S2383']='0980SB138',['S2384']='0980SB138',['S2385']='0980SB139',['S2386']='0980SB140',['S2387']='0980SB141',['S2388']='0980SB142',['S2389']='0980SB143',['S2390']='0980SB144',['S2391']='0980SB145',['S2392']='0980SB146',['S2393']='0980SB147',['S2395']='0980SB148',['S2396']='0980SB149',['S2397']='0980SB150',['S2398']='0980SB151',['S2399']='0980SB152',['S2400']='0980SB153',['S2401']='0980SB154',['S2405']='0980SB155',['S2409']='0980SB156',['S2411']='0980SB157',['S2413']='0980SB158',['S2417']='0980SB159',['S2421']='0980SB160',['S2425']='0980SB161',['S2427']='0980SB162',['S2429']='0980SB163',['S2433']='0980SB164',['S2437']='0980SB165',['S2439']='0980SB166',['S2441']='0980SB167',['S2449']='0980SB168',['S2453']='0980SB169',['S2457']='0980SB170',['S2461']='0980SB171',['S2465']='0980SB172',['S2467']='0980SB173',['S2469']='0980SB174',['S2473']='0980SB175',['S2481']='0980SB176',['S2485']='0980SB177',['S2489']='0980SB178',['S2493']='0980SB179',['S2497']='0980SB180',['S2499']='0980SB181',['S2501']='0980SB182',['S2505']='0980SB183',['S2509']='0980SB184',['S2513']='0980SB185',['S2517']='0980SB186',['S2521']='0980SB187',['S2523']='0980SB188',['S2525']='0980SB189',['S2529']='0980SB190',['S2533']='0980SB191',['S2537']='0980SB192',['S2541']='0980SB193',['S2545']='1060SB106',['S2625']='1060SB107',['S2567']='1080SB101',['S2543']='1080SB124',['S2544']='1080SB125',['S2547']='1080SB126',['S2548']='1080SB127',['S2551']='1080SB128',['S2552']='1080SB129',['S2553']='1080SB130',['S2556']='1080SB131',['S2559']='1080SB132',['S2563']='1080SB133',['S2566']='1080SB134',['S2570']='1080SB135',['S2572']='1080SB136',['S2574']='1080SB137',['S2578']='1080SB138',['S2579']='1080SB139',['S2580']='1080SB140',['S2581']='1080SB141',['S2583']='1080SB142',['S2590']='1080SB143',['S2597']='1080SB144',['S2599']='1080SB145',['S2601']='1080SB146',['S2613']='1080SB147',['S2615']='1080SB148',['S2641']='1080SB149',['S2649']='1080SB150',['S2665']='1080SB151',['S2677']='1080SB152',['S2681']='1080SB153',['S2683']='1080SB154',['S2684']='1080SB155',['S2685']='1080SB156',['S2689']='1080SB157',['S2691']='1080SB158',['S2703']='1080SB159',['S2707']='1080SB160',['S2713']='1080SB161',['S2733']='1080SB162',['S2734']='1080SB163',['S2745']='1080SB164',['S2749']='1080SB165',['S2751']='1080SB166',['S2752']='1080SB166',['S2753']='1080SB167',['S2757']='1080SB168',['S2761']='1080SB169',['S2763']='1080SB170',['S2773']='1080SB171',['S2785']='1080SB172',['S2789']='1080SB173',['S2793']='1080SB174',['S3243']='1080SB175',['S2546']='1081SB114',['S2557']='1081SB115',['S2565']='1081SB116',['S2568']='1081SB117',['S2569']='1081SB118',['S2571']='1081SB119',['S2577']='1081SB120',['S2595']='1081SB121',['S2621']='1081SB122',['S2627']='1081SB123',['S2647']='1081SB124',['S2661']='1081SB125',['S2669']='1081SB126',['S2695']='1081SB127',['S2709']='1081SB128',['S2711']='1081SB129',['S2715']='1081SB130',['S2721']='1081SB131',['S2729']='1081SB132',['S2731']='1081SB133',['S2735']='1081SB134',['S2767']='1081SB135',['S2777']='1081SB136',['S2555']='1082SB110',['S2560']='1082SB111',['S2561']='1082SB112',['S2562']='1082SB113',['S2564']='1082SB114',['S2575']='1082SB115',['S2576']='1082SB116',['S2585']='1082SB117',['S2587']='1082SB118',['S2605']='1082SB119',['S2609']='1082SB120',['S2611']='1082SB121',['S2617']='1082SB122',['S2629']='1082SB123',['S2631']='1082SB124',['S2633']='1082SB125',['S2653']='1082SB126',['S2657']='1082SB127',['S2697']='1082SB128',['S2699']='1082SB129',['S2701']='1082SB130',['S2705']='1082SB131',['S2737']='1082SB132',['S2741']='1082SB133',['S2765']='1082SB134',['S2775']='1082SB135',['S2781']='1082SB136',['S2549']='1083SB113',['S2550']='1083SB114',['S2554']='1083SB115',['S2558']='1083SB116',['S2573']='1083SB117',['S2589']='1083SB118',['S2593']='1083SB119',['S2619']='1083SB120',['S2635']='1083SB121',['S2637']='1083SB122',['S2639']='1083SB123',['S2645']='1083SB124',['S2673']='1083SB125',['S2687']='1083SB126',['S2693']='1083SB127',['S2717']='1083SB128',['S2725']='1083SB129',['S2739']='1083SB130',['S2755']='1083SB131',['S2759']='1083SB132',['S2769']='1083SB133',['S2770']='1083SB134',['S2771']='1083SB135',['S2831']='1214SB107',['S2872']='1214SB108',['S2876']='1214SB109',['S2927']='1214SB110',['S3451']='1214SB110',['S3010']='1214SB111',['S3191']='1214SB112',['S3257']='1214SB113',['S3265']='1214SB114',['S3489']='1214SB115',['S3573']='1214SB116',['S3601']='1214SB117',['S3709']='1214SB118',['S3793']='1214SB119',['S3797']='1214SB120',['S2856']='1230SB106',['S2867']='1230SB107',['S2983']='1230SB108',['S3143']='1230SB109',['S3273']='1230SB110',['S3281']='1230SB111',['S3325']='1230SB112',['S3389']='1230SB113',['S3515']='1230SB114',['S3585']='1230SB115',['S3745']='1230SB116',['S3831']='1230SB117',['S3251']='1231SB104',['S3723']='1231SB105',['S2832']='1233SB111',['S2864']='1233SB112',['S2915']='1233SB113',['S2991']='1233SB114',['S3253']='1233SB115',['S3381']='1233SB116',['S3465']='1233SB117',['S3561']='1233SB118',['S3577']='1233SB119',['S3591']='1233SB120',['S3615']='1233SB121',['S3617']='1233SB122',['S3621']='1233SB123',['S3751']='1233SB124',['S3765']='1233SB125',['S3874']='1233SB126',['S3909']='1233SB127',['S2823']='1256SB109',['S2829']='1256SB110',['S2841']='1256SB111',['S2921']='1256SB112',['S3197']='1256SB113',['S3228']='1256SB114',['S3423']='1256SB115',['S2806']='1257SB105',['S2830']='1257SB106',['S2833']='1257SB107',['S2838']='1257SB108',['S2905']='1257SB109',['S3109']='1257SB110',['S3135']='1257SB111',['S3215']='1257SB112',['S3597']='1260SB110',['S3203']='1261SB113',['S3461']='1261SB114',['S3477']='1261SB115',['S3547']='1261SB116',['S3701']='1261SB117',['S3741']='1261SB118',['S3749']='1261SB119',['S3841']='1261SB120',['S3901']='1261SB121',['S2892']='1262SB106',['S2963']='1262SB107',['S3249']='1262SB108',['S3255']='1262SB109',['S3341']='1262SB110',['S3529']='1262SB111',['S2840']='1263SB106',['S2886']='1263SB107',['S2898']='1263SB108',['S3011']='1263SB109',['S3245']='1263SB110',['S3287']='1263SB111',['S3305']='1263SB112',['S3309']='1263SB113',['S3310']='1263SB114',['S3437']='1263SB115',['S3445']='1263SB116',['S3497']='1263SB117',['S3598']='1263SB118',['S3599']='1263SB119',['S3655']='1263SB120',['S3849']='1263SB121',['S3905']='1263SB122',['S2887']='1264SB105',['S3473']='1264SB106',['S3495']='1264SB107',['S3533']='1264SB108',['S3633']='1264SB109',['S3671']='1264SB110',['S3681']='1264SB111',['S3779']='1264SB112',['S3813']='1264SB113',['S3917']='1264SB114',['S2811']='1265SB110',['S2827']='1265SB111',['S2843']='1265SB112',['S2858']='1265SB113',['S3095']='1265SB114',['S3223']='1265SB115',['S3369']='1265SB116',['S3421']='1265SB117',['S3425']='1265SB118',['S3427']='1265SB119',['S3441']='1265SB120',['S3481']='1265SB121',['S3485']='1265SB122',['S3557']='1265SB123',['S3625']='1265SB124',['S3653']='1265SB125',['S3657']='1265SB126',['S3775']='1265SB127',['S3789']='1265SB128',['S3837']='1265SB129',['S3863']='1265SB130',['S3957']='1265SB131',['S3953']='1266SB105',['S2804']='1266SB106',['S2816']='1266SB107',['S2846']='1266SB108',['S2880']='1266SB109',['S2900']='1266SB110',['S3261']='1266SB111',['S3321']='1266SB112',['S3545']='1266SB113',['S3549']='1266SB114',['S3637']='1266SB115',['S3729']='1266SB116',['S3757']='1266SB117',['S3867']='1266SB118',['S3869']='1266SB119',['S3871']='1266SB120',['S3925']='1266SB121',['S3937']='1266SB122',['S3951']='1266SB123',['S3923']='1267SB102',['S2820']='1267SB110',['S2828']='1267SB111',['S2868']='1267SB112',['S2896']='1267SB113',['S2979']='1267SB114',['S3103']='1267SB115',['S3151']='1267SB116',['S3297']='1267SB117',['S3317']='1267SB118',['S3323']='1267SB119',['S3361']='1267SB120',['S3377']='1267SB121',['S3537']='1267SB122',['S3567']='1267SB123',['S3593']='1267SB124',['S3605']='1267SB125',['S3685']='1267SB126',['S3689']='1267SB127',['S3711']='1267SB128',['S2819']='1270SB108',['S2852']='1270SB109',['S2855']='1270SB110',['S2907']='1270SB111',['S2911']='1270SB112',['S3061']='1270SB113',['S3111']='1270SB114',['S3121']='1270SB115',['S3238']='1270SB116',['S2798']='1272SB108',['S2847']='1272SB109',['S2851']='1272SB110',['S2889']='1272SB111',['S2925']='1272SB112',['S3017']='1272SB113',['S3093']='1272SB114',['S3201']='1272SB115',['S2848']='1273SB106',['S2941']='1273SB107',['S2993']='1273SB108',['S3185']='1273SB109',['S3233']='1273SB110',['S2933']='1275SB102',['S3041']='1275SB103',['S3161']='1275SB104',['S2969']='1276SB106',['S2837']='1276SB109',['S2873']='1276SB110',['S2885']='1276SB111',['S2917']='1276SB112',['S2967']='1276SB113',['S2970']='1276SB114',['S2973']='1276SB115',['S2985']='1276SB116',['S2997']='1276SB117',['S3025']='1276SB118',['S3081']='1276SB119',['S3113']='1276SB120',['S3137']='1276SB121',['S2999']='1277SB106',['S3115']='1277SB107',['S2799']='1278SB107',['S2803']='1278SB108',['S2814']='1278SB109',['S2853']='1278SB110',['S2879']='1278SB111',['S2903']='1278SB112',['S2913']='1278SB113',['S2959']='1278SB114',['S2965']='1278SB115',['S3049']='1278SB116',['S3053']='1278SB117',['S3057']='1278SB118',['S3119']='1278SB119',['S3123']='1278SB120',['S3217']='1278SB121',['S3219']='1278SB122',['S3221']='1278SB123',['S2824']='1280SB114',['S2871']='1280SB115',['S2910']='1280SB116',['S2992']='1280SB117',['S3051']='1280SB118',['S3493']='1280SB119',['S3541']='1280SB120',['S3669']='1280SB121',['S3753']='1280SB122',['S3781']='1280SB123',['S3805']='1280SB124',['S3845']='1280SB125',['S3877']='1280SB126',['S2878']='1281SB111',['S2947']='1281SB112',['S3003']='1281SB113',['S3147']='1281SB114',['S3289']='1281SB115',['S3291']='1281SB116',['S3293']='1281SB116',['S3353']='1281SB117',['S3357']='1281SB118',['S3449']='1281SB119',['S3457']='1281SB120',['S3553']='1281SB121',['S3645']='1281SB122',['S3665']='1281SB123',['S3713']='1281SB124',['S3721']='1281SB125',['S3833']='1281SB126',['S3853']='1281SB127',['S3865']='1281SB128',['S3876']='1281SB129',['S3955']='1281SB130',['S2807']='1282SB110',['S2810']='1282SB111',['S2862']='1282SB112',['S2912']='1282SB113',['S2971']='1282SB114',['S3015']='1282SB115',['S2839']='1282SB116',['S3299']='1282SB116',['S3513']='1282SB117',['S3569']='1282SB118',['S3613']='1282SB119',['S3641']='1282SB120',['S3737']='1282SB121',['S3809']='1282SB122',['S3823']='1282SB123',['S3825']='1282SB124',['S3921']='1282SB125',['S3941']='1282SB126',['S2822']='1283SB118',['S2850']='1283SB119',['S2883']='1283SB120',['S2890']='1283SB121',['S2904']='1283SB122',['S2995']='1283SB123',['S3019']='1283SB124',['S3235']='1283SB125',['S3277']='1283SB126',['S3345']='1283SB127',['S3349']='1283SB128',['S3365']='1283SB129',['S3405']='1283SB130',['S3429']='1283SB131',['S3455']='1283SB132',['S3509']='1283SB133',['S3817']='1283SB134',['S3821']='1283SB135',['S3857']='1283SB136',['S3861']='1283SB137',['S2802']='1284SB112',['S2951']='1284SB113',['S3131']='1284SB114',['S3301']='1284SB115',['S3333']='1284SB116',['S3453']='1284SB117',['S3525']='1284SB118',['S3581']='1284SB119',['S3725']='1284SB120',['S2882']='1285SB114',['S2894']='1285SB115',['S3329']='1285SB116',['S3395']='1285SB117',['S3413']='1285SB118',['S3433']='1285SB119',['S3501']='1285SB120',['S3695']='1285SB121',['S3785']='1285SB122',['S3801']='1285SB123',['S3819']='1285SB124',['S3881']='1285SB125',['S3897']='1285SB126',['S3945']='1285SB127',['S2859']='1286SB111',['S2874']='1286SB112',['S2908']='1286SB113',['S3285']='1286SB114',['S3417']='1286SB115',['S3469']='1286SB116',['S3517']='1286SB117',['S3521']='1286SB118',['S3602']='1286SB119',['S3609']='1286SB120',['S3629']='1286SB121',['S3673']='1286SB122',['S3693']='1286SB123',['S3705']='1286SB124',['S3733']='1286SB125',['S3933']='1286SB126',['S2842']='1287SB115',['S2860']='1287SB116',['S2866']='1287SB117',['S2884']='1287SB118',['S3139']='1287SB119',['S3155']='1287SB120',['S3250']='1287SB121',['S3313']='1287SB122',['S3373']='1287SB123',['S3385']='1287SB124',['S3393']='1287SB125',['S3397']='1287SB126',['S3401']='1287SB127',['S3409']='1287SB128',['S3415']='1287SB129',['S3487']='1287SB130',['S3505']='1287SB131',['S3565']='1287SB132',['S3589']='1287SB133',['S3649']='1287SB134',['S3650']='1287SB134',['S3661']='1287SB135',['S3677']='1287SB136',['S3683']='1287SB137',['S3697']='1287SB138',['S3717']='1287SB139',['S3761']='1287SB140',['S3769']='1287SB141',['S3773']='1287SB142',['S3777']='1287SB143',['S3829']='1287SB144',['S3873']='1287SB145',['S3885']='1287SB146',['S3889']='1287SB147',['S3893']='1287SB148',['S3913']='1287SB149',['S3929']='1287SB150',['S3935']='1287SB151',['S3949']='1287SB152',['S3169']='1290SB120',['S2808']='1290SB137',['S2817']='1290SB138',['S2821']='1290SB139',['S2834']='1290SB140',['S2836']='1290SB141',['S2845']='1290SB142',['S2849']='1290SB143',['S2854']='1290SB144',['S2863']='1290SB145',['S2865']='1290SB146',['S2870']='1290SB147',['S2881']='1290SB148',['S2902']='1290SB149',['S2909']='1290SB150',['S2955']='1290SB151',['S2957']='1290SB152',['S2961']='1290SB153',['S2975']='1290SB154',['S2976']='1290SB155',['S2987']='1290SB156',['S3001']='1290SB157',['S3005']='1290SB158',['S3009']='1290SB159',['S3029']='1290SB160',['S3033']='1290SB161',['S3042']='1290SB162',['S3043']='1290SB163',['S3045']='1290SB164',['S3047']='1290SB165',['S3073']='1290SB166',['S3077']='1290SB167',['S3101']='1290SB168',['S3133']='1290SB169',['S3141']='1290SB170',['S3145']='1290SB171',['S3157']='1290SB172',['S3177']='1290SB173',['S3193']='1290SB174',['S3205']='1290SB175',['S3207']='1290SB176',['S3229']='1290SB177',['S3236']='1290SB178',['S3241']='1290SB179',['S3919']='1290SB180',['S2805']='1291SB117',['S2812']='1291SB118',['S2818']='1291SB119',['S2877']='1291SB120',['S2891']='1291SB121',['S2893']='1291SB122',['S2895']='1291SB123',['S2899']='1291SB124',['S2901']='1291SB125',['S2953']='1291SB126',['S3013']='1291SB127',['S3065']='1291SB128',['S3069']='1291SB129',['S3099']='1291SB130',['S3129']='1291SB131',['S3165']='1291SB132',['S3189']='1291SB133',['S3225']='1291SB134',['S3237']='1291SB135',['S3239']='1291SB136',['S3271']='1291SB137',['S2937']='1292SB102',['S2800']='1292SB116',['S2809']='1292SB117',['S2813']='1292SB118',['S2826']='1292SB119',['S2869']='1292SB120',['S2897']='1292SB121',['S2977']='1292SB122',['S2989']='1292SB123',['S3021']='1292SB124',['S3085']='1292SB125',['S3117']='1292SB126',['S3125']='1292SB127',['S3127']='1292SB128',['S3149']='1292SB129',['S3153']='1292SB130',['S3173']='1292SB131',['S3209']='1292SB132',['S3227']='1292SB133',['S3483']='1292SB134',['S3915']='1293SB118',['S2797']='1293SB119',['S2801']='1293SB120',['S2815']='1293SB121',['S2825']='1293SB122',['S2835']='1293SB123',['S2844']='1293SB124',['S2857']='1293SB125',['S2861']='1293SB126',['S2875']='1293SB127',['S2888']='1293SB128',['S2906']='1293SB129',['S2914']='1293SB130',['S2929']='1293SB131',['S2945']='1293SB132',['S2949']='1293SB133',['S2981']='1293SB134',['S3007']='1293SB135',['S3037']='1293SB136',['S3097']='1293SB137',['S3105']='1293SB138',['S3107']='1293SB139',['S3181']='1293SB140',['S3213']='1293SB141',['S3774']='1293SB142',['S3977']='1315SB107',['S3993']='1315SB108',['S4149']='1315SB109',['S4175']='1315SB110',['S3987']='1380SB123',['S3988']='1380SB124',['S4004']='1380SB125',['S4008']='1380SB126',['S4009']='1380SB127',['S4081']='1380SB128',['S4145']='1380SB129',['S4157']='1380SB130',['S4165']='1380SB131',['S4173']='1380SB132',['S4203']='1380SB133',['S4205']='1380SB134',['S4241']='1380SB135',['S4263']='1380SB136',['S4281']='1380SB137',['S4299']='1380SB138',['S4309']='1380SB139',['S3965']='1381SB115',['S3967']='1381SB116',['S3997']='1381SB117',['S4101']='1381SB118',['S4117']='1381SB119',['S4159']='1381SB120',['S4161']='1381SB121',['S4174']='1381SB122',['S4177']='1381SB123',['S4209']='1381SB124',['S4225']='1381SB125',['S4247']='1381SB126',['S4271']='1381SB127',['S4301']='1381SB128',['S4329']='1381SB129',['S4347']='1381SB130',['S3969']='1382SB122',['S3970']='1382SB123',['S3985']='1382SB124',['S4001']='1382SB125',['S4005']='1382SB126',['S4006']='1382SB127',['S4011']='1382SB128',['S4020']='1382SB129',['S4021']='1382SB130',['S4027']='1382SB131',['S4037']='1382SB132',['S4113']='1382SB133',['S4123']='1382SB134',['S4125']='1382SB135',['S4137']='1382SB136',['S4151']='1382SB137',['S4170']='1382SB138',['S4185']='1382SB139',['S4189']='1382SB140',['S4191']='1382SB141',['S4193']='1382SB142',['S4199']='1382SB143',['S4253']='1382SB144',['S4285']='1382SB145',['S4303']='1382SB146',['S4321']='1382SB147',['S4323']='1382SB148',['S3971']='1383SB124',['S3980']='1383SB125',['S3982']='1383SB126',['S3983']='1383SB127',['S3984']='1383SB128',['S3989']='1383SB129',['S4010']='1383SB130',['S4016']='1383SB131',['S4019']='1383SB132',['S4023']='1383SB133',['S4025']='1383SB134',['S4029']='1383SB135',['S4031']='1383SB136',['S4033']='1383SB137',['S4045']='1383SB138',['S4057']='1383SB139',['S4085']='1383SB140',['S4089']='1383SB141',['S4111']='1383SB142',['S4121']='1383SB143',['S4127']='1383SB144',['S4133']='1383SB145',['S4135']='1383SB146',['S4139']='1383SB147',['S4153']='1383SB148',['S4163']='1383SB149',['S4179']='1383SB150',['S4183']='1383SB151',['S4187']='1383SB152',['S4197']='1383SB153',['S4213']='1383SB154',['S4233']='1383SB155',['S4245']='1383SB156',['S4251']='1383SB157',['S4257']='1383SB158',['S4259']='1383SB159',['S4265']='1383SB160',['S4267']='1383SB161',['S4273']='1383SB162',['S4277']='1383SB163',['S4279']='1383SB164',['S4283']='1383SB165',['S4287']='1383SB166',['S4289']='1383SB167',['S4291']='1383SB168',['S4319']='1383SB169',['S4324']='1383SB170',['S4325']='1383SB171',['S4327']='1383SB172',['S4331']='1383SB173',['S4333']='1383SB174',['S4335']='1383SB175',['S4337']='1383SB176',['S4343']='1383SB177',['S9647']='1383SB178',['S3961']='1384SB130',['S3966']='1384SB131',['S3968']='1384SB132',['S3972']='1384SB133',['S3974']='1384SB134',['S3973']='1384SB135',['S3975']='1384SB135',['S3976']='1384SB136',['S3978']='1384SB137',['S3979']='1384SB138',['S3981']='1384SB139',['S3986']='1384SB140',['S3990']='1384SB141',['S3991']='1384SB142',['S3992']='1384SB143',['S3994']='1384SB144',['S3995']='1384SB145',['S3996']='1384SB146',['S3998']='1384SB147',['S3999']='1384SB148',['S4000']='1384SB149',['S4002']='1384SB150',['S4003']='1384SB151',['S4007']='1384SB152',['S4012']='1384SB153',['S4013']='1384SB154',['S4014']='1384SB155',['S4015']='1384SB156',['S4017']='1384SB157',['S4018']='1384SB158',['S4022']='1384SB159',['S4024']='1384SB160',['S4035']='1384SB161',['S4041']='1384SB162',['S4043']='1384SB163',['S4049']='1384SB164',['S4053']='1384SB165',['S4061']='1384SB166',['S4065']='1384SB167',['S4067']='1384SB168',['S4069']='1384SB169',['S4071']='1384SB170',['S4073']='1384SB171',['S4077']='1384SB172',['S4093']='1384SB173',['S4097']='1384SB174',['S4099']='1384SB175',['S4103']='1384SB176',['S4105']='1384SB177',['S4107']='1384SB178',['S4109']='1384SB179',['S4115']='1384SB180',['S4119']='1384SB181',['S4129']='1384SB182',['S4141']='1384SB183',['S4147']='1384SB184',['S4155']='1384SB185',['S4169']='1384SB186',['S4181']='1384SB187',['S4195']='1384SB188',['S4201']='1384SB189',['S4207']='1384SB190',['S4210']='1384SB191',['S4211']='1384SB192',['S4212']='1384SB193',['S4217']='1384SB194',['S4221']='1384SB195',['S4223']='1384SB196',['S4227']='1384SB197',['S4229']='1384SB198',['S4237']='1384SB199',['S4243']='1384SB200',['S4249']='1384SB201',['S4255']='1384SB202',['S4261']='1384SB203',['S4269']='1384SB204',['S4275']='1384SB205',['S4293']='1384SB206',['S4295']='1384SB207',['S4297']='1384SB208',['S4305']='1384SB209',['S4307']='1384SB210',['S4311']='1384SB211',['S4313']='1384SB212',['S4315']='1384SB213',['S4317']='1384SB214',['S4339']='1384SB215',['S4341']='1384SB216',['S4345']='1384SB217',['S4349']='1384SB218',['S4351']='1384SB219',['S9635']='1384SB220',['S9641']='1384SB221',['S4375']='1401SB115',['S4381']='1401SB116',['S4387']='1401SB117',['S4393']='1401SB118',['S4407']='1401SB119',['S4437']='1401SB120',['S4474']='1401SB121',['S4476']='1401SB122',['S4489']='1401SB123',['S4507']='1401SB124',['S4527']='1401SB125',['S4531']='1401SB126',['S4535']='1401SB127',['S4603']='1401SB128',['S4615']='1401SB129',['S4649']='1401SB130',['S4657']='1401SB131',['S4659']='1401SB132',['S4677']='1401SB133',['S4693']='1401SB134',['S4709']='1401SB135',['S4729']='1401SB136',['S4733']='1401SB137',['S4757']='1401SB138',['S4785']='1401SB139',['S4787']='1401SB139',['S4871']='1401SB140',['S4885']='1401SB141',['S4994']='1401SB142',['S5315']='1401SB143',['S5343']='1401SB144',['S5459']='1401SB145',['S4530']='1402SB104',['S4781']='1402SB105',['S4833']='1402SB106',['S5579']='1402SB106',['S4523']='1407SB103',['S4473']='1407SB110',['S4553']='1407SB111',['S4364']='1415SB113',['S4409']='1415SB114',['S4436']='1415SB115',['S4450']='1415SB116',['S4451']='1415SB117',['S4454']='1415SB118',['S4457']='1415SB119',['S4519']='1415SB120',['S4544']='1415SB121',['S4583']='1415SB122',['S4592']='1415SB123',['S4606']='1415SB124',['S4644']='1415SB125',['S4648']='1415SB126',['S4691']='1415SB127',['S4737']='1415SB128',['S4739']='1415SB129',['S4745']='1415SB130',['S4759']='1415SB131',['S4791']='1415SB132',['S4797']='1415SB133',['S4845']='1415SB134',['S4863']='1415SB135',['S4873']='1415SB136',['S4968']='1415SB137',['S5015']='1415SB138',['S5223']='1415SB139',['S5339']='1415SB140',['S5391']='1415SB141',['S5431']='1415SB142',['S4556']='1419SB112',['S4365']='1419SB114',['S4379']='1419SB115',['S4383']='1419SB116',['S4398']='1419SB117',['S4413']='1419SB118',['S4447']='1419SB119',['S4448']='1419SB120',['S4459']='1419SB121',['S4479']='1419SB122',['S4481']='1419SB123',['S4482']='1419SB124',['S4512']='1419SB125',['S4513']='1419SB126',['S4516']='1419SB127',['S4532']='1419SB128',['S4537']='1419SB129',['S4543']='1419SB130',['S4589']='1419SB131',['S4602']='1419SB132',['S4611']='1419SB133',['S4631']='1419SB134',['S4647']='1419SB135',['S4651']='1419SB136',['S4685']='1419SB137',['S4707']='1419SB138',['S4708']='1419SB139',['S4753']='1419SB140',['S4763']='1419SB141',['S4769']='1419SB142',['S4779']='1419SB143',['S4813']='1419SB144',['S4841']='1419SB145',['S4861']='1419SB146',['S5068']='1419SB147',['S5287']='1419SB148',['S9597']='1419SB149',['S4658']='1421SB103',['S4358']='1421SB112',['S4376']='1421SB113',['S4388']='1421SB114',['S4404']='1421SB115',['S4411']='1421SB116',['S4415']='1421SB117',['S4423']='1421SB118',['S4433']='1421SB119',['S4470']='1421SB120',['S4477']='1421SB121',['S4509']='1421SB122',['S4552']='1421SB123',['S4559']='1421SB124',['S4564']='1421SB125',['S4572']='1421SB126',['S4577']='1421SB127',['S4597']='1421SB128',['S4643']='1421SB129',['S4646']='1421SB130',['S4653']='1421SB131',['S4656']='1421SB132',['S4674']='1421SB133',['S4694']='1421SB134',['S4723']='1421SB135',['S4747']='1421SB136',['S4749']='1421SB137',['S4795']='1421SB138',['S4824']='1421SB139',['S4865']='1421SB140',['S4883']='1421SB141',['S5028']='1421SB142',['S5351']='1421SB143',['S5547']='1421SB144',['S9605']='1421SB145',['S4849']='1427SB110',['S9711']='1427SB111',['S9713']='1427SB112',['S4445']='1430SB106',['S4449']='1430SB107',['S4689']='1430SB108',['S4817']='1430SB109',['S9601']='1430SB110',['S4362']='1435SB108',['S4373']='1435SB109',['S4435']='1435SB110',['S4461']='1435SB111',['S4501']='1435SB112',['S4505']='1435SB113',['S4560']='1435SB114',['S4579']='1435SB115',['S4581']='1435SB116',['S4593']='1435SB117',['S4617']='1435SB118',['S4669']='1435SB119',['S4697']='1435SB120',['S4710']='1435SB121',['S4789']='1435SB122',['S4793']='1435SB123',['S4889']='1435SB124',['S5451']='1435SB125',['S9609']='1435SB126',['S5061']='1438SB102',['S5189']='1438SB103',['S4949']='1439SB105',['S5067']='1439SB106',['S5197']='1439SB107',['S4390']='1440SB108',['S4396']='1440SB109',['S4650']='1440SB110',['S4655']='1440SB111',['S4660']='1440SB112',['S4662']='1440SB113',['S4675']='1440SB114',['S4695']='1440SB115',['S4823']='1440SB116',['S4899']='1440SB117',['S4997']='1440SB118',['S5079']='1440SB119',['S5081']='1440SB120',['S5093']='1440SB121',['S5101']='1440SB122',['S5195']='1440SB123',['S5209']='1440SB124',['S5217']='1440SB125',['S5218']='1440SB125',['S5227']='1440SB126',['S5267']='1440SB127',['S5411']='1440SB128',['S5523']='1440SB129',['S4394']='1441SB111',['S4425']='1441SB112',['S4492']='1441SB113',['S4498']='1441SB114',['S4582']='1441SB115',['S4698']='1441SB116',['S4715']='1441SB117',['S4811']='1441SB118',['S4860']='1441SB119',['S4893']='1441SB120',['S4895']='1441SB121',['S4905']='1441SB122',['S4993']='1441SB123',['S5027']='1441SB124',['S5045']='1441SB125',['S5051']='1441SB126',['S5129']='1441SB127',['S5141']='1441SB128',['S5147']='1441SB129',['S5205']='1441SB130',['S5221']='1441SB131',['S5225']='1441SB132',['S5243']='1441SB133',['S5279']='1441SB134',['S5291']='1441SB135',['S5292']='1441SB135',['S5297']='1441SB136',['S4538']='1442SB104',['S4600']='1442SB105',['S4909']='1442SB106',['S4921']='1442SB107',['S4969']='1442SB108',['S5011']='1442SB109',['S5041']='1442SB110',['S5049']='1442SB111',['S5125']='1442SB112',['S5293']='1442SB113',['S4384']='1443SB105',['S4421']='1443SB106',['S4478']='1443SB107',['S4515']='1443SB108',['S4580']='1443SB109',['S4702']='1443SB110',['S4961']='1443SB111',['S5019']='1443SB112',['S5237']='1443SB113',['S5259']='1443SB114',['S5316']='1443SB115',['S4518']='1444SB102',['S5373']='1444SB103',['S5517']='1444SB104',['S5135']='1445SB104',['S5323']='1445SB105',['S5345']='1445SB106',['S5347']='1445SB107',['S5365']='1445SB108',['S5369']='1445SB109',['S5385']='1445SB110',['S5329']='1446SB106',['S5397']='1446SB107',['S5425']='1446SB108',['S5553']='1446SB109',['S4484']='1447SB105',['S4491']='1447SB106',['S5497']='1447SB107',['S4818']='1452SB108',['S5057']='1452SB111',['S5169']='1452SB112',['S5175']='1452SB113',['S5289']='1452SB114',['S4354']='1460SB107',['S4363']='1460SB108',['S4945']='1460SB109',['S5001']='1460SB110',['S5233']='1460SB111',['S5285']='1460SB112',['S4372']='1461SB105',['S4590']='1461SB106',['S4929']='1461SB107',['S4957']='1461SB108',['S5063']='1461SB109',['S5115']='1461SB110',['S5247']='1461SB111',['S5340']='1461SB112',['S4456']='1462SB107',['S4463']='1462SB108',['S4503']='1462SB109',['S4542']='1462SB110',['S4594']='1462SB111',['S4634']='1462SB112',['S4664']='1462SB113',['S5073']='1462SB114',['S5133']='1462SB115',['S5165']='1462SB116',['S5193']='1462SB117',['S5219']='1462SB118',['S5255']='1462SB119',['S5263']='1462SB120',['S5269']='1462SB121',['S4440']='1463SB113',['S4442']='1463SB114',['S4472']='1463SB115',['S4526']='1463SB116',['S4566']='1463SB117',['S4568']='1463SB118',['S4618']='1463SB119',['S4620']='1463SB120',['S4630']='1463SB121',['S4636']='1463SB122',['S4640']='1463SB123',['S4642']='1463SB124',['S4700']='1463SB125',['S4704']='1463SB126',['S4751']='1463SB127',['S4897']='1463SB128',['S4901']='1463SB129',['S4917']='1463SB130',['S4923']='1463SB131',['S4967']='1463SB132',['S4981']='1463SB133',['S5021']='1463SB134',['S5047']='1463SB135',['S5055']='1463SB136',['S5059']='1463SB137',['S5069']='1463SB138',['S5109']='1463SB139',['S5111']='1463SB140',['S5137']='1463SB141',['S5171']='1463SB142',['S5187']='1463SB143',['S5245']='1463SB144',['S5251']='1463SB145',['S4911']='1465SB109',['S4953']='1465SB110',['S5065']='1465SB111',['S5173']='1465SB112',['S5283']='1465SB113',['S5519']='1465SB114',['S5383']='1466SB102',['S4623']='1466SB105',['S4667']='1466SB106',['S5053']='1466SB107',['S4378']='1470SB112',['S4536']='1470SB113',['S4558']='1470SB114',['S4608']='1470SB115',['S4696']='1470SB116',['S5417']='1470SB117',['S5429']='1470SB118',['S5447']='1470SB119',['S5475']='1470SB120',['S5581']='1470SB121',['S5613']='1470SB122',['S4356']='1471SB106',['S4402']='1471SB107',['S4414']='1471SB108',['S4452']='1471SB109',['S4466']='1471SB110',['S4494']='1471SB111',['S4680']='1471SB112',['S5341']='1471SB113',['S5377']='1471SB114',['S5405']='1471SB115',['S5441']='1471SB116',['S5481']='1471SB117',['S5521']='1471SB118',['S5603']='1471SB119',['S5609']='1471SB120',['S4360']='1472SB104',['S4627']='1472SB105',['S5433']='1472SB106',['S4367']='1473SB104',['S5407']='1473SB105',['S5453']='1473SB106',['S5529']='1473SB107',['S5577']='1473SB108',['S4353']='1480SB132',['S4357']='1480SB133',['S4361']='1480SB134',['S4389']='1480SB135',['S4391']='1480SB136',['S4397']='1480SB137',['S4412']='1480SB138',['S4417']='1480SB139',['S4455']='1480SB140',['S4465']='1480SB141',['S4483']='1480SB142',['S4485']='1480SB143',['S4487']='1480SB144',['S4493']='1480SB145',['S4539']='1480SB146',['S4541']='1480SB147',['S4557']='1480SB148',['S4585']='1480SB149',['S4601']='1480SB150',['S4607']='1480SB151',['S4609']='1480SB152',['S4614']='1480SB153',['S4621']='1480SB154',['S4624']='1480SB155',['S4625']='1480SB156',['S4626']='1480SB157',['S4633']='1480SB158',['S4641']='1480SB159',['S4679']='1480SB160',['S4687']='1480SB161',['S4703']='1480SB162',['S4713']='1480SB163',['S4721']='1480SB164',['S4741']='1480SB165',['S4773']='1480SB166',['S4819']='1480SB167',['S4821']='1480SB168',['S4825']='1480SB169',['S4827']='1480SB170',['S4835']='1480SB171',['S4837']='1480SB172',['S4869']='1480SB173',['S4881']='1480SB174',['S4932']='1480SB175',['S5179']='1480SB176',['S5191']='1480SB177',['S5335']='1480SB178',['S9585']='1480SB179',['S4377']='1481SB105',['S4434']='1481SB106',['S4441']='1481SB107',['S4469']='1481SB108',['S4497']='1481SB109',['S4549']='1481SB110',['S4554']='1481SB111',['S4555']='1481SB112',['S4619']='1481SB113',['S4645']='1481SB114',['S4661']='1481SB115',['S4672']='1481SB116',['S4777']='1481SB117',['S4829']='1481SB118',['S5002']='1481SB119',['S9589']='1481SB119',['S5427']='1481SB120',['S4368']='1482SB121',['S4369']='1482SB122',['S4403']='1482SB123',['S4420']='1482SB124',['S4429']='1482SB125',['S4462']='1482SB126',['S4464']='1482SB127',['S4495']='1482SB128',['S4499']='1482SB129',['S4500']='1482SB130',['S4506']='1482SB131',['S4510']='1482SB132',['S4521']='1482SB133',['S4525']='1482SB134',['S4533']='1482SB135',['S4545']='1482SB136',['S4547']='1482SB137',['S4548']='1482SB138',['S4550']='1482SB139',['S4561']='1482SB140',['S4562']='1482SB141',['S4567']='1482SB142',['S4570']='1482SB143',['S4571']='1482SB144',['S4573']='1482SB145',['S4575']='1482SB146',['S4576']='1482SB147',['S4586']='1482SB148',['S4596']='1482SB149',['S4598']='1482SB150',['S4604']='1482SB151',['S4610']='1482SB152',['S4613']='1482SB153',['S4616']='1482SB154',['S4629']='1482SB155',['S4654']='1482SB156',['S4670']='1482SB157',['S4671']='1482SB158',['S4686']='1482SB159',['S4701']='1482SB160',['S4706']='1482SB161',['S4716']='1482SB162',['S4717']='1482SB163',['S4735']='1482SB164',['S4755']='1482SB165',['S4801']='1482SB166',['S4809']='1482SB167',['S4815']='1482SB168',['S4847']='1482SB169',['S4855']='1482SB170',['S4870']='1482SB171',['S4877']='1482SB172',['S4887']='1482SB173',['S4891']='1482SB174',['S5151']='1482SB175',['S5331']='1482SB176',['S5375']='1482SB177',['S5415']='1482SB178',['S5419']='1482SB179',['S5511']='1482SB180',['S9613']='1482SB181',['S9621']='1482SB182',['S4395']='1484SB102',['S4374']='1484SB107',['S4392']='1484SB108',['S4468']='1484SB109',['S4504']='1484SB110',['S4528']='1484SB111',['S4599']='1484SB112',['S4676']='1484SB113',['S4681']='1484SB114',['S4705']='1484SB115',['S4725']='1485SB109',['S4366']='1485SB115',['S4371']='1485SB116',['S4385']='1485SB117',['S4399']='1485SB118',['S4400']='1485SB119',['S4401']='1485SB120',['S4406']='1485SB121',['S4422']='1485SB122',['S4432']='1485SB123',['S4439']='1485SB124',['S4443']='1485SB125',['S4460']='1485SB126',['S4488']='1485SB127',['S4508']='1485SB128',['S4511']='1485SB129',['S4517']='1485SB130',['S4520']='1485SB131',['S4522']='1485SB132',['S4534']='1485SB133',['S4551']='1485SB134',['S4563']='1485SB135',['S4565']='1485SB136',['S4584']='1485SB137',['S4605']='1485SB138',['S4665']='1485SB139',['S4666']='1485SB140',['S4678']='1485SB141',['S4727']='1485SB142',['S4761']='1485SB143',['S4762']='1485SB144',['S4765']='1485SB145',['S4783']='1485SB146',['S4853']='1485SB147',['S4857']='1485SB148',['S4867']='1485SB149',['S5097']='1485SB150',['S5127']='1485SB151',['S5142']='1485SB152',['S5215']='1485SB153',['S5555']='1485SB154',['S9581']='1485SB155',['S9593']='1485SB156',['S9617']='1485SB157',['S4359']='1486SB107',['S4405']='1486SB108',['S4416']='1486SB109',['S4453']='1486SB110',['S4529']='1486SB111',['S4569']='1486SB112',['S4637']='1486SB113',['S4663']='1486SB114',['S4673']='1486SB115',['S4743']='1486SB116',['S4775']='1486SB117',['S4805']='1486SB118',['S4875']='1486SB119',['S5199']='1486SB120',['S4419']='1487SB107',['S4546']='1487SB108',['S4668']='1487SB109',['S4927']='1487SB110',['S4965']='1487SB111',['S4977']='1487SB112',['S5017']='1487SB113',['S5037']='1487SB114',['S5105']='1487SB115',['S5177']='1487SB116',['S5261']='1487SB117',['S5265']='1487SB118',['S5537']='1487SB119',['S4467']='1488SB109',['S4540']='1488SB110',['S4692']='1488SB111',['S4915']='1488SB112',['S5025']='1488SB113',['S5181']='1488SB114',['S5273']='1488SB115',['S5426']='1488SB116',['S5183']='1488SB117',['S9611']='1488SB117',['S4427']='1489SB114',['S4446']='1489SB115',['S4574']='1489SB116',['S4591']='1489SB117',['S4595']='1489SB118',['S4635']='1489SB119',['S4699']='1489SB120',['S4714']='1489SB121',['S4767']='1489SB122',['S4925']='1489SB123',['S4926']='1489SB124',['S4931']='1489SB125',['S4933']='1489SB126',['S4941']='1489SB127',['S5005']='1489SB128',['S5029']='1489SB129',['S5031']='1489SB130',['S5033']='1489SB131',['S5035']='1489SB132',['S5077']='1489SB133',['S5107']='1489SB134',['S5145']='1489SB135',['S5149']='1489SB136',['S5153']='1489SB137',['S5157']='1489SB138',['S5161']='1489SB139',['S5185']='1489SB140',['S5213']='1489SB141',['S5241']='1489SB142',['S5281']='1489SB143',['S5327']='1489SB144',['S4418']='1490SB127',['S4428']='1490SB128',['S4430']='1490SB129',['S4444']='1490SB130',['S4458']='1490SB131',['S4480']='1490SB132',['S4490']='1490SB133',['S4496']='1490SB134',['S4502']='1490SB135',['S4587']='1490SB136',['S4612']='1490SB137',['S4622']='1490SB138',['S4632']='1490SB139',['S4684']='1490SB140',['S4711']='1490SB141',['S4712']='1490SB142',['S4859']='1490SB143',['S4913']='1490SB144',['S4989']='1490SB145',['S5009']='1490SB146',['S5013']='1490SB147',['S5043']='1490SB148',['S5113']='1490SB149',['S5121']='1490SB150',['S5136']='1490SB151',['S5253']='1490SB152',['S5257']='1490SB153',['S5271']='1490SB154',['S5275']='1490SB155',['S5371']='1490SB156',['S5463']='1490SB157',['S9715']='1491SB113',['S4438']='1491SB114',['S4475']='1491SB115',['S4690']='1491SB116',['S4919']='1491SB117',['S4973']='1491SB118',['S5023']='1491SB119',['S5085']='1491SB120',['S5099']='1491SB121',['S5117']='1491SB122',['S5119']='1491SB123',['S5201']='1491SB124',['S5229']='1491SB125',['S5249']='1491SB126',['S4937']='1492SB104',['S4985']='1492SB105',['S5089']='1492SB106',['S5167']='1492SB107',['S5277']='1492SB108',['S4382']='1493SB108',['S4386']='1493SB109',['S4638']='1493SB110',['S4688']='1493SB111',['S5313']='1493SB112',['S5357']='1493SB113',['S5403']='1493SB114',['S5409']='1493SB115',['S5437']='1493SB116',['S5455']='1493SB117',['S5471']='1493SB118',['S5473']='1493SB119',['S5557']='1493SB120',['S5565']='1493SB121',['S4683']='1494SB108',['S4355']='1494SB113',['S4380']='1494SB114',['S4408']='1494SB115',['S4410']='1494SB116',['S4578']='1494SB117',['S4682']='1494SB118',['S4766']='1494SB119',['S5389']='1494SB120',['S5393']='1494SB121',['S5413']='1494SB122',['S5443']='1494SB123',['S5461']='1494SB124',['S5469']='1494SB125',['S5477']='1494SB126',['S5485']='1494SB127',['S5493']='1494SB128',['S5509']='1494SB129',['S5533']='1494SB130',['S5541']='1494SB131',['S5545']='1494SB132',['S5561']='1494SB133',['S5569']='1494SB134',['S5605']='1494SB135',['S5617']='1494SB136',['S4431']='1495SB106',['S4486']='1495SB107',['S4514']='1495SB108',['S5299']='1495SB109',['S5465']='1495SB110',['S5489']='1495SB111',['S5525']='1495SB112',['S5526']='1495SB113',['S5595']='1495SB114',['S4424']='1496SB111',['S4471']='1496SB112',['S4588']='1496SB113',['S4639']='1496SB114',['S4652']='1496SB115',['S5309']='1496SB116',['S5349']='1496SB117',['S5311']='1496SB118',['S5362']='1496SB118',['S5399']='1496SB119',['S5421']='1496SB120',['S5467']='1496SB121',['S5501']='1496SB122',['S5527']='1496SB123',['S5549']='1496SB124',['S5573']='1496SB125',['S5585']='1496SB126',['S5599']='1496SB127',['S5319']='1497SB101',['S4370']='1497SB104',['S4426']='1497SB105',['S5387']='1497SB106',['S5445']='1497SB107',['S5457']='1497SB108',['S5381']='1498SB102',['S5301']='1498SB105',['S5353']='1498SB106',['S5361']='1498SB107',['S5401']='1498SB108',['S5449']='1498SB109',['S5589']='1498SB110',['S4524']='1499SB112',['S4628']='1499SB113',['S5321']='1499SB114',['S5333']='1499SB115',['S5337']='1499SB116',['S5439']='1499SB117',['S5593']='1499SB118',['S5597']='1499SB119',['S5607']='1499SB120',['S5683']='1715SB105',['S5688']='1715SB106',['S5721']='1715SB107',['S5735']='1715SB108',['S5887']='1715SB109',['S5891']='1715SB110',['S5917']='1715SB111',['S5621']='1730SB105',['S5643']='1730SB106',['S5669']='1730SB107',['S5675']='1730SB108',['S5685']='1730SB109',['S5749']='1730SB110',['S5785']='1730SB111',['S5863']='1730SB112',['S5889']='1730SB113',['S5679']='1737SB101',['S5743']='1737SB102',['S5686']='1737SB108',['S5623']='1737SB110',['S5629']='1737SB111',['S5649']='1737SB112',['S5661']='1737SB113',['S5677']='1737SB114',['S5698']='1737SB115',['S5753']='1737SB116',['S5757']='1737SB117',['S5761']='1737SB118',['S5823']='1737SB119',['S5851']='1737SB119',['S5825']='1737SB120',['S5843']='1737SB121',['S5845']='1737SB122',['S5873']='1737SB123',['S5881']='1737SB124',['S5899']='1737SB125',['S5901']='1737SB126',['S5937']='1737SB127',['S5941']='1737SB128',['S5949']='1737SB129',['S5957']='1737SB130',['S5981']='1737SB131',['S5989']='1737SB132',['S9719']='1737SB133',['S5678']='1760SB103',['S5773']='1760SB104',['S5777']='1760SB105',['S5865']='1760SB106',['S5931']='1760SB107',['S5638']='1761SB106',['S5640']='1761SB107',['S5648']='1761SB108',['S5674']='1761SB109',['S5833']='1761SB110',['S5835']='1761SB111',['S5853']='1761SB112',['S5872']='1761SB112',['S5929']='1761SB113',['S5644']='1762SB102',['S5684']='1762SB103',['S5829']='1762SB104',['S5639']='1763SB105',['S5650']='1763SB106',['S5665']='1763SB107',['S5805']='1763SB108',['S5813']='1763SB109',['S5841']='1763SB110',['S5913']='1763SB111',['S5915']='1763SB112',['S5947']='1763SB113',['S5987']='1763SB114',['S5633']='1764SB105',['S5682']='1764SB106',['S5696']='1764SB107',['S5765']='1764SB108',['S5793']='1764SB109',['S5799']='1764SB110',['S5803']='1764SB111',['S5859']='1764SB112',['S5961']='1764SB113',['S5973']='1764SB114',['S9717']='1765SB101',['S5622']='1765SB104',['S5652']='1765SB105',['S5690']='1765SB106',['S5697']='1765SB107',['S5733']='1765SB108',['S5885']='1765SB109',['S5905']='1765SB110',['S5925']='1765SB111',['S5985']='1765SB112',['S5625']='1766SB106',['S5626']='1766SB107',['S5630']='1766SB108',['S5641']='1766SB109',['S5656']='1766SB110',['S5657']='1766SB111',['S5672']='1766SB112',['S5699']='1766SB113',['S5701']='1766SB114',['S5715']='1766SB115',['S5727']='1766SB116',['S5745']='1766SB117',['S5746']='1766SB118',['S5789']='1766SB119',['S5893']='1766SB120',['S5895']='1766SB121',['S5921']='1766SB122',['S5979']='1766SB123',['S5628']='1780SB118',['S5635']='1780SB119',['S5642']='1780SB120',['S5646']='1780SB121',['S5651']='1780SB122',['S5654']='1780SB123',['S5658']='1780SB124',['S5659']='1780SB125',['S5663']='1780SB126',['S5664']='1780SB127',['S5667']='1780SB128',['S5673']='1780SB129',['S5687']='1780SB130',['S5691']='1780SB131',['S5694']='1780SB132',['S5711']='1780SB133',['S5719']='1780SB134',['S5725']='1780SB135',['S5769']='1780SB136',['S5807']='1780SB137',['S5837']='1780SB138',['S5857']='1780SB139',['S5871']='1780SB140',['S5877']='1780SB141',['S5933']='1780SB142',['S5953']='1780SB143',['S5983']='1780SB144',['S5991']='1780SB145',['S5775']='1781SB106',['S5809']='1781SB107',['S5867']='1781SB108',['S5903']='1781SB109',['S5919']='1781SB110',['S5975']='1781SB111',['S5634']='1782SB103',['S5645']='1782SB106',['S5666']='1782SB107',['S5676']='1782SB108',['S5781']='1782SB109',['S5668']='1783SB103',['S5624']='1783SB110',['S5653']='1783SB111',['S5705']='1783SB112',['S5709']='1783SB113',['S5713']='1783SB114',['S5717']='1783SB115',['S5729']='1783SB116',['S5741']='1783SB117',['S5801']='1783SB118',['S5897']='1783SB119',['S5969']='1783SB120',['S5977']='1783SB121',['S5627']='1784SB109',['S5631']='1784SB110',['S5632']='1784SB111',['S5636']='1784SB112',['S5637']='1784SB113',['S5647']='1784SB114',['S5655']='1784SB115',['S5660']='1784SB116',['S5670']='1784SB117',['S5671']='1784SB118',['S5680']='1784SB119',['S5681']='1784SB120',['S5689']='1784SB121',['S5692']='1784SB122',['S5693']='1784SB123',['S5695']='1784SB124',['S5703']='1784SB125',['S5707']='1784SB126',['S5737']='1784SB127',['S5751']='1784SB128',['S5797']='1784SB129',['S5817']='1784SB130',['S5821']='1784SB131',['S5847']='1784SB132',['S5861']='1784SB133',['S5869']='1784SB134',['S5909']='1784SB135',['S5922']='1784SB136',['S5945']='1784SB137',['S5965']='1784SB138',['S5971']='1784SB139',['S5811']='1785SB101',['S5662']='1785SB105',['S5783']='1785SB106',['S5849']='1785SB107',['S5855']='1785SB108',['S6008']='1814SB107',['S6026']='1814SB108',['S6027']='1814SB109',['S6032']='1814SB110',['S6061']='1814SB111',['S6062']='1814SB112',['S6075']='1814SB113',['S6117']='1814SB114',['S6235']='1814SB115',['S6241']='1814SB116',['S6003']='1860SB104',['S5994']='1861SB108',['S6013']='1861SB109',['S6185']='1861SB110',['S6221']='1861SB111',['S6222']='1861SB112',['S6038']='1862SB103',['S6082']='1862SB105',['S6111']='1862SB106',['S6227']='1862SB107',['S6071']='1863SB102',['S6019']='1863SB106',['S6021']='1863SB107',['S6189']='1863SB108',['S6193']='1863SB109',['S6079']='1864SB101',['S6217']='1864SB103',['S6009']='1864SB107',['S6089']='1864SB108',['S6197']='1864SB109',['S6015']='1880SB102',['S5993']='1880SB122',['S5995']='1880SB123',['S5996']='1880SB124',['S5997']='1880SB125',['S5999']='1880SB126',['S6001']='1880SB127',['S6004']='1880SB128',['S6005']='1880SB129',['S6007']='1880SB130',['S6010']='1880SB131',['S6014']='1880SB132',['S6016']='1880SB133',['S6018']='1880SB134',['S6020']='1880SB135',['S6022']='1880SB136',['S6028']='1880SB137',['S6034']='1880SB138',['S6035']='1880SB139',['S6036']='1880SB140',['S6037']='1880SB141',['S6039']='1880SB142',['S6041']='1880SB143',['S6051']='1880SB144',['S6059']='1880SB145',['S6069']='1880SB146',['S6073']='1880SB147',['S6077']='1880SB148',['S6081']='1880SB149',['S6085']='1880SB150',['S6087']='1880SB151',['S6091']='1880SB152',['S6093']='1880SB153',['S6105']='1880SB154',['S6109']='1880SB155',['S6113']='1880SB156',['S6115']='1880SB157',['S6116']='1880SB158',['S6123']='1880SB159',['S6133']='1880SB160',['S6141']='1880SB161',['S6143']='1880SB162',['S6149']='1880SB163',['S6161']='1880SB164',['S6165']='1880SB165',['S6173']='1880SB166',['S6175']='1880SB167',['S6177']='1880SB168',['S6181']='1880SB169',['S6183']='1880SB170',['S6209']='1880SB171',['S6211']='1880SB172',['S6213']='1880SB173',['S6223']='1880SB174',['S6224']='1880SB174',['S6229']='1880SB175',['S6233']='1880SB176',['S6242']='1880SB177',['S6245']='1880SB178',['S6119']='1881SB104',['S6030']='1881SB107',['S6033']='1881SB108',['S6055']='1881SB109',['S6057']='1881SB110',['S6187']='1881SB111',['S6243']='1881SB112',['S9721']='1882SB105',['S6000']='1882SB111',['S6002']='1882SB112',['S6023']='1882SB113',['S6024']='1882SB114',['S6040']='1882SB115',['S6045']='1882SB116',['S6101']='1882SB117',['S6121']='1882SB118',['S6125']='1882SB119',['S6145']='1882SB120',['S6201']='1882SB121',['S6205']='1882SB122',['S6006']='1883SB103',['S6011']='1883SB104',['S6025']='1883SB105',['S6063']='1883SB106',['S6067']='1883SB107',['S6083']='1883SB108',['S6129']='1883SB109',['S6137']='1883SB110',['S6203']='1883SB111',['S6231']='1883SB112',['S6163']='1884SB103',['S6029']='1884SB107',['S6053']='1884SB108',['S6097']='1884SB109',['S5998']='1885SB111',['S6012']='1885SB112',['S6017']='1885SB113',['S6031']='1885SB114',['S6049']='1885SB115',['S6065']='1885SB116',['S6153']='1885SB117',['S6157']='1885SB118',['S6169']='1885SB119',['S6207']='1885SB120',['S6225']='1885SB121',['S6228']='1885SB122',['S6237']='1885SB123',['S6239']='1885SB124',['S6247']='1885SB125',['S6261']='1904SB105',['S6264']='1904SB106',['S6275']='1904SB107',['S6297']='1904SB108',['S6311']='1904SB109',['S6260']='1907SB105',['S6269']='1907SB106',['S6270']='1907SB106',['S6274']='1907SB107',['S6276']='1907SB108',['S6326']='1907SB109',['S6345']='1907SB110',['S6377']='1907SB111',['S6283']='1960SB103',['S6333']='1960SB104',['S6363']='1960SB105',['S6365']='1960SB106',['S6831']='1960SB107',['S6253']='1961SB107',['S6280']='1961SB108',['S6325']='1961SB109',['S6249']='1962SB103',['S6293']='1962SB104',['S6251']='1980SB118',['S6252']='1980SB119',['S6254']='1980SB120',['S6255']='1980SB121',['S6259']='1980SB122',['S6262']='1980SB123',['S6263']='1980SB124',['S6266']='1980SB125',['S6267']='1980SB126',['S6272']='1980SB127',['S6273']='1980SB128',['S6307']='1980SB129',['S6309']='1980SB130',['S6315']='1980SB131',['S6318']='1980SB132',['S6320']='1980SB133',['S6321']='1980SB134',['S6323']='1980SB135',['S6329']='1980SB136',['S6335']='1980SB137',['S6339']='1980SB138',['S6349']='1980SB139',['S6357']='1980SB140',['S6359']='1980SB141',['S6381']='1980SB142',['S6383']='1980SB143',['S6278']='1981SB101',['S6257']='1981SB109',['S6268']='1981SB110',['S6271']='1981SB111',['S6281']='1981SB112',['S6289']='1981SB113',['S6305']='1981SB114',['S6337']='1981SB115',['S6341']='1981SB116',['S6343']='1981SB117',['S6369']='1981SB118',['S6370']='1981SB118',['S6373']='1981SB119',['S6277']='1982SB104',['S6279']='1982SB105',['S6347']='1982SB106',['S6353']='1982SB107',['S6361']='1982SB108',['S6385']='1982SB109',['S6256']='1983SB104',['S6282']='1983SB105',['S6313']='1983SB106',['S6319']='1983SB107',['S6327']='1983SB108',['S6355']='1983SB109',['S6250']='1984SB105',['S6258']='1984SB106',['S6284']='1984SB107',['S6317']='1984SB108',['S6447']='2021SB109',['S6533']='2021SB110',['S6539']='2021SB111',['S6577']='2021SB112',['S6643']='2021SB113',['S6713']='2021SB114',['S6741']='2021SB115',['S6773']='2021SB116',['S6797']='2021SB117',['S6807']='2021SB118',['S6809']='2021SB119',['S6865']='2021SB120',['S6901']='2021SB121',['S6902']='2021SB121',['S6909']='2021SB122',['S6915']='2021SB123',['S6941']='2021SB124',['S6410']='2023SB101',['S6967']='2023SB107',['S9723']='2023SB108',['S6422']='2023SB110',['S6426']='2023SB111',['S6458']='2023SB112',['S6470']='2023SB113',['S6549']='2023SB114',['S6685']='2023SB115',['S6761']='2023SB116',['S6781']='2023SB117',['S6889']='2023SB118',['S6913']='2023SB119',['S6977']='2023SB120',['S7005']='2023SB121',['S6403']='2026SB112',['S6429']='2026SB113',['S6441']='2026SB114',['S6465']='2026SB115',['S6481']='2026SB116',['S6483']='2026SB117',['S6507']='2026SB118',['S6509']='2026SB119',['S6541']='2026SB120',['S6555']='2026SB121',['S6701']='2026SB122',['S6705']='2026SB123',['S6707']='2026SB124',['S6861']='2026SB125',['S6928']='2026SB126',['S6937']='2026SB127',['S6997']='2026SB128',['S6389']='2029SB114',['S6391']='2029SB115',['S6400']='2029SB116',['S6414']='2029SB117',['S6420']='2029SB118',['S6424']='2029SB119',['S6428']='2029SB120',['S6463']='2029SB121',['S6569']='2029SB122',['S6575']='2029SB123',['S6583']='2029SB124',['S6665']='2029SB125',['S6749']='2029SB126',['S6849']='2029SB127',['S6871']='2029SB128',['S6873']='2029SB129',['S6943']='2029SB130',['S6953']='2029SB131',['S6957']='2029SB132',['S6971']='2029SB133',['S6999']='2029SB134',['S6401']='2031SB114',['S6413']='2031SB115',['S6435']='2031SB116',['S6436']='2031SB117',['S6444']='2031SB118',['S6457']='2031SB119',['S6468']='2031SB120',['S6473']='2031SB121',['S6475']='2031SB122',['S6709']='2031SB123',['S6779']='2031SB124',['S6851']='2031SB125',['S6869']='2031SB126',['S6911']='2031SB127',['S6925']='2031SB128',['S6927']='2031SB129',['S6929']='2031SB130',['S6991']='2031SB131',['S6995']='2031SB132',['S7007']='2031SB133',['S6440']='2034SB108',['S6697']='2034SB109',['S6819']='2034SB110',['S6821']='2034SB111',['S6945']='2034SB112',['S6973']='2034SB113',['S6619']='2039SB104',['S6921']='2039SB107',['S6466']='2039SB109',['S6404']='2039SB113',['S6430']='2039SB114',['S6437']='2039SB115',['S6485']='2039SB116',['S6543']='2039SB117',['S6573']='2039SB118',['S6657']='2039SB119',['S6673']='2039SB120',['S6711']='2039SB121',['S6949']='2039SB122',['S6390']='2061SB106',['S6433']='2061SB107',['S6545']='2061SB108',['S6557']='2061SB109',['S6561']='2061SB110',['S6597']='2061SB111',['S6621']='2061SB112',['S6625']='2061SB113',['S6629']='2061SB114',['S6669']='2061SB115',['S6677']='2061SB116',['S6699']='2061SB117',['S6775']='2061SB118',['S6793']='2061SB119',['S6837']='2061SB120',['S6839']='2061SB121',['S6423']='2062SB101',['S6431']='2062SB121',['S6455']='2062SB122',['S6467']='2062SB123',['S6517']='2062SB124',['S6525']='2062SB125',['S6553']='2062SB126',['S6571']='2062SB127',['S6661']='2062SB128',['S6721']='2062SB129',['S6723']='2062SB130',['S6745']='2062SB131',['S6759']='2062SB132',['S6769']='2062SB133',['S6825']='2062SB134',['S6875']='2062SB135',['S6907']='2062SB136',['S6393']='2080SB124',['S6399']='2080SB125',['S6405']='2080SB126',['S6408']='2080SB127',['S6417']='2080SB128',['S6418']='2080SB129',['S6427']='2080SB130',['S6432']='2080SB131',['S6439']='2080SB132',['S6443']='2080SB133',['S6446']='2080SB134',['S6448']='2080SB135',['S6450']='2080SB136',['S6464']='2080SB137',['S6471']='2080SB138',['S6472']='2080SB138',['S6491']='2080SB139',['S6493']='2080SB140',['S6521']='2080SB141',['S6581']='2080SB142',['S6607']='2080SB143',['S6617']='2080SB144',['S6623']='2080SB145',['S6641']='2080SB146',['S6653']='2080SB147',['S6667']='2080SB148',['S6689']='2080SB149',['S6695']='2080SB150',['S6727']='2080SB151',['S6729']='2080SB152',['S6733']='2080SB153',['S6735']='2080SB154',['S6753']='2080SB155',['S6757']='2080SB156',['S6799']='2080SB157',['S6813']='2080SB158',['S6815']='2080SB159',['S6827']='2080SB160',['S6841']='2080SB161',['S6843']='2080SB162',['S6847']='2080SB163',['S6853']='2080SB164',['S6857']='2080SB165',['S6881']='2080SB166',['S6893']='2080SB167',['S6895']='2080SB168',['S6917']='2080SB169',['S6969']='2080SB170',['S6989']='2080SB171',['S6993']='2080SB172',['S7001']='2080SB173',['S7009']='2080SB174',['S6415']='2081SB113',['S6416']='2081SB114',['S6419']='2081SB115',['S6449']='2081SB116',['S6451']='2081SB117',['S6452']='2081SB118',['S6454']='2081SB119',['S6456']='2081SB120',['S6460']='2081SB121',['S6474']='2081SB122',['S6476']='2081SB123',['S6489']='2081SB124',['S6497']='2081SB125',['S6529']='2081SB126',['S6579']='2081SB127',['S6645']='2081SB128',['S6681']='2081SB129',['S6703']='2081SB130',['S6717']='2081SB131',['S6777']='2081SB132',['S6811']='2081SB133',['S6845']='2081SB134',['S6877']='2081SB135',['S6885']='2081SB136',['S6897']='2081SB137',['S6961']='2081SB138',['S6981']='2081SB139',['S6392']='2082SB110',['S6397']='2082SB111',['S6402']='2082SB112',['S6411']='2082SB113',['S6421']='2082SB114',['S6425']='2082SB115',['S6445']='2082SB116',['S6505']='2082SB117',['S6637']='2082SB118',['S6649']='2082SB119',['S6715']='2082SB120',['S6801']='2082SB121',['S6803']='2082SB122',['S6833']='2082SB123',['S6905']='2082SB124',['S6409']='2083SB110',['S6461']='2083SB125',['S6412']='2083SB111',['S6438']='2083SB112',['S6462']='2083SB113',['S6513']='2083SB114',['S6537']='2083SB115',['S6567']='2083SB116',['S6593']='2083SB117',['S6611']='2083SB118',['S6615']='2083SB119',['S6731']='2083SB120',['S6737']='2083SB121',['S6785']='2083SB122',['S6829']='2083SB123',['S6933']='2083SB124',['S6394']='2084SB108',['S6442']='2084SB109',['S6453']='2084SB110',['S6469']='2084SB111',['S6477']='2084SB112',['S6478']='2084SB113',['S6501']='2084SB114',['S6565']='2084SB115',['S6589']='2084SB116',['S6601']='2084SB117',['S6605']='2084SB118',['S6633']='2084SB119',['S6693']='2084SB120',['S6817']='2084SB121',['S6891']='2084SB122',['S6985']='2084SB123',['S6395']='2085SB117',['S6396']='2085SB118',['S6398']='2085SB119',['S6406']='2085SB120',['S6407']='2085SB121',['S6434']='2085SB122',['S6459']='2085SB123',['S6487']='2085SB124',['S6585']='2085SB125',['S6609']='2085SB126',['S6613']='2085SB127',['S6658']='2085SB128',['S6719']='2085SB129',['S6725']='2085SB130',['S6789']='2085SB131',['S6805']='2085SB132',['S6965']='2085SB133',['S7078']='2101SB101',['S7097']='2101SB105',['S7225']='2101SB106',['S7267']='2101SB107',['S7373']='2101SB108',['S7433']='2101SB109',['S7501']='2101SB110',['S7505']='2101SB111',['S7012']='2104SB107',['S7021']='2104SB108',['S7037']='2104SB109',['S7069']='2104SB110',['S7079']='2104SB111',['S7082']='2104SB112',['S7155']='2104SB113',['S7241']='2104SB114',['S7337']='2104SB115',['S7048']='2121SB104',['S7117']='2121SB108',['S7207']='2121SB109',['S7211']='2121SB110',['S7237']='2121SB111',['S7249']='2121SB112',['S7257']='2121SB113',['S7289']='2121SB114',['S7425']='2121SB115',['S7461']='2121SB116',['S7515']='2121SB117',['S7033']='2132SB111',['S7053']='2132SB112',['S7083']='2132SB113',['S7105']='2132SB114',['S7111']='2132SB115',['S7113']='2132SB116',['S7121']='2132SB117',['S7137']='2132SB118',['S7187']='2132SB119',['S7261']='2132SB120',['S7269']='2132SB121',['S7281']='2132SB122',['S7295']='2132SB123',['S7393']='2132SB124',['S7441']='2132SB125',['S7445']='2132SB126',['S7509']='2132SB127',['S7511']='2132SB128',['S7513']='2132SB129',['S9727']='2161SB105',['S7327']='2161SB111',['S7020']='2161SB117',['S7022']='2161SB118',['S7024']='2161SB119',['S7035']='2161SB120',['S7039']='2161SB121',['S7046']='2161SB122',['S7070']='2161SB123',['S7093']='2161SB124',['S7131']='2161SB125',['S7141']='2161SB126',['S7147']='2161SB127',['S7151']='2161SB128',['S7161']='2161SB129',['S7209']='2161SB130',['S7221']='2161SB131',['S7223']='2161SB132',['S7243']='2161SB133',['S7271']='2161SB134',['S7273']='2161SB135',['S7351']='2161SB136',['S7359']='2161SB137',['S7365']='2161SB138',['S7377']='2161SB139',['S7381']='2161SB140',['S7413']='2161SB141',['S7429']='2161SB142',['S7451']='2161SB143',['S7471']='2161SB144',['S7127']='2180SB109',['S7013']='2180SB124',['S7017']='2180SB125',['S7019']='2180SB126',['S7027']='2180SB127',['S7042']='2180SB128',['S7047']='2180SB129',['S7057']='2180SB130',['S7058']='2180SB131',['S7062']='2180SB132',['S7064']='2180SB133',['S7065']='2180SB134',['S7066']='2180SB135',['S7067']='2180SB136',['S7068']='2180SB137',['S7076']='2180SB138',['S7084']='2180SB139',['S7087']='2180SB140',['S7107']='2180SB141',['S7110']='2180SB142',['S7125']='2180SB143',['S7133']='2180SB144',['S7144']='2180SB145',['S7153']='2180SB146',['S7159']='2180SB147',['S7177']='2180SB148',['S7185']='2180SB149',['S7251']='2180SB150',['S7277']='2180SB151',['S7285']='2180SB152',['S7293']='2180SB153',['S7299']='2180SB154',['S7313']='2180SB155',['S7315']='2180SB156',['S7321']='2180SB157',['S7347']='2180SB158',['S7353']='2180SB159',['S7369']='2180SB160',['S7391']='2180SB161',['S7397']='2180SB162',['S7405']='2180SB163',['S7423']='2180SB164',['S7437']='2180SB165',['S7457']='2180SB166',['S7497']='2180SB167',['S7499']='2180SB168',['S7519']='2180SB169',['S7523']='2180SB170',['S7533']='2180SB171',['S7541']='2180SB172',['S7032']='2181SB118',['S7036']='2181SB119',['S7040']='2181SB120',['S7043']='2181SB121',['S7055']='2181SB122',['S7056']='2181SB123',['S7060']='2181SB124',['S7063']='2181SB125',['S7086']='2181SB126',['S7088']='2181SB127',['S7115']='2181SB128',['S7119']='2181SB129',['S7143']='2181SB130',['S7189']='2181SB131',['S7245']='2181SB132',['S7301']='2181SB133',['S7375']='2181SB134',['S7398']='2181SB135',['S7400']='2181SB136',['S7493']='2181SB137',['S7525']='2181SB138',['S7543']='2181SB139',['S7545']='2181SB140',['S7018']='2182SB117',['S7023']='2182SB118',['S7025']='2182SB119',['S7034']='2182SB120',['S7041']='2182SB121',['S7044']='2182SB122',['S7054']='2182SB123',['S7061']='2182SB124',['S7080']='2182SB125',['S7081']='2182SB126',['S7157']='2182SB127',['S7197']='2182SB128',['S7205']='2182SB129',['S7213']='2182SB130',['S7233']='2182SB131',['S7265']='2182SB132',['S7309']='2182SB133',['S7329']='2182SB134',['S7357']='2182SB135',['S7361']='2182SB136',['S7379']='2182SB137',['S7385']='2182SB138',['S7387']='2182SB139',['S7399']='2182SB140',['S7421']='2182SB141',['S7449']='2182SB142',['S7521']='2182SB143',['S7181']='2183SB104',['S7011']='2183SB111',['S7030']='2183SB112',['S7031']='2183SB113',['S7051']='2183SB114',['S7059']='2183SB115',['S7073']='2183SB116',['S7077']='2183SB117',['S7089']='2183SB118',['S7109']='2183SB119',['S7129']='2183SB120',['S7149']='2183SB121',['S7191']='2183SB122',['S7217']='2183SB123',['S7297']='2183SB124',['S7317']='2183SB125',['S7325']='2183SB126',['S7341']='2183SB127',['S7343']='2183SB128',['S7349']='2183SB129',['S7407']='2183SB130',['S7409']='2183SB131',['S7455']='2183SB132',['S7473']='2183SB133',['S7477']='2183SB134',['S7481']='2183SB135',['S7529']='2183SB136',['S7537']='2183SB137',['S7173']='2184SB107',['S7014']='2184SB115',['S7015']='2184SB116',['S7016']='2184SB117',['S7026']='2184SB118',['S7028']='2184SB119',['S7029']='2184SB120',['S7038']='2184SB121',['S7045']='2184SB122',['S7049']='2184SB123',['S7050']='2184SB124',['S7052']='2184SB125',['S7071']='2184SB126',['S7072']='2184SB127',['S7075']='2184SB127',['S7074']='2184SB128',['S7085']='2184SB129',['S7101']='2184SB130',['S7139']='2184SB131',['S7145']='2184SB132',['S7165']='2184SB133',['S7167']='2184SB134',['S7169']='2184SB135',['S7193']='2184SB136',['S7201']='2184SB137',['S7229']='2184SB138',['S7253']='2184SB139',['S7255']='2184SB140',['S7259']='2184SB141',['S7305']='2184SB142',['S7333']='2184SB143',['S7345']='2184SB144',['S7371']='2184SB145',['S7383']='2184SB146',['S7389']='2184SB147',['S7401']='2184SB148',['S7417']='2184SB149',['S7453']='2184SB150',['S7459']='2184SB151',['S7465']='2184SB152',['S7469']='2184SB153',['S7485']='2184SB154',['S7489']='2184SB155',['S7517']='2184SB156',['S9725']='2184SB157',['S7582']='2260SB107',['S7575']='2260SB109',['S7576']='2260SB110',['S7578']='2260SB111',['S7591']='2260SB112',['S7593']='2260SB113',['S7601']='2260SB114',['S7633']='2260SB115',['S7641']='2260SB116',['S7661']='2260SB117',['S7681']='2260SB118',['S7729']='2260SB119',['S7757']='2260SB120',['S7773']='2260SB121',['S7821']='2260SB122',['S7981']='2260SB123',['S7997']='2260SB124',['S7733']='2262SB103',['S7651']='2262SB109',['S7695']='2262SB110',['S7731']='2262SB111',['S7763']='2262SB112',['S7831']='2262SB113',['S7891']='2262SB114',['S7949']='2262SB115',['S7961']='2262SB116',['S7554']='2280SB107',['S7555']='2280SB108',['S7583']='2280SB109',['S7597']='2280SB110',['S7598']='2280SB111',['S7603']='2280SB112',['S7604']='2280SB113',['S7605']='2280SB114',['S7649']='2280SB115',['S7665']='2280SB116',['S7789']='2280SB117',['S7829']='2280SB118',['S7871']='2280SB119',['S7885']='2280SB120',['S7897']='2280SB121',['S7915']='2280SB122',['S7917']='2280SB122',['S7925']='2280SB123',['S7945']='2280SB124',['S7953']='2280SB125',['S7549']='2281SB132',['S7551']='2281SB133',['S7553']='2281SB134',['S7556']='2281SB135',['S7558']='2281SB136',['S7559']='2281SB137',['S7560']='2281SB138',['S7561']='2281SB139',['S7563']='2281SB140',['S7564']='2281SB141',['S7566']='2281SB142',['S7567']='2281SB143',['S7568']='2281SB144',['S7570']='2281SB145',['S7571']='2281SB146',['S7574']='2281SB147',['S7580']='2281SB148',['S7581']='2281SB149',['S7585']='2281SB150',['S7599']='2281SB151',['S7607']='2281SB152',['S7629']='2281SB153',['S7673']='2281SB154',['S7687']='2281SB155',['S7697']='2281SB156',['S7701']='2281SB157',['S7709']='2281SB158',['S7711']='2281SB159',['S7717']='2281SB160',['S7725']='2281SB161',['S7739']='2281SB162',['S7749']='2281SB163',['S7765']='2281SB164',['S7799']='2281SB165',['S7827']='2281SB166',['S7833']='2281SB167',['S7845']='2281SB168',['S7853']='2281SB169',['S7863']='2281SB170',['S7865']='2281SB171',['S7869']='2281SB172',['S7873']='2281SB173',['S7875']='2281SB174',['S7886']='2281SB175',['S7889']='2281SB176',['S7893']='2281SB177',['S7895']='2281SB178',['S7913']='2281SB179',['S7921']='2281SB180',['S7933']='2281SB181',['S7935']='2281SB182',['S7937']='2281SB183',['S7745']='2281SB184',['S7947']='2281SB184',['S7959']='2281SB185',['S7965']='2281SB186',['S7977']='2281SB187',['S7985']='2281SB188',['S7993']='2281SB189',['S8001']='2281SB190',['S7569']='2282SB124',['S7579']='2282SB125',['S7589']='2282SB126',['S7653']='2282SB127',['S7685']='2282SB128',['S7699']='2282SB129',['S7705']='2282SB130',['S7721']='2282SB131',['S7737']='2282SB132',['S7741']='2282SB133',['S7751']='2282SB134',['S7785']='2282SB135',['S7793']='2282SB136',['S7797']='2282SB137',['S7817']='2282SB138',['S7825']='2282SB139',['S7847']='2282SB140',['S7849']='2282SB141',['S7877']='2282SB142',['S7881']='2282SB143',['S7905']='2282SB144',['S9729']='2282SB145',['S7643']='2283SB106',['S7596']='2283SB109',['S7573']='2283SB113',['S7577']='2283SB114',['S7592']='2283SB115',['S7609']='2283SB116',['S7625']='2283SB117',['S7647']='2283SB118',['S7657']='2283SB119',['S7669']='2283SB120',['S7689']='2283SB121',['S7747']='2283SB122',['S7769']='2283SB123',['S7777']='2283SB124',['S7813']='2283SB125',['S7837']='2283SB126',['S7841']='2283SB127',['S7901']='2283SB128',['S7909']='2283SB129',['S7929']='2283SB130',['S7941']='2283SB131',['S7957']='2283SB132',['S7969']='2283SB133',['S7973']='2283SB134',['S7983']='2283SB135',['S7989']='2283SB136',['S7867']='2284SB116',['S9731']='2284SB117',['S7550']='2284SB127',['S7552']='2284SB128',['S7557']='2284SB129',['S7562']='2284SB130',['S7565']='2284SB131',['S7572']='2284SB132',['S7584']='2284SB133',['S7586']='2284SB134',['S7587']='2284SB135',['S7588']='2284SB136',['S7590']='2284SB137',['S7594']='2284SB138',['S7595']='2284SB139',['S7600']='2284SB140',['S7602']='2284SB141',['S7606']='2284SB142',['S7613']='2284SB143',['S7617']='2284SB144',['S7619']='2284SB145',['S7621']='2284SB146',['S7637']='2284SB147',['S7645']='2284SB148',['S7677']='2284SB149',['S7693']='2284SB150',['S7713']='2284SB151',['S7735']='2284SB152',['S7743']='2284SB153',['S7753']='2284SB154',['S7761']='2284SB155',['S7779']='2284SB156',['S7781']='2284SB157',['S7783']='2284SB158',['S7787']='2284SB159',['S7795']='2284SB160',['S7801']='2284SB161',['S7803']='2284SB162',['S7805']='2284SB163',['S7809']='2284SB164',['S7857']='2284SB165',['S7861']='2284SB166',['S7955']='2284SB167',['S8025']='2303SB107',['S8045']='2303SB108',['S8065']='2303SB109',['S8081']='2303SB110',['S8157']='2303SB111',['S8189']='2303SB112',['S8193']='2303SB113',['S8261']='2303SB114',['S8297']='2303SB115',['S8301']='2303SB116',['S8335']='2303SB117',['S8361']='2303SB118',['S8377']='2303SB119',['S8383']='2303SB120',['S8397']='2303SB121',['S8323']='2305SB105',['S8003']='2305SB107',['S8011']='2305SB108',['S8040']='2305SB109',['S8053']='2305SB110',['S8057']='2305SB111',['S8069']='2305SB112',['S8117']='2305SB113',['S8145']='2305SB114',['S8245']='2305SB115',['S8277']='2305SB116',['S8305']='2305SB117',['S8337']='2305SB118',['S8379']='2305SB119',['S8005']='2309SB115',['S8006']='2309SB116',['S8007']='2309SB117',['S8009']='2309SB118',['S8012']='2309SB119',['S8013']='2309SB120',['S8026']='2309SB121',['S8028']='2309SB122',['S8030']='2309SB123',['S8033']='2309SB124',['S8038']='2309SB125',['S8049']='2309SB126',['S8114']='2309SB127',['S8133']='2309SB128',['S8137']='2309SB129',['S8173']='2309SB130',['S8177']='2309SB131',['S8199']='2309SB132',['S8205']='2309SB133',['S8209']='2309SB134',['S8309']='2309SB135',['S8342']='2309SB136',['S8349']='2309SB137',['S8365']='2309SB138',['S8387']='2309SB139',['S8393']='2309SB140',['S8394']='2309SB140',['S8359']='2313SB109',['S8004']='2313SB111',['S8035']='2313SB112',['S8061']='2313SB113',['S8077']='2313SB114',['S8097']='2313SB115',['S8165']='2313SB116',['S8197']='2313SB117',['S8233']='2313SB118',['S8273']='2313SB119',['S8313']='2313SB120',['S8315']='2313SB121',['S8333']='2313SB122',['S8371']='2313SB123',['S9625']='2313SB124',['S8010']='2321SB111',['S8017']='2321SB112',['S8021']='2321SB113',['S8089']='2321SB114',['S8107']='2321SB115',['S8121']='2321SB116',['S8127']='2321SB117',['S8129']='2321SB118',['S8131']='2321SB119',['S8153']='2321SB120',['S8169']='2321SB121',['S8179']='2321SB122',['S8241']='2321SB123',['S8243']='2321SB124',['S8257']='2321SB125',['S8285']='2321SB126',['S8289']='2321SB127',['S8319']='2321SB128',['S8325']='2321SB129',['S8339']='2321SB130',['S8375']='2321SB131',['S8389']='2321SB132',['S8014']='2326SB110',['S8016']='2326SB111',['S8023']='2326SB112',['S8032']='2326SB113',['S8039']='2326SB114',['S8041']='2326SB115',['S8085']='2326SB116',['S8113']='2326SB117',['S8167']='2326SB118',['S8181']='2326SB119',['S8201']='2326SB120',['S8221']='2326SB121',['S8249']='2326SB122',['S8293']='2326SB123',['S8307']='2326SB124',['S8311']='2326SB125',['S8317']='2326SB126',['S8327']='2326SB127',['S8329']='2326SB128',['S8369']='2326SB129',['S8391']='2361SB109',['S8022']='2361SB112',['S8024']='2361SB113',['S8029']='2361SB114',['S8034']='2361SB115',['S8105']='2361SB116',['S8109']='2361SB117',['S8217']='2361SB118',['S8225']='2361SB119',['S8229']='2361SB120',['S8265']='2361SB121',['S8353']='2361SB122',['S8357']='2361SB123',['S8385']='2361SB124',['S9629']='2361SB125',['S8008']='2380SB117',['S8015']='2380SB118',['S8018']='2380SB119',['S8019']='2380SB120',['S8020']='2380SB121',['S8027']='2380SB122',['S8031']='2380SB123',['S8036']='2380SB124',['S8037']='2380SB125',['S8042']='2380SB126',['S8043']='2380SB127',['S8044']='2380SB128',['S8046']='2380SB129',['S8063']='2380SB130',['S8073']='2380SB131',['S8093']='2380SB132',['S8101']='2380SB133',['S8125']='2380SB134',['S8141']='2380SB135',['S8143']='2380SB136',['S8149']='2380SB137',['S8155']='2380SB138',['S8161']='2380SB139',['S8185']='2380SB140',['S8213']='2380SB141',['S8227']='2380SB142',['S8237']='2380SB143',['S8253']='2380SB144',['S8269']='2380SB145',['S8281']='2380SB146',['S8303']='2380SB147',['S8321']='2380SB148',['S8341']='2380SB149',['S8345']='2380SB150',['S8373']='2380SB151',['S8381']='2380SB152',['S8395']='2380SB153',['S8553']='2401SB101',['S8409']='2401SB108',['S8423']='2401SB109',['S8436']='2401SB110',['S8473']='2401SB111',['S8593']='2401SB112',['S8701']='2401SB113',['S8725']='2401SB114',['S8745']='2401SB115',['S8753']='2401SB116',['S8881']='2401SB117',['S8401']='2403SB102',['S8425']='2403SB103',['S8477']='2403SB104',['S8617']='2403SB105',['S8411']='2404SB105',['S8513']='2404SB106',['S8577']='2404SB107',['S8833']='2404SB108',['S8841']='2404SB109',['S8861']='2404SB110',['S8893']='2404SB111',['S8493']='2409SB104',['S8505']='2409SB105',['S8525']='2409SB106',['S8771']='2409SB107',['S8813']='2409SB108',['S8817']='2409SB109',['S8969']='2409SB110',['S8997']='2409SB111',['S8441']='2417SB105',['S8555']='2417SB106',['S8641']='2417SB107',['S8737']='2417SB108',['S8789']='2417SB109',['S8889']='2417SB110',['S8973']='2417SB111',['S8399']='2418SB101',['S8413']='2418SB105',['S8781']='2418SB106',['S8801']='2418SB107',['S9735']='2421SB101',['S8429']='2421SB110',['S8533']='2421SB111',['S8569']='2421SB112',['S8673']='2421SB113',['S8677']='2421SB114',['S8757']='2421SB115',['S8829']='2421SB116',['S8845']='2421SB117',['S8871']='2421SB118',['S8977']='2421SB119',['S8449']='2422SB101',['S8547']='2422SB102',['S8405']='2422SB104',['S8415']='2425SB102',['S8417']='2425SB103',['S8597']='2425SB104',['S8649']='2425SB105',['S8657']='2425SB106',['S8785']='2425SB107',['S8885']='2425SB108',['S8945']='2425SB109',['S8475']='2460SB103',['S8761']='2460SB104',['S8765']='2460SB105',['S8767']='2460SB106',['S8857']='2460SB107',['S8901']='2460SB108',['S8937']='2460SB109',['S8949']='2460SB110',['S8953']='2460SB111',['S8955']='2460SB112',['S8987']='2460SB113',['S8400']='2462SB106',['S8406']='2462SB107',['S8435']='2462SB108',['S8485']='2462SB109',['S8501']='2462SB110',['S8609']='2462SB111',['S8629']='2462SB112',['S8653']='2462SB113',['S8661']='2462SB114',['S8685']='2462SB115',['S8689']='2462SB116',['S8693']='2462SB117',['S8749']='2462SB118',['S8809']='2462SB119',['S8825']='2462SB120',['S8853']='2462SB121',['S8431']='2463SB101',['S8424']='2463SB103',['S8541']='2463SB104',['S8402']='2480SB127',['S8407']='2480SB128',['S8419']='2480SB129',['S8420']='2480SB130',['S8421']='2480SB131',['S8422']='2480SB132',['S8426']='2480SB133',['S8428']='2480SB134',['S8430']='2480SB135',['S8438']='2480SB136',['S8439']='2480SB137',['S8443']='2480SB138',['S8444']='2480SB139',['S8446']='2480SB140',['S8457']='2480SB141',['S8463']='2480SB142',['S8467']='2480SB143',['S8479']='2480SB144',['S8489']='2480SB145',['S8497']='2480SB146',['S8502']='2480SB147',['S8503']='2480SB148',['S8509']='2480SB149',['S8529']='2480SB150',['S8549']='2480SB151',['S8554']='2480SB152',['S8563']='2480SB153',['S8581']='2480SB154',['S8589']='2480SB155',['S8599']='2480SB156',['S8600']='2480SB157',['S8601']='2480SB158',['S8603']='2480SB159',['S8607']='2480SB160',['S8621']='2480SB161',['S8625']='2480SB162',['S8631']='2480SB163',['S8639']='2480SB164',['S8645']='2480SB165',['S8713']='2480SB166',['S8721']='2480SB167',['S8733']='2480SB168',['S8792']='2480SB169',['S8793']='2480SB170',['S8797']='2480SB171',['S8803']='2480SB172',['S8819']='2480SB173',['S8822']='2480SB174',['S8837']='2480SB175',['S8863']='2480SB176',['S8865']='2480SB177',['S8877']='2480SB178',['S8887']='2480SB179',['S8888']='2480SB180',['S8891']='2480SB181',['S8895']='2480SB182',['S8899']='2480SB183',['S8903']='2480SB184',['S8904']='2480SB185',['S8907']='2480SB186',['S8927']='2480SB187',['S8957']='2480SB188',['S8961']='2480SB189',['S8993']='2480SB190',['S9733']='2480SB191',['S8408']='2481SB102',['S8432']='2481SB107',['S8433']='2481SB108',['S8442']='2481SB109',['S8445']='2481SB110',['S8453']='2481SB111',['S8469']='2481SB112',['S8565']='2481SB113',['S8585']='2481SB114',['S8619']='2481SB115',['S8637']='2481SB116',['S8667']='2481SB117',['S8717']='2481SB118',['S8897']='2481SB119',['S8909']='2481SB120',['S8929']='2481SB121',['S8933']='2481SB122',['S8951']='2481SB123',['S8981']='2481SB124',['S9737']='2481SB125',['S8543']='2482SB108',['S8403']='2482SB125',['S8404']='2482SB126',['S8410']='2482SB127',['S8412']='2482SB128',['S8414']='2482SB129',['S8416']='2482SB130',['S8418']='2482SB131',['S8427']='2482SB132',['S8434']='2482SB133',['S8437']='2482SB134',['S8440']='2482SB135',['S8461']='2482SB136',['S8465']='2482SB137',['S8481']='2482SB138',['S8517']='2482SB139',['S8521']='2482SB140',['S8537']='2482SB141',['S8539']='2482SB142',['S8545']='2482SB143',['S8557']='2482SB144',['S8561']='2482SB145',['S8567']='2482SB146',['S8573']='2482SB147',['S8605']='2482SB148',['S8613']='2482SB149',['S8633']='2482SB150',['S8635']='2482SB151',['S8665']='2482SB152',['S8669']='2482SB153',['S8671']='2482SB154',['S8681']='2482SB155',['S8697']='2482SB156',['S8705']='2482SB157',['S8709']='2482SB158',['S8715']='2482SB159',['S8729']='2482SB160',['S8735']='2482SB161',['S8741']='2482SB162',['S8769']='2482SB163',['S8773']='2482SB164',['S8777']='2482SB165',['S8791']='2482SB166',['S8805']='2482SB167',['S8821']='2482SB168',['S8831']='2482SB169',['S8849']='2482SB170',['S8869']='2482SB171',['S8873']='2482SB172',['S8905']='2482SB173',['S8913']='2482SB174',['S8917']='2482SB175',['S8921']='2482SB176',['S8925']='2482SB177',['S8926']='2482SB178',['S8941']='2482SB179',['S8965']='2482SB180',['S8985']='2482SB181',['S8989']='2482SB182',['S9006']='2505SB103',['S9009']='2505SB106',['S9012']='2505SB107',['S9033']='2505SB108',['S9145']='2505SB109',['S9217']='2505SB110',['S9741']='2506SB102',['S9187']='2506SB104',['S9269']='2506SB105',['S9393']='2506SB106',['S9028']='2510SB107',['S9189']='2510SB108',['S9267']='2510SB109',['S9281']='2510SB110',['S9465']='2510SB111',['S9467']='2510SB112',['S9107']='2513SB101',['S9486']='2513SB104',['S9021']='2513SB109',['S9045']='2513SB110',['S9113']='2513SB111',['S9129']='2513SB112',['S9233']='2513SB113',['S9325']='2513SB114',['S9501']='2513SB115',['S9541']='2513SB116',['S9027']='2514SB106',['S9002']='2514SB114',['S9003']='2514SB115',['S9011']='2514SB116',['S9041']='2514SB117',['S9077']='2514SB118',['S9105']='2514SB119',['S9119']='2514SB120',['S9125']='2514SB121',['S9127']='2514SB122',['S9193']='2514SB123',['S9209']='2514SB124',['S9213']='2514SB125',['S9283']='2514SB126',['S9285']='2514SB127',['S9361']='2514SB128',['S9385']='2514SB129',['S9405']='2514SB130',['S9409']='2514SB131',['S9441']='2514SB132',['S9469']='2514SB133',['S9485']='2514SB134',['S9487']='2514SB135',['S9521']='2514SB136',['S9529']='2514SB137',['S9335']='2518SB103',['S9001']='2518SB109',['S9025']='2518SB110',['S9111']='2518SB111',['S9137']='2518SB112',['S9168']='2518SB113',['S9181']='2518SB114',['S9297']='2518SB115',['S9299']='2518SB116',['S9337']='2518SB117',['S9339']='2518SB118',['S9353']='2518SB119',['S9399']='2518SB120',['S9414']='2518SB121',['S9471']='2518SB122',['S9535']='2518SB123',['S9745']='2521SB105',['S9005']='2521SB112',['S9133']='2521SB113',['S9153']='2521SB114',['S9165']='2521SB115',['S9169']='2521SB116',['S9171']='2521SB117',['S9229']='2521SB118',['S9237']='2521SB119',['S9277']='2521SB120',['S9333']='2521SB121',['S9365']='2521SB122',['S9381']='2521SB123',['S9382']='2521SB124',['S9445']='2521SB125',['S9449']='2521SB126',['S9489']='2521SB127',['S9525']='2521SB128',['S9743']='2523SB108',['S9347']='2523SB109',['S9391']='2523SB110',['S9024']='2523SB115',['S9036']='2523SB116',['S9038']='2523SB117',['S9089']='2523SB118',['S9221']='2523SB119',['S9225']='2523SB120',['S9253']='2523SB121',['S9289']='2523SB122',['S9293']='2523SB123',['S9341']='2523SB124',['S9377']='2523SB125',['S9453']='2523SB126',['S9463']='2523SB127',['S9505']='2523SB128',['S9032']='2560SB106',['S9049']='2560SB107',['S9321']='2560SB108',['S9329']='2560SB109',['S9349']='2560SB110',['S9461']='2560SB111',['S9537']='2560SB112',['S9545']='2560SB113',['S9004']='2580SB129',['S9007']='2580SB130',['S9010']='2580SB131',['S9017']='2580SB132',['S9019']='2580SB133',['S9037']='2580SB134',['S9043']='2580SB135',['S9046']='2580SB136',['S9047']='2580SB137',['S9051']='2580SB138',['S9053']='2580SB139',['S9055']='2580SB140',['S9059']='2580SB141',['S9061']='2580SB142',['S9067']='2580SB143',['S9073']='2580SB144',['S9081']='2580SB145',['S9095']='2580SB146',['S9097']='2580SB147',['S9101']='2580SB148',['S9103']='2580SB149',['S9115']='2580SB150',['S9135']='2580SB151',['S9157']='2580SB152',['S9161']='2580SB153',['S9239']='2580SB154',['S9301']='2580SB155',['S9357']='2580SB156',['S9363']='2580SB157',['S9386']='2580SB158',['S9387']='2580SB159',['S9397']='2580SB160',['S9413']='2580SB161',['S9429']='2580SB162',['S9443']='2580SB163',['S9459']='2580SB164',['S9473']='2580SB165',['S9477']='2580SB166',['S9493']='2580SB167',['S9509']='2580SB168',['S9517']='2580SB169',['S9384']='2581SB115',['S9015']='2581SB124',['S9016']='2581SB125',['S9018']='2581SB126',['S9022']='2581SB127',['S9023']='2581SB128',['S9026']='2581SB129',['S9029']='2581SB130',['S9030']='2581SB131',['S9039']='2581SB132',['S9069']='2581SB133',['S9093']='2581SB134',['S9109']='2581SB135',['S9117']='2581SB136',['S9173']='2581SB137',['S9177']='2581SB138',['S9215']='2581SB139',['S9241']='2581SB140',['S9245']='2581SB141',['S9249']='2581SB142',['S9317']='2581SB143',['S9343']='2581SB144',['S9345']='2581SB145',['S9383']='2581SB146',['S9401']='2581SB147',['S9417']='2581SB148',['S9457']='2581SB149',['S9475']='2581SB150',['S9497']='2581SB151',['S9513']='2581SB152',['S9044']='2582SB103',['S9739']='2582SB104',['S9419']='2582SB106',['S9008']='2582SB115',['S9057']='2582SB116',['S9063']='2582SB117',['S9065']='2582SB118',['S9085']='2582SB119',['S9201']='2582SB120',['S9305']='2582SB121',['S9309']='2582SB122',['S9313']='2582SB123',['S9389']='2582SB124',['S9415']='2582SB125',['S9423']='2582SB126',['S9425']='2582SB127',['S9433']='2582SB128',['S9437']='2582SB129',['S9507']='2582SB130',['S9523']='2582SB131',['S9533']='2582SB132',['S9014']='2583SB106',['S9020']='2583SB107',['S9031']='2583SB108',['S9185']='2583SB109',['S9261']='2583SB110',['S9265']='2583SB111',['S9373']='2583SB112',['S9421']='2583SB113',['S9481']='2583SB114',['S9483']='2583SB115',['S9034']='2584SB108',['S9013']='2584SB112',['S9035']='2584SB113',['S9121']='2584SB114',['S9149']='2584SB115',['S9167']='2584SB116',['S9183']='2584SB117',['S9197']='2584SB118',['S9205']='2584SB119',['S9219']='2584SB120',['S9257']='2584SB121',['S9273']='2584SB122',['S9275']='2584SB123',['S9331']='2584SB124',['S9351']='2584SB125',['S9359']='2584SB126',['S9369']='2584SB127'}

	return nykod[gammalkod] or gammalkod
end


return p