From 1c81c71eef20ba222b482e866c5ebab03561572f Mon Sep 17 00:00:00 2001 From: Gustavo Fucilini Date: Sat, 18 May 2024 20:52:57 -0300 Subject: [PATCH 1/2] saves the div's position in a chrome storage --- content.js | 665 +++++++++++++++++++++++----------------- libs/crypto-js.min.js | 1 + roguedex_chrome (2).zip | Bin 0 -> 31868 bytes styles.css | 2 - 4 files changed, 391 insertions(+), 277 deletions(-) create mode 100644 libs/crypto-js.min.js create mode 100644 roguedex_chrome (2).zip diff --git a/content.js b/content.js index 6c14f6b..e77704a 100644 --- a/content.js +++ b/content.js @@ -1,24 +1,11 @@ -const runningStatusDiv = document.createElement('div') -runningStatusDiv.textContent = 'RogueDex is running!' -runningStatusDiv.classList.add('text-base') -runningStatusDiv.classList.add('running-status') -document.body.insertBefore(runningStatusDiv, document.body.firstChild) - -let wrapperDivPositions = { - 'enemies': { - 'top' : '0', - 'left': '0', - 'opacity': '100' - }, - 'allies': { - 'top': '0', - 'left': '0', - 'opacity': '100' - } -} - -let slotId = -1 -const saveKey = 'x0i2O7WRiANTqPmZ' +const runningStatusDiv = document.createElement("div"); +runningStatusDiv.textContent = "RogueDex is running!"; +runningStatusDiv.classList.add("text-base"); +runningStatusDiv.classList.add("running-status"); +document.body.insertBefore(runningStatusDiv, document.body.firstChild); + +let slotId = -1; +const saveKey = "x0i2O7WRiANTqPmZ"; // Creates the main wrapper div function createDiv() { const mainWrapper = document.createElement("div"); @@ -50,20 +37,74 @@ function createDiv() { } function createEnemyDiv() { - const enemies = document.createElement("div"); - enemies.className = 'enemy-team' + const enemies = document.createElement("div"); + enemies.className = "enemy-team"; enemies.id = "enemies"; return enemies; } function createAlliesDiv() { - const allies = document.createElement("div"); - allies.className = 'allies-team' + const allies = document.createElement("div"); + allies.className = "allies-team"; allies.id = "allies"; return allies; } -// Enables drag-and-drop functionality on an element +// Função para salvar as posições no chrome.storage +// Função para salvar a posição no localStorage +function savePositions() { + // Obtenha as divs dos inimigos e aliados + const enemiesDiv = document.getElementById('enemies'); + const alliesDiv = document.getElementById('allies'); + + // Obtenha as coordenadas de posição das equipes de inimigos e aliados + const enemiesPosition = { + top: enemiesDiv.style.top, + left: enemiesDiv.style.left + }; + const alliesPosition = { + top: alliesDiv.style.top, + left: alliesDiv.style.left + }; + + // Salve as coordenadas no localStorage + localStorage.setItem('enemiesPosition', JSON.stringify(enemiesPosition)); + localStorage.setItem('alliesPosition', JSON.stringify(alliesPosition)); + } + + + // Função para carregar a última posição salva do localStorage + function loadPositions() { + // Obtenha as coordenadas salvas do localStorage + const enemiesPosition = JSON.parse(localStorage.getItem('enemiesPosition')); + const alliesPosition = JSON.parse(localStorage.getItem('alliesPosition')); + + // Verifique se as posições estão disponíveis no localStorage + if (enemiesPosition) { + // Defina a posição da equipe de inimigos com base na última posição salva + enemiesDiv.style.top = enemiesPosition.top || "0px"; + enemiesDiv.style.left = enemiesPosition.left || "0px"; + } else { + // Se não houver posição salva para os inimigos, defina-as como "0px" + enemiesDiv.style.top = "0px"; + enemiesDiv.style.left = "0px"; + } + + if (alliesPosition) { + // Defina a posição da equipe de aliados com base na última posição salva + alliesDiv.style.top = alliesPosition.top || "0px"; + alliesDiv.style.left = alliesPosition.left || "0px"; + } else { + // Se não houver posição salva para os aliados, defina-as como "0px" + alliesDiv.style.top = "0px"; + alliesDiv.style.left = "0px"; + } + } + +// Função para habilitar o arrastar e soltar e salvar as posições +let isDragging = false; + +// Função para habilitar o arrastar e soltar e salvar as posições ao soltar o mouse function enableDragElement(elmnt) { let pos1 = 0, pos2 = 0, @@ -82,6 +123,7 @@ function enableDragElement(elmnt) { pos4 = e.clientY; document.onmouseup = stopDragging; document.onmousemove = dragElement; + isDragging = true; } // Handles dragging movement @@ -101,79 +143,87 @@ function enableDragElement(elmnt) { function stopDragging() { document.onmouseup = null; document.onmousemove = null; + isDragging = false; + + // Salve as posições somente quando o mouse é solto + if (!isDragging) { + savePositions(); + } } } -const enemiesDiv = createEnemyDiv() -const alliesDiv = createAlliesDiv() +const enemiesDiv = createEnemyDiv(); +const alliesDiv = createAlliesDiv(); + +// Carregue as posições ao iniciar +loadPositions(); +// Habilita o arrastar e soltar e salva as posições enableDragElement(enemiesDiv); enableDragElement(alliesDiv); document.body.appendChild(enemiesDiv); document.body.appendChild(alliesDiv); -let Types +let Types; (function (Types) { - Types[Types["normal"] = 1] = 1; - Types[Types["fighting"] = 2] = 2; - Types[Types["flying"] = 3] = 3; - Types[Types["poison"] = 4] = 4; - Types[Types["ground"] = 5] = 5; - Types[Types["rock"] = 6] = 6; - Types[Types["bug"] = 7] = 7; - Types[Types["ghost"] = 8] = 8; - Types[Types["steel"] = 9] = 9; - Types[Types["fire"] = 10] = 10; - Types[Types["water"] = 11] = 11; - Types[Types["grass"] = 12] = 12; - Types[Types["electric"] = 13] = 13; - Types[Types["psychic"] = 14] = 14; - Types[Types["ice"] = 15] = 15; - Types[Types["dragon"] = 16] = 16; - Types[Types["dark"] = 17] = 17; - Types[Types["fairy"] = 18] = 18; + Types[(Types["normal"] = 1)] = 1; + Types[(Types["fighting"] = 2)] = 2; + Types[(Types["flying"] = 3)] = 3; + Types[(Types["poison"] = 4)] = 4; + Types[(Types["ground"] = 5)] = 5; + Types[(Types["rock"] = 6)] = 6; + Types[(Types["bug"] = 7)] = 7; + Types[(Types["ghost"] = 8)] = 8; + Types[(Types["steel"] = 9)] = 9; + Types[(Types["fire"] = 10)] = 10; + Types[(Types["water"] = 11)] = 11; + Types[(Types["grass"] = 12)] = 12; + Types[(Types["electric"] = 13)] = 13; + Types[(Types["psychic"] = 14)] = 14; + Types[(Types["ice"] = 15)] = 15; + Types[(Types["dragon"] = 16)] = 16; + Types[(Types["dark"] = 17)] = 17; + Types[(Types["fairy"] = 18)] = 18; })(Types || (Types = {})); let Stat; (function (Stat) { - Stat[Stat["HP"] = 0] = "HP"; - Stat[Stat["ATK"] = 1] = "ATK"; - Stat[Stat["DEF"] = 2] = "DEF"; - Stat[Stat["SPATK"] = 3] = "SPATK"; - Stat[Stat["SPDEF"] = 4] = "SPDEF"; - Stat[Stat["SPD"] = 5] = "SPD"; + Stat[(Stat["HP"] = 0)] = "HP"; + Stat[(Stat["ATK"] = 1)] = "ATK"; + Stat[(Stat["DEF"] = 2)] = "DEF"; + Stat[(Stat["SPATK"] = 3)] = "SPATK"; + Stat[(Stat["SPDEF"] = 4)] = "SPDEF"; + Stat[(Stat["SPD"] = 5)] = "SPD"; })(Stat || (Stat = {})); -; - function createTooltipDiv(tip) { - const tooltip = document.createElement('div') - tooltip.classList.add('text-base') - tooltip.classList.add('tooltiptext') - tooltip.textContent = tip - return tooltip + const tooltip = document.createElement("div"); + tooltip.classList.add("text-base"); + tooltip.classList.add("tooltiptext"); + tooltip.textContent = tip; + return tooltip; } // Current values: weaknesses, resistances, immunities function createTypeEffectivenessWrapper(effectiveness, types) { - const typeEffectivenessWrapper = document.createElement('div') - typeEffectivenessWrapper.classList.add(`pokemon-${effectiveness}`); - typeEffectivenessWrapper.classList.add('tooltip'); - let counter = 0; - let block = document.createElement('div'); - typeEffectivenessWrapper.appendChild(block) - types.forEach(type => { - if (counter % 3 === 0) { - block = document.createElement('div'); - typeEffectivenessWrapper.appendChild(block) - } - const typeIcon = document.createElement('div'); + const typeEffectivenessWrapper = document.createElement("div"); + typeEffectivenessWrapper.classList.add(`pokemon-${effectiveness}`); + typeEffectivenessWrapper.classList.add("tooltip"); + let counter = 0; + let block = document.createElement("div"); + typeEffectivenessWrapper.appendChild(block); + types.forEach((type) => { + if (counter % 3 === 0) { + block = document.createElement("div"); + typeEffectivenessWrapper.appendChild(block); + } + const typeIcon = document.createElement("div"); typeIcon.style.backgroundImage = `url('https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-viii/sword-shield/${Types[type]}.png')`; - typeIcon.className = 'type-icon'; - block.appendChild(typeIcon) + typeIcon.className = "type-icon"; + block.appendChild(typeIcon); counter += 1; }); - return typeEffectivenessWrapper + return typeEffectivenessWrapper; } let currentEnemyPage = 0; @@ -183,244 +233,309 @@ let alliesPokemon = []; let weather = {}; function createArrowButtonsDiv(divId) { - const buttonsDiv = document.createElement('div') - buttonsDiv.classList.add('arrow-button-wrapper') - const arrowUpButton = document.createElement('button') - const arrowDownButton = document.createElement('button') - arrowUpButton.classList.add('text-base') - arrowDownButton.classList.add('text-base') - arrowUpButton.classList.add('arrow-button') - arrowDownButton.classList.add('arrow-button') - arrowUpButton.textContent = "↑" - arrowDownButton.textContent = "↓" - arrowUpButton.id = `${divId}-up` - arrowDownButton.id = `${divId}-down` - arrowUpButton.addEventListener('click', changePage) - arrowDownButton.addEventListener('click', changePage) - buttonsDiv.appendChild(arrowUpButton) - buttonsDiv.appendChild(arrowDownButton) - return buttonsDiv + const buttonsDiv = document.createElement("div"); + buttonsDiv.classList.add("arrow-button-wrapper"); + const arrowUpButton = document.createElement("button"); + const arrowDownButton = document.createElement("button"); + arrowUpButton.classList.add("text-base"); + arrowDownButton.classList.add("text-base"); + arrowUpButton.classList.add("arrow-button"); + arrowDownButton.classList.add("arrow-button"); + arrowUpButton.textContent = "↑"; + arrowDownButton.textContent = "↓"; + arrowUpButton.id = `${divId}-up`; + arrowDownButton.id = `${divId}-down`; + arrowUpButton.addEventListener("click", changePage); + arrowDownButton.addEventListener("click", changePage); + buttonsDiv.appendChild(arrowUpButton); + buttonsDiv.appendChild(arrowDownButton); + return buttonsDiv; } -function createOpacitySliderDiv(divId, initialValue = "100") { - const sliderDiv = document.createElement('div') - sliderDiv.classList.add('slider-wrapper') - const opacityTextDiv = document.createElement('div') - opacityTextDiv.classList.add('text-base') - opacityTextDiv.textContent = "Opacity:" - const slider = document.createElement('input') - slider.type = "range" - slider.min = "10" - slider.max = "100" - slider.value = initialValue - slider.id = `${divId}-slider` - sliderDiv.appendChild(opacityTextDiv) - sliderDiv.appendChild(slider) - sliderDiv.addEventListener('input', changeOpacity) - return sliderDiv +function createOpacitySliderDiv(divId) { + const sliderDiv = document.createElement("div"); + sliderDiv.classList.add("slider-wrapper"); + + const opacityTextDiv = document.createElement("div"); + opacityTextDiv.classList.add("text-base"); + opacityTextDiv.textContent = "Opacity:"; + const slider = document.createElement("input"); + slider.type = "range"; + slider.min = "10"; + slider.max = "100"; + slider.value = "100"; + slider.id = `${divId}-slider`; + sliderDiv.appendChild(opacityTextDiv); + sliderDiv.appendChild(slider); + sliderDiv.addEventListener("input", changeOpacity); + return sliderDiv; } function changeOpacity(e) { - const divId = e.target.id.split("-")[0] - const div = document.getElementById(divId) - wrapperDivPositions[divId].opacity = e.target.value - div.style.opacity = `${e.target.value / 100}` + const divId = e.target.id.split("-")[0]; + const div = document.getElementById(divId); + div.style.opacity = `${e.target.value / 100}`; } function changePage(click) { - const buttonId = click.target.id - const divId = buttonId.split("-")[0] - const direction = buttonId.split("-")[1] - if (direction === 'up') { - if (divId === 'enemies') { - if (currentEnemyPage > 0) { - currentEnemyPage -= 1 - } else { - currentEnemyPage = enemiesPokemon.length - 1 - } - } else if (divId === 'allies') { - if (currentAllyPage > 0) { - currentAllyPage -= 1 - } else { - currentAllyPage = alliesPokemon.length - 1 - } - } - } else if (direction === 'down') { - if (divId === 'enemies') { - if ((currentEnemyPage + 1) < enemiesPokemon.length) { - currentEnemyPage += 1 - } else { - currentEnemyPage = 0 - } - } else if (divId === 'allies') { - if ((currentAllyPage + 1) < alliesPokemon.length) { - currentAllyPage += 1 - } else { - currentAllyPage = 0 - } - } - } - createCardsDiv(divId) + const buttonId = click.target.id; + const divId = buttonId.split("-")[0]; + const direction = buttonId.split("-")[1]; + if (direction === "up") { + if (divId === "enemies") { + if (currentEnemyPage > 0) { + currentEnemyPage -= 1; + } else { + currentEnemyPage = enemiesPokemon.length - 1; + } + } else if (divId === "allies") { + if (currentAllyPage > 0) { + currentAllyPage -= 1; + } else { + currentAllyPage = alliesPokemon.length - 1; + } + } + } else if (direction === "down") { + if (divId === "enemies") { + if (currentEnemyPage + 1 < enemiesPokemon.length) { + currentEnemyPage += 1; + } else { + currentEnemyPage = 0; + } + } else if (divId === "allies") { + if (currentAllyPage + 1 < alliesPokemon.length) { + currentAllyPage += 1; + } else { + currentAllyPage = 0; + } + } + } + createCardsDiv(divId); } function createPokemonCardDiv(divId, pokemon) { - const card = document.createElement('div'); - card.classList.add('pokemon-card'); + const card = document.createElement("div"); + card.classList.add("pokemon-card"); - const opacitySliderDiv = createOpacitySliderDiv(divId, wrapperDivPositions[divId].opacity) + const opacitySliderDiv = createOpacitySliderDiv(divId); - const infoRow = document.createElement('div'); - infoRow.style.display = 'flex'; + const infoRow = document.createElement("div"); + infoRow.style.display = "flex"; - const iconWrapper = document.createElement('div'); - iconWrapper.className = 'pokemon-icon'; - const icon = document.createElement('img'); + const iconWrapper = document.createElement("div"); + iconWrapper.className = "pokemon-icon"; + const icon = document.createElement("img"); icon.src = `https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/${pokemon.id}.png`; iconWrapper.appendChild(icon); infoRow.appendChild(iconWrapper); - const weaknessesWrapper = createTypeEffectivenessWrapper('weaknesses', pokemon.typeEffectiveness.weaknesses) - weaknessesWrapper.appendChild(createTooltipDiv('Weak to')) - - const resistancesWrapper = createTypeEffectivenessWrapper('resistances', pokemon.typeEffectiveness.resistances) - resistancesWrapper.appendChild(createTooltipDiv('Resists')) - - const immunitiesWrapper = createTypeEffectivenessWrapper('immunities', pokemon.typeEffectiveness.immunities) - immunitiesWrapper.appendChild(createTooltipDiv('Immune to')) - - infoRow.appendChild(weaknessesWrapper) - infoRow.appendChild(resistancesWrapper) - infoRow.appendChild(immunitiesWrapper) - - const extraInfoRow = document.createElement('div'); - extraInfoRow.classList.add('text-base') - extraInfoRow.textContent = `Ability: ${pokemon.ability} - Nature: ${pokemon.nature}`; - - const ivsRow = document.createElement('div'); - ivsRow.classList.add('text-base'); - ivsRow.textContent = `HP: ${pokemon.ivs[Stat["HP"]]}, ATK: ${pokemon.ivs[Stat["ATK"]]}, DEF: ${pokemon.ivs[Stat["DEF"]]}, SPE: ${pokemon.ivs[Stat["SPD"]]}, SPD: ${pokemon.ivs[Stat["SPDEF"]]}, SPA: ${pokemon.ivs[Stat["SPATK"]]}`; - - let weatherRow = undefined - if (weather.type && weather.turnsLeft) { - weatherRow = document.createElement('div'); - weatherRow.classList.add('text-base'); - weatherRow.textContent = `Weather: ${weather.type}, Turns Left: ${weather.turnsLeft}` - } + const weaknessesWrapper = createTypeEffectivenessWrapper( + "weaknesses", + pokemon.typeEffectiveness.weaknesses + ); + weaknessesWrapper.appendChild(createTooltipDiv("Weak to")); + + const resistancesWrapper = createTypeEffectivenessWrapper( + "resistances", + pokemon.typeEffectiveness.resistances + ); + resistancesWrapper.appendChild(createTooltipDiv("Resists")); + + const immunitiesWrapper = createTypeEffectivenessWrapper( + "immunities", + pokemon.typeEffectiveness.immunities + ); + immunitiesWrapper.appendChild(createTooltipDiv("Immune to")); + + infoRow.appendChild(weaknessesWrapper); + infoRow.appendChild(resistancesWrapper); + infoRow.appendChild(immunitiesWrapper); + + const extraInfoRow = document.createElement("div"); + extraInfoRow.classList.add("text-base"); + extraInfoRow.textContent = `Ability: ${pokemon.ability} - Nature: ${pokemon.nature}`; + + const ivsRow = document.createElement("div"); + ivsRow.classList.add("text-base"); + ivsRow.textContent = `HP: ${pokemon.ivs[Stat["HP"]]}, ATK: ${ + pokemon.ivs[Stat["ATK"]] + }, DEF: ${pokemon.ivs[Stat["DEF"]]}, SPE: ${pokemon.ivs[Stat["SPD"]]}, SPD: ${ + pokemon.ivs[Stat["SPDEF"]] + }, SPA: ${pokemon.ivs[Stat["SPATK"]]}`; + + let weatherRow = undefined; + if (weather.type && weather.turnsLeft) { + weatherRow = document.createElement("div"); + weatherRow.classList.add("text-base"); + weatherRow.textContent = `Weather: ${weather.type}, Turns Left: ${weather.turnsLeft}`; + } - card.appendChild(opacitySliderDiv) - card.appendChild(infoRow) - card.appendChild(extraInfoRow) - card.appendChild(ivsRow) - if (weatherRow) { - card.appendChild(weatherRow) - } - return card + card.appendChild(opacitySliderDiv); + card.appendChild(infoRow); + card.appendChild(extraInfoRow); + card.appendChild(ivsRow); + if (weatherRow) { + card.appendChild(weatherRow); + } + return card; } function createWrapperDiv(divId) { - const oldDiv = document.getElementById(divId) + const oldDiv = document.getElementById(divId); + let oldTop = ""; + let oldLeft = ""; + let oldOpacity = ""; + if (oldDiv) { - wrapperDivPositions[divId].top = oldDiv.style.top; - wrapperDivPositions[divId].left = oldDiv.style.left; - oldDiv.remove(); + oldTop = oldDiv.style.top; + oldLeft = oldDiv.style.left; + oldOpacity = oldDiv.style.opacity; + oldDiv.remove(); } - const newDiv = divId === 'enemies' ? createEnemyDiv() : createAlliesDiv() - enableDragElement(newDiv) - newDiv.style.top = wrapperDivPositions[divId].top - newDiv.style.left = wrapperDivPositions[divId].left - newDiv.style.opacity = "" + (Number(wrapperDivPositions[divId].opacity) / 100) + + const newDiv = divId === "enemies" ? createEnemyDiv() : createAlliesDiv(); + enableDragElement(newDiv); + + // Obter os valores salvos no localStorage + const savedPosition = JSON.parse(localStorage.getItem(`${divId}Position`)); + + // Aplicar estilos com base nos valores salvos, se disponíveis + if (savedPosition) { + newDiv.style.top = savedPosition.top; + newDiv.style.left = savedPosition.left; + newDiv.style.opacity = "1"; // Define a opacidade padrão como 1 se não estiver presente + } else { + // Se não houver valores salvos, definir as posições como padrão + newDiv.style.top = oldTop || "0px"; + newDiv.style.left = oldLeft || "0px"; + newDiv.style.opacity = oldOpacity || "1"; // Define a opacidade padrão como 1 se não estiver presente + } + return newDiv; -} + } + function createCardsDiv(divId) { - let newDiv = createWrapperDiv(divId) - let buttonsDiv = createArrowButtonsDiv(divId) - newDiv.appendChild(buttonsDiv) - let pokemon = {} - if (divId === 'enemies') { - if (currentEnemyPage >= enemiesPokemon.length) currentEnemyPage = enemiesPokemon.length - 1 - pokemon = enemiesPokemon[currentEnemyPage] - } - else { - if (currentAllyPage >= alliesPokemon.length) currentAllyPage = alliesPokemon.length - 1 - pokemon = alliesPokemon[currentAllyPage] + let newDiv = createWrapperDiv(divId); + let buttonsDiv = createArrowButtonsDiv(divId); + newDiv.appendChild(buttonsDiv); + let pokemon = {}; + if (divId === "enemies") { + if (currentEnemyPage >= enemiesPokemon.length) + currentEnemyPage = enemiesPokemon.length - 1; + pokemon = enemiesPokemon[currentEnemyPage]; + } else { + if (currentAllyPage >= alliesPokemon.length) + currentAllyPage = alliesPokemon.length - 1; + pokemon = alliesPokemon[currentAllyPage]; } const pokemonCards = document.createElement("div"); - pokemonCards.className = "pokemon-cards" - const card = createPokemonCardDiv(divId, pokemon) - pokemonCards.appendChild(card); - newDiv.appendChild(pokemonCards) - document.body.appendChild(newDiv) - return newDiv + pokemonCards.className = "pokemon-cards"; + const card = createPokemonCardDiv(divId, pokemon); + pokemonCards.appendChild(card); + newDiv.appendChild(pokemonCards); + document.body.appendChild(newDiv); + return newDiv; } function deleteWrapperDivs() { - try { - ['allies', 'enemies'].forEach((divId) => { - const div = document.getElementById(divId) - wrapperDivPositions[divId].top = div.style.top - wrapperDivPositions[divId].left = div.style.left - document.body.removeChild(div) - }) - } catch (e) { - console.error(e) - } - + try { + document.body.removeChild(document.getElementById("allies")); + document.body.removeChild(document.getElementById("enemies")); + } catch (e) { + console.error(e); + } } chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { - console.log("Got message:", message, "from", sender, "current message:", document.getElementById('touchControls').getAttribute('data-ui-mode')) - const uiMode = touchControlsElement.getAttribute('data-ui-mode') - console.log("Current ui mode: ", uiMode) - if (message.type === 'UPDATE_ENEMIES_DIV' || message.type === 'UPDATE_ALLIES_DIV') { - slotId = message.slotId - if ( uiMode === 'TITLE' || uiMode === 'SAVE_SLOT') return sendResponde({ success: true }) - let divId = message.type === 'UPDATE_ENEMIES_DIV' ? 'enemies' : 'allies' - if (message.type === 'UPDATE_ENEMIES_DIV') { - enemiesPokemon = message.pokemon - } - else { - alliesPokemon = message.pokemon - } - weather = message.weather; - if (weather.turnsLeft === 0) weather.turnsLeft = 'N/A' - createCardsDiv(divId) + console.log( + "Got message:", + message, + "from", + sender, + "current message:", + document.getElementById("touchControls").getAttribute("data-ui-mode") + ); + const uiMode = touchControlsElement.getAttribute("data-ui-mode"); + console.log("Current ui mode: ", uiMode); + if ( + message.type === "UPDATE_ENEMIES_DIV" || + message.type === "UPDATE_ALLIES_DIV" + ) { + slotId = message.slotId; + if (uiMode === "TITLE" || uiMode === "SAVE_SLOT") + return sendResponde({ success: true }); + let divId = message.type === "UPDATE_ENEMIES_DIV" ? "enemies" : "allies"; + if (message.type === "UPDATE_ENEMIES_DIV") { + enemiesPokemon = message.pokemon; + } else { + alliesPokemon = message.pokemon; + } + weather = message.weather; + if (weather.turnsLeft === 0) weather.turnsLeft = "N/A"; + createCardsDiv(divId); sendResponse({ success: true }); - } + } }); -const touchControlsElement = document.getElementById('touchControls') +const touchControlsElement = document.getElementById("touchControls"); if (touchControlsElement) { - const observer = new MutationObserver((mutations) => { - mutations.forEach(async (mutation) => { - if (mutation.type === 'attributes' && mutation.attributeName === 'data-ui-mode') { - const newValue = touchControlsElement.getAttribute('data-ui-mode'); - console.log('New data-ui-mode:', newValue); - if(newValue === "MESSAGE" || newValue === "COMMAND" || newValue === "CONFIRM") { - let currentSessionData = {} - for (key in localStorage) { - if ((slotId > 0 && key.includes(`sessionData${slotId}`)) || key.includes('sessionData')) { - currentSessionData = localStorage.getItem(key) - break - } - } - currentSessionData = JSON.parse(CryptoJS.AES.decrypt(currentSessionData, saveKey).toString(CryptoJS.enc.Utf8)) - console.log("Got session data", currentSessionData, "for slot id", slotId) - browserApi.runtime.sendMessage({ type: 'BG_GET_SAVEDATA', data: currentSessionData, slotId: slotId }) - } - if(newValue === "SAVE_SLOT") { - setTimeout(function() { + const observer = new MutationObserver((mutations) => { + mutations.forEach(async (mutation) => { + if ( + mutation.type === "attributes" && + mutation.attributeName === "data-ui-mode" + ) { + const newValue = touchControlsElement.getAttribute("data-ui-mode"); + console.log("New data-ui-mode:", newValue); + if (newValue === "MODIFIER_SELECT") { + } + if (newValue === "MESSAGE" || newValue === "CONFIRM") { + let currentSessionData = {}; + for (key in localStorage) { + if ( + (slotId > 0 && key.includes(`sessionData${slotId}`)) || + key.includes("sessionData") + ) { + currentSessionData = localStorage.getItem(key); + break; + } + } + currentSessionData = JSON.parse( + CryptoJS.AES.decrypt(currentSessionData, saveKey).toString( + CryptoJS.enc.Utf8 + ) + ); + console.log( + "Got session data", + currentSessionData, + "for slot id", + slotId + ); + browserApi.runtime.sendMessage({ + type: "BG_GET_SAVEDATA", + data: currentSessionData, + slotId: slotId, + }); + } + if (newValue === "SAVE_SLOT") { + setTimeout(function () { for (key in localStorage) { - if (key.includes('sessionData')) localStorage.removeItem(key) + if (key.includes("sessionData")) localStorage.removeItem(key); } - }, 1000) - } - if(newValue === "SAVE_SLOT" || newValue === "TITLE" || newValue === "MODIFIER_SELECT" || newValue === "STARTER_SELECT") { - deleteWrapperDivs() - } - } - }); - }); - - observer.observe(touchControlsElement, { attributes: true }); -} \ No newline at end of file + }, 1000); + } + if ( + newValue === "SAVE_SLOT" || + newValue === "TITLE" || + newValue === "MODIFIER_SELECT" || + newValue === "STARTER_SELECT" + ) { + deleteWrapperDivs(); + } + } + }); + }); + + observer.observe(touchControlsElement, { attributes: true }); +} diff --git a/libs/crypto-js.min.js b/libs/crypto-js.min.js new file mode 100644 index 0000000..20b3099 --- /dev/null +++ b/libs/crypto-js.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports?module.exports=exports=e():"function"==typeof define&&define.amd?define([],e):t.CryptoJS=e()}(this,function(){var n,o,s,a,h,t,e,l,r,i,c,f,d,u,p,S,x,b,A,H,z,_,v,g,y,B,w,k,m,C,D,E,R,M,F,P,W,O,I,U=U||function(h){var i;if("undefined"!=typeof window&&window.crypto&&(i=window.crypto),"undefined"!=typeof self&&self.crypto&&(i=self.crypto),!(i=!(i=!(i="undefined"!=typeof globalThis&&globalThis.crypto?globalThis.crypto:i)&&"undefined"!=typeof window&&window.msCrypto?window.msCrypto:i)&&"undefined"!=typeof global&&global.crypto?global.crypto:i)&&"function"==typeof require)try{i=require("crypto")}catch(t){}var r=Object.create||function(t){return e.prototype=t,t=new e,e.prototype=null,t};function e(){}var t={},n=t.lib={},o=n.Base={extend:function(t){var e=r(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),(e.init.prototype=e).$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},l=n.WordArray=o.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||c).stringify(this)},concat:function(t){var e=this.words,r=t.words,i=this.sigBytes,n=t.sigBytes;if(this.clamp(),i%4)for(var o=0;o>>2]>>>24-o%4*8&255;e[i+o>>>2]|=s<<24-(i+o)%4*8}else for(var c=0;c>>2]=r[c>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,e=this.sigBytes;t[e>>>2]&=4294967295<<32-e%4*8,t.length=h.ceil(e/4)},clone:function(){var t=o.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],r=0;r>>2]>>>24-n%4*8&255;i.push((o>>>4).toString(16)),i.push((15&o).toString(16))}return i.join("")},parse:function(t){for(var e=t.length,r=[],i=0;i>>3]|=parseInt(t.substr(i,2),16)<<24-i%8*4;return new l.init(r,e/2)}},a=s.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(o))}return i.join("")},parse:function(t){for(var e=t.length,r=[],i=0;i>>2]|=(255&t.charCodeAt(i))<<24-i%4*8;return new l.init(r,e)}},f=s.Utf8={stringify:function(t){try{return decodeURIComponent(escape(a.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return a.parse(unescape(encodeURIComponent(t)))}},d=n.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=f.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var e,r=this._data,i=r.words,n=r.sigBytes,o=this.blockSize,s=n/(4*o),c=(s=t?h.ceil(s):h.max((0|s)-this._minBufferSize,0))*o,n=h.min(4*c,n);if(c){for(var a=0;a>>32-e}function j(t,e,r,i){var n,o=this._iv;o?(n=o.slice(0),this._iv=void 0):n=this._prevBlock,i.encryptBlock(n,0);for(var s=0;s>24&255)?(r=t>>8&255,i=255&t,255===(e=t>>16&255)?(e=0,255===r?(r=0,255===i?i=0:++i):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=i):t+=1<<24,t}function N(){for(var t=this._X,e=this._C,r=0;r<8;r++)E[r]=e[r];e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0;for(r=0;r<8;r++){var i=t[r]+e[r],n=65535&i,o=i>>>16;R[r]=((n*n>>>17)+n*o>>>15)+o*o^((4294901760&i)*i|0)+((65535&i)*i|0)}t[0]=R[0]+(R[7]<<16|R[7]>>>16)+(R[6]<<16|R[6]>>>16)|0,t[1]=R[1]+(R[0]<<8|R[0]>>>24)+R[7]|0,t[2]=R[2]+(R[1]<<16|R[1]>>>16)+(R[0]<<16|R[0]>>>16)|0,t[3]=R[3]+(R[2]<<8|R[2]>>>24)+R[1]|0,t[4]=R[4]+(R[3]<<16|R[3]>>>16)+(R[2]<<16|R[2]>>>16)|0,t[5]=R[5]+(R[4]<<8|R[4]>>>24)+R[3]|0,t[6]=R[6]+(R[5]<<16|R[5]>>>16)+(R[4]<<16|R[4]>>>16)|0,t[7]=R[7]+(R[6]<<8|R[6]>>>24)+R[5]|0}function q(){for(var t=this._X,e=this._C,r=0;r<8;r++)O[r]=e[r];e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0;for(r=0;r<8;r++){var i=t[r]+e[r],n=65535&i,o=i>>>16;I[r]=((n*n>>>17)+n*o>>>15)+o*o^((4294901760&i)*i|0)+((65535&i)*i|0)}t[0]=I[0]+(I[7]<<16|I[7]>>>16)+(I[6]<<16|I[6]>>>16)|0,t[1]=I[1]+(I[0]<<8|I[0]>>>24)+I[7]|0,t[2]=I[2]+(I[1]<<16|I[1]>>>16)+(I[0]<<16|I[0]>>>16)|0,t[3]=I[3]+(I[2]<<8|I[2]>>>24)+I[1]|0,t[4]=I[4]+(I[3]<<16|I[3]>>>16)+(I[2]<<16|I[2]>>>16)|0,t[5]=I[5]+(I[4]<<8|I[4]>>>24)+I[3]|0,t[6]=I[6]+(I[5]<<16|I[5]>>>16)+(I[4]<<16|I[4]>>>16)|0,t[7]=I[7]+(I[6]<<8|I[6]>>>24)+I[5]|0}return F=(M=U).lib,n=F.Base,o=F.WordArray,(M=M.x64={}).Word=n.extend({init:function(t,e){this.high=t,this.low=e}}),M.WordArray=n.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:8*t.length},toX32:function(){for(var t=this.words,e=t.length,r=[],i=0;i>>2]|=t[i]<<24-i%4*8;s.call(this,r,e)}else s.apply(this,arguments)}).prototype=P),function(){var t=U,n=t.lib.WordArray,t=t.enc;t.Utf16=t.Utf16BE={stringify:function(t){for(var e=t.words,r=t.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(o))}return i.join("")},parse:function(t){for(var e=t.length,r=[],i=0;i>>1]|=t.charCodeAt(i)<<16-i%2*16;return n.create(r,2*e)}};function s(t){return t<<8&4278255360|t>>>8&16711935}t.Utf16LE={stringify:function(t){for(var e=t.words,r=t.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535);i.push(String.fromCharCode(o))}return i.join("")},parse:function(t){for(var e=t.length,r=[],i=0;i>>1]|=s(t.charCodeAt(i)<<16-i%2*16);return n.create(r,2*e)}}}(),a=(w=U).lib.WordArray,w.enc.Base64={stringify:function(t){var e=t.words,r=t.sigBytes,i=this._map;t.clamp();for(var n=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(e[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|e[o+2>>>2]>>>24-(o+2)%4*8&255,c=0;c<4&&o+.75*c>>6*(3-c)&63));var a=i.charAt(64);if(a)for(;n.length%4;)n.push(a);return n.join("")},parse:function(t){var e=t.length,r=this._map;if(!(i=this._reverseMap))for(var i=this._reverseMap=[],n=0;n>>6-o%4*2,c=s|c,i[n>>>2]|=c<<24-n%4*8,n++)}return a.create(i,n)}(t,e,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},h=(F=U).lib.WordArray,F.enc.Base64url={stringify:function(t,e=!0){var r=t.words,i=t.sigBytes,n=e?this._safe_map:this._map;t.clamp();for(var o=[],s=0;s>>2]>>>24-s%4*8&255)<<16|(r[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|r[s+2>>>2]>>>24-(s+2)%4*8&255,a=0;a<4&&s+.75*a>>6*(3-a)&63));var h=n.charAt(64);if(h)for(;o.length%4;)o.push(h);return o.join("")},parse:function(t,e=!0){var r=t.length,i=e?this._safe_map:this._map;if(!(n=this._reverseMap))for(var n=this._reverseMap=[],o=0;o>>6-o%4*2,c=s|c,i[n>>>2]|=c<<24-n%4*8,n++)}return h.create(i,n)}(t,r,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},function(a){var t=U,e=t.lib,r=e.WordArray,i=e.Hasher,e=t.algo,A=[];!function(){for(var t=0;t<64;t++)A[t]=4294967296*a.abs(a.sin(t+1))|0}();e=e.MD5=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r,n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var o=this._hash.words,s=t[e+0],c=t[e+1],a=t[e+2],h=t[e+3],l=t[e+4],f=t[e+5],d=t[e+6],u=t[e+7],p=t[e+8],_=t[e+9],y=t[e+10],v=t[e+11],g=t[e+12],B=t[e+13],w=t[e+14],k=t[e+15],m=H(m=o[0],b=o[1],x=o[2],S=o[3],s,7,A[0]),S=H(S,m,b,x,c,12,A[1]),x=H(x,S,m,b,a,17,A[2]),b=H(b,x,S,m,h,22,A[3]);m=H(m,b,x,S,l,7,A[4]),S=H(S,m,b,x,f,12,A[5]),x=H(x,S,m,b,d,17,A[6]),b=H(b,x,S,m,u,22,A[7]),m=H(m,b,x,S,p,7,A[8]),S=H(S,m,b,x,_,12,A[9]),x=H(x,S,m,b,y,17,A[10]),b=H(b,x,S,m,v,22,A[11]),m=H(m,b,x,S,g,7,A[12]),S=H(S,m,b,x,B,12,A[13]),x=H(x,S,m,b,w,17,A[14]),m=z(m,b=H(b,x,S,m,k,22,A[15]),x,S,c,5,A[16]),S=z(S,m,b,x,d,9,A[17]),x=z(x,S,m,b,v,14,A[18]),b=z(b,x,S,m,s,20,A[19]),m=z(m,b,x,S,f,5,A[20]),S=z(S,m,b,x,y,9,A[21]),x=z(x,S,m,b,k,14,A[22]),b=z(b,x,S,m,l,20,A[23]),m=z(m,b,x,S,_,5,A[24]),S=z(S,m,b,x,w,9,A[25]),x=z(x,S,m,b,h,14,A[26]),b=z(b,x,S,m,p,20,A[27]),m=z(m,b,x,S,B,5,A[28]),S=z(S,m,b,x,a,9,A[29]),x=z(x,S,m,b,u,14,A[30]),m=C(m,b=z(b,x,S,m,g,20,A[31]),x,S,f,4,A[32]),S=C(S,m,b,x,p,11,A[33]),x=C(x,S,m,b,v,16,A[34]),b=C(b,x,S,m,w,23,A[35]),m=C(m,b,x,S,c,4,A[36]),S=C(S,m,b,x,l,11,A[37]),x=C(x,S,m,b,u,16,A[38]),b=C(b,x,S,m,y,23,A[39]),m=C(m,b,x,S,B,4,A[40]),S=C(S,m,b,x,s,11,A[41]),x=C(x,S,m,b,h,16,A[42]),b=C(b,x,S,m,d,23,A[43]),m=C(m,b,x,S,_,4,A[44]),S=C(S,m,b,x,g,11,A[45]),x=C(x,S,m,b,k,16,A[46]),m=D(m,b=C(b,x,S,m,a,23,A[47]),x,S,s,6,A[48]),S=D(S,m,b,x,u,10,A[49]),x=D(x,S,m,b,w,15,A[50]),b=D(b,x,S,m,f,21,A[51]),m=D(m,b,x,S,g,6,A[52]),S=D(S,m,b,x,h,10,A[53]),x=D(x,S,m,b,y,15,A[54]),b=D(b,x,S,m,c,21,A[55]),m=D(m,b,x,S,p,6,A[56]),S=D(S,m,b,x,k,10,A[57]),x=D(x,S,m,b,d,15,A[58]),b=D(b,x,S,m,B,21,A[59]),m=D(m,b,x,S,l,6,A[60]),S=D(S,m,b,x,v,10,A[61]),x=D(x,S,m,b,a,15,A[62]),b=D(b,x,S,m,_,21,A[63]),o[0]=o[0]+m|0,o[1]=o[1]+b|0,o[2]=o[2]+x|0,o[3]=o[3]+S|0},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;var n=a.floor(r/4294967296),r=r;e[15+(64+i>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e[14+(64+i>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(e.length+1),this._process();for(var e=this._hash,o=e.words,s=0;s<4;s++){var c=o[s];o[s]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return e},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t}});function H(t,e,r,i,n,o,s){s=t+(e&r|~e&i)+n+s;return(s<>>32-o)+e}function z(t,e,r,i,n,o,s){s=t+(e&i|r&~i)+n+s;return(s<>>32-o)+e}function C(t,e,r,i,n,o,s){s=t+(e^r^i)+n+s;return(s<>>32-o)+e}function D(t,e,r,i,n,o,s){s=t+(r^(e|~i))+n+s;return(s<>>32-o)+e}t.MD5=i._createHelper(e),t.HmacMD5=i._createHmacHelper(e)}(Math),P=(M=U).lib,t=P.WordArray,e=P.Hasher,P=M.algo,l=[],P=P.SHA1=e.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],c=r[4],a=0;a<80;a++){a<16?l[a]=0|t[e+a]:(h=l[a-3]^l[a-8]^l[a-14]^l[a-16],l[a]=h<<1|h>>>31);var h=(i<<5|i>>>27)+c+l[a];h+=a<20?1518500249+(n&o|~n&s):a<40?1859775393+(n^o^s):a<60?(n&o|n&s|o&s)-1894007588:(n^o^s)-899497514,c=s,s=o,o=n<<30|n>>>2,n=i,i=h}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+c|0},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return e[i>>>5]|=128<<24-i%32,e[14+(64+i>>>9<<4)]=Math.floor(r/4294967296),e[15+(64+i>>>9<<4)]=r,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=e.clone.call(this);return t._hash=this._hash.clone(),t}}),M.SHA1=e._createHelper(P),M.HmacSHA1=e._createHmacHelper(P),function(n){var t=U,e=t.lib,r=e.WordArray,i=e.Hasher,e=t.algo,o=[],p=[];!function(){function t(t){return 4294967296*(t-(0|t))|0}for(var e=2,r=0;r<64;)!function(t){for(var e=n.sqrt(t),r=2;r<=e;r++)if(!(t%r))return;return 1}(e)||(r<8&&(o[r]=t(n.pow(e,.5))),p[r]=t(n.pow(e,1/3)),r++),e++}();var _=[],e=e.SHA256=i.extend({_doReset:function(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],c=r[4],a=r[5],h=r[6],l=r[7],f=0;f<64;f++){f<16?_[f]=0|t[e+f]:(d=_[f-15],u=_[f-2],_[f]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+_[f-7]+((u<<15|u>>>17)^(u<<13|u>>>19)^u>>>10)+_[f-16]);var d=i&n^i&o^n&o,u=l+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&a^~c&h)+p[f]+_[f],l=h,h=a,a=c,c=s+u|0,s=o,o=n,n=i,i=u+(((i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22))+d)|0}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+c|0,r[5]=r[5]+a|0,r[6]=r[6]+h|0,r[7]=r[7]+l|0},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return e[i>>>5]|=128<<24-i%32,e[14+(64+i>>>9<<4)]=n.floor(r/4294967296),e[15+(64+i>>>9<<4)]=r,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t}});t.SHA256=i._createHelper(e),t.HmacSHA256=i._createHmacHelper(e)}(Math),r=(w=U).lib.WordArray,F=w.algo,i=F.SHA256,F=F.SHA224=i.extend({_doReset:function(){this._hash=new r.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=i._doFinalize.call(this);return t.sigBytes-=4,t}}),w.SHA224=i._createHelper(F),w.HmacSHA224=i._createHmacHelper(F),function(){var t=U,e=t.lib.Hasher,r=t.x64,i=r.Word,n=r.WordArray,r=t.algo;function o(){return i.create.apply(i,arguments)}var t1=[o(1116352408,3609767458),o(1899447441,602891725),o(3049323471,3964484399),o(3921009573,2173295548),o(961987163,4081628472),o(1508970993,3053834265),o(2453635748,2937671579),o(2870763221,3664609560),o(3624381080,2734883394),o(310598401,1164996542),o(607225278,1323610764),o(1426881987,3590304994),o(1925078388,4068182383),o(2162078206,991336113),o(2614888103,633803317),o(3248222580,3479774868),o(3835390401,2666613458),o(4022224774,944711139),o(264347078,2341262773),o(604807628,2007800933),o(770255983,1495990901),o(1249150122,1856431235),o(1555081692,3175218132),o(1996064986,2198950837),o(2554220882,3999719339),o(2821834349,766784016),o(2952996808,2566594879),o(3210313671,3203337956),o(3336571891,1034457026),o(3584528711,2466948901),o(113926993,3758326383),o(338241895,168717936),o(666307205,1188179964),o(773529912,1546045734),o(1294757372,1522805485),o(1396182291,2643833823),o(1695183700,2343527390),o(1986661051,1014477480),o(2177026350,1206759142),o(2456956037,344077627),o(2730485921,1290863460),o(2820302411,3158454273),o(3259730800,3505952657),o(3345764771,106217008),o(3516065817,3606008344),o(3600352804,1432725776),o(4094571909,1467031594),o(275423344,851169720),o(430227734,3100823752),o(506948616,1363258195),o(659060556,3750685593),o(883997877,3785050280),o(958139571,3318307427),o(1322822218,3812723403),o(1537002063,2003034995),o(1747873779,3602036899),o(1955562222,1575990012),o(2024104815,1125592928),o(2227730452,2716904306),o(2361852424,442776044),o(2428436474,593698344),o(2756734187,3733110249),o(3204031479,2999351573),o(3329325298,3815920427),o(3391569614,3928383900),o(3515267271,566280711),o(3940187606,3454069534),o(4118630271,4000239992),o(116418474,1914138554),o(174292421,2731055270),o(289380356,3203993006),o(460393269,320620315),o(685471733,587496836),o(852142971,1086792851),o(1017036298,365543100),o(1126000580,2618297676),o(1288033470,3409855158),o(1501505948,4234509866),o(1607167915,987167468),o(1816402316,1246189591)],e1=[];!function(){for(var t=0;t<80;t++)e1[t]=o()}();r=r.SHA512=e.extend({_doReset:function(){this._hash=new n.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],c=r[4],a=r[5],h=r[6],l=r[7],f=i.high,d=i.low,u=n.high,p=n.low,_=o.high,y=o.low,v=s.high,g=s.low,B=c.high,w=c.low,k=a.high,m=a.low,S=h.high,x=h.low,b=l.high,r=l.low,A=f,H=d,z=u,C=p,D=_,E=y,R=v,M=g,F=B,P=w,W=k,O=m,I=S,U=x,K=b,X=r,L=0;L<80;L++){var j,T,N=e1[L];L<16?(T=N.high=0|t[e+2*L],j=N.low=0|t[e+2*L+1]):($=(q=e1[L-15]).high,J=q.low,G=(Q=e1[L-2]).high,V=Q.low,Z=(Y=e1[L-7]).high,q=Y.low,Y=(Q=e1[L-16]).high,T=(T=(($>>>1|J<<31)^($>>>8|J<<24)^$>>>7)+Z+((j=(Z=(J>>>1|$<<31)^(J>>>8|$<<24)^(J>>>7|$<<25))+q)>>>0>>0?1:0))+((G>>>19|V<<13)^(G<<3|V>>>29)^G>>>6)+((j+=J=(V>>>19|G<<13)^(V<<3|G>>>29)^(V>>>6|G<<26))>>>0>>0?1:0),j+=$=Q.low,N.high=T=T+Y+(j>>>0<$>>>0?1:0),N.low=j);var q=F&W^~F&I,Z=P&O^~P&U,V=A&z^A&D^z&D,G=(H>>>28|A<<4)^(H<<30|A>>>2)^(H<<25|A>>>7),J=t1[L],Q=J.high,Y=J.low,$=X+((P>>>14|F<<18)^(P>>>18|F<<14)^(P<<23|F>>>9)),N=K+((F>>>14|P<<18)^(F>>>18|P<<14)^(F<<23|P>>>9))+($>>>0>>0?1:0),J=G+(H&C^H&E^C&E),K=I,X=U,I=W,U=O,W=F,O=P,F=R+(N=(N=(N=N+q+(($=$+Z)>>>0>>0?1:0))+Q+(($=$+Y)>>>0>>0?1:0))+T+(($=$+j)>>>0>>0?1:0))+((P=M+$|0)>>>0>>0?1:0)|0,R=D,M=E,D=z,E=C,z=A,C=H,A=N+(((A>>>28|H<<4)^(A<<30|H>>>2)^(A<<25|H>>>7))+V+(J>>>0>>0?1:0))+((H=$+J|0)>>>0<$>>>0?1:0)|0}d=i.low=d+H,i.high=f+A+(d>>>0>>0?1:0),p=n.low=p+C,n.high=u+z+(p>>>0>>0?1:0),y=o.low=y+E,o.high=_+D+(y>>>0>>0?1:0),g=s.low=g+M,s.high=v+R+(g>>>0>>0?1:0),w=c.low=w+P,c.high=B+F+(w>>>0

>>0?1:0),m=a.low=m+O,a.high=k+W+(m>>>0>>0?1:0),x=h.low=x+U,h.high=S+I+(x>>>0>>0?1:0),r=l.low=r+X,l.high=b+K+(r>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return e[i>>>5]|=128<<24-i%32,e[30+(128+i>>>10<<5)]=Math.floor(r/4294967296),e[31+(128+i>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=e.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});t.SHA512=e._createHelper(r),t.HmacSHA512=e._createHmacHelper(r)}(),P=(M=U).x64,c=P.Word,f=P.WordArray,P=M.algo,d=P.SHA512,P=P.SHA384=d.extend({_doReset:function(){this._hash=new f.init([new c.init(3418070365,3238371032),new c.init(1654270250,914150663),new c.init(2438529370,812702999),new c.init(355462360,4144912697),new c.init(1731405415,4290775857),new c.init(2394180231,1750603025),new c.init(3675008525,1694076839),new c.init(1203062813,3204075428)])},_doFinalize:function(){var t=d._doFinalize.call(this);return t.sigBytes-=16,t}}),M.SHA384=d._createHelper(P),M.HmacSHA384=d._createHmacHelper(P),function(l){var t=U,e=t.lib,f=e.WordArray,i=e.Hasher,d=t.x64.Word,e=t.algo,A=[],H=[],z=[];!function(){for(var t=1,e=0,r=0;r<24;r++){A[t+5*e]=(r+1)*(r+2)/2%64;var i=(2*t+3*e)%5;t=e%5,e=i}for(t=0;t<5;t++)for(e=0;e<5;e++)H[t+5*e]=e+(2*t+3*e)%5*5;for(var n=1,o=0;o<24;o++){for(var s,c=0,a=0,h=0;h<7;h++)1&n&&((s=(1<>>24)|4278255360&(o<<24|o>>>8);(m=r[n]).high^=s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),m.low^=o}for(var c=0;c<24;c++){for(var a=0;a<5;a++){for(var h=0,l=0,f=0;f<5;f++)h^=(m=r[a+5*f]).high,l^=m.low;var d=C[a];d.high=h,d.low=l}for(a=0;a<5;a++)for(var u=C[(a+4)%5],p=C[(a+1)%5],_=p.high,p=p.low,h=u.high^(_<<1|p>>>31),l=u.low^(p<<1|_>>>31),f=0;f<5;f++)(m=r[a+5*f]).high^=h,m.low^=l;for(var y=1;y<25;y++){var v=(m=r[y]).high,g=m.low,B=A[y];l=B<32?(h=v<>>32-B,g<>>32-B):(h=g<>>64-B,v<>>64-B);B=C[H[y]];B.high=h,B.low=l}var w=C[0],k=r[0];w.high=k.high,w.low=k.low;for(a=0;a<5;a++)for(f=0;f<5;f++){var m=r[y=a+5*f],S=C[y],x=C[(a+1)%5+5*f],b=C[(a+2)%5+5*f];m.high=S.high^~x.high&b.high,m.low=S.low^~x.low&b.low}m=r[0],k=z[c];m.high^=k.high,m.low^=k.low}},_doFinalize:function(){var t=this._data,e=t.words,r=(this._nDataBytes,8*t.sigBytes),i=32*this.blockSize;e[r>>>5]|=1<<24-r%32,e[(l.ceil((1+r)/i)*i>>>5)-1]|=128,t.sigBytes=4*e.length,this._process();for(var n=this._state,e=this.cfg.outputLength/8,o=e/8,s=[],c=0;c>>24)|4278255360&(h<<24|h>>>8);s.push(a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)),s.push(h)}return new f.init(s,e)},clone:function(){for(var t=i.clone.call(this),e=t._state=this._state.slice(0),r=0;r<25;r++)e[r]=e[r].clone();return t}});t.SHA3=i._createHelper(e),t.HmacSHA3=i._createHmacHelper(e)}(Math),Math,F=(w=U).lib,u=F.WordArray,p=F.Hasher,F=w.algo,S=u.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),x=u.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),b=u.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),A=u.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),H=u.create([0,1518500249,1859775393,2400959708,2840853838]),z=u.create([1352829926,1548603684,1836072691,2053994217,0]),F=F.RIPEMD160=p.extend({_doReset:function(){this._hash=u.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r,n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}for(var o,s,c,a,h,l,f=this._hash.words,d=H.words,u=z.words,p=S.words,_=x.words,y=b.words,v=A.words,g=o=f[0],B=s=f[1],w=c=f[2],k=a=f[3],m=h=f[4],r=0;r<80;r+=1)l=o+t[e+p[r]]|0,l+=r<16?(s^c^a)+d[0]:r<32?K(s,c,a)+d[1]:r<48?((s|~c)^a)+d[2]:r<64?X(s,c,a)+d[3]:(s^(c|~a))+d[4],l=(l=L(l|=0,y[r]))+h|0,o=h,h=a,a=L(c,10),c=s,s=l,l=g+t[e+_[r]]|0,l+=r<16?(B^(w|~k))+u[0]:r<32?X(B,w,k)+u[1]:r<48?((B|~w)^k)+u[2]:r<64?K(B,w,k)+u[3]:(B^w^k)+u[4],l=(l=L(l|=0,v[r]))+m|0,g=m,m=k,k=L(w,10),w=B,B=l;l=f[1]+c+k|0,f[1]=f[2]+a+m|0,f[2]=f[3]+h+g|0,f[3]=f[4]+o+B|0,f[4]=f[0]+s+w|0,f[0]=l},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32,e[14+(64+i>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(e.length+1),this._process();for(var e=this._hash,n=e.words,o=0;o<5;o++){var s=n[o];n[o]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return e},clone:function(){var t=p.clone.call(this);return t._hash=this._hash.clone(),t}}),w.RIPEMD160=p._createHelper(F),w.HmacRIPEMD160=p._createHmacHelper(F),P=(M=U).lib.Base,_=M.enc.Utf8,M.algo.HMAC=P.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=_.parse(e));var r=t.blockSize,i=4*r;(e=e.sigBytes>i?t.finalize(e):e).clamp();for(var t=this._oKey=e.clone(),e=this._iKey=e.clone(),n=t.words,o=e.words,s=0;s>>2];t.sigBytes-=e}},d=(e.BlockCipher=a.extend({cfg:a.cfg.extend({mode:n,padding:l}),reset:function(){var t;a.reset.call(this);var e=this.cfg,r=e.iv,e=e.mode;this._xformMode==this._ENC_XFORM_MODE?t=e.createEncryptor:(t=e.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==t?this._mode.init(this,r&&r.words):(this._mode=t.call(e,this,r&&r.words),this._mode.__creator=t)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),t=this._process(!0)):(t=this._process(!0),e.unpad(t)),t},blockSize:4}),e.CipherParams=r.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),l=(t.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,t=t.salt,e=t?s.create([1398893684,1701076831]).concat(t).concat(e):e;return e.toString(o)},parse:function(t){var e,r=o.parse(t),t=r.words;return 1398893684==t[0]&&1701076831==t[1]&&(e=s.create(t.slice(2,4)),t.splice(0,4),r.sigBytes-=16),d.create({ciphertext:r,salt:e})}},u=e.SerializableCipher=r.extend({cfg:r.extend({format:l}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=t.createEncryptor(r,i),e=n.finalize(e),n=n.cfg;return d.create({ciphertext:e,key:r,iv:n.iv,algorithm:t,mode:n.mode,padding:n.padding,blockSize:t.blockSize,formatter:i.format})},decrypt:function(t,e,r,i){return i=this.cfg.extend(i),e=this._parse(e,i.format),t.createDecryptor(r,i).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),t=(t.kdf={}).OpenSSL={execute:function(t,e,r,i){i=i||s.random(8);t=c.create({keySize:e+r}).compute(t,i),r=s.create(t.words.slice(e),4*r);return t.sigBytes=4*e,d.create({key:t,iv:r,salt:i})}},p=e.PasswordBasedCipher=u.extend({cfg:u.cfg.extend({kdf:t}),encrypt:function(t,e,r,i){r=(i=this.cfg.extend(i)).kdf.execute(r,t.keySize,t.ivSize);i.iv=r.iv;i=u.encrypt.call(this,t,e,r.key,i);return i.mixIn(r),i},decrypt:function(t,e,r,i){i=this.cfg.extend(i),e=this._parse(e,i.format);r=i.kdf.execute(r,t.keySize,t.ivSize,e.salt);return i.iv=r.iv,u.decrypt.call(this,t,e,r.key,i)}})}(),U.mode.CFB=((F=U.lib.BlockCipherMode.extend()).Encryptor=F.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize;j.call(this,t,e,i,r),this._prevBlock=t.slice(e,e+i)}}),F.Decryptor=F.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,n=t.slice(e,e+i);j.call(this,t,e,i,r),this._prevBlock=n}}),F),U.mode.CTR=(M=U.lib.BlockCipherMode.extend(),P=M.Encryptor=M.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,n=this._iv,o=this._counter;n&&(o=this._counter=n.slice(0),this._iv=void 0);var s=o.slice(0);r.encryptBlock(s,0),o[i-1]=o[i-1]+1|0;for(var c=0;c>>2]|=e<<24-r%4*8,t.sigBytes+=e},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},U.pad.Iso10126={pad:function(t,e){e*=4,e-=t.sigBytes%e;t.concat(U.lib.WordArray.random(e-1)).concat(U.lib.WordArray.create([e<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},U.pad.Iso97971={pad:function(t,e){t.concat(U.lib.WordArray.create([2147483648],1)),U.pad.ZeroPadding.pad(t,e)},unpad:function(t){U.pad.ZeroPadding.unpad(t),t.sigBytes--}},U.pad.ZeroPadding={pad:function(t,e){e*=4;t.clamp(),t.sigBytes+=e-(t.sigBytes%e||e)},unpad:function(t){for(var e=t.words,r=t.sigBytes-1,r=t.sigBytes-1;0<=r;r--)if(e[r>>>2]>>>24-r%4*8&255){t.sigBytes=r+1;break}}},U.pad.NoPadding={pad:function(){},unpad:function(){}},m=(P=U).lib.CipherParams,C=P.enc.Hex,P.format.Hex={stringify:function(t){return t.ciphertext.toString(C)},parse:function(t){t=C.parse(t);return m.create({ciphertext:t})}},function(){var t=U,e=t.lib.BlockCipher,r=t.algo,h=[],l=[],f=[],d=[],u=[],p=[],_=[],y=[],v=[],g=[];!function(){for(var t=[],e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=0,i=0,e=0;e<256;e++){var n=i^i<<1^i<<2^i<<3^i<<4;h[r]=n=n>>>8^255&n^99;var o=t[l[n]=r],s=t[o],c=t[s],a=257*t[n]^16843008*n;f[r]=a<<24|a>>>8,d[r]=a<<16|a>>>16,u[r]=a<<8|a>>>24,p[r]=a,_[n]=(a=16843009*c^65537*s^257*o^16843008*r)<<24|a>>>8,y[n]=a<<16|a>>>16,v[n]=a<<8|a>>>24,g[n]=a,r?(r=o^t[t[t[c^o]]],i^=t[t[i]]):r=i=1}}();var B=[0,1,2,4,8,16,32,64,128,27,54],r=r.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,r=t.sigBytes/4,i=4*(1+(this._nRounds=6+r)),n=this._keySchedule=[],o=0;o>>24]<<24|h[a>>>16&255]<<16|h[a>>>8&255]<<8|h[255&a]):(a=h[(a=a<<8|a>>>24)>>>24]<<24|h[a>>>16&255]<<16|h[a>>>8&255]<<8|h[255&a],a^=B[o/r|0]<<24),n[o]=n[o-r]^a);for(var s=this._invKeySchedule=[],c=0;c>>24]]^y[h[a>>>16&255]]^v[h[a>>>8&255]]^g[h[255&a]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,f,d,u,p,h)},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3],t[e+3]=r,this._doCryptBlock(t,e,this._invKeySchedule,_,y,v,g,l);r=t[e+1];t[e+1]=t[e+3],t[e+3]=r},_doCryptBlock:function(t,e,r,i,n,o,s,c){for(var a=this._nRounds,h=t[e]^r[0],l=t[e+1]^r[1],f=t[e+2]^r[2],d=t[e+3]^r[3],u=4,p=1;p>>24]^n[l>>>16&255]^o[f>>>8&255]^s[255&d]^r[u++],y=i[l>>>24]^n[f>>>16&255]^o[d>>>8&255]^s[255&h]^r[u++],v=i[f>>>24]^n[d>>>16&255]^o[h>>>8&255]^s[255&l]^r[u++],g=i[d>>>24]^n[h>>>16&255]^o[l>>>8&255]^s[255&f]^r[u++],h=_,l=y,f=v,d=g;_=(c[h>>>24]<<24|c[l>>>16&255]<<16|c[f>>>8&255]<<8|c[255&d])^r[u++],y=(c[l>>>24]<<24|c[f>>>16&255]<<16|c[d>>>8&255]<<8|c[255&h])^r[u++],v=(c[f>>>24]<<24|c[d>>>16&255]<<16|c[h>>>8&255]<<8|c[255&l])^r[u++],g=(c[d>>>24]<<24|c[h>>>16&255]<<16|c[l>>>8&255]<<8|c[255&f])^r[u++];t[e]=_,t[e+1]=y,t[e+2]=v,t[e+3]=g},keySize:8});t.AES=e._createHelper(r)}(),function(){var t=U,e=t.lib,i=e.WordArray,r=e.BlockCipher,e=t.algo,h=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],l=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],f=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],d=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],n=e.DES=r.extend({_doReset:function(){for(var t=this._key.words,e=[],r=0;r<56;r++){var i=h[r]-1;e[r]=t[i>>>5]>>>31-i%32&1}for(var n=this._subKeys=[],o=0;o<16;o++){for(var s=n[o]=[],c=f[o],r=0;r<24;r++)s[r/6|0]|=e[(l[r]-1+c)%28]<<31-r%6,s[4+(r/6|0)]|=e[28+(l[r+24]-1+c)%28]<<31-r%6;s[0]=s[0]<<1|s[0]>>>31;for(r=1;r<7;r++)s[r]=s[r]>>>4*(r-1)+3;s[7]=s[7]<<5|s[7]>>>27}for(var a=this._invSubKeys=[],r=0;r<16;r++)a[r]=n[15-r]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,r){this._lBlock=t[e],this._rBlock=t[e+1],p.call(this,4,252645135),p.call(this,16,65535),_.call(this,2,858993459),_.call(this,8,16711935),p.call(this,1,1431655765);for(var i=0;i<16;i++){for(var n=r[i],o=this._lBlock,s=this._rBlock,c=0,a=0;a<8;a++)c|=d[a][((s^n[a])&u[a])>>>0];this._lBlock=s,this._rBlock=o^c}var h=this._lBlock;this._lBlock=this._rBlock,this._rBlock=h,p.call(this,1,1431655765),_.call(this,8,16711935),_.call(this,2,858993459),p.call(this,16,65535),p.call(this,4,252645135),t[e]=this._lBlock,t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function p(t,e){e=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=e,this._lBlock^=e<>>t^this._lBlock)&e;this._lBlock^=e,this._rBlock^=e<192.");var e=t.slice(0,2),r=t.length<4?t.slice(0,2):t.slice(2,4),t=t.length<6?t.slice(0,2):t.slice(4,6);this._des1=n.createEncryptor(i.create(e)),this._des2=n.createEncryptor(i.create(r)),this._des3=n.createEncryptor(i.create(t))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});t.TripleDES=r._createHelper(e)}(),function(){var t=U,e=t.lib.StreamCipher,r=t.algo,i=r.RC4=e.extend({_doReset:function(){for(var t=this._key,e=t.words,r=t.sigBytes,i=this._S=[],n=0;n<256;n++)i[n]=n;for(var n=0,o=0;n<256;n++){var s=n%r,s=e[s>>>2]>>>24-s%4*8&255,o=(o+i[n]+s)%256,s=i[n];i[n]=i[o],i[o]=s}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=n.call(this)},keySize:8,ivSize:0});function n(){for(var t=this._S,e=this._i,r=this._j,i=0,n=0;n<4;n++){var r=(r+t[e=(e+1)%256])%256,o=t[e];t[e]=t[r],t[r]=o,i|=t[(t[e]+t[r])%256]<<24-8*n}return this._i=e,this._j=r,i}t.RC4=e._createHelper(i);r=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var t=this.cfg.drop;0>>24)|4278255360&(t[r]<<24|t[r]>>>8);for(var i=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],n=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]],r=this._b=0;r<4;r++)N.call(this);for(r=0;r<8;r++)n[r]^=i[r+4&7];if(e){var o=e.words,s=o[0],c=o[1],e=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),o=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),s=e>>>16|4294901760&o,c=o<<16|65535&e;n[0]^=e,n[1]^=s,n[2]^=o,n[3]^=c,n[4]^=e,n[5]^=s,n[6]^=o,n[7]^=c;for(r=0;r<4;r++)N.call(this)}},_doProcessBlock:function(t,e){var r=this._X;N.call(this),D[0]=r[0]^r[5]>>>16^r[3]<<16,D[1]=r[2]^r[7]>>>16^r[5]<<16,D[2]=r[4]^r[1]>>>16^r[7]<<16,D[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)D[i]=16711935&(D[i]<<8|D[i]>>>24)|4278255360&(D[i]<<24|D[i]>>>8),t[e+i]^=D[i]},blockSize:4,ivSize:2}),M.Rabbit=F._createHelper(P),F=(M=U).lib.StreamCipher,P=M.algo,W=[],O=[],I=[],P=P.RabbitLegacy=F.extend({_doReset:function(){for(var t=this._key.words,e=this.cfg.iv,r=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],i=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]],n=this._b=0;n<4;n++)q.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(e){var o=e.words,s=o[0],t=o[1],e=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),o=16711935&(t<<8|t>>>24)|4278255360&(t<<24|t>>>8),s=e>>>16|4294901760&o,t=o<<16|65535&e;i[0]^=e,i[1]^=s,i[2]^=o,i[3]^=t,i[4]^=e,i[5]^=s,i[6]^=o,i[7]^=t;for(n=0;n<4;n++)q.call(this)}},_doProcessBlock:function(t,e){var r=this._X;q.call(this),W[0]=r[0]^r[5]>>>16^r[3]<<16,W[1]=r[2]^r[7]>>>16^r[5]<<16,W[2]=r[4]^r[1]>>>16^r[7]<<16,W[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)W[i]=16711935&(W[i]<<8|W[i]>>>24)|4278255360&(W[i]<<24|W[i]>>>8),t[e+i]^=W[i]},blockSize:4,ivSize:2}),M.RabbitLegacy=F._createHelper(P),U}); \ No newline at end of file diff --git a/roguedex_chrome (2).zip b/roguedex_chrome (2).zip new file mode 100644 index 0000000000000000000000000000000000000000..f4b379e437bd8fe3c4e9a598fc155dae71e6df9a GIT binary patch literal 31868 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 Date: Sat, 18 May 2024 20:55:01 -0300 Subject: [PATCH 2/2] Changes --- manifest_chrome.json | 2 +- roguedex_chrome (2).zip | Bin 31868 -> 0 bytes roguedex_chrome.zip | Bin 30677 -> 31868 bytes 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 roguedex_chrome (2).zip diff --git a/manifest_chrome.json b/manifest_chrome.json index 7d8ee96..781ce76 100644 --- a/manifest_chrome.json +++ b/manifest_chrome.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Rogue Dex", "version": "2.6", - "permissions": ["activeTab", "webRequest"], + "permissions": ["activeTab", "webRequest", "storage"], "host_permissions": [ "https://pokerogue.net/*", "https://api.pokerogue.net/*" diff --git a/roguedex_chrome (2).zip b/roguedex_chrome (2).zip deleted file mode 100644 index f4b379e437bd8fe3c4e9a598fc155dae71e6df9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31868 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