WoTStatScript

More info for World of Tanks profile page. Updated for the new style.

// ==UserScript==
// @name        WoTStatScript
// @version     0.9.19.1.0
// @description More info for World of Tanks profile page. Updated for the new style.
// @author      Orrie
// @namespace   http://forum.worldoftanks.eu/index.php?/topic/263423-
// @icon        https://i.imgur.com/AxOhQ7C.png
// @include     http*://worldoftanks.eu/*/accounts/*/*
// @include     http*://worldoftanks.ru/*/accounts/*/*
// @include     http*://worldoftanks.com/*/accounts/*/*
// @include     http*://worldoftanks.asia/*/accounts/*/*
// @include     http*://worldoftanks.kr/*/accounts/*/*
// @grant       GM_xmlhttpRequest
// @grant       GM_setValue
// @grant       GM_getValue
// @grant       GM_deleteValue
// @grant       GM_listValues
// @connect     api.worldoftanks.eu
// @connect     api.worldoftanks.ru
// @connect     api.worldoftanks.com
// @connect     api.worldoftanks.asia
// @connect     api.worldoftanks.kr
// @connect     eu.wargaming.net
// @connect     ru.wargaming.net
// @connect     na.wargaming.net
// @connect     asia.wargaming.net
// @connect     kr.wargaming.net
// @connect     www.wnefficiency.net
// @connect     jaj22.org.uk
// @connect     puu.sh
// @require     https://greasyfork.org/scripts/18946-tablesort/code/Tablesort.js?version=120660
// @license     MIT License
// ==/UserScript==
// jshint
/* globals $, Raphael, GM_info, GM_xmlhttpRequest, GM_setValue, GM_getValue, GM_deleteValue, GM_listValues */
(function() {
	try {
	// global vars
	var w = window, d = document, c = d.cookie, n = navigator, fragment = d.createDocumentFragment();

	// get server info and webpage
	var wg = {host:d.location.host, href:d.location.href, clan:{}};
	wg.srv = wg.host.match(/\.(eu|ru|com|asia|kr)/)[1].replace(/com/,"na");
	wg.img = wg.srv.replace(/na/,"us");

	// getting userinfo and checking if own profile
	var profileName_header = d.getElementById('js-profile-name');
	wg.name = profileName_header.innerHTML;
	wg.id = wg.href.match(/\/(\d+)/)[1];
	wg.login = (c.match(/user_name=(\w+)/) || false)[1];
	wg.own = wg.login == wg.name;

	// script variables
	var sc = {
		vers: ((GM_info) ? GM_info.script.version : ""),
		host: "http://greasyfork.org/scripts/661-wotstatscript",
		user: {
			wl: "http://forum.wotlabs.net/index.php?/user/1618-orrie/",
			wot: "http://worldoftanks.eu/community/accounts/505838943-Orrie/"
		},
		top: {
			eu: "http://forum.worldoftanks.eu/index.php?showtopic=263423",
			na: "http://forum.worldoftanks.com/index.php?showtopic=404652"
		},
		cred: { // translators
			cs: "<tr><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/500744969/'>Crabtr33</a></td><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/508323506/'>Ragnarocek</a></td></tr><tr><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/508904714/'>jViks</a></td></tr>" ,
			de: "<tr><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/504873051/'>ArtiOpa</a></td><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/501118529/'>Crakker</a></td></tr><tr><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/501072645/'>multimill</a></td><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/500373105/'>coolathlon</a></td></tr>",
			fr: "<tr><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/506641783/'>SuperPommeDeTerre</a></td></tr>",
			pl: "<tr><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/501801562/'>KeluMocy</a></td><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/504412736/'>pokapokami</a></td><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/500414963/'>zdzich</a></td></tr>",
			es: "<tr><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/512759883/'>Frodo45127</a></td></tr>",
			tr: "<tr><td><a class='b-orange-arrow' href='http://worldoftanks.eu/community/accounts/500400806/'>Ufuko</a></td></tr>",
			ru: "<tr><td><a class='b-orange-arrow' href='http://worldoftanks.ru/community/accounts/291063/'>Bananium</a></td><td><a class='b-orange-arrow' href='http://worldoftanks.ru/community/accounts/14179676/'>Minamoto_ru</a></td></tr>"
		},
		api: {
			wg_key: "a7595640a90bf2d19065f3f2683b171c",
			wn8: "http://www.wnefficiency.net/exp/expected_tank_values_latest.json",
			wn9: "http://jaj22.org.uk/tankdata/exp_wn9.json",
			ch: "https://"+wg.srv+".wargaming.net/clans/wot/playerslist/api/accounts/"+wg.id+"/"
		},
		srv: {
			wl: false,   // wotlabs
			nm: false,   // noobmeter
			vb: false,   // vbaddict
			ws: false,   // wotstats
			cs: false,   // wotcs
			wlf: false,  // wot-life
			ct: false,   // clan tools
			aos: false,  // age of strife
			kttc: false, // kttc
			wots: false, // wots
			ch: false,   // clan history
			wr: false,   // wotreplays
			we: false    // wot event stats
		},
		wn: {v: {}},
		stats: {},
		pedia: {},
		nm: {
			id: "orrie_js_174043" // noobmeter api id
		},
		locSet: {
			cur: [(c.match(/hllang=(\w+)/)) ? c.match(/hllang=(\w+)/)[1] : "en", wg.href.match(/\.\w+\/([\w-]+)\//)[1]],
			sup: ["en", "ru", "cs", "de", "fr", "pl", "es", "tr"],
			miss: 0
		},
		loc: [ // localization
			{i:0, en: ",", ru: " ", cs: " ", de: ".", fr: " ", pl: " ", es:".", tr: "."}, // thousands separator
			{i:1, en: "Go to Bottom", ru: "Пролистать вниз", cs: "Konec stránky", de: "nach unten", fr: "Aller à la fin", pl: "Koniec strony", es: "Ir al final", tr: "Aşağı İn"},
			{i:2, en: "Go to Top", ru: "Пролистать наверх", cs: "Začátek stránky", de: "nach oben", fr: "Aller au début", pl: "Początek strony", es: "Ir al principio", tr: "Yukarı Çık"},
			{i:3, en: "Days Ago", ru: "Дней назад", cs: "dnů", de: "Tage in WOT aktiv", fr: "jours", pl: "Dni temu", es: "Días", tr: "Gün Önce"},
			{i:4, en: "Player Stats:", ru: "Статистика игрока:", cs: "Stat. hráče:", de: "Spielerstatistik", fr: "Statistiques du joueur:", pl: "Statystyki gracza:", es: "Estadísticas del jugador:", tr: "Oyuncu Statları"},
			{i:5, en: "Signature:", ru: "Подпись:", cs: "Podpis:", de: "Forumsignatur", fr: "Signature:", pl: "Sygnatura do forum:", es: "Firma", tr: "İmza"},
			{i:6, en: "Light", ru: "Светлые тона", cs: "Světlý", de: "Signatur Weiß", fr: "Claire", pl: "Jasna", es: "Clara", tr: "Açık"},
			{i:7, en: "Dark", ru: "Тёмные тона", cs: "Tmavý", de: "Signatur Schwarz", fr: "Foncée", pl: "Ciemna", es: "Oscura", tr: "Koyu"},
			{i:8, en: "Replays:", ru: "Реплеи:", cs: "Záznamy:", de: "Replays", fr: "Replays:", pl: "Powtórki:", es: "Repeticiones:", tr: "Replayler"},
			{i:9, en: "Victories", ru: "Победы", cs: "Vítězství", de: "Siege", fr: "Victoires", pl: "Zwycięstw", es: "Victorias", tr: "Zaferler"},
			{i:10, en: "Battles Participated", ru: "Участий в битвах", cs: "Počet bitev", de: "Gefechte geführt", fr: "Batailles participées", pl: "Bitew", es: "Batallas jugadas", tr: "Savaş Katılımı"},
			{i:11, en: "Average Experience", ru: "Средний опыт", cs: "Průměrné zkušenosti", de: "Durchnittl. Erfahrung", fr: "Expérience moyenne", pl: "Średnie doświadczenie", es: "Experiencia media", tr: "Ortalama Deneyim"},
			{i:12, en: "Average Tier", ru: "Средний уровень танка", cs: "Průměrný Tier", de: "Durchschnittl. Stufe", fr: "Tiers moyen", pl: "Średni poziom pojazdu", es: "Tier medio", tr: "Ortalama Seviye"},
			{i:13, en: "Win/Loss Ratio", ru: "Отношение Победы/Поражения", cs: "Poměr vítězství/porážek", de: "Verhältnis Siege/ Niederlagen", fr: "Ratio Victoires/Défaites", pl: "Zwycięstwa/porażki", es: "Ratio de victorias/derrotas", tr: "Zafer/Kayıp Oranı"},
			{i:14, en: "Performance Ratings", ru: "Рейтинги производительности", cs: "Hodnocení bojového výkonu", de: "Leistungsverhältnis", fr: "Indices de performances", pl: "Statystyki wydajności", es: "Ratios de rendimiento", tr: "Performans Değerleri"},
			{i:15, en: "Fetching...", ru: "Загрузка...", cs: "Načítám...", de: "abrufen...", fr: "Récupération...", pl: "Pobieranie...", es: "Recuperando...", tr: "Getiriliyor..."},
			{i:16, en: "Performance Rating Calculations", ru: "Вычисления рейтинга производительности", cs: "Výpočet hodnocení bojového výkonu", de: "Leistungsberechnung", fr: "Calculs des indicateurs de performances", pl: "Obliczenia statystyk wydajności", es: "Cálculos del ratio de rendimiento", tr: "Performans Değeri Hesaplamaları"},
			{i:17, en: "Formula Type", ru: "Тип формулы", cs: "Typ výpočtu", de: "Formel", fr: "Type de formule", pl: "Formuła", es: "Tipo de fórmula", tr: "Formül Tipi"},
			{i:18, en: "Total", ru: "Всего", cs: "Celkem", de: "Gesamt", fr: "Total", pl: "Wynik", es: "Total", tr: "Toplam"},
			{i:19, en: "Scaled", ru: "Шкала", cs: "Stupnice", de: "Skaliert", fr: "A l'échelle", pl: "Skalowanie", es: "Escala", tr: "Ölçek"},
			{i:20, en: "Destroyed", ru: "Уничтожено", cs: "Zničeno", de: "Zerstört", fr: "Détruits", pl: "Fragi", es: "Destruidos", tr: "imha"},
			{i:21, en: "Damage", ru: "Урон", cs: "Poškození", de: "Schaden", fr: "Dommages", pl: "Obrażenia", es: "Daño", tr: "Hasar"},
			{i:22, en: "Detected", ru: "Обнаружено", cs: "Detekováno", de: "Aufgeklärt", fr: "Détectés", pl: "Wykrycia", es: "Detectados", tr: "Tespit"},
			{i:23, en: "Capping", ru: "Захват", cs: "Obsazení", de: "Erobert", fr: "Capture", pl: "Zdobycie bazy", es: "Capturando", tr: "İşgal"},
			{i:24, en: "Defense", ru: "Оборона", cs: "Obrana", de: "Verteidigt", fr: "Défense", pl: "Obrona bazy", es: "Defendiendo", tr: "Savunma"},
			{i:25, en: "Victories", ru: "Победы", cs: "Vítězství", de: "Siege", fr: "Victoires", pl: "Zwycięstwa", es: "Victorias", tr: "Zaferler"},
			{i:26, en: "WN9", ru: "WN9", cs: "WN9", de: "WN9", fr: "WN9", pl: "WN9", es: "WN9", tr: "WN9", f:1},
			{i:27, en: "WN8", ru: "WN8", cs: "WN8", de: "WN8", fr: "WN8", pl: "WN8", es: "WN8", tr: "WN8", f:1},
			{i:28, en: "WN7", ru: "WN7", cs: "WN7", de: "WN7", fr: "WN7", pl: "WN7", es: "WN7", tr: "WN7", f:1},
			{i:29, en: "Efficiency", ru: "Эффективность", cs: "Efektivita", de: "Effizienz", fr: "Efficacité", pl: "Efficiency", es: "Eficiencia", tr: "Efficiency", f:1},
			{i:30, en: "NoobMeter", ru: "NoobMeter", cs: "NoobMeter", de: "NoobMeter", fr: "NoobMeter", pl: "NoobMeter", es: "NoobMeter", tr: "NoobMeter", f:1},
			{i:31, en: "What is WN Efficiency?", ru: "Что такое WN эффективность?", cs: "Co je WN hodnocení?", de: "Was bedeutet WN Effizienz", fr: "Qu'est que l'efficacité WN ?", pl: "Czym jest statystyka wydajności WN?", es: "¿Qué es la eficiencia WN?", tr: "WN Efficiency Nedir?"},
			{i:32, en: "Ace Tanker", ru: "Мастер", cs: "Hrdina", de: "Panzer Ass", fr: "As du char", pl: "As Pancerny", es: "As de tanques", tr: "Tank Ası"},
			{i:33, en: "1st Class", ru: "1 степень", cs: "1. třídy", de: "1ter Klasse", fr: "Classe 1", pl: "Pierwsza Klasa", es: "Clase I", tr: "1. Sınıf"},
			{i:34, en: "2nd Class", ru: "2 степень", cs: "2. třídy", de: "2ter Klasse", fr: "Classe 2", pl: "Druga Klasa", es: "Clase II", tr: "2. Sınıf"},
			{i:35, en: "3rd Class", ru: "3 степень", cs: "3. třídy", de: "3ter Klasse", fr: "Classe 3", pl: "Trzecia Klasa", es: "Clase III", tr: "3. Sınıf"},
			{i:36, en: "No Badge", ru: "Нет значка", cs: "Nezískáno", de: "kein Orden", fr: "Aucun badge", pl: "Bez odznaki", es: "Sin medalla", tr: "Rozetsiz"},
			{i:37, en: "Total Vehicles", ru: "Общее количество танки", cs: "Celkem vozidel", de: "Alle Fahrzeuge", fr: "Nombre total de véhicules", pl: "Całkowita liczba pojazdów", es: "Total de vehículos", tr: "Toplam Araçlar"},
			{i:38, en: "Battles Participated", ru: "Участий в битвах", cs: "Počet bitev", de: "An Gefechten teilgenommen", fr: "Batailles participées", pl: "Bitwy", es: "Batallas jugadas", tr: "Savaş Katılımı"},
			{i:39, en: "Victories", ru: "Победы", cs: "Vítězství", de: "Siege", fr: "Victoires", pl: "Zwycięstwa", es: "Victorias", tr: "Zaferler"},
			{i:40, en: "Defeats", ru: "Поражения", cs: "Porážek", de: "Niederlagen", fr: "Défaites", pl: "Porażki", es: "Derrotas", tr: "Yenilgiler"},
			{i:41, en: "Draws", ru: "Ничья", cs: "Remíza", de: "Unentschieden", fr: "Egalités", pl: "Remisy", es: "Empates", tr: "Beraberlikler"},
			{i:42, en: "Battles Survived", ru: "Битв пережито", cs: "Přežito bitev", de: "Gefechte überlebt", fr: "Batailles survécues", pl: "Przetrwane bitwy", es: "Batallas como superviviente", tr: "Hayatta Kalma"},
			{i:43, en: "Average Battles per Day", ru: "Среднее число битв за день", cs: "Průměrný počet bitev za den", de: "Durschnittliche Gefechte pro Tag", fr: "Nombre moyen de batailles par jour", pl: "Średnia bitew na dzień", es: "Media de batallas por día", tr: "Günlük Ortalama Savaş"},
			{i:44, en: "Experience", ru: "Опыт", cs: "Zkušenosti", de: "Erfahrung", fr: "Expérience", pl: "Doświadczenie", es: "Experiencia", tr: "Deneyim"},
			{i:45, en: "Average Experience per Battle", ru: "Средний опыт за битву", cs: "Průměrné zkušenosti za bitvu", de: "Durchschnittserfahrung", fr: "Expérience moyenne par bataille", pl: "Średnie doświadczenie na bitwę", es: "Experiencia media por batalla", tr: "Savaş Başına Ortalama Deneyim"},
			{i:46, en: "Maximum Experience per Battle", ru: "Максимальный опыт за битву", cs: "Maximální zkušenosti za bitvu", de: "Höchste Gefechtserfahrung", fr: "Expérience maximum par bataille", pl: "Maksymalne doświadczenie na bitwę", es: "Experiencia máxima por batalla", tr: "Savaş Başına Maksimum Deneyim"},
			{i:47, en: "Destroyed", ru: "Уничтожено", cs: "Zničeno", de: "Zerstört", fr: "Détruits", pl: "Zniszczeni przeciwnicy", es: "Destruidos", tr: "İmhalar"},
			{i:48, en: "Deaths", ru: "Смертей", cs: "Nepřežil", de: "Tode", fr: "Morts", pl: "Zniszczony", es: "Muertes", tr: "Ölümler"},
			{i:49, en: "Detected", ru: "Обнаружено", cs: "Detekováno", de: "Aufgeklärt", fr: "Détectés", pl: "Wykrytych", es: "Detectados", tr: "Tespitler"},
			{i:50, en: "Hit Ratio", ru: "Коэффициент попаданий", cs: "Přesnost střelby", de: "Trefferquote", fr: "Ratio de hit", pl: "Celność", es: "Ratio de impactos", tr: "İsabet Oranı"},
			{i:51, en: "Damage Caused", ru: "Урона нанесено", cs: "Udělené poškození", de: "Schaden verursacht", fr: "Dommages causés", pl: "Zadane obrażenia", es: "Daño causado", tr: "Yapılan Hasar"},
			{i:52, en: "Damage Received", ru: "Урона получено", cs: "Přijaté poškození", de: "Schaden erhalten", fr: "Dommages reçus", pl: "Otrzymane obrażenia", es: "Daño recibido", tr: "Alınan Hasar"},
			{i:53, en: "Base Capture Points", ru: "Очки захвата", cs: "Bodů obsazení základny", de: "Eroberungspunkte", fr: "Points de capture de base", pl: "Punkty przejęcia bazy", es: "Puntos de captura", tr: "Bölge İşgali Puanı"},
			{i:54, en: "Base Defense Points", ru: "Очки обороны", cs: "Bodů obrany základny", de: "Verteidigungspunkte", fr: "Points de défense de base", pl: "Punkty obrony bazy", es: "Puntos de defensa", tr: "Bölge Savunması Puanı"},
			{i:55, en: "Average Tier", ru: "Средний уровень", cs: "Průměrný Tier", de: "Durchschnittliche Stufe", fr: "Tiers moyen", pl: "Średni poziom pojazdów", es: "Tier media", tr: "Ortalama Seviye"},
			{i:56, en: "Vehicle Tiers", ru: "Уровни техники", cs: "Tiery vozidel", de: "Fahrzeuge Stufe", fr: "Tiers du véhicule", pl: "Poziomy czołgów", es: "Tier de los vehículos:", tr: "Araç Seviyeleri"},
			{i:57, en: "Tier", ru: "Уровень", cs: "Tier", de: "Stufe", fr: "Tiers", pl: "Poziom", es: "Tier", tr: "Seviye", f:1},
			{i:58, en: "Total Vehicles:", ru: "Количество техники:", cs: "Celkem vozidel:", de: "Gesamt Fahrzeuge", fr: "Nombre total de véhicules:", pl: "Całkowita liczba pojazdów:", es: "Total de vehículos:", tr: "Toplam Araçlar"},
			{i:59, en: "Tankopedia", ru: "Танковедение", cs: "Tankpédie", de: "Tankopedia", fr: "Tankopedia", pl: "Tankopedia", es: "Tankopedia", tr: "Tankopedia", f:1},
			{i:60, en: "Tank Statistics", ru: "Статистика танка", cs: "Statistiky vozidel", de: "Panzer Statistik", fr: "Statistiques des chars", pl: "Statystyki czołgu", es: "Estadísticas de tanques", tr: "Tank İstatistikleri"},
			{i:61, en: "Premium Tanks", ru: "Премиум танки", cs: "Premium tanky", de: "Premium Panzer", fr: "Chars premiums", pl: "Czołgi premium", es: "Tanques premium", tr: "Premium Tanklar"},
			{i:62, en: "Copy stats to Clipboard", ru: "Скопировать в буфер обмена", cs: "Kopírovat Stat. do schránky", de: "Statistiken in Zwischenablage kopieren", fr: "Copier les statistiques vers le presse-papiers", pl: "Kopiuj statystyki do schowka", es: "Copiar estadísticas al portapapeles", tr: "İstatistikleri Panoya Kopyala"},
			{i:63, en: "Press Ctrl+C, or Right-Click and Copy", ru: "Нажмите Ctrl+C или ПКМ и Скопировать", cs: "Stiskni Ctrl+C, nebo klikni pravým tl. myši a vyber Kopírovat", de: "STRG+C/ rechter Mausklick und Kopieren", fr: "Appuyez sur Ctrl+C, ou clic droit et Copier", pl: "Naciśnij Ctrl+C, lub prawy klawisz myszy i 'Kopiuj'", es: "Presiona Ctrl+C, o haz clic derecho y pulsa Copiar.", tr: "Ctrl+C Tuşuna Bas, veya Sağ Tıkla ve Kopyala"},
			{i:64, en: "WoTStatScript not active, because of player having 0 battles", ru: "Скрипт неактивен, т.к. у игрока 0 битв", cs: "WoTStatScript není aktivní, protože hráč má 0 bitev", de: "WoTStatScript inaktiv wegen fehlender Gefechte", fr: "WoTStatScript n'est pas actif, car le joueur a 0 batailles", pl: "WoTStatScript nieaktywny, ponieważ gracz rozegrał 0 bitew", es: "El script WoTStat no está activo, porque el jugador no ha jugado ninguna batalla.", tr: "WoTStat Scipt aktif değil, çünkü oyuncunun 0 savaşı var."},
			{i:65, en: "Clan Stats:", ru: "Статистика клана:", cs: "Stat. klanu:", de: "Clanstatistiken", fr: "Statistiques du clan:", pl: "Statystyki klanu:", es: "Estadísticas del clan:", tr: "Klan İstatistikleri"},
			{i:66, en: "Replays:", ru: "Реплеи:", cs: "Záznamy:", de: "Replays", fr: "Replays:", pl: "Powtórki:", es: "Repeticiones:", tr: "Replayler"},
			{i:67, en: "Tier 10 Tanks", ru: "Уровень 10 Только", cs: "Pouze Tier 10", de: "nur Stufe 10", fr: "Seulement les tiers 10", pl: "Tylko 10 tier", es: "Sólo tier 10", tr: "Seviye 10 Tanklar"},
			{i:68, en: "Battles missing from API, ratings may be inaccurate", ru: "Отсутствует Battles от API, рейтинги могут быть неточными", cs: "Některé bitvy se z API nenačetly, hodnocení může být nepřesné", de: "Fehlende API Gefechtsdaten, Bewertungen können ungenau sein", fr: "Des batailles manquent de l'API, les indices peuvent être faussés", pl: "Brakujące bitwy, obliczenia mogą być niedokładne", es: "Faltan batallas desde la API, por lo que los ratios pueden no ser muy precisos.", tr: "Savaş bilgileri eksik, hesaplamalar hatalı olabilir."},
			{i:69, en: "Hit Ratio", ru: "Коэффициент попаданий", cs: "Přesnost střelby", de: "Trefferquote", fr: "Ratio de hit", pl: "Celność", es: "Ratio de impacto", tr: "İsabet Oranı"},
			{i:70, en: "Average Damage", ru: "Средний Урона", cs: "Průměrné poškození", de: "Durchschnittlicher Schaden", fr: "Dommages moyens", pl: "Średnie obrażenia", es: "Daño medio", tr: "Ortalama Hasar"},
			{i:71, en: "Stats for", ru: "Cтатистика для", cs: "Statistika hráče", de: "Statistik für", fr: "Statistiques pour ", pl: "Statystyki z", es: "Estadísticas para", tr: "İstatistikler"},
			{i:72, en: "Battles:", ru: "Битвы:", cs: "Bitev:", de: "Gefechte", fr: "Batailles:", pl: "Bitew:", es: "Batallas:", tr: "Savaşlar"},
			{i:73, en: "Clan History:", ru: "История клана:", cs: "Historie klanů:", de: "Clan Historie", fr: "Historique de clan :", pl: "Poprzednie klany:", es: "Clan History:", tr: "Clan History:"},
			{i:74, en: "No Rating", ru: "Нет рейтинга", cs: "Bez hodnocení", de: "Kein Rating", fr: "Aucun indice de performance", pl: "Brak klasyfikacji", es: "No Rating", tr: "No Rating"},
			{i:75, en: "None", ru: "Никто", cs: "Žádné", de: "Kein", fr: "Aucun", pl: "Brak", es: "None", tr: "None"},
			{i:76, en: "Error", ru: "Oшибка", cs: "Chyba", de: "Fehler", fr: "Erreur", pl: "Błąd", es: "Error", tr: "Error"},
			{i:77, en: "Missing Tanks", ru:"Отсутствующие танки", cs: "Chybějící tanky", de: "Fehlende Panzer", fr: "Chars manquants", pl: "Brakujące czołgi", es: "Missing Tanks", tr: "Missing Tanks"},
			{i:78, en: "Refresh WN Tables", ru: "Обновить значения для рейтингов WN", cs: "Refresh WN Tables", de: "Refresh WN Tables", fr: "Refresh WN Tables", pl: "Odświerz wartości WN", es: "Refresh WN Tables", tr: "Refresh WN Tables"},
			{i:79, en: "Script Menu", ru: "Меню скрипта", cs: "Nastavení scriptu", de: "Script-Menü", fr: "Menu du script", pl: "Opcje skryptu", es:"Script Menu", tr: "Script Menu"},
			{i:80, en: "Famepoints:", ru: "Очки славы:", cs: "Body slávy:", de: "Ruhmespunkte:", fr: "Points de renommée:", pl: "Punkty sławy:", es:"Famepoints:", tr: "Famepoints:"},
			{i:81, en: "Tanks missing from WN8 table, ratings may be inaccurate", ru:"Отсутствуют танки в таблице WN8, рейтинги могут быть не точными", cs: "Některé tanky chybí ve WN8 tabulce, statistiky mohou být nepřesné", de: "Einige Panzer fehlen in der WN8-Tabelle; Ratings können abweichen", fr: "Certains chars sont absents de la table WN8, les indices de performances peuvent être faussés", pl: "Czołgi nie występujące w tabeli WN8, wartości mogą być niedokładne.", es:"Tanks missing from WN8 table, ratings may be inaccurate", tr: "Tanks missing from WN8 table, ratings may be inaccurate"},
			{i:82, en: "Account banned until:", ru: "Аккаунт заблокирован до", cs: "Konto zabanováno do:", de: "Account gebannt bis:", fr: "Compte banni jusqu'au :", pl: "Konto zbanowane do:", es:"Account banned until:", tr: "Account banned until:"},
			{i:83, en: "Last Battle:", ru: "Последние бои:", cs: "Poslední bitva:", de: "Letztes Gefecht:", fr: "Dernière bataille :", pl: "Ostatnia bitwa:", es:"Last Battle:", tr: "Last Battle:"},
			{i:84, en: "Max & Assist Performance", ru: "Максимальная эффективность и помощь", cs: "Nej výkony & Asistence", de: "Performances Max & Assistance", fr: "Max & Assist Performance", pl: "Najlepsze wyniki i Asysty", es:"Max & Assist Performance", tr: "Max & Assist Performance"},
			{i:85, en: "Tanking Performance", ru: "Танковая эффективность", cs: "Tankovací výkon", de: "Tanking Performance", fr: "Performanec de Tanking", pl: "Wyniki na czołgach", es:"Tanking Performance", tr: "Tanking Performance"},
			{i:86, en: "Maximum Damage in a Battle", ru: "Максимальный урон за бой", cs: "Nejvyšší poškození v bitvě", de: "Maximum Damage in a Battle", fr: "Dommages maximums effectués", pl: "Największa ilość zadancyh uszkodzeń w bitwie", es:"Maximum Damage in a Battle", tr: "Maximum Damage in a Battle"},
			{i:87, en: "Maximum Destroyed in a Battle", ru: "Максимально унечтожено за бой", cs: "Nejvíce zničení v bitvě", de: "Maximum Destroyed in a Battle", fr: "Nb de chars détruits maximum", pl: "Największa liczba zniszczonych czołgów w bitwie", es:"Maximum Destroyed in a Battle", tr: "Maximum Destroyed in a Battle"},
			{i:88, en: "Maximum Experience in a Battle", ru: "Максимально опыта за бой", cs: "Nejvíce zkušeností v bitvě", fr: "Maximum Experience in a Battle", de: "Expérience maximum", pl: "Największa ilość doświadczenia za bitwę", es:"Maximum Experience in a Battle", tr: "Maximum Experience in a Battle"},
			{i:89, en: "Damage Assisted", ru: "Урон, нанесённый с вашей помощью", cs: "Asistované poškození", de: "Schaden durch Unterstützung", fr: "Dommages assistés", pl: "Uszkodzenia po asyscie", es:"Damage Assisted", tr: "Damage Assisted"},
			{i:90, en: "Damage Assisted with Radio", ru: "Урон по вашим разведданным", cs: "Asistované poškození spotováním", de: "Schaden durch Aufklärung", fr: "Dommages assistés par radio", pl: "Uszkodzenia po asyscie przy użyciu radia", es:"Damage Assisted with Radio", tr: "Damage Assisted with Radio"},
			{i:91, en: "Damage Assisted with Tracking", ru: "Урон после вашего попадания, сбившего гусеницу", cs: "Asistované poškození detrackováním", de: "Schaden durch Ketten", fr: "Dommages assistés par détrack", pl: "Uszkodzenia po asyscie po uszkodzeniu gąsienic", es:"Damage Assisted with Tracking", tr: "Damage Assisted with Tracking"},
			{i:92, en: "Direct Hits Received", ru: "Прямых попаданий получено", cs: "Obdrženo přímých zásahů", de: "Erhaltene Schüsse", fr: "Tirs directs reçus", pl: "Otrzymane strzały", es:"Direct Hits Received", tr: "Direct Hits Received"},
			{i:93, en: "Penetrations Received", ru: "Пробитий получено", cs: "Obdrženo penetrací", de: "Erhaltene Durchschläge", fr: "Pénétrations reçues", pl: "Otrzymane strzały z penetracją", es:"Penetrations Received", tr: "Penetrations Received"},
			{i:94, en: "No Damage Direct Hits Recieved", ru: "Попаданий без урона", cs: "Obdrženo zásahů bez poškození", de: "Erhaltene Schüsse ohne Schaden", fr: "Aucun tir direct reçu", pl: "Otrzymane strzały bez otrzymanych uszkodzeń", es:"No Damage Direct Hits Recieved", tr: "No Damage Direct Hits Recieved"},
			{i:95, en: "Explosion Hits Recieved", ru: "Фугасных попаданий получено", cs: "Obdrženo explozivních zásahů", de: "Erhaltene HE-Schüsse", fr: "Tirs par explosion reçus", pl: "Otrzymane strzały z wybuchem", es:"Explosion Hits Recieved", tr: "Explosion Hits Recieved"},
			{i:96, en: "Damage Blocked", ru: "Заблокировано урона", cs: "Poškození zastavené pancířem", de: "Abgewehrter Schaden", fr: "Dommages bloqués", pl: "Ilość uszkodzeń zablokowanych przez pancerz", es:"Damage Blocked", tr: "Damage Blocked"},
			{i:97, en: "Trees Driven Down", ru: "Повалено деревьев", cs: "Pokáceno stromů", de: "Umgefahrene Bäume", fr: "Arbres abbatus", pl: "Ilość przewróconych drzew", es:"Trees Driven Down", tr: "Trees Driven Down"},
			{i:98, en: "Armor-Use Efficiency", ru: "Эффективность использования брони", cs: "Efektivita využítí pancíře", de: "Panzerungs-Effektivität", fr: "Efficacité d'utilisation du blindage", pl: "Eektywność użycia pancerza", es:"Armor-Use Efficiency", tr: "Armor-Use Efficiency"},
			{i:99, en: "Overall", ru: "В общем", cs: "Celkem", de: "Gesamt", fr: "Global", pl: "Ogólne", es:"Overall", tr: "Overall"},
			{i:100, en: "Max, Assist & Tanking", ru: "Лучшее, ассист и танкование", cs: "Nej, Asist & Tankování", de: "Max., Aufklärung & Tanken", fr: "Max, Assistance & Tanking", pl: "Maksymalne wyniki, Asysty i wyniki na czołgach", es:"Max, Assist & Tanking", tr: "Max, Assist & Tanking"},
			{i:101, en: "Global Map", ru: "Глобальная карта", cs: "Klanové války", de: "Weltkarte", fr: "Carte globale", pl: "Mapa globalna", es:"Global Map", tr: "Global Map"},
			{i:102, en: "Medium - T6", ru: "Средний - 6 ур.", cs: "Střední - T6", de: "Medium - T6", fr: "Moyen - T6", pl: "Medium - T6", es:"Medium - T6", tr: "Medium - T6", f:1},
			{i:103, en: "Champion - T8", ru: "Чемпионский - 8 ур.", cs: "Šampión - T8", de: "Champion - T8", fr: "Champion - T8", pl: "Champion - T8", es:"Champion - T8", tr: "Champion - T8", f:1},
			{i:104, en: "Absolute - T10", ru: "Абсолютный  - 10 ур.", cs: "Absolutní - T10", de: "Absolut - T10", fr: "Absolu - T10", pl: "Absolute - T10", es:"Absolute - T10", tr: "Absolute - T10", f:1},
			{i:105, en: "Strongholds", ru: "Укрепрайоны", cs: "Opevnění", de: "Festungen", fr: "Bastions", pl: "Twierdze", es:"Strongholds", tr: "Strongholds"},
			{i:106, en: "Stronghold Skirmish", ru: "Укрепрайоны Вылазки", cs: "Opevnění - Šarvátky", de: "Festungen Bollwerk", fr: "Batailles de bastion", pl: "Potyczki na twierdach", es:"Stronghold Skirmish", tr: "Stronghold Skirmish"},
			{i:107, en: "Stronghold Defense", ru: "Укрепрайоны защита", cs: "Opevnění - Obrana", de: "Festungs-Verteidigung", fr: "Défense de bastion", pl: "Obrony twierdz", es:"Stronghold Defense", tr: "Stronghold Defense"},
			{i:108, en: "Team Battles", ru: "Командные бои", cs: "Týmové bitvy", de: "Teamgefechte", fr: "Batailles en équipe", pl: "Bitwy drużynowe", es:"Team Battles", tr: "Team Battles"},
			{i:109, en: "Ranked Team Battles", ru: "Ранговые командные бои", cs: "Hodnocené týmové bitvy", de: "Gewertete Teamgefechte", fr: "Batailles en équipe classées", pl: "Bitwy drużynowe rankingowe", es:"Ranked Team Battles", tr: "Ranked Team Battles"},
			{i:110, en: "Other Modes", ru: "Другие режимы", cs: "Ostatní bitvy", de: "Andere Modi", fr: "Autres modes", pl: "Inne tryby", es:"Other Modes", tr: "Other Modes"},
			{i:111, en: "Rampage", ru: "Превосходство", cs: "Běsnení", de: "Verwüstung", fr: "Ravages", pl: "Rozwałka", es:"Rampage", tr: "Rampage"},
			{i:112, en: "Historical Battles", ru: "Исторические бои", cs: "Historické bitvy", de: "Historische Gefechte", fr: "Batailles historiques", pl: "Bitwy historyczne", es:"Historical Battles", tr: "Historical Battles"},
			{i:113, en: "Tank Company", ru: "Роты", cs: "Roty", de: "Kompanie", fr: "Compagnie de chars", pl: "Bitwa kompanii czołgów", es:"Tank Company", tr: "Tank Company"},
			{i:114, en: "Penetration Ratio", ru: "Процент пробития", cs: "Poměr průstřelů", de: "Penetrationsrate", fr: "Ratio de pénétration", pl: "Współczynnik przebijalności", es:"Penetration Ratio", tr: "Penetration Ratio"},
			{i:115, en: "First value is either average per battle or % of a related value, and the second value is the total.", ru: "Первое значение - это или среднее за бой или процент от связанного значения, второе значение - сумма.", cs: "První hodnota je buďto průměr na jednu bitvu nebo procentuální zastoupení dané hodnoty. Druhá hodnota je celkové množství ve všech bitvách.", de: "Der erste Wert ist entweder der Durchschnitt pro Gefecht oder ein prozentualer Anteil; der zweite Wert ist die Summe.", fr: "La première valeur est soit la moyenne par bataille ou un % de la valeur afférente, et la deuxième valeur correspond au total.", pl: "Pierwsza wartość jest albo wartością średnią na bitwę alb procentem powiązanej wartości, natomiast druga wartość jest ogólnym wynikiem.", es:"First value is either average per battle or % of a related value, and the second value is the total.", tr: "First value is either average per battle or % of a related value, and the second value is the total."},
			{i:116, en: "Do mind that some of the values are from the API, and might not load immediately.", ru: "Помните о том, что часть записей берутся из API, и не могут загрузиться мгновенно.", cs: "Některé hodnoty jsou načítány z API a nemusí se načíst ihned.", de: "Bitte beachten: Einige Werte stammen aus der API und brauchen deshalb einige Zeit zum Laden.", fr: "Gardez à l'esprit que les valeurs proviennent de l'API, et qu'elles peuvent ne pas être chargées immédiatement.", pl: "Miej na uwadzę że część wartości jest pobrane z API i mogą nie być załadowane od razu.", es:"Do mind that some of the values are from the API, and might not load immediately.", tr: "Do mind that some of the values are from the API, and might not load immediately."},
			{i:117, en: "Script Author:", ru: "Автор скрипта:", cs: "Autor skriptu:", de: "Script-Autor:", fr: "Auteur du script :", pl: "Autor skryptu:", es:"Script Author:", tr: "Script Author:"},
			{i:118, en: "Contributors", ru: "Внесшие вклад", cs: "Kontributoři", de: "Contributors", fr: "Contributeurs", pl: "Współtwórcy", es:"Contributors", tr: "Contributors"},
			{i:119, en: "Battles & WN8 per Tier", ru: "Бои & WN8 по уровням", cs: "Bitky a WN8 za tier", de: "Battles & WN8 per Tier", fr: "Battles & WN8 per Tier", pl: "Bitwy i WN8 dla daneego tieru", es:"Battles & WN8 per Tier", tr: "Battles & WN8 per Tier"},
			{i:120, en: "Battles & WN8 per Class", ru: "Бои & WN8 по классам", cs: "Bitky a WN8 za třídu", de: "Battles & WN8 per Class", fr: "Battles & WN8 per Class", pl: "Bitwy i WN8 dla danej klasy", es:"Battles & WN8 per Class", tr: "Battles & WN8 per Class"},
			{i:121, en: "Battles & WN8 per Nation", ru: "Бои & WN8 по нациям", cs: "Bitky a WN8 za národ", de: "Battles & WN8 per Nation", fr: "Battles & WN8 per Nation", pl: "Bitwy i WN8 dla danej nacji", es:"Battles & WN8 per Nation", tr: "Battles & WN8 per Nation"},
			{i:122, en: "Calculating", ru: "Рассчет", cs: "Probíhá výpočet", de: "Calculating", fr: "Calculating", pl: "Przeliczanie", es:"Calculating", tr: "Calculating"},
			{i:123, en: "Supertest Tanks", ru: "Танки на супертесте", cs: "Tanky ze supertestu", de: "Supertest Tanks", fr: "Supertest Tanks", pl: "Czołgi z supertestu", es:"Supertest Tanks", tr: "Supertest Tanks"},
			{i:124, en: "Light Tanks", ru: "лёгкие танки", cs: "Lehké tanky", de: "Leichte Panzer", fr: "Chars légers", pl: "Czołgi lekkie", es:"Carros ligeros", tr: "Hafif Tanklar"},
			{i:125, en: "Medium Tanks", ru: "средние танки", cs: "Střední tanky", de: "Mittlere Panzer", fr: "Chars moyens", pl: "Czołgi średnie", es:"Carros ligeros", tr: "Orta Tanklar"},
			{i:126, en: "Heavy Tanks", ru: "тяжёлые танки", cs: "Těžké tanky", de: "Schwere Panzer", fr: "Chars lourds", pl: "Czołgi ciężkie", es:"Carros pesados", tr: "Ağır Tanklar"},
			{i:127, en: "Tank Destroyers", ru: "ПТ-САУ", cs: "Stíhače tanků", de: "Jagdpanzer", fr: "Chass. de chars", pl: "Niszczyciele czołgów", es:"Cazacarros", tr: "Tank Avcısı"},
			{i:128, en: "SPGs", ru: "САУ", cs: "Dělostřelectvo", de: "Selbstfahrlafetten", fr: "Canons AM", pl: "Działa samobieżne", es:"Cazacarros", tr: "KMT"},
			{i:129, en: "Tanks", ru: "Танки", cs: "Tanky", de: "Panzer", fr: "Chars", pl: "Czołgi", es: "Carros", tr: "Tanklar"},
			{i:130, en: "Battles", ru: "Бои", cs: "Bitvy", de: "Gefechte", fr: "Batailles", pl: "Bitwy", es: "Batallas", tr: "Savaşlar"},
			{i:131, en: "Mastery Badges", ru: "Знаки классности", cs: "Mistrovské odznaky", de: "Überlegenheitsabzeichen", fr: "Badges de maîtrise", pl: "Odznaczenia mistrzowskie", es: "Insignias de maestría", tr: "Ustalık Bröveleri"},
			{i:132, en: "Update Profile", ru: "Обновить профиль", cs: "Aktualizuj profil", de: "Update Profile", fr: "Update Profile", pl: "Zaaktualizuj profil", es: "Update Profile", tr: "Update Profile"},
			{i:133, en: "Last Updated:", ru: "Последнее обновление:", cs: "Poslední aktualizace:", de: "Last Updated:", fr: "Last Updated:", pl: "Ostatnia aktualizacja:", es: "Last Updated:", tr: "Last Updated:"},
			{i:134, en: "Reload Tankopedia", ru: "Reload Tankopedia", cs: "Obnov Tankopedii", de: "Reload Tankopedia", fr: "Reload Tankopedia", pl: "Przeładuj dane z Tankopedii", es: "Reload Tankopedia", tr: "Reload Tankopedia"},
			{i:135, en: "Free XP:", ru: "Свободный опыт:", cs: "Volné XP:", de: "Free XP:", fr: "Free XP:", pl: "Wolne doświadczenie:", es: "Free XP:", tr: "Free XP:"},
			{i:136, en: "Version:", ru: "Версия:", cs: "Verze:", de: "Version:", fr: "Version:", pl: "Wersja:", es: "Version:", tr: "Version:"},
			{i:137, en: "Support Thread", ru: "Форум поддержки (на английском)", cs: "Fórum podpory", de: "Support Thread", fr: "Support Thread", pl: "Wątek na forum", es: "Support Thread", tr: "Support Thread"},
			{i:138, en: "Script Translation", ru: "Перевод скрипта", cs: "Překlad scriptu", de: "Script Translation", fr: "Script Translation", pl: "Tłumaczenie skryptu", es: "Script Translation", tr: "Script Translation"},
			{i:139, en: "Unsupported language detected!", ru: "Обнаружен неподдерживаемый язык!", cs: "Zjištěn nepodporovaný jazyk!", de: "Unsupported language detected!", fr: "Unsupported language detected!", pl: "Wykryto niewspierany język!", es: "Unsupported language detected!", tr: "Unsupported language detected!"},
			{i:140, en: "If you want to contribute with translation, please contact", ru: "Если вы хотите участвовать в переводе скрипта, свяжитесь с", cs: "Jestli chceš pomoct s překladem, kontaktuj", de: "If you want to contribute with translation, please contact", fr: "If you want to contribute with translation, please contact", pl: "Jeśli chesch pmóc w tłumaczeniach skontaktuj się ze mną", es: "If you want to contribute with translation, please contact", tr: "If you want to contribute with translation, please contact"},
			{i:141, en: "Strings that requires translation:", ru: "Строки, которые требуют перевода:", cs: "Nepřeložené řeteězce :", de: "Strings that requires translation:", fr: "Strings that requires translation:", pl: "Słowa wymagające tłumaczenia:", es: "Strings that requires translation:", tr: "Strings that requires translation:"},
			{i:142, en: "If you want to contribute, open the browser console (Firefox: CTRL+SHIFT+K, Chrome: F12), translate the strings and send them to", ru: "Если вы хотите участвовать в переводе, откройте консоль браузера (Firefox: CTRL+SHIFT+K, Chrome: F12), переведите строки и отправьте их", cs: "Jestli chceš pomoct, otevři konzoli (Firefox: CTRL+SHIFT+K, Chrome: F12), přelož řetězce a pošli je", de: "If you want to contribute, open the browser console (Firefox: CTRL+SHIFT+K, Chrome: F12), translate the strings and send them to", fr: "If you want to contribute, open the browser console (Firefox: CTRL+SHIFT+K, Chrome: F12), translate the strings and send them to", pl: "Jeśli chcesz pomóc w tłumaczeniu, otwórz konsolę przeglądarki (Firefox: CTRL+SHIFT+K, Chrome: F12), przetłumacz słowa i wyślij te tłumaczenia do mnie", es: "If you want to contribute, open the browser console (Firefox: CTRL+SHIFT+K, Chrome: F12), translate the strings and send them to", tr: "If you want to contribute, open the browser console (Firefox: CTRL+SHIFT+K, Chrome: F12), translate the strings and send them to"},
			{i:143, en: "Nation", ru: "Нациям", cs: "Národ", de: "Nation", fr: "Nation", pl: "Nacja", es: "Nacione", tr: "Ülke", f:1},
			{i:144, en: "Clean Script Database", ru: "Clean Script Database", cs: "Vyčisti db scriptu", de: "Clean Script Database", fr: "Nettoyer la base de données du script", pl: "Wyczyść bazę skryptu", es: "Clean Script Database", tr: "Clean Script Database"},
			{i:145, en: "No Random Battles", ru: "No Random Battles", cs: "Žádné náhodné bitvy", de: "No Random Battles", fr: "No Random Battles", pl: "No Random Battles", es: "No Random Battles", tr: "No Random Battles"},
			{i:146, en: "Marks of Excellence", ru: "Marks of Excellence", cs: "Vítězné znaky ", de: "Marks of Excellence", fr: "Marks of Excellence", pl: "Marks of Excellence", es: "Marks of Excellence", tr: "Marks of Excellence"},
			{i:147, en: "Debug Script", ru: "Debug Script", cs: "Ladění skriptu", de: "Debug Script", fr: "Debug Script", pl: "Debug Script", es: "Debug Script", tr: "Debug Script"},
			{i:148, en: "Overall Results", ru: "Общие результаты", cs: "Celkové výsledky", de: "Gesamtergebnisse", fr: "Résultats généraux", pl: "Ogólne wyniki", es: "Resultados generales", tr: "Genel Sonuçlar"},
			{i:149, en: "Battle Performance", ru: "Боевая эффективность", cs: "Bojový výkon", de: "Leistung in Gefechten", fr: "Performances", pl: "Skuteczność bojowa", es: "Rendimiento en batalla", tr: "Savaş Performansı"},
			{i:150, en: "3 Marks", ru: "3 Marks", cs: "3 Marks", de: "3 Marks", fr: "3 Marks", pl: "3 Marks", es: "3 Marks", tr: "3 Marks"},
			{i:151, en: "2 Marks", ru: "2 Marks", cs: "2 Marks", de: "2 Marks", fr: "2 Marks", pl: "2 Marks", es: "2 Marks", tr: "2 Marks"},
			{i:152, en: "1 Mark", ru: "1 Mark", cs: "1 Mark", de: "1 Mark", fr: "1 Mark", pl: "1 Mark", es: "1 Mark", tr: "1 Mark"},
			{i:153, en: "No Marks", ru: "No Marks", cs: "No Marks", de: "No Marks", fr: "No Marks", pl: "No Marks", es: "No Marks", tr: "No Marks"},
			{i:154, en: "Tier 10 Marks", ru: "Tier 10 Marks", cs: "Tier 10 Marks", de: "Tier 10 Marks", fr: "Tier 10 Marks", pl: "Tier 10 Marks", es: "Tier 10 Marks", tr: "Tier 10 Marks"}
			// {en: "", ru: "", cs: "", de: "", fr: "", pl: "", es:"", tr: ""},
		],
		date: {
			raw: new Date(),
			now: Date.now(),
			format: {ru: "ru-RU", eu: "en-GB", na: "en-US", asia: "en-AU", kr: "ko-KR"}
		},
		col: {
			//      col        wr  lr  bat    sr  hr  dmg  wgr   wn9   wn8   wn7   eff   nm
			sUni: ["#5A3175", 65, 35, 30000, 50, 80, 270, 9900, 1000, 2900, 2050, 2050, 2000], // 99.99% super unicum
			uni:  ["#83579D", 60, 40, 25000, 46, 75, 240, 9000,  900, 2450, 1850, 1800, 1950], // 99.90% unicum
			gr8:  ["#3972C6", 56, 44, 21000, 42, 70, 210, 8500,  800, 2000, 1550, 1500, 1750], // 99.00% great
			vGud: ["#4099BF", 54, 46, 17000, 38, 65, 180, 6500,  700, 1600, 1350            ], // 95.00% very good
			good: ["#4D7326", 52, 48, 13000, 34, 60, 150, 5000,  600, 1200, 1100, 1200, 1450], // 82.00% good
			aAvg: ["#849B24", 50, 50, 10000, 30, 55, 120, 4000,  500,  900                  ], // 63.00% above average
			avg:  ["#CCB800", 48, 52,  7000, 25, 50,  90, 3000,  400,  650,  900,  900, 1250], // 40.00% average
			bAvg: ["#CC7A00", 47, 53,  3000, 20, 45,  60, 2000,  300,  450,  700,  600, 1150], // 20.00% below average
			bas:  ["#CD3333", 46, 54,  1000, 15, 40,  30, 1500,  200,  300,  500            ], //  6.00% basic
			beg:  ["#930D0D",  0, 100,    0,  0,  0,   0,    0,    0,    0,    0,    0,    0], //  0.00% beginner
			dft:  ["#6B6B6B"], // default
			id: {col: 0, wr: 1,  lr: 2, bat: 3, sr: 4, hr: 5, dmg: 6, wgr: 7, wn9: 8, wn8: 9, wn7: 10, eff: 11, nm: 12}  // type identifier
		},
		vehBackup: {
			// id   name                      name_id                      prem   tier nation     class         name_ru
			50945: ["T-45",                   "R125_T_45",                 true,  3,   "ussr",    "lightTank"],
			57089: ["T-44-85",                "R98_T44_85",                true,  7,   "ussr",    "mediumTank"],
			57345: ["T-44-85M",               "R98_T44_85M",               true,  8,   "ussr",    "mediumTank"],
			48897: ["T-44-100M",              "R122_T44_100B",             true,  8,   "ussr",    "mediumTank"],
			62721: ["Kirovets-1",             "R123_Kirovets_1",           true,  8,   "ussr",    "heavyTank",  "Кировец-1"],
			50433: ["Object 257",             "R129_Object_257",           true,  10,  "ussr",    "heavyTank",  "Объект 257"],
			50689: ["Object 268 Version 5",   "R126_Object_730_5",         true,  10,  "ussr",    "AT-SPG",     "Объект 268 Вариант 5"],
			64017: ["M 41 90 mm",             "G120_M41_90",               true,  8,   "germany", "lightTank"],
			63761: ["Panzer 58",              "G119_Panzer58",             true,  8,   "germany", "mediumTank"],
			59409: ["VK 65.01 (H)",           "G122_VK6501H",              true,  5,   "germany", "heavyTank"],
			49681: ["Tiger II (H)",           "G16_PzVIB_Tiger_II_F",      true,  7,   "germany", "heavyTank"],
			62225: ["VK 45.02 (P) Ausf. B7",  "G58_VK4502P7",              true,  7,   "germany", "heavyTank"],
			49425: ["Jagdtiger (H)",          "G44_JagdTigerH",            true,  8,   "germany", "AT-SPG"],
			16913: ["Waffenträger auf E 100", "G98_Waffentrager_E100",     false, 10,  "germany", "AT-SPG"],
			57889: ["T92 Lt",                 "A99_T92_LT",                true,  7,   "usa",     "lightTank"],
			57633: ["T71 CMCD",               "A112_T71E2",                true,  7,   "usa",     "lightTank"],
			59681: ["M4A3E8 Thunderbolt VII", "A118_M4_Thunderbolt",       true,  6,   "usa",     "mediumTank"],
			57377: ["T25 Pilot 1",            "A111_T25_Pilot",            true,  8,   "usa",     "mediumTank"],
			58657: ["Chrysler K",             "A115_Chrysler_K",           true,  8,   "usa",     "heavyTank"],
			56865: ["M48A2/T54E2/T123E6",     "A106_M48A2_120",            true,  10,  "usa",     "mediumTank"],
			62017: ["AMX M4 1949 Liberté",    "F74_AMX_M4_1949_Liberte",   true,  8,   "france",  "heavyTank"],
			62273: ["Somua SM",               "F84_Somua_SM",              true,  8,   "france",  "heavyTank"],
			63537: ["121B",                   "Ch25_121_mod_1971B",        true,  10,  "china",   "mediumTank"],
			56401: ["T95/Chieftain",          "GB88_T95_Chieftain_turret", true,  10,  "uk",      "mediumTank"],
			15185: ["Chieftain Mk. 6",        "GB84_Chieftain_Mk6",        true,  10,  "uk",      "heavyTank"],
			51809: ["Type 98 Ke-Ni Otsu",     "J05_Ke_Ni_B",               true,  3,   "japan",   "lightTank"],
			52353: ["Strv 81",                "S23_Strv_81",               true,  8,   "sweden",  "mediumTank"]
			// 63745, 64833, 64257 are rentals
		},
		superTest: [
			// russian
			"R98_T44_85", "R98_T44_85M", "R99_T44_122", "R122_T44_100B", "R114_Object_244", "R123_Kirovets_1", "R119_Object_777", "R129_Object_257", "R121_KV4_KTT", "R126_Object_730_5",
			// german
			"G120_M41_90", "G119_Panzer58", "G122_VK6501H", "G16_PzVIB_Tiger_II_F", "G58_VK4502P7", "G115_Typ_205_4_Jun", "G44_JagdTigerH", "G114_Skorpian",
			// american
			"A99_T92_LT", "A112_T71E2", "A106_M48A2_120",
			// french
			"F69_amx13_57_100", "F84_Somua_SM",
			// british
			"GB84_Chieftain_Mk6", "GB88_T95_Chieftain_turret",
			// chinese
			// "",
			// japanese
			"J05_Ke_Ni_B",
			// czechoslovakian
			// "",
			// swedish
			"S23_Strv_81"
		],
		tierAvg: [ // from 150816 EU avgs exc scout/arty
			{win:0.477, dmg:88.9, frag:0.68, spot:0.90, def:0.53, cap:1.0, weight:0.40},
			{win:0.490, dmg:118.2, frag:0.66, spot:0.85, def:0.65, cap:1.0, weight:0.41},
			{win:0.495, dmg:145.1, frag:0.59, spot:1.05, def:0.51, cap:1.0, weight:0.44},
			{win:0.492, dmg:214.0, frag:0.60, spot:0.81, def:0.55, cap:1.0, weight:0.44},
			{win:0.495, dmg:388.3, frag:0.75, spot:0.93, def:0.63, cap:1.0, weight:0.60},
			{win:0.497, dmg:578.7, frag:0.74, spot:0.93, def:0.52, cap:1.0, weight:0.70},
			{win:0.498, dmg:791.1, frag:0.76, spot:0.87, def:0.58, cap:1.0, weight:0.82},
			{win:0.497, dmg:1098.7, frag:0.79, spot:0.87, def:0.58, cap:1.0, weight:1.00},
			{win:0.498, dmg:1443.2, frag:0.86, spot:0.94, def:0.56, cap:1.0, weight:1.23},
			{win:0.498, dmg:1963.8, frag:1.04, spot:1.08, def:0.61, cap:1.0, weight:1.60}
		],
		web: {
			gecko: typeof InstallTrigger !== 'undefined',
			opera: !!w.opera || /opera|opr/i.test(n.userAgent),
			chrome: !!w.chrome && !!w.chrome.webstore,
			safari: /constructor/i.test(w.HTMLElement)
		}
	},
	s = { // variable for statistics
		b: [{c:0,p:0},{c:0,p:0},{c:0,p:0},{c:0,p:0},{c:0,p:0},{c:0,p:100}], // badges
		f: {wn9:{},wn8:{},wn7:{},eff:{},wgr:{}}, // formulas
		h: {}, // hex colours
		m: [{c:0,p:0},{c:0,p:0},{c:0,p:0},{c:0,p:0},{c:0,p:0}], // marks of excellence
		n: {china:{b:0,bd:0,wn8:0,wn9:0},czech:{b:0,bd:0,wn8:0,wn9:0},france:{b:0,bd:0,wn8:0,wn9:0},germany:{b:0,bd:0,wn8:0,wn9:0},japan:{b:0,bd:0,wn8:0,wn9:0},poland:{b:0,bd:0,wn8:0,wn9:0},sweden:{b:0,bd:0,wn8:0,wn9:0},uk:{b:0,bd:0,wn8:0,wn9:0},usa:{b:0,bd:0,wn8:0,wn9:0},ussr:{b:0,bd:0,wn8:0,wn9:0}}, // nations
		s: {lightTank:{r:[],b:0,bd:0,w:0,wn8:0,wn9:0,bg:0,m:0},mediumTank:{r:[],b:0,bd:0,w:0,wn8:0,wn9:0,bg:0,m:0},heavyTank:{r:[],b:0,bd:0,w:0,wn8:0,wn9:0,bg:0,m:0},"AT-SPG":{r:[],b:0,bd:0,w:0,wn8:0,wn9:0,bg:0,m:0},SPG:{r:[],b:0,bd:0,w:0,wn8:0,wn9:0,bg:0,m:0},prem:{r:[],b:0,bd:0,w:0,wn8:0,wn9:0,bg:0,m:0},ten:{r:[],b:0,bd:0,w:0,wn8:0,wn9:0,bg:0,m:0},miss:{r:[],b:0,bd:0,w:0,wn8:0,wn9:0,bg:0,m:0},super:{r:[],b:0,bd:0,w:0,wn8:0,wn9:0,bg:0,m:0},zero:{r:[],b:0,bd:0,w:0,wn8:0,wn9:0,bg:0,m:0}}, // custom tank tables
		t: [{b:0,bd:0,c:0,wn8:0,wn9:0,t:1},{b:0,bd:0,c:0,wn8:0,wn9:0,t:2},{b:0,bd:0,c:0,wn8:0,wn9:0,t:3},{b:0,bd:0,c:0,wn8:0,wn9:0,t:4},{b:0,bd:0,c:0,wn8:0,wn9:0,t:5},{b:0,bd:0,c:0,wn8:0,wn9:0,t:6},{b:0,bd:0,c:0,wn8:0,wn9:0,t:7},{b:0,bd:0,c:0,wn8:0,wn9:0,t:8},{b:0,bd:0,c:0,wn8:0,wn9:0,t:9},{b:0,bd:0,c:0,wn8:0,wn9:0,t:10}], // tiers
		v: {a:0,t:0,battles:0,tier:0}, // vehicles
		w: {e:{frag:0,dmg:0,spot:0,def:0,win:0},c:{},w:{total:0,used:0,use:0}}, // values for wn8 and wn9
	},
	sf = { // script functions
		statCalc: function () { // statCalc function
			// fetching info, calculate averages, colourize and store into var s
			// wn9 static values
			var tankList = [];

			// r = raw stats
			s.r = userStats.all;
			s.r.days = (sc.date.raw - new Date(sc.stats.u.created_at)*1000)/1000/60/60/24;
			s.r.batsRan= 0;
			s.r.deaths = s.r.battles-s.r.survived_battles;
			s.r.cuts = sc.stats.u.statistics.trees_cut;
			s.r.dmgA = s.r.avg_damage_assisted*s.r.battles;
			s.r.dmgAR = s.r.avg_damage_assisted_radio*s.r.battles;
			s.r.dmgAT = s.r.avg_damage_assisted_track*s.r.battles;
			s.r.dmgB = s.r.avg_damage_blocked*s.r.battles;
			s.r.winLR = s.r.wins/s.r.losses;

			// p = personal stats - store to display on all profile pages
			var userData = sf.storage("statScriptUserdata_"+wg.srv, "", "get", "parse"),
			pd_table = d.getElementsByClassName('t-dotted');
			if (wg.own) {
				s.p = {
					gold: [pd_table[0].rows[0].cells[0].textContent, pd_table[0].rows[0].cells[1].firstElementChild.textContent],
					cred: [pd_table[0].rows[1].cells[0].textContent, pd_table[0].rows[1].cells[1].firstElementChild.textContent],
					fxp: pd_table[0].rows[2].cells[1].firstElementChild.textContent,
					bonds: [pd_table[0].rows[3].cells[0].textContent, pd_table[0].rows[3].cells[1].firstElementChild.textContent]
				};
				if (pd_table[1].rows[1]) {
					s.p.prem = [pd_table[1].rows[1].cells[0].textContent, pd_table[1].rows[1].cells[1].textContent];
				}
				sf.storage("statScriptUserdata_"+wg.srv, s.p, "set", "string");
			}
			else if (userData) {
				s.p = userData;
			}

			// roll through the vehicles
			for (var _v=0, _v_len = sc.stats.v.length; _v<_v_len; _v++) {
				var veh = sc.stats.v[_v],
				vehMedal = sc.stats.a[_v],
				vehAll = veh.all,
				vehRan = veh.random,
				vehId = veh.tank_id,
				vehBats = vehAll.battles,
				vehWins = vehAll.wins,
				vehBadge = (veh.mark_of_mastery) ? veh.mark_of_mastery : 0,
				vehExp = false,
				tankpedia = sc.pedia[vehId];
				veh.wn8 = {tot: 0};
				veh.wn9 = {rat: 0};
				veh.miss = [false, []];
				if (sc.wn[vehId]) {
					vehExp = {
						wn8: sc.wn[vehId].wn8,
						wn9: sc.wn[vehId].wn9
					};
				}
				// add data to vehExp array
				if (tankpedia) {
					veh.name = tankpedia.name;
					veh.tag = tankpedia.tag;
					veh.tier = tankpedia.tier;
					veh.type = tankpedia.type;
					veh.nation = tankpedia.nation;
					veh.prem = tankpedia.is_premium;
				}
				else if (sc.vehBackup[vehId]) {
					if (sc.locSet.cur == "ru" && sc.vehBackup[vehId][6]) {
						sc.vehBackup[vehId][0] = sc.vehBackup[vehId][6];
					}
					veh.name = sc.vehBackup[vehId][0];
					veh.tag = sc.vehBackup[vehId][1];
					veh.tier = sc.vehBackup[vehId][3];
					veh.type = sc.vehBackup[vehId][5];
					veh.nation = sc.vehBackup[vehId][4];
					veh.prem = sc.vehBackup[vehId][2];
					if (sc.debug) {
						veh.miss[0] = true;
						veh.miss[1].push("DB");
					}
				}
				else {
					var vehIgnore = [63745,64833,64257]; // rentals
					if (vehIgnore.indexOf(vehId) == -1) {
						console.error(vehId+" doesn't exist in the database, please report!");
					}
					continue;
				}
				// check battle amount, skip stat calculation if 0
				if (vehBats === 0) {
					s.s.zero.r.push(_v);
					if (sc.debug) {
						console.info(((tankpedia) ? tankpedia.name : "")+" - "+vehId+" has no battles");
					}
					continue;
				}

				// marks of excellence
				veh.marksOnGun = (veh.tank_id == vehMedal.tank_id && vehMedal.achievements.marksOnGun) ? vehMedal.achievements.marksOnGun : 0;
				s.m[veh.marksOnGun].c ++;
				if (veh.tier == 10 && veh.marksOnGun == 3) {
					s.m[4].c ++;
				}

				// wn8 rating
				if (vehExp.wn8) {
					// add to total vehicle battles if it exists in wnefficiency table
					s.v.battles += vehBats;
					// summarize expected stat from every vehicle for WN8
					veh.wn8exp = {
						frag: vehExp.wn8.expFrag    * vehBats,
						dmg:  vehExp.wn8.expDamage  * vehBats,
						spot: vehExp.wn8.expSpot    * vehBats,
						def:  vehExp.wn8.expDef     * vehBats,
						win:  vehExp.wn8.expWinRate * vehBats
					};

					// wn8 rating
					veh.wn8.dmg = Math.max((vehAll.damage_dealt/veh.wn8exp.dmg-0.22)/(1-0.22),0);
					veh.wn8.frag = Math.max(Math.min(veh.wn8.dmg+0.2,(vehAll.frags/veh.wn8exp.frag-0.12)/(1-0.12)),0);
					veh.wn8.spot = Math.max(Math.min(veh.wn8.dmg+0.1,(vehAll.spotted/veh.wn8exp.spot-0.38)/(1-0.38)),0);
					veh.wn8.def = Math.max(Math.min(veh.wn8.dmg+0.1,(vehAll.dropped_capture_points/veh.wn8exp.def-0.10)/(1-0.10)),0);
					veh.wn8.win = Math.max((100*vehAll.wins/veh.wn8exp.win-0.71)/(1-0.71),0);
					veh.wn8.rat = 980*veh.wn8.dmg+210*veh.wn8.dmg*veh.wn8.frag+155*veh.wn8.frag*veh.wn8.spot+75*veh.wn8.frag*veh.wn8.def+145*Math.min(1.8,veh.wn8.win);
					// multiply wn8 per battle for category usage
					veh.wn8.tot = veh.wn8.rat * vehBats;

					// summarize for account wn8
					s.w.e.frag += veh.wn8exp.frag;
					s.w.e.dmg  += veh.wn8exp.dmg;
					s.w.e.spot += veh.wn8exp.spot;
					s.w.e.def  += veh.wn8exp.def;
					s.w.e.win  += veh.wn8exp.win;
				}
				else {
					console.error(veh.name+" - "+vehId+" doesn't exist in WN8 database, please report!");
					if (sc.debug) {
						veh.miss[0] = true;
						veh.miss[1].push("WN8");
					}
				}

				// wn9 rating
				if (vehExp.wn9) {
					var avg = sc.tierAvg[vehExp.wn9.mmrange >= 3 ? vehExp.wn9.tier : vehExp.wn9.tier-1];
					veh.wn9.nerf = vehExp.wn9.wn9nerf;
					veh.wn9.dmg = vehRan.damage_dealt/(vehRan.battles*avg.dmg);
					veh.wn9.frag = vehRan.frags/(vehRan.battles*avg.frag);
					veh.wn9.spot = vehRan.spotted/(vehRan.battles*avg.spot);
					veh.wn9.def = vehRan.dropped_capture_points/(vehRan.battles*avg.def);
					veh.wn9.win = vehRan.wins/(vehRan.battles*avg.win);
					veh.wn9.base = 0.7*veh.wn9.dmg+((vehRan.battles < 5) ? 0.14*veh.wn9.frag+0.13*Math.sqrt(veh.wn9.spot)+0.03*Math.sqrt(veh.wn9.def) : 0.25*Math.sqrt(veh.wn9.frag*veh.wn9.spot)+0.05*Math.sqrt(veh.wn9.frag*Math.sqrt(veh.wn9.def)));
					veh.wn9.rat = sc.wn.v.wn9accmul*Math.max(1+(veh.wn9.base/vehExp.wn9.wn9exp-1)/vehExp.wn9.wn9scale,0);
					// multiply wn9 per battle for category usage
					veh.wn9.tot = veh.wn9.rat * vehBats;
				}
				else {
					console.error(veh.name+" - "+vehId+" doesn't exist in WN9 database, please report!");
					if (sc.debug) {
						veh.miss[0] = true;
						veh.miss[1].push("WN9");
					}
				}

				// vehicle badges
				s.b[vehBadge].c ++;

				// vehicle stats per tier
				s.t[veh.tier-1].bd += vehBats;
				s.t[veh.tier-1].c ++;
				s.v.tier += veh.tier*vehBats;
				s.v.a ++;

				// vehicle stats per nation
				s.n[veh.nation].bd += vehBats;

				// vehicle stats per class
				s.s[veh.type].r.push(_v);
				s.s[veh.type].bd += vehBats;
				s.s[veh.type].w += vehWins;
				if (vehBadge !== 0) {
					s.s[veh.type].bg ++;
				}
				if (veh.marksOnGun !== 0) {
					s.s[veh.type].m ++;
				}

				// summarize wn8 if it exists
				if (veh.wn8.tot > 0 || veh.wn9.tot > 0) {
					s.t[veh.tier-1].b += vehBats;
					s.n[veh.nation].b += vehBats;
					s.s[veh.type].b += vehBats;
					if (veh.wn8.tot > 0) {
						s.t[veh.tier-1].wn8 += veh.wn8.tot;
						s.n[veh.nation].wn8 += veh.wn8.tot;
						s.s[veh.type].wn8 += veh.wn8.tot;
					}
					if (veh.wn9.tot > 0) {
						s.t[veh.tier-1].wn9 += veh.wn9.tot;
						s.n[veh.nation].wn9 += veh.wn9.tot;
						s.s[veh.type].wn9 += veh.wn9.tot;
					}
				}


				// get info for premium tanks
				if (veh.prem) {
					s.s.prem.r.push(_v);
					s.s.prem.bd += vehBats;
					s.s.prem.w += vehWins;
					if (veh.wn8.tot > 0) {
						s.s.prem.b += vehBats;
						s.s.prem.wn8 += (veh.wn8.tot > 0) ? veh.wn8.tot : 0;
						s.s.prem.wn9 += (veh.wn9.tot > 0) ? veh.wn9.tot : 0;
					}
					if (vehBadge !== 0) {
						s.s.prem.bg ++;
					}
					if (veh.marksOnGun !== 0) {
						s.s.prem.m ++;
					}
				}

				// get info for tier 10 tanks
				if (veh.tier == 10) {
					s.s.ten.r.push(_v);
					s.s.ten.bd += vehBats;
					s.s.ten.w += vehWins;
					if (veh.wn8.tot > 0) {
						s.s.ten.b += vehBats;
						s.s.ten.wn8 += (veh.wn8.tot > 0) ? veh.wn8.tot : 0;
						s.s.ten.wn9 += (veh.wn9.tot > 0) ? veh.wn9.tot : 0;
					}
					if (vehBadge !== 0) {
						s.s.ten.bg ++;
					}
					if (veh.marksOnGun !== 0) {
						s.s.ten.m ++;
					}
				}

				// get info for supertester tanks
				if (sc.superTest.indexOf(veh.tag) !== -1) {
					veh.test = true;
					s.s.super.r.push(_v);
					s.s.super.bd += vehBats;
					s.s.super.w += vehWins;
					if (veh.wn8.tot > 0) {
						s.s.super.b += vehBats;
						s.s.super.wn8 += (veh.wn8.tot > 0) ? veh.wn8.tot : 0;
						s.s.super.wn9 += (veh.wn9.tot > 0) ? veh.wn9.tot : 0;
					}
					if (vehBadge !== 0) {
						s.s.super.bg ++;
					}
					if (veh.marksOnGun !== 0) {
						s.s.super.m ++;
					}
				}

				// get info for tanks with any sort of errors
				if (veh.miss[0]) {
					s.s.miss.r.push(_v);
					s.s.miss.bd += vehBats;
					s.s.miss.w += vehWins;
					if (veh.wn8.tot > 0) {
						s.s.miss.b += vehBats;
						s.s.miss.wn8 += (veh.wn8.tot > 0) ? veh.wn8.tot : 0;
						s.s.miss.wn9 += (veh.wn9.tot > 0) ? veh.wn9.tot : 0;
					}
					if (vehBadge !== 0) {
						s.s.miss.bg ++;
					}
					if (veh.marksOnGun !== 0) {
						s.s.miss.m ++;
					}
				}

				// total ratings
				s.r.batsRan += vehRan.battles;

				// push vehicle stats into array for future - ignore spgs
				if (vehExp.wn9 && veh.type !== "SPG") {
					tankList.push({bRan: vehRan.battles, tier: veh.tier, wn9: veh.wn9});
				}
			}

			// a = average stats
			s.a = {
				bats: s.r.battles/s.r.days,
				wins: (s.r.wins/s.r.battles)*100,
				loss: (s.r.losses/s.r.battles)*100,
				draw: (s.r.draws/s.r.battles)*100,
				surv: (s.r.survived_battles/s.r.battles)*100,
				frag: s.r.frags/s.r.battles,
				deaths: s.r.deaths/s.r.battles,
				spot: s.r.spotted/s.r.battles,
				hits: (s.r.hits/s.r.shots)*100,
				dmgD: s.r.damage_dealt/s.r.battles,
				dmgR: s.r.damage_received/s.r.battles,
				caps: s.r.capture_points/s.r.battles,
				defs: s.r.dropped_capture_points/s.r.battles,
				tier: s.v.tier/s.v.battles,
				cuts: s.r.cuts/s.v.battles,
				dmgA: s.r.avg_damage_assisted,
				dmgAR: s.r.avg_damage_assisted_radio,
				dmgAT: s.r.avg_damage_assisted_track,
				dmgB: s.r.avg_damage_blocked,
				recPens: s.r.piercings_received/s.r.direct_hits_received*100,
				recNo: s.r.no_damage_direct_hits_received/s.r.direct_hits_received*100,
				recExp: s.r.explosion_hits_received/s.r.direct_hits_received*100
			};

			// calculate marks of excellence percent
			for (var _m=0, _m_len = s.m.length; _m<_m_len; _m++) {
				s.m[_m].p = s.m[_m].c/s.v.a*100;
			}

			// calculate badge percent
			s.b[5].c = s.v.a;
			for (var _b=0, _b_len = s.b.length; _b<_b_len; _b++) {
				s.b[_b].p = s.b[_b].c/s.v.a*100;
			}

			// adjust tier values accordingly and insert
			for (var _ta=0; _ta<s.t.length; _ta++) {
				var tier = s.t[_ta];
				if (tier.b > 0) {
					tier.wn8 /= tier.b;
					tier.wn9 /= tier.b;
				}
			}

			// adjust type values accordingly and insert
			for (var _ty in s.s) {
				if (s.s.hasOwnProperty(_ty)) {
					var type = s.s[_ty];
					if (type.b > 0) {
						type.wn8 /= type.b;
						type.wn9 /= type.b;
					}
				}
			}

			// adjust nation values accordingly and insert
			for (var _na in s.n) {
				if (s.n.hasOwnProperty(_na)) {
					var nation = s.n[_na];
					if (nation.b > 0) {
						nation.wn8 /= nation.b;
						nation.wn9 /= nation.b;
					}
				}
			}

			// prepare numbers for WN8 formula
			s.w.c.win = Math.max((s.a.wins/(s.w.e.win/s.v.battles)-0.71)/(1-0.71),0);
			s.w.c.dmg = Math.max((s.a.dmgD/(s.w.e.dmg/s.v.battles)-0.22)/(1-0.22),0);
			s.w.c.frag = Math.max(Math.min(s.w.c.dmg+0.2,(s.a.frag/(s.w.e.frag/s.v.battles)-0.12)/(1-0.12)),0);
			s.w.c.spot = Math.max(Math.min(s.w.c.dmg+0.1,(s.a.spot/(s.w.e.spot/s.v.battles)-0.38)/(1-0.38)),0);
			s.w.c.def = Math.max(Math.min(s.w.c.dmg+0.1,(s.a.defs/(s.w.e.def/s.v.battles)-0.10)/(1-0.10)),0);

			// calculate ratings
			// wg personal rating
			s.f.wgr = (function() {
				var rat = sc.stats.u.global_rating;
				return {rat: rat, ratCol: sf.color(rat,"wgr",0)};
			})();
			// WN9
			s.f.wn9 = (function() {
				var rat = 0, pct = 0;
				if (sc.wn.v.wn9 !== "404") {
					// cap tank weight according to tier, total battles & nerf status
					for (var _w=0, _w_len = tankList.length; _w<_w_len; _w++) {
						tankList[_w].weight = Math.min(tankList[_w].bRan, tankList[_w].tier*(40+tankList[_w].tier*s.r.batsRan/2000));
						if (tankList[_w].wn9.nerf) {tankList[_w].weight /= 2;}
						s.w.w.total += tankList[_w].weight;
					}
					// sort tanks by wn9 descending
					tankList.sort(function(a, b) {
						return b.wn9.rat - a.wn9.rat;
					});
					// add up account wn9 over top 65% of battles
					s.w.w.use = 0.65*s.w.w.total;
					for (var _uw = 0; s.w.w.used+tankList[_uw].weight <= s.w.w.use; _uw++) {
						if (tankList[_uw].bRan !== 0) {
							rat += tankList[_uw].wn9.rat*tankList[_uw].weight;
							s.w.w.used += tankList[_uw].weight;
							}
						}

					// last tank before cutoff uses remaining weight, not its battle count
					rat += tankList[_uw].wn9.rat*(s.w.w.use-s.w.w.used);
					rat /= s.w.w.use;

					// insert new WN9
					pct = (rat<=sc.col.sUni[8]) ? (rat/sc.col.sUni[8])*100 : 100;
				}
				return {rat: rat, pct: pct, ratCol: sf.color(rat,"wn9",2,"")};
			})();
			// WN8
			s.f.wn8 = (function() {
				var frag = 210*s.w.c.dmg*s.w.c.frag,
				dmg = 980*s.w.c.dmg,
				spot = 155*s.w.c.frag*s.w.c.spot,
				def = 75*s.w.c.def*s.w.c.frag,
				win = 145*Math.min(1.8,s.w.c.win),
				rat = frag+dmg+spot+def+win,
				pct = (rat<=sc.col.sUni[9]) ? (rat/sc.col.sUni[9])*100 : 100,
				scale = (rat<=sc.col.sUni[9]) ? Math.max(0,Math.min(100,rat*(rat*(rat*(rat*(rat*(-rat*0.00000000000000000004164+0.000000000000001176)-0.000000000009033)+0.000000027466)-0.00003804)+0.05819)-0.965)) : 100;
				return {frag: frag, dmg: dmg, spot: spot, def: def, win: win, rat: rat, pct: pct, scale: scale, ratCol: (isFinite(rat)) ? sf.color(rat,"wn8",2) : sc.loc[15], scaleCol: (isFinite(rat)) ? sf.color(scale,"wn8",2) : sc.loc[15]};
			})();
			// WN7 - legacy support
			s.f.wn7 = (function() {
				var frag = s.a.frag*(1240-1040/(Math.pow(Math.min(s.a.tier,6),0.164))),
				dmg = s.a.dmgD*530/(184*Math.exp(0.24*s.a.tier)+130),
				spot = s.a.spot*125*Math.min(s.a.tier,3)/3,
				def = Math.min(2.2,s.a.defs)*100,
				win = (((185/(0.17+Math.exp((s.a.wins-35)*-0.134)))-500)*0.45),
				norm = -Math.abs((((5-Math.min(s.a.tier,5))*125)/(1+Math.exp(s.a.tier-Math.pow(s.r.battles/220,3/s.a.tier))*1.5))),
				rat = frag+dmg+spot+def+win+norm,
				pct = (rat<=sc.col.sUni[10]) ? (rat/sc.col.sUni[10])*100 : 100,
				scale = (rat<=sc.col.sUni[10]) ? Math.max(0,Math.min(100,rat*(rat*(rat*(rat*(rat*(rat*0.000000000000000001225-0.000000000000007167)+0.000000000005501)+0.00000002368)-0.00003668)+0.05965)-5.297)) : 100;
				return {frag: frag, dmg: dmg, spot: spot, def: def, win: win, norm: norm, rat: rat, pct: pct, scale: scale, ratCol: sf.color(rat,"wn7",2), scaleCol: sf.color(scale,"wn7",2) };
			})();
			// efficiency - improved
			s.f.eff = (function() {
				var frag = s.a.frag*250,
					dmg = s.a.dmgD*(10/(s.a.tier+2))*(0.23+2*s.a.tier/100),
					spot = s.a.spot*150,
					cap = (Math.log(s.a.caps+1)/Math.log(1.732))*150,
					def = s.a.defs*150,
					rat = frag+dmg+spot+cap+def,
					pct = (rat<=sc.col.sUni[11]) ? (rat/sc.col.sUni[11])*100 : 100,
					scale = (rat<=sc.col.sUni[11]) ? Math.max(0,Math.min(100,rat*(rat*(rat*(rat*(rat*(rat*0.000000000000000013172 - 0.000000000000092286)+0.00000000023692)-0.00000027377)+0.00012983)+0.05935)-31.684)) : 100;
				return {frag: frag, dmg: dmg, spot: spot, cap: cap, def: def, rat: rat, pct: pct, scale: scale, ratCol: sf.color(rat,"eff",2), scaleCol: sf.color(scale,"eff",2) };
			})();

			// localized and coloured stats
			s.l = {
				winsR: sf.color(s.a.wins, "wr", 2, "%"),
				lossR: sf.color(s.a.loss, "lr", 2, "%"),
				survR: sf.color(s.a.surv, "sr", 2, "%"),
				hitsR: sf.color(s.a.hits, "hr", 2, "%"),
				drawR: sf.color(s.a.draw, "",   2, "%"),
				batsC: sf.color(s.r.battles, "bat", 0),
				dmgTier: sf.color(s.a.dmgD/s.a.tier, "dmg", 0, "", s.a.dmgD),
				veh: "<span style='color:#CD3333'>"+sf.format(s.v.battles,2)+"</span>",
				clip: sc.loc[71]+" "+wg.name+": \n"+sc.loc[72]+" "+s.r.battles+" \nWR: "+s.a.wins.toFixed(2)+" \nWN8: "+s.f.wn8.rat.toFixed(2)+" \nWN7: "+s.f.wn7.rat.toFixed(2)+" \nEff: "+s.f.eff.rat.toFixed(2)
			};
		},
		clan: function () { // clanBlock function
			wg.clan.id = cl_class.getAttribute('href').match(/\/(\d+)/)[1];
			wg.clan.name = cl_class.getElementsByTagName('span')[0].innerHTML.match(/[\w.+\-]+/)[0];
			// clan statistic links
			var clanStat_table_cells = [
				[
					[sc.loc[65]],
					[sc.srv.wl, "<a target='_blank' href='http://wotlabs.net/"+sc.srv.wl+"/clan/"+wg.clan.name+"'>WoTLabs</a>"],
					[sc.srv.nm, "<a target='_blank' href='http://noobmeter.com/clan/"+sc.srv.nm+"/"+wg.clan.name+"/"+wg.clan.id+"'>Noobmeter</a>"],
					[sc.srv.ct, "<a target='_blank' href='http://clantools.us/servers/"+sc.srv.ct+"/clans?id="+wg.clan.id+"'>Clan Tools</a>"]
				],
				[
					[""],
					[sc.srv.vb, "<a target='_blank' href='http://www.vbaddict.net/clan/worldoftanks."+sc.srv.vb+"/"+wg.clan.id+"/clan-"+wg.clan.name.toLowerCase()+"'>vBAddict</a>"],
					(wg.srv=="ru") ? [sc.srv.kttc, "<a target='_blank' href='http://kttc.ru/clan/"+wg.clan.id+"/'>KTTC</a>"] : [sc.srv.wlf, "<a target='_blank' href='http://wot-life.com/"+sc.srv.wlf+"/clan/"+wg.clan.name+"-"+wg.clan.id+"/'>WoT-Life</a>"]
				],
				[
					[sc.loc[66]],
					[sc.srv.wr, "<a target='_blank' href='http://wotreplays."+sc.srv.wr+"/clan/"+wg.clan.name+"'>WoTReplays</a>"]
				],
				[
					[sc.srv.we, sc.loc[80]],
					[sc.srv.we, "<a target='_blank' href='http://wotevent.guildity.com/clans/"+wg.clan.name+"/'>WoT Event Stats</a>"]
				]
			];
			sf.links(clanStat_table, clanStat_table_cells, "table");
			clanBlock.appendChild(clanStat_table);
		},
		cake: function () { // cakeDiagram function
			var diagTier_div = sf.elem("div", "b-diagram-block b-diagram-tiers js-diagram-block", "<h3>"+sc.loc[56]+"</h3><h4>"+sc.loc[119]+"</h4><div class='b-diagram-wrpr'><div class='b-diagram' id='holder-mechanism-tier'></div><div class='b-diagram-round js-diagram-round'><span class='b-diagram-round_title'></span><span class='b-diagram-round_value js-result'>"+s.v.a+"</span></div></div>"),
			diagTier_table = sf.elem("table", "t-dotted t-dotted__diagram js-diagram-mechanism-legend"),
			diagTierCol = ["#831818","#814F07","#763D46","#496877","#303766","#2B591F","#471952","#936C19","#9B9B9B","#514A3C"];
			diagSector_class.children[1].insertBefore(sf.elem("h4", "", sc.loc[120]), diagSector_class.children[1].firstElementChild.nextSibling);
			diagSector_class.children[2].insertBefore(sf.elem("h4", "", sc.loc[121]), diagSector_class.children[2].firstElementChild.nextSibling);
			diagSector_class.insertBefore(diagTier_div, diagSector_class.children[1].nextSibling);
			for (var _d=0, _d_len = s.t.length; _d<_d_len; ++_d) {
				if (s.t[_d].c !== 0) {
					diagTier_table.appendChild(sf.elem("tr", "t-diagram-tier", "<td class='t-dotted_diagram-first'><span class='t-dotted_diagram-bg'></span></td><td><span class='t-dotted_diagram-bg'><span class='t-dotted_diagram-info'><span class='t-diagram_rating'>"+sf.color(s.t[_d].wn8,"wn8",2,"","f")+"</span><span class='t-diagram_tiers js-results'>"+sf.format(s.t[_d].b,2)+"</span><span class='t-dotted_diagram-percent'>(<span class='js-value'>"+sf.format((s.t[_d].b/s.r.battles*100),2,2)+"%</span>)</span></span><span class='b-diagram-ico b-diagram-ico_tier b-diagram-ico_tier-"+s.t[_d].t+"'>"+sc.loc[57]+" "+s.t[_d].t+"</span></span></td><td class='t-dotted_diagram-last'><span class='t-dotted_diagram-bg'><span class='js-colors'>"+diagTierCol[_d]+"</span></span></td>"));
				}
			}
			diagTier_div.appendChild(diagTier_table);
			// insert wn8 for classes
			for (var _ty in s.s) {
				if (s.s.hasOwnProperty(_ty)) {
					if (_ty == "prem") {break;}
					var type = s.s[_ty];
					if (type.b > 0) {
						var classSpan = d.getElementsByClassName('js-'+_ty)[0];
						classSpan.firstElementChild.insertBefore(sf.elem("span", "t-diagram_rating", (type.wn8 === 0) ? sc.loc[76] : sf.color(type.wn8,"wn8",2,"","f")), classSpan.firstElementChild.firstElementChild);
					}
				}
			}
			// insert wn8 for nations
			for (var _na in s.n) {
				if (s.n.hasOwnProperty(_na)) {
					var nation = s.n[_na];
					if (nation.b > 0) {
						var natSpan = d.getElementsByClassName('js-'+_na)[0];
						if (natSpan) {
							natSpan.firstElementChild.insertBefore(sf.elem("span", "t-diagram_rating", (nation.wn8 === 0) ? sc.loc[76] : sf.color(nation.wn8,"wn8",2,"","f")), natSpan.firstElementChild.firstElementChild);
						}
					}
				}
			}
			diagSector_class.children[1].appendChild(sf.elem("div", "b-diagram-total", "<h3>"+sc.loc[58]+" "+s.v.a+"</h3>"));
			// fix for cake diagram in chrome
			if (sc.web.chrome) {
				var diagItems = [], diagValues = [], diagResults = [],
				diagRows = diagTier_table.rows,
				diagResult = $('.js-result', diagTier_div);
				for (var _dt=0, _dt_len = diagRows.length; _dt<_dt_len; ++_dt) {
					diagItems.push($(diagRows[_dt]));
					diagValues.push(parseInt(diagRows[_dt].getElementsByClassName('js-value')[0].innerHTML, 10));
					diagResults.push(diagRows[_dt].getElementsByClassName('js-results')[0].innerHTML);
				}
				new Raphael("holder-mechanism-tier", 630, 630).pieChart(65, 65.5, 53.5, diagItems, diagValues, diagTierCol, diagResults, diagTier_table, diagResult);
			}
		},
		medals: function () { // special medals function
			if (medalSpecial_class) {
				var medals = medalSpecial_class.getElementsByTagName('li'),
				medalsFull = Math.floor(medals.length/12)*12,
				medalsRest = 12-(medals.length-medalsFull),
				medalsHelper = medals[medalsFull];
				if (medals.length > 12 && medalsRest !== 12) {
					medalsHelper.style.marginLeft = (medalsRest*39.5)+"px";
				}
			}
		},
		format: function (input, type, dec) { // input and output formatting
			var inputReg = new RegExp("\\"+sc.loc[0], "g");
			switch(type) {
				case (1): // input string into number
					return parseFloat(input.replace(inputReg,"").replace(",","."));
				case (2): // output number with locale symbol
					if (isNaN(input)) {return 0;}
					dec = dec ? dec : 0;
					input = input.toFixed(dec).toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1"+sc.loc[0]);
					return (sc.loc[0] !== "," && dec !== 0) ? input.replace(/\.(\d+)*$/g,",$1") : input;
				default:
					console.error("Error filtering: ", input);
					return input;
			}
		},
		color: function (input, type, dec, sym, ext) { // color formatting
			if (isNaN(input) || input === 0) {return 0;}
			var color = sc.col.dft[0], output = input.toFixed(dec);
			if (type == "dmg") {
				output =  sf.format(ext,2,0);
			}
			else if (input >= 1000) {
				output = sf.format(input,2,dec);
			}
			if (type !== "") {
				if (s.h[type] && ext !== "f") {
					color = s.h[type];
				}
				else {
					for (var _c in sc.col) {
						if (sc.col.hasOwnProperty(_c)) {
							if (type == "lr") {
								if (input <= sc.col[_c][sc.col.id[type]]) {
									color = sc.col[_c][0]; break;
								}
							}
							else {
								if (input >= sc.col[_c][sc.col.id[type]]) {
									color = sc.col[_c][0]; break;
								}
							}
						}
					}
					if (sym !== "%") {
						s.h[type] = color;
					}
				}
			}
			else {
				color = "";
			}
			if (sc.loc[0] !== "," && dec !== 0) {
				output = output.replace(/\.(\d+)*$/g,",$1");
			}
			if (sym) {
				output += sym;
			}
			return "<span style='color:"+color+"'>"+output+"</span>";
		},
		elem: function (tag, name, html, extra) { // element creation
			var element = d.createElement(tag);
			if (name) {
				element.className = name;
			}
			if (html) {
				if (/</.test(html)) {
					element.innerHTML = html;
				}
				else {
					element.textContent = html;
				}
			}
			if (extra) {
				for (var _e in extra) {
					if (extra.hasOwnProperty(_e)) {
						element[_e] = extra[_e];
					}
				}
			}
			return element;
		},
		settings: function (name, text, state, dftState) { // script menu handler
			var setItem = sf.elem("li", "b-settingItem"),
			setDiv = sf.elem("div", "b-settingParent b-"+name, "<a>"+text+"</a>");
			switch(name) {
				case ("wnRefresh"):
					setDiv.addEventListener('click', function() {
						GM_deleteValue("wnExpValues");
						location.reload();
					}, false);
				break;
				case ("pediaRefresh"):
					setDiv.addEventListener('click', function() {
						GM_deleteValue("statScriptPedia");
						location.reload();
					}, false);
				break;
				case ("cleanStorage"):
					setDiv.addEventListener('click', function() {
						var database = GM_listValues();
						for (var _vi=0, _vi_len = database.length; _vi<_vi_len; ++_vi) {
							var item = database[_vi];
							if (item.match(/statScriptPlayer/)) {
								GM_deleteValue(item);
							}
						}
						location.reload();
					}, false);
				break;
				case ("copyClipboard"):
					setDiv.addEventListener('click', function() {
						w.prompt(sc.loc[63], d.getElementById('js-clipBoard').innerHTML);
					}, false);
				break;
				case ("debugging"):
					var optCheckDiv = sf.elem("div", "b-checkbox", "<span class='b-checkbox_checker'></span>"),
					optCheck = sf.elem("input", "l-box", "", {type:"checkbox", name: name, id: name, checked: (state !== undefined) ? state : dftState});
					setDiv = sf.elem("label", "b-combobox-label", text, {htmlFor: name});
					if (state) {
						optCheckDiv.classList.add("b-checkbox__checked");
						setDiv.classList.add("b-combobox-label__checked");
					}
					optCheck.addEventListener('click', function() {
						sf.storage('statScript_' + this.name, this.checked, "set");
						d[this.name] = this.checked;
						this.parentNode.classList.toggle('b-checkbox__checked');
						this.parentNode.parentNode.classList.toggle('b-combobox-label__checked');
						return this.checked;
					}, false);
					d[optCheck.name] = optCheck.checked;
					optCheckDiv.insertBefore(optCheck, optCheckDiv.firstChild);
					setDiv.appendChild(optCheckDiv);
					break;
				default: break;
			}
			setItem.appendChild(setDiv);
			return setItem;
		},
		links: function (parent, links, type) { // statistic links handler
			var linksFragment = d.createDocumentFragment();
			for (var _l=0, _l_len = links.length; _l<_l_len; ++_l) {
				switch(type) {
					case ("table"):
						var link = sf.elem("tr");
						for (var _lr=0, _lr_len = links[_l].length; _lr<_lr_len; ++_lr) {
							link.appendChild((links[_l][_lr][0] && links[_l][_lr][1]) ? sf.elem("td", "", links[_l][_lr][1]) : sf.elem("td", "", links[_l][_lr][0]));
						}
						linksFragment.appendChild(link);
					break;
					case ("list"):
						if (links[_l] instanceof HTMLElement) {
							linksFragment.appendChild(links[_l]);
						}
						else {
							linksFragment.appendChild((links[_l][0] && links[_l][1]) ? sf.elem("li", "", links[_l][1]) : sf.elem("li", "statname", links[_l][0]));
						}
					break;
					default: break;
				}
			}
			parent.appendChild(linksFragment);
		},
		tabs: function (elem) { // statistic tabs handler
			var tab = elem.target.parentNode;
			if (!tab.classList.contains("js-tabs__active")) {
				d.getElementsByClassName('b-statistics-wrpr')[0].getElementsByClassName('js-tabs__active')[0].classList.remove('js-tabs__active');
				tab.classList.add("js-tabs__active");
				d.getElementsByClassName('js-stat_active')[0].classList.remove("js-stat_active");
				d.getElementsByClassName(tab.getAttribute('data-ref'))[0].classList.add("js-stat_active");
			}
		},
		storage: function (name, data, type, mode) { // database handler
			var storage;
			switch(type) {
				case ("set"):
					if (mode == "string") {
						data = JSON.stringify(data);
					}
					storage = GM_setValue(name, data);
				break;
				case ("get"):
					storage = GM_getValue(name, false);
					if (mode == "parse") {
						storage = JSON.parse(storage);
					}
				break;
				default: break;
			}
			return storage;
		},
		api: { // wargaming api functions
			info: function (resp) { // processing information from player API
				sc.stats.u = resp.data[wg.id];
				ss.run++;
				if ((ss.pedia && ss.run == 3) || ss.run == 4) {
					sf.storage("statScriptPlayer_"+wg.id+"_date", sc.date.now, "set");
					sf.storage("statScriptPlayer_"+wg.id, sc.stats, "set", "string");
					location.reload();
				}
			},
			veh: function (resp) { // processing information from vehicle API
				sc.stats.v = resp.data[wg.id];
				ss.run++;
				if ((ss.pedia && ss.run == 3) || ss.run == 4) {
					sf.storage("statScriptPlayer_"+wg.id+"_date", sc.date.now, "set");
					sf.storage("statScriptPlayer_"+wg.id, sc.stats, "set", "string");
					location.reload();
				}
			},
			medals: function (resp) { // processing information from achivements API
				sc.stats.a = resp.data[wg.id];
				ss.run++;
				if ((ss.pedia && ss.run == 3) || ss.run == 4) {
					sf.storage("statScriptPlayer_"+wg.id+"_date", sc.date.now, "set");
					sf.storage("statScriptPlayer_"+wg.id, sc.stats, "set", "string");
					location.reload();
				}
			},
			pedia: function (resp) { // processing information from tankopedia API
				sf.storage("statScriptPedia_"+wg.srv, resp.data, "set", "string");
				ss.run++;
				if (ss.run == 4) {
					location.reload();
				}
			}
		},
		stat: { // stat database functions
			wn8: function (resp) { // wnefficiency.net/exp/expected_tank_values_latest.json handler
				var data = resp.data;
				for (var _wn8=0, _wn8_len = data.length; _wn8<_wn8_len; ++_wn8) {
					var veh = data[_wn8];
					if (sc.wn[veh.IDNum]) {
						sc.wn[veh.IDNum].wn8 = veh;
					}
					else {
						sc.wn[veh.IDNum] = {wn8: veh};
					}
				}
				sc.wn.v.wn8 = resp.header.version;
				wn.run++;
				if (wn.run == 2) {
					sf.stat.store();
				}
			},
			wn9: function (resp) { // jaj22.org.uk/tankdata/exp_wn9.json handler
				var data = resp.data;
				for (var _wn9=0, _wn9_len = data.length; _wn9<_wn9_len; ++_wn9) {
					var veh = data[_wn9];
					if (sc.wn[veh.id]) {
						sc.wn[veh.id].wn9 = veh;
					}
					else {
						sc.wn[veh.id] = {wn9: veh};
					}
				}
				sc.wn.v.wn9 = resp.header.version;
				sc.wn.v.wn9accmul = resp.header.wn9accmul;
				wn.run++;
				if (wn.run == 2) {
					sf.stat.store();
				}
			},
			error: function (resp, name) {
				switch (name) {
					case ("wn8Data"):
						sc.wn.v.wn8 = "404";
					break;
					case ("wn9Data"):
						sc.wn.v.wn9 = "404";
					break;
					default: break;
				}
				wn.run++;
				if (wn.run == 2) {
					sf.stat.store();
				}
			},
			store: function () {
				sc.wn.v.sc = sc.vers;
				sf.storage("wnExpValues", sc.wn, "set", "string");
				sf.storage("wnExpDate", sc.date.now, "set");
				location.reload();
			}
		},
		ch: { // clan history handler
			hnd: function (resp) {
				var history = resp.accountcard.clan_history.collection, _h_len = history.length, clansCount = 0, prevClan,
				clanHistFragment = d.createDocumentFragment();
				clanHist_div.lastElementChild.classList.add("b-display-none");
				if (_h_len > 0) {
					for (var _h=_h_len-1; _h>=0; --_h) {
						var chap = history[_h];
						clansCount ++;
						if (prevClan !== chap.clan.tag) {
							var clanHist_span = sf.elem("span", (chap.clan.tag == wg.clan.name) ? "clantag curr" : "clantag", "<a href='http://"+wg.srv+".wargaming.net/clans/"+chap.clan.id+"/' target='_blank'><img src='http://"+wg.srv+".wargaming.net/"+chap.clan.emblem+"' title='["+chap.clan.tag+"] "+chap.clan.name+((chap.role) ? "\n"+chap.role.localized : "")+"'/></a>");
							clanHistFragment.appendChild(clanHist_span);
							prevClan = chap.clan.tag;
						}
					}
					clanHist_div.appendChild(clanHistFragment);
				}
				else {
					clanHist_div.appendChild(sf.elem("span", "clantag", sc.loc[75]));
				}
			},
			error: function (resp) {
				clanHist_div.lastElementChild.textContent = sc.loc[76]+" "+resp.status;
			}
		},
		request: function (name, api, handler, error) { // request handler
			GM_xmlhttpRequest({
				method: "GET",
				url: api,
				headers: {
					"Accept": "application/json"
				},
				onload: function(resp) {
					if (resp.status == 200) {
						var data = JSON.parse(resp.responseText);
						if (sc.debug) {console.info(name, data);}
						handler(data);
					}
					else {
						console.error("Error:", name, api, resp);
						if (error) {error(resp, name);}
					}
				},
				onerror: function(resp) {
					console.error("Error:", name, api, resp);
					if (error) {error(resp, name);}
				}
			});
		}
	};

	// load stored debug status - defaults to false
	sc.debug = sf.storage("statScript_debugging", "", "get", "parse") || false;

	// region settings for external sites
	switch(wg.srv) {
		case ("eu"): // eu server
			sc.srv.wl = sc.srv.nm = sc.srv.vb = sc.srv.ws = sc.srv.cs = sc.srv.wlf = sc.srv.ct = sc.srv.kttc = sc.srv.aos = sc.srv.ch = sc.srv.wr = sc.srv.we = wg.srv;
		break;
		case ("ru"): // ru server
			sc.srv.wl = sc.srv.nm = sc.srv.vb = sc.srv.ws = sc.srv.cs = sc.srv.ct = sc.srv.kttc = sc.srv.wots = sc.srv.aos = sc.srv.ch = sc.srv.wr = wg.srv;
		break;
		case ("na"): // na server - american english
			sc.srv.wl = sc.srv.nm = sc.srv.vb = sc.srv.ws = sc.srv.cs = sc.srv.wlf = sc.srv.ct = sc.srv.kttc = sc.srv.aos = sc.srv.ch = sc.srv.vb = wg.srv; sc.srv.wr = "com";
			sc.loc[24].en = "Defence";
			sc.loc[54].en = "Base Defence Points:";
			sc.loc[107].en = "Stronghold Defence";
		break;
		case ("asia"): // asia server
			sc.srv.wl = sc.srv.nm = sc.srv.vb = sc.srv.ws = sc.srv.cs = "sea"; sc.srv.ct = sc.srv.kttc = sc.srv.aos = sc.srv.ch = sc.srv.vb = wg.srv; sc.srv.wr = "com";
		break;
		case ("kr"): // korean server
			sc.srv.wl = sc.srv.nm = sc.srv.vb = sc.srv.ws = sc.srv.cs = sc.srv.ct = sc.srv.aos = sc.srv.ch = sc.srv.vb = wg.srv; sc.srv.wr = "com";
		break;
		default: break;
	}
	// make sure correct localization is displayed, and reload page with user language if not
	if (sc.locSet.cur[0] == sc.locSet.cur[1]) {
		sc.locSet.cur = sc.locSet.cur[0];
	}
	else {
		sc.locSet.cur = sc.locSet.cur[0];
		w.location.href = "http://"+wg.host+"/"+sc.locSet.cur+"/community/accounts/"+wg.id+"-"+wg.name+"/";
	}

	// set script language to english if an unsupported language is detected
	if (sc.locSet.sup.indexOf(sc.locSet.cur) == -1) {
		sc.locSet.cur = "en";
	}
	// process localization
	for (var _l=0, l_len = sc.loc.length; _l<l_len; _l++) {
		var langLoc = sc.loc[_l][sc.locSet.cur];
		if (sc.locSet.cur !== "en" && langLoc == sc.loc[_l].en && !sc.loc[_l].f) {
			sc.locSet.miss ++;
			console.info("Missing translation at line "+(_l+668)+" - en:\""+sc.loc[_l].en+"\"", sc.locSet.cur+":\""+sc.loc[_l][sc.locSet.cur]+"\"");
		}
		sc.loc[_l] = langLoc;
	}


	// add language to body classname for language based styling
	d.body.classList.add("lang-"+sc.locSet.cur);

	// add animated loading icon for progress indication
	var loadGif = sf.elem("div", "processing", "<i class='old-waiting'></i>");

	// fetch wnefficiency values - check if array exists in database, otherwise fetch and reload page
	var wn = {
		data: sf.storage("wnExpValues", "", "get", "parse"),
		date: sf.storage("wnExpDate", "", "get", "parse")+12096e5 >= sc.date.now, // true if timestamp is less than 2 weeks old, refresh list if false.
		run: 0
	};
	var versCheck = wn.data && wn.data.v.sc == sc.vers;
	if (!versCheck || !wn.data || !wn.date) {
		d.body.appendChild(loadGif);
		sf.request("wn8Data", sc.api.wn8, sf.stat.wn8, sf.stat.error);
		sf.request("wn9Data", sc.api.wn9, sf.stat.wn9, sf.stat.error);
	}
	else {
		sc.wn = wn.data;
	}
	// fetch stored clanlist stats - check if array exists in database, otherwise tag fetching to true
	var ss = {
		val: sf.storage("statScriptPlayer_"+wg.id, "", "get", "parse"),
		pedia: sf.storage("statScriptPedia_"+wg.srv, "", "get", "parse"),
		date: sf.storage("statScriptPlayer_"+wg.id+"_date", "", "get", "parse"), // true if timestamp is less than 1 weeks old, refresh list if false.
		run: 0
	}, userStats;
	if (ss.val && ss.date+6048e5 >= sc.date.now && ss.pedia && ss.val.a) {
		sc.stats = ss.val;
		sc.pedia = ss.pedia;
		userStats = sc.stats.u.statistics;
		sf.statCalc();
	}
	else {
		sc.api.i = "http://api.worldoftanks."+((wg.srv == "na") ? "com" : wg.srv)+"/wot/account/info/?application_id="+sc.api.wg_key+"&account_id="+wg.id+"&extra=statistics.fallout,statistics.globalmap_absolute,statistics.globalmap_champion,statistics.globalmap_middle";
		sc.api.v = "http://api.worldoftanks."+((wg.srv == "na") ? "com" : wg.srv)+"/wot/tanks/stats/?application_id="+sc.api.wg_key+"&account_id="+wg.id+"&extra=random";
		sc.api.a = "http://api.worldoftanks."+((wg.srv == "na") ? "com" : wg.srv)+"/wot/tanks/achievements/?application_id="+sc.api.wg_key+"&account_id="+wg.id;
		sc.api.e = "https://api.worldoftanks."+((wg.srv == "na") ? "com" : wg.srv)+"/wot/encyclopedia/vehicles/?application_id="+sc.api.wg_key;
		d.body.appendChild(loadGif);
		sf.request("infoData", sc.api.i, sf.api.info);
		sf.request("vehData", sc.api.v, sf.api.veh);
		sf.request("medalData", sc.api.a, sf.api.medals);
		if (!!sc.pedia) {
			sf.request("pediaData", sc.api.e, sf.api.pedia);
		}
	}
	if (sc.debug) {
		console.info(GM_listValues());
		console.info(s);
		console.info(sc);
	}

	// inserting style into head
	var style = sf.elem("style", "wotstatscript", "", {type:"text/css"}),
	styleText = [
		// processing loader rules
		".processing {width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 500; background: url(http://eu.wargaming.net/clans/static/2.2.9/images/processing/processing_overlay-pattern.png);}",
		".processing_loader {width: 56px; height: 54px; position: absolute; top: 50%; left: 50%; margin-top: -27px; margin-left: -28px;}",
		".processing .old-waiting {position: absolute; top: 50%; left: 50%; margin: -68px 0 0 -68px;}",
		// settings menu rules
		"#common_menu .menu-settings {color: #7C7E80; display: inline-block;}",
		"#common_menu .menu-settings .cm-user-menu-link {margin: 0 10px 0 0;}",
		"#common_menu .menu-settings .cm-user-menu-link_cutted-text {max-width: unset;}",
		"#common_menu .menu-settings .cm-user-menu {min-width: 200px; padding: 15px;}",
		"#common_menu .menu-settings .cm-parent-link:hover {cursor: pointer;}",
		"#common_menu .menu-settings .b-settingItem {margin: 6px 0px; text-align: center;}",
		"#common_menu .menu-settings label {display: table; line-height: normal; cursor: pointer; margin: 0 auto;}",
		"#common_menu .menu-settings .l-box {display: none;}",
		"#common_menu .menu-settings .b-checkbox {background: url(http://eu.wargaming.net/clans/static/tags/1.2.4/clansassets/images/v2/b-checkbox/b-checkbox-sprite.png) -4px -4px no-repeat; height: 16px; width: 16px; float: left; margin: 1px 5px 0 0;}",
		"#common_menu .menu-settings .b-checkbox span {height: 16px; width: 16px;}",
		"#common_menu .menu-settings .b-checkbox > div {display: none;}",
		"#common_menu .menu-settings .b-checkbox.b-checkbox__checked {background-position: -28px -4px;}",
		"#common_menu .menu-settings .b-checkbox.b-checkbox__checked .b-checkbox_checker {background: url(http://eu.wargaming.net/clans/static/tags/1.2.4/clansassets/images/v2/b-checkbox/b-checkbox-sprite.png) -76px -4px no-repeat;}",
		"#common_menu .menu-settings .b-combobox-label__checked {color: #DCDCDC;}",
		"#common_menu .menu-settings .b-settingItem .b-combobox-label:hover {color: #DCDCDC;}",
		"#common_menu .menu-settings .b-settingItem .b-combobox-label:hover .b-checkbox {box-shadow: 0px 0px 10px 1px rgba(191, 166, 35, 0.15), 0px 0px 3px 1px rgba(191, 166, 35, 0.25);}",
		"#common_menu .menu-settings textarea.l-textarea {background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 2px; color: #FFFFFF; line-height: normal; padding: 5px; min-height: 50px; margin: 5px 0 5px 0; min-width: 175px;}",
		"#common_menu .menu-settings textarea::-webkit-input-placeholder {color: #FFFFFF;}",
		"#common_menu .menu-settings textarea::-moz-placeholder {color: #FFFFFF;}",
		"#common_menu .menu-settings .b-settingParent {line-height: 26px;}",
		"#common_menu .menu-settings .b-settingParent a {cursor: pointer; color: #B1B2B3; text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5);}",
		"#common_menu .menu-settings .b-settingParent a:hover {color: #FFFFFF; text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.75); text-decoration: underline;}",
		"#common_menu .menu-settings .settingCredits {margin: 2px 0px;}",
		"#common_menu .menu-settings .settingCredits h1 {color: #B1B2B3;}",
		"#common_menu .menu-settings .settingCredits table {font-size: 12px; margin: 0 auto; width: unset;}",
		"#common_menu .menu-settings .settingCredits table td {padding: 0 5px;}",
		"#common_menu .menu-settings .settingCredits p {font-size: 12px; padding: 2px 0;}",
		"#common_menu .menu-settings .settingCredits .b-orange-arrow {color: #F25322; line-height: 14px; padding-right: 9px;}",
		"#common_menu .menu-settings .settingCredits .b-orange-arrow:hover {color: #FF7432;}",
		"#common_menu .menu-settings .settingCredits.settingSeperator {border-top: 1px dashed #212123; margin-top: 6px; padding-top: 12px;}",
		"#common_menu .menu-settings .settingCredits.settingLinks {margin: 5px 0;}",
		"#common_menu .menu-settings .settingCredits.settingLinks a {margin: 0 5px;}"
	];
	d.head.appendChild(style);

	// script link, settings, credits and localization indicators
	var userSet_div = sf.elem("div", "menu-settings menu-top_item", "<a class='cm-user-menu-link' href='#' onClick='return false;'><span class='cm-user-menu-link_cutted-text'>"+sc.loc[79]+"</span><span class='cm-arrow'></span></a>"),
	userSet_list = sf.elem("ul", "cm-user-menu"),
	userSet_list_locItem = sf.elem("li", "b-settingItem settingCredits settingSeperator"),
	userSet_list_items = [
		sf.settings("wnRefresh", sc.loc[78]+" [v"+wn.data.v.wn8+"][v"+wn.data.v.wn9+"]"),
		sf.settings("pediaRefresh", sc.loc[134]),
		sf.settings("cleanStorage", sc.loc[144]),
		sf.settings("copyClipboard", sc.loc[62]),
		sf.settings("debugging", sc.loc[147], sc.debug, false),
		sf.elem("li", "b-settingItem settingCredits settingSeperator", "<p>"+sc.loc[136]+" "+sc.vers+"</p>"),
		sf.elem("li", "b-settingItem settingCredits", "<p>"+sc.loc[117]+" <a class='b-orange-arrow' href='"+sc.user.wot+"'>Orrie</a></p>"+((sc.cred[sc.locSet.cur]) ? "<p>"+sc.loc[118]+" ("+sc.locSet.cur.toUpperCase()+"):</p><table>"+sc.cred[sc.locSet.cur]+"</table>" : "")),
		sf.elem("li", "b-settingItem settingCredits settingLinks", "<p><a class='b-orange-arrow' href='"+sc.host+"'>Greasy Fork</a><a class='b-orange-arrow' href='"+((wg.srv == "na") ? sc.top.na : sc.top.eu)+"'>"+sc.loc[137]+"</a></p>")
	],
	navMenu = d.getElementById('common_menu'),
	navUser = navMenu.getElementsByClassName('cm-menu__user')[0],
	navLook = new MutationObserver(function() {
		var userMenu = d.getElementsByClassName('menu-settings')[0];
		navUser = navMenu.getElementsByClassName('cm-menu__user')[0];
		if (!userMenu) {
			navUser.appendChild(userSet_div);
		}
	});
	if (sc.locSet.sup.indexOf(sc.locSet.cur) == -1) {
		userSet_list_locItem.innerHTML = "<h1>"+sc.loc[138]+"</h1><p>"+sc.loc[139]+"</p><p>"+sc.loc[140]+" <a class='b-orange-arrow' href='"+sc.user.wl+"'>Orrie</a></p>";
		userSet_list_items.push(userSet_list_locItem);
	}
	else if (sc.locSet.miss > 0) {
		userSet_list_locItem.innerHTML = "<h1>"+sc.loc[138]+"</h1><p>"+sc.loc[141]+" "+sc.locSet.miss+"</p><p>"+sc.loc[142]+" <a class='b-orange-arrow' href='"+sc.user.wl+"'>Orrie</a></p>";
		userSet_list_items.push(userSet_list_locItem);
	}
	sf.links(userSet_list, userSet_list_items, "list");
	userSet_div.firstElementChild.addEventListener('click', function() {
		this.classList.toggle('cm-user-menu-link__opened');
		this.nextSibling.classList.toggle('cm-user-menu__opened');
	}, false);
	userSet_div.appendChild(userSet_list);
	if (navUser) {
		navUser.appendChild(userSet_div);
	}
	navLook.observe(navMenu, {childList: true});

	// check if player has 0 battles before continuing
	var tableBattles = sf.format(d.getElementsByClassName('t-personal-data_value')[2].innerHTML,1),
	profileName_class = d.getElementsByClassName('b-profile-name')[0];
	if (tableBattles > 0 && Object.keys(sc.stats).length !== 0) {
		// variables for css and data uri
		var css = {
			box: "box-shadow: 0 0 38px 1px rgba(0, 0, 0, 0.3) inset, 0 0 23px 1px rgba(255, 255, 255, 0.02), 0 0 5px 1px rgba(0, 0, 0, 0.5) inset;",
			input: "background: rgba(0, 0, 0, 0.09); box-shadow: 0 0 1px 1px rgba(255, 255, 255, 0.15) inset, 0 0 38px 1px rgba(0, 0, 0, 0.3) inset, 0 0 23px 1px rgba(255, 255, 255, 0.02), 0 0 5px 1px rgba(0, 0, 0, 0.5) inset; color: #606061;",
			l: [
				"/static/wot/common/css/scss/context-menu/img/arrow.png",
				"/static/wot/common/css/scss/content/links/img/orange_arrow.png",
				"/static/wot/common/css/scss/content/user/img/speedometr-separator.png",
				"/static/wot/common/css/scss/content/links/img/ico-info.png",
				"/static/wot/common/css/scss/content/links/img/vertical-arrow.png",
				"/static/wot/common/img/common/cont-img-mask.png",
				"/static/wot/common/img/classes/class-ace.png",
				"/static/wot/common/img/classes/class-1.png",
				"/static/wot/common/img/classes/class-2.png",
				"/static/wot/common/img/classes/class-3.png"
			],
			u: {
				menu: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPQAAAABCAIAAABmEhQDAAAAHklEQVQoU2MAAj4BAR5ePi6eUTSKhgni4eFjYGAAAN9YIhjam+zlAAAAAElFTkSuQmCC",
				icon1:"data:image/png;base64,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",
				icon2:"data:image/png;base64,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",
				nmLogo:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgUlEQVQ4y92SPWsUYRSFn/POzE4MgkhMKyKICAEjiUksgoWClY0WYifKDlj4VyxsDGvlgmhtLUiIkoSNiLEWCwN+dmvAnZl3jkV2lxArSz3d/eDe53Iu/NOabb8J6cHkfLGZbXUWq1E8c2c7kxpPhF8unfPu0bk4qqWqz+jggAtFL6uor9hhLqjZnkwHq7ip+/WRJlF50tYs0oLwF5vdPwhKKCHDguiEfpUBkKh6aMIT8MutzmJ3TDFGb/duA7L91HBTgAEYQlqHgeOH9PPt/oUCWCpezVTk7z1sFpwG7gMt4C64a7QCdGUTVF9LQ/l6feXiN80Xmw8aJ/cQxm6AIKkAXgAfgWnbZyVNgp8bjdAIqi8HW1MMeSUs2MG+ZfsTeMdwQrBs+AAgPAQ1gl0BnC82njVOboxPkGujVHhglMuORonYywfid8nXe52ltbGNC8X6JaNTQapjrGNjchH7VutYnvhHJJ3Cg8+mdXSCr4/XOlcH+7xf1d984Fx7I/D/6Dd9b6wCx93gcQAAAABJRU5ErkJggg==",
				vbLogo: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAACrUExURUxpcahYHvXmtciUVrbSzejKpNzr8f///47A3adRHu3n29zd3cOUct3t9cDj9BFeuTJUoe7EitufUiuGzOrTn5HT+NHdy7Pp+f/0x83m9Pz96n240Pry4DWg2WKn1Nfp9K7f8CthnNurZvz27OrTsP/////+/P757fv+/vL8/+L6/+fy+Pv49f/z2uPSvrDf+Prrysfj4OPDlrqRrsDDrXen15PH3sC918vq/6QbRKQAAAAldFJOUwBxqjlV41VVVTnGqsbxuDmqqqqqOaqOqnGOjqrjqsbGORxxxhxX8ZyaAAAAjElEQVQY043N1xaCMAyA4aKAbPceuNq0FHCP938yU6pU7/yvmu+cNIR8tfGa5KckbuiH18Lcqcx3Ww0HiuUcor2e25kC6tQfdCpg3ffYF7Tu6CMMzUxZD2HMDXB1dmmAnQcI62dhJRC5wvEzmCDMJYQxC1KxCEVRnbnJzwYElgJ7VT6up0t5n41s8kcvaosSk0veKFwAAAAASUVORK5CYII=",
				rat:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA3kAAAAYCAMAAABwbsSFAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAEXUExURZs5OVmBuzJTgjhbjkVvrMdlZWeMwoYqKjpuhD1jm7FBQcFUVJI0NFRvN2aBS3SMW0tjMT5TKERcLGc/kHRIoJFquFY1eYVbsHkgIF87haFLS28dHWUaGrCiGp9oFp6RGMa5Q2p5LcCyMYV6EpKGFcaRQ7B1HMCGMZJgFYVXEm6lvkF8lkuLp16ctpamXHyNNo2dSl1qJsu5aKKCwhMmQi1DFk0TEx0rDkILCy0XRTcFBU1GAEQpACU0ECVZbxg6SCNGeRciDCA/bhs1XH0eHhcuT3IbG2AYGDgcVUolb0MiZSUTOFIHBy4EBFoICExbFX1yAXJmAD85AF9WADI6DX1LAHJEAFIxAF85ABQvOx5HWT1IEaQoKMAyv+0AAAA0dFJOU+bn5ubn5+fm5+jn5+bn5+bm5ubn5ubm5ufm5+bm6enn5+fn5ubn5+fm5ufo5+fo5+fm7e2U9GplAAADyElEQVR42t3b7VLaQBiG4WABXRD8iFarTQAVaBOINhbUWiEipUKtCSr0g5z/cbSdyfAPZgl58u52J9ch5M89z6s8PDw+gnT9Xrfb4+Xro/F4FJKuDYeeFxHNc2HPcxtUzzVbVM9kTqfjiICpg35/IIBb5dOn799BHrrNy8smr+74c/g3Hl5fPz1FZOi+3Ny8YLiNi9vbCxKNVrv96xeJVuejIK/Tv/r27UoA//68y0uQnt/8+rXJy9d//vjxMyRdu75+fo6I5r5MJi8Y3uTi5uaChGu2279/k1hjd1++3ImA9a/u768EcKsoysEBSCqV/fvxStnlarUckm0fHRWLEbGtM8s6w7Ct/MZGnoRl1OsGDcNIJxJpERjne7u7ewIYKIeHb9+C7GfWV1fXeWX09+/evQ9JL5ycHB9HpHBa+vChhFHKbW9tbZPYNNeoXo2tvHq1IgK28+b16zcCuFf291dXQQ6ySiaj8MqWK7peCalcLBQ0LSLFs9LpaQnDym/mcpskNgzTrNVI1NNJxpIiSO+pOzuqAO4VYNuktFhX5ebr4fvrHLrmRdhmpzRX+nJqMuoeylT52ialxboqt94yAXb2Gw2fImyzU14jvnbaaEG6aMuhrqHOQL62SWmxrsrN18P31zlG2nOEbXbKm8TXTidrkC5qOtQ91FHla5uUFuuq/Ozw/XWOsl2MsM1O2VZ87dQyMF3UoO6hxrl8bZPSYl2Vm6KH769zVArHEbbZKS0XXzvN1SBV1ExS99CkKl/bpLRYV+WWKofvr3NUi1qEbXbqKB9fO83XIV3USFD30MQuqG32IA1QLr4O6JV0u1PhO+iMOsqod51MjXO32YQ0QLl0R5+JX6S7U+E76IxdKfm40+nHudtsQhqgXPwRoFfS7U6F76AzdqWMetfp9OPcbWYxDVAqqTKgV9LtToXvoLN2pdS7TuM8zt3mOqQByiVTAfRKut2p8B10xq6UUe86kztx7jYVSAOUS7YK6JV0u1PhO+iMXWmaeteZ2Pu/dptdH94nl7pn56Nr8L6IvIWP7yQ+htN3k6E7J1OlvkkPPPTgfbI7htfHkQfvi8hb+IDbgDfKRgt+444fc3YGUt+kB3o+vE8udc/OZ+TB+yLyFj7gufBGOTHhN+5rDrpzMlXqm/RADH1yqXt2PmUb3heRt/AB24I3Sgt/424Y6M5pnEt9kx7Yx/fTpe7Z+VQ0eF9E3sIHSpvwRpnDn77XkujOyVSpb9IDByl4n1zqnp1P9QjeF5G38AFrA94o8wb8xr2eQHfO9C68bf4BJj9mhs1FXSUAAAAASUVORK5CYII=",
				ratMark:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAANCAQAAADLNWwDAAAAV0lEQVQI12NgEGQQZhBhEALSQEqMQQIIgUxxBqmvRyBMKQa5H3cZpIGyDHIMir/fAkkxBgZFa/0/nxgUgQoZVNLsgExloGpkUSS1SCYgmQuxTQwkCncDAH0wFzVj5p2XAAAAAElFTkSuQmCC",
				tiers:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAACVCAMAAABipVoFAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAACQUExURQAAACYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJkxLSCYmJrWxpCYmJiYmJktKRyYmJuLg0V5dWCYmJlpZVpeVi/n36bu5rnFwa0ZFQnp4cb67rcrHuP//+ufk1ioqKcG+r//+8IiHf6CelPDt3/z46tfUxtrXy6Cel7Kwp8/MwY6MhcrHu////9fUxAMhjVoAAAAudFJOUwB9DD9GW2wWcXaEqR/pUDedZ/GnKpjL98ugkbHv9vv9jvz8vs3w7/DapcTRo9ombTjKAAACgUlEQVRIx73W2bKiMBAGYAIheyAsAgLuop6l9P3fbiIqpHGqZs4FJ+XVXwjNR5PG83604iSeRskpmUbkRKYR69hblL5H5/do9RaR9u30iU7+o9R5V0AwJgGstGSshMWyE+cneEu8Q6jjMEqFSCfRWYjzJFohtIIRazlv4emJZkyTf5U6Ow2Dl7Q0vORAx9KgEwI6lkZ0Auj0NFCnp4E6lkasBNCxNKhFQMfScM2Bzl9KndmGRShUNGLYHyot6+syyNH6Y2hhfkKXzwQv95yONuKQClJVkWtjNnKbNoFrg3SRpUI5rxQKm7Y4hq4NCra7NotdG54nhXbbKyZYxSHDv/hSYRZRGnHnkvHHGuXx8lqPEeX7JQ4/L84N0aiqCEq/ncdIgybdmk2dO5ESaVZURDlXVOGx0A2mnvvPrN0J5Uae4roIFaiVYhbm4CDP9yn1/Xlo/LuNClGIImATLK/L6wLYJJ+XbL0ANiI9mP1i7EJrIzdSlmPU22ghN2Zik5hbDW22kVk50d0mCepdDW1iFfEI2tyXPyONCF86Ds3iqTPSZC+dF43cS/nUoQON/Rmnbe40ctB50siblDczoTGjzoPG7IwZdB40tljnQc64XJsnD7TpeYDNgwfYyL55gM2DB9g8eVybJ89oI1fywUMdmxfPaCN+iaefAPcd2W46w5tLSm5t8GL9nfvDsEJJdeFfX+HQwKxD2HRVWcdjlArMDmVB8iGyGzJGx82RjdF9Q5a37JbhMbKTSh/YQSdDZDfkRm9jpJvYd4dVpOy0mmuTeW+fiEMbz8unNnaFDxvwQVb3Nm6UJ70NiEhvA2aA6W3g915v45690TWwsaVaHvWzSf4Hg8Q8dbSrlJgAAAAASUVORK5CYII=",
				bad1:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAfCAYAAABtYXSPAAAFVklEQVR42q2Xf0idVRjHu/f95dxVBGvNJlM2lI2hbW5sqMo23SDa2JaOtWBDCuZG2QBawZis0WA4pgtMREUQFXWJiASIGgkgEBWRKSD9GYAVEDQE+qtOzweey7nck12vdODLc5/3fL/f87znx/ve94X/aDEbFc61TXSZtFk2X6PnmGUe2OVYeNZ/aw1BXAWxtN+a66A2p7nXrcYnT/vtZVEQIi3MigONtjAH2qd810N9MzcV2DsIFTmCHfbOMxVjeejQWy+dZS0y86xYUSR48fr169MHDhx4czvFoEOPD372JjefHTu1wM5GflFR0fujo6MmNzf3s97e3pJsioGPDj0++OFriwGW7yyRVp8rSOzZs+fVs2fPfj03N2ck/3xoaKgCYllZWRzs3r3bKy4u9goLCz0iebIPHnx06PHBD1/1j9KWyikkTBYjrbKlpeXvwcHBv2SaKeaLvr6+GsjHjh3zgCyBf/ToUW/fvn0ekTzZBw8+OvT44IdvSjFhWkHO7mcaXwqC4PbMzIwB7e3tJhaLfTkwMNCAoLa2NgCHDx8OGxoa/EOHDvlE8mQfPPjo0Ce98MWfcdzTaWfG152/My8vr6ygoGBgcnLSLCwsmJ6eHmbmK7nT1yCfPHkyBMePH4/Onz8fVFVVBUTyZB88+OjQ44Mfvvgzjo7npy9VLOX0FAr56b1798yjR49Md3e32b9/P8V809nZeQ7y6dOnI1BdXZ3T1NQUnjhxIiSSJ/vgwUeHHh/88MWfcVJOVyy9mEArLZOpfXb37l0zPz9vLl++jAnF/NDV1XUBcmNj4w4gy5F79erVqKamJiKSJ/vgwUeHHh/88MWfcXS84N+KCXVjlQs+qqurMxsbG+bx48dmZGTEYPrkyZNzkM+cOZML6uvrd167di2SGBHJk33w4KNDjw9++OKv48ALbTH2h6+b6uXy8vKnJSUl64uLi6ajo8PIHWPwvRhegCjHdCeQvZGQE5IjMYdInuyDBx8denzwwxd/xtHxfLjpBYXaWSzPiZ/Gx8eN7APDesseYGqXHzx48Ho2xcBHhx4f/PDFn3EYz86M+xqIdPr6Ll26ZNbX141sTjMxMcHMLN+5c6cxm2Lgo0OPD3744q/jRDqu+yrQzhLB22EY/jI2NmbkRJiHDx9isNLW1nb71q1b9YgyNXjw0aHHBz988WccW4zWkLZnIj3/lYL2vXv3/lpRUWHkYUYx38rR7bAFZS4EPjr0+OCHL/46TpS6Z9y3tW7ieDzecvHixefDw8OmsrKSdf5NrrccOXLkQ7cgtxB48NGhxwc/fO3m3fztHRcEinxBred5azdv3jT9/f3m/v37Zmpq6k+5/okYvmULcguhHx58dOjxwQ9f9Q8U8c2KoQVacYXgAzF+Lu8ec/DgQXPjxg3D2u/atWtF+tgPzRSwtLT0jEjOdfrhwUeHHh/88FX/IG1ct6CUv4V5gmrBx3I81xKJxB9RFJn8/HyeFYbNeOXKlRUt4A0iOdfphwcfHXp88MNX/f3NC3H/XEeCAkGd4B3Bp3Jkf29tbTWnTp0y8pQ109PTZnZ21jQ3N68RyblOPzz46NDjo36R8yd+i18Iob7uSwVN8oL7ubS01MgpMcQgCAyPd15+RPLUfvjo0KtPmM2XQSwl+kAN8vTF9q6s/XeCVd/3V2Xw1TAMlwU/Esm5Tj88+OhUH1rPrD7o7LeNxkCPY5XeaavgPUUby0AkB/TDg49O9dYP/6yb+9GVELwiKNJYIigmJ5Kn9Secj8JtNfcLEgR26Yhbyl2fbTcr9pzjb3N7Et1j61mf/6k539FuEXGnL8si/gEY8SzOXUsBvQAAAABJRU5ErkJggg==",
				bad2:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAfCAQAAADHaLwEAAAErklEQVQYGQXAD4yWdR0A8M/39zzv8R4cB4fADmUorjRUmULKNDetVMtcTWdYbra0aJZrjmVZrY1yW26LcmuMZCZrJUbaLEfGRjUczjnHTUXaIADjPzAABLw74O55vg4ACIQQAiEAABAAAAAANSohBIAQAIoCKCAUgAKg0qq1QoVQBAgUFC231mpFqwgpAAqARqCgVdQCIVC0CBW3UVCrhAoFCEARWpWCIpyTAgFaVGgVtdBKKYwJoaUAWnQQ+h968VNfBgAApPa6iz//mn5FkToKgoIQKlCbMOvrd96775aVc7inHtr92+a55vlmRf4uNxy+oY+Vc07fuOhzd680RVFLrZDUSAW1Srlk7lUPzjAys7efPxy9ZeCP0rhhPZbM+MuRBTN6+5vLue32zfOOveeCGuOIgiJUMPHy29994MY19B6btePUwoFXdc1wjX4D1rqn++bho7P39f3H3CkPvj64WEcIIShCIoVJY7fdG9PLpaL3s6tvmHq/p/zckJPW+4Ufme/OvgWr9V3veHlEfZepoJKylopQK5OnVtdcMNWgLAe6w/6kccI9jjvrFdN0nPPuRD2TdHVcmD0w+9QZjUaIgkSr67uPLdllu2foG467DHlUOGXEB3q87IsuMTlMfMGQNzy6aOA3eoVQyQJCMe2ji1sLbfItej5w0gW11Dprkta4fpUPQ/chZ7SutH9Av0qtFQWEEPnOG252g9k4oeO0Lnaba4LWMWmm0VR6LPAVmzVb9SlaKYuQWq3TVwzuP7xZWkXbNe6499CrOKG1117TzQ2xzg7HbBydc9wZqQhRpFDQyS89PWuF5/SI6ixG3GyK804aMMsFl5niQirTrbfU97tXLBZohCxIjTRx58aXrDDdd6S+5oQXHbDEJHuEJ822xVsuauV95nrS8diwTZ8WjSxCgPPe/ueRjb5qF+XA818b2+igtThqj997xZD7muVb1f9zla5fj3nZKakIKiFVinPONWeGrt7et92RfX17tu5/ev4yZ1xmkU3escvjtu38wq5/j47O3+m1kcNrm/X2GTMmKRIpNY6W/df3PqH1yUvf2la2/PKlpec7xpzWY6Inxg7um/bmj/81eOWwb7uzro/Y7ZxGKNQgpcZou+sfhwb7H3Nw5vxn7/9VvDpt+IGHX7fQVo84dOTvK0fHf7rsE7P3KFaPj7ytQUoJUNDR41o/KKevznm5JJfnzPc93rPqm9nJZdlZa2nPxp/kUzkvP511Y5Wb9KoVRQGgqFUmu8my2Nb34YTsz0tzTS5+3/Jn01+v2/S3/ExOyQk5eaTssdLdpuvqCAQBQmgVHb2ucYVr7/jG3Gk71L6n62eHll48aI0tFhoe+/MLthmy3UljQoskAFBJtSkmWTD5mYvmzHLYQYvc6r826JrnmBOjJ39ovVNGjUutFJIAhBQqFBMMuqM8rFuEaERoa23ThmaddXb4SCuFRkgIANRaIVWmucRlpusgjOhRS+mE/9tr2HnjQiskEACAUGmFXv1S6Gg0KjQ6RjTOSq1UpAQIABAIiVoqWiEVoVU0WiGMCyQABACAkCqNokiNIgVSoBUILQBQAQAAAAgpERIhkQAAHwPlu9kMCvbXiAAAAABJRU5ErkJggg==",
				miss: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAcCAMAAAAz6Z0tAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA5UExURUxpcdkCCP8KJP8MJtIAAdkEC88AANAAAP8LJusHGM8AAM8AAM8AAM8AAP8OKf8OKdAAAP8MJ88AAK2kIk4AAAATdFJOUwBH1rffDcv+/if1nzhijVC68IB97NktAAAAjElEQVQoz+3RSxIDIQgEUBkQ8K9z/8OOJi4l2afS5c6nXahzvx3fKmJt3hYBh84MDKa4dNTW6qWXYTzqey+g9HNXG2OfDxThSKpW2OaWdCSozQEJTwPSj6TLvD2/jEWS3G4bq6hEWnOsLorlPHSXtI2w8cCrowAUEsrW82aOEufi/OEbS2JOxbt/vucBz3AEu+Dj2y4AAAAASUVORK5CYII=",
				sparks: "data:image/png;base64,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",
				blueMsg: "data:image/png;base64,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",
				wgLogo: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAG2UExURXiw+HLC5Yji84DB0woUGILK3g0VGEZcdR44SA8bHozU8Ds9QCg1NSI3O4PJ70VcYYqvu6vBxw0bJA8WFxMjJxQWFhMZJQ4YHBEWGBoaGCAhHxIaHRwdG0NFRikvLyQuL2aXsJDU9np6fKW0u9na3+jm57rCxhcZFQ8VFyMjITAxMRcZFycoJzM0MxoaGQ8VF0pMTi0vLT5CQDA3OjI2NDM1MlhaW1FTUzhUZ0pOTnZ3d32BgI2Sko6Vl26gsVmCkFxnZ3CAhsfLy5q2v6Cqr8HIzKSpqpqfobe+wc/T1sbO08zQ0RoqL4CxwUJGSj5CRUFER2ZqbZaWl8a/wY9vcskiHjU2ODo9P1VXWUtMTlBJTF9dX32DhVkGBsDBw56anN/T1bCztN3d32wkJ9QJCce4uaBqbD8eH3JhYl1ERVIdHUtERm5naVMBAYyRk2sXF3BKSpdMTZIpKWlkZYxFR24DApxXV50EA5QeINbOzs7HyHFpansDA8tnaJSLjZMQD5IQEenf36wnLNJaYvtCDq8xE/QWFfwxHLRFKOUcBuva36Z5e9giH6+JjKEUF9RVSfdBQ6CisIhPiQ4AAABOdFJOUwQHCxsrFk0CBzcR9g0pCxItRBtoIJ4URny4sFqm8GJSFQ/9Xej+78qD5O2x1u3JkPGSz0p0zv2iG4+xnaKPLiVgX8I4Z6fN8Oux4+UvI/Wmz6gAAAELSURBVBjTDcjTlsMAFADAmzZumtrm2mbXPKdJ26S21rZt//FmHgcIQFgPptZo1BjNIkAAgcjo6cXlYHBpVo15WACQYTML10K9/hXz++S0DID2zQs398W7D7Hm18ilCM1d3D68R2ufz99nU+MAyES0chX4e3p9+a0eByYxUI1mDsvlytvjT0zcL47JQTWcLuRLl1XxvLS3ExuRYiCZ3T44Ojn1FnbX80NuYHr7U5GNrZyQ3cyteZ1uIHu6E3xqNRrJpFcifa5BIJVdnXEuHOa5eNJhdymlcFodPJeQTtHeYaOA1FI6a2ubQtHc1GAw4ygQjJ6yme0WS4uhUYejRiAI0qhHKROOmyhUy5D/T8Y4lZQQWWoAAAAASUVORK5CYII=",
				tenIcon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAQcSURBVEhLlZVdSJtXGMf96DY1M35NiMNh1EXm90cak6hrdCatKOhFdegWvNFdZNkqokPEC4V5o5W6ebHhxNJuVh2i0CtbC522tNgxxCF0TJBsNhukIl0XyxqCPPv/X960gbluPvDjnJz3PP/znOc85yTiPywKvARiwnhFHeO3Y1skCInGAQ2IV2GfC5wAnEeOZdEgJJwE3lBJUMf4jaKc97+MkdKBzqkgG5TZ7fbHNTU1j9AvBVkgBRwrLdwit2wANvBedna2d3R01Ds8POxhH2PvgrdBBngV0OdfLbQtTVpamikjI+M3irAtKCj4cW5uTiYnJ4V9joXIy8v7MDExkbuj75H55nZe1mg0usrKys+bmpoOA4GA9Pb2is1mWxocHPQ2NDTcd7nc8vChT3w+n/j9fuG83NzcLgTDXf4zJVlZWVqK5ufnf83Ja2trsrvrlY6ODmlsbLwWGxt7hf29vT2ZmZmRvr4+WV9fl52dHamqqtqPj48/l5OTkwyp51Fje7pw0eXlZSErN25IW1vboV6vXwIHFJmZnZX6+npfmbFsGwv9tbm5KWNjY/tJSUm3DQZDCeSeR41oDSHR7Z+3FdFLly/L1tYWo/Uih1covLGxIUNDQ2KxWn6319ofVFRUHFy/fk2QpseqcDHknkUc9RYsJSVlU6vV/lBb6xBrhfURBOX7e/cEefVgfJbCq6ur0tPTE8Sh7iBqKS8vP5yfn5eBgYE/dTrdbRymEXrPKoS36DUMnsEBfEBMJlPAdsomKysr4nA4PIhYEV5aXBS3272fnp5+s/zkyfuYJ1NTU9Ld3e2H8F1QBS3eTMViAeuxDJwtKiq6hUj+sFqtsrCwINXV1R7sRknFpYsXpbOz8ylS9x0q4YvS0tLDiYkJcblcB6mpqRQ+BQ1eHF4axV4HlpiYmE9ZuyUlJXeMRqNMT08L8vgrhL+h8PiFCzxMwemv48A/Li4ufjIyMiJOp9NPYWqoWoqxsHOAE1u8Y7FYgjiEb+GEaD4Tk9m8C+FFRXh8nKlgbn36LL2nrq7uKQ+zubk5SF9qqFqKMdlGbOMrRott3iRIiTAaRO5DjV4l7e3t0t/fr9R2S0uLnOvqUhbC/Cf0pQa1FFXYiaioqEZEyHwKDwRFokAnpEJwbR+YzWYpLCxkjoNO5/vS2toqH7ndwczMTMWHvtSglqqrpMKCkvokOTm5PyEhYQi3bCw6OvonXJpbyOcvyP35uLi482wx9yoiFKQmgAgFafqSPvSlBrUoGjKeJCuDT6IVq55GqxAZGVmHthbYwTv4fQacxpxatA60DoxbAX2pQS3FmGOWHJ+/dMCPfG8J3+I3VcLHMtU+W3Kk8YJQmAtQnPCl0qot/zEI++GEvocuBDXC/7KUR+OofwB+fBEvsIiIvwGdi5IETpXqcAAAAABJRU5ErkJggg==",
				testIcon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAANlSURBVEhLtZTPS1RRFMfnvfvr/RhNUMfSHHXMZkZnnPHNWFFQUKvKCPq1yApaVvtoIS2qTYXRj021SYOCDCKiIogW2b/QwhQCF7XTdQ7S6XvepAy9cdGvA1/ee/fe83nnnnvuiRHRf1HdwT8V2+p77cTfqi64xiw7FlNxo7sapRhtEfb9diVmklpWepRc7lBiHmNTmDvpK5UUWMs+Vde1wRYWeo5llRNajSe1mu0xqjLgaOp3IcdQ1lGUNmoJc5+apRz3bGtYWjGPfRlQF8yRYmG5RdoTm4xayHma0oBmjKYcnjnXQE6ogucQ1iwmpD3JcPatC7Zt2/KV7GzX8jqiWxgbLdHXD+foC2uadRbv0PSZVY0dD0J4q5I3fK27hRB2BIwUuE1Snkg5ZibwXTpa6KCXt0boxc399Bz6/PZ0qBc3R+jVrQPQCB0qtFPguZRy9Nw6KU8xIwI2VqytTYmpvGeWBrHNPLbNOe01ijq1oumJI/T+wWFKIS1FzA9BvK6EIAZ9U4HvU2ZEwOtsa3OnFvOluKGibyjDBwYIH1zKSHp3/yC9u3eQ+jDGwHLcpSBezXXgO5RUcp4ZEfB6KfJdWi3nAC0CnsXB9SFSPjQ+wDd39tHr23spg/EcQP1QEPdCFRtc3tkyMyLgNgymUFoFQAfgnMcPcmGJKdrsSHp+bQ89u7qb0r6mUiMqAykYgIJGqMGhbvgyIwKO21Zvu5Izg4gkD2cGF/GO/NEmV9HUlV305PJOvCMV4a4cyKUhPPl7gxYzzIiAlRVrbpHiXtbVSwUs5MUBwCUoDdjjizvo0cXtlObdeACHuQUY6/o9/a1VibvMiIBR4Abldgzp+FQFV09+GM5ZVMfDC1uhLbiBhgqYK6PMtnFFeOZ7t6M/4oofZkYELMILopIJJcczrl7kaIoQl1MOP5g4P0wPzpdpAOAhBkNbMJd2zUJCiWueFBuBsCJgNlx25eJ6rldiErdvkcuOo2PY5dEMXYKySAOnJwjrXC90KDnp23Z5zSv908ImxPA2LW/0Omou65oKR1xEJWxr4l3gR56p4LbNbkCjagR0zSb0i1kcOdpmdxPaJraJtinRNlUFfWE5ibaZkOIpzuNUgzFdshpp/bZZaysTv6sVW/2uHWRbmfhdrdjqd+3kvxPFfgCnD1EcKH+OSwAAAABJRU5ErkJggg==",
				testOverlay: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAACQUExURQAAAAoBABYDAgkHBxwEAwMDAxACAQgICAQEBBYVFQcGBgUDAwgFBQwHBwcAAAwBARwEAhsEAhQDAg8CAQkGBgkBAQwBAZqamgcEBCEGBAwBAS4JBxQDAhECAQoBACgIBQ8CAQsBAS4HBTcLCCsJBi8LCCYHBSEGBDQMCWBBI0EdDNCvYFUuEIpgKerIbKJ+POkkqdsAAAAkdFJOUwCD/jb+Cv4BBBIhGS5UenDU9cWPP2SoB0jq9fi4ntHi5e7L2LyXA2oAAAJBSURBVDjLjdTZYqMgFAbgIFoFcd8TNZoCkqUz7/92c0A7WZrUoJef/4EDstmsD8+B8YZzPYf45K1AH9fsjUDi5ygI1qFDWdShYj3Qx1GXdWjVURxlXVuGawv286IryziNVvoC62jTOO1T9GtbCK1RvG+GZvgNQltoHTa7RI84e+kqQnEQxsKeEnhfQ89nLEAxIMu27SZ+VbryWR6EBznZlmXZVhK/aE9FGS5QzLkNEuy2z144XINTQoKcoPrYoxcuB7eTgksO0JqSpw13Ca4jqCvhgdfWiynxE0hMXQFIcKWktJMkDfwnjgURSvnRjJOCD5K0oM6TvCDM0p06n89/zuejUELsQ0rcx/lVbHaCT8e/UoBTTcaI5/6sa5zuzOULpigU77Dvue7PuqgFx2Fqly/BwbW57zxCM792p+sJIU5HDqUPs3PvzgsOEOQJw5Q6XSDwUFPHe4A6r2t3uio0UAAU6jNg5BFWDPZD50kpuVnuSXwWzHcMvN1g2N+yUVzKCTYOMrnaR8xfAt0HB9smdaIe4DAlzj2s9LnvmgniZgaZkEeJDvTuXB1leznBodKB2pq6xl0h1IUGxhIOlLXI3b4weXPgxl2uIXMAE33otZwmyRs9v2/n/r+ucu1s6wMe/dNNspnXsbgZeoTCSUhH/b8ZCbRBmJoG3kDXgQshKoftxzJADugub4YQmBdZP35D62M7oLnPt3kwQwIrLvth3OoxjuPQh3gp617zIJHVCG7AMu37tG3LssuKa5t1Xxb3D/r8QjMvEc3CAAAAAElFTkSuQmCC",
				refresh: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMzSURBVFhHxZZNSFRRGIZ1FBXKqGgZZJQgtWj6k6KIgWpRgQv7kVpUSBm6CTKUFuLQogQX2sYRDSMUaaKRiix/aoxKClLzb7SFEEhRCC4iW/Q7ve/xzHTuveeOc0cYP3g43z33/b7vnZl7596UcDi8pPxPYsT7yedcUsE6cBAUg8ugSsKcezxHTSprIujCiQEO3upyuS4eO3rklq/h2qvenvbpwYHHc6Hx4G/CnHuNvuv91FDLGtaaDHjkGreBVenp6SWVlWUP3rx+OItm4XigljWsZY/5Vime+jpvn8zjMpCzc8eWmr6g/5NuSDywlj3Qq4DDuTffemEDG4qKClqG33V9Nzd1Cnu0tt4YihzL/jENrDl75ngLf1u1keQH8IOTIAdkgOUgT+7dBdSY66LIGbYGXAf2760aHenVNekAG0H06raBmgAw1ws4g4O0BrKzl203/+aTE31/sFYA3TAtCE93V9sH5IbhkjQKdAZSvdWX2jUFjodHLjgdFDAsBjIzM9abbzX8FPcpRu6EamAYqiKmIywGKitKy1XhRCj4C+tairEuCl1YDNxsrg1CrLptk1ptUyfowmJgaPDJV4jFcOZSJ0Jtlgi6sBgIjT+bgVgYwH/AjNSJUJslgi4sBiA8DD6Dj8ylTgSbLAYZuaBckmsxECt0TZ3AKDl/qnngbec3wjzpBszXWLINFPKTIxcGxkZ7Z5NmALHC7/cNIxfDycsXgcZYBrwx8EQax8vuXdsu4A4zPFlx7LE1oAo1eIFliB2IPYF7TSHk0R4jwz3TWF12Blyq2ITT4fk1NVe6kRv64D/mHE9qDUCQZi4gnY9uT+H0CbAax5ZhKtRQiydrJ54nf7EX7TM+9pTXgu3jWIRaoNIRaJrIz3fXQVIINoGVgM0Ic+4VUgOt4WsnMMPXuzxoRDg2QPia5r/TMFpWetrvdm+uz8rKukqYc4/ndK9yeKn5ifWQHCEiHgOtKJxTjhNC9jAMZyxkgLccc75sDsi9RGBt9GtXI5YBMTwSOOadUQymgG6IDmpZw1rZyRi2BnTBJrLZPlAL+sEXwLdnwpx7PEeNGBxBFxYDS4V2M3mEU/4Bmtz6+PFwAdkAAAAASUVORK5CYII=",
				link: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABLSURBVChTlZCxEQAgCAOzF+u7lxoFDhUKvxE+aRAV/YKi7XGjPUf1KhJRf8DAX1tuol9zFEbmHpmWSBkonn8VJ9XVwtCW4x8TGgAMZgeUbNICO6YAAAAASUVORK5CYII=",
				marks1: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFqSURBVDhPpZRBa8JAEIX12J8ivVUJ9RYsKiGHgMRqajQx2exmd5PUEPDW39b+n156XsXpbOi5pczCnhY+5s17bwe/HffJbbIsMyxnwAoGm+3mIwzDu5/n/5+Ft+iUUoZzDlJK2O12NGD4HJ7rujZaa0AwHOIDDRhF0VtVVZdKV1CKEtI0fScBV8HqbCUrqSDPc8iznDbhbDbr0AzDGANecGAZowE93+tEIYyVq7QCzjgNuPSWr/Eh/sLdXbXUIISgATE2FWbvM9pGlyzN6Dv0PK/TSpuyLAHdhvglprns+36HsH6HmEfA1tCAQRB0hSjMMT3epJAQx8QJXddtsG5mvV7fmrqBJEloO3TGDhorjOCi32GSEoHT6VRhS4ytHppjJdOAY2cscDLTNA3Yi3kkSn50BDbEVu9qJaPLNOB8Pm/RDGPlnk4nyBkt2MPJw0QjyLRt2wOp1RuO7key/xx42f+H+/3+jxwOBt+uJdZ5T0kzugAAAABJRU5ErkJggg==",
				marks2: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL/SURBVDhPhVRLTxpRGDURtNumaVJJkJaFj4UxxoVLF24UikRFRpg3l3kBw8uktjH+oMr/aRfayr7goyvHtHw930SNpu1wk8ksvnvPPd8557sTT1Zst7Db1QxtWK1WSVQFmap5nkwmE1xcX1+PbW9vm5VKJbAsiyzbIuzvbW5uvg5P/2PFd3Z2jkRFXFpVi0zDJE3VviUSiSQXGbBQKAjXdQPHdcireVQsFiMBY7ls7tDQjaFjOwRgPnD+ALi6uhpXVdWq1+tBo94g/Kl8UD7FJf8FnJRLclfX9aFt2eS5HhmG8X0mPTPLRdu246ZpegC7Y7BarUayLEcD4kBH07WBEIJqXo0BLxYXF1NcZIblctmq1+qB67iE1gmX93BmDKCiDcCG/LrPOvZXVlZCQNYwn8/jLhGawh1UjEok4DRcO4Zu17qhk+M4ZJnWM8CCVBDQN/A8jxqNBsHx/wOmUqkX0ORkv7h/g7ZZH8Lm/tzc3Duuhwx384aiKj8B9Mtv+AS20YBw8QQu37DL/DHg/Pz8W67f51ArlUrDcql8VxVVwt7xDLHhhkNtOzaHt7+8vPwIKEmSgFkBO8xOS/vSaVQOpxGbY6fqXMNJcj2XTGE+A4TLAvqFgC2/xcGPjM0UGH5Eq1dhzuphbP4CxFgGnFNLWL/H5XAKBz4hY1fMgJ3Ewf7a2tpTDU3suUX+RtyFoii9KMD43t7eEbJ1yYZweMHmkSFWLJPJqMhowBnkC+F4JOCkVJK6siL/wByPGBAGXaTT6XD0sGK5XE5nDXmWGbRULkUDopU2Aj3gSQDLETQ8m52dnbmvxzLvMyq0DZrNJvE3jmEMOTyENsOm3yRmgQvOEKc3D/Wt7JaGC28xxyOeFFVXewUzgiGYdXzfH/Bm1gjB/bK0tPSSi2wK2Ah+vrCHWq1W+DhEmoKROgLYVbvdpm63y/P8dWFh4dV9PZbNZnW0GnQ6Hep0OySsiNHDih8UDz7gtb70HC98HBRZOX+q4cbGho764/OFCH1+znBi4g98VbeovG5kHAAAAABJRU5ErkJggg==",
				marks3: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAP0SURBVDhPVVVLbxtVGJ24i6jJKquwyA6SqokNpqqjWFESpfGDYOrn2OPxeOx5eezxM8kuFIgFC34MW4Sg4G5hUSDhL8AGwQIbCWxTz+V848k0tnSl0f30nXvO+c695gRBsGtGjamqyhKJxJcP8OPc397e3nuKpkw0TWN6TWeyLP+I7du6L5PJfIy+oWmarGbWWDqbZlxFrsza7TajxfP8Vzs7Ow/dBm77wTZv1swJHUigYlH8eXV1dcct+/JCvt9oNEZm3WStVovlcjmbI2YOYKvNRFF8vr+/f9vA+R/631cUZdyoN5hpmCyfz/+0trbmAVYqlU/ROwKYTf1CXrC5crnMcAqzLIuVSqXB0dGR323gdnd3Y9Vq1WHYarZYpVq5Xl9fd+pXV1c+2PE5AP8mdtQPQjYHmf+QfmKBje/CR2EPMBKJnABkTHKbzSYD2+utra233bJPkqTPSDL1GobBqnKVcfFo/M90Ov1HLpv79fj4+IvNzU3Pw0Q8ESlL5XGtVmOddod8vEH9HbfsS2VSfd3QR1QnULWqMg5AIzRNZEme8jn+27uSH4UeKXk+PwVLVjfrzFCNBUAkpI+hjayG5QxFVQBYLBYdQ+kEyB8cHh4G3Abu4OCggaapUBSYrusM378AMOiWfdls9iNJln6HFTPCIGs4Or3b7TqTRs5epFIpDxAWWEpVmUKWMzh83yBWHsOn6aeXRbH4myiI/xk6PKzCQxjLup0uNcwKhcI38eO4FxsC1FRtqunaXLJh3ASDwdeSRaEPuY5kIpVNZ2dODjvdDnlgA3BB8uN3H6tW3ZpSJKymxRCTBUCQ6WMgI4pUr9tjUkmyOdJN6DRFUF6QHAgESk2rOSG5rTZM19QFQFES+/B2hMGwhtmwkWObI7MJnTyEuS8wGA/Q7/dLOH1CGSSGYHODm+QBIm6fYFBDXF/bZcg4XdMddgTIF/jnof2Q52EwEOQRhTEk2+QT5fAOwyU8JpfwdUg16sfEGUfZcabcabMcn/saDdtuA8UmBtb/wqtXkE6WXG9sbNwq8CWTyWeI25AiQz4iggCkoYBht9elEwbRaNQLNr6fgB3dFBs+2QB/uby8/JZbXkqkE5eoD4lQr9ejt2AOSLGhDRrK6emp52E4HE5AyuSOxy+x/ea8yi1RDuv1+l9Ys06nw+SK/JohbSC4C4CxWCyKg8ZurJhSUb5fWVl5wy378Jz1sT+iw87Pz+eAdLHPzs6chfdtcHJy4gGGQqEC9icEeHFxQeH/4T53f8Mt30t+kHwGsCGB0XKuHl0Xer7oJhT4wgDP/i3gEgAzeN4nNEW664gH/QVszsvcvciTyIe4ckOqUfgFQXj1PxYnSdpNgdtfAAAAAElFTkSuQmCC"
			}
		};

		// style contents
		styleText = styleText.concat([
			// global rules
			"h3, h4 {margin: 0 0 15px; text-align: center;}",
			"h5 {margin: 5px 0 8px;}",
			"p, .reg-KR p {margin: 0;}",
			".reg-KR p {line-height: 133%;}",
			"table {width: 100%;}",
			".b-profile-wrpr, .b-header-h1__profile {text-shadow: 0px 0px 1px rgba(27,27,28, 1), 0px 0px 2px rgba(27,27,28, 1), 0px 0px 3px rgba(27,27,28, 1), 0px 0px 4px rgba(27,27,28, 1);}",
			".b-hr-layoutfix__small-indent-bottom {margin: 0px 0 -10px;}",
			".js-account_game_ban_info_msg {display: none !important;}",
			// page/content-wrapper rules
			".page-wrapper__main {background-position-y: 37px;}",
			".page-wrapper__old .nav-submenu_item {padding: 0 1.25%;}",
			".content-wrapper {overflow: unset;}",
			".content-wrapper__old p {margin: 0;}",
			".content-wrapper__old p.b-fame-message, .b-fame-message {display: table; color: #B1B2B2; margin: 0px auto 14px;}",
			// nav bar user info rules
			".b-user-data {font: 14px robotocondensedbold,'Arial Narrow',Arial,sans-serif; position: absolute; top: 0; right: 25px;}",
			".t-user-data {display: table-cell; padding: 7px 0; vertical-align: middle; width: auto;}",
			".t-user-data td {padding: 0 5px;}",
			".t-user-data td:last-of-type {text-align: right;}",
			".b-user-data .t-user-refresh {display: table-cell; height: 66px; padding-left: 10px; vertical-align: middle;}",
			".b-user-data .i-image-refresh {display: block; background: url("+css.u.refresh+") no-repeat 0 0; opacity: 0.2; transition: all 0.5s ease-in-out; height: 32px; width: 32px;}",
			".b-user-data .i-image-refresh:hover {opacity: 0.8;}",
			".b-user-data .i-image-refresh_rotate {transform: rotate(180deg);}",
			".t-user-date {margin-top: 10px; text-align: right;}",
			".currency-gold, .currency-credit, .currency-experience {font-weight: unset;}",
			// header rules
			".b-header {height: 194px;}",
			".b-logo {height: 175px; top: 45px;}",
			// container wrapper
			".l-container-wrapper {background: none;}",
			// content width
			".l-content {width: 955px; z-index: 2;}",
			// background rules
			".b-background {display: flex; opacity: 0.25; position: absolute; width: 100%; z-index: -1;}",
			".b-background img {width: 100%;}",
			// profile wrapper rules
			".b-profile-wrpr {margin: 20px 0 0;}",
			".b-profile-wrpr td {font-weight: bold; line-height: 133%;}",
			".b-profile-wrpr .t-profile-table a, .b-profile-wrpr #js-profile-clan-table a {background: url("+css.l[0]+") no-repeat 0 3px; color: #CACBCC; padding: 0 0 0 10px;}",
			".b-profile-wrpr .t-profile-table a:hover, .b-profile-wrpr #js-profile-clan-table a:hover {background: url("+css.l[0]+") no-repeat -244px 3px; color: #FFFFFF;}",
			".b-profile-wrpr .b-profile-header {position: absolute; width: 750px; top: -4px;}",
			".b-profile-wrpr .b-ratingsClip {display: inline-block;}",
			".b-profile-wrpr .b-ratingsButton {"+css.input+" display: block; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding: 7px 7px 6px;}",
			".b-profile-wrpr .b-ratingsButton:hover {background-color: #282828; cursor: pointer;}",
			".b-profile-wrpr .b-profile-error {background: rgba(81,0,0,0.5); border: 1px solid #510000; box-shadow: 0 0 3px #733232; color: #CACBCC; display: none; padding: 3px; text-align: center; margin: 0 auto;}",
			// b-info-block rules
			".b-profile-wrpr .b-info-block {display: inline-block; width: 745px;}",
			".b-profile-wrpr .b-info-block > div {min-height: 118px;}",
			// profile player rules
			".b-profile-wrpr .b-profile-name {display: table-cell; margin: 0; max-width: unset; width: 50%;}",
			".b-profile-wrpr .b-profile-name table {font-family: Arial;}",
			".b-profile-wrpr .b-profile-name td:first-child {white-space: nowrap;}",
			".b-profile-wrpr .b-header-h1__profile {display: inline-block; margin: 0; padding: 0 0 6px; max-width: 375px;}",
			".b-profile-wrpr .b-header-h1__profile.b-account-type__premium {background-position: right top; background-repeat: no-repeat; color: #FFC364; max-width: 350px; padding: 0 25px 6px 0;}",
			".b-profile-wrpr .b-header-h1__profile .i-profile-flag {border: 1px solid rgba(27,27,28, 0.5); margin-left: 2px; vertical-align: super;}",
			// profile clan rules
			".b-profile-wrpr #js-clan-block-container {display: table-cell; width: 50%;}",
			".b-profile-wrpr .b-profile-clan {display: flex; float: none; margin: 0; padding: 0;}",
			".b-profile-wrpr .b-photo {min-height: 52px;}",
			".b-profile-wrpr .b-profile-clan .b-text {margin: 3px 0 0 0;}",
			".b-profile-wrpr .b-profile-clan .b-text-wrpr {margin: 0; max-width: 310px; padding: 0 0 4px 0;}",
			".b-profile-wrpr a.b-link-clan, .b-link-clan a {display: inline;}",
			".b-profile-wrpr .b-statistic {margin: 0;}",
			".b-profile-wrpr .b-statistic_item {color: #979899;}",
			".b-profile-wrpr #js-clan-block-container table {font-family: Arial;}",
			".b-profile-wrpr #js-clan-block-container td:first-child {white-space: nowrap;}",
			".b-profile-wrpr .b-profile-noclan {margin: 16px 0 13px 0;}",
			// profile clan history rules
			".b-profile-wrpr .b-clanHistory-wrpr {font-family: Arial; margin: 0 0 10px 0; width: 715px;}",
			".b-profile-wrpr .b-clanHistory-wrpr span {display: inline-block; font-weight: bold; line-height: 133%;}",
			".b-profile-wrpr .b-clanHistory-wrpr .clanname {padding: 0 2px 0 0;}",
			".b-profile-wrpr .b-clanHistory-wrpr .clantag {padding: 0 2px;}",
			".b-profile-wrpr .b-clanHistory-wrpr .clantag:hover {width: 32px; position: relative;}",
			".b-profile-wrpr .b-clanHistory-wrpr .clantag img {height: 15px; width: 15px; vertical-align: bottom;}",
			".b-profile-wrpr .b-clanHistory-wrpr .clantag:hover img {height: 32px; width: 32px; position: absolute; top: -12px;}",
			".b-profile-wrpr .b-clanHistory-wrpr a {color: #CACBCC;}",
			".b-profile-wrpr .b-clanHistory-wrpr a:hover {color: #FFFFFF;}",
			// campaign rating rules
			".b-profile-wrpr #js-knockout-fame-points {}",
			".b-profile-wrpr #js-knockout-fame-points.b-fame-points-empty {margin: 0 0 10px 0;}",
			".b-profile-wrpr .b-header-h3__user-account {display: none;}",
			".b-profile-wrpr .b-time {margin: 0;}",
			".b-profile-wrpr .b-tabs {padding-top: 0;}",
			".b-profile-wrpr .b-tabs-list {display: table; margin: 0 auto;}",
			".b-profile-wrpr .b-main-divider {margin: 0 auto; left: 0; right: 0;}",
			".b-profile-wrpr .l-tabs__top-indent {margin: 0;}",
			".b-profile-wrpr .b-fame-list {padding: 0; margin: 0 0 5px 0;}",
			".b-profile-wrpr .b-fame-indicators__one-country {background-color: unset; border-radius: 10px 10px 0 0; margin: 0 0 -1px 0; padding: 10px 20px 10px;}",
			".b-profile-wrpr .b-fame-list_item {padding: 0 10px; text-align: center;}",
			".b-profile-wrpr .b-fame-list_count {display: table; margin: 0 auto;}",
			".b-profile-wrpr .b-link-list {text-align: center;}",
			".b-profile-wrpr .b-link-list_item {padding: 0 8px;}",
			// sidebar rules
			".b-profile-wrpr .l-sidebar {margin: 0; position: absolute; right: 0; top: -1px; width: auto;}",
			".b-profile-wrpr .b-context-menu {background: url("+css.u.menu+") repeat-y; border-right: 1px solid black; margin: 0; width: 200px; z-index: 3;}",
			".b-profile-wrpr .b-context-menu_wrapper {padding: 10px 0 5px;}",
			".b-profile-wrpr .b-context-menu-list {line-height: 16px;}",
			".b-profile-wrpr .b-context-menu-list a {background-position: 0 50%;}",
			".b-profile-wrpr .b-context-menu-list a:hover {background-position: -244px 50%;}",
			".b-profile-wrpr .b-context-menu-list .current-page a {background-position: -244px 50%;}",
			".b-profile-wrpr .b-context-menu-list li {padding: 4px 3px 4px 12px;}",
			// sidebar messages wrapper rules
			".b-profile-wrpr .l-side-msg {position: absolute; left: 201px; text-align: center; top: 77px; width: 192px;}",
			".b-profile-wrpr .b-sidebar-widget__comparison {background-color: #000000; border: 1px solid #000000; margin: 0; position: absolute; left: 201px; top: 0; width: 192px;}",
			".b-profile-wrpr .b-sidebar-widget {margin: 0;}",
			".b-profile-wrpr .b-sidebar-widget_inner {padding: 10px}",
			".b-profile-wrpr .b-sidebar-widget_inner__comparison {display: table; margin: 5px auto; padding: 0;}",
			".b-profile-wrpr .b-sidebar-widget_title {margin: 0 0 5px; text-align: center;}",
			".b-profile-wrpr .b-sidebar-widget_text {margin: 0 0 5px;}",
			".b-profile-wrpr .b-box-shadow.js-recruitstation-recommended-widget {margin: 0; width: 242px;}",
			".b-profile-wrpr .l-sidebar .b-b4r {height: 52px; overflow: hidden; position: absolute; top: 26px; left: 201px;}",
			".b-profile-wrpr .l-sidebar .b-b4r_link img {width: 192px;}",
			// userblock wrapper rules
			".b-userblock-wrpr .b-user-block {background-color: unset; margin: 0;}",
			".b-userblock-wrpr .b-user-block:first-of-type {display: none;}",
			".b-userblock-wrpr .b-user-block__sparks {background-image: url("+css.u.sparks+"); border-radius: 0 0 10px 10px;}",
			".b-userblock-wrpr .b-user-block__sparks.b-user-block_sparks-radius {border-radius: 10px;}",
			".b-userblock-wrpr .b-personal-data {min-height: 180px; padding: 0 20px 15px;}",
			".b-userblock-wrpr .t-personal-data_ico {padding: 82px 5px 0;}",
			".b-userblock-wrpr .t-personal-data_ico__hitrate {background: url("+css.u.icon1+") no-repeat 50% 50px;}",
			".b-userblock-wrpr .t-personal-data_ico__tier {background: url("+css.u.icon2+") no-repeat 50% 50px;}",
			".b-userblock-wrpr .t-personal-data_value {font-size: 28px; line-height: 100%;}",
			".b-userblock-wrpr .t-personal-data_value.t-personal-data_value__pr {font-size: 36px;}",
			".b-userblock-wrpr .b-speedometer-body {background-color: unset; padding: 20px 50px;}",
			".b-userblock-wrpr .b-speedometer {width: 33.3333%}",
			".b-userblock-wrpr .b-message-ban-holder {position: absolute; width: 620px;}",
			".b-userblock-wrpr .b-message-error {margin: 0; min-height: 48px;}",
			".b-userblock-wrpr .b-message-battle-holder {position: absolute; width: 637px; right: 0;}",
			".b-userblock-wrpr .b-message-battle {background: url("+css.u.blueMsg+") no-repeat 0 0; margin: 0; min-height: 48px; text-align: right; padding: 15px 48px 13px 13px;}",
			".b-userblock-wrpr .t-ratings-info {table-layout: fixed;}",
			".b-userblock-wrpr .t-ratings-info th {font-size: 13px; font-weight: bold; line-height: 133%; padding: 20px 0 0;}",
			".b-userblock-wrpr .t-ratings-info td {font-family: 'WarHeliosCondCBold','Arial Narrow',arial,sans-serif; font-size: 36px; line-height: 133%}",
			".b-userblock-wrpr .t-ratings-info .rating-url_nm {background: url("+css.u.nmLogo+") no-repeat left center; padding: 0 0 0 20px;}",
			".b-userblock-wrpr .ratings-table {background: url("+css.l[2]+") no-repeat 50% 0; padding: 20px 25px 10px;}",
			".b-userblock-wrpr .t-table-ratings {width: 100%;}",
			".b-userblock-wrpr .t-table-ratings td {line-height: 130%; padding: 9px 12px 2px 0; vertical-align: bottom;}",
			".b-userblock-wrpr .t-table-ratings .td-center {line-height: 16px; padding: 9px 0 2px; text-align: center;}",
			".b-userblock-wrpr .t-table-ratings .td-rating-meter {background: url("+css.l[2]+") no-repeat 50% 100%;}",
			".b-userblock-wrpr .t-table-ratings .td-rating-meter td {padding: 0;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter {background: url("+css.u.rat+") no-repeat; border: 1px solid #252527; border-radius: 3px; height: 3px; margin: 0 7px;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter-dail_line {background: url("+css.u.rat+") no-repeat; box-shadow: 0 0 10px 1px rgba(221, 84, 12, 0.15), 0 0 3px 1px rgba(133, 18, 11, 0.25); height: 3px; width: 0; transition: width 2s;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter-marker {background: url("+css.u.ratMark+") no-repeat; float: right; height: 13px; margin: -5px -2px 0 0; width: 5px;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter_wn8 {background-position: 0 0;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter_wn8 .rating-meter-dail_line {background-position: 0 -3px;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter_wn7 {background-position: 0 -6px;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter_wn7 .rating-meter-dail_line {background-position: 0 -9px;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter_eff {background-position: 0 -12px;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter_eff .rating-meter-dail_line {background-position: 0 -15px;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter_wn9 {background-position: 0 -18px;}",
			".b-userblock-wrpr .t-table-ratings .rating-meter_wn9 .rating-meter-dail_line {background-position: 0 -21px;}",
			".b-userblock-wrpr .t-table-ratings .b-stat-fun {height: 16px;}",
			".b-userblock-wrpr .t-table-ratings .i-stat-fun {margin-top: -9px;}",
			".b-userblock-wrpr .wnelink {padding: 5px 25px 5px 0; text-align: right;}",
			".b-userblock-wrpr .wnelink_info {background-image: url("+css.l[3]+"), url("+css.l[1]+"); background-position: 4px 0px, right 0; padding: 0 9px 0 20px;}",
			".b-userblock-wrpr .wnelink_info:hover {background-position: 4px -17px, right -22px;}",
			// christmas marathon rules
			".b-marathon {background-size: 100%;}",
			// statistics wrapper rules
			".b-statistics-wrpr {margin: 0 0 35px;}",
			".b-statistics-wrpr .l-tabs__top-indent {margin: 0;}",
			".b-statistics-wrpr .b-tabs-list {display: table; margin: 0 auto -2px;}",
			".b-statistics-wrpr .b-tabs-list_link {cursor: pointer;}",
			".b-statistics-wrpr .b-fame-indicators__one-country {background-color: unset; border-radius: 10px 10px 0 0; margin: 0 0 -1px 0; padding: 10px 20px 10px;}",
			".b-statistics-wrpr .b-fame-indicators {border-radius: 10px; padding: 20px 8px;}",
			".b-statistics-wrpr .b-tabs {padding-top: 0;}",
			".b-statistics-wrpr .b-tabs > div {display: none; margin: 0 auto}",
			".b-statistics-wrpr .b-tabs .js-stat_active {display: table;}",
			".b-statistics-wrpr .b-result {float: none; display: inline-block; margin: 0 0 20px 0; padding: 0 8px; vertical-align: top; width: 317px;}",
			".b-statistics-wrpr .b-tab-user .b-result {padding: 0 20px; width: 428px;}",
			".b-statistics-wrpr .b-tab-user .b-result-badges span, .b-statistics-wrpr .b-tab-user .b-result-marks span {color: #606061; display: inline-block; width: 48px;}",
			".b-statistics-wrpr .b-tab-more .b-result {width: 420.5px; padding: 0 18px;}",
			".b-statistics-wrpr .b-tab-more .b-result td:last-of-type {min-width: 45px;}",
			".b-statistics-wrpr .b-tab-clan .b-result {width: 296px;}",
			".b-statistics-wrpr .b-tab-strong .b-result {padding: 0 20px; width: 428px;}",
			".b-statistics-wrpr .b-tab-team .b-result {padding: 0 20px; width: 428px;}",
			".b-statistics-wrpr .b-tab-other .b-result {width: 296px;}",
			".b-statistics-wrpr .t-dotted td {line-height: 23px; padding: 0 1px;}",
			".b-statistics-wrpr .t-dotted tr:hover td {color: #79797A;}",
			".b-statistics-wrpr .t-dotted td.t-dotted_class-ico {line-height: 14px;}",
			".b-statistics-wrpr .b-result-marks .t-dotted td {line-height: 31px;}",
			".b-statistics-wrpr .t-dotted td.t-dotted_class-ico img {vertical-align: middle;}",
			".b-statistics-wrpr .b-result .t-dotted__fixed {table-layout: auto;}",
			".b-statistics-wrpr .t-dotted td {background: url("+css.l[2]+") no-repeat 50% 100%;}",
			".b-statistics-wrpr .b-stat-legend {line-height: 15px; text-align: center;}",
			// cake diagram rules
			".b-diagrams-sector {margin: 0 0 35px;}",
			".b-diagrams-sector h3 {text-align: center;}",
			".b-diagrams-sector .b-diagram {background-position: 7px 7.5px;}",
			".b-diagrams-sector .b-diagram-block {display: table-cell; float: none; padding: 0 2px; width: 33.335%; max-width: 320px;}",
			".b-diagrams-sector .b-diagram-block h3 {margin: 0 0 3px 0;}",
			".b-diagrams-sector .b-diagram-block h4 {font-size: 12px; margin: 0;}",
			".b-diagrams-sector .b-diagram-wrpr {float: none; margin: 0 auto;}",
			".b-diagrams-sector .t-dotted.t-dotted__diagram {margin-top: 0px; width: 100%;}",
			".b-diagrams-sector .t-dotted_diagram-bg {position: unset;}",
			".b-diagrams-sector .t-dotted_diagram-percent {display: inline-block; width: 40px;}",
			".b-diagrams-sector .b-diagram-total {margin: 25px 0 0;}",
			".b-diagrams-sector .t-diagram_rating {display: inline-block; margin-right: 20px; text-align: center; width: 55px;}",
			".b-diagrams-sector .t-dotted_diagram-info .js-results {display: inline-block; margin: 0 3px; text-align: right; width: 40px;}",
			".b-diagrams-sector .b-diagram-ico_tier {background: url("+css.u.tiers+") no-repeat; padding-left: 30px;}",
			".b-diagrams-sector .b-diagram-ico_tier-1 {background-position: 4px 1px;}",
			".b-diagrams-sector .b-diagram-ico_tier-2 {background-position: 4px -14px;}",
			".b-diagrams-sector .b-diagram-ico_tier-3 {background-position: 4px -29px;}",
			".b-diagrams-sector .b-diagram-ico_tier-4 {background-position: 4px -45px;}",
			".b-diagrams-sector .b-diagram-ico_tier-5 {background-position: 4px -59px;}",
			".b-diagrams-sector .b-diagram-ico_tier-6 {background-position: 4px -74px;}",
			".b-diagrams-sector .b-diagram-ico_tier-7 {background-position: 4px -89px;}",
			".b-diagrams-sector .b-diagram-ico_tier-8 {background-position: 4px -104px;}",
			".b-diagrams-sector .b-diagram-ico_tier-9 {background-position: 4px -120px;}",
			".b-diagrams-sector .b-diagram-ico_tier-10 {background-position: 4px -134px;}",
			".b-diagrams-sector .t-dotted__diagram tr td.t-dotted_diagram-last {width: 0;}",
			// achievement wrapper rules
			".js-all-achievements {margin: 0 0 50px;}",
			".js-all-achievements .b-vertical-arrow {display: table; margin: 8px auto 0; padding: 2px 10px 0;}",
			".js-all-achievements .js-all-achievements {display: table; margin: 15px auto 0; width: 897px;}",
			".js-all-achievements .b-achivements {display: table; margin: 0 auto; padding: 0 0 20px;}",
			".js-all-achievements .b-achivements-head {margin-top: 15px;}",
			".js-all-achievements .b-achivements_item {display: inline-block; float: unset; margin: 5px 0 0 0; width: 76px;}",
			".js-all-achievements .b-achivements_item img {display: table; margin: 0 auto;}",
			".js-all-achievements #js-achivement-tankExpert5 {margin-left: 237px;}",
			".js-all-achievements #js-achivement-medalBurda {margin-left: 117.5px;}",
			".js-all-achievements #js-achivement-tankwomen {margin-left: 395px;}",
			".js-all-achievements #js-achivement-readyForBattleLT {margin-left: 237px;}",
			// global rating rules
			"#js-knockout-ratings {margin: 0 0 35px;}",
			"#js-knockout-ratings .b-composite-heading {margin: 21px 0 15px 400px; width: 553px;}",
			"#js-knockout-ratings .b-profile-ratings-date {margin-top: 1px;}",
			"#js-knockout-ratings .b-leadership-info {display: table; margin: 0 auto;}",
			"#js-knockout-ratings .b-profile-link {display: table; margin: 14px auto 0}",
			"#js-knockout-ratings .b-msg-important__rating {display: table; margin: 5px auto 0;}",
			"#js-knockout-ratings .b-rating-dial__user {display: table; margin: 30px auto 22px;}",
			"#js-knockout-ratings .b-orange-arrow__leadership {display: table; margin: 25px auto 0;}",
			"#js-knockout-ratings .b-leadership-rating-text {text-align: center;}",
			"#js-knockout-ratings .l-leadership-info-alignment {text-align: center;}",
			// vehicle table rules
			".b-vehicles-wrpr {margin: 20px 0;}",
			".b-vehicles-wrpr .b-vehicles-header {display: table; margin: 0 auto 15px}",
			".b-vehicles-wrpr .b-profile-vehicles-tankstat {margin: 0; position: absolute; right: 15px;}",
			".b-vehicles-wrpr .b-profile-vehicles-tankstat_link {background-image: url("+css.u.vbLogo+"), url("+css.l[1]+"); background-position: left center, right 0px; padding: 0 9px 0 20px;}",
			".b-vehicles-wrpr .b-profile-vehicles-tankstat_link:hover {background-position: left center, right -22px;}",
			".b-vehicles-wrpr .t-profile th {cursor: pointer; padding: 10px 6px;}",
			".b-vehicles-wrpr .t-profile th .t-profile_vehicle-head {margin-left: 8px; padding-right: 8px;}",
			".b-vehicles-wrpr .t-profile th:hover .t-profile_vehicle-head {color: #BABCBF;}",
			".b-vehicles-wrpr .t-profile .sort-down .t-profile_vehicle-head {background: url(/static/wot/common/css/scss/tables/img/arr-down.png) no-repeat right center; color: #DADDE0;}",
			".b-vehicles-wrpr .t-profile .sort-up .t-profile_vehicle-head {background: url(/static/wot/common/css/scss/tables/img/arr-up.png) no-repeat right center; color: #DADDE0;}",
			".b-vehicles-wrpr .t-profile .t-tableClassHeader-open td, .b-vehicles-wrpr .t-profile t-profile_tankstype-open > td {border-bottom: 2px solid #2C532E;}",
			".b-vehicles-wrpr .t-profile__vehicle .t-profile_right {text-align: center;}",
			".b-vehicles-wrpr .t-profile_dropdown-ico .tablesorter-header-inner {display: inherit;}",
			".b-vehicles-wrpr .b-tankstype-ico__miss, .b-vehicles-wrpr .b-tankstype-ico__zero {background: url("+css.u.miss+") no-repeat center center;}",
			".b-vehicles-wrpr .t-profile .t-profile_tankstype td {height: 50px; padding: 0; vertical-align: middle;}",
			".b-vehicles-wrpr .b-tankstype-ico {display: table-cell;}",
			".b-vehicles-wrpr .b-tankstype-ico__lighttank {background-position: 0 -114px;}",
			".b-vehicles-wrpr .b-tankstype-ico__mediumtank {background-position: 0 -173px;}",
			".b-vehicles-wrpr .b-tankstype-ico__heavytank {background-position: 0 5px;}",
			".b-vehicles-wrpr .b-tankstype-ico__at-spg {background-position: 0 -232px;}",
			".b-vehicles-wrpr .b-tankstype-ico__spg {background-position: 0 -54px;}",
			".b-vehicles-wrpr .b-tankstype-ico__prem {background-position: 0 -291px;}",
			".b-vehicles-wrpr .b-tankstype-ico__ten {background: url("+css.u.tenIcon+") no-repeat center center; color: #BBB7AC; font-size: 17px; font-weight: 100; padding: 0 0 3px; text-align: center;}",
			".b-vehicles-wrpr .b-tankstype-ico__super {background: url("+css.u.testIcon+") no-repeat center center; color: #BBB7AC; font-size: 17px; font-weight: 100; padding: 0 0 3px; text-align: center;}",
			".b-vehicles-wrpr .b-tankstype-text {display: table-cell; height: inherit; vertical-align: middle; width: 304px;}",
			".b-vehicles-wrpr .b-armory-col {margin-left: 10px;}",
			".b-vehicles-wrpr .t-profile .t-profile_tankstype__item td {height: 40px; padding: 0; vertical-align: middle;}",
			".b-vehicles-wrpr .t-profile .t-profile_tankstype__item:hover td {background: rgba(0, 0, 0, 0.04); border-bottom: 1px solid rgba(255, 255, 255, 0); color: #BABCBF;}",
			".b-vehicles-wrpr .t-profile .t-profile_tankstype td.t-profile_center div.hidden {display: none;}",
			".b-vehicles-wrpr .t-profile .t-profile_tankstype td.t-profile_center span:first-of-type {margin-right: 5px;}",
			".b-vehicles-wrpr .t-profile .t-profile_tankstype td.t-profile_center span:last-of-type {margin-left: 5px;}",
			".b-vehicles-wrpr .b-armory-wrapper {height: inherit; margin: 0; padding: 0; width: 120px;}",
			".b-vehicles-wrpr .b-armory-wrapper .b-armory-level {font-size: unset; left: 0;}",
			".b-vehicles-wrpr .b-armory-wrapper img.png {height: 64px; margin: -10px 0 0 18px;}",
			".b-vehicles-wrpr .b-armory-wrapper img.imgError {height: 78px; margin-top: -13px;}",
			".b-vehicles-wrpr .i-super_icon {position: absolute; right: 12px; bottom: -6px;}",
			".b-vehicles-wrpr .b-name-vehicle {color: #BBB7AC; display: table-cell; height: inherit; vertical-align: middle; width: 226px; max-width: 226px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}",
			".b-vehicles-wrpr .b-name-vehicle a {color: #979899; border-bottom: 1px solid hsla(0,0%,100%,.3); transition: all 0.2s;}",
			".b-vehicles-wrpr .b-name-vehicle a:hover {color: #BABCBF; border-bottom-color: transparent; text-decoration: none;}",
			".b-vehicles-wrpr .b-name-vehicle .link_icon {background-image: url("+css.u.link+"); opacity: 0.3; vertical-align: middel; width: 10px; height: 10px; display: inline-block; margin: 0 0 1px 5px;}",
			".b-vehicles-wrpr .b-name-vehicle.b-gold-name a {color: #FFC363;}",
			".b-vehicles-wrpr .b-name-vehicle .b-debug-name {color: #D00900; font-size: 11px; margin-left: 10px;}",
			".b-vehicles-wrpr .t-profile_dropdown-link {display: inherit;}",
			".b-vehicles-wrpr .js-error-data {text-align: center;}",
			".b-vehicles-wrpr .b-msg-error {display: table; margin: 0 auto;}",
			".b-vehicles-wrpr .b-vehicle-detail_txt {margin: 0 auto 4px; text-align: center; width: 768px;}",
			".b-vehicles-wrpr .b-vehicle-detail_link {display: table; margin: 0 auto;}",
			".b-vehicles-wrpr .b-vehicle-slider {margin: 23px 64px 17px}",
			".b-vehicles-wrpr .b-vehicle-slider_inner {width: 741px;}",
			".b-vehicles-wrpr .b-vehicle-slider_prev {left: -12px;}",
			".b-vehicles-wrpr .b-vehicle-slider_next {right: -12px;}",
			".b-vehicles-wrpr .t-profile_tanksextended > td {border-top: 2px solid #294B59; padding: 0;}",
			".b-vehicles-wrpr .t-profile_tanksextended .b-vehicle-stats {background: #121315; padding: 15px 10px 40px;}",
			".b-vehicles-wrpr .t-profile_tanksextended .b-vehicle-stats .b-vehicle-stats_tables {}",
			".b-vehicles-wrpr .t-profile_tanksextended .b-vehicle-stats .t-vehicle-stats {display: inline-table; margin: 0 2%; width: 46%;}",
			// profile navigator
			".b-profile-nav {font-family: Arial; font-size: 13px; text-align: center;}",
			".b-profile-nav-top {max-width: 135px; left: 0; margin: 0 auto; padding: 8px 0px 8px; position: absolute; right: 0; top: 0; z-index: 1000;}",
			".wrapper-dropdown .b-profile-nav {float: left; padding: 7px 0 0;}",
			".b-profile-nav a {background: url("+css.l[4]+") no-repeat; cursor: pointer; margin: 0 10px 0 0; padding: 0 10px;}",
			".b-profile-nav a.top {background-position: 100% 0px;}",
			".b-profile-nav a.top:hover {background-position: 100% -36px;}",
			".b-profile-nav a.bot {background-position: 100% -18px;}",
			".b-profile-nav a.bot:hover {background-position: 100% -54px;}",
			".b-profile-nav span {border-bottom: 1px dashed;}",
			// multiple usage rules
			".b-orange-arrow__heading, .b-profile-ratings_link {margin: 4px 0 0;}",
			// region spesific rules
			"body.reg-KR h1, body.reg-KR .b-header-h1 {line-height: 1;}",
			".b-diagrams-sector .reg-RUS .b-diagram-tiers .js-results {margin: 0 0 0 15px;}",
			".js-all-achievements .reg-KR .js-full-achievements {margin: 0 34px 30px;}",
			".lang-pl .b-statistics-wrpr .b-tabs .b-tab-more div:first-of-type {width: 475px}",
			".lang-pl .b-statistics-wrpr .b-tabs .b-tab-more div:last-of-type {width: 390px}",
			// element display state rules
			".b-display-none, .b-profile-wrpr .b-clanHistory-wrpr span.b-display-none {display: none;}",
			".b-display-block {display: block !important;}",
			".b-display-table {display: table !important;}"
		]);
		// applies relevant style for own profile
		if (wg.own) {
			styleText.push(
				".b-context-menu-list__bottomindent {border-bottom: 1px dashed #212123; max-height: 115px; margin: 0; padding-bottom: 4px; overflow: hidden; transition: max-height 0.15s ease-out;}",
				".b-context-menu-list__bottomindent:hover {border: none; max-height: 300px; transition: max-height 0.25s ease-in;}"
			);
		}
		style.textContent = styleText.join("");
		// end style

		// start modifying and enhancing the rest of the page
		// store userBlocks
		var userBlock_wprp = d.getElementsByClassName('b-userblock-wrpr')[0],
		userBlock_sparks = d.getElementsByClassName('b-user-block__sparks')[0];

		// add user treasury in navigation menu - personal data block will be hidden
		var subMenu_class = d.getElementsByClassName('nav-wrapper')[0],
		userData_list = sf.elem("div", "b-user-data"),
		statRefresh_div = sf.elem("div", "t-user-refresh", "<i title='"+sc.loc[132]+"' class='i-image-refresh'></i>"),
		statDate_div = sf.elem("div", "t-user-date", sc.loc[133]+" "+(new Date(ss.date).toLocaleString(sc.date.format[wg.srv]))+".");
		statRefresh_div.firstElementChild.addEventListener('click', function() {
			this.classList.toggle('i-image-refresh_rotate');
			GM_deleteValue("statScriptPlayer_"+wg.id);
			location.reload();
		}, false);
		if (wg.login && s.p) {
			userData_list.appendChild(sf.elem("table", "t-user-data", "<tr><td>"+s.p.cred[0]+"</td><td><span class='currency-credit'>"+s.p.cred[1]+"</span></td><td>"+sc.loc[135]+"</td><td><span class='currency-experience'>"+s.p.fxp+"</span></td></tr><tr><td>"+s.p.gold[0]+"</td><td><span class='currency-gold'>"+s.p.gold[1]+"</span></td><td>"+s.p.bonds[0]+"</td><td><span class='currency-proxy'>"+s.p.bonds[1]+"</span></td></tr>"));
		}
		subMenu_class.appendChild(userData_list);
		userData_list.appendChild(statRefresh_div);
		userData_list.appendChild(statDate_div);

		// modify sidebar structure
		var sidebar_class = d.getElementsByClassName('l-sidebar')[0],
		recBlock_class = d.getElementsByClassName('js-recruitsation-block')[0],
		sidemsg_class = sf.elem("div", "l-side-msg");
		sidemsg_class.appendChild(recBlock_class);
		sidebar_class.appendChild(sidemsg_class);

		// removing elements
		var layoutfix_class = d.getElementsByClassName('b-hr-layoutfix');
		layoutfix_class[0].parentNode.removeChild(layoutfix_class[0]);

		// page navigation
		var menu_class = d.getElementsByClassName('cm-holder')[0],
		content_class = d.getElementsByClassName('l-content')[0];
		content_class.appendChild(sf.elem("div", "b-profile-nav", "<a class='bot' onclick='window.scrollTo(0, 0)'><span>"+sc.loc[2]+"</span></a>"));
		menu_class.appendChild(sf.elem("div", "b-profile-nav b-profile-nav-top", "<a class='top' onclick='window.scrollTo(0, 9999)'><span>"+sc.loc[1]+"</span></a>"));

		// profile wrapper
		var profile_div = sf.elem("div", "b-profile-wrpr"),
		profileHead_div = sf.elem("div", "b-profile-header", "<div id='js-clipBoard' style='display:none;'>"+s.l.clip+"</div>"),
		profileError_div = sf.elem("div", "b-profile-error");
		if (s.v.battles !== s.r.battles) {
			profileError_div.classList.add("b-display-table");
			profileError_div.textContent = sc.loc[68];
		}
		else {
			s.l.veh = " ";
		}
		profileName_class.lastElementChild.innerHTML += " - "+sf.format(s.r.days,2,0)+" "+sc.loc[3];
		profileName_class.parentNode.insertBefore(profile_div, profileName_class.nextSibling);
		profileHead_div.appendChild(profileError_div);
		fragment.appendChild(profileHead_div);

		// add client language as a flag
		profileName_header.appendChild(sf.elem("img", "i-profile-flag", "", {src:"https://bytebucket.org/seriych/worldoftanksforumextendedstat.user.js/raw/tip/data/img/lang/"+sc.stats.u.client_language+".png"}));
		// add style if on own profile and has premium
		if (wg.own && s.p.prem) {
			var profileName_tooltip = d.getElementById('js-profile-name_tooltip');
			profileName_header.classList.add("b-account-type__premium");
			profileName_tooltip.firstElementChild.textContent += " - "+s.p.prem[0]+" "+s.p.prem[1];
		}

		// player statistic links
		var profileStat_table = sf.elem("table", "t-profile-table"),
		profileStat_table_cells = [
			[
				[sc.loc[4]],
				[sc.srv.wl, "<a target='_blank' href='http://wotlabs.net/"+sc.srv.wl+"/player/"+wg.name+"'>WoTLabs</a>"],
				[sc.srv.nm, "<a target='_blank' href='http://noobmeter.com/player/"+sc.srv.nm+"/"+wg.name+"/"+wg.id+"'>Noobmeter</a>"],
				[sc.srv.ct, "<a target='_blank' href='http://clantools.us/servers/"+sc.srv.ct+"/players?id="+wg.id+"'>Clan Tools</a>"]
			],
			[
				[""],
				[sc.srv.ws, "<a target='_blank' href='http://wotstats.org/stats/"+sc.srv.ws+"/"+wg.name+"/'>WoTstats</a>"],
				[sc.srv.vb, "<a target='_blank' href='http://www.vbaddict.net/player/"+wg.name.toLowerCase()+"-"+sc.srv.vb+"'>vBAddict</a>"],
				(wg.srv=="ru") ? [sc.srv.kttc, "<a target='_blank' href='http://kttc.ru/statistics/user/"+wg.name+"/'>KTTC</a>"] : [sc.srv.wlf, "<a target='_blank' href='http://wot-life.com/"+sc.srv.wlf+"/player/"+wg.name+"/'>WoT-Life</a>"]
			],
			[
				[sc.loc[5]],
				[sc.srv.wl, "<a target='_blank' href='http://wotlabs.net/sig/"+sc.srv.wl+"/"+wg.name+"/signature.png'>"+sc.loc[6]+"</a>"],
				[sc.srv.wl, "<a target='_blank' href='http://wotlabs.net/sig_dark/"+sc.srv.wl+"/"+wg.name+"/signature.png'>"+sc.loc[7]+"</a>"]
			],
			[
				[sc.loc[8]],
				[sc.srv.wr, "<a target='_blank' href='http://wotreplays."+sc.srv.wr+"/player/"+wg.name+"'>WoTReplays</a>"],
				[sc.srv.we, sc.loc[80]],
				[sc.srv.we, "<a target='_blank' href='http://wotevent.guildity.com/players/"+wg.name+"/'>WoT Event Stats</a>"]
			]
		];
		sf.links(profileStat_table, profileStat_table_cells, "table");
		profileName_class.appendChild(profileStat_table);

		// clan handler
		var clanBlock = d.getElementById('js-clan-block-container'),
		cl_class = clanBlock.getElementsByTagName('a')[1],
		clanStat_table = sf.elem("table", "", "", {id: "js-profile-clan-table"}),
		clanLook = new MutationObserver(function() {
			cl_class = clanBlock.getElementsByTagName('a')[1];
			sf.clan();
			clanLook.disconnect();
		});
		// apply changes if and when clanBlock is modified
		if(cl_class) {
			sf.clan();
		}
		else {
			clanLook.observe(clanBlock, {childList: true});
		}

		// move player and clan blocks together
		var infoBlock_div = sf.elem("div", "b-info-block");
		infoBlock_div.appendChild(profileName_class);
		infoBlock_div.appendChild(clanBlock);
		fragment.appendChild(infoBlock_div);

		// player clan history
		var clanHist_div = sf.elem("div", "b-clanHistory-wrpr", "<span class='clanname'>"+sc.loc[73]+"</span><span>"+sc.loc[15]+"</span>");
		fragment.appendChild(clanHist_div);
		// clan history retrieval
		sf.request("historyData", sc.api.ch, sf.ch.hnd, sf.ch.error);

		// move fame points block, if it exists
		var fameClass = d.getElementById('js-knockout-fame-points'),
		fameMessage = d.getElementsByClassName('b-fame-message')[0];
		if (fameClass) {
			if (fameMessage.id == "js-fame-message-error") {
				fameClass.appendChild(fameMessage);
			}
			var fameHeader = d.getElementsByClassName('b-header-h3__user-account')[0],
			fameIndicator = d.getElementsByClassName('b-fame-indicators')[0],
			fameTime = d.getElementsByClassName('b-time')[0],
			fameLinkList = d.getElementsByClassName('b-link-list')[0];
			fameClass.insertBefore(fameHeader, fameClass.firstElementChild);
			fameLinkList.appendChild(sf.elem("li", "b-link-list_item"));
			fameLinkList.lastElementChild.appendChild(fameTime);
			fameIndicator.dataset.bind = "";
			fameIndicator.classList.add("b-fame-indicators__one-country");
			fragment.appendChild(fameClass);
		}
		else if (fameMessage) {
			var fameDiv = fameMessage.parentNode;
			fameDiv.id = "js-knockout-fame-points";
			fameDiv.className = "b-fame-points-empty";
			fragment.appendChild(fameDiv);
			userBlock_sparks.classList.add("b-user-block_sparks-radius");
		}
		else {
			userBlock_sparks.classList.add("b-user-block_sparks-radius");
		}

		// move marathon block, if it exists
		var marathonClass = d.getElementsByClassName('b-marathon')[0];
		if (marathonClass) {
			userBlock_wprp.appendChild(marathonClass);
		}

		// move sidebar
		fragment.appendChild(sidebar_class);
		profile_div.appendChild(fragment);
		// end profile wrapper

		// add background
		var background_div = sf.elem("div", "b-background", "<img src='"+css.l[5]+"'>");
		background_div.style.background = s.h.wn8;
		userBlock_sparks.insertBefore(background_div, userBlock_sparks.firstChild);

		// add hidden holders for banned and last battle messages
		var banInfo_div = sf.elem("div", "b-message-ban-holder", "<div class='b-message-error'><span>"+sc.loc[82]+" <span id='js-banInfo'>"+(new Date(sc.stats.u.ban_time*1000).toLocaleString(sc.date.format[wg.srv]))+"</span>.</span></div>"),
		lastBattle_div = sf.elem("div", "b-message-battle-holder", "<div class='b-message-battle b-message-info'><span>"+sc.loc[83]+" <span id='js-lastBattle'>"+(new Date(sc.stats.u.last_battle_time*1000).toLocaleString(sc.date.format[wg.srv]))+"</span>.</span></div>");
		userBlock_sparks.insertBefore(lastBattle_div, userBlock_sparks.firstChild.nextSibling);
		if (sc.stats.u.ban_time) {
			userBlock_sparks.insertBefore(banInfo_div, userBlock_sparks.firstChild.nextSibling);
		}

		// personal data - modify table - add ratings
		var persDataTable = d.getElementsByClassName('t-personal-data')[0];
		persDataTable.rows[0].cells[0].textContent = sc.loc[9]; // winrate
		persDataTable.rows[1].cells[0].innerHTML = s.l.winsR;
		persDataTable.rows[0].cells[1].textContent = sc.loc[10]; // battles
		persDataTable.rows[1].cells[1].innerHTML = s.l.batsC;
		persDataTable.rows[0].cells[1].parentNode.insertBefore(sf.elem("th", "t-personal-data_ico t-personal-data_ico__exp", sc.loc[11]), persDataTable.rows[0].cells[1].nextSibling); // xp
		persDataTable.rows[1].cells[1].parentNode.insertBefore(sf.elem("td", "t-personal-data_value", sf.format(s.r.battle_avg_xp,2)), persDataTable.rows[1].cells[1].nextSibling);
		persDataTable.rows[0].cells[4].textContent = sc.loc[69]; // hitrate
		persDataTable.rows[1].cells[3].innerHTML = s.l.hitsR;
		persDataTable.rows[0].cells[4].className = "t-personal-data_ico t-personal-data_ico__hitrate";
		persDataTable.rows[0].cells[5].textContent = sc.loc[70]; // damage
		persDataTable.rows[1].cells[4].innerHTML = s.l.dmgTier;
		persDataTable.rows[0].appendChild(sf.elem("th", "t-personal-data_ico t-personal-data_ico__tier", sc.loc[12])); // avg tier
		persDataTable.rows[1].appendChild(sf.elem("td", "t-personal-data_value", sf.format(s.a.tier,2,2)));
		persDataTable.appendChild(sf.elem("tbody", "t-ratings-info", "<tr><th colspan='2'><a href='http://www.wnefficiency.net/wnexpected/' target='_blank'>"+sc.loc[27]+" v"+sc.wn.v.wn8+"</a></th><th><a href='http://jaj22.org.uk/expvals.html' target='_blank'>"+sc.loc[26]+" v"+sc.wn.v.wn9+"</a></th><th></th><th>"+sc.loc[28]+"</th><th colspan='2'>"+sc.loc[29]+"</th></tr><tr><td colspan='2'>"+s.f.wn8.ratCol+"</td><td>"+s.f.wn9.ratCol+"</td><td></td><td>"+s.f.wn7.ratCol+"</td><td colspan='2'>"+s.f.eff.ratCol+"</td></tr>"));
		persDataTable.getElementsByClassName('t-personal-data_value__pr')[0].innerHTML = s.f.wgr.ratCol;

		// speedometer - win/loss ratio
		var smBody_class = d.getElementsByClassName('b-speedometer-body')[0],
		smWinWeight = (isFinite(s.r.winLR)) ? s.r.winLR : 1,
		smWinArrow = (isFinite(s.r.winLR)) ? Math.min(30*(s.r.winLR-1),31) : 0;
		smBody_class.appendChild(sf.elem("div", "b-speedometer", "<div class='b-speedometer_scale'></div><div class='b-speedometer-arrow' data-deg='"+smWinArrow+"' style='transform: rotate("+smWinArrow+"deg); -webkit-transform: rotate("+smWinArrow+"deg); -ms-transform: rotate("+smWinArrow+"deg);'></div><div class='b-speedometer-round'></div><p class='b-speedometer-title'>"+sc.loc[13]+"</p><p class='b-speedometer-weight'>"+sf.format(smWinWeight,2,2)+"</p><p class='b-speedometer-ratio'>"+sf.format(s.r.wins,2)+" / "+sf.format(s.r.losses,2)+"</p>"));

		// performance ratings calculations table
		var ratingsTable_div = sf.elem("div", "ratings-table", "<h3>"+sc.loc[16]+"</h3>"),
		ratingsTable = sf.elem("table", "t-table-ratings"),
		ratingsFragment = d.createDocumentFragment(),
		ratingsArr = [
			["", "", sc.loc[17], sc.loc[18], sc.loc[19], sc.loc[20], sc.loc[21], sc.loc[22], sc.loc[23], sc.loc[24], sc.loc[25]],
			["wn9", s.f.wn8.pct, sc.loc[26], s.f.wn9.ratCol, "–", "–", "–", "–", "–", "–", "–"],
			["wn8", s.f.wn8.pct, sc.loc[27], s.f.wn8.ratCol, s.f.wn8.scaleCol, sf.format(s.f.wn8.frag,2,2), sf.format(s.f.wn8.dmg,2,2), sf.format(s.f.wn8.spot,2,2), "–", sf.format(s.f.wn8.def,2,2), sf.format(s.f.wn8.win,2,2)],
			["wn7", s.f.wn7.pct, sc.loc[28], s.f.wn7.ratCol, s.f.wn7.scaleCol, sf.format(s.f.wn7.frag,2,2), sf.format(s.f.wn7.dmg,2,2), sf.format(s.f.wn7.spot,2,2), "–", sf.format(s.f.wn7.def,2,2), sf.format(s.f.wn7.win,2,2)],
			["eff", s.f.eff.pct, sc.loc[29], s.f.eff.ratCol, s.f.eff.scaleCol, sf.format(s.f.eff.frag,2,2), sf.format(s.f.eff.dmg,2,2), sf.format(s.f.eff.spot,2,2), sf.format(s.f.eff.cap,2,2), sf.format(s.f.eff.def,2,2), "–"]
		];
		for (var _r=0, _r_len = ratingsArr.length; _r<_r_len; ++_r) {
			var ratingsRow = sf.elem("tr");
			ratingsFragment.appendChild(ratingsRow);
			for (var _rc=2, _rc_len = ratingsArr[_r].length; _rc<_rc_len; ++_rc) {
				ratingsRow.appendChild(sf.elem("td", "td-center", ratingsArr[_r][_rc]));
			}
			if (_r !== 0) {
				ratingsFragment.appendChild(sf.elem("tr", "td-rating-meter", "<td colspan='9'><div class='rating-meter rating-meter_"+ratingsArr[_r][0]+"'><div class='rating-meter-dail_line' style='width:"+ratingsArr[_r][1]+"%;'><div class='rating-meter-marker'></div></div></div></td>"));
			}
			ratingsTable.appendChild(ratingsFragment);
		}
		ratingsTable_div.appendChild(ratingsTable);
		fragment.appendChild(ratingsTable_div);
		// link to WN thread
		fragment.appendChild(sf.elem("div", "wnelink", "<a class ='b-orange-arrow wnelink_info' target='_blank' href='http://wiki.wnefficiency.net/pages/WN8:_Summary'>"+sc.loc[31]+"</a>"));
		userBlock_sparks.appendChild(fragment);
		// end user block

		// statistics wrapper
		var statistics_wrpr = d.getElementsByClassName('b-result-classes')[0].parentNode;
		statistics_wrpr.className = "b-statistics-wrpr";
		while (statistics_wrpr.firstChild) {
			statistics_wrpr.removeChild(statistics_wrpr.firstChild);
		}
		userBlock_wprp.parentNode.insertBefore(statistics_wrpr, userBlock_wprp.nextSibling);

		// stat tabs framework and content
		var statTabs = sf.elem("div", "l-tabs l-tabs__top-indent", "<ul class='b-tabs-list'></ul><div class='b-fame-indicators b-fame-indicators__no-margin b-fame-indicators__one-country'><div class='b-tabs'></div><div class='b-stat-legend'>"+sc.loc[115]+"</br>"+sc.loc[116]+"</div></div>"),
		statFragment = d.createDocumentFragment(),
		statTabsMenu = statTabs.firstElementChild,
		statTabsParent = statTabs.lastElementChild.firstElementChild,
		statTabsMenuItems = [
			["user", sc.loc[99]],
			["more", sc.loc[100]],
			["clan", sc.loc[101]],
			["strong", sc.loc[105]],
			["team", sc.loc[108]],
			["other", sc.loc[110]]
		],
		statTabUser = sf.elem("div", "b-tab-user js-stat_active"),
		statTabMore = sf.elem("div", "b-tab-more"),
		statTables = [
			[
				[
					[sc.loc[38], s.l.veh, sf.format(s.r.battles,2)],
					[sc.loc[39], s.l.winsR, sf.format(s.r.wins,2)],
					[sc.loc[40], s.l.lossR, sf.format(s.r.losses,2)],
					[sc.loc[41], s.l.drawR, sf.format(s.r.draws,2)],
					[sc.loc[42], s.l.survR, sf.format(s.r.survived_battles,2)],
					[sc.loc[48], sf.color(s.a.deaths*100, "", 2, "%"), sf.format(s.r.deaths,2)],
					[sc.loc[43], "", sf.format(s.a.bats,2,2)],
					[sc.loc[44], sf.format(s.r.battle_avg_xp,2), sf.format(s.r.xp,2)],
					[sc.loc[98], "", sf.format(s.r.tanking_factor,2,2)]
				],
				[
					[sc.loc[47], sf.format(s.a.frag,2,2), sf.format(s.r.frags,2)],
					[sc.loc[49], sf.format(s.a.spot,2,2), sf.format(s.r.spotted,2)],
					[sc.loc[51], s.l.dmgTier, sf.format(s.r.damage_dealt,2)],
					[sc.loc[52], sf.format(s.a.dmgR,2,0), sf.format(s.r.damage_received,2)],
					[sc.loc[53], sf.format(s.a.caps,2,2), sf.format(s.r.capture_points,2)],
					[sc.loc[54], sf.format(s.a.defs,2,2), sf.format(s.r.dropped_capture_points,2)],
					[sc.loc[50], sf.color(s.r.hits/s.r.shots*100, "hr", 2, "%"), sf.format(s.r.hits,2)],
					[sc.loc[114], sf.color(s.r.piercings/s.r.hits*100, "", 2, "%"), sf.format(s.r.piercings,2)],
					[sc.loc[97], sf.format(s.a.cuts,2,2), sf.format(s.r.cuts,2)]
				],
				[
					["<img src='"+css.l[6]+"'>", sc.loc[32], s.b[4].c+"<span>("+sf.format(s.b[4].p,2,0)+"%)</span>"],
					["<img src='"+css.l[7]+"'>", sc.loc[33], s.b[3].c+"<span>("+sf.format(s.b[3].p,2,0)+"%)</span>"],
					["<img src='"+css.l[8]+"'>", sc.loc[34], s.b[2].c+"<span>("+sf.format(s.b[2].p,2,0)+"%)</span>"],
					["<img src='"+css.l[9]+"'>", sc.loc[35], s.b[1].c+"<span>("+sf.format(s.b[1].p,2,0)+"%)</span>"],
					["<img src='"+css.u.bad1+"'>", sc.loc[36], s.b[0].c+"<span>("+sf.format(s.b[0].p,2,0)+"%)</span>"],
					["<img src='"+css.u.bad2+"'>", sc.loc[37], s.b[5].c+"<span>("+sf.format(s.b[5].p,2,0)+"%)</span>"]
				],
				[
					["<img src='"+css.u.marks3+"'>", sc.loc[150], s.m[3].c+"<span>("+sf.format(s.m[3].p,2,0)+"%)</span>"],
					["<img src='"+css.u.marks2+"'>", sc.loc[151], s.m[2].c+"<span>("+sf.format(s.m[2].p,2,0)+"%)</span>"],
					["<img src='"+css.u.marks1+"'>", sc.loc[152], s.m[1].c+"<span>("+sf.format(s.m[1].p,2,0)+"%)</span>"],
					["", sc.loc[153], s.m[0].c+"<span>("+sf.format(s.m[0].p,2,0)+"%)</span>"],
					["<img src='"+css.u.marks3+"'>", sc.loc[154], s.m[4].c+"<span>("+sf.format(s.m[4].p,2,0)+"%)</span>"]
				],
				[
					["overall", sc.loc[148]],
					["battle", sc.loc[149]],
					["badges", sc.loc[131]],
					["marks", sc.loc[146]]
				]
			],
			[
				[
					[sc.loc[86], ((sc.pedia[s.r.max_damage_tank_id]) ? sc.pedia[s.r.max_damage_tank_id].name : sc.vehBackup[s.r.max_damage_tank_id][0]), sf.format(s.r.max_damage,2)],
					[sc.loc[87], ((sc.pedia[s.r.max_frags_tank_id]) ? sc.pedia[s.r.max_frags_tank_id].name : sc.vehBackup[s.r.max_frags_tank_id][0]), sf.format(s.r.max_frags,2)],
					[sc.loc[88], ((sc.pedia[s.r.max_xp_tank_id]) ? sc.pedia[s.r.max_xp_tank_id].name : sc.vehBackup[s.r.max_xp_tank_id][0]), sf.format(s.r.max_xp,2)],
					[sc.loc[89], sf.format(s.a.dmgA,2), sf.format(s.r.dmgA,2)],
					[sc.loc[90], sf.format(s.a.dmgAR,2), sf.format(s.r.dmgAR,2)],
					[sc.loc[91], sf.format(s.a.dmgAT,2), sf.format(s.r.dmgAT,2)]
				],
				[
					[sc.loc[92], sf.color(100, "", 2, "%"), sf.format(s.r.direct_hits_received,2)],
					[sc.loc[93], sf.color(s.a.recPens, "", 2, "%"), sf.format(s.r.piercings_received,2)],
					[sc.loc[94], sf.color(s.a.recNo, "", 2, "%"), sf.format(s.r.no_damage_direct_hits_received,2)],
					[sc.loc[95], sf.color(s.a.recExp, "", 2, "%"), sf.format(s.r.explosion_hits_received,2)],
					[sc.loc[96], sf.format(s.a.dmgB,2), sf.format(s.r.dmgB,2)],
					[sc.loc[98], "", sf.format(s.r.tanking_factor,2,2)]
				],
				[
					sc.loc[84],
					sc.loc[85]
				]
			],
			[
				[
					["globalmap_absolute", sc.loc[104]],
					["globalmap_champion", sc.loc[103]],
					["globalmap_middle", sc.loc[102]]
				],
				[
					["stronghold_skirmish", sc.loc[106]],
					["stronghold_defense", sc.loc[107]]
				],
				[
					["team", sc.loc[108]],
					["regular_team", sc.loc[109]]
				],
				[
					["fallout", sc.loc[111]],
					["historical", sc.loc[112]],
					["company", sc.loc[113]]
				],
				[
					"clan",
					"strong",
					"team",
					"other"
				]
			]
		];
		// create the menu
		for (var _tm=0, _tm_len = statTabsMenuItems.length; _tm<_tm_len; ++_tm) {
			var tabMenuItem = sf.elem("li", "b-tabs-list_item b-tabs-list_"+statTabsMenuItems[_tm][0], "<a class='b-tabs-list_link' href='#' onClick='return false;'>"+statTabsMenuItems[_tm][1]+"</a>");
			tabMenuItem.dataset.ref = "b-tab-"+statTabsMenuItems[_tm][0];
			if (statTabsMenuItems[_tm][0] == "user") {
				tabMenuItem.classList.add("js-tabs__active");
			}
			tabMenuItem.addEventListener('click', sf.tabs, false);
			statFragment.appendChild(tabMenuItem);
		}
		statTabsMenu.appendChild(statFragment);
		// add new values for the official tables and extended tables
		for (var _s=0, _s_len = statTables.length; _s<(_s_len-1); ++_s) {
			for (var _st=0, _st_len = statTables[_s].length; _st<(_st_len-1); ++_st) {
				var newTable = sf.elem("div", "b-result", "<h3></h3><table class='t-dotted t-dotted__fixed'></table>");
				for (var _sr=0, _sr_len = statTables[_s][_st].length; _sr<_sr_len; ++_sr) {
					statFragment.appendChild(sf.elem("tr", "", "<td class='"+((_st >= 2) ? 't-dotted_class-ico t-dotted_minor__middle' : 't-dotted_minor')+"'>"+statTables[_s][_st][_sr][0]+"</td><td class='"+((_st >= 2) ? 't-dotted_minor t-dotted_minor__middle' : 't-dotted_value')+"'>"+statTables[_s][_st][_sr][1]+"</td><td class='"+((_st >= 2) ? 't-dotted_value t-dotted_minor__middle' : 't-dotted_value')+"'>"+statTables[_s][_st][_sr][2]+"</td>"));
				}
				newTable.lastElementChild.appendChild(statFragment);
				switch(_s) {
					case (0):
						newTable.classList.add("b-result-"+statTables[0][4][_st][0]);
						newTable.firstElementChild.innerHTML = statTables[0][4][_st][1];
						statTabUser.appendChild(newTable);
						break;
					case (1):
						newTable.classList.add("b-result-"+statTabsMenuItems[1][0]);
						newTable.firstElementChild.innerHTML = statTables[1][2][_st];
						statTabMore.appendChild(newTable);
						break;
					default:
						break;
				}
			}
		}
		fragment.appendChild(statTabUser);
		fragment.appendChild(statTabMore);
		// add new tables with stats from relevant gamemodes
		for (var _mt=0, _mt_len = statTables[2].length; _mt<(_mt_len-1); ++_mt) {
			var newModeTab = sf.elem("div", "b-tab-"+statTables[2][4][_mt]);
			for (var _gm=0, _gm_len = statTables[2][_mt].length; _gm<_gm_len; ++_gm) {
				var modeStats = userStats[statTables[2][_mt][_gm][0]],
				modeStatsArr = [
					[sc.loc[38], "", sf.format(modeStats.battles,2)],
					[sc.loc[39], sf.color(modeStats.wins/modeStats.battles*100, "wr", 2, "%"), sf.format(modeStats.wins,2)],
					[sc.loc[40], sf.color(modeStats.losses/modeStats.battles*100, "lr", 2, "%"), sf.format(modeStats.losses,2)],
					[sc.loc[41], sf.color(modeStats.draws/modeStats.battles*100, "", 2, "%"), sf.format(modeStats.draws,2)],
					[sc.loc[42], sf.color(modeStats.survived_battles/modeStats.battles*100, "sr", 2, "%"), sf.format(modeStats.survived_battles,2)],
					[sc.loc[44], sf.format(modeStats.xp/modeStats.battles,2), sf.format(modeStats.xp,2)],
					[sc.loc[51], sf.format(modeStats.damage_dealt/modeStats.battles,2), sf.format(modeStats.damage_dealt,2)],
					[sc.loc[98], "", sf.format(modeStats.tanking_factor,2,2)],
					[sc.loc[50], "", sf.color(modeStats.hits/modeStats.shots*100, "hr", 2, "%")]
				],
				newTableMode = sf.elem("div", "b-result", "<h3>"+statTables[2][_mt][_gm][1]+"</h3><table class='t-dotted t-dotted__fixed'></table>");
				for (var _ms=0, _ms_len = modeStatsArr.length; _ms<_ms_len; ++_ms) {
					statFragment.appendChild(sf.elem("tr", "", "<td class='t-dotted_minor'>"+modeStatsArr[_ms][0]+"</td><td class='t-dotted_value'>"+modeStatsArr[_ms][1]+"</td><td class='t-dotted_value'>"+modeStatsArr[_ms][2]+"</td>"));
				}
				newTableMode.lastElementChild.appendChild(statFragment);
				newModeTab.appendChild(newTableMode);
			}
			fragment.appendChild(newModeTab);
		}
		statTabsParent.appendChild(fragment);
		statistics_wrpr.appendChild(statTabs);
		// end statistics wrapper

		// cake diagrams - adding tier diagram - delayed insertion
		var diagSector_class = d.getElementsByClassName('b-diagrams-sector')[0],
		diagSector_id = d.getElementById('diagrams-sector'),
		diagLook = new MutationObserver(function() {
			sf.cake();
		});
		if (diagSector_id.firstElementChild.childElementCount) {
			sf.cake();
		}
		else {
			diagLook.observe(diagSector_id, {childList: true});
		}

		// achievements wrapper and fix special medals margin
		var medalWrpr_class = d.getElementsByClassName('js-all-achievements')[0],
		medalHeader_class = d.getElementsByClassName('js-achievements-header')[0],
		medalSpecial_class = d.getElementsByClassName('b-achivements')[7],
		medalLook = new MutationObserver(function() {
			medalSpecial_class = d.getElementsByClassName('b-achivements')[7];
			if (medalSpecial_class) {
				sf.medals();
			}
		});
		if (medalSpecial_class) {
			sf.medals();
		}
		else {
			medalLook.observe(medalWrpr_class.children[3], {childList: true});
		}
		medalHeader_class.parentNode.insertBefore(medalWrpr_class.lastElementChild, medalHeader_class.nextSibling);
		diagSector_class.parentNode.insertBefore(medalWrpr_class, diagSector_class.nextSibling);
		diagSector_class.parentNode.insertBefore(layoutfix_class[0], diagSector_class.nextSibling);

		// vehicles wrapper
		var vehTable_class = d.getElementsByClassName('t-profile__vehicle')[0],
		vehicles_div = sf.elem("div", "b-vehicles-wrpr"),
		vehiclesHeader_class = vehTable_class.previousElementSibling.previousElementSibling,
		vehiclesHeader_div = sf.elem("div", "b-vehicles-header", "<a class='b-orange-arrow b-profile-ratings_link' target='_blank' href='/encyclopedia/vehicles/'>"+sc.loc[59]+"</a><span class='b-profile-vehicles-tankstat'><a class='b-orange-arrow b-profile-ratings_link b-profile-vehicles-tankstat_link' target='_blank' href='http://www.vbaddict.net/statistics.php?server="+((wg.srv == "ru") ? "net" : sc.srv.vb)+"'>vBAddict: "+sc.loc[60]+"</a></span>"),
		vehTable_table = sf.elem("table", "t-profile sortable", "<thead><tr><th width='275'><span class='t-profile_vehicle-head'>"+sc.loc[129]+"</span></th><th data-sort-method='number'><span class='t-profile_vehicle-head'>"+sc.loc[57]+"</span></th><th data-sort-method='number' data-sort-order='desc'><span class='t-profile_vehicle-head'>"+sc.loc[143]+"</span></th><th class='t-profile_center sort-default' data-sort-method='number'><span class='t-profile_vehicle-head'>"+sc.loc[130]+"</span></th><th class='t-profile_center'><span class='t-profile_vehicle-head'>"+sc.loc[25]+"</span></th><th class='t-profile_center' data-sort-method='number'><span class='t-profile_vehicle-head'>"+sc.loc[27]+"</span></th><th class='t-profile_center' data-sort-method='number'><span class='t-profile_vehicle-head'>"+sc.loc[26]+"</span></th><th class='t-profile_center' data-sort-method='number'><span class='t-profile_vehicle-head'>"+sc.loc[44]+"</span></th><th class='t-profile_center' data-sort-method='number'><span class='t-profile_vehicle-head'>"+sc.loc[21]+"</span></th><th class='t-profile_center'><span class='t-profile_vehicle-head'>"+sc.loc[131]+"</span></th><th class='t-profile_center'><span class='t-profile_vehicle-head'>"+sc.loc[146]+"</span></th></tr></thead>"),
		vehTypes = [
			["lightTank", sc.loc[124]],
			["mediumTank", sc.loc[125]],
			["heavyTank", sc.loc[126]],
			["AT-SPG", sc.loc[127]],
			["SPG", sc.loc[128]],
			["prem", sc.loc[61]],
			["ten", sc.loc[67]],
			["super", sc.loc[123]],
			["zero", sc.loc[145]],
			["miss", sc.loc[77]]
		],
		vehTiers = ["I","II","III","IV","V","VI","VII","VIII","IX","X"],
		vehNations = {"ussr": 1, "germany": 2, "usa": 3, "france": 4, "uk": 5, "china": 6, "japan": 7, "czech": 8, "sweden": 9, "poland": 10},
		masteryIcons = ["none","3","2","1","ace"],
		marksIcons = ["none", "marks1", "marks2", "marks3"];
		vehiclesHeader_class.className = "b-profile-ratings_title";
		vehiclesHeader_div.insertBefore(vehiclesHeader_class, vehiclesHeader_div.firstChild);
		vehTable_class.parentNode.insertBefore(vehicles_div, vehTable_class);
		fragment.appendChild(vehiclesHeader_div);
		fragment.appendChild(vehTable_table);
		vehicles_div.appendChild(fragment);
		for (var _vt=0, _vt_len = vehTypes.length; _vt<_vt_len; ++_vt) {
			var vehicleGroup = vehTypes[_vt][0],
			vehicleSubs = s.s[vehicleGroup].r;
			if (vehicleSubs.length === 0 || (vehicleGroup == "miss" && !sc.debug)) {
				continue;
			}
			else {
				var vehicleFragment = d.createDocumentFragment(),
				vehicleCategoryHead = sf.elem("tbody", "", "<tr class='t-profile_tankstype no-sort'><td class='t-profile_head' colspan='3'><span class='b-tankstype-ico b-tankstype-ico__"+vehTypes[_vt][0].toLowerCase()+"'></span><span class='b-tankstype-text'><span>"+vehTypes[_vt][1]+"</span><span class='b-armory-col'>"+vehicleSubs.length+"</span></span></td><td class='b-display-none'></td><td class='b-display-none'></td><td class='t-profile_center'>"+sf.format(s.s[vehicleGroup].bd,2)+"</td><td class='t-profile_center'>"+sf.color((s.s[vehicleGroup].w/s.s[vehicleGroup].bd)*100, "wr", 2, "%")+"</td><td class='t-profile_center'>"+sf.color(s.s[vehicleGroup].wn8,"wn8",2,"","f")+"</td><td class='t-profile_center'>"+sf.color(s.s[vehicleGroup].wn9,"wn9",2,"","f")+"</td><td class='t-profile_center'>&#9776;</td><td class='t-profile_center'>&#9776;</td><td class='t-profile_center'>"+s.s[vehicleGroup].bg+"</td><td class='t-profile_center'>"+s.s[vehicleGroup].m+"</td></tr>"),
				vehicleCategoryBody = sf.elem("tbody", "b-display-none");
				vehicleCategoryHead.addEventListener('click', function() {
					this.classList.toggle("t-tableClassHeader-open");
					this.nextElementSibling.classList.toggle("b-display-none");
				}, false);
				for (var _vr=0, _vr_len = vehicleSubs.length; _vr<_vr_len; ++_vr) {
					var vehStat = sc.stats.v[vehicleSubs[_vr]],
					vehRow = sf.elem("tr", "t-profile_tankstype t-profile_tankstype__item", "<td class='t-profile_armory-icon' colspan='3' data-sort='"+vehStat.name+"'><div class='b-armory-wrapper b-armory-wrapper__"+vehStat.nation+"'><span class='b-armory-level'>"+vehTiers[vehStat.tier-1]+"</span><img class='png' src='http://dav-static."+wg.host+"//ptlwot"+wg.img+"/wot/current/vehicle/"+vehStat.nation+"-"+vehStat.tag+".png' onerror='this.onerror=null;this.classList.add(\"imgError\");this.src=\"http://worldoftanks."+((wg.srv == "na") ? "com" : wg.srv)+"/static/4.2.5/wotp_static/img/tankopedia_new/frontend/scss/tankopedia-detail/img/tanks/default_image_resized.png\";'>"+((vehStat.test) ? "<img class='i-super_icon' src='"+css.u.testOverlay+"'>" : "")+"</div><span class='b-name-vehicle"+((vehStat.prem) ? " b-gold-name" : "")+"'><a target='_blank' href='http://worldoftanks."+((wg.srv == "na") ? "com" : wg.srv)+"/tankopedia/"+vehStat.tag+"'>"+vehStat.name+"<i class='link_icon'></i></a>"+((vehStat.miss[0]) ? "<span class='b-debug-name'>"+vehStat.miss[1]+"</span>" : "")+"</span></td><td class='b-display-none' data-sort='"+vehStat.tier+"'></td><td class='b-display-none' data-sort='"+vehNations[vehStat.nation]+"'></td><td class='t-profile_center' data-sort='"+vehStat.all.battles+"'>"+sf.format(vehStat.all.battles,2)+"</td><td class='t-profile_center' data-sort='"+vehStat.all.wins/vehStat.all.battles+"'>"+sf.color((vehStat.all.wins/vehStat.all.battles)*100, "wr", 2, "%")+"</td><td class='t-profile_center' data-sort='"+vehStat.wn8.rat+"'>"+sf.color(vehStat.wn8.rat,"wn8",2,"","f")+"</td><td class='t-profile_center' data-sort='"+vehStat.wn9.rat+"'>"+sf.color(vehStat.wn9.rat,"wn9",2,"","f")+"</td><td class='t-profile_center' data-sort='"+vehStat.all.battle_avg_xp+"'>"+sf.format(vehStat.all.battle_avg_xp,2)+"</td><td class='t-profile_center' data-sort='"+vehStat.all.damage_dealt/vehStat.all.battles+"'>"+sf.format(vehStat.all.damage_dealt/vehStat.all.battles,2)+"</td><td class='t-profile_ico-class' data-sort='"+vehStat.mark_of_mastery+"'>"+((vehStat.mark_of_mastery > 0) ? "<img src='//static-ptl-eu.gcdn.co/static/4.3.4/common/img/classes/class-"+masteryIcons[vehStat.mark_of_mastery]+".png'>" : "-")+"</td><td class='t-profile_center' data-sort='"+vehStat.marksOnGun+"'>"+((vehStat.marksOnGun > 0) ? "<img src='"+css.u[marksIcons[vehStat.marksOnGun]]+"'>" : "-")+"</td>",{id: vehStat.tank_id}),
					vehExtRow = sf.elem("tr", "t-profile_tanksextended b-display-none js_ext_"+vehTypes[_vt][0]+"_"+vehStat.tank_id, "<td class='t-profile_armory-icon' colspan='11' data-sort='"+vehStat.name+"_0'><div class='b-vehicle-stats'><div class='b-vehicle-stats_tables'><table class='t-dotted t-vehicle-stats' cellspacing='0' cellpadding='0'><tbody><tr><td>"+sc.loc[44]+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.xp/vehStat.all.battles,2)+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.xp,2)+"</td></tr><tr><td>"+sc.loc[20]+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.frags/vehStat.all.battles,2,2)+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.frags,2)+"</td></tr><tr><td>"+sc.loc[22]+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.spotted/vehStat.all.battles,2,2)+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.spotted,2)+"</td></tr><tr><td>"+sc.loc[21]+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.damage_dealt/vehStat.all.battles,2,2)+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.damage_dealt,2)+"</td></tr><tr><td>"+sc.loc[50]+"</td><td class='t-dotted_value'>"+sf.color(vehStat.all.hits/vehStat.all.shots*100, "hr", 2, "%")+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.hits,2)+"</td></tr><tr></tr></tbody></table><table class='t-dotted t-vehicle-stats' cellspacing='0' cellpadding='0'><tbody><tr><td>"+sc.loc[53]+"</td><td></td><td class='t-dotted_value'>"+sf.format(vehStat.all.capture_points/vehStat.all.battles,2,2)+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.capture_points,2)+"</td></tr><tr><td>"+sc.loc[54]+"</td><td></td><td class='t-dotted_value'>"+sf.format(vehStat.all.dropped_capture_points/vehStat.all.battles,2,2)+"</td><td class='t-dotted_value'>"+sf.format(vehStat.all.dropped_capture_points,2)+"</td></tr><tr><td>"+sc.loc[88]+"</td><td></td><td></td><td class='t-dotted_value'>"+sf.format(vehStat.max_xp,2)+"</td></tr><tr><td>"+sc.loc[87]+"</td><td></td><td></td><td class='t-dotted_value'>"+sf.format(vehStat.max_frags,2)+"</td></tr><tr><td>"+sc.loc[26]+"</td><td class='t-dotted_value'></td><td></td><td class='t-dotted_value'>"+sf.color(vehStat.wn9.rat,"wn9",2,"","f")+"</td></tr></tbody></table></div></div></td><td class='b-display-none'>"+vehStat.tier+".0</td><td class='b-display-none'>"+vehNations[vehStat.nation]+".0</td><td class='b-display-none'>"+vehStat.all.battles+".0</td><td class='b-display-none'>"+vehStat.all.wins/vehStat.all.battles+"0</td><td class='b-display-none'>"+vehStat.wn8.rat+"0</td><td class='b-display-none'>"+vehStat.wn9.rat+"0</td><td class='b-display-none'>"+vehStat.all.battle_avg_xp+".0</td><td class='b-display-none'>"+vehStat.all.damage_dealt/vehStat.all.battles+".0</td><td class='b-display-none'>"+vehStat.mark_of_mastery+".0</td><td class='b-display-none'>"+vehStat.marksOnGun+".0</td>");
					vehRow.dataset.extend = "js_ext_"+vehTypes[_vt][0]+"_"+vehStat.tank_id;
					vehRow.addEventListener('click', function(click) {
						if (!this.lastElementChild.contains(click.target)) {
							var panelChecker = d.getElementsByClassName(this.getAttribute('data-extend'))[0];
							panelChecker.classList.toggle("b-display-none");
						}
					}, false);
					vehicleFragment.appendChild(vehRow);
					vehicleFragment.appendChild(vehExtRow);
				}
				vehicleCategoryBody.appendChild(vehicleFragment);
				fragment.appendChild(vehicleCategoryHead);
				fragment.appendChild(vehicleCategoryBody);
			}
		}
		vehTable_table.appendChild(fragment);
		vehTable_class.parentNode.removeChild(vehTable_class);

		// activate tablesort function
		var sortTable = false;
		if (w.Tablesort) {
			// Numeric sort
			w.Tablesort.extend('number', function(item) {
				return item.match(/^-?(\d)*-?([,\.]){0,1}-?(\d)+([E,e][\-+][\d]+)?%?$/); // Number
			}, function(a, b) {
				a = parseFloat(a);
				b = parseFloat(b);

				a = isNaN(a) ? 0 : a;
				b = isNaN(b) ? 0 : b;
				return a - b;
			});
			sortTable = new w.Tablesort(vehTable_table) ;
		}
		else {
			w.alert("Error activating tablesort, please refresh - if this shit continues, poke Orrie");
		}
	}
	else {
		// add a message informing that the script is disabled
		profileName_class.appendChild(sf.elem("div", "b-script-disabled", sc.loc[64]));
		styleText.push(
			".b-script-disabled {background-color: rgb(27, 27, 28); border: 1px solid rgba(255,255,255,0.04); border-bottom: none; border-radius: 15px 15px 0px 0px; box-shadow: 0px 0px 5px 4px rgba(0, 0, 0, 0.15) inset; color: #CD3333; line-height: 25px; margin: 10px 0 -15px 0px; text-align: center; width: 684px;}",
			".b-profile-clan {margin: 0;}",
			".content-wrapper__old p.b-statistic_item {margin: 0;}"
		);
		style.textContent = styleText.join("");
	} // end tableBattles
	}
	catch(error) {
		console.log(error.message+" at "+error.lineNumber, error);
	}
}(window));