There are 1 previous version of this script.
the source is over 100KB, syntax highlighting in the browser is too slow
/*
____ _____ _
/ __ \ | __ \ | |
| | | |_ __ ___ ___ __ _ __ _ | |__) |_ _ ___| | __
| | | | '_ ` _ \ / _ \/ _` |/ _` | | ___/ _` |/ __| |/ /
| |__| | | | | | | __/ (_| | (_| | | | | (_| | (__| <
\____/|_| |_| |_|\___|\__, |\__,_| |_| \__,_|\___|_|\_\
__/ |
|___/
VERSION 0.5.8 SSU
*/
// ==UserScript==
// @name OmegaPack
// @author THSK
// @description OmegaPack v0.6.4 norme SSU pour OGame.FR
// @language FR
// @include http://*.ogame.fr/game/index.php*
// ==/UserScript==
//§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ TEST SPEED
var start = new Date().getTime();
/* Résultats TOUTES OPTIONS ACTIVEES tests-speed, optimisations :
Machine témoin : Firefox 3.0.4 / Vista 32 bits / Intel Q6600 / 3GB RAM
Vue générale : 9ms
Batiments : 18ms sur planète avec tous les batiments débloqués
Ressources : 5 ms
Defense : 8 ms
Techtree ou Recherche (Ã vide) : 2 ms
Evolutions des vitesses d'execution selon les versions [max/Ã vide] :
0.1b1 : [76/24]
0.1b2 : [62/23] Structure du code : modules séparés selon l'URL
0.1 : [58/17] Code réécrit plus léger
0.2b1 : [48/4] Optimisation majeure par ajout de conditions supplémentaires, mise en place de variables communes globales, réécriture des boucles
0.2b2 : [37/2] Optimisation majeure par écriture de fonctions et introduction de regexp. Les temps sont divisés par deux et la longueur du code par quatre.
Code encodé en UFT-8 pour mettre fin au problème des accents.
0.2 : [25/2] Optimisation majeure (eh oui on arrête pas le progrès) grâce à la mise en cache des objets : http://www.javascriptkit.com/javatutors/efficientjs.shtml
0.3 : [28/2] Le passage à la SSU augmente légèrement le temps d'éxécution à vide mais on constate une baisse dans certaines pages
0.5 : [18/2] Avec le retrait d'InfoCompte, on gagne 60% de temps d'éxécution, mais le reste du code a peu changé
*/
// @@@@@@@@@@@@@@@@@@@ UTILISATION DE LA LIBRAIRIE SSU
var thisData = {
namespace: 'OmegaPack', // Nom simplifié. Doit être unique.
name: "Omega Pack SSU pour OGame.fr v0.84", // Nom complet
version: '0.6.4', // Version du script
scriptURL: 'http://oscript.olympe-network.com/produits/omegapack/omegapack.user.js', // Lien pour installer le script
options: showOptions, // Options
}
/*// changelog::start
v 0.6.4
Amélioration au niveau de la transformation des Smilies en images.
v 0.6.3
Amélioration de la prévisualisation des messages : correction d'un bug et augmentation de la fréquence d'actualisation automatique (toute les demi secondes).
v 0.6.2
Correction d'un problème au niveau de la correspondance des images : les smilles ne renvoyaient pas l'image correspondance !
v 0.6.1
Optimisations et modification du décompte du nombre de caractères restants.
v 0.6.0
Mise à jour by Gollum : Corrections au niveau des smilies (les images sont incluses dans le scripts (plus de problèmes de liens morts), améliorations du gestionnaire de BBCode).
v 0.5.8
Retouche de la barre OG Ranks, ajout du pourcentage avant le prochain niveau
Possibilité de choisir un indicateur discret (*) dans les options de Ressources dynamiques
(DEBUG) La barre reste remplie une fois les 100% atteints
(DEBUG) Correction d'un bug de division par zéro sur Def Analyser
v 0.5.7
Nouvelles barres pour OG Ranks, de la couleur de votre choix
/!\ IL FAUT CHOISIR LA NOUVELLE COULEUR DANS LES OPTIONS POUR QUE LES BARRES S'AFFICHENT /!\
Bug (peut-être) corrigé pour la barre de progression de constructions
Bug corrigé page Lunes
v 0.5.6
Signature de Messages Ingame Plus conservée dans les options
Correction d'un bug CSS sur certains skins
Correction d'un bug après envoi de mail co
v 0.5.5
Affichage des ressources en état de saturation débuggé sur certains skins
v 0.5.4
Bug prévisualisation messages corrigé
Un conflit en moins avec Evaluate Tool
v 0.5.3
Ajout du temps restant avant saturation des hangars en tooltip sur la page ressources
Corrections diverses
v 0.5.1
Dégradé de Couleur des barres de hangars corrigé
Nouvelle icone pour le bbcode de Def Analyser
Nouvelle option : Déplacement ou pas de la construction en cours en haut de page
Le texte de la barre de progression de construction est centré sur la barre arrière
On cache au lieu de supprimer les cellules Nombre et Description
v 0.5
Lancement du script sur le fofo off.
Un menu d'options tout mignon
Doléances des testeurs entendues !
Encore un crash évité, en page Notes
// changelog::end*/
var declareFun = {
fun: ['Bip', 'addElem', 'updateStatus','doTheBlack','$', '$E','setReload','addTip'],
proto: ['getMatch','toStr','toNum'],
vari: ['DATA','activ','actualTime']
};
switch (unsafeWindow.ssu) {
case undefined:
unsafeWindow.ssu = false;
return alert("Ce script nécessite un autre script pour fonctionner : \"Seyguai's Scripts Utilities\" disponible ici : http://seyguai.free.fr/Ogame/.\n\nSi toutefois ce script est déjà installé, veuillez le placer en première position dans la liste des autres scripts GreaseMonkey.");
case false:
return;
case 'error':
unsafeWindow.ssu = false;
return alert("Une erreur s'est produite lors de l'éxécution de la librairie \"Seyguai's Scripts Utilities\". Désinstallez le script et renseignez-vous sur le topic du script");
}
eval(unsafeWindow.ssu.fun.evalFunctions(declareFun));
if (unsafeWindow.ssu.fun.addScript(thisData)) return;
var defaultOptions="1;1;1;1;1;1;1;255,0,0;0,255,0;200;200;1;1;1;255,0,0;0,255,0;'';1;1;1;1;0,0,0;1;0,0,0;80;1;0,255,255";
var options=GM_getValue("options",defaultOptions).split(/;/);
//Signature personnalisée pour MESSAGES INGAME PLUS
if (options[16].length>2) {var signatureperso = "\n_____________________________\n" + options[16];} else {var signatureperso = false;}
//Déclaration des variables globales :
function IMG() {
var img = new Array();
img.push(new Array('8o', '8o', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAPAA8AQAVzoCSKQFmOpMIsLKMkyFEMAiABT6A/zqIHBRupQDQJjkIS5AFxNFwIgxDQcPycjB+hdkMgEgnTgMZF3UxJcwn7Oo0Aywizp4gFbw5IABBo+vgFNQAMVQ5sCQcGNCUJCo4KJgdjSDcGB5cAQWRlJABHn24SIQA7'));
img.push(new Array(':tongue:', ':tongue:', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABEALAAAAAAPAA8AQAVtYCSKQFmOpAIsLKMkyFEAAhABD/48zqIggNkoWCgQBgOB0jaEPCCOhgthYAIaDidU+jMQajcEImEqJcGoWzk9BERdZCbJaXKYZDa3cwf1xQo1AAxYDm8vBwZJJQkqZWVLNwYHkyZnaCQ0SktyIQA7'));
img.push(new Array(':evil:', ':evil:', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAPAA8AQAVzoCSKQFmOpMIsLKMkyFEMAiABT/k8zqKUBRupQCQMSoIaCgB5QBwNF8IgBDQcEFPDZCAoAQhEYpw4HAFK1M0kVK+hrsRpxHxEnD1FLHjD5pg9JTI1AAxXDnAvBwY0JQkKkJAwZmhfBgeYBkRIaSSVSYQjIQA7'));
img.push(new Array(':baby:', ':baby:', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///5ums6SuuqOtuamyvay1wKu0v4uYp5Whrp6ptZ2otK+4wrC5w7nByre/yHeHmLK7xLzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABMALAAAAAAPAA8AAAVw4CSKQFmO6FRGAFMMJwo4jwM0wKsA4/xINYDhRVjwVL+HMjIcFHmACK3kYJaKiFJDumowSgpBtrWNRLxERWJcYBgMputiXRoUCoCDXg9YZ1UDMAcQhAcACH8qCgR5e4aIRyoLRnGQKSWImTEpKnEpIQA7'));
img.push(new Array(':rolleyes:', ':rolleyes:', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABEALAAAAAAPAA8AQAVrYCSKQFmOpMIsJaMkZTEIQAQ8JuDkRU0WQMJgJqChAJAHxNFwIQw+QAOp3DmhRgACkegmDgNA0XfMocpMF4xsS5aWLMChZ9vhkID4QdyaOqwAXwAzJQkKh4cJCGBENQAGB3s5RUYjJZRjZCEAOw=='));
img.push(new Array(';)', ';\\)', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAPAA8AQAVxoCSKQFmOpMIsLKMkyFEMAiABD/7kSynbpIKQMKAJaigA5AFxNFwIAxDQcCybT0WUgAQgEICE+DAAHIFJExp1AzhdidNI+YgwHQvt72bNlfA+BTUADFUOby8HBjQlCQoACpEwZGZdBgcHapVIc5tnaCEAOw=='));
img.push(new Array(':P', ':P', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzG5/kTlCS////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABQALAAAAAAPAA8AQAVzICWKQFmOpMIAy8IoCXIAgwBQwBOVj7OUh8KNVCiaBMghCfKAOBovhGEIaDiYTqhCSrDhEIgEQDKR0JIokkmZLj1fYjaAGWn6tsEb4PooOX8AQTYADFYObzAHBjUlCQoKayY1XgAGBzMSmQBIXiMlnElKIQA7'));
img.push(new Array(':))', ':\\)\\)', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAPAA8AQAVzoCSKQFmOpMIAy8IoCXIAgwBIwBM9ubMAssKNVCgSBjWBDQWAPCCOxgthGAIaDicguqISlkAEIEE+DADKIdOkRuG2Uthp1NQ1fcCDEJd98KA/QTYADFgOVy8ABwY1JQkKAAqSMWZoYAYHM2xKS3SWnHMSIQA7'));
img.push(new Array(':)', ':\\)', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAPAA8AQAVxoCSKQFmOpMIsLKMkyFEMAiABT1Q+zlLKNlJhSBjQBDUUAPKAOBouhCEIaDiYTqhCSkgCEAhAYnwYAJBBpSmNugGersRptMw1e1vg7fooOX0AMjUADFYOcC8HBjQlCQoACpEwZWdeBgcHa5VJdJtoaSEAOw=='));
img.push(new Array('X(', 'X\\(', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAPAA8AQAVxoCSKQFmOpMIsi1kexSAAEvBE5QO0AEyThSBhIBPMUACIztFgABCGH6DhUEKYDAWUcHwCEuDEgQg4omqu86iEVSROa2VkCdD6alVd0sGDzQAMVA5tYgYyJQkKCnVuCAcARTQABgeVBkFFZiRlRkZwEiEAOw=='));
img.push(new Array(':O', ':O', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAPAA8AQAVtoCSKQFmOpMIsi1kexSAAEvDYtwMoCFDQpIKQMJAJZigA5AFxNBg8AxDQcCybzygBCUAgEoBE4gAwApMuFNoJBZ9rywjTseDBaADrTUl/FWYADFUOOiVjBjKGCosuZWY1BgeSJkZIIyVHmSciIQA7'));
img.push(new Array('?(', '\\?\\(', 'data:image/gif;base64,R0lGODlhDwAWAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8IycpJSkrJyktJystKSsvKy0vKy0xKy8xLS8xMTExLS8zLzEzP/78EwoHEwcKChMHBxMKCgcTBwoTGxYIKB8WOioaFQwEFw4KCAgEEggEHAgEJggEMAgEOggECAgSEggSHAgSJggSMAgSOggSCAggEgggHAggJgggMAggOgggCAguEgguHAguJgguMAguOgguCAg8Egg8HAg8Jgg8MAg8Ogg8HxMMIxUOCBIEEhIEHBIEJhIEMBIEOhIECBISEhISHBISJhISMBISOhISCBIgEhIgHBIgJhIgMBIgOhIgCBIuEhIuHBIuJhIuMBIuOhIuCBI8EhI8HBI8JhI8MBI8OhI8JhcQKhkTCBwEEhwEHBwEJhwEMBwEOhwECBwSEhwSHBwSJhwSMBwSOhwSCBwgEhwgHBwgJhwgMBwgOhwgCBwuEhwuHBwuJhwuMBwuOhwuCBw8Ehw8HBw8Jhw8MBw8Ohw8LB0YLyIaCCYEEiYEHCYEJiYEMCYEOiYECCYSEiYSHCYSJiYSMCYSOiYSCCYgEiYgHCYgJiYgMCYgOiYgCCYuEiYuHCYuJiYuMCYuOiYuCCY8EiY8HCY8JiY8MCY8OiY8MiQbNCgdCDAEEjAEHDAEJjAEMDAEOjAECDASEjASHDASJjASMDASOjASCDAgEjAgHDAgJjAgMDAgOjAgCDAuEjAuHDAuJjAuMDAuOjAuCDA8EjA8HDA8KbK8MDA8OjA8NiogOCwkCDoEEjoEHDoEJjoEMDoEOjoECDoSEjoSHDoSJjoSMDoSOjoSCDogEjogHDogJjogMDogOjogCDouEjouHDouJjouMDcwOjouCDo8Ejo8HDo8Jjo8MDo8Ojo8OjAnPDUuAA4AABgAACgAADQANDQAKCgAGBgADg4ADgAAGAAAKAAANAAANAA0KAAoGAAYDgAOAAAOAAAYAAAoAAA0P/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAEAAPoALAAAAAAPABYABwifAPXpmyBQIMGCBwcqVHiQYMKFBgtCfEhRosWLEisixMgRI4CPHzl+lCAhwgMHISUCqEChAkmTDhoAKLiyZUsJEE7GnKkPQMuPFHB+3NlTAsuPLiEMbaBgpNGbJU82YNAUQASSWGHGXFD1QQQIYLVurerggVmzDtIu4Nq0Z1qUIAGw5QmgAcqYDRosAKCgrcC6eRms7euXJl/CVUXGtRgQADs='));
img.push(new Array('8-)', '8-\\)', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAPAA8AQAVqoCSKQFmOpMIsLKMkyFEMAiABT1Q+zlLKNlJhSBjQBDUUAPKAOBouhCEIaDhM2BIhCUAgAInwYQBABpVYFPrpSpxGy1yzp4gVbNnSNQ9gWEtQCiUGNCUJCoiIMGNHeAYHB1lISXBlkzVnIQA7'));
img.push(new Array(';(', ';\\(', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAPAA8AQAVtoCSKQFmOpMIsrIkcwSAAEvBE5eMs5VHQpILQJCgCSZAHxNFgKBAGIKDhSC6bTwNhVkMgEqaSjIuqhcujEtMJPtaSEeXu6aMBqjb54gkozAAMVA5rCgkwMiUJCothAANjdgYHB41FZCQAlkZHIQA7'));
img.push(new Array(':D', ':D', 'data:image/gif;base64,R0lGODlhDwAPALMAAAAAAP///4uYp52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByv///yH5BAEAAA8ALAAAAAAPAA8AQARa8EkJap0UgRA294AAPEBTmgyAGMAwUoNrhSIGOI3DLMpKvIDFbFipAVgdTjL0ss0wzl3vcJncTDdGolJwkRi4Rk676ooACpASdKZ+1h8joVBZ05okmmBffUQAADs='));
img.push(new Array(':]', ':\\]', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByrzEzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAPAA8AQAVzoCSKQFmOpMIAy8IoCXIAgwBIwGM+zmIWN1JhSBjUBDYUAPKAOBovhCEIaDiYTqhCSkgCEIiEOHEwIoNKExqFAzxfidNo+Yg0e9sDEHd9+J0LeQU2AAwNbm8wMzUlCQoKaiZHNwAGB5cGQ0dJcwBIn3ISIQA7'));
img.push(new Array(':(', ':\\(', 'data:image/gif;base64,R0lGODlhDwAPAMQAAAAAAP///4uYp5Whrpums52otJ6ptaOtuaSuuqSuuqmyvay1wK+4wrC5w7K7xLe/yLnByv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABEALAAAAAAPAA8AQAV0YCSKQFmOpMIsLKMkyFEMAhABD/48zqIggIKNVCgSBjRBDQWA5BwNBgBhGAIaDkgJKgUYCMspMEE+DADKIdOkRt0A3Ndp1Mw9ID0FQGaDO0t4CyUyNQAMWA5xCQcGNCUJCpFsAEhpNwYHmQZFSUt0aEppaiEAOw=='));
return img;
} img = IMG();
var selectnode = document.getElementsByTagName('select');
var tdnode = document.getElementsByTagName('td');
var downimg64 = 'data:image/gif;base64,R0lGODlhEAAQAPcAAAAAADA8ESdsJyhsKHWRCXmTCXi3BHvEAoekB4mtBoPJAonNAozMHJPTAZjWAZ3ZAZrVGqPdAafgAaviAbHmALXoALvsAJnMRMTxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAQABAAAAibAP8JHEiwoMEBCBMaFDiAgYIDEA8oYDCg4IALCzIaMJBxwYWKAyE0cOCgQYAAI0tCGCjAwYMIERycdADzgQMBDCdYIJBgwskJCQhYmAByQAUMBAJQOLmUAIYKRS1gKBAAwUmrBTBYKHoUw8mvATA8BdkyggQJYM/GxClQ5AObM982WDnw4oIGHe96BFnXocSHE/laTIhwoWGDAQEAOw==';
var upimg64 = 'data:image/gif;base64,R0lGODlhEAAQAPcAAAAAADA8ESdsJyhsKHWRCXmTCXi3BHvEAoekB4mtBoPJAonNAozMHJPTAZjWAZ3ZAZrVGqPdAafgAaviAbHmALXoALvsAJnMRMTxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAQABAAAAicAP8JHEiwoMEBCBMaFDiAgYIDCh4qYDCg4IALCxos2JhxwYWKAyE0ePDAQYAADkg2gDBQgIMIEiScPBkzggMBDCtgwDBz5s4KIAdYwFAgAIKTRwtgsBBUJ4EAFE5GJYABKMMJFggkmHByQgICFiaAdPkggs2TLyOUxClQpAMHDU42eLuS4EWOBgxw/GjR4YG/ECku/JdQ4eDDAwMCADs=';
var Barre_Outils = {
0 : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAZlBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////39/fu7u7l5eXf39/W1tbMzMzFxcW9vb21tbWtra2lpaWZmZmKioqCgoJ8fHx1dXVfX19VVVUcHBwQEBAAAABvQ4WDAAAADHRSTlMAESIzRFVmd4iZqrtX7NUEAAAArUlEQVR42r2N1xLCIBREQ7EQDeHSbhTb/v9PiiWOo7zqeVlmlwNd9wuUwbo5mMlCNnqN7baYxtDzMLQUjcFa21B6tmPlS5GwwTk3finm4E47InIfiry4gLMPng7mQ/DeUYgxENRbvwLVLqaK3+PtPlI4olJyTnTE4tkv4EKOe2xKYuZEGa8hMueCvmSeJs4TxGMQ/e0ZaP1IYDkPUimtpKipK/U0fy7uzClE9yeupf0NogIgYBEAAAAASUVORK5CYII=',
1 : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAY1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD39/fu7u7n5+fe3t7S0tLMzMzDw8O+vr61tbWvr6+kpKSZmZmQkJB6enpjY2NXV1dTU1M6OjooKCggICAREREAAACW3aPzAAAAC3RSTlMAESIzRGZ3iJmquwleEKwAAACXSURBVHjavdDNEoIwDEZR2iLyl5Q2FKtS+N7/KWXcCNKt3kUWOTOdToriV1WosvsajNy+RNdBZSCFrs/B5el7ykC5SiTOQDMR2J7hGgkz+xOY1TKzlRMkITc4N36BTpES8JDpCDVkuLctotwON9ELWT/MIDd62d/ELC4EmbHNMezfUg22mvdEtQdltrQ2pjT6+Cv1qfhfL51MCnr+Fs5lAAAAAElFTkSuQmCC',
2 : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAaVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////4+Pjv7+/n5+ff39/W1tbMzMzFxcW8vLy1tbWtra2mpqacnJyRkZGFhYV/f39mZmZSUlJDQ0MzMzMREREAAAAvziwyAAAADXRSTlMAESIzRFVmd4iZqrvukooIPgAAALRJREFUeNq1ks0OgyAQhIvgfxV2EapWq533f8jqRdGa3vpdCDPJTHbhdvsLOfJLPR2rKb7QBXzlywtDzVTXiL6Nomt17bOLJEar6S7ORvKy2WT0fK4Xkx8BNn46GRLGaE1E71N9PhATM1OfHvQYbsBCxw5hfYqHRalUCcsj5G4sd2sQJWDXUI9wG85ZiBiN980zMLI1vxCiWE+oYN9Hii1JmwM4JAVs7yWklGonCoYXIb8/wAedIxFhLBiSZwAAAABJRU5ErkJggg==',
3 : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAhFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////4+Pjw8PDm5ube3t7X19fMzMzFxcW8vLy1tbWtra2np6ecnJyUlJSEhIR+fn5zc3NsbGxmZmZXV1dNTU1AQEA5OTkzMzMpKSkVFRUQEBAGBgYAAACU9KEpAAAAD3RSTlMAESIzRFVmd4iZqrvM3e5GKvWZAAABA0lEQVR42m2SyXaDMAxFEYTUAzGekBkDNCSh8f//X326SAz0Lby4z9Z5kpwkO50JyZKjqB8RJ57vOfGmLEtT8z0XSkojpXzkuzqBLyKc2yfgjVQLzy+osIA4z7dSSzOzl1ITiQ066D5c9lJrn22Ma+e0fiqtV/bhOSFUoDGd1mblKbzz3IZBWGNra23EiVdKt5Wxz2mafcSFNnZobLVyxugpqqMt3lvEZmRZmgK8+9IVPnp0A44UIO6rcvdi7h7OzWQzodG14sw91s7HmwA6BsJf1jU/DDYruzc19ibwT84/pcW1rbE+8AS+imXob37Pg5PRi2CnAw9OmmUpwD9/I4Ej/gXM/BUaFq6wmQAAAABJRU5ErkJggg==',
4 : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYAgMAAACdGdVrAAAACVBMVEX///////8AAACO9MPsAAAAAXRSTlMAQObYZgAAADJJREFUeNpjYMAGmFYBQQMDYygQOCCLNgApRjQxLCoZuBaAKdYAQmYyrFoFpkJDGfACAF7JE/ynhvUaAAAAAElFTkSuQmCC',
}
var SA = '<img src="'+img[14][0]+'" alt="" onclick="addSmiley(\':D\');"> <img src="'+img[1][2]+'" alt="" onclick="addSmiley(\':tongue:\');"> <img src="'+img[2][2]+'" alt="" onclick="addSmiley(\':evil:\');"> <img src="'+img[3][2]+'" alt="" onclick="addSmiley(\':baby:\');"> <img src="'+img[4][2]+'" alt="" onclick="addSmiley(\':rolleyes:\');"> <img src="'+img[5][2]+'" alt="" onclick="addSmiley(\';)\');"> <img src="'+img[6][2]+'" alt="" onclick="addSmiley(\':P\');"> <img src="'+img[7][2]+'" alt="" onclick="addSmiley(\':))\');"> <img src="'+img[8][2]+'" alt="" onclick="addSmiley(\':)\');"> <img src="'+img[9][2]+'" alt="" onclick="addSmiley(\'X(\');"> <img src="'+img[10][2]+'" alt="" onclick="addSmiley(\':O\');"> <img src="'+img[11][2]+'" alt="" onclick="addSmiley(\'?(\');"> <img src="'+img[12][2]+'" alt="" onclick="addSmiley(\'8-)\');"> <img src="'+img[13][2]+'" alt="" onclick="addSmiley(\';(\');"> <img src="'+img[0][2]+'" alt="" onclick="addSmiley(\'8o\');"> <img src="'+img[15][2]+'" alt="" onclick="addSmiley(\':]\');"> <img src="'+img[16][2]+'" alt="" onclick="addSmiley(\':(\');"></span>';
var Code = "<select onchange='addBBCode(\"font\",this.value); this.getElementsByTagName(\"option\")[0].selected = \"true\";'><option value='0'>POLICES</option><option value='arial'>Arial</option><option value='comic sans ms'>Comic Sans MS</option><option value='courier new'>Courier New</option><option value='tahoma'>Tahoma</option><option value='times new roman'>Times New Roman</option><option value='verdana'>Verdana</option></select> <select onchange='addBBCode(\"size\",this.value); this.getElementsByTagName(\"option\")[0].selected = \"true\";'><option value='0'>TAILLE</option><option value='7'>tiny</option><option value='10'>small</option><option value='12'>normal</option><option value='16'>big</option><option value='20'>huge</option></select> <select onchange='addBBCode(\"color\",this.value); this.getElementsByTagName(\"option\")[0].selected = \"true\";'><option value='0'>COULEUR</option><option value='black'>black</option><option value='silver'>silver</option><option value='gray'>gray</option><option value='maroon'>maroon</option><option value='#A52A2A'>brown</option><option value='red'>red</option><option value='orange'>orange</option><option value='yellow'>yellow</option><option value='lime'>lime</option><option value='green'>green</option><option value='olive'>olive</option><option value='teal>teal</option><option value='aqua'>aqua</option><option value='blue'>blue</option><option value='navy'>navy</option><option value='purple'>purple</option><option value='fuchsia'>fuchsia</option><option value='#FFC0CB'>pink</option><option value='white'>white</option></select> <img onclick='addBBCode(\"b\",\"\");' src='"+Barre_Outils[0]+"' alt='Gras' title='Gras'/> <img onclick='addBBCode(\"i\",\"\");' src='"+Barre_Outils[1]+"' alt='Italique' title='Italique'/> <img onclick='addBBCode(\"u\",\"\");' src='"+Barre_Outils[2]+"' alt='Souligner' title='Souligner'/> <img onclick='addBBCode(\"center\",\"\");' src='"+Barre_Outils[4]+"' alt='Centrer' title='Centrer'/> <img onclick='addBBCode(\"url\",\"\");' src='"+Barre_Outils[3]+"' alt='Ajouter un lien' title='Ajouter un lien'/>";
//AJOUTS DE TAGS EN OBJETS
// Recopier la ligne tags.push en ajoutant ou retirant les tags comme vous le souhaitez
var tags = new Array();
tags.push("[ALLIANCE]");
tags.push("[COMMERCE]");
tags.push("[RAID]");
tags.push("[ESPIONNAGE]");
tags.push("[RECRUTEMENT]");
//Récupération des données globales
var url=window.location.href;
var find = url.indexOf("http://uni",0);
if (find >= 0 )
{ numuni = url.substring(find+10,url.indexOf(".ogame.",find+10)); }
var speedcoef=DATA.other.coefprod;
var AG=DATA.other.groupAttack;
var commandant=DATA.other.commandant;
var thisplanet = eval('DATA.'+activ.tag);
var position = thisplanet.posi;
var lune = (activ.type=="moon")? true : false ;
// Données globales enregistrées : URL, Univers, Coefficient de vitesse de l'univers, Mode Attaque Groupée de l'univers, Mode Commandant
//Déclaration des fonctions globales
function max(array) {
var maxi = 1;
var len = array.length;
for (var i = 1; i < len; i++) if (array[i] > array[maxi-1]) maxi = (i+1);
return maxi;
}
function addEvent(obj, type, fn){ // Observateur d'évènements
if (obj.addEventListener){
obj.addEventListener(type, function(event){
return fn.call(obj,event);
}, false );
}else if (obj.attachEvent){
obj.attachEvent("on"+type, function(e){
if (!e) var e = window.event;
return fn.call(obj, e);
});
}
}
function showOptions () {
var ftp="http://medievalog.ifrance.com/Omegapack/";
var content = doTheBlack(thisData.namespace, true);
var overlay = document.getElementById('ssu_black_overlay_OmegaPack');
function colorselect(name,opt){ return '<select name="'+name+'"><option id="customcolor" value='+opt+' onclick="customcolor(this)" style=\'color:white\' selected="selected">Personnalisé</option><option value=\'0,0,0\' style=\'color:black\' '+(opt=="0,0,0"?'selected="selected"':'')+'>black</option><option value=\'192,192,192\' style=\'color:silver\' '+(opt=="192,192,192"?'selected="selected"':'')+'>silver</option><option value=\'128,128,128\' style=\'color:gray\' '+(opt=="128,128,128"?'selected="selected"':'')+'>gray</option><option value=\'128,0,0\' style=\'color:maroon\' '+(opt=="128,0,0"?'selected="selected"':'')+'>maroon</option><option value=\'165,42,42\' style=\'color:brown\' '+(opt=="165,42,42"?'selected="selected"':'')+'>brown</option><option value=\'255,0,0\' style=\'color:red\' '+(opt=="255,0,0"?'selected="selected"':'')+'>red</option><option value=\'255,165,0\' style=\'color:orange\' '+(opt=="255,165,0"?'selected="selected"':'')+'>orange</option><option value=\'255,255,0\' style=\'color:yellow\' '+(opt=="255,255,0"?'selected="selected"':'')+'>yellow</option><option value=\'0,255,0\' style=\'color:lime\' '+(opt=="0,255,0"?'selected="selected"':'')+'>lime</option><option value=\'0,128,0\' style=\'color:green\' '+(opt=="0,128,0"?'selected="selected"':'')+'>green</option><option value=\'128,128,0\' style=\'color:olive\' '+(opt=="128,128,0"?'selected="selected"':'')+'>olive</option><option value=\'0,128,128\' style=\'color:teal\' '+(opt=="0,128,128"?'selected="selected"':'')+'>teal</option><option value=\'0,255,255\' style=\'color:aqua\' '+(opt=="0,255,255"?'selected="selected"':'')+'>aqua</option><option value=\'0,0,255\' style=\'color:blue\' '+(opt=="0,0,255"?'selected="selected"':'')+'>blue</option><option value=\'0,0,128\' style=\'color:navy\' '+(opt=="0,0,128"?'selected="selected"':'')+'>navy</option><option value=\'128,0,128\' style=\'color:purple\' '+(opt=="128,0,128"?'selected="selected"':'')+'>purple</option><option value=\'255,0,255\' style=\'color:fuchsia\' '+(opt=="255,0,255"?'selected="selected"':'')+'>fuchsia</option><option value=\'255,192,203\' style=\'color:pink\' '+(opt=="255,192,203"?'selected="selected"':'')+'>pink</option><option value=\'255,255,255\' style=\'color:white\' '+(opt=="255,255,255"?'selected="selected"':'')+'>white</option></select>'; }
unsafeWindow.refresh = function refresh(){ overlay.parentNode.removeChild(overlay); showOptions();}
function ongswitch(num){
for(var i=1;i<=7;i++){
if (i==num){ eval("options"+i+".setAttribute('style','display:block');");}
else { eval("options"+i+".setAttribute('style','display:none');");}}}
function reset(){
if (confirm("Toutes vos préférences et options personnalisées seront effacées, pour être remises à leur valeur après l'installation de Omega Pack")){
GM_setValue("options",defaultOptions);
var options=defaultOptions.split(/;/);
alert("Options réinitialisées avec succès");
unsafeWindow.refresh();
}}
unsafeWindow.customcolor=function customcolor(thisoption){
var rgb=prompt("Entrez le code RGB (Rouge-Vert-Bleu) de votre couleur personnalisée\n(exemple : 50,120,255)\nSi vous n'êtes pas sûr que le code RGB est correct, je vous recommande de choisir parmi les couleurs présélectionnées.");
thisoption.setAttribute("value",rgb);
thisoption.setAttribute("style","background-color:rgb("+rgb+");"); }
content.addElem('img', {src:ftp+"logo.gif",align:'center'});
var table = content.addElem('table',{style:'width:391px; text-align:center;'});
var tr = table.addElem('tr');
var ong_general = tr.addElem("input",{value:'Général',type:'button'}).$E({click: function () { ongswitch(1); }});
var ong_progress = tr.addElem("input",{value:'Barres de progression',type:'button'}).$E({click: function () { ongswitch(2)}});
var ong_stocks = tr.addElem("input",{value:'Ressources dynamiques',type:'button'}).$E({click: function () { ongswitch(3)}});
var ong_ressources = tr.addElem("input",{value:'Page Ressources',type:'button'}).$E({click: function () { ongswitch(4)}});
var ong_mig = tr.addElem("input",{value:'Messages Ingame +',type:'button'}).$E({click: function () { ongswitch(5)}});
var ong_ranks = tr.addElem("input",{value:'OGame Ranks',type:'button'}).$E({click: function () { ongswitch(6)}});
var ong_omegapack = tr.addElem("input",{value:'À propos',type:'button'}).$E({click: function () { ongswitch(7)}});
var optionstab = content.addElem('div',{style:'width:500px; font-size:10; margin-top:20px; margin-left: auto; margin-right: auto;'});
var options1 = optionstab.addElem('table',{style : 'display:block'});
var options2 = optionstab.addElem('table',{style : 'display:none'});
var options3 = optionstab.addElem('table',{style : 'display:none'});
var options4 = optionstab.addElem('table',{style : 'display:none'});
var options5 = optionstab.addElem('table',{style : 'display:none'});
var options6 = optionstab.addElem('table',{style : 'display:none'});
var options7 = optionstab.addElem('table',{style : 'display:none'});
options1.addElem('tr',{},'<input type="checkbox" name="opt1" '+(options[0]>0?'checked':'')+'/> Utiliser barres de progression Constructions/Recherches');
options1.addElem('tr',{},'<input type="checkbox" name="opt2" '+(options[1]>0?'checked':'')+'/> Utiliser stocks de ressources dynamiques');
options1.addElem('tr',{},'<input type="checkbox" name="opt3" '+(options[2]>0?'checked':'')+'/> Utiliser Page Ressources améliorée');
options1.addElem('tr',{},'<input type="checkbox" name="opt4" '+(options[3]>0?'checked':'')+'/> Utiliser Def Analyser');
options1.addElem('tr',{},'<input type="checkbox" name="opt5" '+(options[4]>0?'checked':'')+'/> Utiliser Messages Ingame Plus');
options1.addElem('tr',{},'<input type="checkbox" name="opt6" '+(options[5]>0?'checked':'')+'/> Utiliser OG Masteries and Ranks (grades de joueur)');
options1.addElem('tr',{},'<input type="checkbox" name="opt23" '+(options[22]>0?'checked':'')+'/> Afficher des infos sur les niveaux supérieurs de bâtiments');
options2.addElem('tr',{},'<input type="checkbox" name="opt7" '+(options[6]>0?'checked':'')+'/> Coins de la barre arrondis');
options2.addElem('tr',{},'Dégradé de couleur : De '+colorselect("opt8",options[7])+' à '+colorselect("opt9",options[8]));
options2.addElem('tr',{},'Rafraichissement de la barre tous les <input type="text" size="5" name="opt10" value='+options[9]+'> ms <br>(de préférence plus de 100 pour éviter tout lag)');
options2.addElem('tr',{},'<input type="checkbox" name="opt26" '+(options[25]>0?'checked':'')+'/> Déplacer en haut de page la construction en cours');
options3.addElem('tr',{},'Rafraichissement des stocks tous les <input type="text" size="5" name="opt11" value='+options[10]+'> ms <br>(de préférence plus de 100 pour éviter tout lag)');
options3.addElem('tr',{},'Indicateurs si production < 100% : <select name="opt12"><option value=0>Pas d\'indicateurs</option><option value=1 '+(options[11]==1?'selected':'')+'>Affichage discret (*)</option><option value=2 '+(options[11]==2?'selected':'')+'>Afficher pourcentage de production</option></select>');
options4.addElem('tr',{},'<input type="checkbox" name="opt13" '+(options[12]>0?'checked':'')+'/> Coefficient de production en barre graphique');
options4.addElem('tr',{},'<input type="checkbox" name="opt14" '+(options[13]>0?'checked':'')+'/> Barres graphiques d\'occupation des hangars');
options4.addElem('tr',{},'Dégradé de couleur : De '+colorselect("opt15",options[14])+' à '+colorselect("opt16",options[15]));
options5.addElem('tr',{},'Signature en fin de tout message : <textarea name="opt17">'+options[16]+'</textarea><br>(laissez vide si vous n\'en voulez pas)');
options5.addElem('tr',{},'<input type="checkbox" name="opt18" '+(options[17]>0?'checked':'')+'/> Changement rapide de destinataire (Alliance/Amis)');
options5.addElem('tr',{},'<input type="checkbox" name="opt19" '+(options[18]>0?'checked':'')+'/> Activer les smileys');
options5.addElem('tr',{},'<input type="checkbox" name="opt20" '+(options[19]>0?'checked':'')+'/> Activer la barre d\'édition BBCode');
options5.addElem('tr',{},'Couleur de fond de la prévisualisation : '+colorselect("opt24",options[23]));
options5.addElem('tr',{},'Opacité de la prévisualisation : <input type="text" size="3" name="opt25" value='+options[24]+'> %');
options6.addElem('tr',{},'Couleur de la barre de progression jusqu\'au niveau supérieur : '+colorselect("opt27",options[26]));
options6.addElem('tr',{},'<input type="checkbox" name="opt21" '+(options[20]>0?'checked':'')+'/> Couleur de stratégie attribuée au tableau');
options6.addElem('tr',{},'Si non coché au-dessus, choisissez la couleur de fond du tableau : '+colorselect("opt22",options[21]));
options7.addElem('tr',{},'Pack réalisé par THSK<br><br>OmegaPack regroupe des scripts OGame provenant de différents auteurs. Ces scripts vous sont fournis gratuitement, nous ne touchons aucun bénéfice du travail effectué.<br><br><u>Remerciements à :</u><br>- Seyguai pour avoir mis au point la librairie SSU qui facilite l\'utilisation et l\'écriture de scripts ogame<br>- Sagawa pour l\'idée et la mise au point de barres de progression pour les constructions<br>- henri102 pour l\'idée et la mise au point de stocks dynamiques<br>- Almost Illegal pour gérer la section Logiciels et Tableurs du forum officiel et toujours répondre aux questions des scripteurs');
var savebutton = addElem(content,'input',{type:'button',class:'coolbutton',style:'font-size:18px; margin:auto; margin-top:25px;', value:'Enregistrer les modifications'}).$E({click: function () { for(var i=0;i<27;i++){ var thisoption=document.getElementsByName("opt"+(i+1))[0]; options[i]=thisoption.value; if (options[i]=="on"){options[i]=(thisoption.checked?1:0);} } GM_setValue("options",options.join(";")); savebutton.setAttribute("value",'Modifications enregistrées !'); window.setTimeout("refresh()",1200);} });
content.addElem('br');
addElem(content,"input",{style:' font-size:13px; margin:auto; margin-top: 10px;',class:'coolbutton',value:'Remettre toutes les options à leur valeur par défaut',type:'button'}).$E({click: function() {reset()}});
GM_addStyle("tr{font-family:Verdana,Tahoma,Arial; font-size:11px;} .coolbutton{background-color:black; border: solid 3px; border-color:white; -moz-border-radius:10px;}");
setReload(thisData.namespace, true);
}
function IsIn(object,element) {
object=object || {};
for(var elm in object){
if (object[elm]==element) {return true;}}
return false;
}
function format(x,arrondi) {
if (!arrondi){arrondi=0;}
if (x!="?"){
if (x==0) {return x;} else {
var decimales = Math.floor(x*Math.pow(10,arrondi))/Math.pow(10,arrondi)-Math.floor(x);
if (decimales==0){decimales="";}
x=Math.floor(x);
if (x<0) { return "-"+format(-x);}
var str = x.toString(), n = str.length;
if (n <4) {return x+decimales;}
else {return ((n % 3) ? str.substr(0,n % 3) + '.' : '') + str.substr(n % 3).match(new RegExp('[0-9]{3}', 'g')).join('.') + decimales;
}}}
else{return "?";}
}
function progress(a,b,c,coefa,coefb,coefc,roundcorner) { // Fonction d'actualisation et d'affichage de la barre de progression de construction/recherche
var pro = Math.min((totalTime-time)*100/totalTime,100);
var r=Math.floor(0.8*(a+coefa*pro)),v=Math.floor(0.8*(b+coefb*pro)),b=Math.floor(0.8*(c+coefc*pro));
divIn.innerHTML = '<span style="position:absolute; left:50%;"> '+format(pro,2).toString()+'%</span>'; // Ecriture du pourcentage sur la barre
divIn.style.cssText = 'width:'+pro+'%; height:13px;'+
'font-size:10px; font-weight:700;'+
'line-height:13px;'+
(roundcorner ? '-moz-border-radius:15px;' : '')+
'text-align:center; color:#FFF;'+
'background-color:rgb('+r+','+v+','+b+');'; //CSS de la barre
time -= 0.001*Math.max(options[9],Math.floor(totalTime/10));
if (time < 0) {
divIn.innerHTML = ' 100% : Construction terminée ! ';
window.clearInterval(intervalID); } //Supprime la réactualisation si la construction est terminée.
}
function addElm(that, tag, attr, txt) {
if (tag.nodeType != 1) {
var T = document.createElement(tag), a;
if (attr) {for (a in attr) {T.setAttribute(a, attr[a]);}}
if (txt != undefined) {T.innerHTML = txt;}
that.appendChild(T); return T;
}
}
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Scripts agissant sur toutes les pages ou presque d'OGame
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
//Ressources dynamiques, de henri102
if (options[1]>0
&& !lune //Les lunes ne produisent pas
&& (url.indexOf('/game/index.php?page=galaxy',0))==-1 //Ressources non affichées en page Galaxie
&& (url.indexOf('/game/index.php?page=bericht',0))==-1 // Ressources non affichées dans les pop-ups
&& (url.indexOf('/game/index.php?page=notizen',0))==-1 // Ressources non affichées dans les notes
&& ((url.indexOf("resources")==-1)
|| ((url.indexOf("&pc=1")!=-1) && (url.indexOf("resources")!=-1)))) //Evite un bug au chargement de la page ressources
{
//Recuperation des quantites
var Res = ['m', 'c', 'd', 'e'];
var BatResTag = ['mmet','mcri','mdet','ces','cef','ss'];
var q = thisplanet.resource.stock;
var p = thisplanet.resource.prod;
var s = thisplanet.resource.max;
var quantites=[q.m,q.c,q.d];
var prods=[p.m,p.c,p.d];
var stocks=[s.m,s.c,s.d];
for(var i=0; i<3; i++){
eval("prods[i]=(prods[i]*options[10]*thisplanet.resource.coef."+BatResTag[i]+")/3600000;");}
var ressources=document.getElementById("resources").getElementsByTagName("tr")[2].getElementsByTagName("td");
if (options[11]>0){
//Indicateur si la production n'est pas à 100%
for(var i=0; i<6; i++){
if (eval('thisplanet.resource.coef.'+BatResTag[i])<1){
switch(i){
case 0: case 1: case 2:
var coef=eval('thisplanet.resource.coef.'+BatResTag[i]);
if (options[11]==1){
addTip(addElem(ressources[i],"span",{},"<font color=\"orange\" size=2>*</font>"),"<font style=\"color:white; align:center;\">Production à "+format(100*coef)+" %</font>");}
else { addElem(ressources[i],"span",{},"<font color=\"orange\" size=1> ("+100*coef+"%)"); }
break;
case 3: case 4: case 5:
var coef= (thisplanet.resource.coef.ces*thisplanet.resource.prod.ces
+ thisplanet.resource.coef.cef*thisplanet.resource.prod.cef
+ thisplanet.resource.coef.ss*thisplanet.resource.prod.ss) / q.e *100;
if (options[11]==1){
addTip(addElem(ressources[4],"span",{},"<font color=\"orange\" size=2>*</font>"),"<font style=\"color:white; align:center;\">Production à "+format(coef,2)+" %</font>");}
else { addElem(ressources[4],"span",{},"<font color=\"orange\" size=1> ("+format(coef,1)+"%)"); }
break; }}}}
var stop=[true,true,true];
for(var i=0; i<3; i++){
if (quantites[i]<parseInt(stocks[i])){stop[i]=false;}}
function ajouteTous(){
for(var i=0; i<3; i++){
if (!stop[i]){
if (quantites[i]>=parseInt(stocks[i])){
stop[i]=true;
ressources[i].firstChild.setAttribute("style","font-color:red;");
}
else
{
var temp=quantites[i];
quantites[i]+=prods[i];
if (Math.floor(temp)!=Math.floor(quantites[i])){
ressources[i].firstChild.textContent=format(Math.floor(quantites[i]));
}
}
}
}
setTimeout(ajouteTous, options[10]);
}
ajouteTous();
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// Scripts agissant sur la page VUE GENERALE
if ((url.indexOf('/game/index.php?page=overview',0))>=0 && options[5]>0)
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
{
/*##################################################
BASE DE DONNEES DE OGAME MASTERIES & RANKS attention gros paté en approche
##################################################*/
/* Tableau de données Etoiles */
var tabstars=[
[0,1,2,3,0,1,2,3,0,0,1,1,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,2,3,3,0,1,2,3,0,0,1,1,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,3,0,1,2,3,0,0,1,1,2,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,1,1,2,3,0,0,1,2,2,3,0,0,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,2,2,3,0,1,2,1,2,3,3,0,0,0,1,1,2,2,3,3,0,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,3,3,0,1,2,2,3,0,0,1,2,3,1,1,1,2,2,3,0,0,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,0,0,1,2,3,3,0,0,1,1,2,3,0,0,1,1,2,2,0,0,1,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,0,0,2,2,3,0,0,0,1,2,3,3,0,0,1,1,2,2,3,1,1,1,2,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,1,1,1,3,0,0,0,1,1,2,3,0,0,0,1,1,2,3,3,0,0,0,1,1,2,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,1,2,2,0,0,0,1,1,2,3,3,0,0,1,1,2,2,3,3,0,0,0,1,1,2,2,2,3,3,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,2,2,3,1,1,1,1,2,3,0,1,1,2,3,0,0,1,1,2,0,0,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,2,3,3,1,1,2,2,3,0,0,1,1,2,3,0,0,1,1,2,3,0,1,1,1,2,2,3,3,0,0,0,1,1,2,2,3,3,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,0,0,2,2,3,3,3,0,0,1,1,2,3,0,1,1,2,2,3,3,1,1,1,2,2,3,3,0,0,1,1,2,2,2,3,3,0,0,1,1,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,0,0,3,3,3,0,0,0,0,1,2,2,3,0,1,1,2,2,3,0,0,0,1,1,2,2,3,3,0,1,1,2,2,2,3,3,0,0,1,1,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,1,0,0,0,0,0,0,2,2,3,3,0,1,1,2,2,3,0,0,0,1,1,2,2,3,3,3,1,1,2,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,1,1,1,0,0,0,1,0,0,2,3,3,0,1,1,2,2,3,3,0,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,0,0,1,3,0,0,1,1,2,2,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,2,2,2,1,1,1,2,1,1,1,1,0,0,1,1,2,2,3,2,0,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,2,2,3,3,0,0,1,1,2,2,3,3],
[2,2,2,2,2,2,2,2,2,2,1,1,1,1,0,0,1,1,2,2,3,3,0,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,3,3,2,2,3,3,2,2,2,2,0,0,1,1,2,2,3,3,0,0,0,1,1,2,2,3,3,3,0,1,1,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,0,0,3,3,3,2,2,2,2,0,0,1,1,2,2,3,3,0,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,0,0,0,1,0,0,0,3,3,3,0,0,1,1,2,2,3,3,0,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,1,1,0,0,0,0,3,3,0,0,1,2,3,3,3,3,0,0,1,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,1,2,0,0,0,0,0,0,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,2,1,1,1,1,1,0,0,0,3,0,0,0,0,0,0,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,2,2,2,2,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,0,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,3,3,1,1,1,1,2,2,2,2,2,1,1,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,2,2,2,3,3,2,2,2,2,2,2,2,2,2,1,2,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,3,3,0,0,3,3,3,3,3,3,3,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,3,3,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,0,0,1,1,1,2,2,2,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,1,2,2,2,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,0,0,1,1,1,2,2,2,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,0,0,0,1,1,1,2,2,2,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,1,0,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,3,0,1,1,1,1,1,0,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,3,0,0,0,0,0,0,0,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,3,0,0,0,0,0,0,1,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,2,2,3,0,0,0,0,0,1,1,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,2,2,3,0,0,0,0,1,1,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,3,0,0,0,1,1,2,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,3,0,0,1,1,2,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,1,1,2,2,3,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,1,1,2,2,3,1,1,2,2,2,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,2,0,0,0,0,0,1,1,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,2,2,0,0,0,0,1,1,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,1,1,2,2,2,0,0,0,1,1,2,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,2,3,0,0,1,1,2,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,1,2,2,2,3,3,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,2,2,2,3,3,3,1,1,2,2,2,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,2,0,0,0,0,0,1,1,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,2,2,0,0,0,0,1,1,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,1,1,2,2,2,0,0,0,1,1,2,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,2,3,0,0,1,1,2,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,1,2,2,2,3,3,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,2,2,2,3,3,3,1,1,2,2,2,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,2,0,0,0,0,0,1,1,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,2,2,0,0,0,0,1,1,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,1,1,2,2,2,0,0,0,1,1,2,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,2,3,0,0,1,1,2,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,1,2,2,2,3,3,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,2,2,2,3,3,3,1,1,2,2,2,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,1,1,2,2,2,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,2,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,2,2,2,3,3,3,0,0,1,1,2,2,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,2,0,0,1,1,2,2,3],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,2,2,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,1,1,2,2,2,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,2,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,1,2,2,2,3,3,0,0,1,1,2,2,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,2,2,2,3,3,3,0,0,1,1,2,2,3],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,2],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,2,2],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,3],
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,2,2,3,3],
[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,2,2,3,3,3]];
// Tableau de données Rangs
var tabranks=[
[1,1,1,1,2,2,2,2,6,6,6,6,6,6,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26],
[1,1,1,1,2,2,2,2,6,6,6,6,6,6,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26],
[1,1,3,3,3,3,7,7,7,7,7,7,6,6,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26],
[1,1,3,3,3,3,7,7,7,7,7,7,15,15,15,15,15,15,15,15,15,15,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26],
[4,4,3,3,3,8,8,8,7,7,7,7,15,15,15,15,15,15,15,15,15,28,28,28,28,28,28,28,28,28,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26],
[4,4,3,3,8,8,8,8,8,14,14,14,14,14,15,15,15,15,15,15,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26],
[4,4,9,9,8,8,8,8,14,14,14,14,14,14,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37],
[4,4,9,9,8,8,8,13,13,13,14,14,14,14,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37],
[5,5,9,9,9,8,12,13,13,13,13,13,13,27,27,27,27,27,27,27,27,44,44,44,44,44,44,44,44,44,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37],
[5,5,9,9,9,12,12,13,13,13,13,13,13,27,27,27,27,27,27,27,27,44,44,44,44,44,44,44,44,44,44,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37],
[5,5,9,9,9,12,12,12,13,13,13,39,39,39,39,39,41,41,41,41,41,44,44,44,44,44,44,44,44,44,44,47,47,47,47,47,47,47,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37],
[5,5,9,9,9,12,12,12,13,13,39,39,39,39,39,39,41,41,41,41,41,41,44,44,44,44,44,44,44,44,47,47,47,47,47,47,47,47,47,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37],
[5,5,5,11,11,12,12,12,13,13,39,39,39,39,39,39,41,41,41,41,41,41,41,44,44,44,44,44,44,44,47,47,47,47,47,47,47,47,47,50,50,50,50,50,50,50,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,57,57,57,57,57,57,57,57,58,58,58,58,58,58,58],
[5,5,5,11,11,12,12,12,38,38,39,39,39,39,39,39,41,41,41,41,41,41,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,50,50,50,50,50,50,50,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,57,57,57,57,57,57,57,57,58,58,58,58,58,58,58],
[10,10,10,11,11,11,38,38,38,38,40,40,39,39,39,39,41,41,41,41,41,41,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,50,50,50,50,50,50,50,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,57,57,57,57,57,57,57,57,58,58,58,58,58,58,58],
[10,10,10,11,11,11,38,38,38,38,40,40,39,39,39,42,42,42,42,42,42,42,45,45,45,45,45,45,45,45,45,48,48,48,48,48,48,48,50,50,50,50,50,50,50,50,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,57,57,57,57,57,57,57,57,58,58,58,58,58,58,58],
[10,10,10,11,11,11,38,38,38,38,40,40,40,39,42,42,42,42,42,42,42,42,42,45,45,45,45,45,45,45,45,48,48,48,48,48,48,48,48,50,50,50,50,50,50,50,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,57,57,57,57,57,57,57,57,58,58,58,58,58,58,58],
[10,10,10,11,11,11,38,38,38,38,40,40,40,40,42,42,42,42,42,42,42,42,46,46,45,45,45,45,45,45,45,48,48,48,48,48,48,48,51,51,51,51,51,51,51,51,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,57,57,57,57,57,57,57,57,58,58,58,58,58,58,58],
[10,10,10,11,11,11,38,38,38,38,40,40,40,40,42,42,42,42,42,42,42,42,46,46,46,46,46,46,46,46,46,48,48,48,48,48,48,48,51,51,51,51,51,51,51,51,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,65,65,65,65,65,65,65],
[10,10,10,11,11,11,38,38,38,38,40,40,40,40,43,43,43,43,43,43,42,42,46,46,46,46,46,46,46,46,46,46,48,48,48,48,48,48,51,51,51,51,51,51,51,51,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,65,65,65,65,65,65,65],
[10,10,10,11,11,67,67,38,38,38,40,40,40,40,43,43,43,43,43,43,43,43,46,46,46,46,46,46,46,46,46,49,49,49,49,49,49,49,51,51,51,51,51,51,51,51,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,65,65,65,65,65,65,65],
[10,10,10,11,67,67,67,67,68,68,68,40,40,40,43,43,43,43,43,43,43,43,46,46,46,46,46,46,46,46,46,49,49,49,49,49,49,49,49,51,51,51,51,51,51,51,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,65,65,65,65,65,65,65],
[66,66,66,66,67,67,67,67,68,68,68,68,40,40,43,43,43,43,43,43,43,43,46,46,46,46,46,46,46,46,46,49,49,49,49,49,49,49,49,74,51,51,51,51,51,51,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,65,65,65,65,65,65,65],
[66,66,66,66,67,67,67,67,68,68,68,68,68,69,69,43,43,70,70,70,70,70,71,71,71,71,71,71,71,71,71,49,49,49,49,49,49,49,49,74,74,74,74,74,74,74,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,65,65,65,65,65,65,65],
[66,66,66,66,67,67,67,67,68,68,68,68,68,69,69,69,43,70,70,70,70,70,71,71,71,71,71,71,71,71,71,49,49,49,49,49,49,49,49,74,74,74,74,74,74,74,76,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,82,82,82,82,82,82,82],
[66,66,66,66,67,67,67,67,68,68,68,68,68,69,69,69,69,70,70,70,70,70,71,71,71,71,71,71,71,71,71,49,49,49,49,49,49,49,49,74,74,74,74,74,74,74,76,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,82,82,82,82,82,82,82],
[66,66,66,66,67,67,67,67,68,68,68,68,68,69,69,69,69,70,70,70,70,70,71,71,71,71,71,71,72,72,72,73,73,73,73,73,73,73,73,74,74,74,74,74,74,74,76,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,82,82,82,82,82,82,82],
[66,66,66,66,67,67,67,67,68,68,68,68,68,69,69,69,69,70,70,70,70,70,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,74,74,74,74,74,74,74,76,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,82,82,82,82,82,82,82],
[66,66,66,66,67,67,67,67,68,68,68,68,68,69,69,69,69,70,70,70,70,70,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,75,75,75,75,75,74,74,76,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,82,82,82,82,82,82,82],
[66,66,66,66,67,67,67,67,68,68,68,68,68,69,69,69,69,70,70,70,70,70,71,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,75,75,75,75,75,75,75,76,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,82,82,82,82,82,82,82],
[90,90,90,90,90,91,91,91,91,68,68,92,92,69,69,69,69,70,70,70,70,70,71,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,75,75,75,75,75,75,75,83,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,88,88,88,88,88,88,88,88,89,89,89,89,89,89,89],
[90,90,90,90,90,91,91,91,91,91,92,92,92,92,69,69,69,70,94,94,94,94,94,72,95,95,95,95,95,95,95,73,73,73,73,73,73,73,73,75,75,75,75,75,75,75,83,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,88,88,88,88,88,88,88,88,89,89,89,89,89,89,89],
[90,90,90,90,90,91,91,91,91,91,92,92,92,92,92,93,93,93,94,94,94,94,94,94,95,95,95,95,95,95,95,73,73,73,73,73,73,73,73,75,75,75,75,75,75,75,83,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,88,88,88,88,88,88,88,88,89,89,89,89,89,89,89],
[90,90,90,90,90,91,91,91,91,91,92,92,92,92,92,93,93,93,93,94,94,94,94,94,95,95,95,95,95,95,96,96,96,96,96,96,96,97,97,97,97,97,75,75,75,75,83,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,88,88,88,88,88,88,88,88,89,89,89,89,89,89,89],
[90,90,90,90,90,91,91,91,91,91,92,92,92,92,92,93,93,93,93,94,94,94,94,94,95,95,95,95,95,95,96,96,96,96,96,96,96,97,97,97,97,97,75,75,75,75,83,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,88,88,88,88,88,88,88,88,89,89,89,89,89,89,89],
[90,90,90,90,90,91,91,91,91,91,92,92,92,92,92,93,93,93,93,93,94,94,94,94,94,95,95,95,95,95,96,96,96,96,96,96,96,97,97,97,97,97,97,98,98,98,98,98,83,83,83,83,83,83,84,84,84,84,84,84,84,84,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,88,88,88,88,88,88,88,88,89,89,89,89,89,89,89],
[90,90,90,90,90,91,91,91,91,91,92,92,92,92,92,93,93,93,93,93,94,94,94,94,94,95,95,95,95,95,96,96,96,96,96,96,96,97,97,97,97,97,97,98,98,98,98,98,98,98,98,98,98,98,99,99,99,99,99,99,99,99,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,104,104,104,104,104,104,104],
[90,90,90,90,90,91,91,91,91,91,92,92,92,92,92,93,93,93,93,93,94,94,94,94,94,95,95,95,95,95,96,96,96,96,96,96,96,97,97,97,97,97,97,98,98,98,98,98,98,98,98,98,98,98,99,99,99,99,99,99,99,99,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,104,104,104,104,104,104,104],
[105,105,105,105,105,105,113,113,113,113,113,92,92,92,92,121,93,93,93,93,94,94,94,94,94,95,95,95,95,95,96,96,96,96,96,96,96,97,97,97,97,97,97,98,98,98,98,98,98,98,98,98,98,98,99,99,99,99,99,99,99,99,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,104,104,104,104,104,104,104],
[105,105,105,105,105,105,113,113,113,113,113,113,121,121,121,121,121,93,93,93,94,94,94,94,94,95,145,145,145,145,145,153,153,153,153,153,153,97,97,97,97,97,161,161,98,98,98,98,98,98,98,98,98,98,99,99,99,99,99,99,99,99,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,104,104,104,104,104,104,104],
[105,105,105,105,105,105,113,113,113,113,113,113,121,121,121,121,121,121,129,129,129,129,94,137,137,137,137,145,145,145,145,145,153,153,153,153,153,153,97,97,161,161,161,161,161,98,161,169,169,169,169,169,169,169,99,99,99,99,99,99,99,99,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,104,104,104,104,104,104,104],
[105,105,105,105,105,105,113,113,113,113,113,113,121,121,121,121,121,121,129,129,129,129,129,137,137,137,137,137,145,145,145,145,145,153,153,153,153,153,153,97,161,161,161,161,161,161,161,169,169,169,169,169,169,169,177,177,177,177,177,177,177,177,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,193,201,201,201,201,201,201,201,201,209,209,209,209,209,209,209,209,217,217,217,217,217,217,217],
[105,105,105,105,105,105,113,113,113,113,113,113,121,121,121,121,121,121,129,129,129,129,129,137,137,137,137,137,145,145,145,145,145,153,153,153,153,153,153,161,161,161,161,161,161,161,161,169,169,169,169,169,169,169,177,177,177,177,177,177,177,177,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,193,201,201,201,201,201,201,201,201,209,209,209,209,209,209,209,209,217,217,217,217,217,217,217],
[105,105,105,105,105,105,113,113,113,113,113,113,121,121,121,121,121,121,129,129,129,129,129,137,137,137,137,137,145,145,145,145,145,153,153,153,153,153,153,161,161,161,161,161,161,161,161,169,169,169,169,169,169,169,177,177,177,177,177,177,177,177,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,193,201,201,201,201,201,201,201,201,209,209,209,209,209,209,209,209,217,217,217,217,217,217,217],
[105,105,105,105,105,105,113,113,113,113,113,113,121,121,121,121,121,121,129,129,129,129,129,137,137,137,137,137,145,145,145,145,145,153,153,153,153,153,153,161,161,161,161,161,161,161,161,169,169,169,169,169,169,169,177,177,177,177,177,177,177,177,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,193,201,201,201,201,201,201,201,201,209,209,209,209,209,209,209,209,217,217,217,217,217,217,217],
[105,105,105,105,105,105,113,113,113,113,113,113,121,121,121,121,121,121,129,129,129,129,129,129,129,137,137,137,137,137,145,145,145,145,145,153,153,153,153,153,153,161,161,161,161,161,161,169,169,169,169,169,169,169,177,177,177,177,177,177,177,177,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,193,201,201,201,201,201,201,201,201,209,209,209,209,209,209,209,209,217,217,217,217,217,217,217],
[106,106,106,106,106,106,114,114,114,114,114,114,122,122,122,122,122,122,129,129,129,129,129,129,137,137,137,137,137,146,146,146,146,146,146,154,154,154,154,154,154,162,162,162,162,162,162,170,170,170,170,170,170,170,178,178,178,178,178,178,178,178,186,186,186,186,186,186,186,186,194,194,194,194,194,194,194,194,202,202,202,202,202,202,202,202,210,210,210,210,210,210,210,210,218,218,218,218,218,218,218],
[106,106,106,106,106,106,114,114,114,114,114,114,122,122,122,122,122,122,129,129,129,129,129,129,137,137,137,137,137,146,146,146,146,146,146,154,154,154,154,154,154,162,162,162,162,162,162,170,170,170,170,170,170,170,178,178,178,178,178,178,178,178,186,186,186,186,186,186,186,186,194,194,194,194,194,194,194,194,202,202,202,202,202,202,202,202,210,210,210,210,210,210,210,210,218,218,218,218,218,218,218],
[106,106,106,106,106,106,114,114,114,114,114,114,122,122,122,122,122,122,130,130,130,130,130,130,138,138,138,138,138,146,146,146,146,146,146,154,154,154,154,154,154,162,162,162,162,162,162,170,170,170,170,170,170,170,178,178,178,178,178,178,178,178,186,186,186,186,186,186,186,186,194,194,194,194,194,194,194,194,202,202,202,202,202,202,202,202,210,210,210,210,210,210,210,210,218,218,218,218,218,218,218],
[106,106,106,106,106,106,114,114,114,114,114,114,122,122,122,122,122,122,130,130,130,130,130,130,138,138,138,138,138,146,146,146,146,146,146,154,154,154,154,154,154,162,162,162,162,162,162,170,170,170,170,170,170,170,178,178,178,178,178,178,178,178,186,186,186,186,186,186,186,186,194,194,194,194,194,194,194,194,202,202,202,202,202,202,202,202,210,210,210,210,210,210,210,210,218,218,218,218,218,218,218],
[106,106,106,106,106,106,114,114,114,114,114,114,122,122,122,122,122,122,130,130,130,130,130,130,138,138,138,138,138,146,146,146,146,146,146,154,154,154,154,154,154,162,162,162,162,162,162,170,170,170,170,170,170,170,178,178,178,178,178,178,178,178,186,186,186,186,186,186,186,186,194,194,194,194,194,194,194,194,202,202,202,202,202,202,202,202,210,210,210,210,210,210,210,210,218,218,218,218,218,218,218],
[106,106,106,106,106,106,114,114,114,114,114,114,122,122,122,122,122,122,130,130,130,130,130,130,138,138,138,138,138,146,146,146,146,146,146,154,154,154,154,154,154,162,162,162,162,162,162,170,170,170,170,170,170,170,178,178,178,178,178,178,178,178,186,186,186,186,186,186,186,186,194,194,194,194,194,194,194,194,202,202,202,202,202,202,202,202,210,210,210,210,210,210,210,210,218,218,218,218,218,218,218],
[106,106,106,106,106,106,114,114,114,114,114,114,122,122,122,122,122,122,130,130,130,130,130,130,138,138,138,138,138,146,146,146,146,146,146,154,154,154,154,154,154,162,162,162,162,162,162,170,170,170,170,170,170,170,178,178,178,178,178,178,178,178,186,186,186,186,186,186,186,186,194,194,194,194,194,194,194,194,202,202,202,202,202,202,202,202,210,210,210,210,210,210,210,210,218,218,218,218,218,218,218],
[106,106,106,106,106,106,114,114,114,114,114,114,122,122,122,122,122,122,130,130,130,130,130,130,138,138,138,138,138,146,146,146,146,146,146,154,154,154,154,154,154,162,162,162,162,162,162,170,170,170,170,170,170,170,178,178,178,178,178,178,178,178,186,186,186,186,186,186,186,186,194,194,194,194,194,194,194,194,202,202,202,202,202,202,202,202,210,210,210,210,210,210,210,210,218,218,218,218,218,218,218],
[107,107,107,107,107,107,115,115,115,115,115,115,123,123,123,123,123,123,131,131,131,131,131,131,139,139,139,139,139,139,147,147,147,147,147,147,155,155,155,155,155,155,163,163,163,163,163,163,171,171,171,171,171,171,179,179,179,179,179,179,179,179,187,187,187,187,187,187,187,187,195,195,195,195,195,195,195,195,203,203,203,203,203,203,203,203,211,211,211,211,211,211,211,211,219,219,219,219,219,219,219],
[107,107,107,107,107,107,115,115,115,115,115,115,123,123,123,123,123,123,131,131,131,131,131,131,139,139,139,139,139,139,147,147,147,147,147,147,155,155,155,155,155,155,163,163,163,163,163,163,171,171,171,171,171,171,179,179,179,179,179,179,179,179,187,187,187,187,187,187,187,187,195,195,195,195,195,195,195,195,203,203,203,203,203,203,203,203,211,211,211,211,211,211,211,211,219,219,219,219,219,219,219],
[107,107,107,107,107,107,115,115,115,115,115,115,123,123,123,123,123,123,131,131,131,131,131,131,139,139,139,139,139,139,147,147,147,147,147,147,155,155,155,155,155,155,163,163,163,163,163,163,171,171,171,171,171,171,179,179,179,179,179,179,179,179,187,187,187,187,187,187,187,187,195,195,195,195,195,195,195,195,203,203,203,203,203,203,203,203,211,211,211,211,211,211,211,211,219,219,219,219,219,219,219],
[107,107,107,107,107,107,115,115,115,115,115,115,123,123,123,123,123,123,131,131,131,131,131,131,139,139,139,139,139,139,147,147,147,147,147,147,155,155,155,155,155,155,163,163,163,163,163,163,171,171,171,171,171,171,179,179,179,179,179,179,179,179,187,187,187,187,187,187,187,187,195,195,195,195,195,195,195,195,203,203,203,203,203,203,203,203,211,211,211,211,211,211,211,211,219,219,219,219,219,219,219],
[107,107,107,107,107,107,115,115,115,115,115,115,123,123,123,123,123,123,131,131,131,131,131,131,139,139,139,139,139,139,147,147,147,147,147,147,155,155,155,155,155,155,163,163,163,163,163,163,171,171,171,171,171,171,179,179,179,179,179,179,179,179,187,187,187,187,187,187,187,187,195,195,195,195,195,195,195,195,203,203,203,203,203,203,203,203,211,211,211,211,211,211,211,211,219,219,219,219,219,219,219],
[107,107,107,107,107,107,115,115,115,115,115,115,123,123,123,123,123,123,131,131,131,131,131,131,139,139,139,139,139,139,147,147,147,147,147,147,155,155,155,155,155,155,163,163,163,163,163,163,171,171,171,171,171,171,179,179,179,179,179,179,179,179,187,187,187,187,187,187,187,187,195,195,195,195,195,195,195,195,203,203,203,203,203,203,203,203,211,211,211,211,211,211,211,211,219,219,219,219,219,219,219],
[107,107,107,107,107,107,115,115,115,115,115,115,123,123,123,123,123,123,131,131,131,131,131,131,139,139,139,139,139,139,147,147,147,147,147,147,155,155,155,155,155,155,163,163,163,163,163,163,171,171,171,171,171,171,179,179,179,179,179,179,179,179,187,187,187,187,187,187,187,187,195,195,195,195,195,195,195,195,203,203,203,203,203,203,203,203,211,211,211,211,211,211,211,211,219,219,219,219,219,219,219],
[107,107,107,107,107,107,115,115,115,115,115,115,123,123,123,123,123,123,131,131,131,131,131,131,139,139,139,139,139,139,147,147,147,147,147,147,155,155,155,155,155,155,163,163,163,163,163,163,171,171,171,171,171,171,179,179,179,179,179,179,179,179,187,187,187,187,187,187,187,187,195,195,195,195,195,195,195,195,203,203,203,203,203,203,203,203,211,211,211,211,211,211,211,211,219,219,219,219,219,219,219],
[108,108,108,108,108,108,116,116,116,116,116,116,124,124,124,124,124,124,132,132,132,132,132,132,140,140,140,140,140,140,148,148,148,148,148,148,156,156,156,156,156,156,164,164,164,164,164,164,172,172,172,172,172,172,180,180,180,180,180,180,180,180,188,188,188,188,188,188,188,188,196,196,196,196,196,196,196,196,204,204,204,204,204,204,204,204,212,212,212,212,212,212,212,212,220,220,220,220,220,220,220],
[108,108,108,108,108,108,116,116,116,116,116,116,124,124,124,124,124,124,132,132,132,132,132,132,140,140,140,140,140,140,148,148,148,148,148,148,156,156,156,156,156,156,164,164,164,164,164,164,172,172,172,172,172,172,180,180,180,180,180,180,180,180,188,188,188,188,188,188,188,188,196,196,196,196,196,196,196,196,204,204,204,204,204,204,204,204,212,212,212,212,212,212,212,212,220,220,220,220,220,220,220],
[108,108,108,108,108,108,116,116,116,116,116,116,124,124,124,124,124,124,132,132,132,132,132,132,140,140,140,140,140,140,148,148,148,148,148,148,156,156,156,156,156,156,164,164,164,164,164,164,172,172,172,172,172,172,180,180,180,180,180,180,180,180,188,188,188,188,188,188,188,188,196,196,196,196,196,196,196,196,204,204,204,204,204,204,204,204,212,212,212,212,212,212,212,212,220,220,220,220,220,220,220],
[108,108,108,108,108,108,116,116,116,116,116,116,124,124,124,124,124,124,132,132,132,132,132,132,140,140,140,140,140,140,148,148,148,148,148,148,156,156,156,156,156,156,164,164,164,164,164,164,172,172,172,172,172,172,180,180,180,180,180,180,180,180,188,188,188,188,188,188,188,188,196,196,196,196,196,196,196,196,204,204,204,204,204,204,204,204,212,212,212,212,212,212,212,212,220,220,220,220,220,220,220],
[108,108,108,108,108,108,116,116,116,116,116,116,124,124,124,124,124,124,132,132,132,132,132,132,140,140,140,140,140,140,148,148,148,148,148,148,156,156,156,156,156,156,164,164,164,164,164,164,172,172,172,172,172,172,180,180,180,180,180,180,180,180,188,188,188,188,188,188,188,188,196,196,196,196,196,196,196,196,204,204,204,204,204,204,204,204,212,212,212,212,212,212,212,212,220,220,220,220,220,220,220],
[108,108,108,108,108,108,116,116,116,116,116,116,124,124,124,124,124,124,132,132,132,132,132,132,140,140,140,140,140,140,148,148,148,148,148,148,156,156,156,156,156,156,164,164,164,164,164,164,172,172,172,172,172,172,180,180,180,180,180,180,180,180,188,188,188,188,188,188,188,188,196,196,196,196,196,196,196,196,204,204,204,204,204,204,204,204,212,212,212,212,212,212,212,212,220,220,220,220,220,220,220],
[108,108,108,108,108,108,116,116,116,116,116,116,124,124,124,124,124,124,132,132,132,132,132,132,140,140,140,140,140,140,148,148,148,148,148,148,156,156,156,156,156,156,164,164,164,164,164,164,172,172,172,172,172,172,180,180,180,180,180,180,180,180,188,188,188,188,188,188,188,188,196,196,196,196,196,196,196,196,204,204,204,204,204,204,204,204,212,212,212,212,212,212,212,212,220,220,220,220,220,220,220],
[108,108,108,108,108,108,116,116,116,116,116,116,124,124,124,124,124,124,132,132,132,132,132,132,140,140,140,140,140,140,148,148,148,148,148,148,156,156,156,156,156,156,164,164,164,164,164,164,172,172,172,172,172,172,180,180,180,180,180,180,180,180,188,188,188,188,188,188,188,188,196,196,196,196,196,196,196,196,204,204,204,204,204,204,204,204,212,212,212,212,212,212,212,212,220,220,220,220,220,220,220],
[109,109,109,109,109,109,117,117,117,117,117,117,125,125,125,125,125,125,133,133,133,133,133,133,141,141,141,141,141,141,149,149,149,149,149,149,157,157,157,157,157,157,165,165,165,165,165,165,173,173,173,173,173,173,181,181,181,181,181,181,181,181,189,189,189,189,189,189,189,189,197,197,197,197,197,197,197,197,205,205,205,205,205,205,205,205,213,213,213,213,213,213,213,213,221,221,221,221,221,221,221],
[109,109,109,109,109,109,117,117,117,117,117,117,125,125,125,125,125,125,133,133,133,133,133,133,141,141,141,141,141,141,149,149,149,149,149,149,157,157,157,157,157,157,165,165,165,165,165,165,173,173,173,173,173,173,181,181,181,181,181,181,181,181,189,189,189,189,189,189,189,189,197,197,197,197,197,197,197,197,205,205,205,205,205,205,205,205,213,213,213,213,213,213,213,213,221,221,221,221,221,221,221],
[109,109,109,109,109,109,117,117,117,117,117,117,125,125,125,125,125,125,133,133,133,133,133,133,141,141,141,141,141,141,149,149,149,149,149,149,157,157,157,157,157,157,165,165,165,165,165,165,173,173,173,173,173,173,181,181,181,181,181,181,181,181,189,189,189,189,189,189,189,189,197,197,197,197,197,197,197,197,205,205,205,205,205,205,205,205,213,213,213,213,213,213,213,213,221,221,221,221,221,221,221],
[109,109,109,109,109,109,117,117,117,117,117,117,125,125,125,125,125,125,133,133,133,133,133,133,141,141,141,141,141,141,149,149,149,149,149,149,157,157,157,157,157,157,165,165,165,165,165,165,173,173,173,173,173,173,181,181,181,181,181,181,181,181,189,189,189,189,189,189,189,189,197,197,197,197,197,197,197,197,205,205,205,205,205,205,205,205,213,213,213,213,213,213,213,213,221,221,221,221,221,221,221],
[109,109,109,109,109,109,117,117,117,117,117,117,125,125,125,125,125,125,133,133,133,133,133,133,141,141,141,141,141,141,149,149,149,149,149,149,157,157,157,157,157,157,165,165,165,165,165,165,173,173,173,173,173,173,181,181,181,181,181,181,181,181,189,189,189,189,189,189,189,189,197,197,197,197,197,197,197,197,205,205,205,205,205,205,205,205,213,213,213,213,213,213,213,213,221,221,221,221,221,221,221],
[109,109,109,109,109,109,117,117,117,117,117,117,125,125,125,125,125,125,133,133,133,133,133,133,141,141,141,141,141,141,149,149,149,149,149,149,157,157,157,157,157,157,165,165,165,165,165,165,173,173,173,173,173,173,181,181,181,181,181,181,181,181,189,189,189,189,189,189,189,189,197,197,197,197,197,197,197,197,205,205,205,205,205,205,205,205,213,213,213,213,213,213,213,213,221,221,221,221,221,221,221],
[109,109,109,109,109,109,117,117,117,117,117,117,125,125,125,125,125,125,133,133,133,133,133,133,141,141,141,141,141,141,149,149,149,149,149,149,157,157,157,157,157,157,165,165,165,165,165,165,173,173,173,173,173,173,181,181,181,181,181,181,181,181,189,189,189,189,189,189,189,189,197,197,197,197,197,197,197,197,205,205,205,205,205,205,205,205,213,213,213,213,213,213,213,213,221,221,221,221,221,221,221],
[109,109,109,109,109,109,117,117,117,117,117,117,125,125,125,125,125,125,133,133,133,133,133,133,141,141,141,141,141,141,149,149,149,149,149,149,157,157,157,157,157,157,165,165,165,165,165,165,173,173,173,173,173,173,181,181,181,181,181,181,181,181,189,189,189,189,189,189,189,189,197,197,197,197,197,197,197,197,205,205,205,205,205,205,205,205,213,213,213,213,213,213,213,213,221,221,221,221,221,221,221],
[110,110,110,110,110,110,118,118,118,118,118,118,126,126,126,126,126,126,134,134,134,134,134,134,142,142,142,142,142,142,150,150,150,150,150,150,158,158,158,158,158,158,166,166,166,166,166,166,174,174,174,174,174,174,182,182,182,182,182,182,182,182,190,190,190,190,190,190,190,190,198,198,198,198,198,198,198,198,206,206,206,206,206,206,206,206,214,214,214,214,214,214,214,214,222,222,222,222,222,222,222],
[110,110,110,110,110,110,118,118,118,118,118,118,126,126,126,126,126,126,134,134,134,134,134,134,142,142,142,142,142,142,150,150,150,150,150,150,158,158,158,158,158,158,166,166,166,166,166,166,174,174,174,174,174,174,182,182,182,182,182,182,182,182,190,190,190,190,190,190,190,190,198,198,198,198,198,198,198,198,206,206,206,206,206,206,206,206,214,214,214,214,214,214,214,214,222,222,222,222,222,222,222],
[110,110,110,110,110,110,118,118,118,118,118,118,126,126,126,126,126,126,134,134,134,134,134,134,142,142,142,142,142,142,150,150,150,150,150,150,158,158,158,158,158,158,166,166,166,166,166,166,174,174,174,174,174,174,182,182,182,182,182,182,182,182,190,190,190,190,190,190,190,190,198,198,198,198,198,198,198,198,206,206,206,206,206,206,206,206,214,214,214,214,214,214,214,214,222,222,222,222,222,222,222],
[110,110,110,110,110,110,118,118,118,118,118,118,126,126,126,126,126,126,134,134,134,134,134,134,142,142,142,142,142,142,150,150,150,150,150,150,158,158,158,158,158,158,166,166,166,166,166,166,174,174,174,174,174,174,182,182,182,182,182,182,182,182,190,190,190,190,190,190,190,190,198,198,198,198,198,198,198,198,206,206,206,206,206,206,206,206,214,214,214,214,214,214,214,214,222,222,222,222,222,222,222],
[110,110,110,110,110,110,118,118,118,118,118,118,126,126,126,126,126,126,134,134,134,134,134,134,142,142,142,142,142,142,150,150,150,150,150,150,158,158,158,158,158,158,166,166,166,166,166,166,174,174,174,174,174,174,182,182,182,182,182,182,182,182,190,190,190,190,190,190,190,190,198,198,198,198,198,198,198,198,206,206,206,206,206,206,206,206,214,214,214,214,214,214,214,214,222,222,222,222,222,222,222],
[110,110,110,110,110,110,118,118,118,118,118,118,126,126,126,126,126,126,134,134,134,134,134,134,142,142,142,142,142,142,150,150,150,150,150,150,158,158,158,158,158,158,166,166,166,166,166,166,174,174,174,174,174,174,182,182,182,182,182,182,182,182,190,190,190,190,190,190,190,190,198,198,198,198,198,198,198,198,206,206,206,206,206,206,206,206,214,214,214,214,214,214,214,214,222,222,222,222,222,222,222],
[110,110,110,110,110,110,118,118,118,118,118,118,126,126,126,126,126,126,134,134,134,134,134,134,142,142,142,142,142,142,150,150,150,150,150,150,158,158,158,158,158,158,166,166,166,166,166,166,174,174,174,174,174,174,182,182,182,182,182,182,182,182,190,190,190,190,190,190,190,190,198,198,198,198,198,198,198,198,206,206,206,206,206,206,206,206,214,214,214,214,214,214,214,214,222,222,222,222,222,222,222],
[110,110,110,110,110,110,118,118,118,118,118,118,126,126,126,126,126,126,134,134,134,134,134,134,142,142,142,142,142,142,150,150,150,150,150,150,158,158,158,158,158,158,166,166,166,166,166,166,174,174,174,174,174,174,182,182,182,182,182,182,182,182,190,190,190,190,190,190,190,190,198,198,198,198,198,198,198,198,206,206,206,206,206,206,206,206,214,214,214,214,214,214,214,214,222,222,222,222,222,222,222],
[111,111,111,111,111,111,119,119,119,119,119,119,127,127,127,127,127,127,135,135,135,135,135,135,143,143,143,143,143,143,151,151,151,151,151,151,159,159,159,159,159,159,167,167,167,167,167,167,175,175,175,175,175,175,183,183,183,183,183,183,183,183,191,191,191,191,191,191,191,191,199,199,199,199,199,199,199,199,207,207,207,207,207,207,207,207,215,215,215,215,215,215,215,215,223,223,223,223,223,223,223],
[111,111,111,111,111,111,119,119,119,119,119,119,127,127,127,127,127,127,135,135,135,135,135,135,143,143,143,143,143,143,151,151,151,151,151,151,159,159,159,159,159,159,167,167,167,167,167,167,175,175,175,175,175,175,183,183,183,183,183,183,183,183,191,191,191,191,191,191,191,191,199,199,199,199,199,199,199,199,207,207,207,207,207,207,207,207,215,215,215,215,215,215,215,215,223,223,223,223,223,223,223],
[111,111,111,111,111,111,119,119,119,119,119,119,127,127,127,127,127,127,135,135,135,135,135,135,143,143,143,143,143,143,151,151,151,151,151,151,159,159,159,159,159,159,167,167,167,167,167,167,175,175,175,175,175,175,183,183,183,183,183,183,183,183,191,191,191,191,191,191,191,191,199,199,199,199,199,199,199,199,207,207,207,207,207,207,207,207,215,215,215,215,215,215,215,215,223,223,223,223,223,223,223],
[111,111,111,111,111,111,119,119,119,119,119,119,127,127,127,127,127,127,135,135,135,135,135,135,143,143,143,143,143,143,151,151,151,151,151,151,159,159,159,159,159,159,167,167,167,167,167,167,175,175,175,175,175,175,183,183,183,183,183,183,183,183,191,191,191,191,191,191,191,191,199,199,199,199,199,199,199,199,207,207,207,207,207,207,207,207,215,215,215,215,215,215,215,215,223,223,223,223,223,223,223],
[111,111,111,111,111,111,119,119,119,119,119,119,127,127,127,127,127,127,135,135,135,135,135,135,143,143,143,143,143,143,151,151,151,151,151,151,159,159,159,159,159,159,167,167,167,167,167,167,175,175,175,175,175,175,183,183,183,183,183,183,183,183,191,191,191,191,191,191,191,191,199,199,199,199,199,199,199,199,207,207,207,207,207,207,207,207,215,215,215,215,215,215,215,215,223,223,223,223,223,223,223],
[111,111,111,111,111,111,119,119,119,119,119,119,127,127,127,127,127,127,135,135,135,135,135,135,143,143,143,143,143,143,151,151,151,151,151,151,159,159,159,159,159,159,167,167,167,167,167,167,175,175,175,175,175,175,183,183,183,183,183,183,183,183,191,191,191,191,191,191,191,191,199,199,199,199,199,199,199,199,207,207,207,207,207,207,207,207,215,215,215,215,215,215,215,215,223,223,223,223,223,223,223],
[111,111,111,111,111,111,119,119,119,119,119,119,127,127,127,127,127,127,135,135,135,135,135,135,143,143,143,143,143,143,151,151,151,151,151,151,159,159,159,159,159,159,167,167,167,167,167,167,175,175,175,175,175,175,183,183,183,183,183,183,183,183,191,191,191,191,191,191,191,191,199,199,199,199,199,199,199,199,207,207,207,207,207,207,207,207,215,215,215,215,215,215,215,215,223,223,223,223,223,223,223],
[112,112,112,112,112,112,120,120,120,120,120,120,128,128,128,128,128,128,136,136,136,136,136,136,144,144,144,144,144,144,152,152,152,152,152,152,160,160,160,160,160,160,168,168,168,168,168,168,176,176,176,176,176,176,184,184,184,184,184,184,184,184,192,192,192,192,192,192,192,192,200,200,200,200,200,200,200,200,208,208,208,208,208,208,208,208,216,216,216,216,216,216,216,216,224,224,224,224,224,224,224],
[112,112,112,112,112,112,120,120,120,120,120,120,128,128,128,128,128,128,136,136,136,136,136,136,144,144,144,144,144,144,152,152,152,152,152,152,160,160,160,160,160,160,168,168,168,168,168,168,176,176,176,176,176,176,184,184,184,184,184,184,184,184,192,192,192,192,192,192,192,192,200,200,200,200,200,200,200,200,208,208,208,208,208,208,208,208,216,216,216,216,216,216,216,216,224,224,224,224,224,224,224],
[112,112,112,112,112,112,120,120,120,120,120,120,128,128,128,128,128,128,136,136,136,136,136,136,144,144,144,144,144,144,152,152,152,152,152,152,160,160,160,160,160,160,168,168,168,168,168,168,176,176,176,176,176,176,184,184,184,184,184,184,184,184,192,192,192,192,192,192,192,192,200,200,200,200,200,200,200,200,208,208,208,208,208,208,208,208,216,216,216,216,216,216,216,216,224,224,224,224,224,224,224],
[112,112,112,112,112,112,120,120,120,120,120,120,128,128,128,128,128,128,136,136,136,136,136,136,144,144,144,144,144,144,152,152,152,152,152,152,160,160,160,160,160,160,168,168,168,168,168,168,176,176,176,176,176,176,184,184,184,184,184,184,184,184,192,192,192,192,192,192,192,192,200,200,200,200,200,200,200,200,208,208,208,208,208,208,208,208,216,216,216,216,216,216,216,216,224,224,224,224,224,224,224],
[112,112,112,112,112,112,120,120,120,120,120,120,128,128,128,128,128,128,136,136,136,136,136,136,144,144,144,144,144,144,152,152,152,152,152,152,160,160,160,160,160,160,168,168,168,168,168,168,176,176,176,176,176,176,184,184,184,184,184,184,184,184,192,192,192,192,192,192,192,192,200,200,200,200,200,200,200,200,208,208,208,208,208,208,208,208,216,216,216,216,216,216,216,216,224,224,224,224,224,224,224],
[112,112,112,112,112,112,120,120,120,120,120,120,128,128,128,128,128,128,136,136,136,136,136,136,144,144,144,144,144,144,152,152,152,152,152,152,160,160,160,160,160,160,168,168,168,168,168,168,176,176,176,176,176,176,184,184,184,184,184,184,184,184,192,192,192,192,192,192,192,192,200,200,200,200,200,200,200,200,208,208,208,208,208,208,208,208,216,216,216,216,216,216,216,216,224,224,224,224,224,224,224],
[112,112,112,112,112,112,120,120,120,120,120,120,128,128,128,128,128,128,136,136,136,136,136,136,144,144,144,144,144,144,152,152,152,152,152,152,160,160,160,160,160,160,168,168,168,168,168,168,176,176,176,176,176,176,184,184,184,184,184,184,184,184,192,192,192,192,192,192,192,192,200,200,200,200,200,200,200,200,208,208,208,208,208,208,208,208,216,216,216,216,216,216,216,216,224,224,224,224,224,224,225]];
var listranks=["Pionnier","Batisseur","Apprenti","Rapace","Agresseur","Macon","Inventeur","Diplomate","Aventurier","Barbare","Guerrier","Pilleur","Politicien","Commerçant",
"Ingénieur","Architecte","Entrepreneur","Défenseur","Protecteur","Gardien","Conservateur","Gardien de tombeau","Gardien de donjon","Gardien de la forteresse","Maitre des clefs",
"Puissance secrète","Marchand","Visionnaire","Industriel","Spécialiste du forage","Géologue","Maitre géologue","Gérant de colonie minière","Maitre des mines","Maitre d'usine",
"Gigantisme industriel","Fondateur de l'Eldorado","Soldat","Sénateur renommé","Sergent","Aristocrate","Conseiller influent","Militaire de haut rang","Financier","Célèbre Homme d'état",
"Haut émissaire","Investisseur","Homme de pouvoir","Fin négociateur","Batisseur de cités","Illustre dirigeant","Gouverneur de la cité","Président du capitole","Génie industriel",
"Batisseur de la citadelle","Seigneur de la citadelle","Batisseur de merveilles","Maitre des merveilles","Acclamé des foules","Créateur de richesses","Suprématie économique",
"Hégémonie commerciale","Virtuose de la finance","Architecte prodige","Créateur de prestige","Téméraire","Démolisseur","Soldat Artilleur","Lieutenant","Premier lieutenant",
"Missionnaire","Autodictate","Conquistador","Ministre","Chevalier","Bienfaiteur","Elu des foules","Monarque","Souverain","Trésorier","Main d'Or","Main blanche","Erudit","Chaman",
"Noble sage","Mage blanc","Oracle","Arcaniste","Maitre des arcanes","Sanguinaire","Briseur de cranes","Caporal","Capitaine","Major","Baroudeur","Dominateur","Chevalier de l'Ordre",
"Prince","Philanthrope","Destiné","Archimage","Vénérable","Céleste","Sultan","Tueur","Meurtrier","Folie meurtrière","Assassin","Collectionneur de trophées","Dévoreur d'âmes","Maudit",
"Roi Maudit","Incendiaire","Destructeur","Envahisseur","Ravageur","Mercenaire","Faucheur","Répandeur de mort","Général de l'Armée Noire","Conquérant","Chef des légions",
"Combattant de la victoire","Chef des armées du triomphe","Glorieux héros de guerre","Seigneur de Guerre","Général des légions meurtrières","Amiral des légions titanesques",
"Chasseur interstellaire","Chasseur intergalactique","Maitre d'armes","Stratège","Tacticien","Expert tactique","Corsaire","Corsaire légendaire","Colonel","Légion d'honneur",
"Unité d'assaut","Unité d'élite","Goliath","Destructeur","Force implacable","Maitre de la désolation","Ministre de la guerre","Vétéran de guerre","Gladiateur des temps modernes",
"Champion","Tyran","Prométhée","Cronos","Disciple de thanatos","Prédateur","Templier","Croisé","Berserker","Géant d'Héca","Mythique","Hercule","Disciple d'Ares","Chevalier du Ciel",
"Commandant","Général","Amiral","Néréide","Achille","Persée","Demi-dieu","Prétendant au trone","Couronné","César","Autorité incontestée","Colosse","Armée de la Gloire","Armée de la Victoire",
"Armée invaincue","Altesse","Empereur","Aigle impérial","Lignée impériale","Sang Royal","Légions impériales","Anarchiste","Dieu du Chaos","Majesté","Empire Colonial","Empereur intergalactique",
"Empereur de la Nouvelle Ere","Lumière d'Ouranos","Disciple D'Artémis","Disciple d'Hephaïstos","Disciple d'Athena","Leader","Dynaste","Apôtre","Lumière d'Ether","Disciple d'Apollon","Titan",
"Disciple de Poséidon","Disciple de Zeus","Roi Honorable","Dynastie Antique","Disciple de Dyonisos","Disciple de Thémis","Disciple de Maïa","Disciple d'Hestia","Disciple d'Hephaïstos",
"Ultime","Illustre","Byzance","Empire d'Eden","Disciple de Déméter","Disciple d'Atlas","Disciple de Gaïa","Divinité","Dieu du Pouvoir","Disciple d'Hermès","Disciple d'Hemera","Disciple d'Ouréa",
"Disciple de Gaïa","Entité surnaturelle","Suprême","Dieu des mondes","Universel","Universalis"];
//FIN DE LA BASE DE DONNEES POUR OGAME MASTERIES & RANKS
var t=DATA.techno;
var techs= [t.espi,t.ordi,t.arme,t.bouc,t.prot,t.ener,t.hype,t.comb,t.impu,t.phyp,t.lase,t.ions,t.plas,t.rese,t.expe,t.grav];
//Calcul du techscore et du raiderscore
for (var i=0;i<16;i++) { techs[i] = parseInt(techs[i]); }
var rscore=DATA.player.stats.player.fleet.value;
var techscore = 2*(t.arme+t.bouc+t.prot+t.espi)+t.comb+t.impu+t.phyp;
var helpmessage1='',helpmessage2=''; //par défaut pas de message d'aide
if (rscore >=0 && techscore>=0){ //Si on a trouvé les données
var rlvl= Math.pow(rscore*25*(1+techscore/50),1/4); //Calcul du lvl raider
var rpro = Math.floor((rlvl-Math.floor(rlvl))*100); //Calcul du pourcentage de progression pour le niveau supérieur
rlvl = Math.floor(rlvl);}
else { // Données non enregistrées
var helpmessage1="Allez voir votre Classement Flotte et vos techs pour que votre niveau soit calculé";
var rlvl='<A HREF="javascript:alert(\''+helpmessage1+'\');">?</A>';
var rpro=0;}
// Calcul de la production totale par jour cumulée pour toutes les planètes, avec coeffs metal/cri/deut de 1/1.5/2
var totprod=0;
for (var i = 0; i < DATA.planet.length; i++)
{
if (DATA.planet[i].resource.prod.m==0){totprod=-1;break;}
var prod=DATA.planet[i].resource.prod;
totprod+=24*(parseInt(prod.m)+parseInt(1.5*prod.c)+parseInt(2*prod.d));
}
if (totprod <= 0) { // Données non enregistrées
var helpmessage2="Allez en page ressources de chaque colo/lune pour que votre niveau soit calculé";
var mlvl ='<A HREF="javascript:alert(\''+helpmessage2+'\');">?</A>'; var mpro=0;}
else{
var mlvl=Math.pow(totprod/1500,1/2); // Calcul du lvl mineur
var mpro = Math.floor((mlvl-Math.floor(mlvl))*100); //Calcul du pourcentage de progression pour le niveau supérieur
mlvl = Math.floor(mlvl); }
var stars=" ";
if (rlvl>0 && mlvl>0){ // Si on a toutes les données pour pouvoir indiquer le grade
if (rlvl>99) {rlvl=99;}
if (mlvl>99) {mlvl=99;} // Il y en a peu qui atteignent le niveau 99, mais au cas où, on met un plafond
var idrank=tabranks[rlvl][mlvl]; //va chercher le numéro de grade en fonction des deux lvls, selon le tableau tabranks
var grade=listranks[idrank-1]; //va chercher le nom du grade en fonction de son numéro, selon le tableau listranks
var nbstars=tabstars[rlvl][mlvl];} //va chercher le nombre d'étoiles du grade en fonction des deux lvls, dans tabranks
else {var grade="?"; } //Sinon, grade inconnu !
if (options[20]>0){
var lvlcolor="rgb("+parseInt(255*(rlvl/(mlvl+rlvl)))+","+parseInt(255*(1-Math.abs(rlvl-mlvl)/Math.max(rlvl,mlvl)))+","+parseInt(255*(mlvl/(mlvl+rlvl)))+")";
// calcule un code couleur RGB : Les mineurs purs sont en bleu, les polyvalents sont en vert, les raiders purs sont en rouge
} else {
var lvlcolor="rgb("+options[21]+")";}
//Code en base 64 de l'image d'étoile
var imgstar="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABGdBTUEAALGeYUxB9wAAACBjSFJNAACHEAAAjBIAAP1NAACBPgAAWesAARIPAAA85gAAGc66ySIyAAABK2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAACjPY2BgMnB0cXJlEmBgyM0rKQpyd1KIiIxSYD/PwMbAzAAGicnFBY4BAT4gdl5+XioDBvh2jYERRF/WBZnFQBrgSi4oKgHSf4DYKCW1OJmBgdEAyM4uLykAijPOAbJFkrLB7A0gdlFIkDOQfQTI5kuHsK+A2EkQ9hMQuwjoCSD7C0h9OpjNxAE2B8KWAbFLUitA9jI45xdUFmWmZ5QoGFpaWio4puQnpSoEVxaXpOYWK3jmJecXFeQXJZakpgDVQtwHBoIQhaAQ0wBqtNBkoDIAxQOE9TkQHL6MYmcQYgiQXFpUBmUyMhkT5iPMmCPBwOC/lIGB5Q9CzKSXgWGBDgMD/1SEmJohA4OAPgPDvjkAwMZP/eeaqagAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zNTDus58AAAO8SURBVEhLzZR9bFNVGIc7VkWjYcEIuJhoogkJMSoxIpFl0ZCYERMhKkwJTE38QzEaA8a/lBiV4VdgQoy6DM34EAKLAiMwmKvY7oO1u+3t11p7243RdrOuHbeDWdu19/78ne2iGBdzjSOxyZP3Pee8933OPT25Fsv/8VccH3wR0Odes71ls4kHkban9Uu+2msi2Vb/QXnponQcI2eACXvw25aDN8+6qDARW43htgLirUD6OH5VHVtmVeLs7b0J6R89iB8FBo4AycPA+NGU1+2onDVRUXW/hqFDOmIHgMheIEZGmpHLnNj1nyUArGo6fjeSLQlEvwbCjUDoS0YyQFJNE1G/bZmaHb/RlGzNU7Vl+/btXViYSD5wKdW5qXi+5TP9/CFZizaOQPmczXcDwYY/CTFXGqCHdowWQ03BfLh5z1jsxGbkkstVNbvgb9KxQMMmfXB/N2JNowjtmET/x0D/J2zIGPwICHwI+LcDPvJHrGdOfMRrIL8PyNuKCO9Oa/FmeybaWN96sqNsSjgprd4Dfy0bbwU8bxMRjVzm+Ape5lcj5qfqifutabxE4Tj0ArTTNTYdmDMl4dlXaM5qG8LPcPENFm8B+ohERO4xkBmvRsy7N7POQGaMkCgFrcv8qWTktr8cG5CfX+yp7kJoHd/oZT78EkVEIiL3zICYF4gasR4mg3XQTy1VCmr4jhkvQz6v3qp3VksIP8n/4jk2IFIdI/EQWcA57/Mcb+Das2T99FqYcxc4PntvMhNtW/yPtw3ILip9v8KPwONs+DQFxEPktYDrEcB+J9AxDzhjBdrKyBzOzeUxVwDnFo+ORY8sNXWdcxmlEs51CtyrKKBMqgIctwA/8O87ayDyDgOnBZp3EW/U/ipTgitFGHjvGPrYvLuSO+WOO9mwi3QbiNxB7EQiyUddXzR+c/2/kwTW+uDgMXRR0MMm3C36jIYiivE5Q+hhHLkv9s67OytMS3ily9G3JIGe66abuYmf/ERiJEICRDR3EZkkFlxsP9220LRE17Xb4arMwcm38LGBIo6DDJNeEjfyqCETwgvlWv5yYIlpSely5CHdaS0gJHZoCHj+2uG7hksnn9ipH3s4gHbeqiFjbdCIcNWYlyQbVqLfUoJ4mOeu2e6PTDpff7WQG59vfCHKdaV5jda+shP2G/QpWdqCyd++2mBaogfrNqLDWoJjuUuLbF9/4GDLjJ/yXqm/DBnbCs1V853umVfMD7/ypmlJqmtrlerbtWoo8YvV7EM/K6fuGQ1++pjZ+lmv+x0kFZQaeIe/swAAAABJRU5ErkJggg==";
// On insère le code du grade et des étoiles
for(var i = 0; i < nbstars; i++) {stars+="<img height=\"14px\" src=\""+imgstar+"\"></img>";}
var tbody = document.getElementsByTagName('tbody')[5];
var tr1 = addElem(tbody,'tr',{},"<td colspan=\"4\" class=\"c\">Grade : "+grade+stars+"</td>");
// et le code des deux barres de lvls
var contenttr2="<th style=\"background-color:"+lvlcolor+";\"><A HREF=\"javascript:alert('Allez régulièrement en page Laboratoire et consultez votre classement flotte pour que votre niveau soit mis à jour');\"><font size=1>Raider</A> lvl </font><b><font size=3>"+rlvl+"</font></b></th><th colspan=\"3\" style=\"background-color:"+lvlcolor+";\">"
+"<div style='width:100%;border:1px #000 solid;"+"background-color:transparent;'><span style=\"position:absolute; left:50%;\">Niveau "+(rlvl+1)+" : "+rpro+" %</span>"
+"<div style=\"width:"+rpro+"%; height:13px; background-color:rgb("+options[26]+");\"></div>"
+helpmessage1+"</div></th>";
var contenttr3="<th style=\"background-color:"+lvlcolor+";\"><A HREF=\"javascript:alert('Allez régulièrement en page ressources de chaque colo pour que votre niveau soit mis à jour');\"><font size=1>Mineur</A> lvl </font><b><font size=3>"+mlvl+"</font></b></th><th colspan=\"3\" style=\"background-color:"+lvlcolor+";\">"
+"<div style='width:100%;border:1px #000 solid;"+"background-color:transparent;'><span style=\"position:absolute; left:50%;\">Niveau "+(mlvl+1)+" : "+mpro+" %</span>"
+"<div style=\"width:"+mpro+"%; height:13px;; background-color:rgb("+options[26]+");\"></div>"
+helpmessage2+"</div></th>";
var tr2 = addElem(tbody,'tr',{},contenttr2);
var tr3 = addElem(tbody,'tr',{},contenttr3);
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// Scripts agissant sur la page BATIMENTS
if ((url.indexOf('/game/index.php?page=b_building',0))>=0)
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
{
// BARRE DE PROGRESSION DES BATIMENTS
if (document.getElementById('bxx') && options[0]>0) { // Si une construction en cours
var td, pro, divTop, divIn, time = 0, totalTime = 0;
td = document.getElementById('bxx').parentNode.previousSibling;
var tdbatiment=td.parentNode; var listebatiments = tdbatiment.parentNode;
if (options[25]>0){td.parentNode.parentNode.insertBefore(td.parentNode,td.parentNode.parentNode.firstChild);} //Déplace le batiment en cours de construction en tête de liste
var totalTime = ([x, j, h, m, s] = td.textContent.match(/Durée de construction : (?:(\d+)j )?(?:(\d+)h )?(?:(\d+)m )?(?:(\d+)s)?/)) ? (j || 0) * 24 * 60 * 60 + (h || 0) * 60 * 60 + (m || 0) * 60 + (s || 0) * 1 : 0;
var time=thisplanet.building.build.end-actualTime; // Enregistre le temps de construction restant
if (td && totalTime) {
divTop = document.createElement('div'); //Boîte conteneur
divIn = divTop.appendChild(document.createElement('div')); //On met la barre de progression dans la boite
td.appendChild(divTop); //Et on insère la boite sur la page
divTop.style.cssText = 'width:95%; height:13px; margin-left:10px;'+
'border:1px #99d solid;'+
(options[6]>0 ? '-moz-border-radius:15px;' : '')+
'background-color:transparent;'; // CSS de la boite
var colors1=options[7].split(/,/);
var colors2=options[8].split(/,/);
var r1=parseInt(colors1[0]),v1=parseInt(colors1[1]),b1=parseInt(colors1[2]);
var r2=parseInt(colors2[0]),v2=parseInt(colors2[1]),b2=parseInt(colors2[2]);
var coef1=(r2-r1)/100,coef2=(v2-v1)/100,coef3=(b2-b1)/100;
var roundcorner=(options[6]>0 ? true : false);
progress(r1,v1,b1,coef1,coef2,coef3,roundcorner);
var intervalID = window.setInterval(progress, Math.max(options[9],Math.floor(totalTime/10)), r1,v1,b1,coef1,coef2,coef3,roundcorner); }} // On lance l'actualisation automatique
if (options[22]>0){
var tdnode = document.getElementsByTagName('td');
var tdnodelength=tdnode.length;
function infoslevelup(text,calc,color,text2,noplus){
tdnode[f+1].innerHTML+="</br><font color="+color+">"+text+" "
+((calc>0 && !noplus)?"+":"")
+((calc!="")?format(Math.round(calc)):"")
+(text2?text2:"");}
if (!lune) { // On sépare la détection des batiments non-lunaires et les batiments lunaires pour gagner en vitesse de détection.
var scan = [/Mine de m/,
/Mine de cr/,
/tiseur de deu/,
/lectrique solair/,
/lectrique de fus/,
/e de nanites/,
/oratoire de recherche/,
/Terraformeur/,
/Silo de missiles/,
/Usine de robots/,
/Chantier spatial/,
/Hangar de mét/,
/Hangar de cri/,
/Réservoir de deut/];
} else {
var scan = [/Base luna/,
/Phalange de capt/,
/Porte de saut spat/,
/Usine de robots/,
/Chantier spatial/,
/Hangar de mét/,
/Hangar de cri/,
/Réservoir de deut/];
}
for (var f=54; f<tdnodelength ; f++){
var tdhtml=tdnode[f].innerHTML;
if (tdnode[f].getAttribute("class")=="l" && (tdhtml).indexOf("Durée de construction :",0)>=0) //Cette condition supplémentaire réduit considérablement le champ de recherche
{
//INFOS LEVEL UP : A chaque batiment détecté, on rajoute des infos supplémentaires, généralement le gain du niveau et la consommation supplémentaire
for(var num=0; num<scan.length ; num++) {
if (scan[num].test(tdhtml)){
if (!lune){
switch(num){
case 0: n=thisplanet.building.mmet;
infoslevelup("Production<br>",speedcoef*30*Math.pow(1.1,n)*(1.1+0.1*n),"#66FF33"," /h");
infoslevelup("Energie",-10*Math.pow(1.1,n)*(1.1+0.1*n),"#FF2211");
// On recupere le temps de construction, qui servira éventuellement plus tard à une solution de secours dans le cas de nanite > 0 et robots < 10
var pos3 = (tdhtml).indexOf("e de construction : ",0);
var pos4 = (tdhtml).indexOf("s",pos3+20);
temps = (tdhtml).substring(pos3+20,pos4);
break;
case 1: n=thisplanet.building.mcri;
infoslevelup("Production<br>",speedcoef*20*Math.pow(1.1,n)*(1.1+0.1*n),"#66FF33"," /h");
infoslevelup("Energie",-10*Math.pow(1.1,n)*(1.1+0.1*n),"#FF2211");
break;
case 2: n=thisplanet.building.mdet;
var tempmax=thisplanet.maxtemp;
if (tempmax=="-1") { infoslevelup("Production +<A title=\"Allez en vue genérale de cette planète pour que la production soit calculée\">?</A>","","#FFF"); }
else { infoslevelup("Production<br>",speedcoef*10*Math.pow(1.1,n)*(1.1+0.1*n)*(-0.002*tempmax+1.28),"#66FF33"," /h"); }
infoslevelup("Energie",-20*Math.pow(1.1,n)*(1.1+0.1*n),"#FF2211");
break;
case 3: n=thisplanet.building.ces;
infoslevelup("Energie",20*Math.pow(1.1,n)*(1.1+0.1*n),"#66FF33");
break;
case 4: n=thisplanet.building.cef;
var lvlnrj=DATA.techno.ener;
if (lvlnrj<0) { infoslevelup("Energie +<A title=\"Allez en page Laboratoire de cette planète pour que la production soit calculée\">?</A>","","#FFF");}
else { infoslevelup("Energie",30*Math.pow(1.05+lvlnrj*0.01,n)*((1.05+lvlnrj*0.01)*(n+1)-n),"#66FF33"); }
infoslevelup("Deutérium</br>",-10*Math.pow(1.1,n)*(1.1+0.1*n),"#FF2211"," /h");
break;
case 5: infoslevelup("<font size=\"1\">Vitesse de </br>construction </br>des batiments </br>et vaisseaux</br> </font><b>x2</b></font>","","#66FF33");
break;
case 6: // Indication d'infos supplémentaires sur le réseau (Infos LEVEL UP)
n=thisplanet.building.lab;
var labs = new Array(); // On va inscrire dans la liste labs les niveaux de tous les labos
for(var i=0; i<DATA.planet.length ; i++){
positioni=DATA.planet[i].posi;
var lvli = DATA.planet[i].building.lab; // Voilà l'info que nous cherchons, le niveau du labo de la planète
if (positioni==position) { lvli=0; } //pour ne pas prendre en compte le labo de la planete ou se fait la recherche
labs.push(lvli);} // qu'on ajoute au tableau, l'ordre n'a pas d'importance vu qu'on les trie après
function compareNombres(a, b) { return a - b; } // Petite fonction de tri
labs.sort(compareNombres); labs.reverse();
// On a la liste des lvls des labos triés en ordre croissant, puis décroissant grâce à reverse.
var lvlres = DATA.techno.rese; //On récupère le niveau du réseau
if (lvlres>0){
var totallab = n;
for (var i = 0; i < lvlres; i++) { totallab+=labs[i];} } //Somme des n autres meilleurs labos, n étant le niveau du réseau
else if (lvlres==0) { var totallab=n; } //Si pas de réseau, seul ce labo compte
else { var totallab="-777"; } //Au cas où le réseau n'a pas été enregistré
if (totallab=="-777"){
infoslevelup("<font size=\"1\"> Vitesse de </br>recherche</br></font>+<A title=\"Allez en page Laboratoire de cette planète pour que la vitesse soit calculée\">?</A>","","#FFF");}
else { infoslevelup("<font size=\"1\"> Vitesse de </br>recherche</br></font>",100*(2+totallab)/(1+totallab)-100,"#66FF33"," %");}
if (lvlres>0 && totallab>n){ //Si on a un réseau qui sert à quelquechose (au moins un autre labo)
tdhtml+='<font color=#66FF33 size="1"> Réseau disponible pour ce laboratoire : Niveau </font><font color=#66FF33 size="2">'+totallab+'</font>'; }
break;
case 7: infoslevelup("+ 4 cases</br>exploitables","","#66FF33");
break;
case 8: infoslevelup("+ 5 MIP </br> ou + 10 MI","","#66FF33");
break;
case 9: n=thisplanet.building.rob;
infoslevelup("<font size=\"1\"> Vitesse de </br>construction </br>des batiments</br></font>",100*(2+n)/(1+n)-100,"#66FF33"," %");
break;
case 10: n=thisplanet.building.cspa;
infoslevelup("<font size=\"1\"> Vitesse de </br>construction</br> des vaisseaux</br></font>",100*(2+n)/(1+n)-100,"#66FF33"," %");
break;
case 11: n=thisplanet.building.hmet;
infoslevelup("Capacité :</br>",100+50*parseInt(Math.pow(1.6,n+1)),"#66FF33","k",1);
infoslevelup("(",(n==0)?50:(50*(Math.floor(Math.pow(1.6,n+1))-Math.floor(Math.pow(1.6,n)))),"#99FF66","k )");
break;
case 12: n=thisplanet.building.hcri;
infoslevelup("Capacité :</br>",100+50*parseInt(Math.pow(1.6,n+1)),"#66FF33","k",1);
infoslevelup("(",(n==0)?50:(50*(Math.floor(Math.pow(1.6,n+1))-Math.floor(Math.pow(1.6,n)))),"#99FF66","k )");
break;
case 13: n=thisplanet.building.hdet;
infoslevelup("Capacité :</br>",100+50*parseInt(Math.pow(1.6,n+1)),"#66FF33","k",1);
infoslevelup("(",(n==0)?50:(50*(Math.floor(Math.pow(1.6,n+1))-Math.floor(Math.pow(1.6,n)))),"#99FF66","k )");
break;
default: break;
} }
else {
switch(num) {
case 0: infoslevelup("+ 2 cases</br>exploitables","","#66FF33");
break;
case 1: n=thisplanet.building.phal;
infoslevelup("Portée :</br>"+format(Math.pow(n+1,2)-1),"","#66FF33"," syst.");
infoslevelup("(",2*n+1,"#99FF66"," )");
break;
case 3: n=thisplanet.building.rob;
infoslevelup("<font size=\"1\"> Vitesse de </br>construction </br>des batiments</br></font>",100*(2+n)/(1+n)-100,"#66FF33"," %");
break;
case 4: n=thisplanet.building.cspa;
infoslevelup("<font size=\"1\"> Vitesse de </br>construction</br> des vaisseaux</br></font>",100*(2+n)/(1+n)-100,"#66FF33"," %");
break;
case 5: n=thisplanet.building.hmet;
case 6: n=thisplanet.building.hcri;
case 7: n=thisplanet.building.hdet;
infoslevelup("Capacité :</br>",100+50*parseInt(Math.pow(1.6,n+1)),"#66FF33","k");
infoslevelup("(",(n==0)?50:(50*Math.pow(1.6,n)*0.6),"#99FF66","k )");
break;
default: break;
}
} } }
}}} //Fin de la boucle de recherche
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// Scripts agissant sur la page RESSOURCES
if (url.indexOf("page=resources")!=-1 && url.indexOf("pc=1")!=-1 && !lune && options[2]>0)
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
{
if (!quantites){ //Au cas où Page Ressources améliorée activée mais pas ressources dynamiques, on redéclare les quantités.
var q = thisplanet.resource.stock;
var quantites=[q.m,q.c,q.d];}
//Ajout de la barre de niveau de production, Largeur des barres : 255px
var thProductions=document.getElementById("ressourcen").getElementsByTagName("th");
var centertag = document.getElementsByTagName("center")[3].innerHTML.substring(0,50);
//Calcul des transitions de couleurs
var colors1=options[14].split(/,/);
var colors2=options[15].split(/,/);
var r1=parseInt(colors1[0]),v1=parseInt(colors1[1]),b1=parseInt(colors1[2]);
var r2=parseInt(colors2[0]),v2=parseInt(colors2[1]),b2=parseInt(colors2[2]);
var coef1=(r2-r1)/100,coef2=(v2-v1)/100,coef3=(b2-b1)/100;
var pos_Factor = centertag.indexOf("Facteur de production : ",10);
if (pos_Factor>0) {
var pos2_Factor = centertag.indexOf("<form",pos_Factor+24);
var Factor=parseFloat(centertag.substring(pos_Factor+24,pos2_Factor))*100;
var asupprimer = centertag.substring(pos_Factor-1,pos2_Factor-1);
centertag.replace(asupprimer,''); } //L'ancien indicateur de niveau est supprimé
var r=Math.floor(0.8*(r1+coef1*Factor)),v=Math.floor(0.8*(v1+coef2*Factor)),b=Math.floor(0.8*(b1+coef3*Factor));
var ProdFact = document.createElement('div');
ProdFact.innerHTML = '<table width="550"><tr>'+
'<th>Niveau de Production</th>'+
'<th>'+Factor+'%</th>'+
'<th width="255"><div style="border: 1px solid #FFFFFF; width: 254px;">'+
'<div style="background-color: rgb('+r+','+v+','+b+');'+
' width: '+parseInt(Factor * 2.55)+'px; height:10px"></div></div></th>'+
'</tr></table><br />';
//On a préparé le code du nouvel indicateur
//Calcul des pourcentages de saturation des hangars EAlm et proportionnellement de la largeur des barres (max 255px)
var EAlmM= Math.round(quantites[0] * 100 / thisplanet.resource.max.m);
var EAlmC= Math.round(quantites[1] * 100 / thisplanet.resource.max.c);
var EAlmD= Math.round(quantites[2] * 100 / thisplanet.resource.max.d);
var widthM = Math.round(EAlmM*2.55);
var widthC = Math.round(EAlmC*2.55);
var widthD = Math.round(EAlmD*2.55);
//On prépare le code des barres de saturation des hangars
var rm=Math.floor(0.8*(r2-coef1*EAlmM)),vm=Math.floor(0.8*(v2-coef2*EAlmM)),bm=Math.floor(0.8*(b2-coef3*EAlmM));
var rc=Math.floor(0.8*(r2-coef1*EAlmC)),vc=Math.floor(0.8*(v2-coef2*EAlmC)),bc=Math.floor(0.8*(b2-coef3*EAlmC));
var rd=Math.floor(0.8*(r2-coef1*EAlmD)),vd=Math.floor(0.8*(v2-coef2*EAlmD)),bd=Math.floor(0.8*(b2-coef3*EAlmD));
function ToJHMS(seconds){
var days=Math.floor(seconds/86400); seconds-=86400*days;
var hours=Math.floor(seconds/3600); seconds-=3600*hours;
var minutes=Math.floor(seconds/60); seconds-=60*minutes;
return (days>0? days.toString()+' jours ' : '')+(hours>0 ? hours.toString()+' h ':'')+(minutes>0 ? minutes.toString()+' min ':'')+Math.floor(seconds).toString()+' s'; }
var timeleft=(thisplanet.resource.max.m-quantites[0])*3600/thisplanet.resource.prod.m;
if (timeleft>0){
var mtimeleft=ToJHMS(timeleft);}
else { var mtimeleft="Hangar plein";}
var timeleft=(thisplanet.resource.max.c-quantites[1])*3600/thisplanet.resource.prod.c;
if (timeleft>0){
var ctimeleft=ToJHMS(timeleft);}
else { var ctimeleft="Hangar plein";}
var timeleft=(thisplanet.resource.max.d-quantites[2])*3600/thisplanet.resource.prod.d;
if (timeleft>0){
var dtimeleft=ToJHMS(timeleft);}
else { var dtimeleft="Hangar plein";}
var tabhangars = document.createElement('div');
tabhangars.innerHTML += '<table width="550">'+
'<tr><td class="c" colspan="3">Utilisation des Hangars</td></tr>'+
'<tr><th>Métal</th>'+
'<th>'+EAlmM+'%</th>'+
'<th width="255"><div onmouseover="return overlib(\'<span style=color:white>Temps avant saturation :<br/> '+mtimeleft+'\', LEFT);" onmouseout="return nd();" style="border: 1px solid #FFFFFF; width: 255px;">'+
'<div style="background-color: rgb('+rm+','+vm+','+bm+');'+
'width: '+(EAlmM > 100 ? 255 : widthM)+'px;"> </div></div></th>'+
'</tr><tr><th>Cristal</th>'+
'<th>'+EAlmC+'%</th>'+
'<th width="255"><div onmouseover="return overlib(\'<span style=color:white>Temps avant saturation :<br/> '+ctimeleft+'\', LEFT);" onmouseout="return nd();" style="border: 1px solid #FFFFFF; width: 255px;">'+
'<div style="background-color: rgb('+rc+','+vc+','+bc+');'+
'width: '+(EAlmC > 100 ? 255 : widthC)+'px;"> </div></div></th>'+
'</tr><tr><th>Deutérium</th>'+
'<th>'+EAlmD+'%</th>'+
'<th width="255"><div onmouseover="return overlib(\'<span style=color:white>Temps avant saturation :<br/> '+dtimeleft+'\', LEFT);" onmouseout="return nd();" style="border: 1px solid #FFFFFF; width: 255px;">'+
'<div style="background-color: rgb('+rd+','+vd+','+bd+');'+
'width: '+(EAlmD > 100 ? 255 : widthD)+'px;"> </div></div></th></tr></table><br/>';
var Form=thProductions[0].parentNode.parentNode.parentNode;
if (options[13]>0){Form.parentNode.insertBefore(tabhangars, Form.nextSibling);} //On insère les barres de saturation des hangars
if (options[12]>0){Form.parentNode.insertBefore(ProdFact,Form);} // On insère l'indicateur du niveau de production
//Si le pourcentage de production est moins de 100 %, on met en évidence en colorant la liste déroulante
var selectblocks=Form.getElementsByTagName("select");
for(var j=0; j<selectblocks.length; j++){
if (selectblocks[j].selectedIndex>0) {
if (selectblocks[j].selectedIndex>9) {
selectblocks[j].setAttribute("style","background-color: #BB0000"); } //Alerte ORANGE entre 10 et 90 %
else { selectblocks[j].setAttribute("style","background-color: #996600"); } // Alerte ROUGE Ã 0 %
}
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// Scripts agissant sur la page LABORATOIRE - RECHERCHES
if ((url.indexOf('mode=Forschung',0))>=0)
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
{
// INFOS LEVEL UP ; REGARDE SI UNE RECHERCHE EST EN COURS
var constructionencours=false;
var tabletechno=document.getElementById("content").getElementsByTagName("tbody")[1];
tabletechno.firstChild.setAttribute("style","display:none;"); // Cache les deux cellules Description et Nombre
if (document.getElementById('bxx') && options[0]>0) {
constructionencours=true;
// si une recherche est en cours, on n'affichera pas d'infos supplémentaires (buggé et inutile)
var td, pro, divTop, divIn, time = 0, totalTime = 0;
var time=DATA.techno.search.end-actualTime; // Enregistre le temps de construction restant
td = document.getElementById('bxx').parentNode.previousSibling;
if (options[25]>0){td.parentNode.parentNode.insertBefore(td.parentNode,td.parentNode.parentNode.firstChild);} //Déplace la recherche en cours en tête de liste
var totalTime = ([x, j, h, m, s] = td.textContent.match(/Durée de construction : (?:(\d+)j )?(?:(\d+)h )?(?:(\d+)m )?(?:(\d+)s)?/)) ? (j || 0) * 24 * 60 * 60 + (h || 0) * 60 * 60 + (m || 0) * 60 + (s || 0) * 1 : 0;
if (td && totalTime && time) {
divTop = document.createElement('div'); //Boîte conteneur
divIn = divTop.appendChild(document.createElement('div')); //On met la barre de progression dans la boite
td.appendChild(divTop); //Et on insère la boite sur la page
divTop.style.cssText = 'width:95%; height:13px; margin-left:10px;\
border:1px #99d solid;'+
(options[6]>0 ? '-moz-border-radius:15px;' : '')+
'background-color:transparent;'; // CSS de la boite
var colors1=options[7].split(/,/);
var colors2=options[8].split(/,/);
var r1=parseInt(colors1[0]),v1=parseInt(colors1[1]),b1=parseInt(colors1[2]);
var r2=parseInt(colors2[0]),v2=parseInt(colors2[1]),b2=parseInt(colors2[2]);
var coef1=(r2-r1)/100,coef2=(v2-v1)/100,coef3=(b2-b1)/100;
var roundcorner=(options[6]>0 ? true : false);
progress(r1,v1,b1,coef1,coef2,coef3,roundcorner);
var intervalID = window.setInterval(progress, Math.max(options[9],Math.floor(totalTime/10)), r1,v1,b1,coef1,coef2,coef3,roundcorner); }} // On lance l'actualisation automatique
if (tdnode.length > 20) { // Au cas où pas de labo construit, message Vous devez d'abord construire un centre de recherche sur cette planète !
var scan = [/Technologie Espionnage/,
/Technologie Ordinateur/,
/Technologie Armes/,
/Technologie Bouclier/,
/Technologie Protection des vaisseaux/,
/Technologie Energie/,
/Technologie Hyperespace/,
/Réacteur à combustion/,
/Réacteur à impulsion/,
/Propulsion hyperespace/,
/Technologie Laser/,
/Technologie Ions/,
/Technologie Plasma/,
/Réseau de recherche/,
/Technologie Expéditions/,
/Graviton/];
var tdnode = tabletechno.getElementsByTagName('td');
var tdnodelength=tdnode.length;
for (var f=0; f<tdnodelength ; f++){
var tdhtml=tdnode[f].innerHTML;
if (tdnode[f].getAttribute("class")=="l" && (tdhtml).indexOf("Durée de construction :",0)>=0) //Cette condition supplémentaire réduit considérablement le champ de recherche
{
for(var num=0; num<scan.length ; num++) {
if (scan[num].test(tdhtml)){
switch(num){
case 9: tdhtml+='Vaisseaux concernés : ';
if (DATA.techno.phyp>=8){tdhtml+='Bombardier - '; }
tdhtml+='Vaisseau de bataille - Traqueur - Destructeur - EDLM';
if (!constructionencours) tdnode[f+1].innerHTML+='</br></br><font color=#66FF33> + 30% vitesse</font>';
break;
case 8: tdhtml+='Vaisseaux concernés : ';
if (DATA.techno.impu>=5){tdhtml+='Petit Transporteur - '; }
tdhtml+='Chasseur Lourd - Croiseur - Vaisseau de Colonisation';
if (DATA.techno.phyp<8){tdhtml+=' - Bombardier';}
if (!constructionencours) tdnode[f+1].innerHTML+='</br></br><font color=#66FF33> + 20% vitesse</font>';
break;
case 7: tdhtml+='Vaisseaux concernés : ';
if (DATA.techno.impu<5){tdhtml+='Petit Transporteur - '; }
tdhtml+='Grand Transporteur - Sonde - Recycleur - Chasseur léger';
if (!constructionencours) tdnode[f+1].innerHTML+='</br></br><font color=#66FF33> + 10% vitesse</font>';
break;
case 13: // Indication d'infos supplémentaires sur le réseau (Infos LEVEL UP)
if (!constructionencours){
var lvlrri=DATA.techno.rese;
var labs = new Array(); // On va inscrire dans la liste labs les niveaux de tous les labos
for(var i=0; i<DATA.planet.length ; i++){
var lvli = DATA.planet[i].building.lab; // Voilà l'info que nous cherchons, le niveau du labo de la planète
labs.push(lvli);} // qu'on ajoute au tableau, l'ordre n'a pas d'importance vu qu'on les trie après
function compareNombres(a, b) { return a - b; } // Petite fonction de tri
labs.sort(compareNombres); labs.reverse();
// On a la liste des lvls des labos triés en ordre croissant, puis décroissant grâce à reverse.
var totallab = thisplanet.connectedlab;
if (totallab>0){
tdhtml+='Réseau maximal actuel : '+totallab; //On ajoute sous la description le réseau max.
if (lvlrri<8 && lvlrri<DATA.planet.length){
var gainspd = Math.round(100*(1+totallab+labs[lvlrri+1])/(1+totallab)-100);
tdnode[f+1].innerHTML+='</br></br><font color=#66FF33>Réseau max '+(totallab+labs[lvlrri+1])+'</br>Vitesse de recherche +'+gainspd+'%</font>';
} // Puis dans la case de droite, on ajout les gains obtenus au passage au niveau supérieur, comme le veut la logique du script.
else { tdnode[f+1].innerHTML+='</br></br><font color=#FF6633>Maximum utile atteint</font>'; }}}
break;
case 14: if (!constructionencours) tdnode[f+1].innerHTML+='</br></br><font color=#66FF33>'+Math.floor(Math.pow(DATA.techno.expe,0.5))+' expéditions max </br> de '+(DATA.techno.expe+1)+'h max</font>';
break;
}
}
}
tdnode[f].innerHTML=tdhtml; //Mise à jour des données
f=f+2;
} } //Fin de la boucle de recherche
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// Scripts agissant sur la page DEFENSE
if ((url.indexOf('mode=Verteidigung',0))>=0 && options[3]>0)
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
{
if (document.getElementsByTagName('td').length > 60) { //Au cas où pas de chantier spatial construit
var [nbLM,nbLLe,nbLLo,nbGauss,nbIon,nbLP,nbMI,nbMIP,petitbouc,grandbouc]= [thisplanet.defence.lm,
thisplanet.defence.lle,
thisplanet.defence.llo,
thisplanet.defence.gauss,
thisplanet.defence.ion,
thisplanet.defence.pla,
thisplanet.defence.mic,
thisplanet.defence.mip,
thisplanet.defence.pb,
thisplanet.defence.gb];
var pointstot = Math.round(grandbouc*100+petitbouc*20+25*nbMIP+10*nbMI+130*nbLP+8*nbIon+37*nbGauss+8*nbLLo+2*(nbLM+nbLLe));
//ANALYSE DE LA DEFENSE, SCRIPT DEF ANALYSER
var abptechs=[DATA.techno.arme,DATA.techno.bouc,DATA.techno.prot]; //Récupération des techs Armes / Bouclier / Coque
var tableref = document.getElementsByTagName("form")[0].getElementsByTagName("table")[1];
var table = document.createElement("table");
table.setAttribute("width",tableref.getAttribute("width")); // Attribue à la table de Def Analyser la largeur de la page Défense
var nbtot=nbLM+nbLLe+nbLLo+nbGauss+nbIon+nbLP+petitbouc+grandbouc+nbMI;
table.innerHTML='<tr><th class="c" colspan="4" width="100%"><font color="white">Analyse de votre défense ('+format(nbtot)+' unités pour '+format(pointstot)+' points investis)</td><td style="background-color:transparent;" width="15px"><a title="Cliquez ici pour générer un rapport pour forum au format BBCode"><img id="copybbcode" style="width:15px; height:15px; margin-left:-20px;" src="'+downimg64+'"/></a></font></td></tr>';
var atkpoints= Math.round((nbLM*80+nbLLe*100+nbLLo*250+nbGauss*1100+nbIon*150+nbLP*3000+petitbouc+grandbouc)*(1+(abptechs[0]/10)));
table.innerHTML+='<tr><th style="display:none;" colspan="4" class="zonecode"><textarea onClick=\"javascript:this.select();\"></textarea></th></tr><tr height="20" style="text-align:center;"><th>Points d\'attaque</th><th>'+format(atkpoints)+'</th><th>Ratio Attaque/points</th><th>'+(pointstot>0 ? Math.round(atkpoints/pointstot*100)/100 : 0)+'</div></tr>';
var boucpoints = Math.round((nbLM*20+nbLLe*25+nbLLo*100+nbGauss*200+nbIon*500+nbLP*300+petitbouc*2000+grandbouc*10000)*(1+(abptechs[1]/10)));
var respoints = Math.round(100*(nbLM*20+nbLLe*20+nbLLo*80+nbGauss*350+nbIon*80+nbLP*1000+petitbouc*200+grandbouc*1000)*(1+(abptechs[2]/10)));
table.innerHTML+='<tr height="20" style="text-align:center;"><th>Points de bouclier</th><th>'+format(boucpoints)+'</th><th>Points de structure</th><th>'+format(respoints)+'</th></tr>';
var listeratio=[nbLM*2,nbLLe*2.25,nbLLo*9,nbGauss*48.5,nbIon*11,nbLP*215];
var ntopunit = max(listeratio);
if (listeratio[ntopunit]=0){ntopunit=0;}
switch (ntopunit)
{
case 0: var topunit="Aucune"; break;
case 1: var topunit="Lanceur de missiles"; break;
case 2: var topunit="Artillerie laser légère"; break;
case 3: var topunit="Artillerie laser lourde"; break;
case 4: var topunit="Canon de Gauss"; break;
case 5: var topunit="Artillerie à ions"; break;
case 6: var topunit="Lanceur de plasma"; break;
default: alert('Def Analyser : Erreur, impossible de trouver unite dominante'); break;
}
var tamp=(nbLM*2+nbLLe*2)/pointstot*100;
var lourd = (nbLLo*8+nbGauss*37+nbLP*150)/pointstot*100
var ions = nbIon*8/pointstot*100;
var gauss = nbGauss*37/pointstot*100;
var plasma = nbLP*150/pointstot*100;
var profil="Polyvalence";
if (tamp>=70){ profil="Défense légère"; }
if (lourd>=70){ profil="Défense lourde"; }
if (tamp>=85) { profil="Tampon"; }
if (ions>=60) { profil="Bouclier"; }
if (gauss>=60) { profil="Anti-bombardier"; }
if (plasma>=60 && tamp<20) { profil="Anti-RIP";}
table.innerHTML+='<tr height="20" style="text-align:center;"><td>Unité dominante</td><td>'+topunit+'</td><td>Profil</td><td>'+profil+'</td></tr>';
tableref.parentNode.insertBefore(table,tableref.previousSibling);
window.addEventListener("load", function (){ //Les Event Listerners doivent être déclarées à l'avance pour que tout marche impec.
var imgbbcode=document.getElementById("copybbcode");
addEvent(imgbbcode,"click", function(event) {
var zonebbcode = document.getElementsByClassName('zonecode')[0];
if (zonebbcode.style.display == 'none') {
var bbcode="[quote][center][font=Tahoma]Joueur : [B][color=#ffaa00]"+DATA.player.name+"[/color][/B]\n";
bbcode+="[color=#ffaa00]Univers [B]"+numuni+"[/B][/color]\n\n";
bbcode+="Lanceur de missiles : [B][color=#ffff00]"+format(nbLM)+"[/color][/B]\nArtillerie laser légère : [B][color=#ffff00]"+format(nbLLe)+"[/color][/B]\nArtillerie laser lourde : [B][color=#ffff00]"+format(nbLLo)+"[/color][/B]\nCanon de Gauss : [B][color=#fffc00]"+format(nbGauss)+"[/color][/B]\nArtillerie à ions : [B][color=#ffff00]"+format(nbIon)+"[/color][/B]\nLanceur de plasma : [B][color=#ffff00]"+format(nbLP)+"[/color][/B]\nPetit bouclier : [B][color=#ffff00]"+petitbouc+"[/color][/B]\nGrand bouclier : [B][color=#ffff00]"+grandbouc+"[/color][/B]\nMissile Interception : [B][color=#ffff00]"+nbMI+"[/color][/B]\n\n";
bbcode+="[B]Points : [color=#fffd00]"+format(pointstot)+"[/color][/B]\nPoints d'attaque : [B][color=#fffd00]"+format(atkpoints)+"[/color][/B]\nPoints de bouclier : [B][color=#fffd00]"+format(boucpoints)+"[/color][/B]\nPoints de structure : [B][color=#fffd00]"+format(respoints)+"[/color][/B][/font][/center][/quote]";
zonebbcode.childNodes[0].innerHTML=bbcode;
zonebbcode.style.display = '';
imgbbcode.src=upimg64;
}
else {zonebbcode.style.display = 'none';
imgbbcode.src=downimg64;
}
}, true); }, false );
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// Scripts agissant sur les pages ECRITURE DE MESSAGES PRIVES
if (((url.indexOf('/game/index.php?page=writemessages') >=0) || ((url.indexOf('&a=17') >=0) && !(url.indexOf("sendmail=1")>=0))) && options[4]>0)
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
{
function bbcodetohtml(message) {
var balises = ["b", "i", "u", "center"];
for (var i = 0; i < balises.length; i++) {message = message.replace(RegExp("\\[" + balises[i] + "\\]","gi"), '<'+balises[i]+'>').replace(RegExp("\\[\\/" + balises[i] + "\\]","gi"), '</'+balises[i]+'>');}
var balises = [["font", "size", "color"], ["font-family:'$1'", "font-size:$1px", "color:$1"]];
for (var i = 0; i < balises[0].length; i++) {message = message.replace(RegExp("\\[" + balises[0][i] + "=([^\\]]*)\\](.*)\\[\\/" + balises[0][i] + "\\]","gi"), '<span style="'+balises[1][i]+';">$2</span>');}
message = message.replace(/\[lien\](.*)\[\/lien\]/gi, "<a href=\"$1\" target=\"_blank\">$1</a>");
message = message.replace(/\[lien=([^\]]*)\](.*)\[\/lien\]/gi, "<a href=\"$1\" target=\"_blank\">$2</a>");
return message.replace(/\n/gi, "<br />");
}
var form = document.getElementsByTagName('form')[0];
var selectami = document.createElement("span");
var selectmemb = document.createElement("span");
var message = document.getElementsByName("text")[0];
//Préparation des fonctions d'ajout de BBCode
addElm(document.getElementsByTagName('body')[0], 'script', 0, 'function addBBCode(tag,value) {if (value=="0") return; var message = document.getElementsByTagName("textarea")[0]; if (value=="") var str1 = "[" + tag + "]"; else var str1 = "[" + tag + "=" + value + "]"; var str2 = "[/" + tag + "]"; message.focus(); if (message.isTextEdit) { var sel = document.selection; var rng = sel.createRange(); var seltext = rng.text; rng.text = str1 + seltext + str2; rng.collapse(false); rng.move("character",-str2.length); rng.moveStart("character",-seltext.length); rng.select(); } else { var start = message.selectionStart; var starttext = message.value.substring(0,start); var seltext = message.value.substring(start,message.selectionEnd); var endtext = message.value.substring(message.selectionEnd,message.textLength); message.value = starttext + str1 + seltext + str2 + endtext; message.selectionStart = start + str1.length; message.selectionEnd = start + str1.length + seltext.length; } message.focus(); cntchar(2000);} function addSmiley(smiley) { var message = document.getElementsByTagName("textarea")[0]; var str = " " + smiley; message.focus(); if (message.isTextEdit) { var sel = document.selection; var rng = sel.createRange(); rng.text = str; rng.collapse(false); rng.select(); } else { var start = message.selectionStart; var starttext = message.value.substring(0,start); var endtext = message.value.substring(message.selectionEnd,message.textLength); message.value = starttext + str + endtext; start += str.length; message.selectionStart = start; message.selectionEnd = start; } message.focus(); cntchar(2000);}');
if (document.location.href.indexOf('writemessages') != -1) { //Concerne les messages écrits à un seul destinataire, donc écarte les mails collectifs
var thdestinataire = document.getElementsByName('to')[0].parentNode;
var pos1 = url.indexOf("messageziel=",0);
var oldid = url.substring(pos1+12,url.length); //Enregistre l'ID du membre que vous voulez contacter au début
if (options[17]>0){
// Retrouve les AMIS
var amis=DATA.list.friends;
if (amis.length > 1) {
var i=0;
var sel = selectami.appendChild(document.createElement("select")); //Crée la liste déroulante Liste d'amis
var opt = document.createElement("option");
opt.setAttribute("value","0");
opt.innerHTML = "Liste d'amis";
sel.appendChild(opt);
while (i<amis.length) { // Cette boucle remplit la liste déroulante avec les pseudos des amis et leur ID respectif.
var idami=amis[i].playerid; var nomami=amis[i].name;
var opt = document.createElement("option");
opt.setAttribute("value",idami); opt.innerHTML = nomami;
sel.appendChild(opt); i++; }
thdestinataire.appendChild(selectami); // Insère la liste déroulante des amis dans la cellule de la page OGame
addEvent(sel,'change',function(event){
var newurl = url.replace(oldid,this.value);
if (this.value!==0 && this.value != oldid && this.value !== undefined){
var savemess = message.value;
var saveobjet = document.getElementsByName('betreff')[0].value;
GM_setValue("savemess",savemess+";"+saveobjet);
document.location.href=newurl;} } , false); // Active le changement dynamique de destinataire
}
// Retrouve les MEMBRES D'ALLIANCE
var alliance=DATA.list.allymember;
if (alliance.length > 1) {
var i=0;
var sel2=selectmemb.appendChild(document.createElement("select")); //Crée la liste déroulante Alliance
var opt = document.createElement("option");
opt.setAttribute("value","0");
opt.innerHTML = "Alliance";
sel2.appendChild(opt);
while (i<alliance.length) {
var idmemb = alliance[i].playerid; var nommemb = alliance[i].name;
var opt = document.createElement("option");
opt.setAttribute("value",idmemb); opt.innerHTML = nommemb;
sel2.appendChild(opt); i++; }
thdestinataire.appendChild(selectmemb); // Insère la liste déroulante des membres de l'alliance dans la cellule de la page OGame
addEvent(sel2,'change', function(event) {
var newurl = url.replace(oldid,(this.value));
if (this.value!==0 && this.value != oldid && this.value !== undefined){
var savemess = message.value;
var saveobjet = document.getElementsByName('betreff')[0].value;
GM_setValue("savemess",savemess+";"+saveobjet);
document.location.href=newurl;} }, false); // Active le changement dynamique de destinataire
}
}
//Ajout de la signature perso
if (signatureperso) {message.value+=signatureperso;}
//sauvegarde mess/objet si changement de destinataire
if (GM_getValue("savemess","vide")!="vide") {
message.value=GM_getValue("savemess","").split(/;/)[0];
document.getElementsByName('betreff')[0].value=GM_getValue("savemess","").split(/;/)[1];
GM_setValue("savemess","vide");
}
// ajoute les tags dans les objets
var objet = document.getElementsByName('betreff')[0];
var oldtag = "rienaudebut";
sel3 = objet.parentNode.appendChild(document.createElement("select")); // Crée la liste déroulante des TAGS
objet.parentNode.insertBefore(sel3,objet); //Insère cette liste devant le champ "Objet"
sel3.innerHTML = "<option value='0'>(tag)</option>";
for (var i = 0; i < tags.length; i++) { // Cette boucle remplit la liste avec tous les tags choisis en préférences
sel3.innerHTML += "<option value='"+tags[i]+"'>"+tags[i]+"</option>"; }
addEvent(sel3,'change', function(event) { // Active le changement dynamique de tag, sans perte de l'objet tapé par l'utilisateur
var objet = document.getElementsByName('betreff')[0];
var savevalue=objet.value.replace(oldtag,"");
if (this.value!=0){objet.value=(this.value)+savevalue; oldtag=this.value; objet.focus();}
}, true);
}
// Désormais, cela concerne également les mails collectifs
var row1 = document.createElement("tr");
var row3 = document.getElementById("content").getElementsByTagName("textarea")[0].parentNode.parentNode;
var cell = document.getElementById("cntChars").parentNode;
cell.style.width = '150px';
cell.innerHTML = '<span style="color:green;" id="cntChars">0</span> / 2000 caractères';
if (options[18]>0) {
GM_addStyle('#img_adder {width:96%;overflow:auto;text-align:center;margin-top:20px;margin-bottom:20px;} #img_adder img {cursor:pointer;}');
addElm(cell, 'div', {id:'img_adder'}, SA);
}
row3.getElementsByTagName('th')[0].setAttribute("rowSpan","2");
if (options[19]>0) {
row3.parentNode.insertBefore(row1,row3);
if (options[18]>0) {
GM_addStyle('#barre select {height:18px;} #barre option[value="black"] {color:black;background-color:#fff;} #barre option[value="silver"] {color:silver;} #barre option[value="gray"] {color:gray;} #barre option[value="maroon"] {color:maroon;} #barre option[value="#A52A2A"] {color:#A52A2A;} #barre option[value="red"] {color:red;} #barre option[value="orange"] {color:orange;} #barre option[value="yellow"] {color:yellow;} #barre option[value="lime"] {color:lime;} #barre option[value="green"] {color:green;} #barre option[value="olive"] {color:olive;} #barre option[value="teal"] {color:teal;} #barre option[value="aqua"] {color:aqua;} #barre option[value="blue"] {color:blue;} #barre option[value="navy"] {color:navy;} #barre option[value="purple"] {color:purple;} #barre option[value="fuchsia"] {color:fuchsia;} #barre option[value="pink"] {color:pink;} #barre option[value="#FFC0CB"] {color:#FFC0CB;} #barre option[value="arial"] {font-family:arial;} #barre option[value="comic sans ms"] {font-family:"comic sans ms";} #barre option[value="courier new"] {font-family:"courier new";} #barre option[value="tahoma"] {font-family:tahoma;} #barre option[value="times new roman"] {font-family:"times new roman";} #barre option[value="verdana"] {font-family:verdana;} #barre option[value="7"] {font-size:7px;} #barre option[value="10"] {font-size:10px;} #barre option[value="12"] {font-size:12px;} #barre option[value="16"] {font-size:16px;} #barre option[value="20"] {font-size:20px;}');
GM_addStyle('#barre img {cursor:pointer;} #barre * {vertical-align:middle;}');
addElm(row1, 'th', {}, '');
Barre = addElm(row1, 'th', {id:'barre'}, Code);
}
}
// CODE DE PREVISUALISATION
GM_addStyle('#visu {opacity:0;text-align:left;');
DIV = addElm(document.getElementById('content').getElementsByTagName('table')[0], 'tr', {}, '');
addElm(DIV, 'th', {style:'opacity:0;'}, '');
DIV = addElm(DIV, 'th', {id:'visu'}, '');
function Voir() {
var Message = message.value;
if (options[18]>0 && message.value != '') {
Message = bbcodetohtml(Message);
for (i = 0; i < img.length; i++) {Message = Message.replace(new RegExp(img[i][1], "gi"), '<img src="'+img[i][2]+'" alt=""/>');}
DIV.innerHTML = Message;
DIV.style.opacity = options[24]/100;
} else {DIV.style.opacity = '0';}
}
var Interval_Voir = window.setInterval(Voir, 500);
// FIN DE PREVISUALISATION
//Redimensionne la boite de message
document.getElementById('content').getElementsByTagName('table')[0].setAttribute("width","80%");
document.getElementsByTagName('textarea')[0].setAttribute("rows","25");
// Clignote en rouge lorsque la limite de caractères est presque atteinte
spanwarning = addElm(cell, 'span', {}, '2000 restants');
function testcounter() {
var counter = message.value.length;
document.getElementById("cntChars").style.color = (counter < 1800 ? 'green' : 'red');
if (counter >= 1800 && counter < 2000) {spanwarning.innerHTML = '<span style="color:red;">Plus que '+(2000-counter)+' !</span>';}
else {
if (counter==2000) {spanwarning.innerHTML = '<span style="color:red;font-weight:1000;">Plus de place !</span>';}
else {spanwarning.innerHTML = (2000-counter)+" restants";}
}
} testcounter();
var intervalID = window.setInterval(testcounter, 250);
addEvent(message, 'keyup', function() {testcounter();}, true);
message.focus(); message.selectionStart = 0; message.selectionEnd = 0;
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// Scripts agissant sur la page MESSAGES
if (url.indexOf('=messages') != -1 && options[4]>0 && options[18]>0){
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
var page = document.getElementById('content').getElementsByTagName('tr');
for (P = 4; P < page.length; P++) {
var page_th = page[P].getElementsByTagName('th');
if (page_th[3]) {
if (page_th[3].innerHTML.indexOf('Répondre') != -1) {
var Message_Joueur = page[P+1].getElementsByTagName('td')[1];
for (i = 0; i < img.length; i++) {Message_Joueur.innerHTML = Message_Joueur.innerHTML.replace(new RegExp(img[i][1], "gi"), '<img src="'+img[i][2]+'" alt=""/>');}
}
}
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// Scripts agissant sur la page LISTE DES MEMBRES DE L'ALLLIANCE EN MODE ADMINISTRATION
if ((url.indexOf('/game/index.php?page=allianzen',0))>=0 && ((url.indexOf('&a=7',0))>=0 || (url.indexOf('&a=16',0))>=0))
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
{ // Correction du bug qui empeche de virer un joueur
var ul = document.getElementById('content').getElementsByTagName("tr");
var u;
if (ul && ul[0].innerHTML.replace("Liste de membres","").length < ul[0].innerHTML.length){
for(i=2;i<ul.length;i++){
u = ul[i].getElementsByTagName("th");
if (u[8]){
u[8].innerHTML = u[8].innerHTML.replace("onmouseout='return nd();' ","").replace("Renvoyer l'user","Renvoyer joueur");
u[8].innerHTML = "<a " + u[8].innerHTML.substring(u[8].innerHTML.indexOf("alt='Renvoyer joueur'"),u[8].innerHTML.length).replace("))document.location",")) document.location");
}
}
}
}
//§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ END TEST SPEED
unsafeWindow.ssu.fun.updateStatus(thisData.namespace, 'activ');
var stop = new Date().getTime();
//alert('OmegaPack s\'est execute en ' + (stop - start) + 'ms');
