🐭️ MouseHunt Improved

Improve your MouseHunt experience. Please only use this when the extension is not available.

当前为 2024-03-10 提交的版本,查看 最新版本

// ==UserScript==
// @name        🐭️ MouseHunt Improved
// @description Improve your MouseHunt experience. Please only use this when the extension is not available.
// @version     0.35.4
// @license     MIT
// @author      bradp
// @namespace   bradp
// @match       https://www.mousehuntgame.com/*
// @icon        https://i.mouse.rip/mh-improved/icon-64.png
// @run-at      document-end
// @grant       none
// ==/UserScript==
const mhImprovedVersion = '0.35.4';
const mhImprovedPlatform = 'userscript';
var mhui = (() => {
var __create = Object.create;
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
  __defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
  if (__propIsEnum.call(b, prop))
    __defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __esm = (fn, res) => function __init() {
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
  if (!__hasOwnProp.call(to, key) && key !== except)
    __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
  try {
    step(generator.next(value));
  } catch (e) {
    reject(e);
  }
};
var rejected = (value) => {
  try {
    step(generator.throw(value));
  } catch (e) {
    reject(e);
  }
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};

// node_modules/@sentry/utils/esm/is.js
function isError(wat) {
switch (objectToString.call(wat)) {
case "[object Error]":
case "[object Exception]":
case "[object DOMException]":
  return true;
default:
  return isInstanceOf(wat, Error);
}
}
function isBuiltin(wat, className) {
return objectToString.call(wat) === `[object ${className}]`;
}
function isErrorEvent(wat) {
return isBuiltin(wat, "ErrorEvent");
}
function isDOMError(wat) {
return isBuiltin(wat, "DOMError");
}
function isDOMException(wat) {
return isBuiltin(wat, "DOMException");
}
function isString(wat) {
return isBuiltin(wat, "String");
}
function isParameterizedString(wat) {
return typeof wat === "object" && wat !== null && "__sentry_template_string__" in wat && "__sentry_template_values__" in wat;
}
function isPrimitive(wat) {
return wat === null || isParameterizedString(wat) || typeof wat !== "object" && typeof wat !== "function";
}
function isPlainObject(wat) {
return isBuiltin(wat, "Object");
}
function isEvent(wat) {
return typeof Event !== "undefined" && isInstanceOf(wat, Event);
}
function isElement(wat) {
return typeof Element !== "undefined" && isInstanceOf(wat, Element);
}
function isRegExp(wat) {
return isBuiltin(wat, "RegExp");
}
function isThenable(wat) {
return Boolean(wat && wat.then && typeof wat.then === "function");
}
function isSyntheticEvent(wat) {
return isPlainObject(wat) && "nativeEvent" in wat && "preventDefault" in wat && "stopPropagation" in wat;
}
function isNaN2(wat) {
return typeof wat === "number" && wat !== wat;
}
function isInstanceOf(wat, base) {
try {
return wat instanceof base;
} catch (_e) {
return false;
}
}
function isVueViewModel(wat) {
return !!(typeof wat === "object" && wat !== null && (wat.__isVue || wat._isVue));
}
var objectToString;
var init_is = __esm({
"node_modules/@sentry/utils/esm/is.js"() {
objectToString = Object.prototype.toString;
}
});

// node_modules/@sentry/utils/esm/string.js
function truncate(str, max = 0) {
if (typeof str !== "string" || max === 0) {
return str;
}
return str.length <= max ? str : `${str.slice(0, max)}...`;
}
function safeJoin(input, delimiter) {
if (!Array.isArray(input)) {
return "";
}
const output = [];
for (let i = 0; i < input.length; i++) {
const value = input[i];
try {
  if (isVueViewModel(value)) {
    output.push("[VueViewModel]");
  } else {
    output.push(String(value));
  }
} catch (e) {
  output.push("[value cannot be serialized]");
}
}
return output.join(delimiter);
}
function isMatchingPattern(value, pattern, requireExactStringMatch = false) {
if (!isString(value)) {
return false;
}
if (isRegExp(pattern)) {
return pattern.test(value);
}
if (isString(pattern)) {
return requireExactStringMatch ? value === pattern : value.includes(pattern);
}
return false;
}
function stringMatchesSomePattern(testString, patterns = [], requireExactStringMatch = false) {
return patterns.some((pattern) => isMatchingPattern(testString, pattern, requireExactStringMatch));
}
var init_string = __esm({
"node_modules/@sentry/utils/esm/string.js"() {
init_is();
}
});

// node_modules/@sentry/utils/esm/aggregate-errors.js
function applyAggregateErrorsToEvent(exceptionFromErrorImplementation, parser, maxValueLimit = 250, key, limit2, event, hint) {
if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {
return;
}
const originalException = event.exception.values.length > 0 ? event.exception.values[event.exception.values.length - 1] : void 0;
if (originalException) {
event.exception.values = truncateAggregateExceptions(
  aggregateExceptionsFromError(
    exceptionFromErrorImplementation,
    parser,
    limit2,
    hint.originalException,
    key,
    event.exception.values,
    originalException,
    0
  ),
  maxValueLimit
);
}
}
function aggregateExceptionsFromError(exceptionFromErrorImplementation, parser, limit2, error, key, prevExceptions, exception, exceptionId) {
if (prevExceptions.length >= limit2 + 1) {
return prevExceptions;
}
let newExceptions = [...prevExceptions];
if (isInstanceOf(error[key], Error)) {
applyExceptionGroupFieldsForParentException(exception, exceptionId);
const newException = exceptionFromErrorImplementation(parser, error[key]);
const newExceptionId = newExceptions.length;
applyExceptionGroupFieldsForChildException(newException, key, newExceptionId, exceptionId);
newExceptions = aggregateExceptionsFromError(
  exceptionFromErrorImplementation,
  parser,
  limit2,
  error[key],
  key,
  [newException, ...newExceptions],
  newException,
  newExceptionId
);
}
if (Array.isArray(error.errors)) {
error.errors.forEach((childError, i) => {
  if (isInstanceOf(childError, Error)) {
    applyExceptionGroupFieldsForParentException(exception, exceptionId);
    const newException = exceptionFromErrorImplementation(parser, childError);
    const newExceptionId = newExceptions.length;
    applyExceptionGroupFieldsForChildException(newException, `errors[${i}]`, newExceptionId, exceptionId);
    newExceptions = aggregateExceptionsFromError(
      exceptionFromErrorImplementation,
      parser,
      limit2,
      childError,
      key,
      [newException, ...newExceptions],
      newException,
      newExceptionId
    );
  }
});
}
return newExceptions;
}
function applyExceptionGroupFieldsForParentException(exception, exceptionId) {
exception.mechanism = exception.mechanism || { type: "generic", handled: true };
exception.mechanism = __spreadProps(__spreadValues({}, exception.mechanism), {
is_exception_group: true,
exception_id: exceptionId
});
}
function applyExceptionGroupFieldsForChildException(exception, source, exceptionId, parentId) {
exception.mechanism = exception.mechanism || { type: "generic", handled: true };
exception.mechanism = __spreadProps(__spreadValues({}, exception.mechanism), {
type: "chained",
source,
exception_id: exceptionId,
parent_id: parentId
});
}
function truncateAggregateExceptions(exceptions, maxValueLength) {
return exceptions.map((exception) => {
if (exception.value) {
  exception.value = truncate(exception.value, maxValueLength);
}
return exception;
});
}
var init_aggregate_errors = __esm({
"node_modules/@sentry/utils/esm/aggregate-errors.js"() {
init_is();
init_string();
}
});

// node_modules/@sentry/utils/esm/worldwide.js
function isGlobalObj(obj) {
return obj && obj.Math == Math ? obj : void 0;
}
function getGlobalObject() {
return GLOBAL_OBJ;
}
function getGlobalSingleton(name, creator, obj) {
const gbl = obj || GLOBAL_OBJ;
const __SENTRY__ = gbl.__SENTRY__ = gbl.__SENTRY__ || {};
const singleton = __SENTRY__[name] || (__SENTRY__[name] = creator());
return singleton;
}
var GLOBAL_OBJ;
var init_worldwide = __esm({
"node_modules/@sentry/utils/esm/worldwide.js"() {
GLOBAL_OBJ = typeof globalThis == "object" && isGlobalObj(globalThis) || // eslint-disable-next-line no-restricted-globals
typeof window == "object" && isGlobalObj(window) || typeof self == "object" && isGlobalObj(self) || typeof global == "object" && isGlobalObj(global) || /* @__PURE__ */ function() {
  return this;
}() || {};
}
});

// node_modules/@sentry/utils/esm/browser.js
function htmlTreeAsString(elem, options = {}) {
if (!elem) {
return "<unknown>";
}
try {
let currentElem = elem;
const MAX_TRAVERSE_HEIGHT = 5;
const out = [];
let height = 0;
let len = 0;
const separator = " > ";
const sepLength = separator.length;
let nextStr;
const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;
const maxStringLength = !Array.isArray(options) && options.maxStringLength || DEFAULT_MAX_STRING_LENGTH;
while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {
  nextStr = _htmlElementAsString(currentElem, keyAttrs);
  if (nextStr === "html" || height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength) {
    break;
  }
  out.push(nextStr);
  len += nextStr.length;
  currentElem = currentElem.parentNode;
}
return out.reverse().join(separator);
} catch (_oO) {
return "<unknown>";
}
}
function _htmlElementAsString(el, keyAttrs) {
const elem = el;
const out = [];
let className;
let classes;
let key;
let attr;
let i;
if (!elem || !elem.tagName) {
return "";
}
if (WINDOW.HTMLElement) {
if (elem instanceof HTMLElement && elem.dataset && elem.dataset["sentryComponent"]) {
  return elem.dataset["sentryComponent"];
}
}
out.push(elem.tagName.toLowerCase());
const keyAttrPairs = keyAttrs && keyAttrs.length ? keyAttrs.filter((keyAttr) => elem.getAttribute(keyAttr)).map((keyAttr) => [keyAttr, elem.getAttribute(keyAttr)]) : null;
if (keyAttrPairs && keyAttrPairs.length) {
keyAttrPairs.forEach((keyAttrPair) => {
  out.push(`[${keyAttrPair[0]}="${keyAttrPair[1]}"]`);
});
} else {
if (elem.id) {
  out.push(`#${elem.id}`);
}
className = elem.className;
if (className && isString(className)) {
  classes = className.split(/\s+/);
  for (i = 0; i < classes.length; i++) {
    out.push(`.${classes[i]}`);
  }
}
}
const allowedAttrs = ["aria-label", "type", "name", "title", "alt"];
for (i = 0; i < allowedAttrs.length; i++) {
key = allowedAttrs[i];
attr = elem.getAttribute(key);
if (attr) {
  out.push(`[${key}="${attr}"]`);
}
}
return out.join("");
}
function getLocationHref() {
try {
return WINDOW.document.location.href;
} catch (oO) {
return "";
}
}
function getComponentName(elem) {
if (!WINDOW.HTMLElement) {
return null;
}
let currentElem = elem;
const MAX_TRAVERSE_HEIGHT = 5;
for (let i = 0; i < MAX_TRAVERSE_HEIGHT; i++) {
if (!currentElem) {
  return null;
}
if (currentElem instanceof HTMLElement && currentElem.dataset["sentryComponent"]) {
  return currentElem.dataset["sentryComponent"];
}
currentElem = currentElem.parentNode;
}
return null;
}
var WINDOW, DEFAULT_MAX_STRING_LENGTH;
var init_browser = __esm({
"node_modules/@sentry/utils/esm/browser.js"() {
init_is();
init_worldwide();
WINDOW = getGlobalObject();
DEFAULT_MAX_STRING_LENGTH = 80;
}
});

// node_modules/@sentry/utils/esm/debug-build.js
var DEBUG_BUILD;
var init_debug_build = __esm({
"node_modules/@sentry/utils/esm/debug-build.js"() {
DEBUG_BUILD = typeof __SENTRY_DEBUG__ === "undefined" || __SENTRY_DEBUG__;
}
});

// node_modules/@sentry/utils/esm/logger.js
function consoleSandbox(callback) {
if (!("console" in GLOBAL_OBJ)) {
return callback();
}
const console2 = GLOBAL_OBJ.console;
const wrappedFuncs = {};
const wrappedLevels = Object.keys(originalConsoleMethods);
wrappedLevels.forEach((level) => {
const originalConsoleMethod = originalConsoleMethods[level];
wrappedFuncs[level] = console2[level];
console2[level] = originalConsoleMethod;
});
try {
return callback();
} finally {
wrappedLevels.forEach((level) => {
  console2[level] = wrappedFuncs[level];
});
}
}
function makeLogger() {
let enabled = false;
const logger2 = {
enable: () => {
  enabled = true;
},
disable: () => {
  enabled = false;
},
isEnabled: () => enabled
};
if (DEBUG_BUILD) {
CONSOLE_LEVELS.forEach((name) => {
  logger2[name] = (...args) => {
    if (enabled) {
      consoleSandbox(() => {
        GLOBAL_OBJ.console[name](`${PREFIX}[${name}]:`, ...args);
      });
    }
  };
});
} else {
CONSOLE_LEVELS.forEach((name) => {
  logger2[name] = () => void 0;
});
}
return logger2;
}
var PREFIX, CONSOLE_LEVELS, originalConsoleMethods, logger;
var init_logger = __esm({
"node_modules/@sentry/utils/esm/logger.js"() {
init_debug_build();
init_worldwide();
PREFIX = "Sentry Logger ";
CONSOLE_LEVELS = [
  "debug",
  "info",
  "warn",
  "error",
  "log",
  "assert",
  "trace"
];
originalConsoleMethods = {};
logger = makeLogger();
}
});

// node_modules/@sentry/utils/esm/object.js
function fill(source, name, replacementFactory) {
if (!(name in source)) {
return;
}
const original = source[name];
const wrapped = replacementFactory(original);
if (typeof wrapped === "function") {
markFunctionWrapped(wrapped, original);
}
source[name] = wrapped;
}
function addNonEnumerableProperty(obj, name, value) {
try {
Object.defineProperty(obj, name, {
  // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it
  value,
  writable: true,
  configurable: true
});
} catch (o_O) {
DEBUG_BUILD && logger.log(`Failed to add non-enumerable property "${name}" to object`, obj);
}
}
function markFunctionWrapped(wrapped, original) {
try {
const proto = original.prototype || {};
wrapped.prototype = original.prototype = proto;
addNonEnumerableProperty(wrapped, "__sentry_original__", original);
} catch (o_O) {
}
}
function getOriginalFunction(func) {
return func.__sentry_original__;
}
function convertToPlainObject(value) {
if (isError(value)) {
return __spreadValues({
  message: value.message,
  name: value.name,
  stack: value.stack
}, getOwnProperties(value));
} else if (isEvent(value)) {
const newObj = __spreadValues({
  type: value.type,
  target: serializeEventTarget(value.target),
  currentTarget: serializeEventTarget(value.currentTarget)
}, getOwnProperties(value));
if (typeof CustomEvent !== "undefined" && isInstanceOf(value, CustomEvent)) {
  newObj.detail = value.detail;
}
return newObj;
} else {
return value;
}
}
function serializeEventTarget(target) {
try {
return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);
} catch (_oO) {
return "<unknown>";
}
}
function getOwnProperties(obj) {
if (typeof obj === "object" && obj !== null) {
const extractedProps = {};
for (const property in obj) {
  if (Object.prototype.hasOwnProperty.call(obj, property)) {
    extractedProps[property] = obj[property];
  }
}
return extractedProps;
} else {
return {};
}
}
function extractExceptionKeysForMessage(exception, maxLength = 40) {
const keys = Object.keys(convertToPlainObject(exception));
keys.sort();
if (!keys.length) {
return "[object has no keys]";
}
if (keys[0].length >= maxLength) {
return truncate(keys[0], maxLength);
}
for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {
const serialized = keys.slice(0, includedKeys).join(", ");
if (serialized.length > maxLength) {
  continue;
}
if (includedKeys === keys.length) {
  return serialized;
}
return truncate(serialized, maxLength);
}
return "";
}
function dropUndefinedKeys(inputValue) {
const memoizationMap = /* @__PURE__ */ new Map();
return _dropUndefinedKeys(inputValue, memoizationMap);
}
function _dropUndefinedKeys(inputValue, memoizationMap) {
if (isPojo(inputValue)) {
const memoVal = memoizationMap.get(inputValue);
if (memoVal !== void 0) {
  return memoVal;
}
const returnValue = {};
memoizationMap.set(inputValue, returnValue);
for (const key of Object.keys(inputValue)) {
  if (typeof inputValue[key] !== "undefined") {
    returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);
  }
}
return returnValue;
}
if (Array.isArray(inputValue)) {
const memoVal = memoizationMap.get(inputValue);
if (memoVal !== void 0) {
  return memoVal;
}
const returnValue = [];
memoizationMap.set(inputValue, returnValue);
inputValue.forEach((item) => {
  returnValue.push(_dropUndefinedKeys(item, memoizationMap));
});
return returnValue;
}
return inputValue;
}
function isPojo(input) {
if (!isPlainObject(input)) {
return false;
}
try {
const name = Object.getPrototypeOf(input).constructor.name;
return !name || name === "Object";
} catch (e) {
return true;
}
}
var init_object = __esm({
"node_modules/@sentry/utils/esm/object.js"() {
init_browser();
init_debug_build();
init_is();
init_logger();
init_string();
}
});

// node_modules/@sentry/utils/esm/stacktrace.js
function getFunctionName(fn) {
try {
if (!fn || typeof fn !== "function") {
  return defaultFunctionName;
}
return fn.name || defaultFunctionName;
} catch (e) {
return defaultFunctionName;
}
}
var defaultFunctionName;
var init_stacktrace = __esm({
"node_modules/@sentry/utils/esm/stacktrace.js"() {
defaultFunctionName = "<anonymous>";
}
});

// node_modules/@sentry/utils/esm/instrument/_handlers.js
function addHandler(type, handler) {
handlers[type] = handlers[type] || [];
handlers[type].push(handler);
}
function maybeInstrument(type, instrumentFn) {
if (!instrumented[type]) {
instrumentFn();
instrumented[type] = true;
}
}
function triggerHandlers(type, data) {
const typeHandlers = type && handlers[type];
if (!typeHandlers) {
return;
}
for (const handler of typeHandlers) {
try {
  handler(data);
} catch (e) {
  DEBUG_BUILD && logger.error(
    `Error while triggering instrumentation handler.
Type: ${type}
Name: ${getFunctionName(handler)}
Error:`,
    e
  );
}
}
}
var handlers, instrumented;
var init_handlers = __esm({
"node_modules/@sentry/utils/esm/instrument/_handlers.js"() {
init_debug_build();
init_logger();
init_stacktrace();
handlers = {};
instrumented = {};
}
});

// node_modules/@sentry/utils/esm/instrument/console.js
function addConsoleInstrumentationHandler(handler) {
const type = "console";
addHandler(type, handler);
maybeInstrument(type, instrumentConsole);
}
function instrumentConsole() {
if (!("console" in GLOBAL_OBJ)) {
return;
}
CONSOLE_LEVELS.forEach(function(level) {
if (!(level in GLOBAL_OBJ.console)) {
  return;
}
fill(GLOBAL_OBJ.console, level, function(originalConsoleMethod) {
  originalConsoleMethods[level] = originalConsoleMethod;
  return function(...args) {
    const handlerData = { args, level };
    triggerHandlers("console", handlerData);
    const log = originalConsoleMethods[level];
    log && log.apply(GLOBAL_OBJ.console, args);
  };
});
});
}
var init_console = __esm({
"node_modules/@sentry/utils/esm/instrument/console.js"() {
init_logger();
init_object();
init_worldwide();
init_handlers();
}
});

// node_modules/@sentry/utils/esm/misc.js
function uuid4() {
const gbl = GLOBAL_OBJ;
const crypto2 = gbl.crypto || gbl.msCrypto;
let getRandomByte = () => Math.random() * 16;
try {
if (crypto2 && crypto2.randomUUID) {
  return crypto2.randomUUID().replace(/-/g, "");
}
if (crypto2 && crypto2.getRandomValues) {
  getRandomByte = () => {
    const typedArray = new Uint8Array(1);
    crypto2.getRandomValues(typedArray);
    return typedArray[0];
  };
}
} catch (_) {
}
return ("10000000100040008000" + 1e11).replace(
/[018]/g,
(c) => (
  // eslint-disable-next-line no-bitwise
  (c ^ (getRandomByte() & 15) >> c / 4).toString(16)
)
);
}
function getFirstException(event) {
return event.exception && event.exception.values ? event.exception.values[0] : void 0;
}
function getEventDescription(event) {
const { message, event_id: eventId } = event;
if (message) {
return message;
}
const firstException = getFirstException(event);
if (firstException) {
if (firstException.type && firstException.value) {
  return `${firstException.type}: ${firstException.value}`;
}
return firstException.type || firstException.value || eventId || "<unknown>";
}
return eventId || "<unknown>";
}
function addExceptionTypeValue(event, value, type) {
const exception = event.exception = event.exception || {};
const values = exception.values = exception.values || [];
const firstException = values[0] = values[0] || {};
if (!firstException.value) {
firstException.value = value || "";
}
if (!firstException.type) {
firstException.type = type || "Error";
}
}
function addExceptionMechanism(event, newMechanism) {
const firstException = getFirstException(event);
if (!firstException) {
return;
}
const defaultMechanism = { type: "generic", handled: true };
const currentMechanism = firstException.mechanism;
firstException.mechanism = __spreadValues(__spreadValues(__spreadValues({}, defaultMechanism), currentMechanism), newMechanism);
if (newMechanism && "data" in newMechanism) {
const mergedData = __spreadValues(__spreadValues({}, currentMechanism && currentMechanism.data), newMechanism.data);
firstException.mechanism.data = mergedData;
}
}
function arrayify(maybeArray) {
return Array.isArray(maybeArray) ? maybeArray : [maybeArray];
}
var init_misc = __esm({
"node_modules/@sentry/utils/esm/misc.js"() {
init_worldwide();
}
});

// node_modules/@sentry/utils/esm/instrument/dom.js
function addClickKeypressInstrumentationHandler(handler) {
const type = "dom";
addHandler(type, handler);
maybeInstrument(type, instrumentDOM);
}
function instrumentDOM() {
if (!WINDOW2.document) {
return;
}
const triggerDOMHandler = triggerHandlers.bind(null, "dom");
const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);
WINDOW2.document.addEventListener("click", globalDOMEventHandler, false);
WINDOW2.document.addEventListener("keypress", globalDOMEventHandler, false);
["EventTarget", "Node"].forEach((target) => {
const proto = WINDOW2[target] && WINDOW2[target].prototype;
if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty("addEventListener")) {
  return;
}
fill(proto, "addEventListener", function(originalAddEventListener) {
  return function(type, listener2, options) {
    if (type === "click" || type == "keypress") {
      try {
        const el = this;
        const handlers2 = el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {};
        const handlerForType = handlers2[type] = handlers2[type] || { refCount: 0 };
        if (!handlerForType.handler) {
          const handler = makeDOMEventHandler(triggerDOMHandler);
          handlerForType.handler = handler;
          originalAddEventListener.call(this, type, handler, options);
        }
        handlerForType.refCount++;
      } catch (e) {
      }
    }
    return originalAddEventListener.call(this, type, listener2, options);
  };
});
fill(
  proto,
  "removeEventListener",
  function(originalRemoveEventListener) {
    return function(type, listener2, options) {
      if (type === "click" || type == "keypress") {
        try {
          const el = this;
          const handlers2 = el.__sentry_instrumentation_handlers__ || {};
          const handlerForType = handlers2[type];
          if (handlerForType) {
            handlerForType.refCount--;
            if (handlerForType.refCount <= 0) {
              originalRemoveEventListener.call(this, type, handlerForType.handler, options);
              handlerForType.handler = void 0;
              delete handlers2[type];
            }
            if (Object.keys(handlers2).length === 0) {
              delete el.__sentry_instrumentation_handlers__;
            }
          }
        } catch (e) {
        }
      }
      return originalRemoveEventListener.call(this, type, listener2, options);
    };
  }
);
});
}
function isSimilarToLastCapturedEvent(event) {
if (event.type !== lastCapturedEventType) {
return false;
}
try {
if (!event.target || event.target._sentryId !== lastCapturedEventTargetId) {
  return false;
}
} catch (e) {
}
return true;
}
function shouldSkipDOMEvent(eventType, target) {
if (eventType !== "keypress") {
return false;
}
if (!target || !target.tagName) {
return true;
}
if (target.tagName === "INPUT" || target.tagName === "TEXTAREA" || target.isContentEditable) {
return false;
}
return true;
}
function makeDOMEventHandler(handler, globalListener = false) {
return (event) => {
if (!event || event["_sentryCaptured"]) {
  return;
}
const target = getEventTarget(event);
if (shouldSkipDOMEvent(event.type, target)) {
  return;
}
addNonEnumerableProperty(event, "_sentryCaptured", true);
if (target && !target._sentryId) {
  addNonEnumerableProperty(target, "_sentryId", uuid4());
}
const name = event.type === "keypress" ? "input" : event.type;
if (!isSimilarToLastCapturedEvent(event)) {
  const handlerData = { event, name, global: globalListener };
  handler(handlerData);
  lastCapturedEventType = event.type;
  lastCapturedEventTargetId = target ? target._sentryId : void 0;
}
clearTimeout(debounceTimerID);
debounceTimerID = WINDOW2.setTimeout(() => {
  lastCapturedEventTargetId = void 0;
  lastCapturedEventType = void 0;
}, DEBOUNCE_DURATION);
};
}
function getEventTarget(event) {
try {
return event.target;
} catch (e) {
return null;
}
}
var WINDOW2, DEBOUNCE_DURATION, debounceTimerID, lastCapturedEventType, lastCapturedEventTargetId;
var init_dom = __esm({
"node_modules/@sentry/utils/esm/instrument/dom.js"() {
init_misc();
init_object();
init_worldwide();
init_handlers();
WINDOW2 = GLOBAL_OBJ;
DEBOUNCE_DURATION = 1e3;
}
});

// node_modules/@sentry/utils/esm/supports.js
function supportsFetch() {
if (!("fetch" in WINDOW3)) {
return false;
}
try {
new Headers();
new Request("http://www.example.com");
new Response();
return true;
} catch (e) {
return false;
}
}
function isNativeFetch(func) {
return func && /^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(func.toString());
}
function supportsNativeFetch() {
if (typeof EdgeRuntime === "string") {
return true;
}
if (!supportsFetch()) {
return false;
}
if (isNativeFetch(WINDOW3.fetch)) {
return true;
}
let result = false;
const doc = WINDOW3.document;
if (doc && typeof doc.createElement === "function") {
try {
  const sandbox = doc.createElement("iframe");
  sandbox.hidden = true;
  doc.head.appendChild(sandbox);
  if (sandbox.contentWindow && sandbox.contentWindow.fetch) {
    result = isNativeFetch(sandbox.contentWindow.fetch);
  }
  doc.head.removeChild(sandbox);
} catch (err) {
  DEBUG_BUILD && logger.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ", err);
}
}
return result;
}
var WINDOW3;
var init_supports = __esm({
"node_modules/@sentry/utils/esm/supports.js"() {
init_debug_build();
init_logger();
init_worldwide();
WINDOW3 = getGlobalObject();
}
});

// node_modules/@sentry/utils/esm/instrument/fetch.js
function addFetchInstrumentationHandler(handler) {
const type = "fetch";
addHandler(type, handler);
maybeInstrument(type, instrumentFetch);
}
function instrumentFetch() {
if (!supportsNativeFetch()) {
return;
}
fill(GLOBAL_OBJ, "fetch", function(originalFetch) {
return function(...args) {
  const { method, url } = parseFetchArgs(args);
  const handlerData = {
    args,
    fetchData: {
      method,
      url
    },
    startTimestamp: Date.now()
  };
  triggerHandlers("fetch", __spreadValues({}, handlerData));
  return originalFetch.apply(GLOBAL_OBJ, args).then(
    (response) => {
      const finishedHandlerData = __spreadProps(__spreadValues({}, handlerData), {
        endTimestamp: Date.now(),
        response
      });
      triggerHandlers("fetch", finishedHandlerData);
      return response;
    },
    (error) => {
      const erroredHandlerData = __spreadProps(__spreadValues({}, handlerData), {
        endTimestamp: Date.now(),
        error
      });
      triggerHandlers("fetch", erroredHandlerData);
      throw error;
    }
  );
};
});
}
function hasProp(obj, prop) {
return !!obj && typeof obj === "object" && !!obj[prop];
}
function getUrlFromResource(resource) {
if (typeof resource === "string") {
return resource;
}
if (!resource) {
return "";
}
if (hasProp(resource, "url")) {
return resource.url;
}
if (resource.toString) {
return resource.toString();
}
return "";
}
function parseFetchArgs(fetchArgs) {
if (fetchArgs.length === 0) {
return { method: "GET", url: "" };
}
if (fetchArgs.length === 2) {
const [url, options] = fetchArgs;
return {
  url: getUrlFromResource(url),
  method: hasProp(options, "method") ? String(options.method).toUpperCase() : "GET"
};
}
const arg = fetchArgs[0];
return {
url: getUrlFromResource(arg),
method: hasProp(arg, "method") ? String(arg.method).toUpperCase() : "GET"
};
}
var init_fetch = __esm({
"node_modules/@sentry/utils/esm/instrument/fetch.js"() {
init_object();
init_supports();
init_worldwide();
init_handlers();
}
});

// node_modules/@sentry/utils/esm/instrument/globalError.js
function addGlobalErrorInstrumentationHandler(handler) {
const type = "error";
addHandler(type, handler);
maybeInstrument(type, instrumentError);
}
function instrumentError() {
_oldOnErrorHandler = GLOBAL_OBJ.onerror;
GLOBAL_OBJ.onerror = function(msg, url, line, column, error) {
const handlerData = {
  column,
  error,
  line,
  msg,
  url
};
triggerHandlers("error", handlerData);
if (_oldOnErrorHandler && !_oldOnErrorHandler.__SENTRY_LOADER__) {
  return _oldOnErrorHandler.apply(this, arguments);
}
return false;
};
GLOBAL_OBJ.onerror.__SENTRY_INSTRUMENTED__ = true;
}
var _oldOnErrorHandler;
var init_globalError = __esm({
"node_modules/@sentry/utils/esm/instrument/globalError.js"() {
init_worldwide();
init_handlers();
_oldOnErrorHandler = null;
}
});

// node_modules/@sentry/utils/esm/instrument/globalUnhandledRejection.js
function addGlobalUnhandledRejectionInstrumentationHandler(handler) {
const type = "unhandledrejection";
addHandler(type, handler);
maybeInstrument(type, instrumentUnhandledRejection);
}
function instrumentUnhandledRejection() {
_oldOnUnhandledRejectionHandler = GLOBAL_OBJ.onunhandledrejection;
GLOBAL_OBJ.onunhandledrejection = function(e) {
const handlerData = e;
triggerHandlers("unhandledrejection", handlerData);
if (_oldOnUnhandledRejectionHandler && !_oldOnUnhandledRejectionHandler.__SENTRY_LOADER__) {
  return _oldOnUnhandledRejectionHandler.apply(this, arguments);
}
return true;
};
GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true;
}
var _oldOnUnhandledRejectionHandler;
var init_globalUnhandledRejection = __esm({
"node_modules/@sentry/utils/esm/instrument/globalUnhandledRejection.js"() {
init_worldwide();
init_handlers();
_oldOnUnhandledRejectionHandler = null;
}
});

// node_modules/@sentry/utils/esm/vendor/supportsHistory.js
function supportsHistory() {
const chrome = WINDOW4.chrome;
const isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;
const hasHistoryApi = "history" in WINDOW4 && !!WINDOW4.history.pushState && !!WINDOW4.history.replaceState;
return !isChromePackagedApp && hasHistoryApi;
}
var WINDOW4;
var init_supportsHistory = __esm({
"node_modules/@sentry/utils/esm/vendor/supportsHistory.js"() {
init_worldwide();
WINDOW4 = getGlobalObject();
}
});

// node_modules/@sentry/utils/esm/instrument/history.js
function addHistoryInstrumentationHandler(handler) {
const type = "history";
addHandler(type, handler);
maybeInstrument(type, instrumentHistory);
}
function instrumentHistory() {
if (!supportsHistory()) {
return;
}
const oldOnPopState = WINDOW5.onpopstate;
WINDOW5.onpopstate = function(...args) {
const to = WINDOW5.location.href;
const from = lastHref;
lastHref = to;
const handlerData = { from, to };
triggerHandlers("history", handlerData);
if (oldOnPopState) {
  try {
    return oldOnPopState.apply(this, args);
  } catch (_oO) {
  }
}
};
function historyReplacementFunction(originalHistoryFunction) {
return function(...args) {
  const url = args.length > 2 ? args[2] : void 0;
  if (url) {
    const from = lastHref;
    const to = String(url);
    lastHref = to;
    const handlerData = { from, to };
    triggerHandlers("history", handlerData);
  }
  return originalHistoryFunction.apply(this, args);
};
}
fill(WINDOW5.history, "pushState", historyReplacementFunction);
fill(WINDOW5.history, "replaceState", historyReplacementFunction);
}
var WINDOW5, lastHref;
var init_history = __esm({
"node_modules/@sentry/utils/esm/instrument/history.js"() {
init_object();
init_worldwide();
init_supportsHistory();
init_handlers();
WINDOW5 = GLOBAL_OBJ;
}
});

// node_modules/@sentry/utils/esm/instrument/xhr.js
function addXhrInstrumentationHandler(handler) {
const type = "xhr";
addHandler(type, handler);
maybeInstrument(type, instrumentXHR);
}
function instrumentXHR() {
if (!WINDOW6.XMLHttpRequest) {
return;
}
const xhrproto = XMLHttpRequest.prototype;
fill(xhrproto, "open", function(originalOpen) {
return function(...args) {
  const startTimestamp = Date.now();
  const method = isString(args[0]) ? args[0].toUpperCase() : void 0;
  const url = parseUrl(args[1]);
  if (!method || !url) {
    return originalOpen.apply(this, args);
  }
  this[SENTRY_XHR_DATA_KEY] = {
    method,
    url,
    request_headers: {}
  };
  if (method === "POST" && url.match(/sentry_key/)) {
    this.__sentry_own_request__ = true;
  }
  const onreadystatechangeHandler = () => {
    const xhrInfo = this[SENTRY_XHR_DATA_KEY];
    if (!xhrInfo) {
      return;
    }
    if (this.readyState === 4) {
      try {
        xhrInfo.status_code = this.status;
      } catch (e) {
      }
      const handlerData = {
        args: [method, url],
        endTimestamp: Date.now(),
        startTimestamp,
        xhr: this
      };
      triggerHandlers("xhr", handlerData);
    }
  };
  if ("onreadystatechange" in this && typeof this.onreadystatechange === "function") {
    fill(this, "onreadystatechange", function(original) {
      return function(...readyStateArgs) {
        onreadystatechangeHandler();
        return original.apply(this, readyStateArgs);
      };
    });
  } else {
    this.addEventListener("readystatechange", onreadystatechangeHandler);
  }
  fill(this, "setRequestHeader", function(original) {
    return function(...setRequestHeaderArgs) {
      const [header, value] = setRequestHeaderArgs;
      const xhrInfo = this[SENTRY_XHR_DATA_KEY];
      if (xhrInfo && isString(header) && isString(value)) {
        xhrInfo.request_headers[header.toLowerCase()] = value;
      }
      return original.apply(this, setRequestHeaderArgs);
    };
  });
  return originalOpen.apply(this, args);
};
});
fill(xhrproto, "send", function(originalSend) {
return function(...args) {
  const sentryXhrData = this[SENTRY_XHR_DATA_KEY];
  if (!sentryXhrData) {
    return originalSend.apply(this, args);
  }
  if (args[0] !== void 0) {
    sentryXhrData.body = args[0];
  }
  const handlerData = {
    args: [sentryXhrData.method, sentryXhrData.url],
    startTimestamp: Date.now(),
    xhr: this
  };
  triggerHandlers("xhr", handlerData);
  return originalSend.apply(this, args);
};
});
}
function parseUrl(url) {
if (isString(url)) {
return url;
}
try {
return url.toString();
} catch (e2) {
}
return void 0;
}
var WINDOW6, SENTRY_XHR_DATA_KEY;
var init_xhr = __esm({
"node_modules/@sentry/utils/esm/instrument/xhr.js"() {
init_is();
init_object();
init_worldwide();
init_handlers();
WINDOW6 = GLOBAL_OBJ;
SENTRY_XHR_DATA_KEY = "__sentry_xhr_v3__";
}
});

// node_modules/@sentry/utils/esm/memo.js
function memoBuilder() {
const hasWeakSet = typeof WeakSet === "function";
const inner = hasWeakSet ? /* @__PURE__ */ new WeakSet() : [];
function memoize(obj) {
if (hasWeakSet) {
  if (inner.has(obj)) {
    return true;
  }
  inner.add(obj);
  return false;
}
for (let i = 0; i < inner.length; i++) {
  const value = inner[i];
  if (value === obj) {
    return true;
  }
}
inner.push(obj);
return false;
}
function unmemoize(obj) {
if (hasWeakSet) {
  inner.delete(obj);
} else {
  for (let i = 0; i < inner.length; i++) {
    if (inner[i] === obj) {
      inner.splice(i, 1);
      break;
    }
  }
}
}
return [memoize, unmemoize];
}
var init_memo = __esm({
"node_modules/@sentry/utils/esm/memo.js"() {
}
});

// node_modules/@sentry/utils/esm/normalize.js
function normalize(input, depth = 100, maxProperties = Infinity) {
try {
return visit("", input, depth, maxProperties);
} catch (err) {
return { ERROR: `**non-serializable** (${err})` };
}
}
function normalizeToSize(object, depth = 3, maxSize = 100 * 1024) {
const normalized = normalize(object, depth);
if (jsonSize(normalized) > maxSize) {
return normalizeToSize(object, depth - 1, maxSize);
}
return normalized;
}
function visit(key, value, depth = Infinity, maxProperties = Infinity, memo = memoBuilder()) {
const [memoize, unmemoize] = memo;
if (value == null || // this matches null and undefined -> eqeq not eqeqeq
["number", "boolean", "string"].includes(typeof value) && !isNaN2(value)) {
return value;
}
const stringified = stringifyValue(key, value);
if (!stringified.startsWith("[object ")) {
return stringified;
}
if (value["__sentry_skip_normalization__"]) {
return value;
}
const remainingDepth = typeof value["__sentry_override_normalization_depth__"] === "number" ? value["__sentry_override_normalization_depth__"] : depth;
if (remainingDepth === 0) {
return stringified.replace("object ", "");
}
if (memoize(value)) {
return "[Circular ~]";
}
const valueWithToJSON = value;
if (valueWithToJSON && typeof valueWithToJSON.toJSON === "function") {
try {
  const jsonValue = valueWithToJSON.toJSON();
  return visit("", jsonValue, remainingDepth - 1, maxProperties, memo);
} catch (err) {
}
}
const normalized = Array.isArray(value) ? [] : {};
let numAdded = 0;
const visitable = convertToPlainObject(value);
for (const visitKey in visitable) {
if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {
  continue;
}
if (numAdded >= maxProperties) {
  normalized[visitKey] = "[MaxProperties ~]";
  break;
}
const visitValue = visitable[visitKey];
normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);
numAdded++;
}
unmemoize(value);
return normalized;
}
function stringifyValue(key, value) {
try {
if (key === "domain" && value && typeof value === "object" && value._events) {
  return "[Domain]";
}
if (key === "domainEmitter") {
  return "[DomainEmitter]";
}
if (typeof global !== "undefined" && value === global) {
  return "[Global]";
}
if (typeof window !== "undefined" && value === window) {
  return "[Window]";
}
if (typeof document !== "undefined" && value === document) {
  return "[Document]";
}
if (isVueViewModel(value)) {
  return "[VueViewModel]";
}
if (isSyntheticEvent(value)) {
  return "[SyntheticEvent]";
}
if (typeof value === "number" && value !== value) {
  return "[NaN]";
}
if (typeof value === "function") {
  return `[Function: ${getFunctionName(value)}]`;
}
if (typeof value === "symbol") {
  return `[${String(value)}]`;
}
if (typeof value === "bigint") {
  return `[BigInt: ${String(value)}]`;
}
const objName = getConstructorName(value);
if (/^HTML(\w*)Element$/.test(objName)) {
  return `[HTMLElement: ${objName}]`;
}
return `[object ${objName}]`;
} catch (err) {
return `**non-serializable** (${err})`;
}
}
function getConstructorName(value) {
const prototype = Object.getPrototypeOf(value);
return prototype ? prototype.constructor.name : "null prototype";
}
function utf8Length(value) {
return ~-encodeURI(value).split(/%..|./).length;
}
function jsonSize(value) {
return utf8Length(JSON.stringify(value));
}
var init_normalize = __esm({
"node_modules/@sentry/utils/esm/normalize.js"() {
init_is();
init_memo();
init_object();
init_stacktrace();
}
});

// node_modules/@sentry/utils/esm/syncpromise.js
var States, SyncPromise;
var init_syncpromise = __esm({
"node_modules/@sentry/utils/esm/syncpromise.js"() {
init_is();
(function(States2) {
  const PENDING = 0;
  States2[States2["PENDING"] = PENDING] = "PENDING";
  const RESOLVED = 1;
  States2[States2["RESOLVED"] = RESOLVED] = "RESOLVED";
  const REJECTED = 2;
  States2[States2["REJECTED"] = REJECTED] = "REJECTED";
})(States || (States = {}));
SyncPromise = class _SyncPromise {
  constructor(executor) {
    _SyncPromise.prototype.__init.call(this);
    _SyncPromise.prototype.__init2.call(this);
    _SyncPromise.prototype.__init3.call(this);
    _SyncPromise.prototype.__init4.call(this);
    this._state = States.PENDING;
    this._handlers = [];
    try {
      executor(this._resolve, this._reject);
    } catch (e) {
      this._reject(e);
    }
  }
  /** JSDoc */
  then(onfulfilled, onrejected) {
    return new _SyncPromise((resolve, reject) => {
      this._handlers.push([
        false,
        (result) => {
          if (!onfulfilled) {
            resolve(result);
          } else {
            try {
              resolve(onfulfilled(result));
            } catch (e) {
              reject(e);
            }
          }
        },
        (reason) => {
          if (!onrejected) {
            reject(reason);
          } else {
            try {
              resolve(onrejected(reason));
            } catch (e) {
              reject(e);
            }
          }
        }
      ]);
      this._executeHandlers();
    });
  }
  /** JSDoc */
  catch(onrejected) {
    return this.then((val) => val, onrejected);
  }
  /** JSDoc */
  finally(onfinally) {
    return new _SyncPromise((resolve, reject) => {
      let val;
      let isRejected;
      return this.then(
        (value) => {
          isRejected = false;
          val = value;
          if (onfinally) {
            onfinally();
          }
        },
        (reason) => {
          isRejected = true;
          val = reason;
          if (onfinally) {
            onfinally();
          }
        }
      ).then(() => {
        if (isRejected) {
          reject(val);
          return;
        }
        resolve(val);
      });
    });
  }
  /** JSDoc */
  __init() {
    this._resolve = (value) => {
      this._setResult(States.RESOLVED, value);
    };
  }
  /** JSDoc */
  __init2() {
    this._reject = (reason) => {
      this._setResult(States.REJECTED, reason);
    };
  }
  /** JSDoc */
  __init3() {
    this._setResult = (state, value) => {
      if (this._state !== States.PENDING) {
        return;
      }
      if (isThenable(value)) {
        void value.then(this._resolve, this._reject);
        return;
      }
      this._state = state;
      this._value = value;
      this._executeHandlers();
    };
  }
  /** JSDoc */
  __init4() {
    this._executeHandlers = () => {
      if (this._state === States.PENDING) {
        return;
      }
      const cachedHandlers = this._handlers.slice();
      this._handlers = [];
      cachedHandlers.forEach((handler) => {
        if (handler[0]) {
          return;
        }
        if (this._state === States.RESOLVED) {
          handler[1](this._value);
        }
        if (this._state === States.REJECTED) {
          handler[2](this._value);
        }
        handler[0] = true;
      });
    };
  }
};
}
});

// node_modules/@sentry/utils/esm/url.js
function parseUrl2(url) {
if (!url) {
return {};
}
const match = url.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);
if (!match) {
return {};
}
const query = match[6] || "";
const fragment = match[8] || "";
return {
host: match[4],
path: match[5],
protocol: match[2],
search: query,
hash: fragment,
relative: match[5] + query + fragment
// everything minus origin
};
}
var init_url = __esm({
"node_modules/@sentry/utils/esm/url.js"() {
}
});

// node_modules/@sentry/utils/esm/severity.js
function severityLevelFromString(level) {
return level === "warn" ? "warning" : validSeverityLevels.includes(level) ? level : "log";
}
var validSeverityLevels;
var init_severity = __esm({
"node_modules/@sentry/utils/esm/severity.js"() {
validSeverityLevels = ["fatal", "error", "warning", "log", "info", "debug"];
}
});

// node_modules/@sentry/utils/esm/time.js
function dateTimestampInSeconds() {
return Date.now() / ONE_SECOND_IN_MS;
}
function createUnixTimestampInSecondsFunc() {
const { performance } = GLOBAL_OBJ;
if (!performance || !performance.now) {
return dateTimestampInSeconds;
}
const approxStartingTimeOrigin = Date.now() - performance.now();
const timeOrigin = performance.timeOrigin == void 0 ? approxStartingTimeOrigin : performance.timeOrigin;
return () => {
return (timeOrigin + performance.now()) / ONE_SECOND_IN_MS;
};
}
var ONE_SECOND_IN_MS, timestampInSeconds, _browserPerformanceTimeOriginMode, browserPerformanceTimeOrigin;
var init_time = __esm({
"node_modules/@sentry/utils/esm/time.js"() {
init_worldwide();
ONE_SECOND_IN_MS = 1e3;
timestampInSeconds = createUnixTimestampInSecondsFunc();
browserPerformanceTimeOrigin = (() => {
  const { performance } = GLOBAL_OBJ;
  if (!performance || !performance.now) {
    _browserPerformanceTimeOriginMode = "none";
    return void 0;
  }
  const threshold = 3600 * 1e3;
  const performanceNow = performance.now();
  const dateNow = Date.now();
  const timeOriginDelta = performance.timeOrigin ? Math.abs(performance.timeOrigin + performanceNow - dateNow) : threshold;
  const timeOriginIsReliable = timeOriginDelta < threshold;
  const navigationStart = performance.timing && performance.timing.navigationStart;
  const hasNavigationStart = typeof navigationStart === "number";
  const navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;
  const navigationStartIsReliable = navigationStartDelta < threshold;
  if (timeOriginIsReliable || navigationStartIsReliable) {
    if (timeOriginDelta <= navigationStartDelta) {
      _browserPerformanceTimeOriginMode = "timeOrigin";
      return performance.timeOrigin;
    } else {
      _browserPerformanceTimeOriginMode = "navigationStart";
      return navigationStart;
    }
  }
  _browserPerformanceTimeOriginMode = "dateNow";
  return dateNow;
})();
}
});

// node_modules/@sentry/utils/esm/eventbuilder.js
function parseStackFrames(stackParser, error) {
return stackParser(error.stack || "", 1);
}
function exceptionFromError(stackParser, error) {
const exception = {
type: error.name || error.constructor.name,
value: error.message
};
const frames = parseStackFrames(stackParser, error);
if (frames.length) {
exception.stacktrace = { frames };
}
return exception;
}
var init_eventbuilder = __esm({
"node_modules/@sentry/utils/esm/eventbuilder.js"() {
}
});

// node_modules/@sentry/utils/esm/index.js
var init_esm = __esm({
"node_modules/@sentry/utils/esm/index.js"() {
init_aggregate_errors();
init_browser();
init_worldwide();
init_is();
init_logger();
init_misc();
init_normalize();
init_object();
init_severity();
init_stacktrace();
init_string();
init_syncpromise();
init_time();
init_url();
init_eventbuilder();
init_console();
init_dom();
init_xhr();
init_fetch();
init_history();
init_globalError();
init_globalUnhandledRejection();
}
});

// node_modules/@sentry/core/esm/debug-build.js
var DEBUG_BUILD2;
var init_debug_build2 = __esm({
"node_modules/@sentry/core/esm/debug-build.js"() {
DEBUG_BUILD2 = typeof __SENTRY_DEBUG__ === "undefined" || __SENTRY_DEBUG__;
}
});

// node_modules/@sentry/core/esm/constants.js
var DEFAULT_ENVIRONMENT;
var init_constants = __esm({
"node_modules/@sentry/core/esm/constants.js"() {
DEFAULT_ENVIRONMENT = "production";
}
});

// node_modules/@sentry/core/esm/eventProcessors.js
function getGlobalEventProcessors() {
return getGlobalSingleton("globalEventProcessors", () => []);
}
function notifyEventProcessors(processors, event, hint, index = 0) {
return new SyncPromise((resolve, reject) => {
const processor = processors[index];
if (event === null || typeof processor !== "function") {
  resolve(event);
} else {
  const result = processor(__spreadValues({}, event), hint);
  DEBUG_BUILD2 && processor.id && result === null && logger.log(`Event processor "${processor.id}" dropped event`);
  if (isThenable(result)) {
    void result.then((final) => notifyEventProcessors(processors, final, hint, index + 1).then(resolve)).then(null, reject);
  } else {
    void notifyEventProcessors(processors, result, hint, index + 1).then(resolve).then(null, reject);
  }
}
});
}
var init_eventProcessors = __esm({
"node_modules/@sentry/core/esm/eventProcessors.js"() {
init_esm();
init_debug_build2();
}
});

// node_modules/@sentry/core/esm/session.js
function makeSession(context) {
const startingTime2 = timestampInSeconds();
const session = {
sid: uuid4(),
init: true,
timestamp: startingTime2,
started: startingTime2,
duration: 0,
status: "ok",
errors: 0,
ignoreDuration: false,
toJSON: () => sessionToJSON(session)
};
if (context) {
updateSession(session, context);
}
return session;
}
function updateSession(session, context = {}) {
if (context.user) {
if (!session.ipAddress && context.user.ip_address) {
  session.ipAddress = context.user.ip_address;
}
if (!session.did && !context.did) {
  session.did = context.user.id || context.user.email || context.user.username;
}
}
session.timestamp = context.timestamp || timestampInSeconds();
if (context.abnormal_mechanism) {
session.abnormal_mechanism = context.abnormal_mechanism;
}
if (context.ignoreDuration) {
session.ignoreDuration = context.ignoreDuration;
}
if (context.sid) {
session.sid = context.sid.length === 32 ? context.sid : uuid4();
}
if (context.init !== void 0) {
session.init = context.init;
}
if (!session.did && context.did) {
session.did = `${context.did}`;
}
if (typeof context.started === "number") {
session.started = context.started;
}
if (session.ignoreDuration) {
session.duration = void 0;
} else if (typeof context.duration === "number") {
session.duration = context.duration;
} else {
const duration = session.timestamp - session.started;
session.duration = duration >= 0 ? duration : 0;
}
if (context.release) {
session.release = context.release;
}
if (context.environment) {
session.environment = context.environment;
}
if (!session.ipAddress && context.ipAddress) {
session.ipAddress = context.ipAddress;
}
if (!session.userAgent && context.userAgent) {
session.userAgent = context.userAgent;
}
if (typeof context.errors === "number") {
session.errors = context.errors;
}
if (context.status) {
session.status = context.status;
}
}
function closeSession(session, status) {
let context = {};
if (status) {
context = { status };
} else if (session.status === "ok") {
context = { status: "exited" };
}
updateSession(session, context);
}
function sessionToJSON(session) {
return dropUndefinedKeys({
sid: `${session.sid}`,
init: session.init,
// Make sure that sec is converted to ms for date constructor
started: new Date(session.started * 1e3).toISOString(),
timestamp: new Date(session.timestamp * 1e3).toISOString(),
status: session.status,
errors: session.errors,
did: typeof session.did === "number" || typeof session.did === "string" ? `${session.did}` : void 0,
duration: session.duration,
abnormal_mechanism: session.abnormal_mechanism,
attrs: {
  release: session.release,
  environment: session.environment,
  ip_address: session.ipAddress,
  user_agent: session.userAgent
}
});
}
var init_session = __esm({
"node_modules/@sentry/core/esm/session.js"() {
init_esm();
}
});

// node_modules/@sentry/core/esm/utils/spanUtils.js
function spanToTraceContext(span) {
const { spanId: span_id, traceId: trace_id } = span.spanContext();
const { data, op, parent_span_id, status, tags, origin } = spanToJSON(span);
return dropUndefinedKeys({
data,
op,
parent_span_id,
span_id,
status,
tags,
trace_id,
origin
});
}
function spanToJSON(span) {
if (spanIsSpanClass(span)) {
return span.getSpanJSON();
}
if (typeof span.toJSON === "function") {
return span.toJSON();
}
return {};
}
function spanIsSpanClass(span) {
return typeof span.getSpanJSON === "function";
}
function spanIsSampled(span) {
const { traceFlags } = span.spanContext();
return Boolean(traceFlags & TRACE_FLAG_SAMPLED);
}
var TRACE_FLAG_SAMPLED;
var init_spanUtils = __esm({
"node_modules/@sentry/core/esm/utils/spanUtils.js"() {
init_esm();
TRACE_FLAG_SAMPLED = 1;
}
});

// node_modules/@sentry/core/esm/utils/prepareEvent.js
function parseEventHintOrCaptureContext(hint) {
if (!hint) {
return void 0;
}
if (hintIsScopeOrFunction(hint)) {
return { captureContext: hint };
}
if (hintIsScopeContext(hint)) {
return {
  captureContext: hint
};
}
return hint;
}
function hintIsScopeOrFunction(hint) {
return hint instanceof Scope || typeof hint === "function";
}
function hintIsScopeContext(hint) {
return Object.keys(hint).some((key) => captureContextKeys.includes(key));
}
var captureContextKeys;
var init_prepareEvent = __esm({
"node_modules/@sentry/core/esm/utils/prepareEvent.js"() {
init_scope();
captureContextKeys = [
  "user",
  "level",
  "extra",
  "contexts",
  "tags",
  "fingerprint",
  "requestSession",
  "propagationContext"
];
}
});

// node_modules/@sentry/core/esm/exports.js
function captureException(exception, hint) {
return getCurrentHub().captureException(exception, parseEventHintOrCaptureContext(hint));
}
function captureEvent(event, hint) {
return getCurrentHub().captureEvent(event, hint);
}
function addBreadcrumb(breadcrumb, hint) {
getCurrentHub().addBreadcrumb(breadcrumb, hint);
}
function withScope(...rest) {
const hub = getCurrentHub();
if (rest.length === 2) {
const [scope, callback] = rest;
if (!scope) {
  return hub.withScope(callback);
}
return hub.withScope(() => {
  hub.getStackTop().scope = scope;
  return callback(scope);
});
}
return hub.withScope(rest[0]);
}
function getClient() {
return getCurrentHub().getClient();
}
function getCurrentScope() {
return getCurrentHub().getScope();
}
var init_exports = __esm({
"node_modules/@sentry/core/esm/exports.js"() {
init_hub();
init_prepareEvent();
}
});

// node_modules/@sentry/core/esm/utils/getRootSpan.js
function getRootSpan(span) {
return span.transaction;
}
var init_getRootSpan = __esm({
"node_modules/@sentry/core/esm/utils/getRootSpan.js"() {
}
});

// node_modules/@sentry/core/esm/tracing/dynamicSamplingContext.js
function getDynamicSamplingContextFromClient(trace_id, client, scope) {
const options = client.getOptions();
const { publicKey: public_key } = client.getDsn() || {};
const { segment: user_segment } = scope && scope.getUser() || {};
const dsc = dropUndefinedKeys({
environment: options.environment || DEFAULT_ENVIRONMENT,
release: options.release,
user_segment,
public_key,
trace_id
});
client.emit && client.emit("createDsc", dsc);
return dsc;
}
function getDynamicSamplingContextFromSpan(span) {
const client = getClient();
if (!client) {
return {};
}
const dsc = getDynamicSamplingContextFromClient(spanToJSON(span).trace_id || "", client, getCurrentScope());
const txn = getRootSpan(span);
if (!txn) {
return dsc;
}
const v7FrozenDsc = txn && txn._frozenDynamicSamplingContext;
if (v7FrozenDsc) {
return v7FrozenDsc;
}
const { sampleRate: maybeSampleRate, source } = txn.metadata;
if (maybeSampleRate != null) {
dsc.sample_rate = `${maybeSampleRate}`;
}
const jsonSpan = spanToJSON(txn);
if (source && source !== "url") {
dsc.transaction = jsonSpan.description;
}
dsc.sampled = String(spanIsSampled(txn));
client.emit && client.emit("createDsc", dsc);
return dsc;
}
var init_dynamicSamplingContext = __esm({
"node_modules/@sentry/core/esm/tracing/dynamicSamplingContext.js"() {
init_esm();
init_constants();
init_exports();
init_getRootSpan();
init_spanUtils();
}
});

// node_modules/@sentry/core/esm/utils/applyScopeDataToEvent.js
function applyScopeDataToEvent(event, data) {
const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data;
applyDataToEvent(event, data);
if (span) {
applySpanToEvent(event, span);
}
applyFingerprintToEvent(event, fingerprint);
applyBreadcrumbsToEvent(event, breadcrumbs);
applySdkMetadataToEvent(event, sdkProcessingMetadata);
}
function applyDataToEvent(event, data) {
const {
extra,
tags,
user: user2,
contexts,
level,
// eslint-disable-next-line deprecation/deprecation
transactionName
} = data;
const cleanedExtra = dropUndefinedKeys(extra);
if (cleanedExtra && Object.keys(cleanedExtra).length) {
event.extra = __spreadValues(__spreadValues({}, cleanedExtra), event.extra);
}
const cleanedTags = dropUndefinedKeys(tags);
if (cleanedTags && Object.keys(cleanedTags).length) {
event.tags = __spreadValues(__spreadValues({}, cleanedTags), event.tags);
}
const cleanedUser = dropUndefinedKeys(user2);
if (cleanedUser && Object.keys(cleanedUser).length) {
event.user = __spreadValues(__spreadValues({}, cleanedUser), event.user);
}
const cleanedContexts = dropUndefinedKeys(contexts);
if (cleanedContexts && Object.keys(cleanedContexts).length) {
event.contexts = __spreadValues(__spreadValues({}, cleanedContexts), event.contexts);
}
if (level) {
event.level = level;
}
if (transactionName) {
event.transaction = transactionName;
}
}
function applyBreadcrumbsToEvent(event, breadcrumbs) {
const mergedBreadcrumbs = [...event.breadcrumbs || [], ...breadcrumbs];
event.breadcrumbs = mergedBreadcrumbs.length ? mergedBreadcrumbs : void 0;
}
function applySdkMetadataToEvent(event, sdkProcessingMetadata) {
event.sdkProcessingMetadata = __spreadValues(__spreadValues({}, event.sdkProcessingMetadata), sdkProcessingMetadata);
}
function applySpanToEvent(event, span) {
event.contexts = __spreadValues({ trace: spanToTraceContext(span) }, event.contexts);
const rootSpan = getRootSpan(span);
if (rootSpan) {
event.sdkProcessingMetadata = __spreadValues({
  dynamicSamplingContext: getDynamicSamplingContextFromSpan(span)
}, event.sdkProcessingMetadata);
const transactionName = spanToJSON(rootSpan).description;
if (transactionName) {
  event.tags = __spreadValues({ transaction: transactionName }, event.tags);
}
}
}
function applyFingerprintToEvent(event, fingerprint) {
event.fingerprint = event.fingerprint ? arrayify(event.fingerprint) : [];
if (fingerprint) {
event.fingerprint = event.fingerprint.concat(fingerprint);
}
if (event.fingerprint && !event.fingerprint.length) {
delete event.fingerprint;
}
}
var init_applyScopeDataToEvent = __esm({
"node_modules/@sentry/core/esm/utils/applyScopeDataToEvent.js"() {
init_esm();
init_dynamicSamplingContext();
init_getRootSpan();
init_spanUtils();
}
});

// node_modules/@sentry/core/esm/scope.js
function generatePropagationContext() {
return {
traceId: uuid4(),
spanId: uuid4().substring(16)
};
}
var DEFAULT_MAX_BREADCRUMBS, Scope;
var init_scope = __esm({
"node_modules/@sentry/core/esm/scope.js"() {
init_esm();
init_eventProcessors();
init_session();
init_applyScopeDataToEvent();
DEFAULT_MAX_BREADCRUMBS = 100;
Scope = class _Scope {
  /** Flag if notifying is happening. */
  /** Callback for client to receive scope changes. */
  /** Callback list that will be called after {@link applyToEvent}. */
  /** Array of breadcrumbs. */
  /** User */
  /** Tags */
  /** Extra */
  /** Contexts */
  /** Attachments */
  /** Propagation Context for distributed tracing */
  /**
    * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get
    * sent to Sentry
    */
  /** Fingerprint */
  /** Severity */
  // eslint-disable-next-line deprecation/deprecation
  /**
    * Transaction Name
    */
  /** Span */
  /** Session */
  /** Request Mode Session Status */
  /** The client on this scope */
  // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.
  constructor() {
    this._notifyingListeners = false;
    this._scopeListeners = [];
    this._eventProcessors = [];
    this._breadcrumbs = [];
    this._attachments = [];
    this._user = {};
    this._tags = {};
    this._extra = {};
    this._contexts = {};
    this._sdkProcessingMetadata = {};
    this._propagationContext = generatePropagationContext();
  }
  /**
    * Inherit values from the parent scope.
    * @deprecated Use `scope.clone()` and `new Scope()` instead.
    */
  static clone(scope) {
    return scope ? scope.clone() : new _Scope();
  }
  /**
    * Clone this scope instance.
    */
  clone() {
    const newScope = new _Scope();
    newScope._breadcrumbs = [...this._breadcrumbs];
    newScope._tags = __spreadValues({}, this._tags);
    newScope._extra = __spreadValues({}, this._extra);
    newScope._contexts = __spreadValues({}, this._contexts);
    newScope._user = this._user;
    newScope._level = this._level;
    newScope._span = this._span;
    newScope._session = this._session;
    newScope._transactionName = this._transactionName;
    newScope._fingerprint = this._fingerprint;
    newScope._eventProcessors = [...this._eventProcessors];
    newScope._requestSession = this._requestSession;
    newScope._attachments = [...this._attachments];
    newScope._sdkProcessingMetadata = __spreadValues({}, this._sdkProcessingMetadata);
    newScope._propagationContext = __spreadValues({}, this._propagationContext);
    newScope._client = this._client;
    return newScope;
  }
  /** Update the client on the scope. */
  setClient(client) {
    this._client = client;
  }
  /**
    * Get the client assigned to this scope.
    *
    * It is generally recommended to use the global function `Sentry.getClient()` instead, unless you know what you are doing.
    */
  getClient() {
    return this._client;
  }
  /**
    * Add internal on change listener. Used for sub SDKs that need to store the scope.
    * @hidden
    */
  addScopeListener(callback) {
    this._scopeListeners.push(callback);
  }
  /**
    * @inheritDoc
    */
  addEventProcessor(callback) {
    this._eventProcessors.push(callback);
    return this;
  }
  /**
    * @inheritDoc
    */
  setUser(user2) {
    this._user = user2 || {
      email: void 0,
      id: void 0,
      ip_address: void 0,
      segment: void 0,
      username: void 0
    };
    if (this._session) {
      updateSession(this._session, { user: user2 });
    }
    this._notifyScopeListeners();
    return this;
  }
  /**
    * @inheritDoc
    */
  getUser() {
    return this._user;
  }
  /**
    * @inheritDoc
    */
  getRequestSession() {
    return this._requestSession;
  }
  /**
    * @inheritDoc
    */
  setRequestSession(requestSession) {
    this._requestSession = requestSession;
    return this;
  }
  /**
    * @inheritDoc
    */
  setTags(tags) {
    this._tags = __spreadValues(__spreadValues({}, this._tags), tags);
    this._notifyScopeListeners();
    return this;
  }
  /**
    * @inheritDoc
    */
  setTag(key, value) {
    this._tags = __spreadProps(__spreadValues({}, this._tags), { [key]: value });
    this._notifyScopeListeners();
    return this;
  }
  /**
    * @inheritDoc
    */
  setExtras(extras) {
    this._extra = __spreadValues(__spreadValues({}, this._extra), extras);
    this._notifyScopeListeners();
    return this;
  }
  /**
    * @inheritDoc
    */
  setExtra(key, extra) {
    this._extra = __spreadProps(__spreadValues({}, this._extra), { [key]: extra });
    this._notifyScopeListeners();
    return this;
  }
  /**
    * @inheritDoc
    */
  setFingerprint(fingerprint) {
    this._fingerprint = fingerprint;
    this._notifyScopeListeners();
    return this;
  }
  /**
    * @inheritDoc
    */
  setLevel(level) {
    this._level = level;
    this._notifyScopeListeners();
    return this;
  }
  /**
    * Sets the transaction name on the scope for future events.
    * @deprecated Use extra or tags instead.
    */
  setTransactionName(name) {
    this._transactionName = name;
    this._notifyScopeListeners();
    return this;
  }
  /**
    * @inheritDoc
    */
  setContext(key, context) {
    if (context === null) {
      delete this._contexts[key];
    } else {
      this._contexts[key] = context;
    }
    this._notifyScopeListeners();
    return this;
  }
  /**
    * Sets the Span on the scope.
    * @param span Span
    * @deprecated Instead of setting a span on a scope, use `startSpan()`/`startSpanManual()` instead.
    */
  setSpan(span) {
    this._span = span;
    this._notifyScopeListeners();
    return this;
  }
  /**
    * Returns the `Span` if there is one.
    * @deprecated Use `getActiveSpan()` instead.
    */
  getSpan() {
    return this._span;
  }
  /**
    * Returns the `Transaction` attached to the scope (if there is one).
    * @deprecated You should not rely on the transaction, but just use `startSpan()` APIs instead.
    */
  getTransaction() {
    const span = this._span;
    return span && span.transaction;
  }
  /**
    * @inheritDoc
    */
  setSession(session) {
    if (!session) {
      delete this._session;
    } else {
      this._session = session;
    }
    this._notifyScopeListeners();
    return this;
  }
  /**
    * @inheritDoc
    */
  getSession() {
    return this._session;
  }
  /**
    * @inheritDoc
    */
  update(captureContext) {
    if (!captureContext) {
      return this;
    }
    const scopeToMerge = typeof captureContext === "function" ? captureContext(this) : captureContext;
    if (scopeToMerge instanceof _Scope) {
      const scopeData = scopeToMerge.getScopeData();
      this._tags = __spreadValues(__spreadValues({}, this._tags), scopeData.tags);
      this._extra = __spreadValues(__spreadValues({}, this._extra), scopeData.extra);
      this._contexts = __spreadValues(__spreadValues({}, this._contexts), scopeData.contexts);
      if (scopeData.user && Object.keys(scopeData.user).length) {
        this._user = scopeData.user;
      }
      if (scopeData.level) {
        this._level = scopeData.level;
      }
      if (scopeData.fingerprint.length) {
        this._fingerprint = scopeData.fingerprint;
      }
      if (scopeToMerge.getRequestSession()) {
        this._requestSession = scopeToMerge.getRequestSession();
      }
      if (scopeData.propagationContext) {
        this._propagationContext = scopeData.propagationContext;
      }
    } else if (isPlainObject(scopeToMerge)) {
      const scopeContext = captureContext;
      this._tags = __spreadValues(__spreadValues({}, this._tags), scopeContext.tags);
      this._extra = __spreadValues(__spreadValues({}, this._extra), scopeContext.extra);
      this._contexts = __spreadValues(__spreadValues({}, this._contexts), scopeContext.contexts);
      if (scopeContext.user) {
        this._user = scopeContext.user;
      }
      if (scopeContext.level) {
        this._level = scopeContext.level;
      }
      if (scopeContext.fingerprint) {
        this._fingerprint = scopeContext.fingerprint;
      }
      if (scopeContext.requestSession) {
        this._requestSession = scopeContext.requestSession;
      }
      if (scopeContext.propagationContext) {
        this._propagationContext = scopeContext.propagationContext;
      }
    }
    return this;
  }
  /**
    * @inheritDoc
    */
  clear() {
    this._breadcrumbs = [];
    this._tags = {};
    this._extra = {};
    this._user = {};
    this._contexts = {};
    this._level = void 0;
    this._transactionName = void 0;
    this._fingerprint = void 0;
    this._requestSession = void 0;
    this._span = void 0;
    this._session = void 0;
    this._notifyScopeListeners();
    this._attachments = [];
    this._propagationContext = generatePropagationContext();
    return this;
  }
  /**
    * @inheritDoc
    */
  addBreadcrumb(breadcrumb, maxBreadcrumbs) {
    const maxCrumbs = typeof maxBreadcrumbs === "number" ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;
    if (maxCrumbs <= 0) {
      return this;
    }
    const mergedBreadcrumb = __spreadValues({
      timestamp: dateTimestampInSeconds()
    }, breadcrumb);
    const breadcrumbs = this._breadcrumbs;
    breadcrumbs.push(mergedBreadcrumb);
    this._breadcrumbs = breadcrumbs.length > maxCrumbs ? breadcrumbs.slice(-maxCrumbs) : breadcrumbs;
    this._notifyScopeListeners();
    return this;
  }
  /**
    * @inheritDoc
    */
  getLastBreadcrumb() {
    return this._breadcrumbs[this._breadcrumbs.length - 1];
  }
  /**
    * @inheritDoc
    */
  clearBreadcrumbs() {
    this._breadcrumbs = [];
    this._notifyScopeListeners();
    return this;
  }
  /**
    * @inheritDoc
    */
  addAttachment(attachment) {
    this._attachments.push(attachment);
    return this;
  }
  /**
    * @inheritDoc
    * @deprecated Use `getScopeData()` instead.
    */
  getAttachments() {
    const data = this.getScopeData();
    return data.attachments;
  }
  /**
    * @inheritDoc
    */
  clearAttachments() {
    this._attachments = [];
    return this;
  }
  /** @inheritDoc */
  getScopeData() {
    const {
      _breadcrumbs,
      _attachments,
      _contexts,
      _tags,
      _extra,
      _user,
      _level,
      _fingerprint,
      _eventProcessors,
      _propagationContext,
      _sdkProcessingMetadata,
      _transactionName,
      _span
    } = this;
    return {
      breadcrumbs: _breadcrumbs,
      attachments: _attachments,
      contexts: _contexts,
      tags: _tags,
      extra: _extra,
      user: _user,
      level: _level,
      fingerprint: _fingerprint || [],
      eventProcessors: _eventProcessors,
      propagationContext: _propagationContext,
      sdkProcessingMetadata: _sdkProcessingMetadata,
      transactionName: _transactionName,
      span: _span
    };
  }
  /**
    * Applies data from the scope to the event and runs all event processors on it.
    *
    * @param event Event
    * @param hint Object containing additional information about the original exception, for use by the event processors.
    * @hidden
    * @deprecated Use `applyScopeDataToEvent()` directly
    */
  applyToEvent(event, hint = {}, additionalEventProcessors = []) {
    applyScopeDataToEvent(event, this.getScopeData());
    const eventProcessors = [
      ...additionalEventProcessors,
      // eslint-disable-next-line deprecation/deprecation
      ...getGlobalEventProcessors(),
      ...this._eventProcessors
    ];
    return notifyEventProcessors(eventProcessors, event, hint);
  }
  /**
    * Add data which will be accessible during event processing but won't get sent to Sentry
    */
  setSDKProcessingMetadata(newData) {
    this._sdkProcessingMetadata = __spreadValues(__spreadValues({}, this._sdkProcessingMetadata), newData);
    return this;
  }
  /**
    * @inheritDoc
    */
  setPropagationContext(context) {
    this._propagationContext = context;
    return this;
  }
  /**
    * @inheritDoc
    */
  getPropagationContext() {
    return this._propagationContext;
  }
  /**
    * Capture an exception for this scope.
    *
    * @param exception The exception to capture.
    * @param hint Optinal additional data to attach to the Sentry event.
    * @returns the id of the captured Sentry event.
    */
  captureException(exception, hint) {
    const eventId = hint && hint.event_id ? hint.event_id : uuid4();
    if (!this._client) {
      logger.warn("No client configured on scope - will not capture exception!");
      return eventId;
    }
    const syntheticException = new Error("Sentry syntheticException");
    this._client.captureException(
      exception,
      __spreadProps(__spreadValues({
        originalException: exception,
        syntheticException
      }, hint), {
        event_id: eventId
      }),
      this
    );
    return eventId;
  }
  /**
    * Capture a message for this scope.
    *
    * @param message The message to capture.
    * @param level An optional severity level to report the message with.
    * @param hint Optional additional data to attach to the Sentry event.
    * @returns the id of the captured message.
    */
  captureMessage(message, level, hint) {
    const eventId = hint && hint.event_id ? hint.event_id : uuid4();
    if (!this._client) {
      logger.warn("No client configured on scope - will not capture message!");
      return eventId;
    }
    const syntheticException = new Error(message);
    this._client.captureMessage(
      message,
      level,
      __spreadProps(__spreadValues({
        originalException: message,
        syntheticException
      }, hint), {
        event_id: eventId
      }),
      this
    );
    return eventId;
  }
  /**
    * Captures a manually created event for this scope and sends it to Sentry.
    *
    * @param exception The event to capture.
    * @param hint Optional additional data to attach to the Sentry event.
    * @returns the id of the captured event.
    */
  captureEvent(event, hint) {
    const eventId = hint && hint.event_id ? hint.event_id : uuid4();
    if (!this._client) {
      logger.warn("No client configured on scope - will not capture event!");
      return eventId;
    }
    this._client.captureEvent(event, __spreadProps(__spreadValues({}, hint), { event_id: eventId }), this);
    return eventId;
  }
  /**
    * This will be called on every set call.
    */
  _notifyScopeListeners() {
    if (!this._notifyingListeners) {
      this._notifyingListeners = true;
      this._scopeListeners.forEach((callback) => {
        callback(this);
      });
      this._notifyingListeners = false;
    }
  }
};
}
});

// node_modules/@sentry/core/esm/version.js
var SDK_VERSION;
var init_version = __esm({
"node_modules/@sentry/core/esm/version.js"() {
SDK_VERSION = "7.102.0";
}
});

// node_modules/@sentry/core/esm/hub.js
function getMainCarrier() {
GLOBAL_OBJ.__SENTRY__ = GLOBAL_OBJ.__SENTRY__ || {
extensions: {},
hub: void 0
};
return GLOBAL_OBJ;
}
function makeMain(hub) {
const registry = getMainCarrier();
const oldHub = getHubFromCarrier(registry);
setHubOnCarrier(registry, hub);
return oldHub;
}
function getCurrentHub() {
const registry = getMainCarrier();
if (registry.__SENTRY__ && registry.__SENTRY__.acs) {
const hub = registry.__SENTRY__.acs.getCurrentHub();
if (hub) {
  return hub;
}
}
return getGlobalHub(registry);
}
function getGlobalHub(registry = getMainCarrier()) {
if (!hasHubOnCarrier(registry) || // eslint-disable-next-line deprecation/deprecation
getHubFromCarrier(registry).isOlderThan(API_VERSION)) {
setHubOnCarrier(registry, new Hub());
}
return getHubFromCarrier(registry);
}
function hasHubOnCarrier(carrier) {
return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);
}
function getHubFromCarrier(carrier) {
return getGlobalSingleton("hub", () => new Hub(), carrier);
}
function setHubOnCarrier(carrier, hub) {
if (!carrier)
return false;
const __SENTRY__ = carrier.__SENTRY__ = carrier.__SENTRY__ || {};
__SENTRY__.hub = hub;
return true;
}
var API_VERSION, DEFAULT_BREADCRUMBS, Hub;
var init_hub = __esm({
"node_modules/@sentry/core/esm/hub.js"() {
init_esm();
init_constants();
init_debug_build2();
init_scope();
init_session();
init_version();
API_VERSION = parseFloat(SDK_VERSION);
DEFAULT_BREADCRUMBS = 100;
Hub = class {
  /** Is a {@link Layer}[] containing the client and scope */
  /** Contains the last event id of a captured event.  */
  /**
    * Creates a new instance of the hub, will push one {@link Layer} into the
    * internal stack on creation.
    *
    * @param client bound to the hub.
    * @param scope bound to the hub.
    * @param version number, higher number means higher priority.
    *
    * @deprecated Instantiation of Hub objects is deprecated and the constructor will be removed in version 8 of the SDK.
    *
    * If you are currently using the Hub for multi-client use like so:
    *
    * ```
    * // OLD
    * const hub = new Hub();
    * hub.bindClient(client);
    * makeMain(hub)
    * ```
    *
    * instead initialize the client as follows:
    *
    * ```
    * // NEW
    * Sentry.withIsolationScope(() => {
    *    Sentry.setCurrentClient(client);
    *    client.init();
    * });
    * ```
    *
    * If you are using the Hub to capture events like so:
    *
    * ```
    * // OLD
    * const client = new Client();
    * const hub = new Hub(client);
    * hub.captureException()
    * ```
    *
    * instead capture isolated events as follows:
    *
    * ```
    * // NEW
    * const client = new Client();
    * const scope = new Scope();
    * scope.setClient(client);
    * scope.captureException();
    * ```
    */
  constructor(client, scope, isolationScope, _version = API_VERSION) {
    this._version = _version;
    let assignedScope;
    if (!scope) {
      assignedScope = new Scope();
      assignedScope.setClient(client);
    } else {
      assignedScope = scope;
    }
    let assignedIsolationScope;
    if (!isolationScope) {
      assignedIsolationScope = new Scope();
      assignedIsolationScope.setClient(client);
    } else {
      assignedIsolationScope = isolationScope;
    }
    this._stack = [{ scope: assignedScope }];
    if (client) {
      this.bindClient(client);
    }
    this._isolationScope = assignedIsolationScope;
  }
  /**
    * Checks if this hub's version is older than the given version.
    *
    * @param version A version number to compare to.
    * @return True if the given version is newer; otherwise false.
    *
    * @deprecated This will be removed in v8.
    */
  isOlderThan(version) {
    return this._version < version;
  }
  /**
    * This binds the given client to the current scope.
    * @param client An SDK client (client) instance.
    *
    * @deprecated Use `initAndBind()` directly, or `setCurrentClient()` and/or `client.init()` instead.
    */
  bindClient(client) {
    const top = this.getStackTop();
    top.client = client;
    top.scope.setClient(client);
    if (client && client.setupIntegrations) {
      client.setupIntegrations();
    }
  }
  /**
    * @inheritDoc
    *
    * @deprecated Use `withScope` instead.
    */
  pushScope() {
    const scope = this.getScope().clone();
    this.getStack().push({
      // eslint-disable-next-line deprecation/deprecation
      client: this.getClient(),
      scope
    });
    return scope;
  }
  /**
    * @inheritDoc
    *
    * @deprecated Use `withScope` instead.
    */
  popScope() {
    if (this.getStack().length <= 1)
      return false;
    return !!this.getStack().pop();
  }
  /**
    * @inheritDoc
    *
    * @deprecated Use `Sentry.withScope()` instead.
    */
  withScope(callback) {
    const scope = this.pushScope();
    let maybePromiseResult;
    try {
      maybePromiseResult = callback(scope);
    } catch (e) {
      this.popScope();
      throw e;
    }
    if (isThenable(maybePromiseResult)) {
      return maybePromiseResult.then(
        (res) => {
          this.popScope();
          return res;
        },
        (e) => {
          this.popScope();
          throw e;
        }
      );
    }
    this.popScope();
    return maybePromiseResult;
  }
  /**
    * @inheritDoc
    *
    * @deprecated Use `Sentry.getClient()` instead.
    */
  getClient() {
    return this.getStackTop().client;
  }
  /**
    * Returns the scope of the top stack.
    *
    * @deprecated Use `Sentry.getCurrentScope()` instead.
    */
  getScope() {
    return this.getStackTop().scope;
  }
  /**
    * @deprecated Use `Sentry.getIsolationScope()` instead.
    */
  getIsolationScope() {
    return this._isolationScope;
  }
  /**
    * Returns the scope stack for domains or the process.
    * @deprecated This will be removed in v8.
    */
  getStack() {
    return this._stack;
  }
  /**
    * Returns the topmost scope layer in the order domain > local > process.
    * @deprecated This will be removed in v8.
    */
  getStackTop() {
    return this._stack[this._stack.length - 1];
  }
  /**
    * @inheritDoc
    *
    * @deprecated Use `Sentry.captureException()` instead.
    */
  captureException(exception, hint) {
    const eventId = this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4();
    const syntheticException = new Error("Sentry syntheticException");
    this.getScope().captureException(exception, __spreadProps(__spreadValues({
      originalException: exception,
      syntheticException
    }, hint), {
      event_id: eventId
    }));
    return eventId;
  }
  /**
    * @inheritDoc
    *
    * @deprecated Use  `Sentry.captureMessage()` instead.
    */
  captureMessage(message, level, hint) {
    const eventId = this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4();
    const syntheticException = new Error(message);
    this.getScope().captureMessage(message, level, __spreadProps(__spreadValues({
      originalException: message,
      syntheticException
    }, hint), {
      event_id: eventId
    }));
    return eventId;
  }
  /**
    * @inheritDoc
    *
    * @deprecated Use `Sentry.captureEvent()` instead.
    */
  captureEvent(event, hint) {
    const eventId = hint && hint.event_id ? hint.event_id : uuid4();
    if (!event.type) {
      this._lastEventId = eventId;
    }
    this.getScope().captureEvent(event, __spreadProps(__spreadValues({}, hint), { event_id: eventId }));
    return eventId;
  }
  /**
    * @inheritDoc
    *
    * @deprecated This will be removed in v8.
    */
  lastEventId() {
    return this._lastEventId;
  }
  /**
    * @inheritDoc
    *
    * @deprecated Use `Sentry.addBreadcrumb()` instead.
    */
  addBreadcrumb(breadcrumb, hint) {
    const { scope, client } = this.getStackTop();
    if (!client)
      return;
    const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions && client.getOptions() || {};
    if (maxBreadcrumbs <= 0)
      return;
    const timestamp = dateTimestampInSeconds();
    const mergedBreadcrumb = __spreadValues({ timestamp }, breadcrumb);
    const finalBreadcrumb = beforeBreadcrumb ? consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) : mergedBreadcrumb;
    if (finalBreadcrumb === null)
      return;
    if (client.emit) {
      client.emit("beforeAddBreadcrumb", finalBreadcrumb, hint);
    }
    scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);
  }
  /**
    * @inheritDoc
    * @deprecated Use `Sentry.setUser()` instead.
    */
  setUser(user2) {
    this.getScope().setUser(user2);
    this.getIsolationScope().setUser(user2);
  }
  /**
    * @inheritDoc
    * @deprecated Use `Sentry.setTags()` instead.
    */
  setTags(tags) {
    this.getScope().setTags(tags);
    this.getIsolationScope().setTags(tags);
  }
  /**
    * @inheritDoc
    * @deprecated Use `Sentry.setExtras()` instead.
    */
  setExtras(extras) {
    this.getScope().setExtras(extras);
    this.getIsolationScope().setExtras(extras);
  }
  /**
    * @inheritDoc
    * @deprecated Use `Sentry.setTag()` instead.
    */
  setTag(key, value) {
    this.getScope().setTag(key, value);
    this.getIsolationScope().setTag(key, value);
  }
  /**
    * @inheritDoc
    * @deprecated Use `Sentry.setExtra()` instead.
    */
  setExtra(key, extra) {
    this.getScope().setExtra(key, extra);
    this.getIsolationScope().setExtra(key, extra);
  }
  /**
    * @inheritDoc
    * @deprecated Use `Sentry.setContext()` instead.
    */
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
  setContext(name, context) {
    this.getScope().setContext(name, context);
    this.getIsolationScope().setContext(name, context);
  }
  /**
    * @inheritDoc
    *
    * @deprecated Use `getScope()` directly.
    */
  configureScope(callback) {
    const { scope, client } = this.getStackTop();
    if (client) {
      callback(scope);
    }
  }
  /**
    * @inheritDoc
    */
  run(callback) {
    const oldHub = makeMain(this);
    try {
      callback(this);
    } finally {
      makeMain(oldHub);
    }
  }
  /**
    * @inheritDoc
    * @deprecated Use `Sentry.getClient().getIntegrationByName()` instead.
    */
  getIntegration(integration) {
    const client = this.getClient();
    if (!client)
      return null;
    try {
      return client.getIntegration(integration);
    } catch (_oO) {
      DEBUG_BUILD2 && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);
      return null;
    }
  }
  /**
    * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.
    *
    * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a
    * new child span within the transaction or any span, call the respective `.startChild()` method.
    *
    * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.
    *
    * The transaction must be finished with a call to its `.end()` method, at which point the transaction with all its
    * finished child spans will be sent to Sentry.
    *
    * @param context Properties of the new `Transaction`.
    * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent
    * default values). See {@link Options.tracesSampler}.
    *
    * @returns The transaction which was just started
    *
    * @deprecated Use `startSpan()`, `startSpanManual()` or `startInactiveSpan()` instead.
    */
  startTransaction(context, customSamplingContext) {
    const result = this._callExtensionMethod("startTransaction", context, customSamplingContext);
    if (DEBUG_BUILD2 && !result) {
      const client = this.getClient();
      if (!client) {
        logger.warn(
          "Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'"
        );
      } else {
        logger.warn(`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':
Sentry.addTracingExtensions();
Sentry.init({...});
`);
      }
    }
    return result;
  }
  /**
    * @inheritDoc
    * @deprecated Use `spanToTraceHeader()` instead.
    */
  traceHeaders() {
    return this._callExtensionMethod("traceHeaders");
  }
  /**
    * @inheritDoc
    *
    * @deprecated Use top level `captureSession` instead.
    */
  captureSession(endSession2 = false) {
    if (endSession2) {
      return this.endSession();
    }
    this._sendSessionUpdate();
  }
  /**
    * @inheritDoc
    * @deprecated Use top level `endSession` instead.
    */
  endSession() {
    const layer = this.getStackTop();
    const scope = layer.scope;
    const session = scope.getSession();
    if (session) {
      closeSession(session);
    }
    this._sendSessionUpdate();
    scope.setSession();
  }
  /**
    * @inheritDoc
    * @deprecated Use top level `startSession` instead.
    */
  startSession(context) {
    const { scope, client } = this.getStackTop();
    const { release, environment = DEFAULT_ENVIRONMENT } = client && client.getOptions() || {};
    const { userAgent } = GLOBAL_OBJ.navigator || {};
    const session = makeSession(__spreadValues(__spreadValues({
      release,
      environment,
      user: scope.getUser()
    }, userAgent && { userAgent }), context));
    const currentSession = scope.getSession && scope.getSession();
    if (currentSession && currentSession.status === "ok") {
      updateSession(currentSession, { status: "exited" });
    }
    this.endSession();
    scope.setSession(session);
    return session;
  }
  /**
    * Returns if default PII should be sent to Sentry and propagated in ourgoing requests
    * when Tracing is used.
    *
    * @deprecated Use top-level `getClient().getOptions().sendDefaultPii` instead. This function
    * only unnecessarily increased API surface but only wrapped accessing the option.
    */
  shouldSendDefaultPii() {
    const client = this.getClient();
    const options = client && client.getOptions();
    return Boolean(options && options.sendDefaultPii);
  }
  /**
    * Sends the current Session on the scope
    */
  _sendSessionUpdate() {
    const { scope, client } = this.getStackTop();
    const session = scope.getSession();
    if (session && client && client.captureSession) {
      client.captureSession(session);
    }
  }
  /**
    * Calls global extension method and binding current instance to the function call
    */
  // @ts-expect-error Function lacks ending return statement and return type does not include 'undefined'. ts(2366)
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
  _callExtensionMethod(method, ...args) {
    const carrier = getMainCarrier();
    const sentry = carrier.__SENTRY__;
    if (sentry && sentry.extensions && typeof sentry.extensions[method] === "function") {
      return sentry.extensions[method].apply(this, args);
    }
    DEBUG_BUILD2 && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);
  }
};
}
});

// node_modules/@sentry/core/esm/integration.js
function convertIntegrationFnToClass(name, fn) {
return Object.assign(
function ConvertedIntegration(...args) {
  return fn(...args);
},
{ id: name }
);
}
function defineIntegration(fn) {
return fn;
}
var init_integration = __esm({
"node_modules/@sentry/core/esm/integration.js"() {
}
});

// node_modules/@sentry/core/esm/integrations/inboundfilters.js
function _mergeOptions(internalOptions = {}, clientOptions = {}) {
return {
allowUrls: [...internalOptions.allowUrls || [], ...clientOptions.allowUrls || []],
denyUrls: [...internalOptions.denyUrls || [], ...clientOptions.denyUrls || []],
ignoreErrors: [
  ...internalOptions.ignoreErrors || [],
  ...clientOptions.ignoreErrors || [],
  ...internalOptions.disableErrorDefaults ? [] : DEFAULT_IGNORE_ERRORS
],
ignoreTransactions: [
  ...internalOptions.ignoreTransactions || [],
  ...clientOptions.ignoreTransactions || [],
  ...internalOptions.disableTransactionDefaults ? [] : DEFAULT_IGNORE_TRANSACTIONS
],
ignoreInternal: internalOptions.ignoreInternal !== void 0 ? internalOptions.ignoreInternal : true
};
}
function _shouldDropEvent(event, options) {
if (options.ignoreInternal && _isSentryError(event)) {
DEBUG_BUILD2 && logger.warn(`Event dropped due to being internal Sentry Error.
Event: ${getEventDescription(event)}`);
return true;
}
if (_isIgnoredError(event, options.ignoreErrors)) {
DEBUG_BUILD2 && logger.warn(
  `Event dropped due to being matched by \`ignoreErrors\` option.
Event: ${getEventDescription(event)}`
);
return true;
}
if (_isIgnoredTransaction(event, options.ignoreTransactions)) {
DEBUG_BUILD2 && logger.warn(
  `Event dropped due to being matched by \`ignoreTransactions\` option.
Event: ${getEventDescription(event)}`
);
return true;
}
if (_isDeniedUrl(event, options.denyUrls)) {
DEBUG_BUILD2 && logger.warn(
  `Event dropped due to being matched by \`denyUrls\` option.
Event: ${getEventDescription(
    event
  )}.
Url: ${_getEventFilterUrl(event)}`
);
return true;
}
if (!_isAllowedUrl(event, options.allowUrls)) {
DEBUG_BUILD2 && logger.warn(
  `Event dropped due to not being matched by \`allowUrls\` option.
Event: ${getEventDescription(
    event
  )}.
Url: ${_getEventFilterUrl(event)}`
);
return true;
}
return false;
}
function _isIgnoredError(event, ignoreErrors) {
if (event.type || !ignoreErrors || !ignoreErrors.length) {
return false;
}
return _getPossibleEventMessages(event).some((message) => stringMatchesSomePattern(message, ignoreErrors));
}
function _isIgnoredTransaction(event, ignoreTransactions) {
if (event.type !== "transaction" || !ignoreTransactions || !ignoreTransactions.length) {
return false;
}
const name = event.transaction;
return name ? stringMatchesSomePattern(name, ignoreTransactions) : false;
}
function _isDeniedUrl(event, denyUrls) {
if (!denyUrls || !denyUrls.length) {
return false;
}
const url = _getEventFilterUrl(event);
return !url ? false : stringMatchesSomePattern(url, denyUrls);
}
function _isAllowedUrl(event, allowUrls) {
if (!allowUrls || !allowUrls.length) {
return true;
}
const url = _getEventFilterUrl(event);
return !url ? true : stringMatchesSomePattern(url, allowUrls);
}
function _getPossibleEventMessages(event) {
const possibleMessages = [];
if (event.message) {
possibleMessages.push(event.message);
}
let lastException;
try {
lastException = event.exception.values[event.exception.values.length - 1];
} catch (e) {
}
if (lastException) {
if (lastException.value) {
  possibleMessages.push(lastException.value);
  if (lastException.type) {
    possibleMessages.push(`${lastException.type}: ${lastException.value}`);
  }
}
}
if (DEBUG_BUILD2 && possibleMessages.length === 0) {
logger.error(`Could not extract message for event ${getEventDescription(event)}`);
}
return possibleMessages;
}
function _isSentryError(event) {
try {
return event.exception.values[0].type === "SentryError";
} catch (e) {
}
return false;
}
function _getLastValidUrl(frames = []) {
for (let i = frames.length - 1; i >= 0; i--) {
const frame = frames[i];
if (frame && frame.filename !== "<anonymous>" && frame.filename !== "[native code]") {
  return frame.filename || null;
}
}
return null;
}
function _getEventFilterUrl(event) {
try {
let frames;
try {
  frames = event.exception.values[0].stacktrace.frames;
} catch (e) {
}
return frames ? _getLastValidUrl(frames) : null;
} catch (oO) {
DEBUG_BUILD2 && logger.error(`Cannot extract url for event ${getEventDescription(event)}`);
return null;
}
}
var DEFAULT_IGNORE_ERRORS, DEFAULT_IGNORE_TRANSACTIONS, INTEGRATION_NAME, _inboundFiltersIntegration, inboundFiltersIntegration, InboundFilters;
var init_inboundfilters = __esm({
"node_modules/@sentry/core/esm/integrations/inboundfilters.js"() {
init_esm();
init_debug_build2();
init_integration();
DEFAULT_IGNORE_ERRORS = [/^Script error\.?$/, /^Javascript error: Script error\.? on line 0$/];
DEFAULT_IGNORE_TRANSACTIONS = [
  /^.*\/healthcheck$/,
  /^.*\/healthy$/,
  /^.*\/live$/,
  /^.*\/ready$/,
  /^.*\/heartbeat$/,
  /^.*\/health$/,
  /^.*\/healthz$/
];
INTEGRATION_NAME = "InboundFilters";
_inboundFiltersIntegration = (options = {}) => {
  return {
    name: INTEGRATION_NAME,
    // TODO v8: Remove this
    setupOnce() {
    },
    // eslint-disable-line @typescript-eslint/no-empty-function
    processEvent(event, _hint, client) {
      const clientOptions = client.getOptions();
      const mergedOptions = _mergeOptions(options, clientOptions);
      return _shouldDropEvent(event, mergedOptions) ? null : event;
    }
  };
};
inboundFiltersIntegration = defineIntegration(_inboundFiltersIntegration);
InboundFilters = convertIntegrationFnToClass(
  INTEGRATION_NAME,
  inboundFiltersIntegration
);
}
});

// node_modules/@sentry/core/esm/integrations/functiontostring.js
var originalFunctionToString, INTEGRATION_NAME2, SETUP_CLIENTS, _functionToStringIntegration, functionToStringIntegration, FunctionToString;
var init_functiontostring = __esm({
"node_modules/@sentry/core/esm/integrations/functiontostring.js"() {
init_esm();
init_exports();
init_integration();
INTEGRATION_NAME2 = "FunctionToString";
SETUP_CLIENTS = /* @__PURE__ */ new WeakMap();
_functionToStringIntegration = () => {
  return {
    name: INTEGRATION_NAME2,
    setupOnce() {
      originalFunctionToString = Function.prototype.toString;
      try {
        Function.prototype.toString = function(...args) {
          const originalFunction = getOriginalFunction(this);
          const context = SETUP_CLIENTS.has(getClient()) && originalFunction !== void 0 ? originalFunction : this;
          return originalFunctionToString.apply(context, args);
        };
      } catch (e) {
      }
    },
    setup(client) {
      SETUP_CLIENTS.set(client, true);
    }
  };
};
functionToStringIntegration = defineIntegration(_functionToStringIntegration);
FunctionToString = convertIntegrationFnToClass(
  INTEGRATION_NAME2,
  functionToStringIntegration
);
}
});

// node_modules/@sentry/core/esm/integrations/linkederrors.js
var DEFAULT_KEY, DEFAULT_LIMIT, INTEGRATION_NAME3, _linkedErrorsIntegration, linkedErrorsIntegration, LinkedErrors;
var init_linkederrors = __esm({
"node_modules/@sentry/core/esm/integrations/linkederrors.js"() {
init_esm();
init_integration();
DEFAULT_KEY = "cause";
DEFAULT_LIMIT = 5;
INTEGRATION_NAME3 = "LinkedErrors";
_linkedErrorsIntegration = (options = {}) => {
  const limit2 = options.limit || DEFAULT_LIMIT;
  const key = options.key || DEFAULT_KEY;
  return {
    name: INTEGRATION_NAME3,
    // TODO v8: Remove this
    setupOnce() {
    },
    // eslint-disable-line @typescript-eslint/no-empty-function
    preprocessEvent(event, hint, client) {
      const options2 = client.getOptions();
      applyAggregateErrorsToEvent(
        exceptionFromError,
        options2.stackParser,
        options2.maxValueLength,
        key,
        limit2,
        event,
        hint
      );
    }
  };
};
linkedErrorsIntegration = defineIntegration(_linkedErrorsIntegration);
LinkedErrors = convertIntegrationFnToClass(INTEGRATION_NAME3, linkedErrorsIntegration);
}
});

// node_modules/@sentry/core/esm/integrations/index.js
var integrations_exports = {};
__export(integrations_exports, {
FunctionToString: () => FunctionToString,
InboundFilters: () => InboundFilters,
LinkedErrors: () => LinkedErrors
});
var init_integrations = __esm({
"node_modules/@sentry/core/esm/integrations/index.js"() {
init_functiontostring();
init_inboundfilters();
init_linkederrors();
}
});

// node_modules/@sentry/core/esm/index.js
var Integrations;
var init_esm2 = __esm({
"node_modules/@sentry/core/esm/index.js"() {
init_exports();
init_integration();
init_integrations();
Integrations = integrations_exports;
}
});

// node_modules/@sentry/browser/esm/helpers.js
function shouldIgnoreOnError() {
return ignoreOnError > 0;
}
function ignoreNextOnError() {
ignoreOnError++;
setTimeout(() => {
ignoreOnError--;
});
}
function wrap(fn, options = {}, before) {
if (typeof fn !== "function") {
return fn;
}
try {
const wrapper = fn.__sentry_wrapped__;
if (wrapper) {
  return wrapper;
}
if (getOriginalFunction(fn)) {
  return fn;
}
} catch (e) {
return fn;
}
const sentryWrapped = function() {
const args = Array.prototype.slice.call(arguments);
try {
  if (before && typeof before === "function") {
    before.apply(this, arguments);
  }
  const wrappedArguments = args.map((arg) => wrap(arg, options));
  return fn.apply(this, wrappedArguments);
} catch (ex) {
  ignoreNextOnError();
  withScope((scope) => {
    scope.addEventProcessor((event) => {
      if (options.mechanism) {
        addExceptionTypeValue(event, void 0, void 0);
        addExceptionMechanism(event, options.mechanism);
      }
      event.extra = __spreadProps(__spreadValues({}, event.extra), {
        arguments: args
      });
      return event;
    });
    captureException(ex);
  });
  throw ex;
}
};
try {
for (const property in fn) {
  if (Object.prototype.hasOwnProperty.call(fn, property)) {
    sentryWrapped[property] = fn[property];
  }
}
} catch (_oO) {
}
markFunctionWrapped(sentryWrapped, fn);
addNonEnumerableProperty(fn, "__sentry_wrapped__", sentryWrapped);
try {
const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, "name");
if (descriptor.configurable) {
  Object.defineProperty(sentryWrapped, "name", {
    get() {
      return fn.name;
    }
  });
}
} catch (_oO) {
}
return sentryWrapped;
}
var WINDOW7, ignoreOnError;
var init_helpers = __esm({
"node_modules/@sentry/browser/esm/helpers.js"() {
init_esm2();
init_esm();
WINDOW7 = GLOBAL_OBJ;
ignoreOnError = 0;
}
});

// node_modules/@sentry/browser/esm/debug-build.js
var DEBUG_BUILD3;
var init_debug_build3 = __esm({
"node_modules/@sentry/browser/esm/debug-build.js"() {
DEBUG_BUILD3 = typeof __SENTRY_DEBUG__ === "undefined" || __SENTRY_DEBUG__;
}
});

// node_modules/@sentry/browser/esm/eventbuilder.js
function exceptionFromError2(stackParser, ex) {
const frames = parseStackFrames2(stackParser, ex);
const exception = {
type: ex && ex.name,
value: extractMessage(ex)
};
if (frames.length) {
exception.stacktrace = { frames };
}
if (exception.type === void 0 && exception.value === "") {
exception.value = "Unrecoverable error caught";
}
return exception;
}
function eventFromPlainObject(stackParser, exception, syntheticException, isUnhandledRejection) {
const client = getClient();
const normalizeDepth = client && client.getOptions().normalizeDepth;
const event = {
exception: {
  values: [
    {
      type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? "UnhandledRejection" : "Error",
      value: getNonErrorObjectExceptionValue(exception, { isUnhandledRejection })
    }
  ]
},
extra: {
  __serialized__: normalizeToSize(exception, normalizeDepth)
}
};
if (syntheticException) {
const frames = parseStackFrames2(stackParser, syntheticException);
if (frames.length) {
  event.exception.values[0].stacktrace = { frames };
}
}
return event;
}
function eventFromError(stackParser, ex) {
return {
exception: {
  values: [exceptionFromError2(stackParser, ex)]
}
};
}
function parseStackFrames2(stackParser, ex) {
const stacktrace = ex.stacktrace || ex.stack || "";
const popSize = getPopSize(ex);
try {
return stackParser(stacktrace, popSize);
} catch (e) {
}
return [];
}
function getPopSize(ex) {
if (ex) {
if (typeof ex.framesToPop === "number") {
  return ex.framesToPop;
}
if (reactMinifiedRegexp.test(ex.message)) {
  return 1;
}
}
return 0;
}
function extractMessage(ex) {
const message = ex && ex.message;
if (!message) {
return "No error message";
}
if (message.error && typeof message.error.message === "string") {
return message.error.message;
}
return message;
}
function eventFromUnknownInput2(stackParser, exception, syntheticException, attachStacktrace, isUnhandledRejection) {
let event;
if (isErrorEvent(exception) && exception.error) {
const errorEvent = exception;
return eventFromError(stackParser, errorEvent.error);
}
if (isDOMError(exception) || isDOMException(exception)) {
const domException = exception;
if ("stack" in exception) {
  event = eventFromError(stackParser, exception);
} else {
  const name = domException.name || (isDOMError(domException) ? "DOMError" : "DOMException");
  const message = domException.message ? `${name}: ${domException.message}` : name;
  event = eventFromString(stackParser, message, syntheticException, attachStacktrace);
  addExceptionTypeValue(event, message);
}
if ("code" in domException) {
  event.tags = __spreadProps(__spreadValues({}, event.tags), { "DOMException.code": `${domException.code}` });
}
return event;
}
if (isError(exception)) {
return eventFromError(stackParser, exception);
}
if (isPlainObject(exception) || isEvent(exception)) {
const objectException = exception;
event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);
addExceptionMechanism(event, {
  synthetic: true
});
return event;
}
event = eventFromString(stackParser, exception, syntheticException, attachStacktrace);
addExceptionTypeValue(event, `${exception}`, void 0);
addExceptionMechanism(event, {
synthetic: true
});
return event;
}
function eventFromString(stackParser, message, syntheticException, attachStacktrace) {
const event = {};
if (attachStacktrace && syntheticException) {
const frames = parseStackFrames2(stackParser, syntheticException);
if (frames.length) {
  event.exception = {
    values: [{ value: message, stacktrace: { frames } }]
  };
}
}
if (isParameterizedString(message)) {
const { __sentry_template_string__, __sentry_template_values__ } = message;
event.logentry = {
  message: __sentry_template_string__,
  params: __sentry_template_values__
};
return event;
}
event.message = message;
return event;
}
function getNonErrorObjectExceptionValue(exception, { isUnhandledRejection }) {
const keys = extractExceptionKeysForMessage(exception);
const captureType = isUnhandledRejection ? "promise rejection" : "exception";
if (isErrorEvent(exception)) {
return `Event \`ErrorEvent\` captured as ${captureType} with message \`${exception.message}\``;
}
if (isEvent(exception)) {
const className = getObjectClassName(exception);
return `Event \`${className}\` (type=${exception.type}) captured as ${captureType}`;
}
return `Object captured as ${captureType} with keys: ${keys}`;
}
function getObjectClassName(obj) {
try {
const prototype = Object.getPrototypeOf(obj);
return prototype ? prototype.constructor.name : void 0;
} catch (e) {
}
}
var reactMinifiedRegexp;
var init_eventbuilder2 = __esm({
"node_modules/@sentry/browser/esm/eventbuilder.js"() {
init_esm2();
init_esm();
reactMinifiedRegexp = /Minified React error #\d+;/i;
}
});

// node_modules/@sentry/browser/esm/integrations/breadcrumbs.js
function _getSentryBreadcrumbHandler(client) {
return function addSentryBreadcrumb(event) {
if (getClient() !== client) {
  return;
}
addBreadcrumb(
  {
    category: `sentry.${event.type === "transaction" ? "transaction" : "event"}`,
    event_id: event.event_id,
    level: event.level,
    message: getEventDescription(event)
  },
  {
    event
  }
);
};
}
function _getDomBreadcrumbHandler(client, dom) {
return function _innerDomBreadcrumb(handlerData) {
if (getClient() !== client) {
  return;
}
let target;
let componentName;
let keyAttrs = typeof dom === "object" ? dom.serializeAttribute : void 0;
let maxStringLength = typeof dom === "object" && typeof dom.maxStringLength === "number" ? dom.maxStringLength : void 0;
if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) {
  DEBUG_BUILD3 && logger.warn(
    `\`dom.maxStringLength\` cannot exceed ${MAX_ALLOWED_STRING_LENGTH}, but a value of ${maxStringLength} was configured. Sentry will use ${MAX_ALLOWED_STRING_LENGTH} instead.`
  );
  maxStringLength = MAX_ALLOWED_STRING_LENGTH;
}
if (typeof keyAttrs === "string") {
  keyAttrs = [keyAttrs];
}
try {
  const event = handlerData.event;
  const element = _isEvent(event) ? event.target : event;
  target = htmlTreeAsString(element, { keyAttrs, maxStringLength });
  componentName = getComponentName(element);
} catch (e) {
  target = "<unknown>";
}
if (target.length === 0) {
  return;
}
const breadcrumb = {
  category: `ui.${handlerData.name}`,
  message: target
};
if (componentName) {
  breadcrumb.data = { "ui.component_name": componentName };
}
addBreadcrumb(breadcrumb, {
  event: handlerData.event,
  name: handlerData.name,
  global: handlerData.global
});
};
}
function _getConsoleBreadcrumbHandler(client) {
return function _consoleBreadcrumb(handlerData) {
if (getClient() !== client) {
  return;
}
const breadcrumb = {
  category: "console",
  data: {
    arguments: handlerData.args,
    logger: "console"
  },
  level: severityLevelFromString(handlerData.level),
  message: safeJoin(handlerData.args, " ")
};
if (handlerData.level === "assert") {
  if (handlerData.args[0] === false) {
    breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), " ") || "console.assert"}`;
    breadcrumb.data.arguments = handlerData.args.slice(1);
  } else {
    return;
  }
}
addBreadcrumb(breadcrumb, {
  input: handlerData.args,
  level: handlerData.level
});
};
}
function _getXhrBreadcrumbHandler(client) {
return function _xhrBreadcrumb(handlerData) {
if (getClient() !== client) {
  return;
}
const { startTimestamp, endTimestamp } = handlerData;
const sentryXhrData = handlerData.xhr[SENTRY_XHR_DATA_KEY];
if (!startTimestamp || !endTimestamp || !sentryXhrData) {
  return;
}
const { method, url, status_code, body } = sentryXhrData;
const data = {
  method,
  url,
  status_code
};
const hint = {
  xhr: handlerData.xhr,
  input: body,
  startTimestamp,
  endTimestamp
};
addBreadcrumb(
  {
    category: "xhr",
    data,
    type: "http"
  },
  hint
);
};
}
function _getFetchBreadcrumbHandler(client) {
return function _fetchBreadcrumb(handlerData) {
if (getClient() !== client) {
  return;
}
const { startTimestamp, endTimestamp } = handlerData;
if (!endTimestamp) {
  return;
}
if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === "POST") {
  return;
}
if (handlerData.error) {
  const data = handlerData.fetchData;
  const hint = {
    data: handlerData.error,
    input: handlerData.args,
    startTimestamp,
    endTimestamp
  };
  addBreadcrumb(
    {
      category: "fetch",
      data,
      level: "error",
      type: "http"
    },
    hint
  );
} else {
  const response = handlerData.response;
  const data = __spreadProps(__spreadValues({}, handlerData.fetchData), {
    status_code: response && response.status
  });
  const hint = {
    input: handlerData.args,
    response,
    startTimestamp,
    endTimestamp
  };
  addBreadcrumb(
    {
      category: "fetch",
      data,
      type: "http"
    },
    hint
  );
}
};
}
function _getHistoryBreadcrumbHandler(client) {
return function _historyBreadcrumb(handlerData) {
if (getClient() !== client) {
  return;
}
let from = handlerData.from;
let to = handlerData.to;
const parsedLoc = parseUrl2(WINDOW7.location.href);
let parsedFrom = from ? parseUrl2(from) : void 0;
const parsedTo = parseUrl2(to);
if (!parsedFrom || !parsedFrom.path) {
  parsedFrom = parsedLoc;
}
if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {
  to = parsedTo.relative;
}
if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {
  from = parsedFrom.relative;
}
addBreadcrumb({
  category: "navigation",
  data: {
    from,
    to
  }
});
};
}
function _isEvent(event) {
return !!event && !!event.target;
}
var MAX_ALLOWED_STRING_LENGTH, INTEGRATION_NAME4, _breadcrumbsIntegration, breadcrumbsIntegration, Breadcrumbs;
var init_breadcrumbs = __esm({
"node_modules/@sentry/browser/esm/integrations/breadcrumbs.js"() {
init_esm2();
init_esm();
init_debug_build3();
init_helpers();
MAX_ALLOWED_STRING_LENGTH = 1024;
INTEGRATION_NAME4 = "Breadcrumbs";
_breadcrumbsIntegration = (options = {}) => {
  const _options = __spreadValues({
    console: true,
    dom: true,
    fetch: true,
    history: true,
    sentry: true,
    xhr: true
  }, options);
  return {
    name: INTEGRATION_NAME4,
    // TODO v8: Remove this
    setupOnce() {
    },
    // eslint-disable-line @typescript-eslint/no-empty-function
    setup(client) {
      if (_options.console) {
        addConsoleInstrumentationHandler(_getConsoleBreadcrumbHandler(client));
      }
      if (_options.dom) {
        addClickKeypressInstrumentationHandler(_getDomBreadcrumbHandler(client, _options.dom));
      }
      if (_options.xhr) {
        addXhrInstrumentationHandler(_getXhrBreadcrumbHandler(client));
      }
      if (_options.fetch) {
        addFetchInstrumentationHandler(_getFetchBreadcrumbHandler(client));
      }
      if (_options.history) {
        addHistoryInstrumentationHandler(_getHistoryBreadcrumbHandler(client));
      }
      if (_options.sentry && client.on) {
        client.on("beforeSendEvent", _getSentryBreadcrumbHandler(client));
      }
    }
  };
};
breadcrumbsIntegration = defineIntegration(_breadcrumbsIntegration);
Breadcrumbs = convertIntegrationFnToClass(INTEGRATION_NAME4, breadcrumbsIntegration);
}
});

// node_modules/@sentry/browser/esm/integrations/dedupe.js
function _shouldDropEvent2(currentEvent, previousEvent) {
if (!previousEvent) {
return false;
}
if (_isSameMessageEvent(currentEvent, previousEvent)) {
return true;
}
if (_isSameExceptionEvent(currentEvent, previousEvent)) {
return true;
}
return false;
}
function _isSameMessageEvent(currentEvent, previousEvent) {
const currentMessage = currentEvent.message;
const previousMessage = previousEvent.message;
if (!currentMessage && !previousMessage) {
return false;
}
if (currentMessage && !previousMessage || !currentMessage && previousMessage) {
return false;
}
if (currentMessage !== previousMessage) {
return false;
}
if (!_isSameFingerprint(currentEvent, previousEvent)) {
return false;
}
if (!_isSameStacktrace(currentEvent, previousEvent)) {
return false;
}
return true;
}
function _isSameExceptionEvent(currentEvent, previousEvent) {
const previousException = _getExceptionFromEvent(previousEvent);
const currentException = _getExceptionFromEvent(currentEvent);
if (!previousException || !currentException) {
return false;
}
if (previousException.type !== currentException.type || previousException.value !== currentException.value) {
return false;
}
if (!_isSameFingerprint(currentEvent, previousEvent)) {
return false;
}
if (!_isSameStacktrace(currentEvent, previousEvent)) {
return false;
}
return true;
}
function _isSameStacktrace(currentEvent, previousEvent) {
let currentFrames = _getFramesFromEvent(currentEvent);
let previousFrames = _getFramesFromEvent(previousEvent);
if (!currentFrames && !previousFrames) {
return true;
}
if (currentFrames && !previousFrames || !currentFrames && previousFrames) {
return false;
}
currentFrames = currentFrames;
previousFrames = previousFrames;
if (previousFrames.length !== currentFrames.length) {
return false;
}
for (let i = 0; i < previousFrames.length; i++) {
const frameA = previousFrames[i];
const frameB = currentFrames[i];
if (frameA.filename !== frameB.filename || frameA.lineno !== frameB.lineno || frameA.colno !== frameB.colno || frameA.function !== frameB.function) {
  return false;
}
}
return true;
}
function _isSameFingerprint(currentEvent, previousEvent) {
let currentFingerprint = currentEvent.fingerprint;
let previousFingerprint = previousEvent.fingerprint;
if (!currentFingerprint && !previousFingerprint) {
return true;
}
if (currentFingerprint && !previousFingerprint || !currentFingerprint && previousFingerprint) {
return false;
}
currentFingerprint = currentFingerprint;
previousFingerprint = previousFingerprint;
try {
return !!(currentFingerprint.join("") === previousFingerprint.join(""));
} catch (_oO) {
return false;
}
}
function _getExceptionFromEvent(event) {
return event.exception && event.exception.values && event.exception.values[0];
}
function _getFramesFromEvent(event) {
const exception = event.exception;
if (exception) {
try {
  return exception.values[0].stacktrace.frames;
} catch (_oO) {
  return void 0;
}
}
return void 0;
}
var INTEGRATION_NAME5, _dedupeIntegration, dedupeIntegration, Dedupe;
var init_dedupe = __esm({
"node_modules/@sentry/browser/esm/integrations/dedupe.js"() {
init_esm2();
init_esm();
init_debug_build3();
INTEGRATION_NAME5 = "Dedupe";
_dedupeIntegration = () => {
  let previousEvent;
  return {
    name: INTEGRATION_NAME5,
    // TODO v8: Remove this
    setupOnce() {
    },
    // eslint-disable-line @typescript-eslint/no-empty-function
    processEvent(currentEvent) {
      if (currentEvent.type) {
        return currentEvent;
      }
      try {
        if (_shouldDropEvent2(currentEvent, previousEvent)) {
          DEBUG_BUILD3 && logger.warn("Event dropped due to being a duplicate of previously captured event.");
          return null;
        }
      } catch (_oO) {
      }
      return previousEvent = currentEvent;
    }
  };
};
dedupeIntegration = defineIntegration(_dedupeIntegration);
Dedupe = convertIntegrationFnToClass(INTEGRATION_NAME5, dedupeIntegration);
}
});

// node_modules/@sentry/browser/esm/integrations/globalhandlers.js
function _installGlobalOnErrorHandler(client) {
addGlobalErrorInstrumentationHandler((data) => {
const { stackParser, attachStacktrace } = getOptions();
if (getClient() !== client || shouldIgnoreOnError()) {
  return;
}
const { msg, url, line, column, error } = data;
const event = error === void 0 && isString(msg) ? _eventFromIncompleteOnError(msg, url, line, column) : _enhanceEventWithInitialFrame(
  eventFromUnknownInput2(stackParser, error || msg, void 0, attachStacktrace, false),
  url,
  line,
  column
);
event.level = "error";
captureEvent(event, {
  originalException: error,
  mechanism: {
    handled: false,
    type: "onerror"
  }
});
});
}
function _installGlobalOnUnhandledRejectionHandler(client) {
addGlobalUnhandledRejectionInstrumentationHandler((e) => {
const { stackParser, attachStacktrace } = getOptions();
if (getClient() !== client || shouldIgnoreOnError()) {
  return;
}
const error = _getUnhandledRejectionError(e);
const event = isPrimitive(error) ? _eventFromRejectionWithPrimitive(error) : eventFromUnknownInput2(stackParser, error, void 0, attachStacktrace, true);
event.level = "error";
captureEvent(event, {
  originalException: error,
  mechanism: {
    handled: false,
    type: "onunhandledrejection"
  }
});
});
}
function _getUnhandledRejectionError(error) {
if (isPrimitive(error)) {
return error;
}
const e = error;
try {
if ("reason" in e) {
  return e.reason;
} else if ("detail" in e && "reason" in e.detail) {
  return e.detail.reason;
}
} catch (e2) {
}
return error;
}
function _eventFromRejectionWithPrimitive(reason) {
return {
exception: {
  values: [
    {
      type: "UnhandledRejection",
      // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)
      value: `Non-Error promise rejection captured with value: ${String(reason)}`
    }
  ]
}
};
}
function _eventFromIncompleteOnError(msg, url, line, column) {
const ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
let message = isErrorEvent(msg) ? msg.message : msg;
let name = "Error";
const groups2 = message.match(ERROR_TYPES_RE);
if (groups2) {
name = groups2[1];
message = groups2[2];
}
const event = {
exception: {
  values: [
    {
      type: name,
      value: message
    }
  ]
}
};
return _enhanceEventWithInitialFrame(event, url, line, column);
}
function _enhanceEventWithInitialFrame(event, url, line, column) {
const e = event.exception = event.exception || {};
const ev = e.values = e.values || [];
const ev0 = ev[0] = ev[0] || {};
const ev0s = ev0.stacktrace = ev0.stacktrace || {};
const ev0sf = ev0s.frames = ev0s.frames || [];
const colno = isNaN(parseInt(column, 10)) ? void 0 : column;
const lineno = isNaN(parseInt(line, 10)) ? void 0 : line;
const filename = isString(url) && url.length > 0 ? url : getLocationHref();
if (ev0sf.length === 0) {
ev0sf.push({
  colno,
  filename,
  function: "?",
  in_app: true,
  lineno
});
}
return event;
}
function globalHandlerLog(type) {
DEBUG_BUILD3 && logger.log(`Global Handler attached: ${type}`);
}
function getOptions() {
const client = getClient();
const options = client && client.getOptions() || {
stackParser: () => [],
attachStacktrace: false
};
return options;
}
var INTEGRATION_NAME6, _globalHandlersIntegration, globalHandlersIntegration, GlobalHandlers;
var init_globalhandlers = __esm({
"node_modules/@sentry/browser/esm/integrations/globalhandlers.js"() {
init_esm2();
init_esm();
init_debug_build3();
init_eventbuilder2();
init_helpers();
INTEGRATION_NAME6 = "GlobalHandlers";
_globalHandlersIntegration = (options = {}) => {
  const _options = __spreadValues({
    onerror: true,
    onunhandledrejection: true
  }, options);
  return {
    name: INTEGRATION_NAME6,
    setupOnce() {
      Error.stackTraceLimit = 50;
    },
    setup(client) {
      if (_options.onerror) {
        _installGlobalOnErrorHandler(client);
        globalHandlerLog("onerror");
      }
      if (_options.onunhandledrejection) {
        _installGlobalOnUnhandledRejectionHandler(client);
        globalHandlerLog("onunhandledrejection");
      }
    }
  };
};
globalHandlersIntegration = defineIntegration(_globalHandlersIntegration);
GlobalHandlers = convertIntegrationFnToClass(
  INTEGRATION_NAME6,
  globalHandlersIntegration
);
}
});

// node_modules/@sentry/browser/esm/integrations/httpcontext.js
var INTEGRATION_NAME7, _httpContextIntegration, httpContextIntegration, HttpContext;
var init_httpcontext = __esm({
"node_modules/@sentry/browser/esm/integrations/httpcontext.js"() {
init_esm2();
init_helpers();
INTEGRATION_NAME7 = "HttpContext";
_httpContextIntegration = () => {
  return {
    name: INTEGRATION_NAME7,
    // TODO v8: Remove this
    setupOnce() {
    },
    // eslint-disable-line @typescript-eslint/no-empty-function
    preprocessEvent(event) {
      if (!WINDOW7.navigator && !WINDOW7.location && !WINDOW7.document) {
        return;
      }
      const url = event.request && event.request.url || WINDOW7.location && WINDOW7.location.href;
      const { referrer } = WINDOW7.document || {};
      const { userAgent } = WINDOW7.navigator || {};
      const headers = __spreadValues(__spreadValues(__spreadValues({}, event.request && event.request.headers), referrer && { Referer: referrer }), userAgent && { "User-Agent": userAgent });
      const request = __spreadProps(__spreadValues(__spreadValues({}, event.request), url && { url }), { headers });
      event.request = request;
    }
  };
};
httpContextIntegration = defineIntegration(_httpContextIntegration);
HttpContext = convertIntegrationFnToClass(INTEGRATION_NAME7, httpContextIntegration);
}
});

// node_modules/@sentry/browser/esm/integrations/linkederrors.js
var DEFAULT_KEY2, DEFAULT_LIMIT2, INTEGRATION_NAME8, _linkedErrorsIntegration2, linkedErrorsIntegration2, LinkedErrors2;
var init_linkederrors2 = __esm({
"node_modules/@sentry/browser/esm/integrations/linkederrors.js"() {
init_esm2();
init_esm();
init_eventbuilder2();
DEFAULT_KEY2 = "cause";
DEFAULT_LIMIT2 = 5;
INTEGRATION_NAME8 = "LinkedErrors";
_linkedErrorsIntegration2 = (options = {}) => {
  const limit2 = options.limit || DEFAULT_LIMIT2;
  const key = options.key || DEFAULT_KEY2;
  return {
    name: INTEGRATION_NAME8,
    // TODO v8: Remove this
    setupOnce() {
    },
    // eslint-disable-line @typescript-eslint/no-empty-function
    preprocessEvent(event, hint, client) {
      const options2 = client.getOptions();
      applyAggregateErrorsToEvent(
        // This differs from the LinkedErrors integration in core by using a different exceptionFromError function
        exceptionFromError2,
        options2.stackParser,
        options2.maxValueLength,
        key,
        limit2,
        event,
        hint
      );
    }
  };
};
linkedErrorsIntegration2 = defineIntegration(_linkedErrorsIntegration2);
LinkedErrors2 = convertIntegrationFnToClass(INTEGRATION_NAME8, linkedErrorsIntegration2);
}
});

// node_modules/@sentry/browser/esm/integrations/trycatch.js
function _wrapTimeFunction(original) {
return function(...args) {
const originalCallback = args[0];
args[0] = wrap(originalCallback, {
  mechanism: {
    data: { function: getFunctionName(original) },
    handled: false,
    type: "instrument"
  }
});
return original.apply(this, args);
};
}
function _wrapRAF(original) {
return function(callback) {
return original.apply(this, [
  wrap(callback, {
    mechanism: {
      data: {
        function: "requestAnimationFrame",
        handler: getFunctionName(original)
      },
      handled: false,
      type: "instrument"
    }
  })
]);
};
}
function _wrapXHR(originalSend) {
return function(...args) {
const xhr = this;
const xmlHttpRequestProps = ["onload", "onerror", "onprogress", "onreadystatechange"];
xmlHttpRequestProps.forEach((prop) => {
  if (prop in xhr && typeof xhr[prop] === "function") {
    fill(xhr, prop, function(original) {
      const wrapOptions = {
        mechanism: {
          data: {
            function: prop,
            handler: getFunctionName(original)
          },
          handled: false,
          type: "instrument"
        }
      };
      const originalFunction = getOriginalFunction(original);
      if (originalFunction) {
        wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);
      }
      return wrap(original, wrapOptions);
    });
  }
});
return originalSend.apply(this, args);
};
}
function _wrapEventTarget(target) {
const globalObject = WINDOW7;
const proto = globalObject[target] && globalObject[target].prototype;
if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty("addEventListener")) {
return;
}
fill(proto, "addEventListener", function(original) {
return function(eventName, fn, options) {
  try {
    if (typeof fn.handleEvent === "function") {
      fn.handleEvent = wrap(fn.handleEvent, {
        mechanism: {
          data: {
            function: "handleEvent",
            handler: getFunctionName(fn),
            target
          },
          handled: false,
          type: "instrument"
        }
      });
    }
  } catch (err) {
  }
  return original.apply(this, [
    eventName,
    // eslint-disable-next-line @typescript-eslint/no-explicit-any
    wrap(fn, {
      mechanism: {
        data: {
          function: "addEventListener",
          handler: getFunctionName(fn),
          target
        },
        handled: false,
        type: "instrument"
      }
    }),
    options
  ]);
};
});
fill(
proto,
"removeEventListener",
function(originalRemoveEventListener) {
  return function(eventName, fn, options) {
    const wrappedEventHandler = fn;
    try {
      const originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;
      if (originalEventHandler) {
        originalRemoveEventListener.call(this, eventName, originalEventHandler, options);
      }
    } catch (e) {
    }
    return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);
  };
}
);
}
var DEFAULT_EVENT_TARGET, INTEGRATION_NAME9, _browserApiErrorsIntegration, browserApiErrorsIntegration, TryCatch;
var init_trycatch = __esm({
"node_modules/@sentry/browser/esm/integrations/trycatch.js"() {
init_esm2();
init_esm();
init_helpers();
DEFAULT_EVENT_TARGET = [
  "EventTarget",
  "Window",
  "Node",
  "ApplicationCache",
  "AudioTrackList",
  "BroadcastChannel",
  "ChannelMergerNode",
  "CryptoOperation",
  "EventSource",
  "FileReader",
  "HTMLUnknownElement",
  "IDBDatabase",
  "IDBRequest",
  "IDBTransaction",
  "KeyOperation",
  "MediaController",
  "MessagePort",
  "ModalWindow",
  "Notification",
  "SVGElementInstance",
  "Screen",
  "SharedWorker",
  "TextTrack",
  "TextTrackCue",
  "TextTrackList",
  "WebSocket",
  "WebSocketWorker",
  "Worker",
  "XMLHttpRequest",
  "XMLHttpRequestEventTarget",
  "XMLHttpRequestUpload"
];
INTEGRATION_NAME9 = "TryCatch";
_browserApiErrorsIntegration = (options = {}) => {
  const _options = __spreadValues({
    XMLHttpRequest: true,
    eventTarget: true,
    requestAnimationFrame: true,
    setInterval: true,
    setTimeout: true
  }, options);
  return {
    name: INTEGRATION_NAME9,
    // TODO: This currently only works for the first client this is setup
    // We may want to adjust this to check for client etc.
    setupOnce() {
      if (_options.setTimeout) {
        fill(WINDOW7, "setTimeout", _wrapTimeFunction);
      }
      if (_options.setInterval) {
        fill(WINDOW7, "setInterval", _wrapTimeFunction);
      }
      if (_options.requestAnimationFrame) {
        fill(WINDOW7, "requestAnimationFrame", _wrapRAF);
      }
      if (_options.XMLHttpRequest && "XMLHttpRequest" in WINDOW7) {
        fill(XMLHttpRequest.prototype, "send", _wrapXHR);
      }
      const eventTargetOption = _options.eventTarget;
      if (eventTargetOption) {
        const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;
        eventTarget.forEach(_wrapEventTarget);
      }
    }
  };
};
browserApiErrorsIntegration = defineIntegration(_browserApiErrorsIntegration);
TryCatch = convertIntegrationFnToClass(
  INTEGRATION_NAME9,
  browserApiErrorsIntegration
);
}
});

// node_modules/@sentry/browser/esm/integrations/index.js
var integrations_exports2 = {};
__export(integrations_exports2, {
Breadcrumbs: () => Breadcrumbs,
Dedupe: () => Dedupe,
GlobalHandlers: () => GlobalHandlers,
HttpContext: () => HttpContext,
LinkedErrors: () => LinkedErrors2,
TryCatch: () => TryCatch
});
var init_integrations2 = __esm({
"node_modules/@sentry/browser/esm/integrations/index.js"() {
init_globalhandlers();
init_trycatch();
init_breadcrumbs();
init_linkederrors2();
init_httpcontext();
init_dedupe();
}
});

// node_modules/@sentry/browser/esm/index.js
var windowIntegrations, INTEGRATIONS;
var init_esm3 = __esm({
"node_modules/@sentry/browser/esm/index.js"() {
init_esm2();
init_esm2();
init_helpers();
init_integrations2();
windowIntegrations = {};
if (WINDOW7.Sentry && WINDOW7.Sentry.Integrations) {
  windowIntegrations = WINDOW7.Sentry.Integrations;
}
INTEGRATIONS = __spreadValues(__spreadValues(__spreadValues({}, windowIntegrations), Integrations), integrations_exports2);
}
});

// src/utils/event-registry.js
var addEvent, doEvent2, onEvent, onSettingsChange;
var init_event_registry = __esm({
"src/utils/event-registry.js"() {
addEvent = (eventName, eventCallback, eventScope, removeAfterFire, weight, uniqueId) => {
  if (!eventRegistry) {
    return;
  }
  eventRegistry.addEventListener(eventName, eventCallback, eventScope, removeAfterFire, weight, uniqueId);
};
doEvent2 = (eventName, params) => {
  if (!eventRegistry) {
    return;
  }
  eventRegistry.doEvent(eventName, params);
};
onEvent = (event, callback, remove = false) => {
  if (!eventRegistry) {
    return;
  }
  eventRegistry.addEventListener(event, callback, null, remove);
};
onSettingsChange = (key, callback) => {
  onEvent("mh-improved-settings-changed", (args) => {
    if (args.key !== key) {
      return;
    }
    if (typeof callback === "function") {
      callback(args);
    } else if (typeof callback === "object") {
      if (args.value) {
        callback.enable(args);
      } else {
        callback.disable(args);
      }
    }
  });
};
}
});

// src/utils/styles.js
var addStylesDirect, addModuleStyles, addStyles, removeStyles, addHudStyles, removeHudStyles;
var init_styles = __esm({
"src/utils/styles.js"() {
init_event_registry();
addStylesDirect = (styles6, identifier = "mh-utils-custom-styles", once = false) => {
  identifier = `mh-utils-${identifier}`;
  const existingStyles = document.querySelector(`#${identifier}`);
  if (existingStyles) {
    if (once) {
      return existingStyles;
    }
    existingStyles.innerHTML += styles6;
    return existingStyles;
  }
  const style = document.createElement("style");
  style.id = identifier;
  style.innerHTML = styles6;
  document.head.append(style);
  return style;
};
addModuleStyles = (styles6, identifier = "mh-improved-styles", replace = false) => {
  const existingStyles = document.querySelector(`#${identifier}`);
  styles6 = Array.isArray(styles6) ? styles6.join("\n") : styles6;
  if (existingStyles) {
    if (replace) {
      existingStyles.innerHTML = styles6;
    } else {
      existingStyles.innerHTML += styles6;
    }
    return existingStyles;
  }
  const style = document.createElement("style");
  style.id = identifier;
  style.innerHTML = styles6;
  document.head.append(style);
  return style;
};
addStyles = (styles6, module = false, identifier = "mh-improved-styles") => {
  if (!module) {
    throw new Error("Module ID is required for adding module styles.", module);
  }
  const key = `${identifier}-${module}`;
  let stylesEl = addModuleStyles(styles6, key, true);
  onEvent(`mh-improved-settings-changed-${module}`, (enabled) => {
    if (enabled) {
      stylesEl = addModuleStyles(styles6, key, true);
    } else if (stylesEl) {
      stylesEl.remove();
    }
  });
};
removeStyles = (module = false, identifier = "mh-improved-styles") => {
  if (!module) {
    throw new Error("Module ID is required for adding module styles.", module);
  }
  const key = `${identifier}-${module}`;
  const stylesEl = document.querySelector(`#${key}`);
  if (stylesEl) {
    stylesEl.remove();
  }
};
addHudStyles = (styles6) => __async(void 0, null, function* () {
  addStyles(styles6, "mh-improved-styles-location-hud", true);
});
removeHudStyles = () => {
  const styles6 = document.querySelectorAll(".mh-improved-styles-location-hud");
  styles6.forEach((style) => {
    style.remove();
  });
};
}
});

// src/utils/settings.js
var getSettingDirect, saveSettingDirect, getGroupAndKey, getSetting, deleteSetting, getSettings, saveSetting;
var init_settings = __esm({
"src/utils/settings.js"() {
getSettingDirect = (key = null, defaultValue = null, identifier = "mousehunt-improved-settings") => {
  const settings = JSON.parse(localStorage.getItem(identifier)) || {};
  if (!key) {
    return settings;
  }
  if (!key.includes(".")) {
    if (settings[key] === void 0) {
      return defaultValue;
    }
    return settings[key];
  }
  const groupAndKey = getGroupAndKey(key);
  if (!groupAndKey.group) {
    if (settings[groupAndKey.key] === void 0) {
      return defaultValue;
    }
    return settings[groupAndKey.key];
  }
  const groupSettings = settings[groupAndKey.group] || {};
  if (groupSettings[groupAndKey.key] === void 0) {
    return defaultValue;
  }
  return groupSettings[groupAndKey.key];
};
saveSettingDirect = (key, value, identifier = "mousehunt-improved-settings") => {
  const settings = getSettingDirect(null, {}, identifier);
  const groupAndKey = getGroupAndKey(key);
  if (groupAndKey.group) {
    if (!settings[groupAndKey.group]) {
      settings[groupAndKey.group] = {};
    }
    settings[groupAndKey.group][groupAndKey.key] = value;
  } else {
    settings[key] = value;
  }
  localStorage.setItem(identifier, JSON.stringify(settings));
};
getGroupAndKey = (key) => {
  const split = key.split(".");
  if (split.length === 1) {
    return {
      group: null,
      key: split[0]
    };
  }
  if (split[0] === "location-huds-enabled") {
    return {
      group: "location-huds-enabled",
      key: split[1]
    };
  }
  return {
    group: `${split[0]}-settings`,
    key: split[1]
  };
};
getSetting = (key, defaultValue = false) => {
  return getSettingDirect(key, defaultValue, "mousehunt-improved-settings");
};
deleteSetting = (key) => {
  const settings = getSettings();
  delete settings[key];
  localStorage.setItem("mousehunt-improved-settings", JSON.stringify(settings));
};
getSettings = () => {
  const settings = localStorage.getItem("mousehunt-improved-settings");
  if (!settings) {
    return {};
  }
  return JSON.parse(settings);
};
saveSetting = (key, value) => {
  saveSettingDirect(key, value, "mousehunt-improved-settings");
  return value;
};
}
});

// src/utils/styles/favorite-button.css
var favorite_button_default;
var init_favorite_button = __esm({
"src/utils/styles/favorite-button.css"() {
favorite_button_default = ".custom-favorite-button{top:0;right:0;display:inline-block;width:35px;height:35px;vertical-align:middle;background:url(https://www.mousehuntgame.com/images/ui/camp/trap/star_empty.png?asset_cache_version=2) 50% 50% no-repeat;background-size:90%;border-radius:50%}.custom-favorite-button-small{width:20px;height:20px}.custom-favorite-button:hover{background-color:#fff;background-image:url(https://www.mousehuntgame.com/images/ui/camp/trap/star_favorite.png?asset_cache_version=2);outline:2px solid #ccc}.custom-favorite-button.active{background-image:url(https://www.mousehuntgame.com/images/ui/camp/trap/star_favorite.png?asset_cache_version=2)}.custom-favorite-button.busy{background-image:url(https://www.mousehuntgame.com/images/ui/loaders/small_spinner.gif?asset_cache_version=2)}\n";
}
});

// src/utils/elements.js
var makeElement, makeButton, makeLink, makeFavoriteButton, createPopup, makeTooltip, makePage;
var init_elements = __esm({
"src/utils/elements.js"() {
init_settings();
init_styles();
init_favorite_button();
makeElement = (tag, classes = "", text = "", appendTo = null) => {
  const element = document.createElement(tag);
  if (Array.isArray(classes)) {
    classes = classes.join(" ");
  }
  if (classes && classes.length) {
    element.className = classes;
  }
  element.innerHTML = text;
  if (appendTo) {
    appendTo.append(element);
    return appendTo;
  }
  return element;
};
makeButton = (text, href, tiny = true, extraClasses = [], encodeAsSpace = false) => {
  href = href.replaceAll(/\s/g, "_");
  href = encodeAsSpace ? href.replaceAll("_", "%20") : href.replaceAll(/\s/g, "_");
  href = href.replaceAll("$", "_");
  return `<a href="${href}" class="mousehuntActionButton ${tiny ? "tiny" : ""} ${extraClasses.join(" ")}"><span>${text}</span></a>`;
};
makeLink = (text, href, encodeAsSpace = false) => {
  if (encodeAsSpace) {
    href = href.replaceAll("_", "%20");
  }
  return `<a href="${href}" target="_mouse" class="mousehuntActionButton tiny"><span>${text}</span></a>`;
};
makeFavoriteButton = (options) => __async(void 0, null, function* () {
  addStylesDirect(favorite_button_default, "mh-improved-styles-favorite-button", true);
  const {
    id = null,
    target = null,
    size = "small",
    state = false,
    isSetting = true,
    defaultState = false,
    onChange = null,
    onActivate = null,
    onDeactivate = null
  } = options;
  const existing = document.querySelector(`#${id}`);
  if (existing) {
    existing.remove();
  }
  const star = document.createElement("a");
  star.classList.add("custom-favorite-button");
  if (size === "small") {
    star.classList.add("custom-favorite-button-small");
  }
  star.id = id;
  star.setAttribute("data-item-id", id);
  star.setAttribute("href", "#");
  star.style.display = "inline-block";
  let currentSetting = false;
  currentSetting = isSetting ? getSetting(id, defaultState) : state;
  if (currentSetting) {
    star.classList.add("active");
  } else {
    star.classList.add("inactive");
  }
  star.addEventListener("click", (e) => __async(void 0, null, function* () {
    star.classList.add("busy");
    e.preventDefault();
    e.stopPropagation();
    const currentStar = e.target;
    const currentState = !currentStar.classList.contains("active");
    if (onChange !== null) {
      yield onChange(currentState);
    } else if (isSetting) {
      saveSetting(id, currentState);
    }
    currentStar.classList.remove("inactive");
    currentStar.classList.remove("active");
    if (currentState) {
      currentStar.classList.add("active");
      if (onActivate !== null) {
        yield onActivate(currentState);
      }
    } else {
      currentStar.classList.add("inactive");
      if (onDeactivate !== null) {
        yield onDeactivate(currentState);
      }
    }
    setTimeout(() => {
      currentStar.classList.remove("busy");
    }, 300);
  }));
  if (target) {
    target.append(star);
  }
  return star;
});
createPopup = (options) => {
  if ("undefined" === typeof jsDialog || !jsDialog) {
    return false;
  }
  const settings = Object.assign({}, {
    title: "",
    content: "",
    hasCloseButton: true,
    template: "default",
    show: true,
    className: ""
  }, options);
  const popup = new jsDialog();
  popup.setIsModal(!settings.hasCloseButton);
  popup.setTemplate(settings.template);
  popup.addToken("{*title*}", settings.title);
  popup.addToken("{*content*}", settings.content);
  popup.setAttributes({
    className: settings.className
  });
  if (settings.show) {
    popup.show();
  }
  return popup;
};
makeTooltip = (options) => {
  if (!options.appendTo) {
    return false;
  }
  const { appendTo, className = "", text = "" } = options;
  const tooltip = makeElement("div", ["PreferencesPage__blackTooltip", "mh-improved-tooltip", className]);
  makeElement("span", "PreferencesPage__blackTooltipText", text, tooltip);
  appendTo.append(tooltip);
  return tooltip;
};
makePage = (content) => {
  var _a, _b;
  const setContent = () => {
    const pageContainer = document.querySelector(".mousehuntHud-page-tabContentContainer");
    if (!pageContainer) {
      return;
    }
    if (typeof content === "function") {
      pageContainer.innerHTML = "";
      content(pageContainer);
    } else if (typeof content === "object" && content instanceof HTMLElement) {
      pageContainer.innerHTML = "";
      pageContainer.append(content);
    } else {
      pageContainer.innerHTML = content;
    }
  };
  if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.setPage)) {
    return;
  }
  hg.utils.PageUtil.setPage("PrivacyPolicy", {}, setContent, setContent);
};
}
});

// src/utils/styles/blueprint.css
var blueprint_default;
var init_blueprint = __esm({
"src/utils/styles/blueprint.css"() {
blueprint_default = ".mh-improved-blueprint .trapSelectorView__outerBlock{position:relative;display:flex;flex:1;flex-direction:column;gap:10px}.mh-improved-blueprint--active .mh-improved-blueprint{display:flex}\n";
}
});

// src/utils/blueprint.js
var activeBlueprint, addedEvent, toggleBlueprint;
var init_blueprint2 = __esm({
"src/utils/blueprint.js"() {
init_styles();
init_elements();
init_event_registry();
init_blueprint();
activeBlueprint = null;
addedEvent = false;
toggleBlueprint = (id, content) => {
  addStylesDirect(blueprint_default, "mh-improved-styles-blueprints", true);
  const container = document.querySelector("#mousehuntContainer");
  if (!container) {
    return;
  }
  const blueprint = document.querySelector(".trapSelectorView__blueprint");
  if (!blueprint) {
    return;
  }
  const browserStateParent = document.querySelector(".trapSelectorView__browserStateParent");
  if (!browserStateParent) {
    return;
  }
  const existing = document.querySelector(`#mh-improved-blueprint--${id}`);
  if (existing) {
    existing.remove();
  }
  const wrapper = makeElement("div", ["trapSelectorView__browserState", "trapSelectorView__browserContainer", "mh-improved-blueprint", `mh-improved-blueprint--${id}`]);
  wrapper.id = `mh-improved-blueprint--${id}`;
  const inner = makeElement("div", "trapSelectorView__outerBlock");
  inner.append(content);
  wrapper.append(inner);
  browserStateParent.append(wrapper);
  if (activeBlueprint === id) {
    activeBlueprint = null;
    container.classList.remove("showBlueprint");
    blueprint.classList.remove("trapSelectorView__blueprint--active", "mh-improved-blueprint--active");
    browserStateParent.classList.remove(`trapSelectorView__browserStateParent--${id}`);
  } else {
    const close2 = document.querySelector(".campPage-trap-blueprint-closeButton");
    if (close2) {
      close2.click();
    }
    activeBlueprint = id;
    container.classList.add("showBlueprint");
    blueprint.classList.add("trapSelectorView__blueprint--active", "mh-improved-blueprint--active");
    browserStateParent.classList.add(`trapSelectorView__browserStateParent--${id}`);
  }
  if (!addedEvent) {
    onEvent("camp_page_toggle_blueprint", () => {
      activeBlueprint = null;
    });
    addedEvent = true;
  }
};
}
});

// src/utils/db.js
var database, databaseDelete, dbGet, dbSet, dbDelete, dbGetAll, dbDeleteAll;
var init_db = __esm({
"src/utils/db.js"() {
database = (databaseName) => __async(void 0, null, function* () {
  return new Promise((resolve, reject) => {
    const request = indexedDB.open(`mh-improved-${databaseName}`, 1);
    request.onerror = (event) => {
      reject(event.target.error);
    };
    request.onsuccess = (event) => {
      resolve(event.target.result);
    };
    request.onupgradeneeded = (event) => {
      const db = event.target.result;
      if (!db.objectStoreNames.contains(databaseName)) {
        db.createObjectStore(databaseName, { keyPath: "id" });
      }
    };
  });
});
databaseDelete = (databaseName) => __async(void 0, null, function* () {
  databaseName = `mh-improved-${databaseName}`;
  return new Promise((resolve, reject) => {
    const request = indexedDB.deleteDatabase(databaseName);
    request.onerror = (event) => {
      reject(event.target.error);
    };
    request.onsuccess = (event) => {
      resolve(event.target.result);
    };
  });
});
dbGet = (databaseName, id) => __async(void 0, null, function* () {
  const db = yield database(databaseName);
  const transaction = db.transaction(databaseName, "readonly");
  transaction.onerror = (event) => {
    throw new Error(event.target.error);
  };
  const objectStore = transaction.objectStore(databaseName);
  const request = objectStore.get(id);
  return new Promise((resolve, reject) => {
    request.onsuccess = () => {
      resolve(request.result);
    };
    request.onerror = () => {
      reject(request.error);
    };
    transaction.oncomplete = () => {
      db.close();
    };
  });
});
dbSet = (databaseName, data) => __async(void 0, null, function* () {
  const db = yield database(databaseName);
  const transaction = db.transaction(databaseName, "readwrite");
  const objectStore = transaction.objectStore(databaseName);
  const request = objectStore.put(data);
  return new Promise((resolve, reject) => {
    request.onsuccess = () => {
      resolve(request.result);
    };
    request.onerror = () => {
      reject(request.error);
    };
    transaction.oncomplete = () => {
      db.close();
    };
  });
});
dbDelete = (databaseName, id) => __async(void 0, null, function* () {
  const db = yield database(databaseName);
  const transaction = db.transaction(databaseName, "readwrite");
  const objectStore = transaction.objectStore(databaseName);
  const request = objectStore.delete(id);
  return new Promise((resolve, reject) => {
    request.onsuccess = () => {
      resolve(request.result);
    };
    request.onerror = () => {
      reject(request.error);
    };
    transaction.oncomplete = () => {
      db.close();
    };
  });
});
dbGetAll = (databaseName) => __async(void 0, null, function* () {
  const db = yield database(databaseName);
  const transaction = db.transaction(databaseName, "readonly");
  const objectStore = transaction.objectStore(databaseName);
  const request = objectStore.getAll();
  return new Promise((resolve, reject) => {
    request.onsuccess = () => {
      resolve(request.result);
    };
    request.onerror = () => {
      reject(request.error);
    };
    transaction.oncomplete = () => {
      db.close();
    };
  });
});
dbDeleteAll = (databaseName) => __async(void 0, null, function* () {
  const db = yield database(databaseName);
  const transaction = db.transaction(databaseName, "readwrite");
  const objectStore = transaction.objectStore(databaseName);
  const request = objectStore.clear();
  return new Promise((resolve, reject) => {
    request.onsuccess = () => {
      resolve(request.result);
    };
    request.onerror = () => {
      reject(request.error);
    };
    transaction.oncomplete = () => {
      db.close();
    };
  });
});
}
});

// src/utils/debug.js
var debug, debuglog;
var init_debug = __esm({
"src/utils/debug.js"() {
init_settings();
debug = (message, ...args) => {
  if (getSetting("debug.module", false)) {
    console.log(
      `%cMH Improved%c: ${message}`,
      "color: #90588c; font-weight: 900",
      "color: inherit; font-weight: inherit",
      ...args
    );
  }
};
debuglog = (module, message, ...args) => {
  if (getSetting("debug.all", false) || getSetting(`debug.${module}`, false)) {
    console.log(
      `%cMH Improved %c${module}%c ${message}`,
      "color: #90588c; font-weight: 900",
      "color: #90588c; font-weight: 400",
      "color: inherit; font-weight: inherit",
      ...args
    );
  }
};
}
});

// src/utils/data.js
var validDataFiles, isValidDataFile, getCacheExpiration, setCacheExpiration, isCacheExpired, fetchData, getData, clearCaches, fillDataCaches, getHeaders2, sessionSet, sessionGet, cacheSet2, cacheGet, cacheDelete;
var init_data = __esm({
"src/utils/data.js"() {
init_db();
init_debug();
init_settings();
validDataFiles = /* @__PURE__ */ new Set([
  "effs",
  "environments-events",
  "environments",
  "items-tradable",
  "m400-locations",
  "marketplace-hidden-items",
  "mice-groups",
  "mice-regions",
  "minlucks",
  "relic-hunter-hints",
  "scoreboards",
  "ultimate-checkmark",
  "upscaled-images",
  "wisdom"
]);
isValidDataFile = (file) => {
  return validDataFiles.has(file);
};
getCacheExpiration = (key = null) => __async(void 0, null, function* () {
  return yield cacheGet(`expiration-${key}`, false);
});
setCacheExpiration = (key) => __async(void 0, null, function* () {
  debuglog("utils-data", `Setting cache expiration for ${key}`);
  cacheSet2(`expiration-${key}`, Date.now() + (Math.floor(Math.random() * 7) + 7) * 24 * 60 * 60 * 1e3);
});
isCacheExpired = (key) => __async(void 0, null, function* () {
  const expiration = yield getCacheExpiration(key);
  if (!expiration) {
    return true;
  }
  return expiration.date < Date.now();
});
fetchData = (key) => __async(void 0, null, function* () {
  const data = yield fetch(`https://api.mouse.rip/${key}`, {
    method: "GET",
    headers: getHeaders2()
  });
  return yield data.json();
});
getData = (key) => __async(void 0, null, function* () {
  if (!isValidDataFile(key)) {
    debuglog("utils-data", `Cannot get data for ${key}, invalid key`);
    return false;
  }
  const isExpired = yield isCacheExpired(key);
  if (!isExpired) {
    const cachedData = yield cacheGet(key, false);
    if (cachedData) {
      return cachedData;
    }
  }
  debuglog("utils-data", `Fetching data for ${key} ...`);
  const data = yield fetchData(key);
  debuglog("utils-data", `Fetched data for ${key}`, data);
  if (data) {
    cacheSet2(key, data);
    setCacheExpiration(key);
  }
  return data;
});
clearCaches = () => __async(void 0, null, function* () {
  validDataFiles.forEach((file) => {
    cacheDelete(file);
  });
  for (const key of Object.keys(localStorage)) {
    if (key.startsWith("mh-improved-cache")) {
      localStorage.removeItem(key);
    }
  }
  for (const key of Object.keys(sessionStorage)) {
    if (key.startsWith("mh-improved")) {
      sessionStorage.removeItem(key);
    }
  }
  dbDelete("cache", "expirations");
});
fillDataCaches = () => __async(void 0, null, function* () {
  validDataFiles.forEach((file) => __async(void 0, null, function* () {
    yield getData(file);
  }));
});
getHeaders2 = () => {
  return {
    "Content-Type": "application/json",
    "X-MH-Improved": "true",
    "X-MH-Improved-Version": mhImprovedVersion,
    "X-MH-Improved-Platform": mhImprovedPlatform
  };
};
sessionSet = (key, value, retry = false) => {
  if (getSetting("debug.no-cache")) {
    return;
  }
  key = `mh-improved-${key}`;
  const stringified = JSON.stringify(value);
  try {
    sessionStorage.setItem(key, stringified);
  } catch (error) {
    if ("QuotaExceededError" === error.name && !retry) {
      clearCaches();
      sessionSet(key, value, true);
    }
  }
};
sessionGet = (key, defaultValue = false) => {
  if (getSetting("debug.no-cache")) {
    return defaultValue;
  }
  key = `mh-improved-${key}`;
  const value = sessionStorage.getItem(key);
  if (!value) {
    return defaultValue;
  }
  return JSON.parse(value);
};
cacheSet2 = (key, value) => {
  dbSet("cache", { id: key, value });
};
cacheGet = (key, defaultValue = false) => __async(void 0, null, function* () {
  const cached = yield dbGet("cache", key);
  if (!cached) {
    return defaultValue;
  }
  return cached.value;
});
cacheDelete = (key) => {
  dbDelete("cache", key);
};
}
});

// src/utils/draggable.js
var makeElementDraggable;
var init_draggable = __esm({
"src/utils/draggable.js"() {
makeElementDraggable = (dragTarget, dragHandle, defaultX = null, defaultY = null, storageKey = null, savePosition = true) => {
  const modal = document.querySelector(dragTarget);
  if (!modal) {
    return;
  }
  const handle = document.querySelector(dragHandle);
  if (!handle) {
    return;
  }
  const keepWithinLimits = (type, value) => {
    if ("top" === type) {
      return value < -20 ? -20 : value;
    }
    if (value < handle.offsetWidth * -1 + 20) {
      return handle.offsetWidth * -1 + 20;
    }
    if (value > document.body.clientWidth - 20) {
      return document.body.clientWidth - 20;
    }
    return value;
  };
  const onMouseDown = (e) => {
    e.preventDefault();
    setTimeout(() => {
      x1 = e.clientX;
      y1 = e.clientY;
      modal.classList.add("mh-is-dragging");
      document.onmousemove = onDrag;
      document.onmouseup = finishDrag;
    }, 50);
  };
  const finishDrag = () => {
    document.onmouseup = null;
    document.onmousemove = null;
    modal.classList.remove("mh-is-dragging");
    if (storageKey) {
      localStorage.setItem(storageKey, JSON.stringify({ x: modal.offsetLeft, y: modal.offsetTop }));
    }
  };
  const onDrag = (e) => {
    e.preventDefault();
    x2 = x1 - e.clientX;
    y2 = y1 - e.clientY;
    x1 = e.clientX;
    y1 = e.clientY;
    const newLeft = keepWithinLimits("left", modal.offsetLeft - x2);
    const newTop = keepWithinLimits("top", modal.offsetTop - y2);
    modal.style.left = `${newLeft}px`;
    modal.style.top = `${newTop}px`;
  };
  let startX = defaultX || 0;
  let startY2 = defaultY || 0;
  if (!storageKey) {
    storageKey = `mh-draggable-${dragTarget}-${dragHandle}`;
  }
  if (savePosition) {
    const storedPosition = localStorage.getItem(storageKey);
    if (storedPosition) {
      const position = JSON.parse(storedPosition);
      startX = keepWithinLimits("left", position.x);
      startY2 = keepWithinLimits("top", position.y);
    }
  }
  modal.style.left = `${startX}px`;
  modal.style.top = `${startY2}px`;
  let x1 = 0, y1 = 0, x2 = 0, y2 = 0;
  handle.onmousedown = onMouseDown;
};
}
});

// src/utils/page.js
var getCurrentPage, setPage, setTab, getCurrentTab, getCurrentSubtab, getCurrentDialog, isCurrentPage;
var init_page = __esm({
"src/utils/page.js"() {
getCurrentPage = () => {
  var _a, _b;
  if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.getCurrentPage)) {
    return null;
  }
  const page = hg.utils.PageUtil.getCurrentPage();
  if (!page) {
    return null;
  }
  return page.toLowerCase();
};
setPage = (page, ...args) => {
  var _a, _b;
  if ("wiki" === page.toLowerCase()) {
    doEvent("mh-improved-open-wiki");
    return;
  }
  page = page.charAt(0).toUpperCase() + page.slice(1);
  if ((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.setPage) {
    hg.utils.PageUtil.setPage(page, ...args);
  }
};
setTab = (tab, ...args) => {
  var _a, _b;
  if ((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.setPageTab) {
    hg.utils.PageUtil.setPageTab(tab, ...args);
  }
};
getCurrentTab = () => {
  var _a, _b;
  if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.getCurrentPageTab)) {
    return getCurrentPage();
  }
  const tab = hg.utils.PageUtil.getCurrentPageTab() || "";
  if (tab.length <= 0) {
    return getCurrentPage();
  }
  return tab.toLowerCase();
};
getCurrentSubtab = () => {
  const subtab = hg.utils.PageUtil.getCurrentPageSubTab();
  if (!subtab || subtab.length <= 0) {
    return getCurrentTab();
  }
  return subtab.toLowerCase();
};
getCurrentDialog = () => {
  const overlay = document.querySelector("#overlayPopup");
  if (overlay && overlay.classList.length <= 0) {
    return null;
  }
  let overlayType = overlay.classList.value;
  overlayType = overlayType.replace("jsDialogFixed", "");
  overlayType = overlayType.replace("default", "");
  overlayType = overlayType.replace("wide", "");
  overlayType = overlayType.replace("ajax", "");
  overlayType = overlayType.replace("overlay", "");
  overlayType = overlayType.replace("treasureMapPopup", "map");
  overlayType = overlayType.replace("itemViewPopup", "item");
  overlayType = overlayType.replace("mouseViewPopup", "mouse");
  overlayType = overlayType.replace("largerImage", "image");
  overlayType = overlayType.replace("convertibleOpenViewPopup", "convertible");
  overlayType = overlayType.replace("adventureBookPopup", "adventureBook");
  overlayType = overlayType.replace("marketplaceViewPopup", "marketplace");
  overlayType = overlayType.replace("giftSelectorViewPopup", "gifts");
  overlayType = overlayType.replace("supportPageContactUsForm", "support");
  overlayType = overlayType.replace("MHCheckout", "premiumShop");
  overlayType = overlayType.trim();
  if ("Popup" === overlayType) {
    return false;
  }
  return overlayType;
};
isCurrentPage = (targetPage = null, targetTab = null, targetSubtab = null, forceCurrentPage = null, forceCurrentTab = null, forceCurrentSubtab = null) => {
  if (!targetPage) {
    return false;
  }
  const currentPage2 = forceCurrentPage || getCurrentPage();
  if (!targetTab) {
    return currentPage2 === targetPage;
  }
  const currentTab = forceCurrentTab || getCurrentTab();
  if (!targetSubtab) {
    return currentPage2 === targetPage && currentTab === targetTab;
  }
  const currentSubtab = forceCurrentSubtab || getCurrentSubtab();
  if (currentSubtab === currentTab) {
    return currentPage2 === targetPage && currentTab === targetTab;
  }
  return currentPage2 === targetPage && currentTab === targetTab && currentSubtab === targetSubtab;
};
}
});

// src/utils/location.js
var getCurrentLocation, getRelicHunterLocation, travelTo;
var init_location = __esm({
"src/utils/location.js"() {
init_data();
getCurrentLocation = () => {
  const location = (user == null ? void 0 : user.environment_type) || "";
  return location.toLowerCase();
};
getRelicHunterLocation = () => {
  const cacheExpiry = 5 * 60 * 1e3;
  const cacheKey = "mh-improved-relic-hunter-location";
  let cached = sessionGet(cacheKey);
  if (cached) {
    cached = JSON.parse(cached);
  }
  if (cached && cached.expiry > Date.now()) {
    return cached.data;
  }
  return fetch("https://rh-api.mouse.rip/", { headers: getHeaders2() }).then((response) => response.json()).then((data) => {
    const expiry = Date.now() + cacheExpiry;
    sessionSet(cacheKey, JSON.stringify({ expiry, data }));
    return data;
  }).catch((error) => {
    console.error(error);
  });
};
travelTo = (location) => {
  var _a, _b;
  if ((_b = (_a = app == null ? void 0 : app.pages) == null ? void 0 : _a.TravelPage) == null ? void 0 : _b.travel) {
    app.pages.TravelPage.travel(location);
  }
};
}
});

// src/utils/horn.js
var showHornMessage;
var init_horn = __esm({
"src/utils/horn.js"() {
init_elements();
showHornMessage = (options) => {
  const huntersHornView = document.querySelector(".huntersHornView__messageContainer");
  if (!huntersHornView) {
    return;
  }
  const settings = {
    title: options.title || "Hunters Horn",
    text: options.text || "This is a message from the Hunters Horn",
    button: options.button || "OK",
    action: options.action || (() => {
    }),
    dismiss: options.dismiss || null,
    type: options.type || "recent_linked_turn",
    classname: options.classname || "",
    image: options.image || null,
    imageLink: options.imageLink || null,
    imageCallback: options.imageCallback || null
  };
  const backdrop = document.querySelector(".huntersHornView__backdrop");
  if (backdrop) {
    backdrop.classList.add("huntersHornView__backdrop--active");
  }
  const gameInfo = document.querySelector(".mousehuntHud-gameInfo");
  if (gameInfo) {
    gameInfo.classList.add("blur");
  }
  const messageWrapper = makeElement("div", ["huntersHornView__message huntersHornView__message--active", settings.classname]);
  const message = makeElement("div", ["huntersHornMessageView", `huntersHornMessageView--${settings.type}`]);
  makeElement("div", "huntersHornMessageView__title", settings.title, message);
  const content = makeElement("div", "huntersHornMessageView__content");
  if (settings.image) {
    const imgWrapper = makeElement("div", "huntersHornMessageView__friend");
    const img = makeElement("a", "huntersHornMessageView__friendProfilePic");
    if (settings.imageLink) {
      img.href = settings.imageLink;
    } else if (settings.imageCallback) {
      img.addEventListener("click", settings.imageCallback);
    } else {
      img.href = "#";
    }
    img.style.backgroundImage = `url(${settings.image})`;
    imgWrapper.append(img);
    content.append(imgWrapper);
  }
  makeElement("div", "huntersHornMessageView__text", settings.text, content);
  const buttonSpacer = makeElement("div", "huntersHornMessageView__buttonSpacer");
  const button = makeElement("button", "huntersHornMessageView__action");
  const buttonLabel = makeElement("div", "huntersHornMessageView__actionLabel");
  makeElement("span", "huntersHornMessageView__actionText", settings.button, buttonLabel);
  button.append(buttonLabel);
  button.addEventListener("click", () => {
    if (settings.action) {
      settings.action();
    }
    messageWrapper.innerHTML = "";
    backdrop.classList.remove("huntersHornView__backdrop--active");
    gameInfo.classList.remove("blur");
  });
  buttonSpacer.append(button);
  content.append(buttonSpacer);
  message.append(content);
  if (settings.dismiss) {
    const countdown = makeElement("button", ["huntersHornMessageView__countdown"]);
    makeElement("div", "huntersHornMessageView__countdownButtonImage", "", countdown);
    const svgMarkup = `<svg class="huntersHornMessageView__countdownSVG">
  <circle r="46%" cx="50%" cy="50%" class="huntersHornMessageView__countdownCircleTrack"></circle>
  <circle r="46%" cx="50%" cy="50%" class="huntersHornMessageView__countdownCircle" style="animation-duration: ${settings.dismiss}ms;"></circle>
</svg>`;
    countdown.innerHTML += svgMarkup;
    countdown.addEventListener("click", () => {
      countdown.classList.add("huntersHornMessageView__countdown--complete");
      messageWrapper.innerHTML = "";
      backdrop.classList.remove("huntersHornView__backdrop--active");
      gameInfo.classList.remove("blur");
    });
    message.append(countdown);
  }
  messageWrapper.append(message);
  const existingMessages = huntersHornView.querySelector(".huntersHornView__message");
  if (existingMessages) {
    existingMessages.remove();
  }
  huntersHornView.append(messageWrapper);
  if (settings.dismiss) {
    setTimeout(() => {
      const countdown = messageWrapper.querySelector(".huntersHornMessageView__countdown");
      if (countdown) {
        countdown.classList.add("huntersHornMessageView__countdown--complete");
      }
      messageWrapper.innerHTML = "";
      backdrop.classList.remove("huntersHornView__backdrop--active");
      gameInfo.classList.remove("blur");
    }, settings.dismiss);
  }
};
}
});

// src/utils/events.js
var requestCallbacks, onRequestHolder, onRequest, runCallbacks, overlayMutationObserver, overlayCallbacks, onOverlayChange, getDialogMapping, onDialogShow, onDialogHide, pageChangeCallbacks, pageChangeObserver, onPageChange, onTravel, onTravelCallback, onNavigation, onActivation, onDeactivation, onTurn, onTrapChange;
var init_events = __esm({
"src/utils/events.js"() {
init_page();
init_location();
init_event_registry();
init_horn();
requestCallbacks = {};
onRequestHolder = null;
onRequest = (url = null, callback = null, skipSuccess = false) => {
  url = "*" === url ? "*" : `managers/ajax/${url}`;
  if (!callback) {
    return;
  }
  if (!requestCallbacks[url]) {
    requestCallbacks[url] = [];
  }
  requestCallbacks[url].push({
    callback,
    skipSuccess
  });
  if (onRequestHolder) {
    return;
  }
  const req = XMLHttpRequest.prototype.open;
  XMLHttpRequest.prototype.open = function() {
    this.addEventListener("load", function() {
      if (this.responseText) {
        let response = {};
        try {
          response = JSON.parse(this.responseText);
        } catch (e) {
          return;
        }
        Object.keys(requestCallbacks).forEach((key) => {
          if ("*" === key || this.responseURL.includes(key)) {
            requestCallbacks[key].forEach((item) => {
              if (item.callback && typeof item.callback === "function" && (item.skipSuccess || (response == null ? void 0 : response.success))) {
                item.callback(response);
              }
            });
          }
        });
      }
    });
    Reflect.apply(req, this, arguments);
  };
  onRequestHolder = true;
};
runCallbacks = (settings, parentNode, callbacks) => {
  Object.keys(settings).forEach((key) => {
    if (parentNode && parentNode.classList && parentNode.classList.contains(settings[key].selector)) {
      settings[key].isVisible = true;
      if (callbacks[key] && callbacks[key].show) {
        callbacks[key].show();
      }
    } else if (settings[key].isVisible) {
      settings[key].isVisible = false;
      if (callbacks[key] && callbacks[key].hide) {
        callbacks[key].hide();
      }
    }
  });
  return settings;
};
overlayMutationObserver = null;
overlayCallbacks = [];
onOverlayChange = (callbacks) => {
  let overlayData = {
    map: {
      isVisible: false,
      selector: "treasureMapPopup"
    },
    item: {
      isVisible: false,
      selector: "itemViewPopup"
    },
    mouse: {
      isVisible: false,
      selector: "mouseViewPopup"
    },
    image: {
      isVisible: false,
      selector: "largerImage"
    },
    convertible: {
      isVisible: false,
      selector: "convertibleOpenViewPopup"
    },
    adventureBook: {
      isVisible: false,
      selector: "adventureBookPopup"
    },
    marketplace: {
      isVisible: false,
      selector: "marketplaceViewPopup"
    },
    gifts: {
      isVisible: false,
      selector: "giftSelectorViewPopup"
    },
    support: {
      isVisible: false,
      selector: "supportPageContactUsForm"
    },
    premiumShop: {
      isVisible: false,
      selector: "MHCheckout"
    }
  };
  overlayCallbacks.push(callbacks);
  if (overlayMutationObserver) {
    return;
  }
  overlayMutationObserver = true;
  const observer = new MutationObserver(() => {
    overlayCallbacks.forEach((callback) => {
      if (callback.change) {
        callback.change();
      }
      const overlayType = document.querySelector("#overlayPopup");
      if (overlayType && overlayType.classList.length <= 0) {
        return;
      }
      const overlayBg = document.querySelector("#overlayBg");
      if (overlayBg && overlayBg.classList.length > 0) {
        if (callback.show) {
          callback.show();
        }
      } else if (callback.hide) {
        callback.hide();
      }
      overlayData = runCallbacks(overlayData, overlayType, callback);
    });
  });
  const observeTarget = document.querySelector("#overlayPopup");
  if (observeTarget) {
    observer.observe(observeTarget, {
      attributes: true,
      attributeFilter: ["class"]
    });
  }
};
getDialogMapping = () => {
  return {
    treasureMapPopup: "map",
    itemViewPopup: "item",
    mouseViewPopup: "mouse",
    largerImage: "image",
    convertibleOpenViewPopup: "convertible",
    adventureBookPopup: "adventureBook",
    marketplaceViewPopup: "marketplace",
    giftSelectorViewPopup: "gifts",
    supportPageContactUsForm: "support",
    MHCheckout: "premiumShop"
  };
};
onDialogShow = (overlay = null, callback = null, once = false) => {
  const identifier = callback.toString().replaceAll(/[^\w-]/gi, "");
  eventRegistry.addEventListener("js_dialog_show", () => {
    if (!activejsDialog) {
      return;
    }
    const tokens = activejsDialog.getAllTokens();
    if (!tokens || !tokens["{*content*}"] || !tokens["{*content*}"].value || tokens["{*content*}"].value === "" || tokens["{*content*}"].value.includes('data-item-type=""') || // Item view.
    tokens["{*content*}"].value.includes('data-mouse-id=""')) {
      return;
    }
    const atts = activejsDialog.getAttributes();
    let dialogType = atts.className.replace("jsDialogFixed", "").replace("wide", "").replace("default", "").replaceAll("  ", " ").replaceAll(" ", ".").trim();
    if (dialogType.endsWith(".")) {
      dialogType = dialogType.slice(0, -1);
    }
    if ((!overlay || "all" === overlay) && "function" === typeof callback) {
      return callback();
    }
    const dialogMapping = getDialogMapping();
    if ("function" === typeof callback && (overlay === dialogType || overlay === dialogMapping[dialogType])) {
      return callback();
    }
  }, null, once, 0, identifier);
};
onDialogHide = (callback, overlay = null, once = false) => {
  eventRegistry.addEventListener("js_dialog_hide", () => {
    var _a, _b;
    const dialogType = ((_b = (_a = window == null ? void 0 : window.mhutils) == null ? void 0 : _a.lastDialog) == null ? void 0 : _b.overlay) || null;
    window.mhutils = window.mhutils ? __spreadProps(__spreadValues({}, window.mhutils), { lastDialog: null }) : null;
    if (!overlay) {
      return callback();
    }
    const dialogMapping = getDialogMapping();
    if (overlay === dialogType || overlay === dialogMapping[dialogType]) {
      return callback();
    }
  }, null, once);
};
pageChangeCallbacks = [];
pageChangeObserver = null;
onPageChange = (callbacks) => {
  let tabData = {
    blueprint: { isVisible: null, selector: "showBlueprint" },
    tem: { isVisible: false, selector: "showTrapEffectiveness" },
    trap: { isVisible: false, selector: "editTrap" },
    camp: { isVisible: false, selector: "PageCamp" },
    travel: { isVisible: false, selector: "PageTravel" },
    inventory: { isVisible: false, selector: "PageInventory" },
    shop: { isVisible: false, selector: "PageShops" },
    mice: { isVisible: false, selector: "PageAdversaries" },
    friends: { isVisible: false, selector: "PageFriends" },
    sendSupplies: { isVisible: false, selector: "PageSupplyTransfer" },
    team: { isVisible: false, selector: "PageTeam" },
    tournament: { isVisible: false, selector: "PageTournament" },
    news: { isVisible: false, selector: "PageNews" },
    scoreboards: { isVisible: false, selector: "PageScoreboards" },
    discord: { isVisible: false, selector: "PageJoinDiscord" },
    preferences: { isVisible: false, selector: "PagePreferences" },
    profile: { isVisible: false, selector: "HunterProfile" }
  };
  pageChangeCallbacks.push(callbacks);
  if (pageChangeObserver) {
    return;
  }
  pageChangeObserver = true;
  const observer = new MutationObserver(() => {
    pageChangeCallbacks.forEach((callback) => {
      if (callback.change) {
        callback.change();
      }
      const mhContainer = document.querySelector("#mousehuntContainer");
      if (mhContainer && mhContainer.classList.length > 0) {
        tabData = runCallbacks(tabData, mhContainer, callback);
      }
    });
  });
  const observeTarget = document.querySelector("#mousehuntContainer");
  if (observeTarget) {
    observer.observe(observeTarget, {
      attributes: true,
      attributeFilter: ["class"]
    });
  }
};
onTravel = (location, options) => {
  eventRegistry.addEventListener("travel_complete", () => onTravelCallback(location, options));
};
onTravelCallback = (location, options) => {
  if (location && location !== getCurrentLocation()) {
    return;
  }
  if (options == null ? void 0 : options.shouldAddReminder) {
    showHornMessage({
      title: options.title || "",
      text: options.text || "",
      button: options.button || "Dismiss",
      action: options.action || null
    });
  }
  if (options.callback) {
    options.callback();
  }
};
onNavigation = (callback, options = {}) => {
  const defaults = {
    page: false,
    tab: false,
    subtab: false,
    onLoad: true,
    anyTab: false,
    anySubtab: false
  };
  const { page, tab, subtab, onLoad, anyTab, anySubtab } = Object.assign(defaults, options);
  const bypassMatch = !page;
  if (onLoad && (bypassMatch || isCurrentPage(
    page,
    anyTab ? getCurrentTab() : tab,
    anySubtab ? getCurrentSubtab() : subtab
  ))) {
    callback();
  }
  eventRegistry.addEventListener("set_page", (e) => {
    var _a;
    const tabs = ((_a = e == null ? void 0 : e.data) == null ? void 0 : _a.tabs) || {};
    const currentTab = Object.keys(tabs).find((key) => tabs[key].is_active_tab);
    const forceCurrentTab = currentTab == null ? void 0 : currentTab.type;
    if (bypassMatch) {
      callback();
      return;
    }
    if (!subtab) {
      if (isCurrentPage(page, tab, false, getCurrentPage(), forceCurrentTab)) {
        callback();
      }
      return;
    }
    if ((currentTab == null ? void 0 : currentTab.subtabs) && (currentTab == null ? void 0 : currentTab.subtabs.length) > 0) {
      const forceSubtab = currentTab.subtabs.find((searchTab) => searchTab.is_active_subtab).subtab_type;
      if (isCurrentPage(page, tab, subtab, getCurrentPage(), forceCurrentTab, forceSubtab)) {
        callback();
      }
    }
  });
  eventRegistry.addEventListener("set_tab", (e) => {
    const forceCurrentTab = e.page_arguments.tab;
    const forceCurrentSubtab = e.page_arguments.sub_tab;
    if (bypassMatch) {
      callback();
      return;
    }
    if (isCurrentPage(page, tab, subtab, getCurrentPage(), forceCurrentTab, forceCurrentSubtab)) {
      callback();
    }
  });
};
onActivation = (module, callback) => {
  onEvent("mh-improved-settings-changed", ({ key, value }) => {
    if (key === module && value) {
      callback();
    }
  });
};
onDeactivation = (module, callback) => {
  onEvent("mh-improved-settings-changed", ({ key, value }) => {
    if (key === module && !value) {
      callback();
    }
  });
};
onTurn = (callback, delay = null) => {
  onRequest("turns/activeturn.php", () => {
    delay = delay || Math.floor(Math.random() * 1e3) + 1e3;
    setTimeout(callback, delay);
  }, true);
};
onTrapChange = (callback, opts) => {
  const defaults = {
    runOnLoad: true,
    runOnGetTrapComponents: true
  };
  const options = Object.assign(defaults, opts);
  if (options == null ? void 0 : options.runOnLoad) {
    callback();
  }
  onRequest("users/changetrap.php", callback);
  if (options == null ? void 0 : options.runOnGetTrapComponents) {
    onRequest("users/gettrapcomponents.php", callback);
  }
};
}
});

// src/utils/flags.js
var getFlag, getFlags;
var init_flags = __esm({
"src/utils/flags.js"() {
init_settings();
getFlag = (flag) => {
  return getSetting(`experiments.${flag}`, getFlags().includes(flag));
};
getFlags = () => {
  return getSetting("override-flags", "").toLowerCase().replaceAll(" ", "").split(",");
};
}
});

// src/utils/global.js
var setGlobal, getGlobal;
var init_global = __esm({
"src/utils/global.js"() {
setGlobal = (key, value) => {
  if (!window.mhui) {
    window.mhui = {};
  }
  window.mhui[key] = value;
  app.mhui = mhui;
};
getGlobal = (key) => {
  if (window.mhui) {
    return window.mhui[key] || false;
  }
  if (app.mhui) {
    return app.mhui[key] || false;
  }
  return false;
};
}
});

// src/utils/styles/game-info-bar.css
var game_info_bar_default;
var init_game_info_bar = __esm({
"src/utils/styles/game-info-bar.css"() {
game_info_bar_default = ".mousehuntHud-gameInfo .mousehuntHud-menu{position:relative;top:unset;left:unset;display:inline;width:unset;height:unset;padding-top:unset;padding-left:unset;background:unset}\n";
}
});

// src/utils/links.js
var addItemToGameInfoBar, getCleanSubmenuLabel, addSubmenuItem, removeSubmenuItem, addSubmenuDivider, addIconToMenu, removeIconFromMenu, replaceIconInMenu;
var init_links = __esm({
"src/utils/links.js"() {
init_styles();
init_elements();
init_game_info_bar();
addItemToGameInfoBar = (options) => {
  const settings = Object.assign({}, {
    label: "",
    href: "",
    class: "",
    callback: null,
    external: false,
    title: ""
  }, options);
  const safeLabel = settings.label.replaceAll(/[^\da-z]/gi, "_").toLowerCase();
  const exists = document.querySelector(`#mh-custom-topmenu-${safeLabel}`);
  if (exists) {
    return;
  }
  addStylesDirect(game_info_bar_default, "mh-improved-styles-game-info-bar", true);
  const menu = document.querySelector(".mousehuntHud-gameInfo");
  if (!menu) {
    return;
  }
  const item = document.createElement("a");
  item.id = `mh-custom-topmenu-${safeLabel}`;
  item.classList.add("mousehuntHud-gameInfo-item");
  item.classList.add("mousehuntHud-custom-menu-item");
  item.title = settings.title || settings.label;
  item.href = settings.href || "#";
  const name = document.createElement("div");
  name.classList.add("name");
  if (settings.label) {
    name.innerText = settings.label;
  }
  item.append(name);
  if (settings.class) {
    item.classList.add(settings.class);
  }
  if (settings.href) {
    item.href = settings.href;
  }
  if (settings.callback) {
    item.addEventListener("click", settings.callback);
  }
  if (settings.external) {
    const externalLinkIconWrapper = document.createElement("div");
    externalLinkIconWrapper.classList.add("mousehuntHud-menu");
    const externalLinkIcon = document.createElement("div");
    externalLinkIcon.classList.add("external_icon");
    externalLinkIconWrapper.append(externalLinkIcon);
    item.append(externalLinkIconWrapper);
  }
  menu.insertBefore(item, menu.firstChild);
};
getCleanSubmenuLabel = (label) => {
  return label.toLowerCase().replaceAll(/[^\da-z]/g, "-");
};
addSubmenuItem = (options) => {
  const settings = Object.assign({}, {
    id: null,
    menu: "kingdom",
    label: "",
    icon: "https://www.mousehuntgame.com/images/ui/hud/menu/special.png",
    href: "",
    class: "",
    callback: null,
    external: false
  }, options);
  const menuTarget = document.querySelector(`.mousehuntHud-menu .${settings.menu}`);
  if (!menuTarget) {
    return;
  }
  if (!menuTarget.classList.contains("hasChildren")) {
    menuTarget.classList.add("hasChildren");
  }
  let hasSubmenu = true;
  let submenu = menuTarget.querySelector("ul");
  if (!submenu) {
    hasSubmenu = false;
    submenu = document.createElement("ul");
  }
  const item = document.createElement("li");
  item.classList.add("custom-submenu-item");
  const label = settings.label.length > 0 ? settings.label : settings.id;
  const cleanLabel = getCleanSubmenuLabel(label);
  const exists = document.querySelector(`#custom-submenu-item-${cleanLabel}`);
  if (exists) {
    exists.remove();
  }
  item.id = settings.id ? `custom-submenu-item-${settings.id}` : `custom-submenu-item-${cleanLabel}`;
  if (settings.class) {
    const classes = settings.class.split(" ");
    item.classList.add(...classes);
  }
  const link = document.createElement("a");
  link.href = settings.href || "#";
  if (settings.callback) {
    link.addEventListener("click", (e) => {
      e.preventDefault();
      settings.callback();
    });
  }
  const icon = document.createElement("div");
  icon.classList.add("icon");
  icon.style = `background-image: url(${settings.icon});`;
  const name = document.createElement("div");
  name.classList.add("name");
  name.innerHTML = settings.label;
  link.append(icon);
  link.append(name);
  if (settings.external) {
    const externalLinkIcon = document.createElement("div");
    externalLinkIcon.classList.add("external_icon");
    link.append(externalLinkIcon);
    link.target = "_blank";
    link.rel = "noopener noreferrer";
  }
  item.append(link);
  submenu.append(item);
  if (!hasSubmenu) {
    menuTarget.append(submenu);
  }
};
removeSubmenuItem = (id) => {
  id = getCleanSubmenuLabel(id);
  const item = document.querySelector(`#custom-submenu-item-${id}`);
  if (item) {
    item.remove();
  }
};
addSubmenuDivider = (menu, className = "") => {
  addSubmenuItem({
    menu,
    id: `mh-improved-submenu-divider-${className}`,
    label: "",
    icon: "",
    href: "",
    class: `mh-improved-submenu-divider ${className}`
  });
};
addIconToMenu = (opts) => {
  const menu = document.querySelector(".mousehuntHeaderView-gameTabs .mousehuntHeaderView-dropdownContainer");
  if (!menu) {
    return;
  }
  const defaults = {
    id: "",
    classname: "",
    href: false,
    title: "",
    text: "",
    action: null,
    position: "prepend"
  };
  const settings = Object.assign({}, defaults, opts);
  if (!settings.classname) {
    settings.classname = settings.id;
  }
  const icon = makeElement("a", ["menuItem", settings.classname], settings.text);
  icon.id = settings.id;
  if (settings.href) {
    icon.href = settings.href;
    icon.title = settings.title;
  }
  if (settings.action) {
    icon.addEventListener("click", (e) => {
      settings.action(e, icon);
    });
  }
  if (settings.id) {
    const exists = document.querySelector(`#${settings.id}`);
    if (exists) {
      exists.replaceWith(icon);
      return;
    }
  }
  if ("prepend" === settings.position) {
    menu.prepend(icon);
  } else if ("append" === settings.position) {
    menu.append(icon);
  }
};
removeIconFromMenu = (id) => {
  const icon = document.querySelector(`#${id}`);
  if (icon) {
    icon.remove();
  }
};
replaceIconInMenu = (id, opts) => {
  removeIconFromMenu(id);
  addIconToMenu(opts);
};
}
});

// src/utils/maps.js
var mapper, mapData, mapModel, getMapData, setMapData, getLastMaptain, setLastMaptain, cacheFinishedMap, showTravelConfirmation, showTravelConfirmationForMice, showTravelConfirmationNoDetails, addMHCTData, getCachedValue, getCacheKey, setCachedValue, getArEl, getHighestArText, getArForMouse, getArText, getHighestArForMouse, getLocationForMouse;
var init_maps = __esm({
"src/utils/maps.js"() {
init_data();
init_location();
init_global();
init_settings();
init_elements();
mapper = (key = false) => {
  if (key) {
    const mapperData = getGlobal("mapper");
    if (!mapperData || !mapperData[key]) {
      return false;
    }
    return mapperData[key];
  }
  return getGlobal("mapper");
};
mapData = () => {
  const m = mapper();
  if (!m) {
    return {};
  }
  return m.mapData;
};
mapModel = () => {
  const m = mapper();
  if (!m) {
    return {};
  }
  return m.mapModel;
};
getMapData = (mapId = false, strict = false) => {
  if (mapId !== false) {
    const sessionMap = sessionGet(`mh-improved-map-cache-${mapId}`);
    if (sessionMap) {
      return sessionMap;
    }
  }
  if (strict) {
    return false;
  }
  const localStorageMap = sessionGet("map-cache-last-map");
  if (localStorageMap) {
    return localStorageMap;
  }
  return false;
};
setMapData = (mapId, theMapData) => {
  sessionSet(`mh-improved-map-cache-${mapId}`, theMapData);
  sessionSet("map-cache-last-map", theMapData);
};
getLastMaptain = () => {
  return sessionGet("last-maptain");
};
setLastMaptain = (id) => {
  sessionSet("last-maptain", id);
};
cacheFinishedMap = () => __async(void 0, null, function* () {
  const completedMap = user.quests.QuestRelicHunter.maps.find((map) => map.is_complete);
  if (!(completedMap == null ? void 0 : completedMap.map_id)) {
    return;
  }
  const data = getMapData(completedMap.map_id);
  if (!data) {
    return;
  }
  const maptain = data.hunters.find((hunter) => hunter.captain);
  setLastMaptain(maptain.user_id || "");
});
showTravelConfirmation = (environment, theMapModel) => {
  if (!(environment == null ? void 0 : environment.id) || !(environment == null ? void 0 : environment.type)) {
    return;
  }
  const environmentData = theMapModel.getEnvironmentById(environment.id);
  const environmentGoals = theMapModel.getGoalsByEnvironment(environment.id);
  const noun = environmentData.num_missing_goals === 1 ? "mouse" : "mice";
  showTravelConfirmationForMice({
    title: `Travel to ${environmentData.name}?`,
    description: `This area has ${environmentData.num_missing_goals} missing ${noun}.`,
    environment: environment.type,
    templateData: {
      environment: environmentData,
      goals: environmentGoals
    }
  });
};
showTravelConfirmationForMice = ({ title, description, environment, templateData }) => {
  const dialog = new hg.views.TreasureMapDialogView();
  dialog.setTitle(title);
  dialog.setDescription(description);
  dialog.setContent(hg.utils.TemplateUtil.renderFromFile("TreasureMapDialogView", "travel", templateData));
  dialog.setCssClass("confirm");
  dialog.setContinueAction("Travel", () => {
    app.pages.TravelPage.travel(environment);
    dialog.hide();
    setTimeout(() => {
      jsDialog().hide();
    }, 250);
  });
  hg.controllers.TreasureMapController.showDialog(dialog);
};
showTravelConfirmationNoDetails = (environment) => __async(void 0, null, function* () {
  const templateData = {
    environment: {
      name: environment.name,
      id: environment.id,
      type: environment.id,
      thumb: environment.image,
      header: environment.headerImage,
      goals,
      num_completed_goals: 0,
      num_total_goals: environmentMice.length,
      hunters: [],
      is_current_environment: getCurrentLocation() === environment.id,
      can_travel: true,
      num_missing_goals: environmentMice.length
    },
    goals: []
  };
  showTravelConfirmationForMice({
    title: `Travel to ${environment.name}?`,
    description: "",
    environment: environment.id,
    templateData
  });
});
addMHCTData = (mouse, appendTo, type = "mouse") => __async(void 0, null, function* () {
  const existingMhct = appendTo.querySelector(`#mhct-${mouse.unique_id}-${type}`);
  if (existingMhct) {
    return;
  }
  const mhctjson = yield getArForMouse(mouse.unique_id, type);
  const mhctDiv = makeElement("div", "mhct-data");
  mhctDiv.id = `mhct-${mouse.unique_id}-${type}`;
  const header = makeElement("div", "mhct-title");
  makeElement("span", "mhct-title-text", "item" === type ? "Drop Rates" : "Attraction Rates", header);
  const mhctLink = makeElement("a", "mhct-link", "View on MHCT \u2192");
  mhctLink.target = "_mhct";
  if (!mouse.name) {
    const nameEl = document.querySelector(".treasureMapView-highlight-name");
    mouse.name = nameEl ? nameEl.innerText : mouse.unique_id;
  }
  mhctLink.href = "item" === type ? `https://www.mhct.win/loot.php?item=${mouse.unique_id}` : `https://www.mhct.win/attractions.php?mouse_name=${mouse.name}`;
  header.append(mhctLink);
  mhctDiv.append(header);
  if (!mhctjson.slice) {
    return;
  }
  const environments5 = yield getData("environments");
  const amountOfLocationsToShow = 5;
  mhctjson.slice(0, amountOfLocationsToShow).forEach((mhct) => {
    const mhctRow = makeElement("div", "mhct-row");
    const location = makeElement("div", "mhct-location");
    makeElement("span", "mhct-location-text", mhct.location, location);
    if (mhct.stage) {
      makeElement("span", "mhct-stage", mhct.stage, location);
    }
    const environment = environments5.find((env) => {
      return env.name === mhct.location;
    });
    if (!environment) {
      mhctRow.classList.add("mhct-row-no-env");
    }
    mhctRow.append(location);
    makeElement("div", "mhct-bait", mhct.cheese, mhctRow);
    const mhctRate = Number.parseInt("item" === type ? mhct.drop_pct : mhct.rate / 100, 10).toFixed(1);
    makeElement("div", "mhct-rate", `${mhctRate}%`, mhctRow);
    mhctRow.addEventListener("click", () => {
      if (environment.id === getCurrentLocation()) {
        app.pages.CampPage.toggleItemBrowser("bait");
        jsDialog().hide();
        return;
      }
      const travelEnvironment = mapper("mapData").environments.find((env) => {
        return env.type === environment.id;
      });
      showTravelConfirmation(travelEnvironment, mapModel());
    });
    mhctDiv.append(mhctRow);
  });
  if (0 === mhctjson.length) {
    const mhctRow = makeElement("div", "mhct-row");
    makeElement("div", "mhct-no-data", "No data available", mhctRow);
    mhctDiv.append(mhctRow);
  }
  appendTo.append(mhctDiv);
});
getCachedValue = (key) => __async(void 0, null, function* () {
  if (getSetting("debug.no-cache")) {
    return false;
  }
  const isInSession = sessionGet(key, null);
  if (isInSession !== null) {
    return JSON.parse(isInSession);
  }
  const localStorageContainer = yield cacheGet(getCacheKey());
  if (!localStorageContainer) {
    return false;
  }
  const container = JSON.parse(localStorageContainer);
  if (!container[key]) {
    return false;
  }
  return container[key];
});
getCacheKey = () => {
  return `mh-improved-cached-ar-v${mhImprovedVersion.replaceAll(".", "-")}`;
};
setCachedValue = (key, value, saveToSession = false) => {
  if (saveToSession) {
    sessionSet(key, JSON.stringify(value));
    return;
  }
  const localStorageContainer = localStorage.getItem(getCacheKey());
  let container = {};
  if (localStorageContainer) {
    container = JSON.parse(localStorageContainer);
  }
  container[key] = value;
  cacheSet(getCacheKey(), container);
  localStorage.setItem(getCacheKey(), JSON.stringify(container));
};
getArEl = (id, type = "mouse") => __async(void 0, null, function* () {
  let ar = yield getArText(id, type);
  let arType = "location";
  if (!ar) {
    ar = yield getHighestArText(id, type);
    if (!ar || ar.length === 0) {
      return makeElement("div", ["mh-ui-ar", "mh-ui-no-ar"], "?");
    }
    arType = "highest";
  }
  let arDifficulty = "easy";
  if (ar >= 99) {
    arDifficulty = "guaranteed";
  } else if (ar >= 78) {
    arDifficulty = "super-easy";
  } else if (ar >= 48) {
    arDifficulty = "easy";
  } else if (ar >= 38) {
    arDifficulty = "medium";
  } else if (ar >= 18) {
    arDifficulty = "hard";
  } else if (ar >= 8) {
    arDifficulty = "super-hard";
  } else if (ar >= 3) {
    arDifficulty = "extreme";
  } else {
    arDifficulty = "impossible";
  }
  if (ar.toString().slice(-3) === ".00") {
    ar = ar.toString().slice(0, -3);
  }
  const arEl = makeElement("div", ["mh-ui-ar", `mh-ui-ar-${arType}`, `mh-ui-ar-${arDifficulty}`], `${ar}%`);
  arEl.title = `Attraction rate: ${ar}%`;
  arEl.setAttribute("data-ar", ar);
  return arEl;
});
getHighestArText = (id, type = "mouse") => __async(void 0, null, function* () {
  const highest = yield getHighestArForMouse(id, type);
  return highest != null ? highest : false;
});
getArForMouse = (id, type = "mouse") => __async(void 0, null, function* () {
  let mhctjson = [];
  const cacheKey = `${type}-${id}`;
  const cachedAr = yield getCachedValue(cacheKey);
  if (cachedAr) {
    return cachedAr;
  }
  const isItem = "item" === type;
  const mhctPath = isItem ? "mhct-item" : "mhct";
  let mhctdata = [];
  const data = mapData() || {};
  const mapType = (data == null ? void 0 : data.map_type) || "";
  let url = `https://api.mouse.rip/${mhctPath}/${id}`;
  if (mapType.toLowerCase().includes("halloween")) {
    url = `https://api.mouse.rip/${mhctPath}/${id}-hlw_22`;
  }
  mhctdata = yield fetch(url, { headers: getHeaders2() });
  if (!mhctdata.ok) {
    return [];
  }
  mhctjson = yield mhctdata.json();
  if (!mhctjson || mhctjson.length === 0) {
    setCachedValue(cacheKey, [], true);
    return [];
  }
  if (isItem) {
    for (const rate of mhctjson) {
      rate.rate = Number.parseInt(rate.drop_pct * 100);
      delete rate.drop_ct;
    }
  }
  setCachedValue(cacheKey, mhctjson);
  return mhctjson;
});
getArText = (id, type = "mouse") => __async(void 0, null, function* () {
  const rates = yield getArForMouse(id, type);
  if (!rates || rates.length === 0) {
    return false;
  }
  const rate = rates[0];
  if (!rate) {
    return false;
  }
  return (rate.rate / 100).toFixed(2);
});
getHighestArForMouse = (id, type = "mouse") => __async(void 0, null, function* () {
  const rates = yield getArForMouse(id, type);
  if (!rates || rates.length === 0) {
    return 0;
  }
  if (Object.keys(rates).length === 0 && rates.constructor === Object) {
    return 0;
  }
  if (!rates.sort) {
    return 0;
  }
  rates.sort((a, b) => b.rate - a.rate);
  const rate = rates[0];
  if (!rate) {
    return 0;
  }
  return rate.rate / 100;
});
getLocationForMouse = (mouse, type = "mouse") => __async(void 0, null, function* () {
  const environments5 = yield getData("environments");
  const rates = yield getArForMouse(mouse, type);
  if (!rates || rates.length === 0) {
    return false;
  }
  const rate = rates[0];
  if (!rate) {
    return false;
  }
  const originalName = rate.location;
  const twistedMap = {
    "Twisted Garden": "Living Garden",
    "Sand Crypts": "Sand Dunes",
    "Cursed City": "Lost City"
  };
  if (twistedMap[rate.location]) {
    rate.location = twistedMap[rate.location];
  }
  const environment = environments5.find((env) => {
    return env.name === rate.location;
  });
  if (!environment) {
    return false;
  }
  environment.name = originalName;
  return environment;
});
}
});

// src/utils/styles/errors.css
var errors_default;
var init_errors = __esm({
"src/utils/styles/errors.css"() {
errors_default = ".mousehunt-improved-error{position:fixed;bottom:50px;left:5%;z-index:20;display:flex;flex-direction:column;align-items:stretch;max-width:375px;padding:10px 20px;background-color:#febebe;border:1px solid #4e2727;border-radius:6px;box-shadow:0 0 10px 1px #bc7b7b}.mousehunt-improved-error h1{margin:0 0 .75em;font-size:1.3em;font-weight:900;color:#9f2323}.mousehunt-improved-error p{margin:.5em 0;font-size:1em;line-height:1.5}textarea.mousehunt-improved-error-message{min-height:50px;font-size:11px;background-color:#f2c4c4;border-color:#cf7676}.mousehunt-improved-error-close{position:absolute;top:5px;right:5px;color:#fff;background-color:#9f2223;border:1px solid #4e2727;border-radius:1px}.mousehunt-improved-error-close:hover,.mousehunt-improved-error-close:focus{background-color:#c22}\n";
}
});

// src/utils/messages.js
var showErrorMessage, showSuccessMessage, showLoadingError, showLoadingPopupError, showLoadingPopup;
var init_messages = __esm({
"src/utils/messages.js"() {
init_debug();
init_elements();
init_errors();
showErrorMessage = (options) => {
  const {
    message,
    append,
    before = false,
    after = false,
    classname = [],
    type = "error"
  } = options;
  const typeClass = `mh-ui-${type}-message`;
  const existing = document.querySelector(`.${typeClass}`);
  if (existing) {
    existing.remove();
  }
  const error = makeElement("div", [`mh-ui-${type}-message`, "mh-ui-fade", classname], message);
  if (append) {
    if (before) {
      append.before(error);
    } else if (after) {
      append.after(error);
    } else {
      append.append(error);
    }
  }
  setTimeout(() => {
    error.classList.add("mh-ui-fade-in");
  }, 10);
  setTimeout(() => {
    error.classList.remove("mh-ui-fade-in");
    error.classList.add("mh-ui-fade-out");
  }, 2e3);
  setTimeout(() => {
    error.remove();
  }, 2500);
};
showSuccessMessage = (opts) => {
  opts.type = "success";
  showErrorMessage(opts);
};
hadAddedErrorStyles = false;
showLoadingError = (e) => {
  debug("Error loading MouseHunt Improved:", e);
  const errorElement = makeElement("div", "mousehunt-improved-error");
  makeElement("h1", "mousehunt-improved-error-title", "Error loading MouseHunt Improved", errorElement);
  if (e.message) {
    const errorText = makeElement("textarea", "mousehunt-improved-error-message");
    errorText.value = `${e.message}

${e.stack}`;
    errorElement.append(errorText);
  }
  makeElement("p", "mousehunt-improved-error-message", 'There was an error loading MouseHunt Improved. Try refreshing the page. If the error persists, please add an issue to the <a href="https://github.com/MHCommunity/mousehunt-improved">GitHub repo</a>.', errorElement);
  const closeButton = makeElement("button", "mousehunt-improved-error-close", "Close");
  closeButton.addEventListener("click", () => {
    errorElement.remove();
  });
  errorElement.append(closeButton);
  document.body.append(errorElement);
  if (hadAddedErrorStyles) {
    return;
  }
  const errorStylesEl = makeElement("style", "mh-improved-error-styles", errors_default);
  document.head.append(errorStylesEl);
};
showLoadingPopupError = (options) => {
  const popup = new jsDialog();
  popup.setTemplate("error");
  popup.setAttributes({ className: "error" });
  popup.addToken("{*title*}", options.title);
  popup.addToken("{*content*}", options.content || "");
  popup.show();
};
showLoadingPopup = (title) => {
  const popup = new jsDialog();
  popup.setTemplate("loading");
  popup.setAttributes({ className: "loading" });
  popup.show();
  const element = document.querySelector("#overlayPopup .jsDialog .title");
  if (!element) {
    return {
      popup,
      title: null,
      text: null,
      setText: () => {
      },
      setTitle: () => {
      },
      show: () => {
      },
      hide: () => {
      }
    };
  }
  element.textContent = title;
  const loadingText = makeElement("div", "loading-text", "", element);
  return {
    popup,
    title: element,
    text: loadingText,
    setText: (newText) => {
      loadingText.textContent = newText;
    },
    setTitle: (newTitle) => {
      element.textContent = newTitle;
    },
    show: () => {
      popup.show();
    },
    hide: () => {
      popup.hide();
    }
  };
};
}
});

// src/data/settings.json
var settings_default;
var init_settings2 = __esm({
"src/data/settings.json"() {
settings_default = {
  "no-reminders": [
    "adblock",
    "inline-wiki",
    "no-footer",
    "no-sidebar",
    "hide-daily-reward-popup",
    "journal-privacy",
    "journal-privacy.show-toggle-icon",
    "debug",
    "debug.dialog",
    "debug.navigation",
    "debug.request",
    "debug.events"
  ],
  icons: [
    {
      category: "better",
      id: "better-ui",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z' /></svg>"
    },
    {
      category: "better",
      id: "better-gifts",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M21 11.25v8.25a1.5 1.5 0 0 1-1.5 1.5H5.25a1.5 1.5 0 0 1-1.5-1.5v-8.25M12 4.875A2.625 2.625 0 1 0 9.375 7.5H12m0-2.625V7.5m0-2.625A2.625 2.625 0 1 1 14.625 7.5H12m0 0V21m-8.625-9.75h18c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125h-18c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125Z' /></svg>"
    },
    {
      category: "better",
      id: "better-inventory",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='m21 7.5-9-5.25L3 7.5m18 0-9 5.25m9-5.25v9l-9 5.25M3 7.5l9 5.25M3 7.5v9l9 5.25m0-9v9' /></svg>"
    },
    {
      category: "better",
      id: "better-item-view",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z' /></svg>"
    },
    {
      category: "better",
      id: "better-journal",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M12 6.042A8.967 8.967 0 0 0 6 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 0 1 6 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 0 1 6-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0 0 18 18a8.967 8.967 0 0 0-6 2.292m0-14.25v14.25' /></svg>"
    },
    {
      category: "better",
      id: "better-kings-reward",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M2.25 18.75a60.07 60.07 0 0 1 15.797 2.101c.727.198 1.453-.342 1.453-1.096V18.75M3.75 4.5v.75A.75.75 0 0 1 3 6h-.75m0 0v-.375c0-.621.504-1.125 1.125-1.125H20.25M2.25 6v9m18-10.5v.75c0 .414.336.75.75.75h.75m-1.5-1.5h.375c.621 0 1.125.504 1.125 1.125v9.75c0 .621-.504 1.125-1.125 1.125h-.375m1.5-1.5H21a.75.75 0 0 0-.75.75v.75m0 0H3.75m0 0h-.375a1.125 1.125 0 0 1-1.125-1.125V15m1.5 1.5v-.75A.75.75 0 0 0 3 15h-.75M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm3 0h.008v.008H18V10.5Zm-12 0h.008v.008H6V10.5Z' /></svg>"
    },
    {
      category: "better",
      id: "better-maps",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z' /><path stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z' /></svg>"
    },
    {
      category: "better",
      id: "better-marketplace",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M2.25 3h1.386c.51 0 .955.343 1.087.835l.383 1.437M7.5 14.25a3 3 0 0 0-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 0 0-16.536-1.84M7.5 14.25 5.106 5.272M6 20.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm12.75 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z' /></svg>"
    },
    {
      category: "better",
      id: "better-mice",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='m9 14.25 6-6m4.5-3.493V21.75l-3.75-1.5-3.75 1.5-3.75-1.5-3.75 1.5V4.757c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0 1 11.186 0c1.1.128 1.907 1.077 1.907 2.185ZM9.75 9h.008v.008H9.75V9Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm4.125 4.5h.008v.008h-.008V13.5Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z' /></svg>"
    },
    {
      category: "better",
      id: "better-quests",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M10.125 2.25h-4.5c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125v-9M10.125 2.25h.375a9 9 0 0 1 9 9v.375M10.125 2.25A3.375 3.375 0 0 1 13.5 5.625v1.5c0 .621.504 1.125 1.125 1.125h1.5a3.375 3.375 0 0 1 3.375 3.375M9 15l2.25 2.25L15 12' /></svg>"
    },
    {
      category: "better",
      id: "better-send-supplies",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12' /></svg>"
    },
    {
      category: "better",
      id: "better-shops",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M13.5 21v-7.5a.75.75 0 0 1 .75-.75h3a.75.75 0 0 1 .75.75V21m-4.5 0H2.36m11.14 0H18m0 0h3.64m-1.39 0V9.349M3.75 21V9.349m0 0a3.001 3.001 0 0 0 3.75-.615A2.993 2.993 0 0 0 9.75 9.75c.896 0 1.7-.393 2.25-1.016a2.993 2.993 0 0 0 2.25 1.016c.896 0 1.7-.393 2.25-1.015a3.001 3.001 0 0 0 3.75.614m-16.5 0a3.004 3.004 0 0 1-.621-4.72l1.189-1.19A1.5 1.5 0 0 1 5.378 3h13.243a1.5 1.5 0 0 1 1.06.44l1.19 1.189a3 3 0 0 1-.621 4.72M6.75 18h3.75a.75.75 0 0 0 .75-.75V13.5a.75.75 0 0 0-.75-.75H6.75a.75.75 0 0 0-.75.75v3.75c0 .414.336.75.75.75Z' /></svg>"
    },
    {
      category: "better",
      id: "better-tournaments",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M16.5 18.75h-9m9 0a3 3 0 0 1 3 3h-15a3 3 0 0 1 3-3m9 0v-3.375c0-.621-.503-1.125-1.125-1.125h-.871M7.5 18.75v-3.375c0-.621.504-1.125 1.125-1.125h.872m5.007 0H9.497m5.007 0a7.454 7.454 0 0 1-.982-3.172M9.497 14.25a7.454 7.454 0 0 0 .981-3.172M5.25 4.236c-.982.143-1.954.317-2.916.52A6.003 6.003 0 0 0 7.73 9.728M5.25 4.236V4.5c0 2.108.966 3.99 2.48 5.228M5.25 4.236V2.721C7.456 2.41 9.71 2.25 12 2.25c2.291 0 4.545.16 6.75.47v1.516M7.73 9.728a6.726 6.726 0 0 0 2.748 1.35m8.272-6.842V4.5c0 2.108-.966 3.99-2.48 5.228m2.48-5.492a46.32 46.32 0 0 1 2.916.52 6.003 6.003 0 0 1-5.395 4.972m0 0a6.726 6.726 0 0 1-2.749 1.35m0 0a6.772 6.772 0 0 1-3.044 0' /></svg>"
    },
    {
      category: "better",
      id: "better-travel",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M9 6.75V15m6-6v8.25m.503 3.498 4.875-2.437c.381-.19.622-.58.622-1.006V4.82c0-.836-.88-1.38-1.628-1.006l-3.869 1.934c-.317.159-.69.159-1.006 0L9.503 3.252a1.125 1.125 0 0 0-1.006 0L3.622 5.689C3.24 5.88 3 6.27 3 6.695V19.18c0 .836.88 1.38 1.628 1.006l3.869-1.934c.317-.159.69-.159 1.006 0l4.994 2.497c.317.158.69.158 1.006 0Z' /></svg>"
    },
    {
      category: "feature",
      id: "catch-rate-estimate",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M15.75 15.75V18m-7.5-6.75h.008v.008H8.25v-.008Zm0 2.25h.008v.008H8.25V13.5Zm0 2.25h.008v.008H8.25v-.008Zm0 2.25h.008v.008H8.25V18Zm2.498-6.75h.007v.008h-.007v-.008Zm0 2.25h.007v.008h-.007V13.5Zm0 2.25h.007v.008h-.007v-.008Zm0 2.25h.007v.008h-.007V18Zm2.504-6.75h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V13.5Zm0 2.25h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V18Zm2.498-6.75h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V13.5ZM8.25 6h7.5v2.25h-7.5V6ZM12 2.25c-1.892 0-3.758.11-5.593.322C5.307 2.7 4.5 3.65 4.5 4.757V19.5a2.25 2.25 0 0 0 2.25 2.25h10.5a2.25 2.25 0 0 0 2.25-2.25V4.757c0-1.108-.806-2.057-1.907-2.185A48.507 48.507 0 0 0 12 2.25Z' /></svg>"
    },
    {
      category: "feature",
      id: "copy-id",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M8.25 7.5V6.108c0-1.135.845-2.098 1.976-2.192.373-.03.748-.057 1.123-.08M15.75 18H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 0 0-1.123-.08M15.75 18.75v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5A3.375 3.375 0 0 0 6.375 7.5H5.25m11.9-3.664A2.251 2.251 0 0 0 15 2.25h-1.5a2.251 2.251 0 0 0-2.15 1.586m5.8 0c.065.21.1.433.1.664v.75h-6V4.5c0-.231.035-.454.1-.664M6.75 7.5H4.875c-.621 0-1.125.504-1.125 1.125v12c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V16.5a9 9 0 0 0-9-9Z' /></svg>"
    },
    {
      category: "feature",
      id: "dark-mode",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z' /></svg>"
    },
    {
      category: "feature",
      id: "data-exporters",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125' /></svg>"
    },
    {
      category: "feature",
      id: "delayed-tooltips",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M15.042 21.672 13.684 16.6m0 0-2.51 2.225.569-9.47 5.227 7.917-3.286-.672ZM12 2.25V4.5m5.834.166-1.591 1.591M20.25 10.5H18M7.757 14.743l-1.59 1.59M6 10.5H3.75m4.007-4.243-1.59-1.59' /></svg>"
    },
    {
      category: "feature",
      id: "favorite-setups",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.563.563 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.562.562 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.562.562 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.563.563 0 0 0 .475-.345L11.48 3.5Z' /></svg>"
    },
    {
      category: "feature",
      id: "fixes",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M21.75 6.75a4.5 4.5 0 0 1-4.884 4.484c-1.076-.091-2.264.071-2.95.904l-7.152 8.684a2.548 2.548 0 1 1-3.586-3.586l8.684-7.152c.833-.686.995-1.874.904-2.95a4.5 4.5 0 0 1 6.336-4.486l-3.276 3.276a3.004 3.004 0 0 0 2.25 2.25l3.276-3.276c.256.565.398 1.192.398 1.852Z' /><path stroke-linecap='round' stroke-linejoin='round' d='M4.867 19.125h.008v.008h-.008v-.008Z' /></svg>"
    },
    {
      category: "feature",
      id: "flrt-helper",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M8.25 9.75h4.875a2.625 2.625 0 0 1 0 5.25H12M8.25 9.75 10.5 7.5M8.25 9.75 10.5 12m9-7.243V21.75l-3.75-1.5-3.75 1.5-3.75-1.5-3.75 1.5V4.757c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0 1 11.186 0c1.1.128 1.907 1.077 1.907 2.185Z' /></svg>"
    },
    {
      category: "feature",
      id: "hover-profiles",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M15.042 21.672 13.684 16.6m0 0-2.51 2.225.569-9.47 5.227 7.917-3.286-.672Zm-7.518-.267A8.25 8.25 0 1 1 20.25 10.5M8.288 14.212A5.25 5.25 0 1 1 17.25 10.5' /></svg>"
    },
    {
      category: "feature",
      id: "image-upscaling",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z' /></svg>"
    },
    {
      category: "feature",
      id: "inline-wiki",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M4.26 10.147a60.438 60.438 0 0 0-.491 6.347A48.62 48.62 0 0 1 12 20.904a48.62 48.62 0 0 1 8.232-4.41 60.46 60.46 0 0 0-.491-6.347m-15.482 0a50.636 50.636 0 0 0-2.658-.813A59.906 59.906 0 0 1 12 3.493a59.903 59.903 0 0 1 10.399 5.84c-.896.248-1.783.52-2.658.814m-15.482 0A50.717 50.717 0 0 1 12 13.489a50.702 50.702 0 0 1 7.74-3.342M6.75 15a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm0 0v-3.675A55.378 55.378 0 0 1 12 8.443m-7.007 11.55A5.981 5.981 0 0 0 6.75 15.75v-1.5' /></svg>"
    },
    {
      category: "feature",
      id: "inventory-lock-and-hide",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z' /></svg>"
    },
    {
      category: "feature",
      id: "journal-changer",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125' /></svg>"
    },
    {
      category: "feature",
      id: "keyboard-shortcuts",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -5 24 24' width='28' fill='currentColor'><path d='M3 0h14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3a3 3 0 0 1 3-3zm0 2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3zm0 4h2v2H3V6zm0-3h2v2H3V3zm0 6h2v2H3V9zm3 0h8v2H6V9zm0-3h2v2H6V6zm0-3h2v2H6V3zm3 3h2v2H9V6zm0-3h2v2H9V3zm6 6h2v2h-2V9zm-3-3h2v2h-2V6zm0-3h2v2h-2V3zm3 0h2v5h-2V3z'></path></svg>"
    },
    {
      category: "feature",
      id: "larger-codices",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 24 24' width='28' fill='currentColor'><path d='M12.586 2H11a1 1 0 0 1 0-2h4a1 1 0 0 1 1 1v4a1 1 0 0 1-2 0V3.414L9.414 8 14 12.586V11a1 1 0 0 1 2 0v4a1 1 0 0 1-1 1h-4a1 1 0 0 1 0-2h1.586L8 9.414 3.414 14H5a1 1 0 0 1 0 2H1a1 1 0 0 1-1-1v-4a1 1 0 0 1 2 0v1.586L6.586 8 2 3.414V5a1 1 0 1 1-2 0V1a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H3.414L8 6.586 12.586 2z'></path></svg>"
    },
    {
      category: "feature",
      id: "larger-skin-images",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z' /></svg>"
    },
    {
      category: "feature",
      id: "lgs-reminder",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z' /></svg>"
    },
    {
      category: "feature",
      id: "location-catch-stats",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z' /></svg>"
    },
    {
      category: "feature",
      id: "location-dashboard",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M13.5 16.875h3.375m0 0h3.375m-3.375 0V13.5m0 3.375v3.375M6 10.5h2.25a2.25 2.25 0 0 0 2.25-2.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v2.25A2.25 2.25 0 0 0 6 10.5Zm0 9.75h2.25A2.25 2.25 0 0 0 10.5 18v-2.25a2.25 2.25 0 0 0-2.25-2.25H6a2.25 2.25 0 0 0-2.25 2.25V18A2.25 2.25 0 0 0 6 20.25Zm9.75-9.75H18a2.25 2.25 0 0 0 2.25-2.25V6A2.25 2.25 0 0 0 18 3.75h-2.25A2.25 2.25 0 0 0 13.5 6v2.25a2.25 2.25 0 0 0 2.25 2.25Z' /></svg>"
    },
    {
      category: "feature",
      id: "metric",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 0 1 7.843 4.582M12 3a8.997 8.997 0 0 0-7.843 4.582m15.686 0A11.953 11.953 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0 1 12 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418' /></svg>"
    },
    {
      category: "feature",
      id: "only-open-multiple",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z' /></svg>"
    },
    {
      category: "feature",
      id: "open-all-but-one",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M16.5 8.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v8.25A2.25 2.25 0 0 0 6 16.5h2.25m8.25-8.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-7.5A2.25 2.25 0 0 1 8.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 0 0-2.25 2.25v6' /></svg>"
    },
    {
      category: "feature",
      id: "paste-hunter-id",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M15 9h3.75M15 12h3.75M15 15h3.75M4.5 19.5h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Zm6-10.125a1.875 1.875 0 1 1-3.75 0 1.875 1.875 0 0 1 3.75 0Zm1.294 6.336a6.721 6.721 0 0 1-3.17.789 6.721 6.721 0 0 1-3.168-.789 3.376 3.376 0 0 1 6.338 0Z' /></svg>"
    },
    {
      category: "feature",
      id: "prestige-base-stats",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -4 24 24' width='28' fill='currentColor'><path d='M1 0a1 1 0 0 1 1 1v14a1 1 0 0 1-2 0V1a1 1 0 0 1 1-1zm12 4a1 1 0 0 1 1 1v10a1 1 0 0 1-2 0V5a1 1 0 0 1 1-1zM7 8a1 1 0 0 1 1 1v6a1 1 0 0 1-2 0V9a1 1 0 0 1 1-1z'></path></svg>"
    },
    {
      category: "feature",
      id: "printing-press-paper-counter",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -2 24 24' width='28' fill='currentColor'><path d='M10.298 2H3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V4.961L10.298 2zM3 0h8l5 4v13a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3a3 3 0 0 1 3-3z'></path></svg>"
    },
    {
      category: "feature",
      id: "quick-filters-and-sort",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75' /></svg>"
    },
    {
      category: "feature",
      id: "quick-send-supplies",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M6 12 3.269 3.125A59.769 59.769 0 0 1 21.485 12 59.768 59.768 0 0 1 3.27 20.875L5.999 12Zm0 0h7.5' /></svg>"
    },
    {
      category: "feature",
      id: "ssdb-teeth-counter",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M21 10.5h.375c.621 0 1.125.504 1.125 1.125v2.25c0 .621-.504 1.125-1.125 1.125H21M4.5 10.5h6.75V15H4.5v-4.5ZM3.75 18h15A2.25 2.25 0 0 0 21 15.75v-6a2.25 2.25 0 0 0-2.25-2.25h-15A2.25 2.25 0 0 0 1.5 9.75v6A2.25 2.25 0 0 0 3.75 18Z' /></svg>"
    },
    {
      category: "feature",
      id: "taller-windows",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M3 8.25V18a2.25 2.25 0 0 0 2.25 2.25h13.5A2.25 2.25 0 0 0 21 18V8.25m-18 0V6a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 6v2.25m-18 0h18M5.25 6h.008v.008H5.25V6ZM7.5 6h.008v.008H7.5V6Zm2.25 0h.008v.008H9.75V6Z' /></svg>"
    },
    {
      category: "feature",
      id: "tem-crowns",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M13.5 16.875h3.375m0 0h3.375m-3.375 0V13.5m0 3.375v3.375M6 10.5h2.25a2.25 2.25 0 0 0 2.25-2.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v2.25A2.25 2.25 0 0 0 6 10.5Zm0 9.75h2.25A2.25 2.25 0 0 0 10.5 18v-2.25a2.25 2.25 0 0 0-2.25-2.25H6a2.25 2.25 0 0 0-2.25 2.25V18A2.25 2.25 0 0 0 6 20.25Zm9.75-9.75H18a2.25 2.25 0 0 0 2.25-2.25V6A2.25 2.25 0 0 0 18 3.75h-2.25A2.25 2.25 0 0 0 13.5 6v2.25a2.25 2.25 0 0 0 2.25 2.25Z' /></svg>"
    },
    {
      category: "feature",
      id: "ultimate-checkmark-show",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z' /></svg>"
    },
    {
      category: "feature",
      id: "wisdom-in-stat-bar",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M4.26 10.147a60.438 60.438 0 0 0-.491 6.347A48.62 48.62 0 0 1 12 20.904a48.62 48.62 0 0 1 8.232-4.41 60.46 60.46 0 0 0-.491-6.347m-15.482 0a50.636 50.636 0 0 0-2.658-.813A59.906 59.906 0 0 1 12 3.493a59.903 59.903 0 0 1 10.399 5.84c-.896.248-1.783.52-2.658.814m-15.482 0A50.717 50.717 0 0 1 12 13.489a50.702 50.702 0 0 1 7.74-3.342M6.75 15a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm0 0v-3.675A55.378 55.378 0 0 1 12 8.443m-7.007 11.55A5.981 5.981 0 0 0 6.75 15.75v-1.5' /></svg>"
    },
    {
      category: "design",
      id: "custom-background",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M4.098 19.902a3.75 3.75 0 0 0 5.304 0l6.401-6.402M6.75 21A3.75 3.75 0 0 1 3 17.25V4.125C3 3.504 3.504 3 4.125 3h5.25c.621 0 1.125.504 1.125 1.125v4.072M6.75 21a3.75 3.75 0 0 0 3.75-3.75V8.197M6.75 21h13.125c.621 0 1.125-.504 1.125-1.125v-5.25c0-.621-.504-1.125-1.125-1.125h-4.072M10.5 8.197l2.88-2.88c.438-.439 1.15-.439 1.59 0l3.712 3.713c.44.44.44 1.152 0 1.59l-2.879 2.88M6.75 17.25h.008v.008H6.75v-.008Z' /></svg>"
    },
    {
      category: "design",
      id: "custom-horn",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M10.34 15.84c-.688-.06-1.386-.09-2.09-.09H7.5a4.5 4.5 0 1 1 0-9h.75c.704 0 1.402-.03 2.09-.09m0 9.18c.253.962.584 1.892.985 2.783.247.55.06 1.21-.463 1.511l-.657.38c-.551.318-1.26.117-1.527-.461a20.845 20.845 0 0 1-1.44-4.282m3.102.069a18.03 18.03 0 0 1-.59-4.59c0-1.586.205-3.124.59-4.59m0 9.18a23.848 23.848 0 0 1 8.835 2.535M10.34 6.66a23.847 23.847 0 0 0 8.835-2.535m0 0A23.74 23.74 0 0 0 18.795 3m.38 1.125a23.91 23.91 0 0 1 1.014 5.395m-1.014 8.855c-.118.38-.245.754-.38 1.125m.38-1.125a23.91 23.91 0 0 0 1.014-5.395m0-3.46c.495.413.811 1.035.811 1.73 0 .695-.316 1.317-.811 1.73m0-3.46a24.347 24.347 0 0 1 0 3.46' /></svg>"
    },
    {
      category: "design",
      id: "custom-hud",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M9.53 16.122a3 3 0 0 0-5.78 1.128 2.25 2.25 0 0 1-2.4 2.245 4.5 4.5 0 0 0 8.4-2.245c0-.399-.078-.78-.22-1.128Zm0 0a15.998 15.998 0 0 0 3.388-1.62m-5.043-.025a15.994 15.994 0 0 1 1.622-3.395m3.42 3.42a15.995 15.995 0 0 0 4.764-4.648l3.876-5.814a1.151 1.151 0 0 0-1.597-1.597L14.146 6.32a15.996 15.996 0 0 0-4.649 4.763m3.42 3.42a6.776 6.776 0 0 0-3.42-3.42' /></svg>"
    },
    {
      category: "design",
      id: "custom-shield",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z' /></svg>"
    },
    {
      category: "beta",
      id: "experiments",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 0 1 4.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0 1 12 15a9.065 9.065 0 0 0-6.23-.693L5 14.5m14.8.8 1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0 1 12 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5' /></svg>"
    },
    {
      category: "beta",
      id: "larrys-links",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244' /></svg>"
    },
    {
      category: "beta",
      id: "show-auras",
      icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0ZM3.75 12h.007v.008H3.75V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm-.375 5.25h.007v.008H3.75v-.008Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z' /></svg>"
    }
  ]
};
}
});

// src/utils/styles/settings.css
var settings_default2;
var init_settings3 = __esm({
"src/utils/styles/settings.css"() {
settings_default2 = ".PagePreferences .mousehuntHud-page-tabContent.game_settings.userscript-settings .settingRow .settingRow-action-inputContainer.select.busy:before,.PagePreferences .mousehuntHud-page-tabContent.game_settings.userscript-settings .settingRow .settingRow-action-inputContainer.select.completed:before,.PagePreferences .mousehuntHud-page-tabContent.game_settings.better-mh-settings .settingRow .settingRow-action-inputContainer.select.busy:before,.PagePreferences .mousehuntHud-page-tabContent.game_settings.better-mh-settings .settingRow .settingRow-action-inputContainer.select.completed:before{top:30px;right:-25px;left:unset}.PagePreferences .mousehuntHud-page-tabContent.game_settings .settingRow .name{height:unset;min-height:20px}.PagePreferences__settingAction.inputDropdownWrapper.busy:before,.PagePreferences__settingAction.inputDropdownWrapper.completed:before{right:-25px;left:unset}.inputBoxContainer.multiSelect{max-width:400px}.settingRow-action-inputContainer.textarea{display:flex;gap:5px;align-items:flex-end}.PagePreferences__setting.textarea{display:grid;grid-template-columns:350px 1fr}.textarea .inputBox{width:100%;min-height:45px}.textarea .PagePreferences__settingAction{margin-bottom:0}.mh-utils-settings-subheader{padding-top:10px;padding-bottom:10px;font-size:10px;color:#848484}.settingRow-action-inputContainer.inputText{display:flex;gap:5px;align-items:stretch}.mh-utils-settings-refresh-message{position:fixed;right:0;bottom:0;left:0;z-index:5;padding:1em;font-size:1.5em;text-align:center;pointer-events:none;background-color:#d6f2d6;border-top:1px solid #6cc36c;opacity:1;transition:opacity .5s ease-in-out}.mh-utils-settings-refresh-message-hidden{opacity:0}.mh-ui-success-message.setting-link-copied{position:absolute;top:10px;display:inline;padding:3px;margin-left:9px}\n";
}
});

// src/utils/settings-markup.js
var hasAddedSettingsStyles, addSettingStyles, saveSettingDirectAndToggleClass, addSettingsTab, addSettingsTabOnce, addSetting, makeToggle, makeSettingToggle, makeSettingRowSelect, makeSettingInput, makeSettingTextArea, makeSettingMultiToggle, makeSettingBlank, addSettingOnce, fadeInTimeout, fadeOutTimeout, removeTimeout, addSettingRefreshReminder, addSettingForModule;
var init_settings_markup = __esm({
"src/utils/settings-markup.js"() {
init_page();
init_settings();
init_styles();
init_event_registry();
init_elements();
init_events();
init_settings2();
init_settings3();
init_messages();
hasAddedSettingsStyles = false;
addSettingStyles = () => {
  if (hasAddedSettingsStyles) {
    return;
  }
  hasAddedSettingsStyles = true;
  addStylesDirect(settings_default2, "mh-improved-styles-settings");
};
saveSettingDirectAndToggleClass = (node, key, value, identifier = "mh-utils-settings") => {
  node.parentNode.parentNode.classList.add("busy");
  saveSettingDirect(key, value, identifier);
  doEvent2("mh-improved-settings-changed", {
    key,
    value,
    tab: identifier,
    type: "toggle"
  });
  doEvent2(`mh-improved-settings-changed-${key}`, value);
  node.parentNode.parentNode.classList.remove("busy");
  node.parentNode.parentNode.classList.add("completed");
  setTimeout(() => {
    node.parentNode.parentNode.classList.remove("completed");
  }, 1e3);
  addSettingRefreshReminder(key);
};
addSettingsTab = (identifier = "userscript-settings", name = "Userscript Settings") => {
  addSettingStyles();
  addSettingsTabOnce(identifier, name);
  onPageChange({ preferences: { show: () => addSettingsTabOnce(identifier, name) } });
  return identifier;
};
addSettingsTabOnce = (identifier = "userscript-settings", name = "Userscript Settings") => {
  if ("preferences" !== getCurrentPage()) {
    return;
  }
  const existingSettings = document.querySelector(`#${identifier}`);
  if (existingSettings) {
    return;
  }
  const tabsContainer = document.querySelector(".mousehuntHud-page-tabHeader-container");
  if (!tabsContainer) {
    return;
  }
  const tabsContentContainer = document.querySelector(".mousehuntHud-page-tabContentContainer");
  if (!tabsContentContainer) {
    return;
  }
  identifier = identifier.replaceAll(/[^\w-]/gi, "");
  const settingsTab = document.createElement("a");
  settingsTab.id = identifier;
  settingsTab.href = "#";
  settingsTab.classList.add("mousehuntHud-page-tabHeader", identifier);
  settingsTab.setAttribute("data-tab", identifier);
  settingsTab.setAttribute("onclick", "hg.utils.PageUtil.onclickPageTabHandler(this); return false;");
  const settingsTabText = document.createElement("span");
  settingsTabText.innerText = name;
  settingsTab.append(settingsTabText);
  tabsContainer.append(settingsTab);
  const settingsTabContent = document.createElement("div");
  settingsTabContent.classList.add("mousehuntHud-page-tabContent", "game_settings", identifier);
  settingsTabContent.setAttribute("data-tab", identifier);
  tabsContentContainer.append(settingsTabContent);
  if (identifier === getCurrentTab()) {
    const tab = document.querySelector(`#${identifier}`);
    if (tab) {
      tab.click();
    }
  }
};
addSetting = (options) => {
  onPageChange({ preferences: { show: () => addSettingOnce(options) } });
  return addSettingOnce(options);
};
makeToggle = (toggleKey, toggleDefaultValue, toggleTab, settingRow = false) => {
  const settingRowInputCheckbox = makeElement("div", "mousehuntSettingSlider");
  const currentSetting = getSettingDirect(toggleKey, null, toggleTab);
  if (currentSetting) {
    settingRowInputCheckbox.classList.add("active");
    if (settingRow) {
      settingRow.classList.add("active");
    }
  } else if (null === currentSetting && toggleDefaultValue) {
    settingRowInputCheckbox.classList.add("active");
    if (settingRow) {
      settingRow.classList.add("active");
    }
  }
  settingRowInputCheckbox.onclick = (event) => {
    const isSettingActive = event.target.classList.contains("active");
    event.target.classList.toggle("active");
    if (settingRow) {
      settingRow.classList.toggle("active");
    }
    saveSettingDirectAndToggleClass(event.target, toggleKey, !isSettingActive, toggleTab);
  };
  return settingRowInputCheckbox;
};
makeSettingToggle = ({ key, defaultValue, tab, settings }) => {
  const settingRowInput = makeElement("div", "settingRow-action-inputContainer");
  const settingRowInputCheckbox = makeToggle(key, defaultValue, tab, settings);
  settingRowInput.append(settingRowInputCheckbox);
  return settingRowInput;
};
makeSettingRowSelect = ({ key, tab, defaultValue, settingSettings }) => {
  const settingRowInputWrapper = makeElement("div", "settingRow-action-inputContainer");
  const settingRowInput = makeElement("div", "settingRow-action-inputContainer");
  const settingRowInputDropdown = document.createElement("div");
  settingRowInputDropdown.classList.add("inputBoxContainer");
  if (settingSettings.type === "multi-select") {
    settingRowInputDropdown.classList.add("multiSelect");
    settingRowInput.classList.add("multiSelect", "select");
  }
  let amount = 1;
  if (settingSettings.type === "multi-select" && settingSettings.number) {
    amount = settingSettings.number;
  }
  const makeOption = (option, foundSelected, currentSetting, dValue, i) => {
    const settingRowInputDropdownSelectOption = document.createElement("option");
    settingRowInputDropdownSelectOption.value = option.value;
    settingRowInputDropdownSelectOption.textContent = option.name;
    settingRowInputDropdownSelectOption.disabled = option.disabled || false;
    if (currentSetting && currentSetting === option.value) {
      settingRowInputDropdownSelectOption.selected = true;
      foundSelected = true;
    } else if (!foundSelected && dValue && dValue[i] && dValue[i].value === option.value) {
      settingRowInputDropdownSelectOption.selected = true;
      foundSelected = true;
    }
    return {
      settingRowInputDropdownSelectOption,
      foundSelected
    };
  };
  for (let i = 0; i < amount; i++) {
    const settingRowInputDropdownSelect = document.createElement("select");
    settingRowInputDropdownSelect.classList.add("inputBox");
    if (settingSettings.type === "multi-select") {
      settingRowInputDropdownSelect.classList.add("multiSelect");
    }
    const currentSetting = getSetting(`${key}-${i}`, null, tab);
    let foundSelected = false;
    settingSettings.options.forEach((option) => {
      if (option.value === "group") {
        const settingRowInputDropdownSelectOptgroup = document.createElement("optgroup");
        settingRowInputDropdownSelectOptgroup.label = option.name;
        option.options.forEach((optgroupOption) => {
          const result = makeOption(optgroupOption, foundSelected, currentSetting, defaultValue, i);
          foundSelected = result.foundSelected;
          settingRowInputDropdownSelectOptgroup.append(result.settingRowInputDropdownSelectOption);
        });
        settingRowInputDropdownSelect.append(settingRowInputDropdownSelectOptgroup);
      } else {
        const result = makeOption(option, foundSelected, currentSetting, defaultValue, i);
        foundSelected = result.foundSelected;
        settingRowInputDropdownSelect.append(result.settingRowInputDropdownSelectOption);
      }
    });
    settingRowInputDropdown.append(settingRowInputDropdownSelect);
    let timeout = null;
    settingRowInputDropdownSelect.onchange = (event) => {
      const parent = settingRowInputDropdownSelect.parentNode.parentNode.parentNode;
      parent.classList.add("inputDropdownWrapper");
      parent.classList.add("busy");
      saveSettingDirect(`${key}-${i}`, event.target.value, tab);
      doEvent2("mh-improved-settings-changed", {
        key: `${key}-${i}`,
        value: event.target.value,
        tab,
        type: "multi-select"
      });
      parent.classList.remove("busy");
      parent.classList.add("completed");
      clearTimeout(timeout);
      timeout = setTimeout(() => {
        parent.classList.remove("completed");
      }, 1e3);
    };
    settingRowInput.append(settingRowInputDropdown);
    settingRowInputWrapper.append(settingRowInput);
  }
  return settingRowInputWrapper;
};
makeSettingInput = ({ key, tab, defaultValue }) => {
  const settingRowInput = makeElement("div", ["settingRow-action-inputContainer", "inputText"]);
  const settingRowInputText = makeElement("input", "inputBox");
  settingRowInputText.value = getSettingDirect(key, defaultValue, tab);
  const inputSaveButton = makeElement("button", ["mousehuntActionButton", "tiny", "inputSaveButton"]);
  makeElement("span", "", "Save", inputSaveButton);
  let timeout = null;
  inputSaveButton.addEventListener("click", (event) => {
    const parent = event.target.parentNode.parentNode.parentNode;
    parent.classList.add("inputDropdownWrapper");
    parent.classList.add("inputTextWrapper");
    parent.classList.add("busy");
    parent.classList.remove("completed");
    saveSettingDirect(key, settingRowInputText.value, tab);
    doEvent2("mh-improved-settings-changed", {
      key,
      value: settingRowInputText.value,
      tab,
      type: "input"
    });
    parent.classList.remove("busy");
    parent.classList.add("completed");
    clearTimeout(timeout);
    timeout = setTimeout(() => {
      parent.classList.remove("completed");
    }, 1e3);
    addSettingRefreshReminder(key);
  });
  settingRowInput.classList.add("inputText");
  settingRowInput.append(settingRowInputText);
  settingRowInput.append(inputSaveButton);
  return settingRowInput;
};
makeSettingTextArea = ({ key, tab, defaultValue }) => {
  const settingRowInput = makeElement("div", ["settingRow-action-inputContainer", "textarea"]);
  const settingRowInputText = makeElement("textarea", "inputBox");
  settingRowInputText.value = getSetting(key, defaultValue);
  const inputSaveButton = makeElement("button", ["mousehuntActionButton", "tiny", "inputSaveButton"]);
  makeElement("span", "", "Save", inputSaveButton);
  let timeout = null;
  inputSaveButton.addEventListener("click", (event) => {
    const parent = event.target.parentNode.parentNode.parentNode;
    parent.classList.add("inputDropdownWrapper");
    parent.classList.add("inputTextWrapper");
    parent.classList.remove("completed");
    parent.classList.add("busy");
    saveSettingDirect(key, settingRowInputText.value, tab);
    doEvent2("mh-improved-settings-changed", {
      key,
      value: settingRowInputText.value,
      tab,
      type: "textarea"
    });
    parent.classList.remove("busy");
    parent.classList.add("completed");
    clearTimeout(timeout);
    timeout = setTimeout(() => {
      parent.classList.remove("completed");
    }, 1e3);
    addSettingRefreshReminder(key);
  });
  settingRowInput.append(settingRowInputText);
  settingRowInput.append(inputSaveButton);
  return settingRowInput;
};
makeSettingMultiToggle = ({ key, tab, settingSettings }) => {
  const multiToggleWrapper = makeElement("div", "multi-toggle");
  const multiToggleRow = makeElement("div", ["PagePreferences__settingsList", "multi-toggle-row"]);
  settingSettings.options.forEach((option) => {
    const optionSettingRow = makeElement("div", "PagePreferences__settingsList");
    const optionSettingRowLabel = makeElement("div", "PagePreferences__settingLabel");
    makeElement("div", "PagePreferences__settingName", option.name, optionSettingRowLabel);
    optionSettingRow.append(optionSettingRowLabel);
    const optionSettingRowAction = makeElement("div", "PagePreferences__settingAction");
    const optionSettingRowInput = makeElement("div", "settingRow-action-inputContainer");
    const settingRowInputCheckbox = makeToggle(`${key}-${option.id}`, option.value, tab);
    optionSettingRowInput.append(settingRowInputCheckbox);
    optionSettingRowAction.append(optionSettingRowInput);
    optionSettingRow.append(optionSettingRowAction);
    multiToggleRow.append(optionSettingRow);
  });
  multiToggleWrapper.append(multiToggleRow);
  return multiToggleWrapper;
};
makeSettingBlank = ({ section, key }) => {
  const action = makeElement("div", ["blank", "blankSetting"], "");
  action.id = `${section.id}-${key}-blank`;
  return action;
};
addSettingOnce = (options) => {
  addSettingStyles();
  const name = options.name;
  const key = options.id;
  const defaultValue = options.default || null;
  const description = options.description || "";
  const tab = "mousehunt-improved-settings";
  const settingSettings = options.subsettings || null;
  const container = document.querySelector(`.mousehuntHud-page-tabContent.${tab}`);
  if (!container) {
    return false;
  }
  const section = {
    id: options.module.id,
    name: options.module.name || "",
    description: options.module.description || "",
    subSetting: options.module.subSetting || false
  };
  section.id = `${tab}-${section.id.replaceAll(/[^\w-]/gi, "")}`;
  let sectionExists = document.querySelector(`#${section.id}-wrapper`);
  if (!sectionExists) {
    const title = makeElement("div", "PagePreferences__title");
    title.id = section.id;
    makeElement("h3", "PagePreferences__titleText", section.name, title);
    makeElement("div", "PagePreferences__separator", "", title);
    container.append(title);
    if (section.description) {
      const settingSubHeader = makeElement("h4", ["settings-subheader", "mh-utils-settings-subheader"], section.description);
      title.after(settingSubHeader);
    }
    const settingsWrapper = makeElement("div", "PagePreferences__settingsWrapper");
    settingsWrapper.id = `${section.id}-wrapper`;
    container.append(settingsWrapper);
    title.append(settingsWrapper);
    sectionExists = document.querySelector(`#${section.id}-wrapper`);
  }
  const keySafe = key.replaceAll(".", "-");
  const settingExists = document.querySelector(`#${section.id}-${keySafe}`);
  if (settingExists) {
    return settingExists;
  }
  const settings = makeElement("div", ["PagePreferences__settingsList", `PagePreferences__settingsList-${keySafe}`, `PagePreferences__settingsList-${section.id}`]);
  settings.id = `${section.id}-${keySafe}`;
  if (section.subSetting) {
    settings.classList.add("PagePreferences__subSetting");
  }
  if (settingSettings && settingSettings.type) {
    settings.classList.add(`PagePreferences__settingsList-${settingSettings.type}`);
  }
  const settingRow = makeElement("div", "PagePreferences__setting");
  const settingRowLabel = makeElement("div", "PagePreferences__settingLabel");
  const settingName = makeElement("div", "PagePreferences__settingName");
  const settingNameText = makeElement("a", "PagePreferences__settingNameText", name);
  settingNameText.href = `#${section.id}-${keySafe}`;
  settingNameText.setAttribute("data-setting", key);
  settingNameText.setAttribute("data-tab", tab);
  settingNameText.setAttribute("data-default", defaultValue);
  settingName.append(settingNameText);
  settingNameText.addEventListener("click", (event) => {
    event.preventDefault();
    navigator.clipboard.writeText(`${window.location.href}#${section.id}-${keySafe}`);
    showSuccessMessage({
      message: "Copied link to clipboard",
      append: settingNameText,
      after: true,
      classname: "setting-link-copied"
    });
  });
  const defaultSettingText = makeElement("div", "PagePreferences__settingDefault");
  if (settingSettings && (settingSettings.type === "select" || settingSettings.type === "multi-select")) {
    defaultSettingText.textContent = defaultValue.map((item) => item.name).join(", ");
  } else {
    defaultSettingText.textContent = defaultValue ? "Enabled" : "Disabled";
  }
  defaultSettingText.textContent = `Default setting: ${defaultSettingText.textContent}`;
  const settingDescription = makeElement("div", "PagePreferences__settingDescription");
  settingDescription.innerHTML = description;
  if (description.trim() === "") {
    settingDescription.classList.add("empty-description");
  }
  settingRowLabel.append(settingName);
  settingRowLabel.append(defaultSettingText);
  settingRowLabel.append(settingDescription);
  const settingRowAction = makeElement("div", "PagePreferences__settingAction");
  if (settingSettings) {
    if (settingSettings.type === "select" || settingSettings.type === "multi-select") {
      settingRowAction.append(makeSettingRowSelect({ key, tab, defaultValue, settingSettings }));
    } else if (settingSettings.type === "input") {
      settingRowAction.append(makeSettingInput({ key, tab, defaultValue }));
    } else if (settingSettings.type === "textarea") {
      settingRowAction.append(makeSettingTextArea({ key, tab, defaultValue }));
    } else if (settingSettings.type === "multi-toggle") {
      settingRowAction.append(makeSettingMultiToggle({ key, tab, settingSettings }));
    } else if (settingSettings.type === "blank") {
      settingRowAction.append(makeSettingBlank({ section, key }));
    } else {
      settingRowAction.append(makeSettingToggle({ key, defaultValue, tab, settings }));
    }
  } else {
    settingRowAction.append(makeSettingToggle({ key, defaultValue, tab, settings }));
  }
  settingRow.append(settingRowLabel);
  settingRow.append(settingRowAction);
  settings.append(settingRow);
  sectionExists.append(settings);
  doEvent2("mh-improved-setting-added-to-page", {
    name,
    key,
    defaultValue,
    description,
    section,
    tab,
    settings
  });
  return settings;
};
fadeInTimeout = null;
fadeOutTimeout = null;
removeTimeout = null;
addSettingRefreshReminder = (key) => {
  const noReminder = settings_default["no-reminders"] || [];
  if (noReminder.includes(key)) {
    return;
  }
  addSettingStyles();
  let refreshMessage = document.querySelector("#mh-utils-settings-refresh-message");
  if (!refreshMessage) {
    const newMessageEl = makeElement("div", ["mh-utils-settings-refresh-message", "mh-ui-fade"], "You may need to refresh the page for some settings to take effect.");
    newMessageEl.id = "mh-utils-settings-refresh-message";
    const body = document.querySelector("body");
    body.append(newMessageEl);
    refreshMessage = document.querySelector("#mh-utils-settings-refresh-message");
  }
  clearTimeout(fadeInTimeout);
  clearTimeout(fadeOutTimeout);
  clearTimeout(removeTimeout);
  fadeInTimeout = setTimeout(() => {
    refreshMessage.classList.add("mh-ui-fade-in");
  }, 250);
  fadeOutTimeout = setTimeout(() => {
    refreshMessage.classList.remove("mh-ui-fade-in");
    refreshMessage.classList.add("mh-ui-fade-out");
  }, 3e3);
  removeTimeout = setTimeout(() => {
    refreshMessage.remove();
  }, 5e3);
};
addSettingForModule = (module) => __async(void 0, null, function* () {
  for (const submodule of module.modules) {
    let moduleSettingRow = null;
    if (!submodule.alwaysLoad && !submodule.beta) {
      moduleSettingRow = yield addSetting({
        name: submodule.name,
        id: submodule.id,
        group: submodule.group,
        default: submodule.default,
        description: submodule.description,
        module
      });
    }
    if (submodule.settings) {
      const subSettingsGroup = yield submodule.settings(module);
      if (!subSettingsGroup) {
        continue;
      }
      for (const subSettings of subSettingsGroup) {
        const subSettingRow = yield addSetting({
          name: subSettings.title,
          id: subSettings.id,
          group: submodule.group || false,
          default: subSettings.default,
          description: subSettings.description,
          module: __spreadProps(__spreadValues({}, module), {
            subSetting: true
          }),
          subsettings: subSettings.settings
        });
        if (moduleSettingRow && subSettingRow) {
          moduleSettingRow.append(subSettingRow);
        }
      }
    }
  }
});
}
});

// src/utils/templates.js
var replaceInTemplate;
var init_templates = __esm({
"src/utils/templates.js"() {
replaceInTemplate = (templateId, replacements) => {
  let templateContent = hg.utils.TemplateUtil.getTemplate(templateId);
  replacements.forEach((replacement) => {
    templateContent = templateContent.replace(replacement[0], replacement[1]);
  });
  hg.utils.TemplateUtil.addTemplate(templateId, templateContent);
};
}
});

// src/utils/user.js
var getUserItems, getUserSetupDetails, normalizeTitle, isUserTitleAtLeast, getAnonymousUserHash;
var init_user = __esm({
"src/utils/user.js"() {
init_page();
getUserItems = (items2, forceUpdate = false) => __async(void 0, null, function* () {
  return new Promise((resolve) => {
    hg.utils.UserInventory.getItems(items2, (resp) => {
      resolve(resp);
    }, (err) => {
      console.error("Error getting user items:", err);
      resolve([]);
    }, forceUpdate);
  });
});
getUserSetupDetails = () => {
  const userObj = user;
  const setup = {
    type: userObj.trap_power_type_name,
    stats: {
      power: userObj.trap_power,
      powerBonus: userObj.trap_power_bonus,
      luck: userObj.trap_luck,
      attractionBonus: userObj.trap_attraction_bonus,
      cheeseEfect: userObj.trap_cheese_effect
    },
    bait: {
      id: Number.parseInt(userObj.bait_item_id),
      name: userObj.bait_name,
      quantity: Number.parseInt(userObj.bait_quantity),
      power: 0,
      powerBonus: 0,
      luck: 0,
      attractionBonus: 0
    },
    base: {
      id: Number.parseInt(userObj.base_item_id),
      name: userObj.base_name,
      power: 0,
      powerBonus: 0,
      luck: 0,
      attractionBonus: 0
    },
    charm: {
      id: Number.parseInt(userObj.trinket_item_id),
      name: userObj.trinket_name,
      quantity: Number.parseInt(userObj.trinket_quantity),
      power: 0,
      powerBonus: 0,
      luck: 0,
      attractionBonus: 0
    },
    weapon: {
      id: Number.parseInt(userObj.weapon_item_id),
      name: userObj.weapon_name,
      power: 0,
      powerBonus: 0,
      luck: 0,
      attractionBonus: 0
    },
    aura: {
      lgs: {
        active: false,
        power: 0,
        powerBonus: 0,
        luck: 0
      },
      lightning: {
        active: false,
        power: 0,
        powerBonus: 0,
        luck: 0
      },
      chrome: {
        active: false,
        power: 0,
        powerBonus: 0,
        luck: 0
      },
      slayer: {
        active: false,
        power: 0,
        powerBonus: 0,
        luck: 0
      },
      festive: {
        active: false,
        power: 0,
        powerBonus: 0,
        luck: 0
      },
      luckycodex: {
        active: false,
        power: 0,
        powerBonus: 0,
        luck: 0
      },
      riftstalker: {
        active: false,
        power: 0,
        powerBonus: 0,
        luck: 0
      }
    },
    location: {
      name: userObj.environment_name,
      id: userObj.environment_id,
      slug: userObj.environment_type
    }
  };
  if ("camp" !== getCurrentPage()) {
    return setup;
  }
  const calculations = document.querySelectorAll(".campPage-trap-trapStat");
  if (!calculations) {
    return setup;
  }
  calculations.forEach((calculation) => {
    if (calculation.classList.length <= 1) {
      return;
    }
    const type = calculation.classList[1];
    const math = calculation.querySelectorAll(".math .campPage-trap-trapStat-mathRow");
    if (!math) {
      return;
    }
    math.forEach((row) => {
      if (row.classList.contains("label")) {
        return;
      }
      let value = row.querySelector(".campPage-trap-trapStat-mathRow-value");
      let name = row.querySelector(".campPage-trap-trapStat-mathRow-name");
      if (!value || !name || !name.innerText) {
        return;
      }
      name = name.innerText;
      value = value.innerText || "0";
      let tempType = type;
      let isBonus = false;
      if (value.includes("%")) {
        tempType = type + "Bonus";
        isBonus = true;
      }
      tempType = tempType.replace("_bonusBonus", "Bonus");
      value = value.replace("%", "");
      value = value.replace(",", "");
      value = Number.parseInt(value * 100) / 100;
      if (tempType === "attractionBonus") {
        value = value / 100;
      }
      if (setup.weapon.name === name) {
        setup.weapon[tempType] = value;
      } else if (setup.base.name === name) {
        setup.base[tempType] = value;
      } else if (setup.charm.name === name) {
        setup.charm[tempType] = value;
      } else if (setup.bait.name === name) {
        setup.bait[tempType] = value;
      } else if ("Your trap has no cheese effect bonus." === name) {
        setup.cheeseEffect = "No Effect";
      } else {
        let auraType = name.replace(" Aura", "");
        if (!auraType) {
          return;
        }
        auraType = auraType.toLowerCase();
        auraType = auraType.replaceAll(" ", "_");
        auraType = auraType.replaceAll(/\W/gi, "");
        auraType = auraType.replace("golden_luck_boost", "lgs");
        auraType = auraType.replace("2023_lucky_codex", "luckycodex");
        auraType = auraType.replace("_set_bonus_2_pieces", "");
        auraType = auraType.replace("_set_bonus_3_pieces", "");
        if (setup.aura[auraType]) {
          setup.aura[auraType].active = true;
          setup.aura[auraType].type = auraType;
        } else {
          setup.aura[auraType] = {
            active: true,
            type: auraType,
            power: 0,
            powerBonus: 0,
            luck: 0
          };
        }
        value = Number.parseInt(value);
        if (isBonus) {
          value = value / 100;
        }
        setup.aura[auraType][tempType] = value;
      }
    });
  });
  return setup;
};
normalizeTitle = (title = "") => {
  if (!title) {
    return "";
  }
  const normalizedTitle = title.toLowerCase().replaceAll(" ", "").replaceAll("/", "_").replaceAll("journeyman_journeywoman", "journeyman").replaceAll("journeywoman", "journeyman").replaceAll("lord_lady", "lord").replaceAll("lady", "lord").replaceAll("baron_baroness", "baron").replaceAll("baroness", "baron").replaceAll("count_countess", "count").replaceAll("countess", "count").replaceAll("grand_duke_grand_duchess", "grand_duke").replaceAll("grand_duchess", "grand_duke").replaceAll("archduke_archduchess", "archduke").replaceAll("archduchess", "archduke").replaceAll("duke_duchess", "duke").replaceAll("duke_dutchess", "duke").replaceAll("duchess", "duke").replaceAll("grand_duke", "grandduke").replaceAll("/", "").replaceAll(" ", "").toLowerCase();
  return normalizedTitle;
};
isUserTitleAtLeast = (title) => {
  const titles = [
    "novice",
    "recruit",
    "apprentice",
    "initiate",
    "journeyman",
    "master",
    "grandmaster",
    "legendary",
    "hero",
    "knight",
    "lord",
    "baron",
    "count",
    "duke",
    "grandduke",
    "archduke",
    "viceroy",
    "elder",
    "sage",
    "fable"
  ];
  const titleIndex = titles.indexOf(normalizeTitle(user.title_name));
  const checkIndex = titles.indexOf(normalizeTitle(title));
  return titleIndex >= checkIndex;
};
getAnonymousUserHash = () => __async(void 0, null, function* () {
  if (typeof user === "undefined" || !(user == null ? void 0 : user.user_id)) {
    return "";
  }
  const msgUint8 = new TextEncoder().encode(user.user_id.toString().trim());
  const hashBuffer = yield crypto.subtle.digest("SHA-256", msgUint8);
  const hashArray = [...new Uint8Array(hashBuffer)];
  userHash = hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
  return userHash;
});
}
});

// src/utils/utils.js
function isAppleOS(_window = null) {
if (!_window) {
if (typeof window === "undefined") {
  return false;
}
_window = window;
}
const { platform } = _window.navigator;
return platform.includes("Mac") || ["iPad", "iPhone"].includes(platform);
}
var isApp, isUnsupportedFile, isiFrame, isLegacyHUD, isLoggedIn, isOverlayVisible, bodyClasses, addBodyClass, removeBodyClass, getTradableItems, doRequest, sleep, hasMiniCRE, uppercaseFirstLetter, setMultipleTimeout, refreshPage;
var init_utils = __esm({
"src/utils/utils.js"() {
init_data();
init_events();
init_page();
isApp = () => {
  return typeof app !== "undefined" && typeof user !== "undefined" && typeof hg !== "undefined" && typeof eventRegistry !== "undefined";
};
isUnsupportedFile = (path = false) => {
  path = path || window.location.pathname;
  if ("puzzleimage.php" === path) {
    return true;
  }
  return path.match(/\.(jpeg|jpg|gif|png|svg|json|css|js)$/i);
};
isiFrame = () => {
  return window.self !== window.top;
};
isLegacyHUD = () => {
  var _a, _b;
  if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.isLegacy)) {
    return false;
  }
  return hg.utils.PageUtil.isLegacy();
};
isLoggedIn = () => {
  return user.length > 0 && "login" !== getCurrentPage();
};
isOverlayVisible = () => {
  return activejsDialog && activejsDialog.isVisible();
};
bodyClasses = { added: [], removed: [] };
addBodyClass = (className, force = false) => {
  if (!force && (bodyClasses.removed.includes(className) || bodyClasses.added.includes(className))) {
    return;
  }
  bodyClasses.added.push(className);
  const addClass2 = () => {
    document.body.classList.add(className);
  };
  addClass2();
  onNavigation(addClass2);
  onTravel(null, {
    /**
      * Callback to add the class after travel.
      */
    callback: () => {
      setTimeout(addClass2, 500);
    }
  });
};
removeBodyClass = (className) => {
  bodyClasses.added = bodyClasses.added.filter((c) => c !== className);
  bodyClasses.removed.push(className);
  document.body.classList.remove(className);
};
getTradableItems = (valueKey = "all") => __async(void 0, null, function* () {
  const tradableItems = yield getData("items-tradable");
  tradableItems.sort((a, b) => {
    return a.name.localeCompare(b.name);
  });
  if ("all" === valueKey) {
    return tradableItems;
  }
  const returnItems = [];
  for (const item of tradableItems) {
    returnItems.push({
      name: item.name,
      value: item[valueKey]
    });
  }
  return returnItems;
});
doRequest = (_0, ..._1) => __async(void 0, [_0, ..._1], function* (url, formData = {}) {
  var _a;
  if ("undefined" === typeof lastReadJournalEntryId || "undefined" === typeof user) {
    return;
  }
  if (!lastReadJournalEntryId || !user || !(user == null ? void 0 : user.unique_hash)) {
    return;
  }
  const form = new FormData();
  form.append("sn", "Hitgrab");
  form.append("hg_is_ajax", 1);
  form.append("last_read_journal_entry_id", lastReadJournalEntryId != null ? lastReadJournalEntryId : 0);
  form.append("uh", (_a = user == null ? void 0 : user.unique_hash) != null ? _a : "");
  for (const key in formData) {
    form.append(key, formData[key]);
  }
  const requestBody = new URLSearchParams(form).toString();
  const response = yield fetch(
    callbackurl ? callbackurl + url : "https://www.mousehuntgame.com/" + url,
    {
      method: "POST",
      body: requestBody,
      headers: {
        "Content-Type": "application/x-www-form-urlencoded"
      }
    }
  );
  const data = yield response.json();
  return data;
});
sleep = (ms) => __async(void 0, null, function* () {
  return new Promise((resolve) => setTimeout(resolve, ms));
});
hasMiniCRE = () => {
  const hasMiniCre = sessionGet("has-mini-cre");
  if (hasMiniCre) {
    return true;
  }
  if ("camp" !== getCurrentPage()) {
    return;
  }
  const cre = document.querySelector(".min-luck-button");
  if (!cre) {
    sessionSet("has-mini-cre", false);
    return false;
  }
  sessionSet("has-mini-cre", true);
  return true;
};
uppercaseFirstLetter = (string) => {
  return string.charAt(0).toUpperCase() + string.slice(1);
};
setMultipleTimeout = (fn, ms) => {
  if (!Array.isArray(ms)) {
    ms = [ms];
  }
  ms.forEach((time) => {
    setTimeout(fn, time);
  });
};
refreshPage = (delay = 0) => {
  setTimeout(() => {
    window.location.reload();
  }, delay);
};
}
});

// src/utils/shared/trap-quantity.js
var getIdSelector, addQuantityToDisplay, addQuantityToTrapBrowserItem, addQtyToTrapBrowser, addTrapQuantity;
var init_trap_quantity = __esm({
"src/utils/shared/trap-quantity.js"() {
init_utils2();
getIdSelector = (itemId, bases) => {
  if (Array.isArray(bases)) {
    bases = bases.join("-");
  }
  return `mh-improved-${itemId}-${bases}-counter`;
};
addQuantityToDisplay = (itemId, bases) => __async(void 0, null, function* () {
  var _a;
  if ("camp" !== getCurrentPage() || !itemId || !bases) {
    return;
  }
  const selector = getIdSelector(itemId, bases);
  const existingCounter = document.querySelector(`.${selector}`);
  if (existingCounter) {
    existingCounter.remove();
  }
  bases = bases.map((base) => Number.parseInt(base, 10));
  const userBase = Number.parseInt(user.base_item_id, 10);
  if (!bases.includes(userBase)) {
    return;
  }
  const details = yield getUserItems([itemId], true);
  const amount = ((_a = details[0]) == null ? void 0 : _a.quantity) || 0;
  cacheSet2(`${itemId}-quantity`, amount);
  const counter = document.querySelector(`.${selector}-text`);
  if (counter) {
    counter.textContent = amount;
    return;
  }
  const trapContainer = document.querySelector('.trapSelectorView__armedItem[data-item-classification="base"] .trapSelectorView__armedItemImage');
  if (!trapContainer) {
    return;
  }
  const newCounter = makeElement("div", ["trapSelectorView__armedItemQuantity", selector]);
  makeElement("span", `${selector}-text`, amount.toLocaleString(), newCounter);
  trapContainer.append(newCounter);
});
addQuantityToTrapBrowserItem = (el, itemId, base) => __async(void 0, null, function* () {
  if (!el || !itemId || !base) {
    return;
  }
  const selector = getIdSelector(itemId, base);
  let qty = yield cacheGet(`${itemId}-quantity`, 0);
  qty = Number.parseInt(qty, 10);
  const exists = document.querySelector(`.${selector}-blueprint`);
  if (exists) {
    exists.textContent = qty.toLocaleString();
    return;
  }
  const counter = makeElement("div", "campPage-trap-itemBrowser-favorite-item-quantity");
  makeElement("span", ["campPage-trap-baitQuantity", `${selector}-blueprint`], qty.toLocaleString(), counter);
  el.append(counter);
});
addQtyToTrapBrowser = (tab, opts) => __async(void 0, null, function* () {
  if ("item_browser" !== tab || !opts.itemId || !opts.baseSlugs) {
    return;
  }
  opts.baseSlugs.forEach((base) => __async(void 0, null, function* () {
    const el = document.querySelector(`.campPage-trap-itemBrowser-item-image[data-item-type="${base}"]`);
    if (!el) {
      return;
    }
    addQuantityToTrapBrowserItem(el, opts.itemId, base);
  }));
  opts.baseIds.forEach((base) => __async(void 0, null, function* () {
    const faveEl = document.querySelector(`.campPage-trap-itemBrowser-favorite-item-image[data-item-id="${base}"]`);
    if (!faveEl) {
      return;
    }
    addQuantityToTrapBrowserItem(faveEl, opts.itemId, base);
  }));
});
addTrapQuantity = (opts) => __async(void 0, null, function* () {
  const run4 = () => {
    addQuantityToDisplay(opts.itemId, opts.baseIds);
  };
  run4();
  onRequest("users/changetrap.php", () => {
    run4();
    setTimeout(run4, 500);
    const trapSelector = document.querySelector('.trapSelectorView__blueprint.trapSelectorView__blueprint--active .trapSelectorView__browserStateParent--items[data-blueprint-type="base"]');
    if (trapSelector) {
      addQtyToTrapBrowser("item_browser", opts);
    }
  });
  onTurn(run4, 150);
  onEvent("camp_page_toggle_blueprint", (tab) => __async(void 0, null, function* () {
    return addQtyToTrapBrowser(tab, opts);
  }));
});
}
});

// src/utils/index.js
var utils_exports = {};
__export(utils_exports, {
addBodyClass: () => addBodyClass,
addEvent: () => addEvent,
addHudStyles: () => addHudStyles,
addIconToMenu: () => addIconToMenu,
addItemToGameInfoBar: () => addItemToGameInfoBar,
addMHCTData: () => addMHCTData,
addModuleStyles: () => addModuleStyles,
addSetting: () => addSetting,
addSettingForModule: () => addSettingForModule,
addSettingsTab: () => addSettingsTab,
addStyles: () => addStyles,
addStylesDirect: () => addStylesDirect,
addSubmenuDivider: () => addSubmenuDivider,
addSubmenuItem: () => addSubmenuItem,
addTrapQuantity: () => addTrapQuantity,
cacheDelete: () => cacheDelete,
cacheFinishedMap: () => cacheFinishedMap,
cacheGet: () => cacheGet,
cacheSet: () => cacheSet2,
clearCaches: () => clearCaches,
createPopup: () => createPopup,
database: () => database,
databaseDelete: () => databaseDelete,
dbDelete: () => dbDelete,
dbDeleteAll: () => dbDeleteAll,
dbGet: () => dbGet,
dbGetAll: () => dbGetAll,
dbSet: () => dbSet,
debug: () => debug,
debuglog: () => debuglog,
deleteSetting: () => deleteSetting,
doEvent: () => doEvent2,
doRequest: () => doRequest,
fillDataCaches: () => fillDataCaches,
getAnonymousUserHash: () => getAnonymousUserHash,
getArEl: () => getArEl,
getArForMouse: () => getArForMouse,
getCurrentDialog: () => getCurrentDialog,
getCurrentLocation: () => getCurrentLocation,
getCurrentPage: () => getCurrentPage,
getCurrentSubtab: () => getCurrentSubtab,
getCurrentTab: () => getCurrentTab,
getData: () => getData,
getFlag: () => getFlag,
getFlags: () => getFlags,
getGlobal: () => getGlobal,
getHeaders: () => getHeaders2,
getHighestArForMouse: () => getHighestArForMouse,
getLastMaptain: () => getLastMaptain,
getLocationForMouse: () => getLocationForMouse,
getMapData: () => getMapData,
getRelicHunterLocation: () => getRelicHunterLocation,
getSetting: () => getSetting,
getSettingDirect: () => getSettingDirect,
getSettings: () => getSettings,
getTradableItems: () => getTradableItems,
getUserItems: () => getUserItems,
getUserSetupDetails: () => getUserSetupDetails,
hasMiniCRE: () => hasMiniCRE,
isApp: () => isApp,
isAppleOS: () => isAppleOS,
isCurrentPage: () => isCurrentPage,
isLegacyHUD: () => isLegacyHUD,
isLoggedIn: () => isLoggedIn,
isOverlayVisible: () => isOverlayVisible,
isUnsupportedFile: () => isUnsupportedFile,
isUserTitleAtLeast: () => isUserTitleAtLeast,
isiFrame: () => isiFrame,
makeButton: () => makeButton,
makeElement: () => makeElement,
makeElementDraggable: () => makeElementDraggable,
makeFavoriteButton: () => makeFavoriteButton,
makeLink: () => makeLink,
makePage: () => makePage,
makeTooltip: () => makeTooltip,
mapData: () => mapData,
mapModel: () => mapModel,
mapper: () => mapper,
onActivation: () => onActivation,
onDeactivation: () => onDeactivation,
onDialogHide: () => onDialogHide,
onDialogShow: () => onDialogShow,
onEvent: () => onEvent,
onNavigation: () => onNavigation,
onOverlayChange: () => onOverlayChange,
onPageChange: () => onPageChange,
onRequest: () => onRequest,
onSettingsChange: () => onSettingsChange,
onTrapChange: () => onTrapChange,
onTravel: () => onTravel,
onTurn: () => onTurn,
refreshPage: () => refreshPage,
removeBodyClass: () => removeBodyClass,
removeHudStyles: () => removeHudStyles,
removeIconFromMenu: () => removeIconFromMenu,
removeStyles: () => removeStyles,
removeSubmenuItem: () => removeSubmenuItem,
replaceIconInMenu: () => replaceIconInMenu,
replaceInTemplate: () => replaceInTemplate,
saveSetting: () => saveSetting,
saveSettingDirect: () => saveSettingDirect,
sessionGet: () => sessionGet,
sessionSet: () => sessionSet,
setGlobal: () => setGlobal,
setLastMaptain: () => setLastMaptain,
setMapData: () => setMapData,
setMultipleTimeout: () => setMultipleTimeout,
setPage: () => setPage,
setTab: () => setTab,
showErrorMessage: () => showErrorMessage,
showHornMessage: () => showHornMessage,
showLoadingError: () => showLoadingError,
showLoadingPopup: () => showLoadingPopup,
showLoadingPopupError: () => showLoadingPopupError,
showSuccessMessage: () => showSuccessMessage,
showTravelConfirmation: () => showTravelConfirmation,
showTravelConfirmationNoDetails: () => showTravelConfirmationNoDetails,
sleep: () => sleep,
toggleBlueprint: () => toggleBlueprint,
travelTo: () => travelTo,
uppercaseFirstLetter: () => uppercaseFirstLetter
});
var init_utils2 = __esm({
"src/utils/index.js"() {
init_blueprint2();
init_db();
init_data();
init_debug();
init_draggable();
init_elements();
init_events();
init_event_registry();
init_flags();
init_global();
init_horn();
init_links();
init_location();
init_maps();
init_messages();
init_page();
init_settings();
init_settings_markup();
init_styles();
init_templates();
init_user();
init_utils();
init_trap_quantity();
}
});

// src/modules/adblock/styles.css
var styles_default;
var init_styles2 = __esm({
"src/modules/adblock/styles.css"() {
styles_default = `.actionportfolio,.canShare .larryTip,.canShare,.communityGroupView-ad,.journalactions a.actionportfolio,.journalactions a[data-share-type=journal],.journalactions a[data-type=journal],.mousehuntHeaderView-gameBanner,.mousehuntHeaderView-newsTicker,.pageSidebarView .fb-page,.socialLink,.newsPostFacebookContainer,.travelShortcut.QuestSuperBrieFactory,*[src="https://www.mousehuntgame.com//images/ui/buttons/share_green.gif"],*[src="https://www.mousehuntgame.com/images/promo/fbf_live.jpg"],*[src="https://www.mousehuntgame.com/images/promo/fbf_soon.jpg"],a[onclick="hg.utils.PageUtil.setPage('JoinDiscord'); return false;"],a[href="https://www.facebook.com/groups/103701656374148/"],.pageSidebarView-mobileApps,.pageSidebarView-title,.pageSidebarView-block-description #jsDialog-publishToOwnWall,.travelShortcut.QuestHailstoneGolems{display:none}#OnboardArrow.onboardPopup.canShare .closeButton{left:0}
`;
}
});

// src/modules/adblock/index.js
var init2, adblock_default;
var init_adblock = __esm({
"src/modules/adblock/index.js"() {
init_utils2();
init_styles2();
init2 = () => __async(void 0, null, function* () {
  addStyles(styles_default, "adblock");
});
adblock_default = {
  id: "adblock",
  name: "Adblock",
  type: "element-hiding",
  default: false,
  description: "Hides advertisements for Feedback Friday, mobile apps, news ticker, etc.",
  load: init2
};
}
});

// src/modules/better-gifts/settings/index.js
var settings_default3;
var init_settings4 = __esm({
"src/modules/better-gifts/settings/index.js"() {
settings_default3 = () => __async(void 0, null, function* () {
  const orderOptions = [
    {
      name: "Newest to Oldest",
      value: "default"
    },
    {
      name: "Oldest to Newest",
      value: "reverse"
    }
  ];
  const skipBadGiftOptions = [
    {
      name: "Skip all non-GOTD gifts",
      value: "skip"
    },
    {
      name: "Don't skip any gifts",
      value: "no-skip"
    },
    {
      name: "Skip Mozzarella Cheese only",
      value: "mozzarella"
    },
    {
      name: "Skip Stale Cheese only",
      value: "stale"
    },
    {
      name: "Skip Radioactive Sludge only",
      value: "sludge"
    },
    {
      name: "Skip Mozz. Cheese & Stale Cheese",
      value: "mozzarella-stale"
    },
    {
      name: "Skip Mozz. Cheese & Radioactive Sludge",
      value: "mozzarella-sludge"
    },
    {
      name: "Skip Stale Cheese & Radioactive Sludge",
      value: "stale-sludge"
    }
  ];
  return [
    {
      id: "better-gifts.send-order",
      title: "Order to accept/send",
      default: [orderOptions[0]],
      description: "",
      settings: {
        type: "multi-select",
        number: 1,
        options: orderOptions
      }
    },
    {
      id: "better-gifts.ignore-bad-gifts",
      title: "Ignore gifts that aren't the Gift of the Day",
      default: [skipBadGiftOptions[0]],
      description: "",
      settings: {
        type: "multi-select",
        number: 1,
        options: skipBadGiftOptions
      }
    }
  ];
});
}
});

// src/modules/better-gifts/styles.css
var styles_default2;
var init_styles3 = __esm({
"src/modules/better-gifts/styles.css"() {
styles_default2 = '.giftSelectorView-giftContainer .giftSelectorView-gift.gift_of_the_day{width:20%}#bulk-gifting-gift-buttons{position:relative;display:flex;justify-content:flex-end;margin-bottom:10px}#bulk-gifting-gift-buttons .mh-gift-button{padding:0 15px;font-weight:400}#bulk-gifting-gift-buttons .mh-gift-buttons-accept{margin-right:5px}#bulk-gifting-gift-buttons .mh-gift-buttons-paid-gifts{margin-right:10px}.giftSelectorView-inbox-giftContainer{height:auto;min-height:300px;max-height:75vh}.giftSelectorView-inbox-giftRow.complete{height:25px;padding-top:5px;padding-left:15px;border:none;box-shadow:none}.giftSelectorView-inbox-giftRow.complete .giftSelectorView-inbox-gift-thumb{display:inline}.giftSelectorView-inbox-giftRow.complete .itemImage{display:inline-block;width:25px;height:25px}.giftSelectorView-inbox-giftRow.complete .giftSelectorView-inbox-gift-details{width:90%}.mh-gift-buttons-send-random,.mh-gift-buttons-send-faves{margin-top:-2px;margin-left:10px}.giftSelectorView-gift.sendable.gift.gift_of_the_day{flex:1}.giftSelectorView-gift .giftSelectorView-gift-padding{min-width:75px;border:1px solid #dcdcdc;box-shadow:none}.giftSelectorView-gift.gift_of_the_day .giftSelectorView-gift-padding{background-color:#a5e3ff}.giftSelectorView-scroller.giftSelectorView-giftContainer{display:flex;flex-wrap:wrap;justify-content:space-around}.giftSelectorView-gift.gift_of_the_day:hover .giftSelectorView-gift-padding{background-color:#0090ff}body #overlayPopup .giftSelectorView-scroller.giftSelectorView-giftContainer{min-height:unset}.giftSelectorView-friend.complete .giftSelectorView-friend-padding:before{bottom:9px;left:10px;z-index:1;filter:drop-shadow(0 0 3px #b9ff5d) drop-shadow(1px 1px 4px #b9ff5d) drop-shadow(-1px -1px 3px #b9ff5d)}.mh-gift-buttons-clone-wrapper{scrollbar-color:#938f83 #e9e1c6;max-height:calc(75vh - 175px);overflow-y:auto}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift-description{display:flex;flex-direction:column-reverse;align-items:stretch}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift-padding{min-width:unset;padding:0 2px;margin:0;border:none}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift-name{height:unset}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift-name span{padding:5px}.mh-gift-buttons-clone-wrapper .giftSelectorView-content-leftBar-highlightBlock{padding:5px;margin:0 5px 0 10px;background-color:transparent}.mh-gift-buttons-clone-wrapper .giftSelectorView-friendRow-returnCost{bottom:3px}.giftSelectorView-content-leftBar>.giftSelectorView-content-leftBar-highlightBlock:before{position:absolute;inset:0;z-index:1;content:"";border-radius:10px 0 0 10px;box-shadow:0 4px 4px -3px #000}.giftSelectorView-content-leftBar>.giftSelectorView-content-leftBar-highlightBlock{position:relative}.giftSelectorView-friend.complete .giftSelectorView-friend-padding:after,.mh-gift-buttons-clone-wrapper .giftSelectorView-gift.gift_of_the_day .giftSelectorView-gift-padding:after{display:none}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift.gift_of_the_day .giftSelectorView-gift-padding{color:#000;background-color:#fff}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift.gift_of_the_day:hover .giftSelectorView-gift-padding{background-color:#a5e3ff}.giftSelectorView-friend-group-title{padding:3px;font-size:11px}.giftSelectorView-friend-padding,.giftSelectorView-confirmPopup-block-actionItem .giftSelectorView-friend:hover .giftSelectorView-friend-padding{border-radius:0}.giftSelectorView-friend .giftSelectorView-friend-padding{height:35px}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift .itemImage{width:50px;height:50px}.giftSelectorView-gift .itemImage{width:100%;height:80px}.giftSelectorView-friend-name{display:flex;flex-flow:column;align-items:flex-start;justify-content:flex-start;width:unset;height:unset;padding:0 3px;line-height:1.1}.giftSelectorView-friend-name span{display:block}#bulk-gifting-gift-buttons.mh-gift-buttons-send-popup{margin-bottom:0}.giftSelectorView-tabContentContainer .giftSelectorView-tabContent.active .giftSelectorView-actionContainer{display:flex;align-items:center;justify-content:flex-end}#bulk-gifting-gift-buttons.mh-gift-buttons-send-popup button{padding:6px;font-size:12px}a.mousehuntActionButton.giftSelectorView-action-confirm span{display:block;width:auto;min-width:80px}.giftSelectorView-friendRow-returnImage:hover{margin-top:-10px;margin-right:10px;margin-left:0;border:none}.giftSelectorView-claimableGift{min-height:100px}.giftSelectorView-claimableGift.accordion_disabled:after,.giftSelectorView-claimableGift.expanded:after{box-shadow:none}.giftSelectorView-claimableGift.accordion_disabled,.giftSelectorView-claimableGift.expanded{padding:5px;margin-bottom:11px;border:1px solid #ccc;border-radius:3px}.giftSelectorView-claimableGift-title-itemName{font-size:13px}.giftSelectorView-content-subtitle{border-bottom:none}.giftSelectorView-inboxGiftOfTheDay{padding:5px 0;border-color:#d1d0cf}.giftSelectorView-inbox-giftRow.paidgift{background-color:#fff08c;border:none}.giftSelectorView-inbox-gift-details .giftSelectorView-inbox-gift-sent{padding-top:3px}.giftSelectorView-inbox-giftRow{display:flex;align-items:center;justify-content:space-between;min-height:40px}.giftSelectorView-inbox-gift-details{flex:1;width:auto;margin:0 0 0 10px}.giftSelectorView-inbox-giftRow.paidgift .giftSelectorView-inbox-gift-actions{padding-bottom:0}.giftSelectorView-inboxGiftOfTheDay-label{margin-right:5px}.giftSelectorView-inboxGiftOfTheDay-gift{font-size:12px}.giftSelectorView-inboxGiftOfTheDay-gift abbr{text-decoration:none;vertical-align:middle}.paidgift a.giftSelectorView-friendRow-action.return{text-indent:-70px}.giftSelectorView-friendRow-returnQuantity{width:30px}.giftSelectorView-gift.paidgift .giftSelectorView-gift-padding{box-shadow:0 0 1px #000 inset}.giftSelectorView-tabContent.hasSidebar .giftSelectorView-content-rightBar{border-bottom-left-radius:10px}.giftSelectorView-friendRow-sender{position:relative}.giftSelectorView-friendRow:hover{padding-bottom:5px;margin-bottom:7px;border-top-left-radius:0;border-bottom-left-radius:0;outline:1px solid #dfdfdf;box-shadow:none}.giftSelectorView-friend-image{top:-7px;left:-7px;width:33px;height:33px;border:1px solid #bdbdbd}.giftSelectorView-friend-image.paidgift{top:-11px;width:31px;height:31px}#giftSelectorView-inbox{border:1px solid #d1d0cf;box-shadow:0 3px 6px -3px #000}.giftSelectorView-inbox-footer-viewMore a{position:relative;font-weight:400;line-height:24px;text-shadow:0 0 1px #fff;background:none;border:none;border-radius:3px;box-shadow:none}.giftSelectorView-inbox-footer-viewMore{position:absolute;right:10px;width:135px;padding:0;font-size:12px;font-weight:700;line-height:30px;color:#000!important;text-align:center;background:#b3edff;border:1px solid #50549c;border-radius:5px;box-shadow:1px 1px 1px #eee}.giftSelectorView-inbox-footer-viewMore:hover{background-color:#b3f4ff;border-color:#000;box-shadow:0 0 5px #fff inset,1px 1px 1px #fff}.giftSelectorView-inbox-footer-viewMore:before{position:absolute;inset:40% 0 0;content:"";background:#b2e2ff;border-radius:5px;box-shadow:0 0 10px #7bf inset}.giftSelectorView-inbox-footer-viewMore:before:hover{background-color:#a5e2ff;box-shadow:0 0 10px #f0f4f7 inset}.giftSelectorView-inbox-footer{padding-bottom:18px}.giftSelectorView-inbox-giftContainer .mousehuntActionButton.return.disabled,.giftSelectorView-inbox-giftContainer .mousehuntActionButton.claim.disabled{opacity:.5}.giftSelectorView-inbox-giftContainer .mousehuntActionButton.return.disabled:hover,.giftSelectorView-inbox-giftContainer .mousehuntActionButton.claim.disabled:hover{opacity:1}.giftSelectorView-friendRow-action.ignore{outline:1px solid #ededed;box-shadow:none}.giftSelectorView-friendRow-action.ignore:hover{background-color:#eee;outline-color:#c6c6c6}.giftSelectorView-friendRow-action.claim,.giftSelectorView-friendRow-action.return{box-sizing:border-box;outline:1px solid #e7e7e7}.giftSelectorView-friendRow-action.claim:hover,.giftSelectorView-friendRow-action.return:hover{box-shadow:0 0 1px #000 inset,0 -1px 1px #fff inset}.giftSelectorView-friendRow.new .giftSelectorView-friend-image:after{top:-4px;left:-4px;border-radius:4px;box-shadow:none}.mh-dark-mode #giftSelectorView-inbox,.mh-dark-mode .giftSelectorView-inboxGiftOfTheDay{border-color:#424242}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .mh-improved-favorite-setups-button:hover,.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-statsContainer:hover{background-color:#494949}.complete .giftSelectorView-inbox-gift-details{margin-right:150px;margin-left:0}\n';
}
});

// src/modules/better-gifts/index.js
var getIgnoredGifts, claimGifts, makeAcceptButton, makeReturnButton, fixTypo, lineBreakGiftFooter, getButtons, makeButtons, getLimit, pickFriends, addSendButton, addRandomSendButton, _showTab, _selectGift, _updateGiftMultiplierQuantity, addGiftSwitcher, addButtonsToDropdown, addButtonsToPopup, main, init3, better_gifts_default;
var init_better_gifts = __esm({
"src/modules/better-gifts/index.js"() {
init_utils2();
init_settings4();
init_styles3();
getIgnoredGifts = () => {
  const ignored = getSetting("better-gifts.ignore-bad-gifts-0", "skip");
  const skipOptions = {
    skip: ["mozzarella_cheese", "stale_cheese", "stale_cheese_craft_item"],
    "no-skip": [],
    mozzarella: ["mozzarella_cheese"],
    stale: ["stale_cheese_craft_item"],
    sludge: ["radioactive_sludge"],
    "mozzarella-stale": ["mozzarella_cheese", "stale_cheese_craft_item"],
    "mozzarella-sludge": ["mozzarella_cheese", "radioactive_sludge"],
    "stale-sludge": ["stale_cheese_craft_item", "radioactive_sludge"]
  };
  return skipOptions[ignored] || skipOptions.skip;
};
claimGifts = (send = false, retries = 0) => __async(void 0, null, function* () {
  hg.views.GiftSelectorView.show();
  const isLoaded = document.querySelector(".giftSelectorView-tabContent.active .giftSelectorView-friendRow");
  if (!isLoaded) {
    if (retries <= 10) {
      setTimeout(() => {
        claimGifts(send, retries + 1);
      }, 250);
    }
    return;
  }
  let gifts = hg.views.GiftSelectorView.getClaimableGiftsSortedByTime();
  if (getSetting("better-gifts.send-order-0", "default") === "reverse") {
    gifts.reverse();
  }
  const ignoredGifts = getIgnoredGifts();
  let sendLimit = hg.views.GiftSelectorView.getNumSendableActionsRemaining();
  let claimLimit = hg.views.GiftSelectorView.getNumClaimableActionsRemaining();
  gifts = gifts.filter((gift) => {
    if (gift.channel !== "gift") {
      return false;
    }
    if (ignoredGifts.includes(gift.item_type)) {
      return false;
    }
    return true;
  });
  for (const gift of gifts) {
    let verb = send ? "return" : "claim";
    if (send && sendLimit > 0 && gift.is_returnable) {
      verb = "return";
    }
    const giftEl = document.querySelector(`.giftSelectorView-friendRow[data-gift-id="${gift.gift_id}"] .giftSelectorView-friendRow-action.${verb}`);
    if (!giftEl) {
      continue;
    }
    const event = { target: giftEl };
    if (send && "return" === verb && sendLimit > 0) {
      hg.views.GiftSelectorView.selectReturnableGift(event, giftEl);
      sendLimit--;
      claimLimit--;
    } else if (!send && "claim" === verb && claimLimit > 0) {
      hg.views.GiftSelectorView.selectClaimableGift(giftEl);
      claimLimit--;
    }
  }
  setTimeout(() => {
    const confirm2 = document.querySelector(".mousehuntActionButton.giftSelectorView-action-confirm.small");
    if (confirm2) {
      setTimeout(() => {
        hg.views.GiftSelectorView.submitConfirm(confirm2);
      }, 250);
    }
  }, 500);
});
makeAcceptButton = (buttonContainer, isTiny = false) => {
  const acceptButton = makeElement("button", ["mh-gift-button", "mh-gift-buttons-accept", "mousehuntActionButton"]);
  makeElement("span", "mousehuntActionButton-text", "Accept All", acceptButton);
  if (isTiny) {
    acceptButton.classList.add("tiny");
  }
  const acceptLimit = document.querySelector(".giftSelectorView-numClaimActionsRemaining");
  if (acceptLimit && acceptLimit.innerText === "0") {
    acceptButton.classList.add("disabled");
  } else {
    acceptButton.addEventListener("click", () => {
      claimGifts();
    });
  }
  buttonContainer.append(acceptButton);
};
makeReturnButton = (buttonContainer, isTiny = false) => {
  const returnWrapper = makeElement("div", "mh-gift-buttons-return-wrapper");
  const returnButton = makeElement("button", ["mh-gift-button", "mh-gift-buttons-return", "mousehuntActionButton"]);
  makeElement("span", "mousehuntActionButton-text", "Accept & Return All", returnButton);
  if (isTiny) {
    returnButton.classList.add("tiny");
  }
  const returnLimit = document.querySelector(".giftSelectorView-numSendActionsRemaining");
  if (returnLimit && returnLimit.innerText === "0") {
    returnButton.classList.add("disabled");
  } else {
    returnButton.addEventListener("click", () => {
      claimGifts(true);
    });
  }
  returnWrapper.append(returnButton);
  buttonContainer.append(returnWrapper);
};
fixTypo = () => {
  replaceInTemplate("ViewGiftSelector", [
    [
      "You can send 1 free gifts",
      "You can send 1 free gift"
    ],
    [
      "<b>1</b> free gifts",
      "<b>1</b> free gift"
    ]
  ]);
};
lineBreakGiftFooter = () => {
  replaceInTemplate("GiftSelectorView", [
    [
      "more free gifts today. You can",
      'more free gifts today. <p class="mh-ui-footer-gifts-second-line">You can'
    ],
    [
      'class="giftSelectorView-inboxHeader-closeButton" onclick="hg.views.GiftSelectorView.hideInbox(); return false;">Close</a>',
      'class="giftSelectorView-inboxHeader-closeButton" onclick="hg.views.GiftSelectorView.hideInbox(); return false;">\u2715</a>'
    ]
  ]);
};
getButtons = (className = false, isTiny = false) => {
  const buttonContainer = document.createElement("div");
  buttonContainer.id = "bulk-gifting-gift-buttons";
  if (className) {
    buttonContainer.classList.add(className);
  }
  makeAcceptButton(buttonContainer, isTiny);
  makeReturnButton(buttonContainer, isTiny);
  return buttonContainer;
};
makeButtons = () => {
  if (document.querySelector("#bulk-gifting-gift-buttons")) {
    return;
  }
  const buttonContainer = document.createElement("div");
  buttonContainer.id = "bulk-gifting-gift-buttons";
  makeAcceptButton(buttonContainer);
  makeReturnButton(buttonContainer);
  const giftFooter = document.querySelector(".giftSelectorView-inbox-footer");
  if (giftFooter && giftFooter.firstChild) {
    giftFooter.insertBefore(buttonContainer, giftFooter.firstChild);
  }
};
getLimit = () => {
  const limitEl = document.querySelector(".giftSelectorView-tabContent.active .giftSelectorView-actionLimit.giftSelectorView-numSendActionsRemaining");
  limit = limitEl ? Number.parseInt(limitEl.innerText, 10) : 0;
  return limit;
};
pickFriends = (friends, useRandom = true) => {
  const selected = [];
  let sent = 0;
  if (useRandom) {
    const bound = friends.length > 35 ? 35 : friends.length;
    const firstRandom = Math.floor(Math.random() * bound);
    selected.push(firstRandom);
    sent++;
  }
  let limit2 = getLimit();
  while (sent < limit2) {
    if (selected.length >= friends.length) {
      break;
    }
    if (useRandom) {
      const random = Math.floor(Math.random() * friends.length);
      if (selected.includes(random)) {
        continue;
      }
      selected.push(random);
    } else {
      selected.push(sent);
    }
    sent++;
    limit2 = getLimit();
  }
  selected.forEach((index) => {
    friends[index].click();
  });
  if (getLimit() < 1) {
    const buttons = document.querySelectorAll(".mh-gift-buttons");
    buttons.forEach((button) => {
      button.classList.add("disabled");
    });
  }
};
addSendButton = (className, text, selector, buttonContainer) => {
  const existing = document.querySelector(`.mh-gift-buttons-send-${className}`);
  if (existing) {
    existing.remove();
  }
  const sendButton = makeElement("button", ["mousehuntActionButton", "tiny", "mh-gift-buttons", `mh-gift-buttons-send-${className}`]);
  makeElement("span", "mousehuntActionButton-text", text, sendButton);
  const limit2 = getLimit();
  if (limit2 && limit2 < 1) {
    sendButton.classList.add("disabled");
  }
  sendButton.addEventListener("click", () => {
    const friends = document.querySelectorAll(selector);
    if (!friends.length) {
      return;
    }
    if ("faves" === className) {
      pickFriends(friends, false);
    } else {
      pickFriends(friends);
    }
  });
  buttonContainer.append(sendButton);
};
addRandomSendButton = () => {
  const _selectGift2 = hg.views.GiftSelectorView.selectGift;
  hg.views.GiftSelectorView.selectGift = (gift) => {
    _selectGift2(gift);
    const title = document.querySelector(".giftSelectorView-tabContent.active .selectFriends .giftSelectorView-content-title");
    if (!title) {
      return false;
    }
    addSendButton("random", "Select Random Friends", ".giftSelectorView-tabContent.active .giftSelectorView-friend:not(.disabled, .selected)", title);
    addSendButton("faves", "Select Frequent Gifters", ".giftSelectorView-tabContent.active .giftSelectorView-friend-group.favorite .giftSelectorView-friend:not(.disabled, .selected)", title);
  };
};
addGiftSwitcher = () => {
  if (_showTab || _selectGift || _updateGiftMultiplierQuantity) {
    return;
  }
  _showTab = hg.views.GiftSelectorView.showTab;
  _selectGift = hg.views.GiftSelectorView.selectGift;
  _updateGiftMultiplierQuantity = hg.views.GiftSelectorView.updateGiftMultiplierQuantity;
  hg.views.GiftSelectorView.showTab = (tabType, viewState, preserveVariables, preserveActions) => {
    _showTab(tabType, viewState, preserveVariables, preserveActions);
    hg.views.GiftSelectorView.updateGiftMultiplierQuantity = (input) => {
      if (input && input.hasAttribute("maxlength")) {
        input.removeAttribute("maxlength");
      }
      return _updateGiftMultiplierQuantity(input);
    };
    hg.views.GiftSelectorView.selectGift = (gift) => {
      _selectGift(gift);
      const giftContainer = document.querySelector(".giftSelectorView-tabContent.active.selectFriends .giftSelectorView-content-leftBar");
      if (!giftContainer) {
        return false;
      }
      const existing = document.querySelector(".mh-gift-buttons-clone-wrapper");
      if (existing) {
        existing.remove();
      }
      const giftType = tabType === "send_free_gifts" ? "gift" : "paidgift";
      const gifts = document.querySelectorAll(`.active .selectGift .giftSelectorView-scroller.giftSelectorView-giftContainer .giftSelectorView-gift.sendable.${giftType}`);
      if (!gifts.length) {
        return;
      }
      const cloneWrapper = makeElement("div", "mh-gift-buttons-clone-wrapper");
      gifts.forEach((toClone) => {
        const clone = toClone.cloneNode(true);
        const giftWrap = makeElement("div", "giftSelectorView-content-leftBar-highlightBlock");
        giftWrap.append(clone);
        giftWrap.addEventListener("click", () => {
          const prevSelected = document.querySelectorAll(".mh-gift-buttons-clone-selected");
          prevSelected.forEach((el) => {
            el.classList.remove("mh-gift-buttons-clone-selected");
          });
          giftWrap.classList.add("mh-gift-buttons-clone-selected");
        });
        cloneWrapper.append(giftWrap);
      });
      giftContainer.append(cloneWrapper);
    };
  };
};
addButtonsToDropdown = () => {
  const buttonLink = document.querySelector("#hgbar_freegifts");
  if (!buttonLink) {
    return;
  }
  buttonLink.addEventListener("click", () => {
    makeButtons();
  });
};
addButtonsToPopup = () => {
  const actionRow = document.querySelector(".giftSelectorView-tabContentContainer .giftSelectorView-tabContent.active .giftSelectorView-actionContainer");
  if (!actionRow) {
    return;
  }
  const existing = document.querySelector(".mh-gift-buttons-send-popup");
  if (existing) {
    existing.remove();
  }
  const buttons = getButtons("mh-gift-buttons-send-popup", true);
  actionRow.insertBefore(buttons, actionRow.firstChild);
};
main = () => {
  onRequest("users/socialGift.php", makeButtons);
  addButtonsToDropdown();
  onDialogShow("giftSelectorViewPopup", addButtonsToPopup);
  addRandomSendButton();
  addGiftSwitcher();
  fixTypo();
  lineBreakGiftFooter();
};
init3 = () => __async(void 0, null, function* () {
  addStyles(styles_default2, "better-gifts");
  main();
  onDeactivation("better-gifts", () => {
    const buttons = document.querySelectorAll(".mh-gift-buttons");
    buttons.forEach((button) => {
      button.remove();
    });
  });
});
better_gifts_default = {
  id: "better-gifts",
  name: "Better Gifts",
  type: "better",
  default: true,
  description: "Quickly accept and return all your gifts as well as picking random friends to send to.",
  load: init3,
  settings: settings_default3
};
}
});

// src/data/recipes-me-conversion.json
var recipes_me_conversion_default;
var init_recipes_me_conversion = __esm({
"src/data/recipes-me-conversion.json"() {
recipes_me_conversion_default = {
  no: [
    "abominable_asiago_cheese_magic",
    "ancient_cheese_6_pieces",
    "ancient_cheese_potion",
    "cherry_potion",
    "corrupted_radioactive_blue_cheese_potion",
    "gnarled_cheese_potion",
    "greater_radioactive_blue_cheese_potion",
    "limelight_cheese_6",
    "radioactive_blue_cheese_potion",
    "runic_cheese_2_pieces",
    "runic_cheese_potion"
  ],
  maybe: [
    "ancient_string_cheese_potion",
    "crimson_cheese_magic_essence_recipe",
    "gauntlet_potion_2",
    "gauntlet_potion_3",
    "gauntlet_potion_4",
    "glowing_gruyere_cheese_5_pieces",
    "greater_wicked_gnarly_potion",
    "rain_cheese_potion",
    "vengeful_vanilla_stilton_magic_essence",
    "wicked_gnarly_potion",
    "wind_cheese_potion"
  ]
};
}
});

// src/data/recipes-to-reorder.json
var recipes_to_reorder_default;
var init_recipes_to_reorder = __esm({
"src/data/recipes-to-reorder.json"() {
recipes_to_reorder_default = {
  base: {
    living_grove_base_recipe: "living_grove_base",
    polluted_base_rebuild: "polluted_base",
    soiled_base_rebuild_recipe: "soiled_base",
    tribal_base: "tribal_base",
    tiki_base: "tiki_base"
  },
  collectible: {
    admirals_ship_journal_theme_recipe: "admirals_ship_journal_theme_collectible",
    bristle_woods_rift_journal_theme_recipe: "bristle_woods_rift_journal_theme_collectible",
    burroughs_rift_journal_theme_recipe: "burroughs_rift_journal_theme_collectible",
    chrome_journal_theme_recipe: "chrome_journal_theme_collectible",
    gnawnian_games_journal_theme_recipe: "gnawnian_games_theme_collectible",
    labyrinth_journal_theme_recipe: "labyrinth_journal_theme_collectible",
    lightning_slayer_journal_theme_recipe: "lightning_slayer_journal_theme_collectible",
    living_garden_theme_recipe: "living_garden_theme_collectible",
    moussu_picchu_journal_theme_recipe: "moussu_picchu_journal_theme_collectible",
    polluted_theme_recipe: "completed_polluted_journal_theme_collectible",
    queso_journal_theme_recipe: "queso_canyon_theme_collectible",
    regal_theme_recipe: "completed_regal_theme_collectible",
    relic_hunter_journal_theme_recipe: "relic_hunter_journal_theme_collectible"
  },
  crafting_item: {
    geyser_draconic_chassis_recipe: "draconic_geyser_chassis_crafting_item",
    geyser_draconic_chassis_i_recipe: "draconic_geyser_chassis_i_crafting_item",
    christened_ship: "huntington_map_piece",
    s_s__huntington_ii: "huntington_map_piece"
  },
  map_piece: {
    unchristened_ship: "unchristened_ship_craft_item",
    balacks_lantern: "balack_lantern_map_piece",
    ocean_navigation_kit: "ocean_navigation_map_piece",
    zzt_key_1: "zzt_key",
    repaired_oculus_recipe: "high_altitude_license_stat_item"
  },
  weapon: {
    chrome_floating_arcane_upgraded_recipe: "chrome_floating_arcane_upgraded_weapon",
    chrome_monstrobot_recipe: "chrome_monstrobot_weapon",
    chrome_oasis_water_node_recipe: "chrome_oasis_water_node_weapon",
    chrome_phantasmic_oasis_recipe: "chrome_phantasmic_oasis_weapon",
    chrome_school_of_sharks_recipe: "chrome_school_of_sharks_weapon",
    chrome_sphynx_recipe: "chrome_sphynx_weapon",
    chrome_storm_wrought_ballista_recipe: "chrome_storm_wrought_ballista_weapon",
    chrome_temporal_turbine_recipe: "chrome_temporal_turbine_weapon",
    chrome_thought_obliterator_recipe: "chrome_floating_forgotten_upgraded_weapon",
    clockapult_of_winter_past: "clockapult_of_winter_past_weapon",
    geyser_draconic_weapon_recipe: "geyser_draconic_weapon",
    fluffy_deathbot_weapon: "fluffy_deathbot_weapon",
    grungy_deathbot_weapon: "grungy_deathbot_weapon",
    icy_rhinobot: "icy_rhinobot_weapon",
    ninja_ambush_weapon: "ninja_ambush_weapon",
    regrown_thorned_venus_mouse_trap: "throned_venus_mouse_trap_weapon",
    acronym_recipe: "acronym_weapon",
    ambush_trap_rebuild: "ambush_weapon",
    rebuild_celestial_dissonance_recipe: "celestial_dissonance_weapon",
    rebuild_chrome_storm_wrought_ballista_recipe: "chrome_storm_wrought_ballista_weapon",
    clockapult_of_time_rebuild: "clockapult_of_time_weapon",
    rebuild_crystal_tower_recipe: "crystal_tower_weapon",
    digby_drillbot: "digby_drillbot_weapon",
    dragon_ballista_rebuild: "dragonvine_ballista_weapon",
    endless_labyrinth_trap_rebuild_recipe: "endless_labyrinth_weapon",
    event_horizon_recipe: "event_horizon_weapon",
    harpoon_gun: "harpoon_gun_weapon",
    rebuild_high_tension_recipe: "high_tension_spring_weapon",
    ice_blaster_trap_rebuild: "ice_blaster_weapon",
    wolfsbane_rebuild_recipe: "wolfsbane_weapon",
    mouse_deathbot: "mouse_deathbot_weapon",
    net_cannon: "net_cannon_weapon",
    oasis_water_node_recipe: "oasis_water_node_weapon",
    obelisk_of_slumber: "obelisk_of_slumber_weapon",
    rebuild_phantasmic_oasis_recipe: "phantasmic_oasis_weapon",
    rhinobot_rebuild: "rhinobot_weapon",
    sandstorm_monstrobot_recipe: "sandstormbot_weapon",
    rebuild_upgraded_rune_shark_weapon_recipe: "upgraded_rune_shark_weapon",
    scum_scrubber_trap_rebuild_recipe: "scum_scrubber_weapon",
    soul_catcher_rebuild: "hween_2011_weapon",
    sphynx_weapon_recipe: "sphynx_weapon",
    steam_laser_mk_i_rebuild: "steam_laser_mk_i_weapon",
    storm_wrought_ballista_recipe: "storm_wrought_ballista_weapon",
    temporal_turbine_recipe: "temporal_turbine",
    zugzwangs_last_move: "zugzwangs_last_move_weapon",
    rebuild_floating_arcane_upgraded_recipe: "floating_arcane_upgraded_weapon",
    rebuild_thought_obliterator_recipe: "floating_forgotten_upgraded_weapon",
    venus_mouse_trap: "venus_mouse_trap_weapon"
  }
};
}
});

// src/modules/better-inventory/recipes.js
var cleanUpRecipeBook, showCraftWarning, warnOnBadCrafts, modifySmashableTooltip, moveRecipe, updateRecipesOnPage, recipes_default;
var init_recipes = __esm({
"src/modules/better-inventory/recipes.js"() {
init_utils2();
init_recipes_me_conversion();
init_recipes_to_reorder();
cleanUpRecipeBook = () => {
  const allTab = document.querySelector(".inventoryPage-tagDirectory-tag.all.hidden");
  if (allTab) {
    allTab.classList.remove("hidden");
  }
  const tagLinks = document.querySelectorAll(".mousehuntHud-page-subTabContent.recipe a.inventoryPage-tagDirectory-tag");
  tagLinks.forEach((tagLink) => {
    const tag = tagLink.getAttribute("data-tag");
    tagLink.removeAttribute("onclick");
    tagLink.addEventListener("click", (e) => {
      app.pages.InventoryPage.showTagGroup(e.target);
      const hasBeenUpdated = tagLink.classList.contains("updated");
      if (!hasBeenUpdated) {
        updateRecipesOnPage(tag);
        tagLink.classList.add("updated");
      }
    });
  });
};
showCraftWarning = (text) => {
  const confirm2 = document.querySelector(".mousehuntActionButton.inventoryPage-confirmPopup-suffix-button.confirm");
  if (!confirm2) {
    return;
  }
  const existing = document.querySelector(".mhui-craft-warning-tooltip");
  if (existing) {
    existing.remove();
  }
  const tooltip = makeElement("div", "mhui-craft-warning-tooltip", text);
  confirm2.parentNode.append(tooltip);
};
warnOnBadCrafts = (limit2 = 0) => {
  const confirm2 = document.querySelector(".mousehuntActionButton.inventoryPage-confirmPopup-suffix-button.confirm");
  if (!confirm2) {
    if (limit2 <= 3) {
      setTimeout(() => {
        warnOnBadCrafts(limit2 + 1);
      }, 250);
    }
    return;
  }
  const type = confirm2.getAttribute("data-confirm-type");
  if (!type) {
    return;
  }
  if (!("recipe" === type || "potion" === type)) {
    return;
  }
  const popup = document.querySelector(".inventoryPage-confirmPopup");
  if (!popup) {
    return;
  }
  const recipe = popup.getAttribute("data-item-type");
  if (!recipe) {
    return;
  }
  if ("potion" === type) {
    const consumed = document.querySelectorAll('.inventoryPage-confirmPopup-itemRow-quantity[data-source="consumed"]');
    let hasSB = false;
    consumed.forEach((item) => {
      if (item.getAttribute("data-item-type") === "super_brie_cheese") {
        hasSB = true;
      }
    });
    if (!hasSB) {
      return;
    }
  }
  if (recipes_me_conversion_default.no.includes(recipe)) {
    showCraftWarning("This is not worth crafting using Magic Essence.");
  } else if (recipes_me_conversion_default.maybe.includes(recipe)) {
    showCraftWarning("Check the price of SUPER|brie+ before using Magic Essence.");
  }
};
modifySmashableTooltip = () => __async(void 0, null, function* () {
  if ("crafting" !== getCurrentTab() || "hammer" !== getCurrentSubtab()) {
    return;
  }
  const items2 = document.querySelectorAll(".inventoryPage-item");
  if (!items2) {
    return;
  }
  items2.forEach((item) => __async(void 0, null, function* () {
    const tooltip = item.querySelector(".tooltip");
    if (!tooltip) {
      return;
    }
    let producedItem = item.getAttribute("data-produced-item");
    if (!producedItem) {
      return;
    }
    item.addEventListener("mouseenter", () => __async(void 0, null, function* () {
      if (item.getAttribute("data-new-tooltip") === "newTooltip") {
        return;
      }
      item.setAttribute("data-new-tooltip", "newTooltip");
      producedItem = producedItem.includes(",") ? producedItem.split(",") : [producedItem];
      const itemType = item.getAttribute("data-item-type");
      producedItem.push(itemType);
      const itemData = yield getUserItems(producedItem);
      if (!itemData || !itemData[0]) {
        return;
      }
      const formattedParts = itemData.find((itemDataItem) => itemDataItem.type === itemType).formatted_parts;
      if (!formattedParts) {
        return;
      }
      const tooltipWrapper = makeElement("div", ["newTooltip", "tooltip"]);
      itemData.forEach((itemDataItem) => {
        const formattedPart = formattedParts.find((formattedPartItem) => formattedPartItem.type === itemDataItem.type);
        if (!formattedPart) {
          return;
        }
        const name = formattedPart.name;
        const thumb = formattedPart.thumbnail_transparent || itemDataItem.thumbnail;
        let quantity = formattedPart.quantity;
        if ("gold_stat_item" === itemDataItem.type) {
          const quantityInt = Number.parseInt(quantity);
          if (quantityInt >= 1e6) {
            quantity = `${Math.floor(quantityInt / 1e5) / 10}m`;
          } else if (quantityInt >= 1e3) {
            quantity = `${Math.floor(quantityInt / 100) / 10}k`;
          }
        }
        makeElement("div", ["new-tooltip-item", "inventoryPage-item"], `
  <div class="inventoryPage-item-margin clear-block">
    <div class="inventoryPage-item-imageContainer">
      <div class="itemImage"><img src="${thumb}">
        <div class="quantity">${quantity}</div>
      </div>
    </div>
    <div class="inventoryPage-item-content-nameContainer">
      <div class="inventoryPage-item-content-name">
        <span>${name}</span>
      </div>
    </div>
  </div>`, tooltipWrapper);
      });
      tooltip.parentNode.insertBefore(tooltipWrapper, tooltip.nextSibling);
    }));
  }));
});
moveRecipe = (type, recipesContainer) => {
  const recipeEl = document.querySelector(`.inventoryPage-item.recipe[data-produced-item="${type}"]`);
  if (recipeEl) {
    recipeEl.classList.add("reordered");
    recipesContainer.append(recipeEl);
  }
};
updateRecipesOnPage = (type) => __async(void 0, null, function* () {
  if (!recipes_to_reorder_default[type]) {
    return;
  }
  const recipesContainer = document.querySelector(`.inventoryPage-tagContent-tagGroup[data-tag="${type}"]`);
  if (!recipesContainer) {
    return;
  }
  const recipesModifying = [];
  const knownRecipes = document.querySelectorAll(".inventoryPage-tagContent-tagGroup.active .inventoryPage-item.recipe.known");
  knownRecipes.forEach((recipe) => {
    const recipeId = recipe.getAttribute("data-item-type");
    recipesModifying.push(recipeId);
  });
  if (recipesModifying.length === 0) {
    return;
  }
  const itemTypes = recipesModifying.map((recipe) => {
    return recipes_to_reorder_default[type][recipe];
  }).filter(Boolean);
  if (type === "crafting_item") {
    itemTypes.push("geyser_draconic_weapon");
  }
  const ownedItems = yield getUserItems(itemTypes);
  ownedItems.forEach((item) => {
    if (!item.quantity || item.quantity < 1) {
      return;
    }
    if ("geyser_draconic_weapon" === item.type) {
      moveRecipe("draconic_geyser_chassis_crafting_item", recipesContainer);
      moveRecipe("draconic_geyser_chassis_i_crafting_item", recipesContainer);
    } else {
      moveRecipe(item.type, recipesContainer);
    }
  });
});
recipes_default = () => __async(void 0, null, function* () {
  onNavigation(cleanUpRecipeBook, {
    page: "inventory",
    tab: "crafting",
    subtab: "recipe"
  });
  onEvent("js_dialog_show", warnOnBadCrafts);
  modifySmashableTooltip();
});
}
});

// src/modules/better-inventory/settings/index.js
var settings_default4;
var init_settings5 = __esm({
"src/modules/better-inventory/settings/index.js"() {
settings_default4 = () => __async(void 0, null, function* () {
  return [
    {
      id: "better-inventory.one-item-per-row",
      title: "Show one item per row",
      default: true,
      description: ""
    },
    {
      id: "better-inventory.larger-images",
      title: "Show larger images",
      default: true,
      description: ""
    }
  ];
});
}
});

// src/modules/better-inventory/styles/double-width-item.css
var double_width_item_default;
var init_double_width_item = __esm({
"src/modules/better-inventory/styles/double-width-item.css"() {
double_width_item_default = ".mousehuntHud-page-tabContent.special div[data-tag=adventuring] .inventoryPage-tagContent-listing,.mousehuntHud-page-tabContent.special div[data-tag=convertibles] .inventoryPage-tagContent-listing,.mousehuntHud-page-tabContent.special div[data-tag=spring_hunt] .inventoryPage-tagContent-listing,.mousehuntHud-page-tabContent.special div[data-tag=treasure_chests] .inventoryPage-tagContent-listing{display:grid;grid-template-columns:1fr 1fr;gap:5px;place-items:stretch}.mousehuntHud-page-tabContent.special .inventoryPage-item.full,.mousehuntHud-page-tabContent.special .inventoryPage-item.full:nth-child(odd){display:block;width:282px;margin-right:0;margin-left:0}.mousehuntHud-page-tabContent.special div[data-tag=treasure_chests] .inventoryPage-item-margin.clear-block{height:100%}\n";
}
});

// src/modules/better-inventory/styles/full-width-item.css
var full_width_item_default;
var init_full_width_item = __esm({
"src/modules/better-inventory/styles/full-width-item.css"() {
full_width_item_default = ".inventoryPage-item.full{width:100%}.inventoryPage-item-content-action span{display:block;margin-bottom:5px}.mousehuntPage-content .inventoryPage-item-button:nth-child(2){margin-left:0!important}.inventoryPage-item-content-action>span{display:inline-block}.inventoryPage-item.base .itemViewStatBlock.horizontal.base,.inventoryPage-item.weapon .itemViewStatBlock.horizontal.weapon{float:right;width:54%}.inventoryPage-item.base .inventoryPage-item-content-description-text,.inventoryPage-item.weapon .inventoryPage-item-content-description-text{width:45%;height:unset;max-height:115px;overflow-y:auto}\n";
}
});

// src/modules/better-inventory/styles/larger-images.css
var larger_images_default;
var init_larger_images = __esm({
"src/modules/better-inventory/styles/larger-images.css"() {
larger_images_default = ".inventoryPage-item.small{width:19%;height:125px;margin-bottom:10px}.inventoryPage-item.small .itemImage,.inventoryPage-item.small .itemImage img{width:80px;height:80px}\n";
}
});

// src/modules/better-inventory/styles/styles.css
var styles_default3;
var init_styles4 = __esm({
"src/modules/better-inventory/styles/styles.css"() {
styles_default3 = '.inventoryPage-item.component .inventoryPage-item-imageContainer .itemImage{margin:0 auto;border:none;border-radius:0}.inventoryPage-item-content-action{margin-top:15px}.inventoryPage-item-content-description{height:auto}.inventoryPage-item.torn_page .inventoryPage-item-name,.inventoryPage-item.stat .inventoryPage-item-name,.inventoryPage-item.collectible .inventoryPage-item-name,.inventoryPage-item.message_item .inventoryPage-item-name{margin-left:10px}.inventoryPage-item.torn_page .inventoryPage-item-imageContainer,.inventoryPage-item.stat .inventoryPage-item-imageContainer,.inventoryPage-item.collectible .inventoryPage-item-imageContainer,.inventoryPage-item.message_item .inventoryPage-item-imageContainer{margin-top:0}.inventoryPage-item-name{padding:10px;font-size:1.3em;background-color:transparent;border:none}.inventoryPage-item-name abbr{text-decoration:none}.mousehuntHud-page-subTabContent.trinket.show_tags.trinket.active .mousehuntHud-page-subTabContent-prefix:first-child{display:none}.inventoryPage-tagContent-tagTitle{display:flex;align-items:center;padding:0 5px 10px;margin:0;font-size:1.4em;border:none}.mousehuntHud-page-subTabContent.hammer .inventoryPage-tagContent-tagGroup{padding:8px 0 8px 8px}.mousehuntHud-page-subTabContent.hammer .inventoryPage-tagContent-tagGroup:nth-child(2n){background-color:#f6f6f6}.mousehuntHud-page-subTabContent.hammer .inventoryPage-tagContent-tagTitle{padding:0 0 10px;font-size:14px;font-weight:400}.mousehuntHud-page-subTabContent.hammer .inventoryPage-tagContent-listing{display:flex;flex-wrap:wrap;place-content:center flex-start;align-items:stretch}.mousehuntHud-page-subTabContent.hammer .mousehuntHud-page-subTabContent.hammer .inventoryPage-item{width:68px;margin:0 3px 0 0;background-color:#fff;border-radius:10px}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:nth-child(7n){margin-right:0}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item{height:auto;padding-bottom:0;margin-bottom:0;font-size:9px}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item-margin.clear-block{border:none;border-radius:0}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .inventoryPage-item-margin{background-color:#e3e3e3;outline:1px solid #888;box-shadow:none}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item .tooltip,.mousehuntHud-page-subTabContent.hammer .inventoryPage-item .newTooltip{display:none}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .newTooltip{display:flex;align-items:center;width:auto}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .tooltip .inventoryPage-item-margin{text-align:center;background-color:transparent;outline:none}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item.small .tooltip.newTooltip .itemImage{float:none;width:60px;height:60px;overflow:visible}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item.small .tooltip.newTooltip .itemImage img{width:55px;height:55px}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .newTooltip .inventoryPage-item-content-nameContainer,.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .newTooltip .inventoryPage-item-content-name{height:auto}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .newTooltip .inventoryPage-item-content-name span{min-width:60px}a.inventoryPage-item-larryLexicon{display:none}.inventoryPage-item-content-description-text{max-height:125px;padding:0;font-size:10px;line-height:16px;color:#6e6e6e}.inventoryPage-item.base .inventoryPage-item-content-description-text,.inventoryPage-item.weapon .inventoryPage-item-content-description-text,.inventoryPage-item.trinket .inventoryPage-item-content-description-text{height:auto}.inventoryPage-item.full.weapon .quantity,.inventoryPage-item.full.base .quantity{display:none}.inventoryPage-item .itemImage{margin-bottom:10px;overflow:visible}.inventoryPage-item-recipeOptions li{margin-left:5px;background-color:#fffcdb;border-style:solid}.inventoryPage-item.small .itemImage .quantity{right:10px;overflow:visible}.mousehuntHud-page-subTabContent.recipe .inventoryPage-item .itemImage{display:flex;align-items:center;justify-content:center;height:55px}.mousehuntHud-page-subTabContent.recipe .inventoryPage-item .itemImage img{width:50px;height:50px}.inventoryPage-item-content-description-consumedItem.error{gap:2px;background-color:#f5ddddd1;border-radius:7px}input.inventoryPage-tagDirectory-searchBar-input{width:auto;min-width:50%;margin-right:10px}.mousehuntHud-page-subTabContent-prefix.clear-block{height:25px;margin-top:-20px;color:transparent}.inventoryPage-tagDirectory-searchBar{display:flex;align-items:center;justify-content:space-evenly;padding-right:0;color:transparent}.inventoryPage-item.torn_page .quantity{display:none}.inventoryPage-item.torn_page .itemImage img{width:50px;min-width:unset;height:50px;min-height:unset}.inventoryPage-item.full.torn_page{width:32%;margin:5px}.inventoryPage-item.torn_page .inventoryPage-item-name{padding-right:0;font-size:1em}.inventoryPage-item.torn_page .itemImage{width:40px;height:40px;margin-top:-5px}.inventoryPage-item.torn_page .inventoryPage-item-contentContainer{margin:0}.inventoryPage-item.torn_page .inventoryPage-item-content-action div{display:flex;justify-content:space-around;margin-right:15px}.inventoryPage-item.torn_page .inventoryPage-item-content-description{display:none}.inventoryPage-item.torn_page input.viewFront,.inventoryPage-item.torn_page input.viewBack{display:inline-block;padding:3px 5px;border-radius:3px;box-shadow:1px 1px 4px #fff2aa inset}.inventoryPage-craftingTable-title{display:none}.mousehuntHud-page-subTabContent.crafting_table .inventoryPage-craftingTable{background:#f6f3eb;border:1px solid #d3cecb;border-radius:3px;box-shadow:inset -1px 1px 3px #d3cecb}.inventoryPage-craftingTable-slot-item.itemImage{margin-bottom:10px}.inventoryPage-craftingTable-slot-item-controls{display:flex;align-items:center;justify-content:center;height:17px;margin:0;background:transparent}.inventoryPage-craftingTable-slot-item-controls input{height:24px;margin-top:-1px}.inventoryPage-craftingTable-action{margin:10px;background:none;border:none}.inventoryPage-craftingTable-slot-item[data-owned="1"] .inventoryPage-craftingTable-slot-item-controls-increment{opacity:.2}.inventoryPage-craftingTable-slot{width:160px;padding:5px;margin:5px;background:#f6f3eb;border:1px solid #d3cecb;border-radius:3px;box-shadow:inset -1px 1px 3px #d3cecb}.inventoryPage-craftingTable-slotContainer{display:flex;flex-direction:column;align-content:center;justify-items:center;background-color:#f6f3eb}.inventoryPage-craftingTable-slot-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.inventoryPage-craftingTable-slot-item.empty .inventoryPage-craftingTable-slot-item-controls,.inventoryPage-craftingTable-slot-item.empty .inventoryPage-craftingTable-slot-item-nameContainer{display:none}.inventoryPage-craftingTable-slot-item.empty .inventoryPage-craftingTable-slot-item-name{color:transparent}.inventoryPage-craftingTable-slot-item-quantity{display:none}.inventoryPage-craftingTable-slot-item-name{font-size:11px;font-weight:100}.inventoryPage-craftingTable-slot-item-nameContainer{width:100%;height:auto;margin:5px}.inventoryPage-craftingTable-slot-item .itemImage,.inventoryPage-craftingTable-slot-item img{width:55px;height:55px}a.inventoryPage-item-larryLexicon.tsitu-lock-convertible{top:5px;right:5px!important;display:flex;align-items:center;justify-content:center;width:20px;height:20px!important;padding:2px;font-size:13px;border:1px solid #bebebe;border-radius:50%}.inventoryPage-tagContent-tagTitle.tsitu-lock-convertible{position:absolute;top:-10px;right:0}.inventoryPage-item.small.message_item .inventoryPage-item-content-name:after{position:absolute;top:5px;right:2px;width:10px;height:10px;content:"";background-color:#8bf4ed;border-radius:50%}.mhui-craft-warning-tooltip{position:absolute;top:0;left:0;width:auto;padding:10px;font-size:10px;font-weight:900;background:#f5c7c7;border:1px solid #e07878;border-radius:5px}#jsDialogAjaxSuffix{position:relative}.inventoryPage-item .itemImage .limitedEdition{top:-1px;left:-5px;z-index:1}#overlayPopup.itemViewPopup .itemViewContainer.message_item .button{margin:10px 0 0}.inventoryPage-item.base .inventoryPage-item-content-description-text,.inventoryPage-item.weapon .inventoryPage-item-content-description-text{max-height:115px;overflow:visible}.inventoryPage-confirmPopup-itemTable{display:flex;flex-direction:column}.inventoryPage-confirmPopup-itemRow-description-name{margin-bottom:5px}.inventoryPage-confirmPopup-itemRow-description-owned{margin-bottom:5px;font-size:12px}.inventoryPage-confirmPopup-itemRow-quantity{font-family:lucida grande,tahoma,verdana,arial,sans-serif}.inventoryPage-item-content-action>span{display:none}.inventoryPage-item .item_set:after{position:absolute;top:8px;right:3px;display:block;width:28px;height:28px;content:"";background-image:url(https://www.mousehuntgame.com/images/items/stats/large/cb301652677b77c9abd3a99622aa3ca7.png);background-repeat:no-repeat;background-size:contain;opacity:.2}.inventoryPage-item:hover .item_set:after{opacity:1}.mh-dark-mode .pageFrameView .itemViewStatBlock{border:none}.mh-dark-mode .inventoryPage-item .item_set:before{color:#2c2c2c}.inventoryPage-item:hover .item_set:before{color:#2c2c2c}.inventoryPage-item.trinket .inventoryPage-item-content-description{min-height:120px}.inventoryPage-item.trinket .itemViewStatBlock.trinket{float:right;width:90px;margin:0 5px}.inventoryPage-item-content-description-text div[style="border: 1px red dotted; padding: 5px; font-size: 10px;"],.inventoryPage-item-content-description-text b[style="color:red; font-size: 14px;"],.inventoryPage-item[data-item-type=rainbow_scroll_case_convertible] .inventoryPage-item-content-description-text br,.inventoryPage-item[data-item-type=party_size_rainbow_scroll_case_convertible] .inventoryPage-item-content-description-text br{display:none}.inventoryPage-item-content-action span{margin-right:5px}.inventoryPage-item.small .inventoryPage-item-margin{margin-bottom:10px;box-shadow:0 4px 10px -10px #000}.mousehuntHud-page-subTabContent.trinket .mousehuntHud-page-subTabContent-prefix{display:none}\n';
}
});

// src/modules/better-inventory/index.js
var setOpenQuantityOnClick, addOpenAlltoConvertible, addItemViewPopupToCollectibles, addArmButtonToCharms, main2, init4, better_inventory_default;
var init_better_inventory = __esm({
"src/modules/better-inventory/index.js"() {
init_utils2();
init_recipes();
init_settings5();
init_double_width_item();
init_full_width_item();
init_larger_images();
init_styles4();
setOpenQuantityOnClick = (attempts = 0) => {
  const qty = document.querySelector(".itemView-action-convertForm");
  if (!qty) {
    if (attempts > 10) {
      return;
    }
    setTimeout(() => {
      setOpenQuantityOnClick(attempts + 1);
    }, 200);
    return;
  }
  qty.addEventListener("click", (e) => {
    if (e.target.tagName === "DIV") {
      const textQty = e.target.innerText;
      const qtyArray = textQty.split(" ");
      let maxNum = qtyArray.at(-1);
      maxNum = maxNum.replace("Submit", "");
      maxNum = Number.parseInt(maxNum);
      const input = document.querySelector(".itemView-action-convert-quantity");
      input.value = maxNum;
    }
  });
};
addOpenAlltoConvertible = () => {
  const form = document.querySelector(".convertible .itemView-action-convertForm");
  if (!form) {
    return;
  }
  if (form.getAttribute("data-open-all-added")) {
    return;
  }
  form.setAttribute("data-open-all-added", true);
  const formHTML = form.innerHTML;
  const formHTMLArray = formHTML.split(" /");
  if (!formHTMLArray[1]) {
    return;
  }
  const formHTMLArray2 = formHTMLArray[1].split("<a");
  if (!formHTMLArray2[1]) {
    return;
  }
  const quantity = formHTMLArray2[0].trim();
  const newFormHTML = `${formHTMLArray[0]}/ <span class="open-all">${quantity}</span><a${formHTMLArray2[1]}`;
  form.innerHTML = newFormHTML;
  const openAll = document.querySelector(".open-all");
  openAll.addEventListener("click", () => {
    const input = form.querySelector(".itemView-action-convert-quantity");
    if (!input) {
      return;
    }
    input.value = quantity;
  });
};
addItemViewPopupToCollectibles = () => {
  const collectibles = document.querySelectorAll(".mousehuntHud-page-subTabContent.collectible .inventoryPage-item.small");
  if (!collectibles.length) {
    return;
  }
  collectibles.forEach((collectible) => {
    const type = collectible.getAttribute("data-item-type");
    if (!type) {
      return;
    }
    if ("message_item" === collectible.getAttribute("data-item-classification")) {
      return;
    }
    collectible.setAttribute("onclick", "");
    collectible.addEventListener("click", (e) => {
      e.preventDefault();
      hg.views.ItemView.show(type);
    });
  });
};
addArmButtonToCharms = () => {
  if ("inventory" !== getCurrentPage() || "traps" !== getCurrentTab() || "trinket" !== getCurrentSubtab()) {
    return;
  }
  const charms = document.querySelectorAll(".inventoryPage-item.trinket");
  if (!charms.length) {
    return;
  }
  charms.forEach((charm) => {
    const existingArmButton = charm.querySelector(".inventoryPage-item-imageContainer-action");
    if (existingArmButton) {
      return;
    }
    const actionContainer = charm.querySelector(".inventoryPage-item-imageContainer");
    if (!actionContainer) {
      return;
    }
    const armButton = makeElement("div", "inventoryPage-item-imageContainer-action");
    armButton.setAttribute("onclick", "app.pages.InventoryPage.armItem(this); return false;");
    actionContainer.append(armButton);
  });
};
main2 = () => {
  onOverlayChange({ item: { show: setOpenQuantityOnClick } });
  if ("item" === getCurrentPage()) {
    setOpenQuantityOnClick();
  }
  addOpenAlltoConvertible();
  addItemViewPopupToCollectibles();
  addArmButtonToCharms();
  onNavigation(() => {
    addOpenAlltoConvertible();
    addItemViewPopupToCollectibles();
    addArmButtonToCharms();
  }, {
    page: "inventory"
  });
  onEvent("js_dialog_show", addOpenAlltoConvertible);
  recipes_default();
};
init4 = () => __async(void 0, null, function* () {
  addStyles([
    styles_default3,
    getSetting("better-inventory.one-item-per-row", true) ? full_width_item_default : double_width_item_default,
    getSetting("better-inventory.larger-images", true) ? larger_images_default : ""
  ], "better-inventory");
  main2();
});
better_inventory_default = {
  id: "better-inventory",
  name: "Better Inventory",
  type: "better",
  default: true,
  description: "Updates the inventory layout and styling.",
  load: init4,
  settings: settings_default4
};
}
});

// src/modules/better-journal/journal-history/index.js
var pager, journalEntries, totalPages, currentPage, tempMiceImages, makeEntriesMarkup, doPageStuff, getPager, getAllEntries, eventListeners, main3, lastResponsePage, onJournalRequest, journalHistory, journal_history_default;
var init_journal_history = __esm({
"src/modules/better-journal/journal-history/index.js"() {
init_utils2();
journalEntries = [];
totalPages = 0;
currentPage = 0;
tempMiceImages = [];
makeEntriesMarkup = (entries) => {
  return entries.map((entry) => {
    let html = `<div class="${entry.type.join(" ")}" data-entry-id="${entry.id}" data-mouse-type="${entry.mouse || ""}">`;
    if (entry.mouse && entry.mouse.length > 0) {
      const mouseImages = tempMiceImages.find((mouse) => mouse.type === entry.mouse);
      if (mouseImages) {
        html += `<div class="journalimage"><a href="${mouseImages.large}" onclick="hg.views.MouseView.show('${entry.mouse}'); return false;"><img src="${mouseImages.thumb}" border="0"></a></div>`;
      }
    }
    html += `<div class="journalbody"><div class="journalactions"></a></div><div class="journaldate">${entry.date} - ${entry.location} - ${entry.id}</div><div class="journaltext">${entry.text}</div></div></div></div>`;
    return html;
  }).join("");
};
doPageStuff = (page, event) => {
  if (page < 6) {
    return;
  }
  if (page === 6) {
    currentPage = page;
    return;
  }
  event.preventDefault();
  event.stopPropagation();
  currentPage = page;
  const journalEntryContainer = document.querySelector("#journalContainer .journalEntries");
  if (!journalEntryContainer) {
    return;
  }
  const journalEntriesForPage = journalEntries.slice((page - 1) * 12, page * 12);
  journalEntryContainer.innerHTML = makeEntriesMarkup(journalEntriesForPage);
  journalHistory();
};
getPager = () => {
  const journalPageLink = document.querySelector(".pagerView-nextPageLink.pagerView-link");
  if (!journalPageLink) {
    return;
  }
  return hg.views.JournalView.getPager(journalPageLink);
};
getAllEntries = () => __async(void 0, null, function* () {
  if (!journalEntries.length) {
    journalEntries = yield dbGetAll("journal");
  }
  if (!journalEntries.length) {
    return [];
  }
  journalEntries.sort((a, b) => b.id - a.id);
  return journalEntries;
});
eventListeners = {
  prevLink: (event) => doPageStuff(currentPage - 1, event),
  nextLink: (event) => doPageStuff(currentPage + 1, event),
  lastLink: (event) => doPageStuff(totalPages, event)
};
main3 = () => __async(void 0, null, function* () {
  pager = pager || getPager();
  journalEntries = journalEntries.length ? journalEntries : yield getAllEntries();
  totalPages = Math.ceil(journalEntries.length / 12);
  pager.setTotalItems(journalEntries.length);
  pager.enable();
  pager.render();
  const prevLink = document.querySelector(".pagerView-previousPageLink.pagerView-link");
  const nextLink = document.querySelector(".pagerView-nextPageLink.pagerView-link");
  const lastLink = document.querySelector(".pagerView-lastPageLink.pagerView-link");
  if (!prevLink || !nextLink || !lastLink) {
    return;
  }
  prevLink.removeEventListener("click", eventListeners.prevLink);
  nextLink.removeEventListener("click", eventListeners.nextLink);
  lastLink.removeEventListener("click", eventListeners.lastLink);
  if (6 >= currentPage) {
    nextLink.addEventListener("click", eventListeners.nextLink);
    lastLink.addEventListener("click", eventListeners.lastLink);
  }
  if (currentPage >= 7) {
    prevLink.addEventListener("click", eventListeners.prevLink);
  }
});
onJournalRequest = (data) => {
  const reportedCurrentPage = data.journal_page.pager.current;
  if (lastResponsePage === reportedCurrentPage) {
    return;
  }
  currentPage = reportedCurrentPage;
  lastResponsePage = currentPage;
  main3();
};
journalHistory = () => __async(void 0, null, function* () {
  onNavigation(main3, { page: "camp" });
  onRequest("pages/journal.php", onJournalRequest);
});
journal_history_default = journalHistory;
}
});

// src/modules/better-journal/journal-list/styles.css
var styles_default4;
var init_styles5 = __esm({
"src/modules/better-journal/journal-list/styles.css"() {
styles_default4 = 'ul.better-journal-list{margin-left:15px;list-style:disc}.better-journal-list a:after{content:""!important}.journal .content .entry .journaltext .better-journal-list{line-height:20px}\n';
}
});

// src/modules/better-journal/journal-list/index.js
var makeListItems, splitText, getItemsFromText, formatAsList, journal_list_default;
var init_journal_list = __esm({
"src/modules/better-journal/journal-list/index.js"() {
init_utils2();
init_styles5();
makeListItems = (itemList) => {
  const list = document.createElement("ul");
  list.classList.add("better-journal-list");
  if (0 === itemList.length) {
    return list;
  }
  itemList.forEach((item) => {
    const listItem = document.createElement("li");
    listItem.innerHTML = item.trim();
    list.append(listItem);
  });
  return list;
};
splitText = (text) => {
  const splitItems = text.split(/, | and /);
  return splitItems.map((item) => item.trim()).filter(Boolean);
};
getItemsFromText = (type, text) => {
  let items2;
  if ("loot" === type) {
    items2 = text.innerHTML.split(" that dropped ");
    if (items2.length < 2) {
      return {
        list: [],
        newText: text.innerHTML
      };
    }
    return {
      items: items2,
      list: splitText(items2[1]),
      newText: `${items2[0]} that dropped:`
    };
  }
  if ("convertible" === type) {
    items2 = text.innerHTML.split("I received ");
    if (items2.length < 2) {
      return {
        list: [],
        newText: text.innerHTML
      };
    }
    const suffix = items2[1].split(" from ");
    if (suffix.length < 2) {
      return {
        list: splitText(items2[1]),
        newText: "I received:"
      };
    }
    return {
      list: splitText(suffix[0]),
      newText: `I opened ${suffix[1]} and received:`
    };
  }
};
formatAsList = (args) => __async(void 0, null, function* () {
  const { entry, text } = args;
  const processed = entry.getAttribute("data-better-journal-processed");
  if (processed) {
    return;
  }
  const lootClassesToCheck = [
    "bonuscatchsuccess",
    "catchsuccess",
    "catchsuccessloot",
    "luckycatchsuccess"
  ];
  const convertibleClassesToCheck = [
    "convertible_open"
  ];
  const classes = new Set(entry.classList);
  let type;
  if (lootClassesToCheck.some((c) => classes.has(c))) {
    type = "loot";
  } else if (convertibleClassesToCheck.some((c) => classes.has(c))) {
    type = "convertible";
  } else {
    return;
  }
  entry.setAttribute("data-better-journal-processed", "true");
  const { newText, list } = getItemsFromText(type, text);
  text.innerHTML = newText;
  text.append(makeListItems(list));
});
journal_list_default = () => __async(void 0, null, function* () {
  addStyles(styles_default4, "better-journal-list");
  onEvent("better-journal-update", formatAsList);
});
}
});

// src/modules/better-journal/settings/index.js
var settings_default5;
var init_settings6 = __esm({
"src/modules/better-journal/settings/index.js"() {
settings_default5 = () => __async(void 0, null, function* () {
  return [
    {
      id: "better-journal.styles",
      title: "Journal styles",
      default: true
    },
    {
      id: "better-journal.replacements",
      title: "Journal text replacements",
      default: true
    },
    {
      id: "better-journal.icons",
      title: "Show loot icons"
    },
    {
      id: "better-journal.icons-minimal",
      title: "Show loot icons (minimal)"
    },
    {
      id: "better-journal.list",
      title: "Show loot as list"
    }
  ];
});
}
});

// src/modules/better-journal/journal-icons-minimal/styles.css
var styles_default5;
var init_styles6 = __esm({
"src/modules/better-journal/journal-icons-minimal/styles.css"() {
styles_default5 = '.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brie_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowball_trinket"]{position:relative;padding-left:18px;white-space:nowrap}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brie_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowball_trinket"]:before{position:absolute;top:-3px;left:-4px;display:inline-block;width:19px;height:19px;content:"";background-repeat:no-repeat;background-size:contain}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brie_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/32b20c3984d2f03b132c295ea3b99e7e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_trinket"]{padding-left:15px}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/7d9f0e220db8280b84b8bffe39cd803e.png)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"]{padding-left:15px}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/8331fe131377c15fcf5c4773bde1fd8f.png)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowball_trinket"]{padding-left:15px}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowball_trinket"]:before{top:-2px;background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/36d3d62f27e2b76944591f86229bc2f0.png?cv=2)}\n';
}
});

// src/modules/better-journal/journal-icons/styles.css
var styles_default6;
var init_styles7 = __esm({
"src/modules/better-journal/journal-icons/styles.css"() {
styles_default6 = '.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_1"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_2"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_3"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_4"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_5"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_6"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_7"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_8"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_9"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2014_spooky_shuffle_admission_ticket_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2014_throwable_snowball_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2017_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2018_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2019_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2020_spring_hunt_egg_10"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2020_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2021_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2022_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2023_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2024_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=abominable_snow_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=absolute_acolyte_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=acolyte_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=acolyte_relic_125000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=admirals_ship_theme_2_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=aether_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=aged_grape_juice_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=agriculture_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_balloon_cloud_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_balloon_deluxe_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_hull_cloud_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_hull_deluxe_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_rocket_fuel_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_sail_cloud_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_sail_deluxe_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=amber_queso_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ambush_trap_blueprints_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=amplifier_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=anchor_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_dive_crate_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_frayed_blueprint_piece_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_jade_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_mangled_blueprint_piece_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_relic_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_relic_staff_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_ripped_blueprint_piece_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_scholar_scroll_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_spear_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_string_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=animate_snow_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=anti_skele_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=antique_frame_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=arcanevine_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=architeuthulhu_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=artillery_strike_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ascended_elder_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=assassin_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=athlete_torch_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=attraction_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=back_cover_torn_page"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=baitkeep_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=balack_the_banished_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bard_floor_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=barnacle_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=barnacle_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=barricade_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bazaar_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bbb_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_bobbins_of_becoming_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_break_room_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_golden_ticket_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_mixing_room_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_pumping_room_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_quality_assurance_room_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_paradox_patterns_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_pausing_pins_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_time_fabric_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_time_thread_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=black_pearl_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=black_widow_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bland_queso_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=blood_stone_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=blue_pepper_seed_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=blue_winter_hunt_gift"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bolt_of_cloth_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bottled_up_rage_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bottled_wind_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bottled_wind_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bountiful_beanstalk_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brain_bit_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brain_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brie_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brie_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brie_string_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brined_curd_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_gift_basket_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_theme_scrap_I_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_theme_scrap_II_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_theme_scrap_III_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brown_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bubbling_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burglar_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burroughs_rift_theme_scrap_1_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burroughs_rift_theme_scrap_2_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burroughs_rift_theme_scrap_3_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cackle_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cactus_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=calcified_rift_mist_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=calming_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=candy_apple_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=canister_ring_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=captain_croissant_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_instant_finish_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_potion_ingredient_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_1_ingredient_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_2_ingredient_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_3_ingredient_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_4_ingredient_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cave_crystal_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cave_diamond_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cave_nightshade_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cavern_fungus_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=century_of_luck_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chamber_cleaver_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=charcoal_yule_log_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cheddar_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cheddar_powder_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_sprite_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_bit_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_theme_scrap_2_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrono_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chummy_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=clean_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cleverness_clam_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=clockwork_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cloud_curd_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cloudstone_bangle_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cloudstone_bangle_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coal_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coconut_milk_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coconut_timber_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coggy_colby_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cold_fusion_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=combat_energy_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=combat_research_1250_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=combat_research_750_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=compass_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=compressed_cinnamon_coal_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=condensed_creativity_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=contaminated_crumb_cake_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cook_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=copper_bead_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coral_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cork_bark_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cork_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corky_the_collector_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corrupt_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corrupt_trident_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corrupted_radioactive_blue_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crate_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=creamy_gnarled_sap_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crescent_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crimson_curd_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crimson_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crop_coin_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crown_collector_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crown_jewel_collective"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crude_pollutinum_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crumbly_rift_salts_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crunchy_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystal_behemoth_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystal_crucible_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystal_library_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystallized_fossil_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cupcake_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cursed_gold_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cursed_librarian_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=damaged_coral_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=damaged_oculus_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dark_chest_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dark_chocolate_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dawn_dust_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dawn_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=day_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=decoration_voucher_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=decrepit_tentacle_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_freeze_base_blueprints_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_mouse_torn_page"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_sea_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_thought_25000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=delicious_stone_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=derr_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=desert_horseshoe_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=desert_nomad_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dewdrop_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dewthief_petal_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=diamond_boost_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=diamond_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=diamond_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=digby_drillbot_parts_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=digby_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dinglehopper_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dojo_student_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dojo_torn_page"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=doobers_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=draft_derby_curd_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragon_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragon_ember"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragon_scale_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragonbane_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragonbane_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragons_chest_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragonshard_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dreaded_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dreamfluff_herbs_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=drheller_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=drill_charge_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=drilling_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=droid_bird_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=droid_jetpack_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=duskshade_petal_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dust_floor_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=eclipse_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=egg_basket_ancient_box_trap_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=egg_charge_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=eggstra_charge_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=eggstra_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=elub_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ember_root_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ember_stone_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_codex_page_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_empress_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_floating_loot_cache_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_seal_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_seal_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enchanted_page_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enchanted_wing_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enchanted_wing_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=encrusted_metal_of_time_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enerchi_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=engraved_solid_stone_slab_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enigmatic_core_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enlarged_rift_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=epic_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=epic_orb_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=erupting_rift_core_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_a_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_b_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_c_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_d_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_e_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_f_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_guardian_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_of_destruction_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_prism_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ethereal_cannonball_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ethereal_librarian_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ethereal_rope_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=experimental_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extra_rich_sky_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extra_spooky_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extra_sweet_cupcake_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_ancient_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_attraction_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_gold_bonus_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_luck_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_luck_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_party_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_regal_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_snowball_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_spooky_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_spore_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fabled_fertilizer_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=faceted_sugar_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fall_key_shard_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_anchor_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_fireworks_shorts_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_fireworks_wrapping_paper_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_plain_wrapping_paper_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_spirit_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_ultimate_luck_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_ultimate_luck_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_ultimate_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fire_salt_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=firework_cookie_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fireworks_festive_decoration_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flame_march_general_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flameshard_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flaming_spice_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flawed_orb_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flawless_orb_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=floating_islands_cloud_gem_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=floating_islands_sky_ore_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=floating_trap_upgrade_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flour_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fog_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fog_warden_stone_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=folklore_companion_vol_1_3_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fools_gold_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_blue_action_figure_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_green_action_figure_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_pink_action_figure_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_red_action_figure_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_yellow_action_figure_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=forgotten_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fort_rox_tower_mana_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=freshness_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=front_cover_torn_page"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=frost_warden_stone_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=frosty_metal_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=frozen_sealed_bottle_message_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ful_mina_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulmina_charged_tooth_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulmina_tooth_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulminas_gift_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fungal_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=furoma_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=galleon_gouda_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gargantua_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gate_guardian_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_cheese_2"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_elixir_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_2"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_3"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_4"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_5"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_6"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_7"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_8"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gemstone_boost_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gemstone_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=geyser_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ggg_theme_scrap_1_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ggg_theme_scrap_2_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ggg_theme_scrap_3_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ghastly_galleon_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=giant_golden_key_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gift_wrapped_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gilded_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gilded_leaf_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=glass_shard_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=glowing_gruyere_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=glowing_oil_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_tree_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawbel_prize_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawnia_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawnia_torn_page"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawnian_express_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_bonus_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_leaf_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_1000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_10000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_1500_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_2000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_250_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_3000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_4000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_500_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_5000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_50000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_750_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_goose_egg_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_goose_feather_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_goose_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_harp_string_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_scarf_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_magical_hat_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_part_head_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_part_limb_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_part_torso_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_upgrade_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gooey_gruyere_curd_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=graveblossom_petal_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=greater_brie_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=greater_radioactive_blue_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=greater_wicked_gnarly_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=green_winter_hunt_gift"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=grey_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=grizzled_silth_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gumbo_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=haunted_arcanum_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=haunted_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=heating_oil_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=heatproof_mage_cloth_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=heavy_floating_loot_cache_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=high_charge_egg_convertible_2014"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hinge_of_eternity_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hot_spice_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=howlite_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hunting_research_10000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hunting_research_5000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=huntington_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hydra_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ice_curd_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=iceberg_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=icewing_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=icewing_generals_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=incinerated_garbage_bath_pattern_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inert_dowsing_rod_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inferno_havarti_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inferno_pepper_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=infused_plate_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ingenuity_grub_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inspiration_ink_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ionized_salt_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=iron_pellet_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=jingle_bell_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=jod_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kalor_ignis_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=keepers_candle_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=king_desert_letter_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kings_credit_loot_crate_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kings_prize_key_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kings_reserve_bubbleh_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lab_research_1000_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lab_research_500_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lab_research_750_bonus_loot"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=laboratory_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_lantern_fuel"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_scramble_clues_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_scramble_doors_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_1_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_2_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_3_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_4_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_5_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lagoon_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=larrys_sandwich_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lavish_lapis_bean_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=let_it_snow_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lich_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=light_floating_loot_cache_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=limelight_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=limestone_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=liquid_lens_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=liquid_oxygen_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_chest_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_theme_scrap_1_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_theme_scrap_2_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_theme_scrap_3_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_salt_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_shard_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_2018_lantern_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_2019_lantern_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_unlit_lantern_2018_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_unlit_lantern_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=long_range_cannonball_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=loot_cache_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lost_chest_piece_fifth_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=low_charge_egg_convertible_2014"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=luck_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=luck_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lucky_cap_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lucky_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lucky_valentine_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lunar_new_year_2017_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lunar_new_year_2018_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lunaria_petal_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_intel_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_monstrobot_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_upgraded_monstrobot_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mage_weaver_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_bean_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_cork_dust_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_essence_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_floor_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_seed_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magical_radioactive_blue_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magical_string_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magmatic_golem_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=map_clue_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=marble_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=marshmallow_monterey_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_belt_shard_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_binding_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_claw_shard_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_fang_shard_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_of_the_dojo_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=masters_seal_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=medium_charge_egg_convertible_2014"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=medium_spice_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=melee_floor_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=meteoric_core_fragments_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=meteorite_piece_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=microchip_curd_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mighty_mole_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mild_spice_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mineral_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mini_cauldron_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=minotaur_base_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=minuscule_photo_album_message_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mist_canister_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=molten_glass_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monolith_base"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monster_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monster_of_the_meteor_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monstrous_midge_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moon_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mouse_scale_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mouse_scale_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mousoleum_wall_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_fealty_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_scholar_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_tech_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_theme_scrap_2_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_theme_scrap_3_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=muridae_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mutant_mongrel_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mutated_behemoth_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mysterious_box_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mysterious_mythical_scroll_case_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_crystal_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_curd_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_king_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_page_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mythical_mulch_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mythweaver_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nachore_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=naturalist_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nerg_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=new_year_yule_log_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nibbler_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=night_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nightshade_boost_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nightshade_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=noble_floor_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nori_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=not_so_secret_bunny_message_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=noxious_school_of_sharks_pattern_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nuclear_garlic_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nugget_of_nougat_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=null_gauntlet_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=null_rift_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oasis_bead_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=onyx_mallet_blueprints_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=onyx_stone_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=optic_receiver_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=orange_winter_hunt_gift_box_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ornament_cookie_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=over_9000_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=overflowing_pump_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oxygen_baron_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oxygen_burst_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oxygen_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=papyrus_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=papyrus_seed_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=parable_papyrus_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=passing_parcel_message_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pecan_pecorino_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=peggy_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=perfect_orb"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pinch_of_annoyance_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pirate_crew_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pirate_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plain_shorts_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plate_of_fealty_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plumepearl_herbs_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plush_terrible_twos_message_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_base_blueprints_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_chrome_monstrobot_pattern_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_parmesan_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_theme_scrap_1_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_theme_scrap_2_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_theme_scrap_3_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pond_penny_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=powercore_hammer_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=predatory_processor_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pressure_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=prize_credit_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=promotion_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=puppet_floor_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=purple_winter_hunt_gift_box_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=puzzlebox_infinite_labyrinth_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pygmy_swarm_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_keg_large_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_keg_medium_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_keg_small_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_nachore_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_pump_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_spice_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_theme_scrap_iii_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_wild_tonic_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=quesodillo_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_blue_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_blue_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_curd_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_sludge_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rain_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rain_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rain_warden_stone_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rainbow_luck_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=raisins_of_wrath"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rare_map_dust_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=raw_ancient_jade_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=raw_rift_crystal_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=real_lich_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=realm_ripper_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=recycled_essence_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_button_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_drop_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_pepper_seed_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_pocket_envelope_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_winter_hunt_gift"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=regal_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=repear_perch_blueprint_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=restitched_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rewind_raclette_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rhino_horn_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=richest_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2020_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2021_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2022_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2023_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2024_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_bronze_chest_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_chest_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_gold_chest_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_silver_chest_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_anti_skele_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_battery_piece_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_belt_shard_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_blossom_branch_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_belt_token_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_claw_token_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_curd_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_fang_token_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cherries_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_circuitry_chips"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_circuitry_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_claw_shard_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_clockwork_cog_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_dojo_master_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_dust_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_extreme_luck_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_extreme_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_extreme_snowball_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_fang_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_fang_shard_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_furoma_energy_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gaunt_upgrade_a_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gaunt_upgrade_b_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gauntlet_fuel_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gold_bonus_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_hourglass_sand_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_hourglass_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_luck_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_mist_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_onyx_stone_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_quantum_quartz_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_rumble_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_scramble_portals_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_snowball_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_spooky_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_sprocket_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_super_luck_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_super_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_super_snowball_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_tarnished_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_temporal_distortion_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_torn_roots_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_luck_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_luck_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_snowball_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_vacuum_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_valour_supply_kit_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_venom_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riftgrass_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riftiago_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riftifier_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riptide_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rockforth_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rope_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=royal_ruby_bean_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rrs_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rubber_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rumble_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rune_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runic_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runic_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runic_string_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runny_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runny_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sacred_scroll_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sad_pamphlet_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=salty_sea_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sand_dollar_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sand_dollar_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sandblasted_metal_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sarcophamouse_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=savoury_vegetables_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scarab_chest_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_hunt_hint_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scrap_metal_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scum_scrubber_trap_blueprints_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=seashell_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=seasonal_garden_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sextant_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shade_eclipse_resource_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shadow_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shadowvine_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shamrock_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sharpshooter_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shattered_chest_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shattered_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shelder_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shell_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sheriff_badge_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shielding_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ship_blueprints_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shredded_furoma_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shufflers_kit_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=silth_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=silver_bolt_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=simple_orb_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_explorer_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_gem_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_ore_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_pirate_cheese_curd_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_pirate_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_pirate_seal_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_scrambler_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_sprocket_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_sprocket_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=skysoft_silk_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=skysoft_silk_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=slushy_shoreline_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snow_golem_theme_scrap_1_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowball_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowflake_cookie_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soapy_oasis_pattern_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soapy_phantasmic_pattern_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soapy_suds_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sock_ghost_plush_message_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soggy_journal_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sphynx_crystal_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=splintered_wood_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spooky_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_easter_basket_acroynm_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_ember_prison_core_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_focused_laser_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_infinite_labyrinth_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_multi_crystal_laser_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_school_of_sharks_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_shark_skin"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_key_shard_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_toy_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sprinkley_sweet_cupcake_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spud_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=stale_cheese_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=stale_super_brie_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=staling_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=stealthy_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=steam_nine_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sticky_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=storm_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=string_undead_emmental_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sugar_rush_plushie_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=summer_key_shard_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sunken_dive_crate_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sunken_treasure_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_ancient_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_attraction_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brain_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brie_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_cactus_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_gold_bonus_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_luck_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_luck_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_party_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_radioactive_blue_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_regal_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_rift_vacuum_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_snowball_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_staling_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=swiss_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=swiss_string_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tactical_grip_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tarnished_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tasty_spider_mould_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tattered_celestial_skin_pattern_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tattered_mousoleum_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tech_cheese_mould_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tech_power_core_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=technic_king_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=technic_page_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=teddy_bear_message_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=telescope_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=temporal_fusion_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=temporal_plate_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=temporal_rune_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=terre_ricotta_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thief_floor_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thistle_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thorned_vine_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thunderlord_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tier_five_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tier_four_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tiki_fuel_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=timeless_mystic_gem_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tin_scrap_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tiny_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toboggan_cookie_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=token_of_the_cheese_belt_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=token_of_the_cheese_claw_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=token_of_the_cheese_fang_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tomb_stone_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=total_eclipse_resource_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=totally_scary_cape_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tournament_token_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_elixir_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_secret_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_sigil_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_siphon_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_umbra_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toxic_brie_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toxic_spill_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toxic_super_brie_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toy_cookie_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_black_powder_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_coal_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_magmatic_crystal_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_mouse_repellent_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_station_fuel_nugget_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_supply_crate_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=treasure_clue_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tritus_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=twisted_lilly_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_ancient_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_attraction_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_gold_bonus_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_luck_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_luck_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_party_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_snowball_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_spooky_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_spore_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=undead_emmental_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=undead_mynorca_pattern_scrap_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=underwater_predator_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_broom_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_crystal_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_ember_gadget_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_zokor_crystal_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valentine_restraining_order_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valentine_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valour_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valour_rift_tower_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=vanilla_bean_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=vending_machine_token_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=vengeful_vanilla_stilton_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wanted_poster_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wanted_poster_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=war_scrap_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_fog_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_frost_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_rain_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_wind_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warmonger_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warpath_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=washboard_base_blueprints_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wax_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=weak_power_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wealth_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=well_sealed_canister_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=whisker_woods_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=whisker_woods_rift_torn_page"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=white_cheddar_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=white_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_gnarly_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_gnarly_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_gnarly_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_thorns_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=widows_web_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wild_tonic_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wind_cheese_potion"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wind_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wind_warden_stone_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=winter_hunt_2022_boss_loot_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=winter_key_shard_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wire_spool_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=yellow_drop_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=yellow_pepper_seed_craft_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_fealty_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_scholar_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_tech_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_treasury_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zugzwang_sock_collectible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zugzwangs_scarf"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zurreal_egg_convertible"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zz_library_key_map_piece"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_draconic_book"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_ectoplasm"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_fine_wood_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_gnawniaresearch_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_lich_jewel"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_marchingflameresearch_crafting_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_mesh_netting"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_ripper_nail"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_stonework_runes"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzt_egg_convertible"]{position:relative;padding-left:18px}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_1"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_2"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_3"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_4"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_5"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_6"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_7"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_8"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_9"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2014_spooky_shuffle_admission_ticket_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2014_throwable_snowball_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2017_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2018_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2019_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2020_spring_hunt_egg_10"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2020_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2021_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2022_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2023_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2024_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=abominable_snow_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=absolute_acolyte_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=acolyte_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=acolyte_relic_125000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=admirals_ship_theme_2_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=aether_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=aged_grape_juice_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=agriculture_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_balloon_cloud_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_balloon_deluxe_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_hull_cloud_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_hull_deluxe_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_rocket_fuel_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_sail_cloud_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_sail_deluxe_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=amber_queso_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ambush_trap_blueprints_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=amplifier_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=anchor_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_dive_crate_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_frayed_blueprint_piece_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_jade_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_mangled_blueprint_piece_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_relic_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_relic_staff_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_ripped_blueprint_piece_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_scholar_scroll_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_spear_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_string_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=animate_snow_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=anti_skele_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=antique_frame_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=arcanevine_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=architeuthulhu_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=artillery_strike_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ascended_elder_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=assassin_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=athlete_torch_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=attraction_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=back_cover_torn_page"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=baitkeep_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=balack_the_banished_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bard_floor_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=barnacle_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=barnacle_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=barricade_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bazaar_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bbb_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_bobbins_of_becoming_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_break_room_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_golden_ticket_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_mixing_room_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_pumping_room_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_quality_assurance_room_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_paradox_patterns_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_pausing_pins_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_time_fabric_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_time_thread_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=black_pearl_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=black_widow_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bland_queso_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=blood_stone_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=blue_pepper_seed_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=blue_winter_hunt_gift"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bolt_of_cloth_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bottled_up_rage_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bottled_wind_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bottled_wind_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bountiful_beanstalk_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brain_bit_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brain_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brie_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brie_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brie_string_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brined_curd_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_gift_basket_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_theme_scrap_I_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_theme_scrap_II_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_theme_scrap_III_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brown_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bubbling_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burglar_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burroughs_rift_theme_scrap_1_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burroughs_rift_theme_scrap_2_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burroughs_rift_theme_scrap_3_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cackle_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cactus_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=calcified_rift_mist_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=calming_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=candy_apple_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=canister_ring_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=captain_croissant_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_instant_finish_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_potion_ingredient_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_1_ingredient_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_2_ingredient_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_3_ingredient_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_4_ingredient_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cave_crystal_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cave_diamond_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cave_nightshade_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cavern_fungus_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=century_of_luck_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chamber_cleaver_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=charcoal_yule_log_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cheddar_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cheddar_powder_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_sprite_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_bit_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_theme_scrap_2_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrono_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chummy_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=clean_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cleverness_clam_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=clockwork_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cloud_curd_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cloudstone_bangle_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cloudstone_bangle_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coal_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coconut_milk_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coconut_timber_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coggy_colby_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cold_fusion_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=combat_energy_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=combat_research_1250_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=combat_research_750_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=compass_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=compressed_cinnamon_coal_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=condensed_creativity_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=contaminated_crumb_cake_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cook_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=copper_bead_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coral_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cork_bark_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cork_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corky_the_collector_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corrupt_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corrupt_trident_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corrupted_radioactive_blue_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crate_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=creamy_gnarled_sap_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crescent_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crimson_curd_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crimson_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crop_coin_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crown_collector_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crown_jewel_collective"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crude_pollutinum_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crumbly_rift_salts_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crunchy_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystal_behemoth_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystal_crucible_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystal_library_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystallized_fossil_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cupcake_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cursed_gold_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cursed_librarian_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=damaged_coral_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=damaged_oculus_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dark_chest_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dark_chocolate_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dawn_dust_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dawn_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=day_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=decoration_voucher_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=decrepit_tentacle_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_freeze_base_blueprints_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_mouse_torn_page"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_sea_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_thought_25000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=delicious_stone_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=derr_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=desert_horseshoe_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=desert_nomad_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dewdrop_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dewthief_petal_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=diamond_boost_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=diamond_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=diamond_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=digby_drillbot_parts_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=digby_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dinglehopper_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dojo_student_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dojo_torn_page"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=doobers_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=draft_derby_curd_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragon_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragon_ember"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragon_scale_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragonbane_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragonbane_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragons_chest_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragonshard_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dreaded_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dreamfluff_herbs_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=drheller_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=drill_charge_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=drilling_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=droid_bird_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=droid_jetpack_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=duskshade_petal_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dust_floor_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=eclipse_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=egg_basket_ancient_box_trap_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=egg_charge_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=eggstra_charge_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=eggstra_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=elub_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ember_root_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ember_stone_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_codex_page_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_empress_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_floating_loot_cache_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_seal_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_seal_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enchanted_page_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enchanted_wing_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enchanted_wing_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=encrusted_metal_of_time_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enerchi_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=engraved_solid_stone_slab_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enigmatic_core_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enlarged_rift_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=epic_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=epic_orb_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=erupting_rift_core_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_a_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_b_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_c_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_d_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_e_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_f_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_guardian_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_of_destruction_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_prism_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ethereal_cannonball_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ethereal_librarian_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ethereal_rope_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=experimental_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extra_rich_sky_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extra_spooky_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extra_sweet_cupcake_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_ancient_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_attraction_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_gold_bonus_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_luck_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_luck_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_party_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_regal_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_snowball_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_spooky_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_spore_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fabled_fertilizer_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=faceted_sugar_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fall_key_shard_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_anchor_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_fireworks_shorts_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_fireworks_wrapping_paper_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_plain_wrapping_paper_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_spirit_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_ultimate_luck_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_ultimate_luck_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_ultimate_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fire_salt_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=firework_cookie_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fireworks_festive_decoration_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flame_march_general_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flameshard_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flaming_spice_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flawed_orb_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flawless_orb_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=floating_islands_cloud_gem_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=floating_islands_sky_ore_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=floating_trap_upgrade_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flour_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fog_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fog_warden_stone_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=folklore_companion_vol_1_3_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fools_gold_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_blue_action_figure_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_green_action_figure_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_pink_action_figure_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_red_action_figure_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_yellow_action_figure_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=forgotten_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fort_rox_tower_mana_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=freshness_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=front_cover_torn_page"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=frost_warden_stone_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=frosty_metal_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=frozen_sealed_bottle_message_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ful_mina_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulmina_charged_tooth_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulmina_tooth_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulminas_gift_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fungal_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=furoma_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=galleon_gouda_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gargantua_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gate_guardian_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_cheese_2"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_elixir_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_2"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_3"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_4"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_5"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_6"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_7"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_8"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gemstone_boost_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gemstone_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=geyser_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ggg_theme_scrap_1_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ggg_theme_scrap_2_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ggg_theme_scrap_3_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ghastly_galleon_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=giant_golden_key_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gift_wrapped_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gilded_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gilded_leaf_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=glass_shard_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=glowing_gruyere_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=glowing_oil_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_tree_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawbel_prize_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawnia_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawnia_torn_page"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawnian_express_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_bonus_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_leaf_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_1000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_10000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_1500_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_2000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_250_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_3000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_4000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_500_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_5000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_50000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_750_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_goose_egg_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_goose_feather_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_goose_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_harp_string_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_scarf_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_magical_hat_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_part_head_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_part_limb_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_part_torso_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_upgrade_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gooey_gruyere_curd_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=graveblossom_petal_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=greater_brie_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=greater_radioactive_blue_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=greater_wicked_gnarly_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=green_winter_hunt_gift"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=grey_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=grizzled_silth_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gumbo_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=haunted_arcanum_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=haunted_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=heating_oil_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=heatproof_mage_cloth_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=heavy_floating_loot_cache_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=high_charge_egg_convertible_2014"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hinge_of_eternity_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hot_spice_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=howlite_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hunting_research_10000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hunting_research_5000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=huntington_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hydra_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ice_curd_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=iceberg_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=icewing_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=icewing_generals_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=incinerated_garbage_bath_pattern_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inert_dowsing_rod_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inferno_havarti_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inferno_pepper_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=infused_plate_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ingenuity_grub_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inspiration_ink_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ionized_salt_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=iron_pellet_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=jingle_bell_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=jod_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kalor_ignis_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=keepers_candle_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=king_desert_letter_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kings_credit_loot_crate_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kings_prize_key_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kings_reserve_bubbleh_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lab_research_1000_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lab_research_500_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lab_research_750_bonus_loot"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=laboratory_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_lantern_fuel"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_scramble_clues_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_scramble_doors_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_1_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_2_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_3_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_4_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_5_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lagoon_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=larrys_sandwich_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lavish_lapis_bean_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=let_it_snow_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lich_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=light_floating_loot_cache_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=limelight_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=limestone_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=liquid_lens_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=liquid_oxygen_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_chest_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_theme_scrap_1_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_theme_scrap_2_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_theme_scrap_3_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_salt_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_shard_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_2018_lantern_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_2019_lantern_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_unlit_lantern_2018_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_unlit_lantern_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=long_range_cannonball_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=loot_cache_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lost_chest_piece_fifth_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=low_charge_egg_convertible_2014"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=luck_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=luck_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lucky_cap_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lucky_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lucky_valentine_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lunar_new_year_2017_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lunar_new_year_2018_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lunaria_petal_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_intel_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_monstrobot_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_upgraded_monstrobot_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mage_weaver_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_bean_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_cork_dust_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_essence_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_floor_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_seed_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magical_radioactive_blue_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magical_string_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magmatic_golem_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=map_clue_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=marble_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=marshmallow_monterey_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_belt_shard_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_binding_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_claw_shard_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_fang_shard_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_of_the_dojo_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=masters_seal_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=medium_charge_egg_convertible_2014"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=medium_spice_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=melee_floor_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=meteoric_core_fragments_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=meteorite_piece_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=microchip_curd_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mighty_mole_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mild_spice_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mineral_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mini_cauldron_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=minotaur_base_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=minuscule_photo_album_message_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mist_canister_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=molten_glass_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monolith_base"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monster_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monster_of_the_meteor_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monstrous_midge_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moon_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mouse_scale_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mouse_scale_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mousoleum_wall_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_fealty_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_scholar_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_tech_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_theme_scrap_2_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_theme_scrap_3_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=muridae_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mutant_mongrel_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mutated_behemoth_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mysterious_box_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mysterious_mythical_scroll_case_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_crystal_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_curd_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_king_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_page_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mythical_mulch_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mythweaver_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nachore_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=naturalist_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nerg_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=new_year_yule_log_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nibbler_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=night_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nightshade_boost_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nightshade_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=noble_floor_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nori_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=not_so_secret_bunny_message_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=noxious_school_of_sharks_pattern_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nuclear_garlic_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nugget_of_nougat_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=null_gauntlet_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=null_rift_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oasis_bead_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=onyx_mallet_blueprints_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=onyx_stone_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=optic_receiver_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=orange_winter_hunt_gift_box_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ornament_cookie_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=over_9000_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=overflowing_pump_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oxygen_baron_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oxygen_burst_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oxygen_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=papyrus_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=papyrus_seed_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=parable_papyrus_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=passing_parcel_message_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pecan_pecorino_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=peggy_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=perfect_orb"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pinch_of_annoyance_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pirate_crew_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pirate_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plain_shorts_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plate_of_fealty_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plumepearl_herbs_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plush_terrible_twos_message_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_base_blueprints_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_chrome_monstrobot_pattern_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_parmesan_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_theme_scrap_1_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_theme_scrap_2_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_theme_scrap_3_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pond_penny_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=powercore_hammer_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=predatory_processor_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pressure_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=prize_credit_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=promotion_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=puppet_floor_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=purple_winter_hunt_gift_box_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=puzzlebox_infinite_labyrinth_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pygmy_swarm_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_keg_large_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_keg_medium_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_keg_small_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_nachore_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_pump_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_spice_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_theme_scrap_iii_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_wild_tonic_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=quesodillo_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_blue_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_blue_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_curd_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_sludge_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rain_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rain_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rain_warden_stone_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rainbow_luck_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=raisins_of_wrath"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rare_map_dust_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=raw_ancient_jade_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=raw_rift_crystal_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=real_lich_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=realm_ripper_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=recycled_essence_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_button_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_drop_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_pepper_seed_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_pocket_envelope_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_winter_hunt_gift"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=regal_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=repear_perch_blueprint_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=restitched_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rewind_raclette_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rhino_horn_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=richest_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2020_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2021_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2022_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2023_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2024_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_bronze_chest_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_chest_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_gold_chest_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_silver_chest_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_anti_skele_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_battery_piece_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_belt_shard_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_blossom_branch_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_belt_token_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_claw_token_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_curd_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_fang_token_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cherries_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_circuitry_chips"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_circuitry_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_claw_shard_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_clockwork_cog_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_dojo_master_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_dust_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_extreme_luck_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_extreme_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_extreme_snowball_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_fang_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_fang_shard_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_furoma_energy_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gaunt_upgrade_a_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gaunt_upgrade_b_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gauntlet_fuel_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gold_bonus_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_hourglass_sand_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_hourglass_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_luck_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_mist_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_onyx_stone_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_quantum_quartz_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_rumble_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_scramble_portals_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_snowball_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_spooky_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_sprocket_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_super_luck_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_super_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_super_snowball_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_tarnished_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_temporal_distortion_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_torn_roots_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_luck_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_luck_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_snowball_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_vacuum_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_valour_supply_kit_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_venom_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riftgrass_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riftiago_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riftifier_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riptide_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rockforth_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rope_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=royal_ruby_bean_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rrs_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rubber_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rumble_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rune_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runic_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runic_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runic_string_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runny_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runny_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sacred_scroll_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sad_pamphlet_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=salty_sea_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sand_dollar_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sand_dollar_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sandblasted_metal_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sarcophamouse_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=savoury_vegetables_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scarab_chest_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_hunt_hint_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scrap_metal_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scum_scrubber_trap_blueprints_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=seashell_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=seasonal_garden_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sextant_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shade_eclipse_resource_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shadow_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shadowvine_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shamrock_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sharpshooter_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shattered_chest_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shattered_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shelder_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shell_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sheriff_badge_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shielding_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ship_blueprints_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shredded_furoma_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shufflers_kit_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=silth_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=silver_bolt_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=simple_orb_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_explorer_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_gem_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_ore_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_pirate_cheese_curd_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_pirate_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_pirate_seal_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_scrambler_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_sprocket_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_sprocket_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=skysoft_silk_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=skysoft_silk_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=slushy_shoreline_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snow_golem_theme_scrap_1_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowball_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowflake_cookie_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soapy_oasis_pattern_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soapy_phantasmic_pattern_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soapy_suds_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sock_ghost_plush_message_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soggy_journal_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sphynx_crystal_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=splintered_wood_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spooky_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_easter_basket_acroynm_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_ember_prison_core_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_focused_laser_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_infinite_labyrinth_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_multi_crystal_laser_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_school_of_sharks_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_shark_skin"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_key_shard_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_toy_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sprinkley_sweet_cupcake_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spud_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=stale_cheese_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=stale_super_brie_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=staling_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=stealthy_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=steam_nine_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sticky_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=storm_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=string_undead_emmental_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sugar_rush_plushie_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=summer_key_shard_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sunken_dive_crate_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sunken_treasure_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_ancient_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_attraction_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brain_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brie_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_cactus_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_gold_bonus_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_luck_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_luck_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_party_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_radioactive_blue_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_regal_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_rift_vacuum_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_snowball_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_staling_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=swiss_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=swiss_string_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tactical_grip_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tarnished_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tasty_spider_mould_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tattered_celestial_skin_pattern_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tattered_mousoleum_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tech_cheese_mould_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tech_power_core_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=technic_king_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=technic_page_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=teddy_bear_message_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=telescope_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=temporal_fusion_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=temporal_plate_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=temporal_rune_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=terre_ricotta_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thief_floor_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thistle_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thorned_vine_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thunderlord_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tier_five_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tier_four_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tiki_fuel_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=timeless_mystic_gem_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tin_scrap_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tiny_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toboggan_cookie_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=token_of_the_cheese_belt_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=token_of_the_cheese_claw_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=token_of_the_cheese_fang_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tomb_stone_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=total_eclipse_resource_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=totally_scary_cape_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tournament_token_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_elixir_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_secret_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_sigil_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_siphon_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_umbra_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toxic_brie_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toxic_spill_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toxic_super_brie_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toy_cookie_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_black_powder_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_coal_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_magmatic_crystal_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_mouse_repellent_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_station_fuel_nugget_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_supply_crate_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=treasure_clue_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tritus_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=twisted_lilly_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_ancient_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_attraction_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_gold_bonus_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_luck_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_luck_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_party_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_snowball_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_spooky_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_spore_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=undead_emmental_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=undead_mynorca_pattern_scrap_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=underwater_predator_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_broom_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_crystal_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_ember_gadget_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_zokor_crystal_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valentine_restraining_order_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valentine_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valour_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valour_rift_tower_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=vanilla_bean_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=vending_machine_token_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=vengeful_vanilla_stilton_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wanted_poster_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wanted_poster_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=war_scrap_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_fog_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_frost_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_rain_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_wind_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warmonger_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warpath_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=washboard_base_blueprints_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wax_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=weak_power_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wealth_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=well_sealed_canister_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=whisker_woods_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=whisker_woods_rift_torn_page"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=white_cheddar_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=white_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_gnarly_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_gnarly_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_gnarly_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_thorns_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=widows_web_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wild_tonic_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wind_cheese_potion"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wind_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wind_warden_stone_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=winter_hunt_2022_boss_loot_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=winter_key_shard_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wire_spool_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=yellow_drop_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=yellow_pepper_seed_craft_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_fealty_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_scholar_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_tech_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_treasury_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zugzwang_sock_collectible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zugzwangs_scarf"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zurreal_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zz_library_key_map_piece"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_draconic_book"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_ectoplasm"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_fine_wood_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_gnawniaresearch_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_lich_jewel"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_marchingflameresearch_crafting_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_mesh_netting"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_ripper_nail"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_stonework_runes"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzt_egg_convertible"]:before{position:absolute;top:-2px;left:0;display:inline-block;width:17px;height:17px;content:"";background-repeat:no-repeat;background-size:contain}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_1"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/94b504f2c1803f59eb1caafc47e4d4c7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_2"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/f210235ec9b60ff424a0b395ac1da7d2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_3"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/1c5e49e4092294845a18c222f9c04a1e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_4"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/1c7a4eae0bc38dd3cd428eb85675c295.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_5"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/f876911a544a8a3712dcf4931cc3d385.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_6"]:before{background-image:url(https://i.mouse.rip/upscaled/ff2b4ce639a29da880890ecafa9e7c0f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_7"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/81e025bd640c022c7fa9c7bb15c5bd9d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_8"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/9ee511e70c8d582b3d917525ebd34a53.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2011_spring_hunt_egg_9"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/fe976f4802f1645e12a714457d7e7024.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2014_spooky_shuffle_admission_ticket_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7b1178ecdb4c6048ed7bb5b6de7f55d6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2014_throwable_snowball_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/52d92169f2c0a95e0da01ed0b890ec99.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2017_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/8265d22ef9c4688cfde9c6ccbc0c409f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2018_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/ba281fc15acb5b1a44b084be9cb9689e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2019_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/57355e176948b066203c36bdbdd4671d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2020_spring_hunt_egg_10"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/8ad2b09472cb044eb7be9035833b80f9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2020_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/7967a2f2b40008d3d37ff20853d0042a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2021_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/63ee1785e4d6557e86847ab220d4e4e8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2022_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/ba89918b418a21c1ba72b149ca93b2cb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2023_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/fe194610a7950d9c047fba82a0f25fc0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=2024_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/1c36ccc67965717b65cd5b3124588916.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=abominable_snow_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/2ea1aa7cfb2121206213fa6969abcd34.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=absolute_acolyte_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/d86fb326d73d73b54cb4da4595d7c8fb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=acolyte_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/36081118929712504c6d57e95b809820.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=acolyte_relic_125000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/nothing.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=admirals_ship_theme_2_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/96217fd9504adbaf38bd4c67eacf1c9e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=aether_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/15ef04bbc566f65be06e96a62782e7be.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=aged_grape_juice_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/d2683d9fb98d4603933fdb7d4ec16eb4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=agriculture_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/810d262bc2fe10a3c99b59993e8dd737.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_balloon_cloud_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/b11869b8d3573bb5685fda49adf61009.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_balloon_deluxe_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/431617f34fea970a359bada3d272b1c9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_hull_cloud_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/82af6d0c0416e46f44d6ad9b3eef0ada.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_hull_deluxe_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/1efd5e1bf8da2034c2a155cefd651090.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_rocket_fuel_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/e5dc4cae935eecf3c9ef37cba0d2f11f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_sail_cloud_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/748dddfdd26494bc92c93f1bdf78e3a1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=airship_sail_deluxe_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/4626a06871d87191a319369ea37ae9c2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=amber_queso_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/fe36041df0bec6dcc887ce67feefc4c8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ambush_trap_blueprints_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/blueprint-new2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=amplifier_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/e9efc16289578c5b01bbfbc68180c54b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=anchor_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/7b2c6d5ca723db03df698b23bfdcdfac.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_cheese_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/9ca0dcfad630fd8dc5fdedb86bb502bb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_dive_crate_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/89dd39d99b3c23f11c174c75f2750d9f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_frayed_blueprint_piece_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/ancient-blueprint-new2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_jade_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ed7a286aaba86f25fd1364584a9d56e4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_mangled_blueprint_piece_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/ancient-blueprint-new2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_relic_collectible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/collectibles/large/a6e804d0d9eeb22ff01660a144521ff1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_relic_staff_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/ancient_relic_staff_craft_item.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_ripped_blueprint_piece_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/ancient-blueprint-new2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_scholar_scroll_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/600254a937f618200c8e8fb9b3aeaefe.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_spear_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/52b53960ce6ec24a1808d9cc4ba9285f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ancient_string_cheese_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/c186592ecf94dc690119c5971289aca9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=animate_snow_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/299865bee5e482a035584ecf04f8cb34.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=anti_skele_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/c9e2e0ff242a15efd576ada74ccdd0c2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=antique_frame_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/a1ef1a3cd910a998ec3a94a47d93826c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=arcanevine_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/3ba68a805e40bd9d009bf71716a73d5d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=architeuthulhu_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ef6336b16c27cc3eb83d6babb62c54b4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=artillery_strike_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ef8fb33edf7ca54d7ddfc91a215e4845.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ascended_elder_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/381c1dd33e81a3befc02c8cf52ba2b0f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=assassin_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/2b3aa5922c98dd5320d8511953cbe450.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=athlete_torch_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/44f6a8534a59e42f0153ce91743b3f3a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=attraction_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/e9d933c313a2a5846b5d00d75c6ada69.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=back_cover_torn_page"]:before{background-image:url(https://i.mouse.rip/upscaled/torn-page.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=baitkeep_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/52a8964019099ae0ab2bbc20b5279df5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=balack_the_banished_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ed81ee68b34afc6e83abeac1c8382347.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bard_floor_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/73fd4b2ce4444589f5861b8afa72e230.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=barnacle_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/98fc6f3a4723c64257f67ebdd25e6a82.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=barnacle_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/4f3c9f96c9672c1dac80b35d5dd01ba2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=barricade_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/1d8baeb2fe6da30408338e70a59371cd.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bazaar_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/45e053a16d858d237ab73e9a5dc77ba0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bbb_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/a2ebeda8b2008652e112429c05f9adfa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_bobbins_of_becoming_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/5c07639f743c8a0a84f9f2855a02046b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_break_room_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/4a52c6d8607991a93d3167ac401802ec.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_golden_ticket_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f7d103fe2185afa61e08b0880077a76d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_mixing_room_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/2396577aacb317979238844ae30b62c1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_pumping_room_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/c3c5cb340c3949ba5280c63b2f552a19.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_quality_assurance_room_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/97bb19e8f5ae6cc29a7a0f312a1a3b14.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_factory_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/907ce5291e023dedae8ed33c98546743.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_paradox_patterns_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/adde59133ab1dee5cb6c9e4b0a35751b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_pausing_pins_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/261bc80162532e469c3583d093c7c807.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_time_fabric_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/3179cb384e8abc78e301bfdbe84c1d64.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=birthday_time_thread_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/9a9f343b68dfded3753b645e8b48770b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=black_pearl_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/279deaf36a6421a2c0047f70972d615a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=black_widow_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/59a0c83cf9d8a269d5a393f656b8233c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bland_queso_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/6c617a149e1909189ca013c343ac5b11.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=blood_stone_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7d30f110ca0210571d2b4d37a283c3d8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=blue_pepper_seed_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/81bb278316c89171bcf4e8d6d05e51ad.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=blue_winter_hunt_gift"]:before{background-image:url(https://i.mouse.rip/upscaled/6c61f4651d5747e93dfaa1874b7c3e07.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bolt_of_cloth_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/30c6f16b8e317c058f862ebb1de66c58.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bottled_up_rage_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/19e0609d64d2b6733f5d2752a1fc5c10.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bottled_wind_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/3b50ca373c2f5f16f780efd836d055ce.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bottled_wind_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/07b593381782f6444180390bef40512f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bountiful_beanstalk_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/1e1bbbb78f9f8b4ed723f46c12533da2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brain_bit_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/0157b6057d14d0dc947ab8748f38fe73.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brain_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/28736da58fb292da1b4b6fdd2e4e4635.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brie_cheese_potion"]:before{background-image:url(https://i.mouse.rip/upscaled/be963f01d283ec943b37eaffee55801a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brie_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/9a8d8cd30ea217263779c4bbef463d69.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brie_string_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/33655af0578327d745a198a8d1c6514a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brined_curd_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/dc3f1fd4feaf509655b7d53f7848a3ff.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/06ce6c847841c33abd0ea5155b7c9521.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_gift_basket_convertible"]:before{background-image:url(https://i.mouse.rip/upscaled/d9cbf81394bc03fe405efc1158eeb55d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_theme_scrap_I_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/882a3596dbd3eea8349f7e20f5d2a44d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_theme_scrap_II_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/6a4c94d875abb7cd7413442f2eb66fe2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bristle_woods_rift_theme_scrap_III_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/0fed708ae2adcb1b925ae615c2fb0b93.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=brown_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/36649cee9bb7368e1a499153bc1531df.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=bubbling_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/dbb75a6ef1c661160265259d89ffc16e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burglar_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/1b62029d8044f8640f47a7e157865dc8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burroughs_rift_theme_scrap_1_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/58ffc165c8b9223f68ecdbbd4d47deda.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burroughs_rift_theme_scrap_2_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/80024db3879671de2a9c683cbf6dba7e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=burroughs_rift_theme_scrap_3_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/cc77683d8bbdb5936b8688120cad0dba.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cackle_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/a319797e40f21a4dfbf71b2342ee2b9b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cactus_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/15539fcdf0fdae1d477d9376955715f0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=calcified_rift_mist_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/54e6ff0e1a145b4ae1a702dae67f302c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=calming_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/b5f5181ed172c026328753f3691f3adb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=candy_apple_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/31010fcc556e22dfdb212bf41cd0b51b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=canister_ring_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/877f442dc703b178bfaa850ba64737e7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=captain_croissant_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/8336dfb56954ded6972c0730a2f434b9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_instant_finish_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/152562d29f0c1f3b34068772e12f9e1a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_potion_ingredient_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/61974eebc3c5636bdde34087f181cef3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_1_ingredient_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/3458a95df3666ed6cbc1845fb33907ba.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_2_ingredient_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/798ff477dd731f81ccb8e232109e2541.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_3_ingredient_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/78bc1d92a65357ac071dfaadcf3dac37.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cauldron_tier_4_ingredient_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/2843ced24d7b1da5a74878641de5af8f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cave_crystal_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/9e584aa7381289bea8b042441d974898.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cave_diamond_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/c4b059aa723f63b0d65ebae50ec6faef.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cave_nightshade_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/075a2bbef9d263b41822be1c318e9ee0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cavern_fungus_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/6b849e20a0a0e8034697dfc0034f20e0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=century_of_luck_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/c80393b464ba3011559816c151942c7b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chamber_cleaver_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/62c0cb044ec8e99965e63ee43118ee36.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=charcoal_yule_log_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7038d57eac98f8c0c2e54c3c386ef1e1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cheddar_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/65c1611f41a93975adc5d23730685faa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cheddar_powder_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/5f8bede50428c8c2214726c2aaffab69.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/661423bc380dbf551f2ad004b08c73fe.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/50b0d40c3dea7dd2c4e4cec0fa49261a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_sprite_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/72ab4c97fa2c394a2de4dcdcb1e22360.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cherry_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/5b380a1d1360c002b4f7da75d0c06717.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_bit_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/c19b708f1b5345f4173084db6e15a32c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_theme_scrap_2_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/fc70b8752ff67df7cb10241c025400f5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrono_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0be44f7be649f01fc9467ef51e503846.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chummy_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/22022f49a2971100620162510f45a493.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=clean_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/2432169d870389c8bf81e4fb192cc673.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cleverness_clam_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/254a9be91a43cb3d0759ae3a5bde76c8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=clockwork_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/af3af9c1530092438f85b1cd90d854ce.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cloud_curd_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/96a47f3f96f6a89afc2fe562fe39ff19.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cloudstone_bangle_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/17538c5f2c9f8adb9e4086f9d4faf328.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cloudstone_bangle_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/3938367fb80d9bc2ab244bb2f4127f70.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coal_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/83bb83fb68a3a777b71ae1d4a47e6ee5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coconut_milk_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/6b3b3556db2acfbcc1b34d489459974d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coconut_timber_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/a48a5e8e11c9fb63d24ec5c2d92fe6ef.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coggy_colby_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/39a63a48084383a7eb07d64c74357544.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cold_fusion_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/33d2ff1344d6d8d7fbb3e1cec218d7fe.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=combat_energy_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ae2f656e2f306ddf66586509aa263b3b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=combat_research_1250_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/nothing.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=combat_research_750_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/nothing.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=compass_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/81354595b12ee558a0d5f29db2e804c8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=compressed_cinnamon_coal_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/c8b7a13ab5842120acfee3ca1e81de8e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=condensed_creativity_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/839415e43cf9aa38547e9e6c5c1458f6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=contaminated_crumb_cake_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/ab8d13824c0ca64ff88890abaf50c4e0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cook_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/439b3421e73b2384530808eba5cfda95.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=copper_bead_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/03437639426d377f5e3ea63e94ebbcbd.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=coral_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/1696624782c605feac729c628ca6df29.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cork_bark_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/df9677b546c356c680e1cd4ddc91d3df.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cork_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ec25480d4bcc3bc2c10aa19d1f53013d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corky_the_collector_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/47b35e0b2de7b71bb4f21432da038ac8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corrupt_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0ee8ede68601e126f316100533a5be74.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corrupt_trident_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/1b0bfb831bc9716f64dcaa21e08fc7c1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=corrupted_radioactive_blue_cheese_potion"]:before{background-image:url(https://i.mouse.rip/upscaled/af7555f61ede9c06c60d9f1826d7ea71.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crate_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/134572be18c33c9bf082a987b0b68ae4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=creamy_gnarled_sap_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/507b4fd0ecd1976b8211c1ff381706d9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crescent_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/ec3fa3c29b23d461f75abdb150842128.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crimson_curd_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/377eadb0f8aa2928aef8f51b593b1a81.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crimson_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/dec7b0cc661f3fd1f126ff25197c18eb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crop_coin_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/415f4fbe9f9cc19e181893c5387c004b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crown_collector_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/4e1b26a306a5b66a0277f1eb5b8f8398.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crown_jewel_collective"]:before{background-image:url(https://i.mouse.rip/upscaled/5be8952836ece13250179cd194b991c3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crude_pollutinum_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/c9c45ee57de6c86d7839e51f0126869f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crumbly_rift_salts_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/6db7cd42afda17d2fabdf3ee0d73b9be.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crunchy_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/20dcee88a834c0945ae70e454d409a64.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystal_behemoth_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/82f7f7f9a214760806982e121bb7c657.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystal_crucible_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/e49cb293cafb01ad7ab32fe9f59e3302.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystal_library_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/018585dd26ae52f17d34b12d5a17af88.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=crystallized_fossil_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/f943c9064364d3d6280a2e949b832d14.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cupcake_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/92f722d83bbf455b47c51661bc1473d8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cursed_gold_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/1d4886da3f7287c1d0a8b52b94169a41.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=cursed_librarian_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/06e6690eb9547319ec81e97525a774bc.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=damaged_coral_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/d6a2fb8e41bc43066499038c7f5b474e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=damaged_oculus_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/b557d7039b2170b045c59233924453ae.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dark_chest_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/db94a26e6a90e45acf329e902322081d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dark_chocolate_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/ff1e626c4a49e5cdf91ffe28cf0cc4c3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dawn_dust_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/eb5fb51595ba2ca16a2a6056bd6986a5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dawn_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0880398ae8a96e3ba6360e30ab118edb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=day_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/99a85b47b93ac27fbca20aea868d16b3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=decoration_voucher_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/5d0e9f4fe6ab1973630141fa9b889dd9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=decrepit_tentacle_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0c8f41e7483cb833488260d56ac4fde6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/495050437a98325175d13c1b8586aa99.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_freeze_base_blueprints_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/8ae4d2ea7503ab044ab358304385e924.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_mouse_torn_page"]:before{background-image:url(https://i.mouse.rip/upscaled/torn-page.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_sea_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ba4596b6ccf0d05d6636ca948add8548.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=deep_thought_25000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/nothing.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=delicious_stone_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/9162faac15ce5e5293d5bad0242e3ad7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=derr_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/8f3ab7d1380d244fbcdeb0ff0ec5f155.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=desert_horseshoe_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/desert_horseshoe_crafting_item.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=desert_nomad_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/720831b5f4d7389e809487bb7d4c9b72.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dewdrop_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/transparent_thumb/f3e81cd5cb1d1e77db6fd1bea3fd90d2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dewthief_petal_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/d0aa3c851e757f3388af33259b49b5ba.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=diamond_boost_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/674d1dfe00a845c7e65758b84eddd6f4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=diamond_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/5a934d4f696aca2796b2c81a0f2a6e0a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=diamond_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/a517c2628772ffa88edc629ee3f7c42c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=digby_drillbot_parts_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/parts-new.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=digby_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/4c639349f35f72eb9334fd35250e7d04.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dinglehopper_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/67995e6ed275500fed2358d8be39ba56.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dojo_student_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e6cd171514a79fc8c7d9756c2e2abe12.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dojo_torn_page"]:before{background-image:url(https://i.mouse.rip/upscaled/torn-page.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=doobers_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/92946955726b1502e43e0fc21e84967b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=draft_derby_curd_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/e57a0da72b428affd8626146c3ea2b16.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragon_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/9127e5d45dea97a0386856d1f790ac9a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragon_ember"]:before{background-image:url(https://i.mouse.rip/upscaled/e82a47642a8157fdaa9a017d0a02889f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragon_scale_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/40e221d3ef85009a96478033f96d1cc7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragonbane_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/20c363d7982533d47e080698baccff2e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragonbane_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/09d22ea7e6d603e3be79de693ca38f95.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragons_chest_convertible"]:before{background-image:url(https://i.mouse.rip/upscaled/6054ec9af22ec6e9b870e9a348ac2001.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dragonshard_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/a74323a8cc202e360417591f112c0f03.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dreaded_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/fc77c3347caff2f05faee41c498ceb88.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dreamfluff_herbs_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/b3016772b43b08c5af80eb692d64ee46.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=drheller_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/67728468871ea1d98ebb6e8067aba928.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=drill_charge_stat_item"]:before{background-image:url(https://i.mouse.rip/upscaled/e305c5fe904855162acf43ae13144a48.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=drilling_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/531ca3dc8e0beb5939e609319f2ede13.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=droid_bird_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/1fc90df77235bdf67935132d87dee3ab.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=droid_jetpack_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/e85ec0d6ee80e56da0d1b459590fd3aa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=duskshade_petal_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/3e902257052234e3d945de369e94cad3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=dust_floor_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/b8da3bdb22caca3a8eef3b6ce6e2a0bf.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=eclipse_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/3d269c0c856c57da61ac68fdc8c83d8e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=egg_basket_ancient_box_trap_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/cca3ba09d72fa3d1f817c729018bd73d.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=egg_charge_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/49eb7f525b2b3f83cc3c5f6d308fa14c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=eggstra_charge_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/21587f9934846c11662b3158730c7db2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=eggstra_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/226733236730a19e170b4bfd00f2c216.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=elub_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e84917131503d792edf03a8a0c7e9522.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ember_root_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/7e36bbd16f7c136ec5a6ba1c3dcda1d0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ember_stone_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/fb2d28966da15fd2179b071afdd1df08.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_codex_page_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/9408c967a8589097f8a5ab10c27ffe19.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_empress_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/790acc36ced4d004235c0ca63b5a48b1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_floating_loot_cache_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/01b9064000b003e9bbf34d980a367c6d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_seal_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/3c179e2e5b28d0ebd69791096ff8733f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=empyrean_seal_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/dd362c178b67d5e45fda7b2da273e7d6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enchanted_page_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/c40cece15d2b24932998402f91a571f0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enchanted_wing_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/4a8a86baec532a051a55f202d81d36d2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enchanted_wing_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/837408def39b21b377373f7f6f1064f0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=encrusted_metal_of_time_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/806d78816ac0ce65aa1bb9d4055ad968.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enerchi_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/a4819f8e8ef04833528a6fb9b8613ffc.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=engraved_solid_stone_slab_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/9e244c5a09575c82a81e57c7850849e0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enigmatic_core_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/cfe214a43f9d74a1d5fdd19a87a98abb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=enlarged_rift_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/2452e1fbf12b65c03969f6ba81600497.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=epic_cheese_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/b24c8bd51493b112aafb0f3c05384641.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=epic_orb_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/041508ebc4291b4cd82502c20902ae3e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=erupting_rift_core_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/1121d471e1d62b563990c05dfa9b81f5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_a_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/c17ae89c7ce53dd3b680ae61cf7d76e0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_b_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/cb8a5a0c67585706456c76efe355b503.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_c_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/c2ec1005bdb8a1fa50482b2748ee8466.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_d_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/33aa01667cf443062d99081e0e3e2529.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_e_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/23e3f8591e1502767782e6d25c830309.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_f_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/7860549d38f5cd74aee1efac30d12140.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_guardian_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/c36799b0527c53db1b18daff8c3cdb74.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_of_destruction_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/essence-of-destruction-new.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=essence_prism_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/86d537b2d6e3fda4fbd61b768666fd15.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ethereal_cannonball_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/dd9f642df9aaf1bccb8022205b267e11.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ethereal_librarian_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/32c8ecf61b90df198211cf7d4fcaa3fe.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ethereal_rope_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/db4b577b3614ed06a03bf9489eea08a5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=experimental_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/992d41af8eb47efaf6e626c35d28502d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extra_rich_sky_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/0ae707c97067446e1dffa95eca697c3b_v2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extra_spooky_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/ee42fd2b276cdf04dc2fbdc995764230.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extra_sweet_cupcake_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/374d029aa7083abe363bcc5d6d15d6aa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_ancient_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/342e16250ac170a275cf21830cb01219.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_attraction_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/2988e4f8475f7fd67303f40737c4f725.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_gold_bonus_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/5139456982d4631acdf48defa9f6af61.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_luck_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/00b1ae40503ff443ddab3becc48aa5da.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_luck_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/aafe7e3f82e96fd01d83b990cced1682.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_party_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/48d786d6f646a0ce00ad5142cf580e62.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/09c6fdd16d188b5447d85de2c3d1b3ed.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_regal_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/4f437099155e580250f5edd2c6a74058.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_snowball_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/e83e5762b9d1fe9dca1f3f8cba5a6230.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_spooky_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/05b9f931852ba4725d49ace31231d8cd.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=extreme_spore_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/43893174cec3acc5dd3da41ca2007241.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fabled_fertilizer_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7172897965fc2aa1fca94675d002891c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=faceted_sugar_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/faceted_sugar_crafting_item.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fall_key_shard_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/b24d7c88715903e30192a673a7bd9d37.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_anchor_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/7a406cea50188f6d4ff923882c6989f6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_fireworks_shorts_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/85ecf9aa94e753dbcb41737f8dd007d1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_fireworks_wrapping_paper_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/1a35b1e41b07d6a5677664613b96ced2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_plain_wrapping_paper_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6a34956a866c7c750fa3ac2686a1ef5b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_spirit_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/cda292833fce3b65b7a6a38c000e8620.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/572219ffa04034304dc50915ba17589b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_ultimate_luck_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/1dc0012a889f1faa8a77fdc2dad59177.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_ultimate_luck_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/f522a702fd18f40b210c3cbfedc9d8d6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=festive_ultimate_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/01d3ceb7cd446b99279e48d48d7b0a3f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fire_salt_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/143e28a0e40fe5ef87d58c49205fa0c3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=firework_cookie_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/b7a5523672b3a5d363cb759314266358.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fireworks_festive_decoration_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/8b2062783dfb3cb3e63676de112cf1ea.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flame_march_general_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/5506151397da62b96a3afb51c730f433.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flameshard_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/flameshard_crafting_item.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flaming_spice_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/3896982412b1462bc2130b592b47993b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flawed_orb_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/d3cc688be2acfc6d4abf3c2baa8ea4e4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flawless_orb_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/a64bcfe3d5ac35d5f760b0835c9a24fb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=floating_islands_cloud_gem_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/2b2f40c927145497b1d95f67e335e939.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=floating_islands_sky_ore_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/e968c6d5fce6ffd21d60e5e4547e31ec.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=floating_trap_upgrade_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6bffadfb47a1ccbd10e19949ae00a1f6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=flour_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/bb68cc763d50965702cca0d4fca5e490.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fog_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/1373e30b89ec2729c80cabb7a4c0f77d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fog_warden_stone_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/81d5ee0d368a73905f1c2abe08d77f71.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=folklore_companion_vol_1_3_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/8890a7ffe292185dcbef6cbbd4aa1bbc.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fools_gold_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/be110c02973cf122a3c4e6f1b8b8ad87.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_blue_action_figure_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/dc31257f6779840477a143677ebc270b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_green_action_figure_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/a22bb222966fc256db20bb7409735718.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_pink_action_figure_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/c9a3888a218c83dfb91345cd0dacb41e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_red_action_figure_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/341009a82574fbecb11af00857e7bdaa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=force_fighter_yellow_action_figure_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/af6337de7beb9d113790d24e4fa036f1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=forgotten_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/ca5d535e935af2896aab0dec7302c035.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fort_rox_tower_mana_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/462119118101b2ff485357e0ab030c9b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=freshness_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/567688dae46ff9892476d3d23bc8b14c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=front_cover_torn_page"]:before{background-image:url(https://i.mouse.rip/upscaled/torn-page.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=frost_warden_stone_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/35ac0771be978b7b606815baf9d742b0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=frosty_metal_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/813896856587efd5d33c295a9eca69c5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=frozen_sealed_bottle_message_item"]:before{background-image:url(https://i.mouse.rip/upscaled/54d8383b07f25998ddfb18cd94a89f0b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ful_mina_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e70b05c5951a3cbb7a30bd1ed6bc2e3c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulmina_charged_tooth_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f8ec4fe0f3f262d8b186c8f5a5a47b42.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulmina_tooth_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/bf29c4e1a580ef409b8bb809180e284d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulminas_gift_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/fdd00e1ebb02b742dd57b0afb7b85159.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fungal_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/9f5461364f5d45ef80031fd40dfb3914.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=furoma_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0bef036771da71f0cd8965fd1aa01de9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=galleon_gouda_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/1f1f063f61538c166b086c64e7be7b0c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gargantua_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/5b4cfd86742ac69688a01c1a4e40982f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gate_guardian_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/6430df1893c2eabaa63a327f12124d65.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_cheese_2"]:before{background-image:url(https://i.mouse.rip/upscaled/1f07a6ab7b1149d78d12285ebd612e22.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_elixir_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/e150d89cfa53dc318481e33f313a8a73.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_2"]:before{background-image:url(https://i.mouse.rip/upscaled/64d07adcb66fe021f1bb8239f6dbe7de.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_3"]:before{background-image:url(https://i.mouse.rip/upscaled/46c2ca3f8d6679b2ab626cabf774abce.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_4"]:before{background-image:url(https://i.mouse.rip/upscaled/84183fae4d3c605174e915d4f4f4e102.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_5"]:before{background-image:url(https://i.mouse.rip/upscaled/58ecf0c617a5b422863b295c7f4c9482.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_6"]:before{background-image:url(https://i.mouse.rip/upscaled/9ccdd8aa87c6952b89dcf402acdc1d3c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_7"]:before{background-image:url(https://i.mouse.rip/upscaled/b4b915bb46dcd0cf43ca01636a131c9d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gauntlet_potion_8"]:before{background-image:url(https://i.mouse.rip/upscaled/c069bb7ffa39a444eb0eb6e6645ee9d0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gemstone_boost_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/6e8bbd296107ef16d79521a1b6158778.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gemstone_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/896e06fde8c1931d810cfb58f9cf6b83.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=geyser_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/b82edd503aa902765882ba8aef276cc4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ggg_theme_scrap_1_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/8e60c287ed062879ccaa2ddc8037e55e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ggg_theme_scrap_2_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/06cc8eea9b30c454898df5e95310f7d5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ggg_theme_scrap_3_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/e967ccf436b7f4528d38452171937d27.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ghastly_galleon_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/7408820a52dcec6001b2aa4b25a584b3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=giant_golden_key_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/d855937c33e0fc0db25fbdf1aea70aa2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gift_wrapped_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/12e802da31aeea4d37e707be12948f8b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gilded_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/66e3daa5c8e00d79fcb323ddd8eff45d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gilded_leaf_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/5bef3c79a6cfd6f4706f26f2d3e870eb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=glass_shard_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/505e1f7ac48d233234c06b281b5664ad.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=glowing_gruyere_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/9f8190c4aa5465cf36eddbc11e8f49e7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=glowing_oil_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/dd4e2c7419e3965822eed789bf216310.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_cheese_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/f5013b271452559e204bc07c349eefe0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/2682bc940071eb73a0a26a231cca3a59.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_tree_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/623a1722d52c170f38edde8b51583871.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnarled_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/ec0a475c1a5f62683bcbaa9354abead5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawbel_prize_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/262ee00dd81b7fbdf7a5a88b347e7847.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawnia_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/a2545c5df4cec5509f7c2e92b8bd4798.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawnia_torn_page"]:before{background-image:url(https://i.mouse.rip/upscaled/torn-page.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gnawnian_express_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/77f06d5c30c1684577c72813c27549b7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_bonus_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/3fceedb58de8f05c0a7ddca788ea29af.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_leaf_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/5985fc9b29b3c4f0dd36ea5de406bd8f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_1000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_10000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_1500_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_2000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_250_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_3000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_4000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_500_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_5000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_50000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_satchel_750_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gold_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f659a8a07d3877df4165b188f13bb0db.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_goose_egg_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/178d8b743ef536688412a1f9fa60523a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_goose_feather_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/654d4e0c8308c3ab0ee99d32503bf82a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_goose_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/5a48475b9a90bebbddd13ce1f8e58877.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_harp_string_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/0077528e751b8f8e9bdc3c7d66305222.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golden_scarf_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/b07954771f93d36f125caab617573edf.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_magical_hat_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f2ec13c0297687cbe50c7c35312966b7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_part_head_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/680f6a68612ca9181a90b5719b20ef78.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_part_limb_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/396a907cb274bf18106dc9425248dc0d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_part_torso_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/a2fc8dd7a8bda0177f1265b70a8abe39.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=golem_upgrade_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/a9f0d6cba3beb00ad97a543b5e3ec8f9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gooey_gruyere_curd_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/f58e0a6a499ddc4c98ad273627831876.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=graveblossom_petal_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/b23d7871b80df54dc06fd9e708bf8432.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=greater_brie_cheese_potion"]:before{background-image:url(https://i.mouse.rip/upscaled/871f0235f2f6162855ac70c9ce07e6d9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=greater_radioactive_blue_cheese_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/345b8f8865f1b779ebd95bd269f2b6bc.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=greater_wicked_gnarly_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/4313fb70ca6c11ecee3d86b8f59b8842.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=green_winter_hunt_gift"]:before{background-image:url(https://i.mouse.rip/upscaled/5a655a9b057422abfd6fbfe87e199b8f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=grey_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/283d883f46b2d2bfd476807a8f8c1dde.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=grizzled_silth_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/c43f6d8d21b32955b39214ffc718e5e0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=gumbo_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/d841f3c41a16b32de8407595576ff596.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=haunted_arcanum_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/aaccf1abc329dd1b3406f33572323bb1.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=haunted_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/20d8aed467c5475759a9f46a4d5c1c08.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=heating_oil_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/2a4a0043e148851118e1ac5f38b12e49.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=heatproof_mage_cloth_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/heatproof_mage_cloth_crafting_item.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=heavy_floating_loot_cache_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/aba8f0c2028abcb4da63ef78b1cb82ea.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=high_charge_egg_convertible_2014"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/1e161325c4aa1558fc34e5a5806ae897.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hinge_of_eternity_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/78f42a7ca394462bfb80497fd0d9c493.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hot_spice_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/d4ac2676d7287d94dc45ce17753350c5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=howlite_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/af74772065c71be463b8629be6fca7e5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hunting_research_10000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/nothing.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hunting_research_5000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/nothing.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=huntington_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/2185809396981336c2d024084b11b86b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=hydra_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0e4115841c83c87959b6249499c6b85c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ice_curd_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/ice_curd_crafting_item.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=iceberg_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/115297c4adf1231d8ed96c9cf8ba6c21.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=icewing_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/52561f0bb0bf340b67a1ca0d62aac70f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=icewing_generals_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/508724838ee33e6acb7e616e9639dfd2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=incinerated_garbage_bath_pattern_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/5f363a503255d17b253e26294845df80.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inert_dowsing_rod_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/430553712969eba2267f35c850735b01.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inferno_havarti_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/a2c33e3908f19ffab038cb3643ae2915.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inferno_pepper_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/c3f8ee386ebfd0aee56734df45fc97af.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=infused_plate_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/c73481596bdd805a1cdfcabc2526ba02.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ingenuity_grub_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f8674e9d3dfe810c8ef2193896f7321e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=inspiration_ink_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/214d757c5374e9d3ffe41dcc90300da7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ionized_salt_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/a77359eeabf7bd7fea9726f21b8a8deb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=iron_pellet_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/414b55ae30afbe44b225cd6c93bcd7e0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=jingle_bell_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ba84cbcc4bca2c96a1ae3af3845fbb42.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=jod_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/318da3877b71a6d0df74d2c424759da5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kalor_ignis_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/08cb3feb41de5b5dd2a079f0e6a3f290.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=keepers_candle_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/a013e300f6d7528f152a4eb0a1b85548.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=king_desert_letter_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/4ccc118d2b74520e42e24601bb5f953b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kings_credit_loot_crate_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e86542641839381fe3f0c6cf3cd8d089.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kings_prize_key_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6391b886b424174996329aa1eb186a10.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=kings_reserve_bubbleh_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/7c6daf8f81ecdcce206ded10331750fd.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lab_research_1000_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/gold.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lab_research_500_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/nothing.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lab_research_750_bonus_loot"]:before{background-image:url(https://i.mouse.rip/upscaled/nothing.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=laboratory_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/c1d446022e6e9bbef9b9becd27a3e055.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_lantern_fuel"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/c79d65023eb8e3fa146a963edec2d273.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_scramble_clues_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/4af4321a64beff9406d1931e5ea79855.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_scramble_doors_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/3f408cc3012bf15bd07d9bce8a6eec75.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_1_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/4805267f1af9bc35d7a230539a4b1b81.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_2_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/fee39324e9c6f90d60640b8050a47f6a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_3_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/0503868295dfe063ef8067e79c0accbe.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_4_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/0d51f50cf766bbfc0f6c3758b64c137f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=labyrinth_theme_scrap_5_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/cb248d85f67abb20efd6a468a90ddecf.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lagoon_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/910232e817fe4aa1d0a8b880c72b2496.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=larrys_sandwich_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/a8399fdbf60ed6ae6cc116d1e793567d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lavish_lapis_bean_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/94eadf653963b5eee8d3d2c6b0288cca.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=let_it_snow_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/68d4616b1f0f92270bfe29d73e670065.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lich_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/4efe849e187bddba8eb899dea3c5f68e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=light_floating_loot_cache_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/017121852a8cc100b40bdaeae01485db.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=limelight_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/e3be5f83d06c5ff4ca7322273cc52f10.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=limestone_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/ee54f7edf2a4a53a9b1f13524bb79cb3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=liquid_lens_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ad2f4651eb19c68a5edf5e629ed55008.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=liquid_oxygen_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/50b6384f98827ef9521353a3442dee68.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_chest_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/4e0aa841819ff438bb885cbab7b5d314.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/cefe1b40dab2c3e4709a7cd444a740f2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_theme_scrap_1_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/ff2dba220aad20b3c7d3f5a32dccafd1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_theme_scrap_2_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/4d7eadd7f56bc7db6035f91ecc6cf295.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_garden_theme_scrap_3_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/01200ea24e7e34d828cbf02d79211586.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_salt_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/c4ed87d5b4184c54adc719b2435b9b48.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=living_shard_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/718a0a28b34b07a75950883cf5f4af6e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_2018_lantern_stat_item"]:before{background-image:url(https://i.mouse.rip/upscaled/lny_2018_lantern_stat_item.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_2019_lantern_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/9957ed35ed879d648fc946bf765dbdfe.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_unlit_lantern_2018_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/c24e557b3341642efd12cb0859af9812.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lny_unlit_lantern_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/2b92cfc72df4733942a9d7f63d1f3378.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=long_range_cannonball_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/298baa33ccf2496f46e0303853fcacda.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=loot_cache_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/a2bb799d5df6e0c136a1375a085f565e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lost_chest_piece_fifth_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/99cf359d1aab3c0f41aba24059ced51a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=low_charge_egg_convertible_2014"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/a8d898ad3870776c78a7abd4fa46a5cb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=luck_power_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/c8048d0370681ea2ef95d32c8798d533.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=luck_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/fb48bfffd55f6cb5f4fe5e8b6947bc28.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lucky_cap_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/7218a793d40410ad847198f4d2f9401c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lucky_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/f1e524c85d7cd56bfb710f4db51c7afa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lucky_valentine_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/62f1673aa836cf5696a27da36f1def6f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lunar_new_year_2017_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/f4c3ee4bb9aba29938223172a791650b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lunar_new_year_2018_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/d4813a69fff0b714f79976a726b7ce66.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=lunaria_petal_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/e771fe86c25ba7ba5878ac13af87f1e1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/897ad5e0cd6d4145de20b9a713c4fdd9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_intel_stat_item"]:before{background-image:url(https://i.mouse.rip/upscaled/m400.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_monstrobot_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/8631b5107716cc6cad32ce2d96ac0652.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=m400_upgraded_monstrobot_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/c1cb9771aa3c37e44d51065d552bf267.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mage_weaver_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/8050fadbb856855464f921d902891155.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_bean_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ff21b5771aeca04ad1ccdfe0643cfa7e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_cork_dust_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/35e539811a32e2918ec4d67b30f49d65.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/93aab6dc652ee00ae4c94dd1d18fed0a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_essence_craft_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/1a5559b59d141e76dec3fe4b8780e5e3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_floor_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/f5aa2e7ff3d9e5df3d8a3d22cdeeb43b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magic_seed_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/608a3cdde87e33134fa5c1dde86cccd2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magical_radioactive_blue_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/fa0f8c7dbad44c1fc7e4761862897380.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magical_string_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/391305c12415e94d257fde9fd306d9b5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=magmatic_golem_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e868fd953db5e7e170cbe9603c8d74e7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=map_clue_stat_item"]{padding-left:20px}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=map_clue_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/5da5d920ba95f944d4e5b37ae235685e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=marble_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/7411061a14a5355aa89ad109b6334006.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=marshmallow_monterey_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/4a7fd814a76fe877bca77ac3a258d4dc.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_belt_shard_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/2b348327409ff6c529dc9627ab342d5b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_binding_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/a8b1b4e6f78736a46467c2d6e21ca754.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_claw_shard_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/0e5b827bd4e2627b577944bee44014a2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_fang_shard_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/12327141551d0d04851ff69478408950.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=master_of_the_dojo_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/9c29953e17d74f6fc34bb201e595265e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=masters_seal_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/b90e0b341e1c700f295214789f79b756.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=medium_charge_egg_convertible_2014"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/bbd2b91ad5a84998d62bc2278c2b83fb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=medium_spice_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/a5fa5126ce92bc2205019ba6cd057f5c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=melee_floor_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/08a6b0ddfcb3a6ce77ac96bc843f9631.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=meteoric_core_fragments_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/724559dac81aea6bed1493fda83321c7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=meteorite_piece_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/af1aa7a2f55acbce605abc65be1d22e1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=microchip_curd_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/88b60b0beb5a56372402a925be19818e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mighty_mole_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0c211e2682d601e9b3b123b8cfb4aee5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mild_spice_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/d8deccc930a83e56b3742e49d4be191c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mineral_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/8d20efa4683a73181ec6aff1056c1cb2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mini_cauldron_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/85566eb71e02b2acda0850d8b37c71d8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=minotaur_base_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/a819e8cc5a7a9cada4a0cedb151e66f4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=minuscule_photo_album_message_item"]:before{background-image:url(https://i.mouse.rip/upscaled/d57441bab9674b23d24e9e5e54bfc7a2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mist_canister_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/38daa68c7be6cb20f4519935ef836a1e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=molten_glass_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/b9a4ee15f00db3ca8dc2fc673e582cdb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monolith_base"]:before{background-image:url(https://i.mouse.rip/upscaled/bases/067759738ad8a11bf6227a7022779f5c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monster_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/c557c9379fe9f6230aa03b08275e0f7c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monster_of_the_meteor_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/25dd3a2a6a809c901c4e70b3bbf8a8c9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=monstrous_midge_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/db525f45235eb31938088e276beed622.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moon_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/ad09220c2ff326c9e1a078b783ce0638.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mouse_scale_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/859e89ffa90a45b7abe780ec7ef966a7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mouse_scale_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/98dbacc824a52afbd5d93ac438856283.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mousoleum_wall_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/1e172ffdc7001a2c345f89e369799623.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_fealty_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7dd96a7db367b89ba94fc359fb1ae8e3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_scholar_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/77e2a628fd129ceefe1d883382e2e10b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_tech_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f0dff00197be8d9098abf519b482c099.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_theme_scrap_2_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/7bc851e51ceb655eb4ab58314cd57ccc.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=moussu_picchu_theme_scrap_3_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/bc1f857d89e9449bc4a3fc36fe8734e1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=muridae_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/01bd0e776509106574fced638a38e7b0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mutant_mongrel_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/8917a77cd340f010118f77471420c6c6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mutated_behemoth_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/b2c014a33cb1e8ff740c8198f26611b5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mysterious_box_convertible"]:before{background-image:url(https://i.mouse.rip/upscaled/8d58d9d5cdde0c63b36622517d3d1919.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mysterious_mythical_scroll_case_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/2d6d74ca4f7066b42c84278ca74e8174.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_crystal_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/b4fedff7f262030d4abd16e74a131b9c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_curd_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/8b8afd2790ae7f3ba6244d8c69bd198e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_king_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/2804832c30ab9920566385867a1a0e6f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mystic_page_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/98b49f1f801004d315b18852c758e55e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mythical_mulch_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/bd91b323d0000fd48601557ba2994536.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=mythweaver_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0a57f3c7f8e7f3b031b740280e54ab61.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nachore_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/603da4e7cbbfa083c843e88a62c4e458.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=naturalist_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/6215748d7f799ce8280d8f2098f80c81.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nerg_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/baa9e14a9cb3e8daeaf24e6f2a4b3e7b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=new_year_yule_log_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/34844a214c5210ade800ab213455361d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nibbler_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/bd55e2cdb209e1f1a929f0bb8ffe0056.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=night_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/2f3f0bb5c2471163c1bfb0d8b5ef3dda.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nightshade_boost_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/a87b80a352952969a8b8f35a97f05793.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nightshade_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/1aee631048a37988ee1f374d2c202246.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=noble_floor_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/366bd9b73741e3b770f7dd3267423306.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nori_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/a83a91ef478edd39f51dfd7e4b49e041.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=not_so_secret_bunny_message_item"]:before{background-image:url(https://i.mouse.rip/upscaled/f043d322015f8a0aa4c7ef907771d7c5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=noxious_school_of_sharks_pattern_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/a3966712ecce36cd3a1e45aa028d93a4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nuclear_garlic_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/96ad900bbd094a76b1df9b52f600a79a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=nugget_of_nougat_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/9ad82fdf228bd1e9b3060f1ea2ba4ee8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=null_gauntlet_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f26593a4dd76402a73adc47b668844b2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=null_rift_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/4f4468300de50e098acd7d893ebba97d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oasis_bead_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/oasis_bead_crafting_item.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=onyx_mallet_blueprints_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/blueprint-new2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=onyx_stone_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/86e5b9d71fc2322674ddae6d2f2dc8ed.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=optic_receiver_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/f634d7a763d7a743c51d6f89135320d0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=orange_winter_hunt_gift_box_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/04bcde3dc208fa4859fb065713039ffa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ornament_cookie_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7a42bec45d471e91c1aede6235b52384.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=over_9000_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/8375911b984e26d21185ce97b1798c09.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=overflowing_pump_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/c548e360b728ec5e8f5bd128b50143ae.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oxygen_baron_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/09d1c7288793f9792faf04788eef6d7f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oxygen_burst_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/dda4f217c3c106ce7214bafda146e0b4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=oxygen_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/bf03bb42fd7ff2101ed796cde5dbd28e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=papyrus_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/99abbf83faf145503303f0d6822a5126.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=papyrus_seed_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/fb2fd61d9c427f3a630df60d964878e7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=parable_papyrus_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/258584535b9a7bec275e68bc90307cc3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/8331fe131377c15fcf5c4773bde1fd8f.png)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=passing_parcel_message_item"]:before{background-image:url(https://i.mouse.rip/upscaled/5591e5c34f081715aaca4e95e97a3379.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pecan_pecorino_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/80c4c6e1c78063dd2ced38709ed5bd68.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=peggy_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/5515ab889ee296843a8ebfafec7132e8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=perfect_orb"]:before{background-image:url(https://i.mouse.rip/upscaled/da4d4d2ba258ff4953322c609dead570.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pinch_of_annoyance_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/9ee22b50699f97b7267a429984affc3f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pirate_crew_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/876760d62fef1699dcdee46ef116a284.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pirate_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/f383c70dd5d1bd02bbfe845a04ae28c3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plain_shorts_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/265816c31ba9ae1576e0200cec8a112d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plate_of_fealty_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/c431568f0a90e77fcabc4de14009555f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plumepearl_herbs_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/599c11cdc9b7223dc50dd84d97df8c8b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=plush_terrible_twos_message_item"]:before{background-image:url(https://i.mouse.rip/upscaled/8fec22935a0472aef59789a53aed1df3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_base_blueprints_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/blueprint-new2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_chrome_monstrobot_pattern_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/cbe5d605705c39a5dc1e2a1acd0d29f1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_parmesan_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/9027fc2f9ce0f40c89b099d337fb743e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_theme_scrap_1_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/8630a5023fcba4121e939edd82b5c0b2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_theme_scrap_2_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/a74804af06966c4d2a5db129e9993dc3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=polluted_theme_scrap_3_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/17c88aed59b9dba9e3d98bb76cf36bb9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pond_penny_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f976a90f6fd7f8b86c2d5bd3d05ee5b6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/b0fb665f8649eb72432c66b0575c9516.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=powercore_hammer_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/3380b02f1c2bd1a6e2d963b1cee4b41a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=predatory_processor_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/e92ad0c8c83a7d4685704d7e08f52dcd.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pressure_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/397b7675309992e16725e36cc1b58247.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=prize_credit_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7340a24e5bf4defcc5d855bdb56776c3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=promotion_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/d51c17771c26c3cdd305e462d293f5e7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=puppet_floor_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/3634959851f29ca85a9222ca2a451254.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=purple_winter_hunt_gift_box_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ee9017a35f6cd761c6b9026a2b94d7ad.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=puzzlebox_infinite_labyrinth_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/cf7727b978556d515e3fdfa441aa5307.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=pygmy_swarm_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/38a70113bd6c96fa3214026165542cc9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_keg_large_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/8eff407aec63d6bb5526be1d372aacd1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_keg_medium_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/9c5ab56e191ae3c244ef029ec696c791.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_keg_small_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/f4e84c0215a67009722f7788da59b450.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_nachore_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/c5f79a9d258da5d596d8100030a58d78.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_pump_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/976901c83d697d8764a6ba436242da4f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_spice_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e0e39b7921c7f02a8c136aea1ebe75bf.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_theme_scrap_iii_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/cd99d3fcf87b1feae446cdd8f9e27e23.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=queso_wild_tonic_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0401e5c98868017b6879ea99cc356788.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=quesodillo_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/1824ae2c4d5ed4de862e234587c7216d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_blue_cheese_potion"]:before{background-image:url(https://i.mouse.rip/upscaled/ab3d3b78a7d5c667bed83db7df1bb638.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_blue_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/7e0ba173640f397b0383b55e59738fdd.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_curd_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/732f486efbbf3d87fc007673ca940f66.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=radioactive_sludge_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/76f06ab9b076bb7eb0d861943e793f4d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rain_cheese_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/c98b1a20461a4048df6c7c46c679c9a3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rain_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ec5052768386b9de281ce1fd5c1381bd.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rain_warden_stone_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/93042936d616836a4812467566b716b7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rainbow_luck_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/5bb294babeb7b66f710db449e8fe0b87.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=raisins_of_wrath"]:before{background-image:url(https://i.mouse.rip/upscaled/4b8894ef7ebca6d1872e690bfe098805.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rare_map_dust_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/0e078f7d571242178110761f6fea27a1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=raw_ancient_jade_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6702dc5d75d21be8c4ffe322a176aac8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=raw_rift_crystal_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/33ac4969b6fa0face39a74a1241549a7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=real_lich_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/be317b88abc4937604d01ba726711454.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=realm_ripper_egg_convertible"]:before{background-image:url(https://i.mouse.rip/upscaled/realm_ripper_egg_convertible.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=recycled_essence_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/af9ffb2d0655dbf62a5e4a086515bb23.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_button_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/083cf2176778f6182cfc1dbf14635ca1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_drop_stat_item"]:before{background-image:url(https://i.mouse.rip/upscaled/f69c187749e68cfab8471e38b43e378a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_pepper_seed_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/a5d1739bb7eaebb4c5f9f564ecb60057.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_pocket_envelope_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/46aed1f2aa0f81c8d7a1710de70e2f02.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=red_winter_hunt_gift"]:before{background-image:url(https://i.mouse.rip/upscaled/399e4f599a4695733cbd3d8d9dba8311.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=regal_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/0d03d9a5d6482fc812b2af9ae3385d6e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=repear_perch_blueprint_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/blueprint-new2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=restitched_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/5513bae3e8b2a9af9de47425b382a328.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rewind_raclette_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/46720da0148033e9fb5e17b6f92260f1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rhino_horn_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/7ec210c28a6125449f2a33562a3e8b9f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=richest_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/9c6733f7999a146138d96b7be12c2810.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2020_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/324f8d238d26a6361e62508b5452e26c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2021_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/b712c6ba2d271769c619a5b6a2928930.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2022_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/8bd82c82688b902315c6106b2574bfe9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2023_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/fe4732efa348967c4b62e047f76e2bc7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_2024_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/1d16be96185649b8dcf5e94f4dfc79ff.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_bronze_chest_convertible"]:before{background-image:url(https://i.mouse.rip/upscaled/rift_acolyte_bronze_chest_convertible.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_chest_convertible"]:before{background-image:url(https://i.mouse.rip/upscaled/rift_acolyte_chest_convertible.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_gold_chest_convertible"]:before{background-image:url(https://i.mouse.rip/upscaled/rift_acolyte_gold_chest_convertible.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_acolyte_silver_chest_convertible"]:before{background-image:url(https://i.mouse.rip/upscaled/rift_acolyte_silver_chest_convertible.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_anti_skele_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/440705b6812482ffb4f49a5517e5222c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_battery_piece_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/3e3e7456f4dd4571f93e93e112756a18.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_belt_shard_craft_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/39527b8d688c67e74c5522974ca4118d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_blossom_branch_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/9b6d4873633eceaca2461c44514e980f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_belt_token_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/54e326f462afae92705ec73886e2d0b2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_claw_token_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/19328766f3ea555aa4e8bff5592fb077.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_curd_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/26bf0103dd738a6b9faa0c2108ce32ee.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cheese_fang_token_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/6166795222240b4320e9677df78bf411.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_cherries_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/8d6c8cbf4239cbd8dc8a24dfcabfd21d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_circuitry_chips"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/d8dbd9dd574c176e8102789499dc4629.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_circuitry_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/48c9c4019134dc7caad8526c0be00272.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_claw_shard_craft_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/c165324918f2e1150a4934cb97837974.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_clockwork_cog_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/bb306fcdd26f8235cf00ccea0549f13f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_dojo_master_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e4b5f230b14614abacf51f85448a8d59.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_dust_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/50e5ae7edd08b61b4ef854c88d892d35.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0b96f61ba8a6c3acd14d949658c6acb7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_extreme_luck_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/9207abeefddb26c69e7f6d2ac97ea780.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_extreme_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/80a8ba5c759aea9b4dff7e55b07e09ae.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_extreme_snowball_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/1277fd1d613707113bce7d682ccae4bc.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_fang_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/fa312df4d745a07b96dd976cde58c569.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_fang_shard_craft_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/66fd41b4d5c01972a3419a3370199c27.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_furoma_energy_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/0acb0469eeb601b8de8b91b455c89dab.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gaunt_upgrade_a_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6b1ff750750b9c48dd330bdb9861ed7e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gaunt_upgrade_b_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/d4d052ac03c581e15699333f61618e9d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gauntlet_fuel_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/bef22f59de06c3ed3b874cdf27c9ae59.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_gold_bonus_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/83c329073c123d7c04b429e927841724.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_hourglass_sand_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/b9983615ebc8ace80e7e074c8f1a2efa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_hourglass_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ee5ef616058313371f7779297bce4524.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_luck_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/611129b590657a79a5c9e00ce380261f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_mist_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/71da2ef5be8bd7bad1614e0e6e3270e6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_onyx_stone_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/87a62aead547f7b7881db46d3f9ba7ba.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/1c67b7571b5788b221ca6ff62af6d7d6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_quantum_quartz_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/458cdbe5310947d11b90ad4d18d50bd9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_rumble_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/7d984bedbce03a3faf75da3478308233.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_scramble_portals_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/092ff4aa80863a405073ee9685c4710f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_snowball_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/18f2c999c6dd647524923bea55f1bfa9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_spooky_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/7af93b6eb5bd82197aa455d14daf9a4b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_sprocket_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/df580b80d0f628dc29572b0528e70a7f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_super_luck_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/3e4882dd2bcc37e6b852f3ec2d19ddb2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_super_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/320aa082a9e2ec0e736896f51fcc2a83.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_super_snowball_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/0a6e94db23d2c4505a497bc1a34b48b2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_tarnished_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/6bc31a02a68b32f60ccb7bfd22713428.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_temporal_distortion_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/b88046add58f39243c14740d7179446e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_torn_roots_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/6db13ef9a4d210a9751f9482e3f0aa4a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_luck_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/2b46f20192ef473fe2d867573727a4ea.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_luck_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/cf4000d5fb6de10f8e5acc8f3bdd9786.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/14a0bf78ee96492393dea6cdf8cb7ed6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_ultimate_snowball_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/4c71f5163257a88b46d18b536c29220d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_vacuum_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/98d8d676c2f8c74d81e537e8dbd1e0cc.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_valour_supply_kit_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/76560accc00abf1d579cefa224631b1a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rift_venom_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/3d22b0fd25a86b40a7b4103a45983418.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riftgrass_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/5b27969d7d5eb37de3c24063dc7a2255.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riftiago_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/8e2a1d54be3f70009f6070d674e9dbf0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riftifier_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/efe28be7a00023aead73860bceeb0759.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=riptide_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/67debb980ae854440df5ad5ea8dd9621.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rockforth_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/c46c4d12cb4904d28881356469714cc1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rope_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/efb71422a65d036a1e5b57a2639a7bc5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=royal_ruby_bean_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6753553ca41cb4754fba0ebf7600378b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rrs_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/eb6117c38f3101f4e444f158b689e3d4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rubber_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/e42856515e30fd19176e0746c8cb1726.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rumble_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/1244d7d81b9b0cd0cdf58f26086bcd3f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=rune_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/8e79eed15c3c296fbd0af9c8f6f114e8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runic_cheese_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/ae0e7733350c47423d0d1f67b662bce8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runic_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/4d36162beb73e286fbcce46a0b09606d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runic_string_cheese_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/6d52024c9fee3048ff1180f149f3a54c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runny_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/4f0c649b161beaa1d92e1010da0ca50c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=runny_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/69213aff3e4e6b1ddae8ee474ff2b46e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sacred_scroll_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/ce2feadbf81fca6f98e9931099d69d7a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sad_pamphlet_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/87dae5437d7551f104a4ff6b45027890.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=salty_sea_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/91b0c2f328642dfbca32d41128f5e323.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sand_dollar_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e741dc777cdad1b13f67ff2a3d11d444.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sand_dollar_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/01d10d28c908eea3779942207ba4b68f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sandblasted_metal_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/sandblasted_metal_crafting_item.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sarcophamouse_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/d6a26d5c5d126beea52e5538b14fbd5f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=savoury_vegetables_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/7623e41c977ca9260a49ff8c5baf4235.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scarab_chest_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/6beea8cc18f66fdf4f41d2a6c82fe1ad.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/2c9bf43bff582e663282fb4f1e6e45a6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_hunt_hint_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/d0bb96b401c612c2edcb98b79de5279b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scrap_metal_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/49ea2a0ae42cab20a184e3e4971faaab.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scum_scrubber_trap_blueprints_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/blueprint-new2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=seashell_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/ebdbd02440bbbdfcda831d5681046b2d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=seasonal_garden_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/7755a94b4992afc6328f4f78f104228a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sextant_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/01ad28b10b227f24a2c7d23fb6bcdca3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shade_eclipse_resource_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/e987c0769410db8389c1b299af66710d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shadow_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/9244a42aef6d4409440e6d6f9831f5da.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shadowvine_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/53651ef34786e43ba7881a501bc2058e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shamrock_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/4546008789ff03969eecdf6102f9030b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sharpshooter_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/bbde46c8c0721b3071370dd55bc844b8.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shattered_chest_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/2742c823750f46dc6e950cfc4fba5dad.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shattered_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/be90bfc0985bcc3199d9e9cd7ed15d70.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shelder_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/c8a88b505b44435375deab0751a6a94b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shell_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/16a462d6885f84851a01b342e8b35f9e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sheriff_badge_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/1657743f7b7dc541bde190e5490aa5a3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shielding_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/e8576cf76eebd6ea898e24ef02d4e95d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ship_blueprints_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/blueprint-new2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shredded_furoma_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/f17f75949ba32ef358c1c5387546db79.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=shufflers_kit_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/1849064cf8169d125d5d6af1386d1576.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=silth_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0ff9f2cb3a2a888efd1d981e57a08865.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=silver_bolt_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/cbb537d2a4b64de3a6db143e40ccda12.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=simple_orb_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/2ba59ce524756109ad0f9824f1d5345e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/b6bf3d7d2a0fb563572f7eb4f03071b9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_explorer_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/68f881e628ce81ac24c07af780d84fde.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_gem_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ccc063e42fce300a80e39b21e37788c1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_ore_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/d68a2e70d61442e33330cb0f2b6c8f50.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_pirate_cheese_curd_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/2ffb98531ba5146c1480e1f5939b4578.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_pirate_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/b934a029a905ca2d403f9360095410ce.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_pirate_seal_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/3cba86c28fdfd909b2f7b5c30c925166.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_scrambler_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/66b6a6a48a0c83cec5a15a286bd17749.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_sprocket_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/38ced6658ceb64698c598bd73c8e8f3d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sky_sprocket_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/abd5e19f2a3b064e574a147760e35055.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=skysoft_silk_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0d93443d980b019c002d1d853edd3a99.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=skysoft_silk_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/e6d400243f837de301d970a702c30722.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=slushy_shoreline_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/07dd871a988ba9b78e71bfb20df32176.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snow_golem_theme_scrap_1_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/669cb7a5fcc5477939df0cc59bfa4a3d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowball_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/36d3d62f27e2b76944591f86229bc2f0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowflake_cookie_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ca39a7dc7a3eb16194e89cc1a7d2a727.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soapy_oasis_pattern_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/5111a0902fa65cc5876566bb47de6963.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soapy_phantasmic_pattern_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/80c613aa9da7af8ee7bf986805943b5b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soapy_suds_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/fd9ed99e804e7d8d9b8c674a70290502.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sock_ghost_plush_message_item"]:before{background-image:url(https://i.mouse.rip/upscaled/7a61617c4a749d2bcc9d71b99ee9fd33.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=soggy_journal_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/8a67598ac0c23fc790f2bab1715d7086.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sphynx_crystal_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/sphynx_crystal_crafting_item.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=splintered_wood_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/698a91c295745297bfa2ddc59c5da84f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spooky_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/42cb2eef93dddf389c9ff6d24a9c5edb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_easter_basket_acroynm_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/1d1ebb502a20e313a81d4dfa10f9a2d9.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_ember_prison_core_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/7ccb82b7f6615c23aa91113fc38a2d02.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_focused_laser_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/dd2746acde1f52be1d1dfd125d4c3a8e.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_infinite_labyrinth_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/a3d6ea82696d4b34538cbea2f2aff40f.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_multi_crystal_laser_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/fb6a0c5df434c26bd84f575230ae3e2a.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_school_of_sharks_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/6b47ee90e7ddca6f02a1cff716333aa2.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_hunt_shark_skin"]:before{background-image:url(https://www.mousehuntgame.com/images/items/skins/52ae803565bb6a5a9e99bdfef3cfaeee.jpg?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_key_shard_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/e3920bd41f267809a732eeff63f433db.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spring_toy_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/e208a25f7f179826610a93c11ae341de.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sprinkley_sweet_cupcake_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/f683c9f6083f87f3b645d28d6554aa39.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=spud_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/b5efb112be896d261677da0a6faf0717.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=stale_cheese_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/996026e47b69f289b8e9717e88b5856e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=stale_super_brie_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/b4e31cf2b7ab485a48d9148c164dd168.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=staling_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/d20c6683d16fed01b12364641193bd29.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=stealthy_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/f899e02429b42e96a371bddf77953426.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=steam_nine_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/2203982ba031eb2174a65740e025b2df.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sticky_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/9d604d23953fa2a5d9acc863c96b0c9e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=storm_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/22a441375e73f3a0c0cb26ac2c41283d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=string_undead_emmental_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/442cf8a68bc8bd82c6ca672bf99e8e77.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sugar_rush_plushie_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/029746062caf73c62ba00223c029ef82.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=summer_key_shard_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/b0fb79925b2c28cc40bb518b5139c1d6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sunken_dive_crate_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/00739709c22d7f4d974c940ff5d67c4e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=sunken_treasure_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/49067f3416aee474e1cbe446c10e2c2b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_ancient_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/965ac64a1a4451d11513efb480c5ee4f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_attraction_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/9b079b78bac20290ebab796a3ea002fc.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brain_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/76eea2c6e1d4a60887617c0308c8c6d6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brie_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/32b20c3984d2f03b132c295ea3b99e7e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_cactus_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/331bef75f87963b83d65676aea403a39.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_gold_bonus_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/f28c8bb6e315528ee7a359383dda80a1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_luck_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/461253058899f36a570ef6e385bbf995.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_luck_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/54ab41a1f1a610f67e867c8578bb0e06.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_party_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/0cad3048c056bd51eaa4c14ad0ea0853.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_power_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/625bef6da38dc44ddcd70d0da47244ae.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_radioactive_blue_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/22b00633e96e0796c1212eb79ccda5b0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_regal_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/74295fbc1d1a08c19017287e9354eecb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_rift_vacuum_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/c5d02f60f905cc896f2b3e965812490b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_snowball_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/4779d160f313225174e39dd0af1d3e82.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_staling_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/e9f1d5f0bb9d29b9db313cd837bb8028.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=swiss_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/bb0fe6fa6f55e5ccb1f98dea058409e0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=swiss_string_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/e3499132fe042681a784f0b2b8a26c73.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tactical_grip_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f2d73f3ec1e2663c50034f5de92c0401.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tarnished_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/6323545f24d4a4995900542e47a6f832.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tasty_spider_mould_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/d8c67f915b26283c7936703f95ca0904.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tattered_celestial_skin_pattern_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/734c7e654bb7650bb86fbf321955bfa0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tattered_mousoleum_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/ebc3374bb204b00ef8576b1ab2ac1d40.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tech_cheese_mould_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/1c4325ac7022ed52716e554c971bd122.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tech_power_core_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/b52aff1549b63c0b00983f0a78aa8363.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=technic_king_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0c763eb4aa5c3666ce9abe7c9565fedc.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=technic_page_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/52bbe10ccbe437656781188b3196e4ff.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=teddy_bear_message_item"]:before{background-image:url(https://i.mouse.rip/upscaled/64e02d8e26e4e50582466abe4cbe54bb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=telescope_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/b599da5202c5d28536f59f1b6943ad16.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=temporal_fusion_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/a9cb5a41a59790e9f7f74de0ee8a805d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=temporal_plate_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/10b9af4ecd18a578a4fd6d420f58ceaa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=temporal_rune_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/0259fd7a89582bda594ad62fd4780f1f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=terre_ricotta_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/56dae7ea75726c4f0f738c6844ac9a69.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thief_floor_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/7128f9ec19f0ca60ab808061fb72bc5b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thistle_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/82fcf82a475bbbc6eea9ffbbc87a7253.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thorned_vine_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/4fc5f4829c33949c0d398893c932e62d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=thunderlord_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e0c3b4e383a4706b6d5c809fe8586c5f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tier_five_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/9572c8287c734aa2fb6474b5b6995b62.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tier_four_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/64ebe355b88b2f7c623cf1aa048eef27.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tiki_fuel_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/322ea2bc8e536bf2282a6e87647092c2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=timeless_mystic_gem_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/b75cffb38e44c116b2017858f4ca96cb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tin_scrap_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/8b243232e9bb25018b68b57699808163.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tiny_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/4590228976b666627b6cb5907a1440fd.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toboggan_cookie_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/9bb5141d119311e443cf0400e1052335.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=token_of_the_cheese_belt_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/9c8007a51591e6e7f368055dd336ae78.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=token_of_the_cheese_claw_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/89cc5f3b4402ba74a28bf9bdbe7303ee.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=token_of_the_cheese_fang_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/59aba4ca394645537d4a8f4a17dfb935.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tomb_stone_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/2c58756f4377a432c3080740a20c665a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=total_eclipse_resource_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/150c36547680239500d7f75221c5cfac.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=totally_scary_cape_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/553a9101d9b4e2b26996fc1998027180.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tournament_token_stat_item"]:before{background-image:url(https://i.mouse.rip/upscaled/3f9a85833d0bd665ecfa7a611b4001c3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_elixir_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/d8f49021298876b1ba2dd1b814a71666.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_secret_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/87a74dbb202d6ae9defd19023fc26ca4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_sigil_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ad5d750346087feaa7c012ff74ed6cc2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_siphon_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/b7d187b80ac91a17e79cb41e36c04ba9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tower_umbra_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/316ca2518041460c26ea21f8b1db0a61.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toxic_brie_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/29611381710c3a94703bf3064e79816e_v2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toxic_spill_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/9f5078777e744776accc4807c625cc31.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toxic_super_brie_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/c515e8dbf609b0f7d1b00ab8f238c6cd_v2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=toy_cookie_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/1f63f25fd80755e8e98d3b66db851aaf.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_black_powder_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/aaaf93c2dd802d3584b3534d42c47c68.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_coal_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/2a575833c3fc9f8099be1aad47faf4ce.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_magmatic_crystal_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/9f1dc9f8a9ed1a2bcf04af33989a2471.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_mouse_repellent_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/09cf144cb34879d751b2389d641ea4a4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_station_fuel_nugget_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/623eb87805db60389f65dc68db35b2e9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=train_supply_crate_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/458329759837422bc05a1336a6e7d893.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=treasure_clue_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/bbf3d2584c85d85f5643960a8c0334c9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=tritus_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ac56a7deb2f17b4ee4740d0e05e77fd3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=twisted_lilly_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/17be4b0f64a499993c8643e5a7d22a9c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_ancient_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/6d5d309b2ef9233d16e5f1615746691f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_attraction_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/bf28d619b395f52d5c85173e27136baa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_gold_bonus_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/04ab35fa26055c205d57b636669d55c9.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_luck_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/9c40fcde73160d89fe75bc393cd3d131.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_luck_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/ultimate_luck_trinket.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_party_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/770e0bf3c57899ad23425caa08a3282c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/585f39e671781b2f6b9a1f167c13f093.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/bff44759d40c71d6560948e68d015567.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_snowball_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/e836e4fa60c024dfd32897889bc0b6fa.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_spooky_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/58fe5ffe62e7b05e896b324798fadd3b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_spore_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/3890d9c421ef78954c89c9245bf1500c_v2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=ultimate_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/adb808ce6d636952854b95bfbbb50b03.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=undead_emmental_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/670640b925fcda270f1f14f3f616a36a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=undead_mynorca_pattern_scrap_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/80956c7ae4da9ef4d5275972a1ee70d6.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=underwater_predator_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/8dfd1a14f9650e582f654205901cad18.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_broom_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e4a6f5e6a4f1537b166c0aa3aa47e82d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_crystal_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ddc12d64d0103cc8c6d4585237c48b27.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_ember_gadget_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/98c4ede11c32c4160c45c21ca301a771.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/05a64cc11664b600909505877d2ce24b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=unstable_zokor_crystal_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/a4f7632867d4e0f567ebba5a632820c4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valentine_restraining_order_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/8a7a06a60b0b6e7032a17b9557c04c94.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valentine_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/689c7c7aaad1af0c53da8f91acc8491d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valour_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/4db9c9933b935495f5ef0d2b013f9378.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=valour_rift_tower_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/8072197425ad6d43cafe09e320a0e47e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=vanilla_bean_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/94ad43b6a55a3825452ea802555d02f1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=vending_machine_token_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/d9a019df03dcc1cee2946314ef2572bb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=vengeful_vanilla_stilton_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/d825364d9c8556bf43efcece51048dc2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wanted_poster_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/641b955b3c76b382e596e9d04fb7c070.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wanted_poster_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/89b686ce5858131eafe73d876ce8d524.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=war_scrap_stat_item"]:before{background-image:url(https://i.mouse.rip/upscaled/931a03134475b7df6350a2b059b5c8e7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_fog_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/0252918241d29547cfb682808252c25e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_frost_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/efbf44f3384f79c82da22a3a2b347c7b.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_rain_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/a112bd62fd50534d11e12596c75f357e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warden_of_wind_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/7d4830394f70e7d4479d721c1a68a916.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warmonger_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/4e38c4dd4bdabb031fe88ed06112bb04.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=warpath_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/847d3c7f5873df2911a2e36dd91a1e27.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=washboard_base_blueprints_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/blueprint-new2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wax_trinket"]:before{background-image:url(https://i.mouse.rip/upscaled/ef835c4fc66f1732d7d7fd4c8e693fd2.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=weak_power_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/47a2b0f87d6ec8a9d86f39417a619f85.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wealth_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/54356f0a4c8f612393f11fa31c5e7484.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=well_sealed_canister_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/14b5d874d924531aa66faccf9334689a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=whisker_woods_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/cc3b8e4016e5b945fa6f1bd14cba7ebb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=whisker_woods_rift_torn_page"]:before{background-image:url(https://i.mouse.rip/upscaled/torn-page.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=white_cheddar_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/775b99326ba6c984236d4a681c0b811e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=white_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/31359c28e93b9a58885adb7daacde813.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_gnarly_cheese"]:before{background-image:url(https://i.mouse.rip/upscaled/1ffa990ec8e9f6842dda44191aa7326f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_gnarly_potion"]:before{background-image:url(https://i.mouse.rip/upscaled/56a1d09f8a2e6280461e217ee42ea756.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_gnarly_trinket"]:before{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/24a0fc5bd91c19948061da4346850099.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wicked_thorns_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/efef26439f5490849f025ab124fd7969.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=widows_web_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/492f5b25e352be9998eb3af30ec80c07.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wild_tonic_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/8e292ff717bd65936d2c96707aa77de0.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wind_cheese_potion"]:before{background-image:url(https://www.mousehuntgame.com/images/items/potions/large/ff19ea855745da18e472e29b975f9040.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wind_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/6bcfeb578d381597ef86ecfe50014eb1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wind_warden_stone_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/cb763f116170efa6f095b3de438422f4.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=winter_hunt_2022_boss_loot_stat_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/9e1d1b4faec1b4df4ca4dcb3216de6bb.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=winter_key_shard_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/82731d6cc285c89f542853f9059edb85.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=wire_spool_crafting_item"]:before{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/c5b808a1a838f524a23b45c8dddd149e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=yellow_drop_stat_item"]:before{background-image:url(https://i.mouse.rip/upscaled/e4ab7c2c3f5bf0c96401fbf685241603.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=yellow_pepper_seed_craft_item"]:before{background-image:url(https://i.mouse.rip/upscaled/65b5ca48b0125463defc0569c5ddfa4d.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_fealty_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/e135a772065f4f60da71571ab894caf3.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_scholar_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/52a0fc2b6519e123ab16abf88bdbd44a.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_tech_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/986e2e6fbf1ff16a7ee9b3e4929b2837.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zokor_treasury_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/39e604a9d4f7c9850e51e71dd7d00889.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zugzwang_sock_collectible"]:before{background-image:url(https://i.mouse.rip/upscaled/e30638c2f1820353b4f8413b715e163e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zugzwangs_scarf"]:before{background-image:url(https://i.mouse.rip/upscaled/0409c3e6c1875601f2022e0caeabec98.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zurreal_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/b3f77639abd86ce9d7e58ede12e76ff1.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zz_library_key_map_piece"]:before{background-image:url(https://i.mouse.rip/upscaled/c86fa2bcaa9932b194a840f1aa794d6f.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_draconic_book"]:before{background-image:url(https://i.mouse.rip/upscaled/f5492154d46b7e34d21e50bf73ebfa98.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_ectoplasm"]:before{background-image:url(https://i.mouse.rip/upscaled/77b63dc1ddc4e1ff794cbce237590fb5.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_fine_wood_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/a2e27c4544867d4a0309a2e9677258f7.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_gnawniaresearch_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/f6e37ae1bd6b83bccf2eefc9c607e479.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_lich_jewel"]:before{background-image:url(https://i.mouse.rip/upscaled/e65f9d982d464092a2c9574bdababc35.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_marchingflameresearch_crafting_item"]:before{background-image:url(https://i.mouse.rip/upscaled/91616c5ea29a0f4c2dddfa076fc2c0ed.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_mesh_netting"]:before{background-image:url(https://i.mouse.rip/upscaled/d1ffef63eb78412990ba52f04c64d076.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_ripper_nail"]:before{background-image:url(https://i.mouse.rip/upscaled/1c580e8c95c97b31c4d459bb21e27a1e.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzl_stonework_runes"]:before{background-image:url(https://i.mouse.rip/upscaled/2976d0c2eca0c4542b1f6f1aeed2525c.png?cv=2)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=zzt_egg_convertible"]:before{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/d7361dbb4e85a31c9321cb1a030ad9a8.png?cv=2)}\n';
}
});

// src/modules/better-journal/no-styles.css
var no_styles_default;
var init_no_styles = __esm({
"src/modules/better-journal/no-styles.css"() {
no_styles_default = ".journaltext p{margin:0}ul.better-journal-list{margin-top:5px}.journaldate{margin-bottom:5px}.journal .entry br+br{display:none}.journal .entry.luckycatchsuccess .journalimage:after{top:-5px;left:-5px;width:20px;height:20px;background:url(https://www.mousehuntgame.com/images/ui/camp/trap/stat_luck.png?asset_cache_version=2);background-repeat:no-repeat;background-size:cover}.journaltext .lucky:after{position:relative;top:3px;width:13px;height:13px;margin:0;background:url(https://www.mousehuntgame.com/images/ui/camp/trap/stat_luck.png?asset_cache_version=2);background-repeat:no-repeat;background-size:contain}.better-journal-list li{line-height:15px}\n";
}
});

// src/modules/better-journal/styles/backgrounds.css
var backgrounds_default;
var init_backgrounds = __esm({
"src/modules/better-journal/styles/backgrounds.css"() {
backgrounds_default = ".journal .content .entry{background-repeat:no-repeat}.journal .content .entry,.journal .content .entry.adventureBook-journal,.journal .content .entry.craft.newrecipe,.journal .content .entry.folkloreForest-bookClaimed,.journal .content .entry.aurora_base_trigger,.journal .content .entry.regulator_base_trigger,.journal .content .entry.short.misc.custom.denture_base_decay_trigger,.journal .content .entry.burroughs_rift.danger_zone,.journal .content .entry.burroughs_rift.regulator_base_trigger,.journal .content .entry.birthday_factory,.journal .content .entry.boiling_cauldron_potion_bonus.boon_potion_bonus,.journal .content .entry.desert_heater_base_trigger,.journal .content .iceberg_advance_prevented,.journal .content .entry.minigame_done,.journal .content .entry.minigame_start,.journal .content .entry.living_grove_base_trigger,.journal .content .entry.queso_geyser,.journal .content .entry.rift_valour.claim_loot,.journal .content .entry.slac_in_a_box_trigger.popped,.journal .content .entry.sunken_city.dive,.journal .content .entry.sunken_city.zone,.journal .content .train_station.load_supply_crates,.journal .content .train_station.minigame_done,.journal .content .train_station.minigame_start,.journal .content .train_station.phase_bridge_jump,.journal .content .train_station.prize_claimed,.journal .content .train_station.progress,.journal .content .train_station.raider_wave_defeated,.journal .content .train_station.stoke_furnace,.journal .content .train_station.train_done,.journal .content .train_station.train_leave,.journal .content .train_station.train_start,.journal .content .train_station.use_mouse_repellent,.journal .content .train_station.warehouse_manager_catch,.journal .content .train_station.warehouse_manager_done,.journal .content .train_station.phase_boarding,.journal .content .entry.winter_hunt_2013,.journal .content .entry.winter_hunt_2015,.journal .content .entry.winter_hunt_2016,.journal .content .entry.floatingIslands,.journal .content .entry.vegetation_base_trigger{background-position:10px center;background-size:50px}.journal .content .entry.minimalJournalImage,.journal .content .entry.labyrinthSmall.labyrinth-clue,.journal .content .entry.winterTaiga{background-position:10px center!important;background-size:50px!important}.journal .content .entry.bonuscatchfailure,.journal .content .entry.bonuscatchsuccess{background-position:left}.journal .content .entry.minimalJournalImage{background-position:15px center!important;background-size:40px!important}\n";
}
});

// src/modules/better-journal/styles/date-hiding.css
var date_hiding_default;
var init_date_hiding = __esm({
"src/modules/better-journal/styles/date-hiding.css"() {
date_hiding_default = ".journal .content .entry.short.refine_pollutinum .journalbody .journaldate,.journal .content .entry.short.torch_charm_event .journalbody .journaldate,.journal .content .entry.short.unstable_charm_trigger .journalbody .journaldate,.journal .content .entry.short.tournamentpointswithloot .journalbody .journaldate,.journal .content .entry.short.tournamentpoints .journalbody .journaldate,.journal .content .entry.short.rift-bristlewoods-acolyteSandStolen .journalbody .journaldate,.journal .content .entry.short.rift-bristlewoods-lootBooster .journalbody .journaldate,.journal .content .entry.short.super_rift_vacuum_trigger .journalbody .journaldate,.journal .content .entry.short.queso_canyon_queso_pumped .journalbody .journaldate,.journal .content .entry.short.custom.chesla_trap_trigger .journalbody .journaldate,.journal .content .entry.short.wordCount.minimalJournal .journalbody .journaldate,.journal .content .entry.short.folkloreForest.folkloreForest-lootFuelBoost .journalbody .journaldate,.journal .content .entry.short.labyrinth.labyrinth-chooseDoor .journalbody .journaldate,.journal .content .entry.short.labyrinth.labyrinth-intersection .journalbody .journaldate,.journal .content .entry.short.misc.custom.chesla_trap_trigger .journalbody .journaldate,.journal .content .entry.short.misc.custom.birthday_factory.claim_package .journaldate,.journal .content .entry.short.rift-whisker-woods-increase .journalbody .journaldate{display:none}.journal .content .log_summary.stats .journaldate,.journal .entry.birthday2018-anniversary-trap-trigger .journaldate,.journal .birthday2015-trayComplete-special .journaldate,.journal .train_station.progress .journaldate,.journal .entry.furoma_base_trigger .journaldate,.journal .entry.living_grove_base_trigger .journaldate,.journal .entry.desert_heater_base_trigger .journaldate,.journal .entry.queso_cannonstorm_base_trigger .journaldate,.journal .entry.aurora_base_trigger .journaldate,.journal .entry.timepiece_trigger .journaldate,.journal .entry.vegetation_base_trigger .journaldate,.journal .entry.electromagnetic_base_trigger .journaldate,.journal .entry.pirate_sleigh_trigger .journaldate,.journal .entry.slac_in_a_box_trigger .journaldate,.journal .entry.regulator_base_trigger .journaldate,.journal .entry.rift_mist_diffuser_trigger .journaldate,.journal .entry.spring_hunt_relic_hunter_egg_drop .journaldate,.journal .entry.denture_base_saved_trigger .journaldate,.journal .entry.denture_base_decay_trigger .journaldate,.journal .entry.printing_press_base_journal_entry .journaldate,.journal .entry.lunar_lantern .journaldate,.journal .entry.mousoleum .journaldate,.journal .entry.labyrinth-lantern .journaldat,.journal .entry.labyrinth-base-burnClue .journaldate,.journal .entry.labyrinth-clue .journaldate,.journal .entry.riftFuroma-energyLost .journaldate{display:none!important}\n";
}
});

// src/modules/better-journal/styles/fullstop.css
var fullstop_default;
var init_fullstop = __esm({
"src/modules/better-journal/styles/fullstop.css"() {
fullstop_default = '.entry.short.log_summary.stats .fullstop{display:none}.journal .entry .journaltext br:after{content:" "}.journal .entry .journaltext br:last-child,.journal .content .entry .journaltext>br:last-of-type,.journal .content .entry .journaltext>br:first-of-type{display:none}.journal .content .entry .journaltext>br+br:last-of-type{display:block}.journal .entry.catchsuccessloot .journaltext br,.journal .entry.luckycatchsuccess .journaltext br,.journal .entry.relicHunter_catch .journaltext br:after,.journal .entry.relicHunter_complete .journaltext br:after{content:""}.unstable_charm_trigger .journaltext a:last-of-type:after,.journaltext .loot:last-of-type:after,.journaltext .lucky:last-of-type:after,.journaltext .item:last-of-type:after,.entry.short.supplytransferitem .journaltext a:after,.entry.gloomyGreenwood-incense .journaltext:after,.journal .entry.relicHunter_complete .journaltext b:last-of-type:after,.entry.halloween_boiling_cauldron.brew_finished a:last-of-type:after,.entry.halloween_boiling_cauldron.brew_removed a:last-of-type:after,.entry.badge .journaltext a:after,.entry.folkloreForest-farmToTable .journaltext a:last-of-type:after,.entry.folkloreForest-forewordFarm.folkloreForest-plantStarted .journaltext a:after,.entry.festiveSpiritLootBoost .journaltext a:after,.entry.golemUpgraded .journaltext a:after,.entry.workshopPartProduced .journaltext a:after,.entry.birthday_factory.enter_room b:after,.entry.donationComplete .journaltext a:last-of-type:after{display:inline;content:"."}.journaltext .better-journal-list a.lucky:last-of-type:after,.journaltext .better-journal-list a.item:last-of-type:after,.journaltext .better-journal-list a.loot:last-of-type:after,.entry.alchemists_cookbook_base_bonus .journaltext .loot:last-of-type:after,.entry.short.dailyreward a:last-of-type:after,.entry.folkloreForest-plantStarted,.entry.short.supplytransferitem .journaltext #friend-data-wrapper a:after .entry.short.craft.convertible_open a.item:after{content:""}\n';
}
});

// src/modules/better-journal/styles/general.css
var general_default;
var init_general = __esm({
"src/modules/better-journal/styles/general.css"() {
general_default = '.journalEntries{padding-top:5px}.journal .content .entry .journalbody{margin-top:3px;margin-bottom:3px;margin-left:85px}.journal .content .entry.minimalJournal .journalbody{margin-left:10px}.journal .content .entry{position:relative;padding-right:3px;border:1px solid #5b5b5b;border-bottom:none;transition:box-shadow .1s}.journal .content .entry:last-child{border-bottom:1px solid #a4a4a4}.journal .content .entry .journalimage{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:auto;margin:10px 0 0 10px}.shop_purchase .journal .content .entry .journalimage{margin:15px 0 0 10px}.journal .content .entry .journalimage a:hover,.journal .content .entry .journalimage a:focus{overflow:visible}.journal .content .entry .journalimage a{display:inline-block;width:59px;height:59px;overflow:hidden}.journal .content .entry a:hover img,.journal .content .entry a:focus img{filter:brightness(1.1)}.journal .content .entry .journalbody .journaltext{margin-right:5px;line-height:20px}.journal .content .entry .journaltext b{font-weight:400}.journal .content .entry .journaltext p:first-of-type{margin-top:0}.journal .content .entry .journaltext>*{line-height:24px}.journal .content .entry .journalbody .journaldate{display:inline-block;width:calc(100% - 10px);padding-top:5px;padding-bottom:3px;margin-bottom:5px;font-size:11px;font-weight:100;border-bottom:1px solid rgb(0 0 0 / 30%)}.journal-detailLinkContainer a:first-child{display:none}.journal-detailLinkContainer{text-align:center}a.journal-detailLink.full{font-size:11px;text-transform:lowercase;background:none}a.journal-detailLink.full:before{text-transform:capitalize;content:"View "}a.journal-detailLink.full:after{content:" \\2192"}.pagerView-container{background:transparent}.pagerView-link{border:none}.jsingle .journalEntries{padding-top:1px}.journal .content .entry a:hover img{border:1px solid #6db8ca;outline:1px solid #90d3e4;box-shadow:0 0 6px -2px #e3e31f}.journal .content .entry .journaltext p:last-of-type{margin-bottom:0}.journal .content .entry .journaltext .decoration{margin-left:-12px;font-size:21px;vertical-align:top;filter:drop-shadow(0 0 1px #89299e) drop-shadow(0 0 5px #89299e) drop-shadow(0 0 10px #89299e)}.journal .content .entry .journalbody .journalactions{position:absolute;right:5px;float:none}.journal .content .entry .journaltext p.double{margin-top:1em}.jsingle.journal .content .log_summary table{margin:0 auto}.journal .content .entry.minimalJournalImage .journalbody .journaldate{display:none}p.mhi-x-entry{display:block;padding:0;margin:0;line-height:22px!important}.journal .content .entry:hover{box-shadow:inset 0 0 5px #0006}.journal .content .entry.craft.item{padding-bottom:10px}.journal .content .entry.out_of_candles{background-color:#bd7f89}.journal .content .entry.desert_heater_base_trigger.fail{background-image:url(https://i.mouse.rip/upscaled/flameshard_crafting_item.png);background-blend-mode:luminosity}.journal .content .entry.alchemists_cookbook_base_bonus{background-position:10px}.journal .content .entry.electromagnetic_base_trigger:after{display:none}.journal .content .entry.halloween-special-loot,.journal .content .entry.halloween2019_shot_supplies{padding-left:0}.journal .content .entry.outofsuperbriebutton{margin-left:0}.journal .content .entry.pirate_sleigh_trigger{background:#4fa9e6}.journal .content .entry.queso_cannonstorm_base_trigger.fail{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/fe36041df0bec6dcc887ce67feefc4c8.png?cv=2)}.journal .content .entry.short.queso_canyon_queso_pumped .journalbody{margin-left:85px}.journal .content .entry.valentines_matchmaker{padding-left:0;margin-left:0;background-position:center;background-size:cover}.journal .entry.luckycatchsuccess .journalimage:after,.journal .entry.short.misc.custom.donationComplete br:last-of-type,.journal .content .entry.short.relicHunter_complete .journaltext>br+br:last-of-type,.journal .entry.short.relicHunter_complete br:nth-of-type(2),.journal .entry.vegetation_base_trigger:after{display:none}.journal .content .entry.vending_machine_purchase{background-position:top,bottom,center;background-size:contain}.journal .entry .journalbody .journaltext .lucky:after{position:absolute;top:-2px;display:inline-block;width:15px;height:15px;background-image:url(https://www.mousehuntgame.com/images/ui/camp/trap/stat_luck.png?asset_cache_version=2);background-size:cover}\n';
}
});

// src/modules/better-journal/styles/gold-points.css
var gold_points_default;
var init_gold_points = __esm({
"src/modules/better-journal/styles/gold-points.css"() {
gold_points_default = '.mh-ui-gold,.mh-ui-points{position:relative;margin-left:22px}.mh-ui-gold:after,.mh-ui-points:after{position:absolute;inset:-4px 0 0 -22px;width:20px;height:20px;content:"";background-image:url(https://www.mousehuntgame.com/images/items/stats/transparent_thumb/dccbaeebbdfa745340ff9363749f35ba.png?cv=2);background-position:center;background-size:contain}.mh-ui-points:after{top:-3px;background-image:url(https://www.mousehuntgame.com/images/items/stats/transparent_thumb/eeebc1c32b4242b95f75041be7275980.png?cv=2)}\n';
}
});

// src/modules/better-journal/styles/link-colors.css
var link_colors_default;
var init_link_colors = __esm({
"src/modules/better-journal/styles/link-colors.css"() {
link_colors_default = '.journal .entry a.item[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_hunt_hint_stat_item"],.journal .entry a.item[href="https://www.mousehuntgame.com/item.php?item_type=map_clue_stat_item"]{color:#1e831e}.journal .entry a.loot[href="https://www.mousehuntgame.com/item.php?item_type=fulminas_gift_convertible"],.journal .entry a.lucky[href="https://www.mousehuntgame.com/item.php?item_type=fulminas_gift_convertible"]{color:#a012a0}\n';
}
});

// src/modules/better-journal/styles/progress-log.css
var progress_log_default;
var init_progress_log = __esm({
"src/modules/better-journal/styles/progress-log.css"() {
progress_log_default = ".journal .entry.log_summary .journalbody{margin-left:10px}.journal .entry.log_summary .journaltext b{display:block;padding-top:1em;font-weight:900}.mh-ui-progress-log-link{display:block;width:100px;margin:1em auto}.log_summary tbody{display:block;margin:0}.entry.short.log_summary{background-color:#fff}#overlayPopup.hunting_summary .label{padding:5px;font-size:13px;background-color:#eee;border:1px solid #ccc}.journal .content .log_summary table td.value{padding-right:10px;font-size:12px;line-height:24px}.journal .content .log_summary table{display:flex;justify-content:center;width:330px}.journal .content .log_summary table td.field{padding-left:10px}.journal .content .log_summary table td.field.mice,.journal .content .log_summary table td.field.points,.journal .content .log_summary table td.field.gold,.journal .content .log_summary table td.field.loot{padding:0 0 4px;font-size:12px;text-align:center}.journal .content .log_summary table tr:nth-child(7){outline:none}.journal .content .log_summary table td.spacer{display:none}.journal .content .log_summary table th{border-color:#c6c6c6}#overlayPopup.hunting_summary .leftColumn,#overlayPopup.hunting_summary .rightColumn{margin-bottom:20px}#overlayPopup.hunting_summary .title{margin:10px;font-size:19px;text-align:center}#overlayPopup.hunting_summary .baitContainer,#overlayPopup.hunting_summary .lootContainer{display:grid;margin-bottom:20px;border:1px solid #ccc}#overlayPopup.hunting_summary .lootContainer{grid-template-columns:1fr 1fr 1fr 1fr}#overlayPopup.hunting_summary .baitContainer .label,#overlayPopup.hunting_summary .lootContainer .label{border-top:none;border-right:none;border-left:none}#overlayPopup.hunting_summary .baitContainer .label{grid-column:span 2}#overlayPopup.hunting_summary .lootContainer .label{grid-column:span 4}#overlayPopup.hunting_summary .lootContainer a .wrapper{padding:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#overlayPopup.hunting_summary .miceContainer a{display:grid;grid-template-columns:0 50px auto;align-items:center;padding:6px 0;font-size:10px;line-height:14px}#overlayPopup.hunting_summary .miceContainer{display:grid;grid-template-columns:1fr 1fr;place-items:start stretch}#overlayPopup.hunting_summary .miceContainer .catches{float:none;font-size:11px}#overlayPopup.hunting_summary .miceContainer a img{margin:0 3px}#overlayPopup.hunting_summary .baitContainer a{display:inline-block;float:none;width:auto}#overlayPopup.hunting_summary .lootContainer a{width:160px}#overlayPopup.hunting_summary .baitContainer a .wrapper{font-size:10px}#overlayPopup.hunting_summary .baitContainer a img{width:35px;height:auto;margin-top:6px}#overlayPopup.hunting_summary .baitContainer a b{display:inline-block;padding-bottom:6px}.reportTitle{padding-bottom:.5em;font-size:1.5em}.reportSubtitle{padding-bottom:.75em;font-size:1.125em}\n";
}
});

// src/modules/better-journal/styles/custom-entries/aura.css
var aura_default;
var init_aura = __esm({
"src/modules/better-journal/styles/custom-entries/aura.css"() {
aura_default = ".journal .content .entry.spookyAuraActivated{background-color:#9df327}.entry.short.misc.custom.anniversaryAuraActivated i{font-size:10px}.entry.short.misc.custom.anniversaryAuraActivated br:nth-of-type(3){display:none}\n";
}
});

// src/modules/better-journal/styles/custom-entries/crafting.css
var crafting_default;
var init_crafting = __esm({
"src/modules/better-journal/styles/custom-entries/crafting.css"() {
crafting_default = ".journal .entry.craft.item{min-height:70px}\n";
}
});

// src/modules/better-journal/styles/custom-entries/draw-winner.css
var draw_winner_default;
var init_draw_winner = __esm({
"src/modules/better-journal/styles/custom-entries/draw-winner.css"() {
draw_winner_default = '.journal .entry.drawwinner{box-shadow:inset 0 0 4px 2px #8fc68f;animation:warpathWiggle 1s 5}.journal .entry.drawwinner:after{position:absolute;inset:0;content:"";background:url(https://www.mousehuntgame.com/images/ui/journal/donation_shimmer.png?asset_cache_version=2) no-repeat -130px 0;animation:donationShimmer 5s infinite}@media (prefers-reduced-motion: reduce){.journal .entry.drawwinner,.journal .entry.drawwinner:after{animation:none}}\n';
}
});

// src/modules/better-journal/styles/custom-entries/events.css
var events_default;
var init_events2 = __esm({
"src/modules/better-journal/styles/custom-entries/events.css"() {
events_default = ".journal .entry.ronza_chrome_voucher_claim{background-color:#cae5e8;background-image:url(https://www.mousehuntgame.com/images/items/stats/large/a3be8c11176c289f6c79068cbe813968.png?cv=2)}.journal .entry.halloween-candy{background-color:#f1b7dc}.journal .entry.lunar_lantern{background-color:#ffd0b3;border:1px solid #5b5b5b;border-bottom:none}.journal .entry.spring_hunt_warmonger_egg_drop .journaltext{padding-left:0}\n";
}
});

// src/modules/better-journal/styles/custom-entries/larry-gift.css
var larry_gift_default;
var init_larry_gift = __esm({
"src/modules/better-journal/styles/custom-entries/larry-gift.css"() {
larry_gift_default = '.entry.short.misc.custom.larryGift:after{position:absolute;top:20px;right:-5px;display:block;width:61px;height:61px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/onboarding/info_arrow_larry.png?asset_cache_version=2);filter:opacity(.4) saturate(.3);background-repeat:no-repeat;background-position:10px;background-size:contain;transition:filter .2s;transform:scaleX(-1) rotate(-5deg);transform-origin:center}.entry.short.misc.custom.larryGift:hover:after{filter:opacity(1) saturate(1)}.entry.short.misc.custom.larryGift .journalbody{margin-right:45px}\n';
}
});

// src/modules/better-journal/styles/custom-entries/maps.css
var maps_default;
var init_maps2 = __esm({
"src/modules/better-journal/styles/custom-entries/maps.css"() {
maps_default = ".journal .entry.relicHunter_complete .journaltext b{font-weight:700}\n";
}
});

// src/modules/better-journal/styles/custom-entries/other.css
var other_default;
var init_other = __esm({
"src/modules/better-journal/styles/custom-entries/other.css"() {
other_default = ".journal .relicHunter_slayer_aura_relic_bonus{background-image:url(https://www.mousehuntgame.com/images/items/collectibles/large/a6e804d0d9eeb22ff01660a144521ff1.png?cv=2);background-repeat:no-repeat;background-size:45px!important}.journal .entry.generic_falure,.journal .entry.pollutinum_stolen{background:#ffbfbf}\n";
}
});

// src/modules/better-journal/styles/custom-entries/popup.css
var popup_default;
var init_popup = __esm({
"src/modules/better-journal/styles/custom-entries/popup.css"() {
popup_default = "#OnboardArrow.onboardPopup.top .canShare .larryTip{bottom:48px;display:flex;flex-flow:column wrap;height:30px}\n";
}
});

// src/modules/better-journal/styles/custom-entries/rank-up.css
var rank_up_default;
var init_rank_up = __esm({
"src/modules/better-journal/styles/custom-entries/rank-up.css"() {
rank_up_default = '.journal .entry.titlechange{background-image:url(https://www.mousehuntgame.com/images/ui/hud/camp/re_engagement/popup/rank_up_icon.png);background-repeat:no-repeat;background-position:right center;background-size:contain}.journal .entry.titlechange:after{position:absolute;inset:0;pointer-events:none;content:"";background:url(https://www.mousehuntgame.com/images/ui/journal/donation_shimmer.png?asset_cache_version=2) no-repeat -130px 0;filter:hue-rotate(123deg);transition:all .3s;animation:donationShimmer 5s;animation-iteration-count:infinite}@media screen and (prefers-reduced-motion: reduce){.journal .entry.titlechange:after{animation:none}}.journal .content .titlechange .journalimage img,.journal .content .titlechange .journalimage{width:75px}.journal .entry.titlechange .journalbody{text-shadow:0 0 1px #70c9da}\n';
}
});

// src/modules/better-journal/styles/custom-entries/social-gift.css
var social_gift_default;
var init_social_gift = __esm({
"src/modules/better-journal/styles/custom-entries/social-gift.css"() {
social_gift_default = ".socialGift.socialGift-send .journaltext{max-height:60px;padding-right:10px;padding-left:80px;margin-right:-3px;margin-bottom:-4px;margin-left:-80px;overflow-y:auto;box-shadow:inset 0 -20px 15px -16px #999}.journal .entry.socialGift.socialGift-send .journalbody .journaltext{margin-right:-2px;margin-left:-85px}.socialGift.socialGift-send .journaltext #friend-data-wrapper{display:none}.journal .entry.socialGift-send{padding-bottom:0}\n";
}
});

// src/modules/better-journal/styles/custom-entries/tournaments.css
var tournaments_default;
var init_tournaments = __esm({
"src/modules/better-journal/styles/custom-entries/tournaments.css"() {
tournaments_default = ".entry.short.tournamentpointswithloot,.entry.short.tournamentpoints{padding:2px;background:#dbd1b4}.entry.short.tournamentpointswithloot .journalbody,.entry.short.tournamentpoints .journalbody{display:flex;align-items:center;justify-content:flex-start;margin:5px 5px 5px 10px;white-space:normal}\n";
}
});

// src/modules/better-journal/styles/custom-entries/base/alchemist-cookbook.css
var alchemist_cookbook_default;
var init_alchemist_cookbook = __esm({
"src/modules/better-journal/styles/custom-entries/base/alchemist-cookbook.css"() {
alchemist_cookbook_default = ".journal .content .entry.alchemists_cookbook_base_bonus .journalbody{margin-left:80px}.journal .entry.alchemists_cookbook_base_bonus{background-position:5px;box-shadow:inset 0 0 20px #ae3fa4}\n";
}
});

// src/modules/better-journal/styles/custom-entries/base/ssdb.css
var ssdb_default;
var init_ssdb = __esm({
"src/modules/better-journal/styles/custom-entries/base/ssdb.css"() {
ssdb_default = ".journal .content .entry.short.misc.custom.denture_base_decay_trigger{background-blend-mode:lighten}\n";
}
});

// src/modules/better-journal/styles/custom-entries/catch/bonus.css
var bonus_default;
var init_bonus = __esm({
"src/modules/better-journal/styles/custom-entries/catch/bonus.css"() {
bonus_default = ".journal .content .bonuscatchsuccess,.journal .content .bonuscatchfailure{box-shadow:none}.journal .content .bonuscatchsuccess:after,.journal .content .bonuscatchfailure:after,.journal .content .bonuscatchsuccess:before,.journal .content .bonuscatchfailure:before{content:none;background:none}\n";
}
});

// src/modules/better-journal/styles/custom-entries/catch/failure.css
var failure_default;
var init_failure = __esm({
"src/modules/better-journal/styles/custom-entries/catch/failure.css"() {
failure_default = ".journal .content .entry.catchfailure{background-position:0;background-size:75px}\n";
}
});

// src/modules/better-journal/styles/custom-entries/catch/lucky.css
var lucky_default;
var init_lucky = __esm({
"src/modules/better-journal/styles/custom-entries/catch/lucky.css"() {
lucky_default = '.journal .entry.luckycatchsuccess .journalimage:after{background:none}.journal .entry.luckycatchsuccess:after{position:absolute;top:8px;right:10px;width:18px;height:18px;content:"";background:url(https://www.mousehuntgame.com/images/ui/camp/trap/stat_luck.png?asset_cache_version=2);background-repeat:no-repeat;background-size:cover;animation:mh-improved-fade-out 1s ease-out 1s forwards}@media (prefers-reduced-motion: reduce){.journal .entry.luckycatchsuccess:after{animation:none}}.journal .entry.luckycatchsuccess .journaltext .luckyCatch{-webkit-text-stroke-color:#7bc95e;-webkit-text-stroke-width:thin}.journal .entry.luckycatchsuccess .journalimage{position:absolute;top:0;bottom:0}\n';
}
});

// src/modules/better-journal/styles/custom-entries/catch/prize.css
var prize_default;
var init_prize = __esm({
"src/modules/better-journal/styles/custom-entries/catch/prize.css"() {
prize_default = ".journal .content .catchsuccessprize{background-color:#7dea7d}\n";
}
});

// src/modules/better-journal/styles/custom-entries/charm/gilded.css
var gilded_default;
var init_gilded = __esm({
"src/modules/better-journal/styles/custom-entries/charm/gilded.css"() {
gilded_default = ".entry.short.misc.custom.chesla_trap_trigger{display:flex;align-items:center;min-height:35px;padding-left:10px;font-size:10px;line-height:15px;background-color:#edd1f3}\n";
}
});

// src/modules/better-journal/styles/custom-entries/charm/rift-vacuum.css
var rift_vacuum_default;
var init_rift_vacuum = __esm({
"src/modules/better-journal/styles/custom-entries/charm/rift-vacuum.css"() {
rift_vacuum_default = ".journal .entry.short.super_rift_vacuum_trigger{box-shadow:0 0 20px #c997de inset}.journal .entry.short.custom.super_rift_vacuum_trigger{background-position:10px 5px;background-size:50px}\n";
}
});

// src/modules/better-journal/styles/custom-entries/charm/torch.css
var torch_default;
var init_torch = __esm({
"src/modules/better-journal/styles/custom-entries/charm/torch.css"() {
torch_default = ".entry.short.misc.custom.torch_charm_event{display:flex;align-items:center;min-height:35px;padding-left:5px;font-size:10px;line-height:15px;background-color:#dcf7ff}.entry.short.misc.custom.torch_charm_event .journalimage{width:55px}.entry.short.misc.custom.torch_charm_event .journalimage img{width:45px;height:45px}\n";
}
});

// src/modules/better-journal/styles/custom-entries/charm/ultimate.css
var ultimate_default;
var init_ultimate = __esm({
"src/modules/better-journal/styles/custom-entries/charm/ultimate.css"() {
ultimate_default = '.journal .content .ultimate_pop,.journal .content .ultimate_intact{position:relative;background-color:#49eec2;background-size:60px}.journal .content .ultimate_pop:before,.journal .content .ultimate_intact:before{position:absolute;top:25px;left:10px;width:56px;height:56px;content:"";border:2px solid #49eec2}@keyframes mhui-uc-glow{0%{filter:brightness(1)}50%{filter:brightness(1.1)}to{filter:brightness(1)}}@keyframes mhui-uc-glow-sad{0%{filter:brightness(1)}50%{filter:brightness(.8)}to{filter:brightness(1)}}.journal .content .ultimate_intact{animation:mhui-uc-glow .8s ease-in-out 1}.journal .content .ultimate_pop{animation:mhui-uc-glow-sad .8s ease-in-out 1}@media (prefers-reduced-motion: reduce){.journal .content .ultimate_intact,.journal .content .ultimate_pop{animation:none}}\n';
}
});

// src/modules/better-journal/styles/custom-entries/charm/unstable.css
var unstable_default;
var init_unstable = __esm({
"src/modules/better-journal/styles/custom-entries/charm/unstable.css"() {
unstable_default = ".entry.short.misc.custom.unstable_charm_trigger{display:flex;align-items:center;min-height:35px;padding-left:5px;font-size:10px;line-height:15px;background-color:#dcf7ff}.journal .entry.short.misc.custom.unstable_charm_trigger .journaltext{max-width:265px;margin-left:-10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry.short.misc.custom.unstable_charm_trigger .journalimage{width:50px;margin-top:-5px}.journal .entry.short.misc.custom.unstable_charm_trigger .journalimage img{width:50px;height:50px}\n";
}
});

// src/modules/better-journal/styles/custom-entries/mouse/glazy.css
var glazy_default;
var init_glazy = __esm({
"src/modules/better-journal/styles/custom-entries/mouse/glazy.css"() {
glazy_default = ".mh-dark-mode .entry.short.catchsuccessloot[data-mouse-type=glazed],.entry.short.catchsuccessloot[data-mouse-type=glazed]{color:#000!important;background-color:#fcdb28;box-shadow:0 0 10px 8px #fdee96 inset}.mh-dark-mode .entry.short.catchsuccessloot[data-mouse-type=glazed] a{color:#3b5998}\n";
}
});

// src/modules/better-journal/styles/custom-entries/mouse/stuck-snowball.css
var stuck_snowball_default;
var init_stuck_snowball = __esm({
"src/modules/better-journal/styles/custom-entries/mouse/stuck-snowball.css"() {
stuck_snowball_default = ".journal .entry.stuck_snowball_catch{background:#a5d6fb}\n";
}
});

// src/modules/better-journal/styles/custom-entries/mouse/valentines.css
var valentines_default;
var init_valentines = __esm({
"src/modules/better-journal/styles/custom-entries/mouse/valentines.css"() {
valentines_default = ".journal .content .entry.valentines_matchmaker{background-position:left;animation:mhui-slide-background 240s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.animation{animation:none}}@keyframes mhui-slide-background{0%{background-position:left}50%{background-position:right}to{background-position:left}}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/brift.css
var brift_default;
var init_brift = __esm({
"src/modules/better-journal/styles/custom-entries/location/brift.css"() {
brift_default = ".journal .entry.burroughs_rift.danger_zone{background-color:#ccdfe2;background-position:10px center;background-size:59px}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/bwrift.css
var bwrift_default;
var init_bwrift = __esm({
"src/modules/better-journal/styles/custom-entries/location/bwrift.css"() {
bwrift_default = ".entry.short.rift-bristlewoods-acolyteSandStolen{padding:2px;background:#ffc16e}.entry.short.rift-bristlewoods-acolyteSandStolen .journalbody{display:flex;align-items:center;justify-content:flex-start;padding-left:45px;margin:5px 5px 5px 10px;white-space:normal}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/folklore-forest.css
var folklore_forest_default;
var init_folklore_forest = __esm({
"src/modules/better-journal/styles/custom-entries/location/folklore-forest.css"() {
folklore_forest_default = '.journal .entry.folkloreForest.folkloreForest-lootFuelBoost{min-height:unset;background-color:#b6f1d1}.entry.folkloreForest-farmToTable .journaltext a:nth-last-of-type(2):after{content:" and "}.journal .entry.folkloreForest-tableOfContents.wordCount{background-color:#fff9ee;box-shadow:inset 0 0 9px -2px #a78f77}.journal .entry.folkloreForest-tableOfContents.wordCount .journaltext{margin-left:70px;font-size:11px}.journal .entry.folkloreForest-tableOfContents.wordCount:after{position:absolute;top:10px;left:0;width:37px;height:37px;color:#d9bb92;content:"";background-image:url(https://www.mousehuntgame.com/images/folklore_forest_upgrades/golden_quill_thumb.png?cv=2);background-repeat:no-repeat;background-size:cover;mix-blend-mode:luminosity}\n';
}
});

// src/modules/better-journal/styles/custom-entries/location/frift.css
var frift_default;
var init_frift = __esm({
"src/modules/better-journal/styles/custom-entries/location/frift.css"() {
frift_default = '.journal .content .entry.riftFuroma{position:relative}.journal .content .entry.riftFuroma-energyLost .journalbody{margin-left:80px}.journal .content .entry.riftFuroma-energyLost .journalbody:before{position:absolute;top:-12px;left:-96px;display:block;width:75px;height:80px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hud/rift_furoma/droid.png?asset_cache_version=2);filter:grayscale(1);background-repeat:no-repeat;background-position:0 -100px;background-size:110%;mix-blend-mode:luminosity}.journal .content .entry.riftFuroma-energyLost .journaltext{display:flex;align-items:center;min-height:54px}.journal .content .entry.riftFuroma-retreat{background-color:#f4c3b2}.journal .content .entry.riftFuroma-energyLost{min-height:60px}.journal .content .entry.riftFuroma-enterPagoda,.journal .content .entry.riftFuroma-unlockBattery{background-color:#f3b782}.journal .content .entry.riftFuroma-exitPagoda{background-color:#e3bfb4}\n';
}
});

// src/modules/better-journal/styles/custom-entries/location/garden.css
var garden_default;
var init_garden = __esm({
"src/modules/better-journal/styles/custom-entries/location/garden.css"() {
garden_default = ".journal .content .entry.minigame_start.yellow_drops{background-color:#fffd97;background-blend-mode:darken}.journal .content .entry.minigame_start.red_drops{background-color:#ffaf98;background-blend-mode:darken}.journal .content .entry.minigame_start.orange_drops{background-color:#ffde97;background-blend-mode:darken}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/halloween.css
var halloween_default;
var init_halloween = __esm({
"src/modules/better-journal/styles/custom-entries/location/halloween.css"() {
halloween_default = ".journal .entry.gloomyGreenwood-incense{background-color:#ffc277}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/iceberg.css
var iceberg_default;
var init_iceberg = __esm({
"src/modules/better-journal/styles/custom-entries/location/iceberg.css"() {
iceberg_default = ".journal .content .iceberg_advance,.journal .content .iceberg_pushback,.journal .content .iceberg_pushback_prevented,.journal .entry.riftFuroma{font-style:inherit}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/labyrinth.css
var labyrinth_default;
var init_labyrinth = __esm({
"src/modules/better-journal/styles/custom-entries/location/labyrinth.css"() {
labyrinth_default = ".entry.short.misc.custom.labyrinth.labyrinth-chooseDoor,.entry.short.misc.custom.labyrinth.labyrinth-intersection{display:flex;align-items:center}.journal .content .entry.ancient-stealth .journalbody{margin-left:85px}.journal .content .entry.ancient-stealth .journaldate{display:none}.journal .entry.labyrinth-intersection{background-color:#acc8dc}.journal .entry.ancient-stealth{padding:1px 0}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/mousoleum.css
var mousoleum_default;
var init_mousoleum = __esm({
"src/modules/better-journal/styles/custom-entries/location/mousoleum.css"() {
mousoleum_default = ".journal .content .entry.mousoleum.creepy_coffin_trigger,.journal .content .entry.mousoleum.repair_wall,.journal .content .entry.mousoleum.damage_wall{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/d764ca82aa14f187f9796e1e5334e20c.png)}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/queso.css
var queso_default;
var init_queso = __esm({
"src/modules/better-journal/styles/custom-entries/location/queso.css"() {
queso_default = ".journal .entry.queso_geyser.wild_tonic_disabled{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/8e292ff717bd65936d2c96707aa77de0.png);background-blend-mode:darken}.journal .entry.queso_canyon_queso_pumped{background-image:url(https://www.mousehuntgame.com/images/items/bait/transparent_thumb/06c81c66b0f21f2a8b6a2b989f40bd8d.png?cv=2);background-position:10px -5px}.journal .entry.queso_canyon_queso_pumped .journalbody{margin-left:65px}.journal .entry.queso_cannonstorm_base_trigger .journalimage img{width:50px;padding-left:0}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/toxic-spill.css
var toxic_spill_default;
var init_toxic_spill = __esm({
"src/modules/better-journal/styles/custom-entries/location/toxic-spill.css"() {
toxic_spill_default = ".entry.short.misc.custom.refine_pollutinum{display:flex;align-items:center;min-height:35px;padding-left:5px;font-size:10px;line-height:15px;background-color:#7f7;background-position:20px;background-size:25px}.entry.short.misc.custom.torch_charm_event .refine_pollutinum{width:55px}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/vrift.css
var vrift_default;
var init_vrift = __esm({
"src/modules/better-journal/styles/custom-entries/location/vrift.css"() {
vrift_default = ".journal .entry.rift_valour.minimalJournalImage.enter_tower .journaltext,.journal .entry.rift_valour.minimalJournalImage.no_loot_retreat .journaltext,.journal .entry.rift_valour.minimalJournalImage.upgrade_longstride .journaltext,.journal .entry.rift_valour.minimalJournalImage.upgrade_stamina .journaltext,.journal .entry.rift_valour.minimalJournalImage.upgrade_siphon .journaltext{padding-top:0}.journal .entry.rift_valour.moved_forward{background-color:#8fe5ff}\n";
}
});

// src/modules/better-journal/styles/custom-entries/location/wwrift.css
var wwrift_default;
var init_wwrift = __esm({
"src/modules/better-journal/styles/custom-entries/location/wwrift.css"() {
wwrift_default = ".journal .content .entry.short.rift-whisker-woods-increase .journalbody{margin:0 30px;font-size:10px;text-align:center}.journal .content .entry.rift-whisker-woods-catch-miniboss{background-color:#d8d479}.journal .content .entry.rift-whisker-woods-catch-boss{background-color:#fac75f}.journal .content .entry.rift-whisker-woods-increase-high{background-color:#e3d981}.journal .content .entry.rift-whisker-woods-increase-miniboss{background-color:#ffba4e}\n";
}
});

// src/modules/better-journal/index.js
var imported, styles, saveEntries, modifyText, wrapGoldAndPoints, maybeKeepAsOriginal, maybeRestoreOriginalEntry, updateJournalText, updateMouseImageLinks, kingsPromoTextChange, updateEls, journalReplacements, init5, better_journal_default;
var init_better_journal = __esm({
"src/modules/better-journal/index.js"() {
init_utils2();
init_journal_history();
init_journal_list();
init_settings6();
init_styles6();
init_styles7();
init_no_styles();
init_backgrounds();
init_date_hiding();
init_fullstop();
init_general();
init_gold_points();
init_link_colors();
init_progress_log();
init_aura();
init_crafting();
init_draw_winner();
init_events2();
init_larry_gift();
init_maps2();
init_other();
init_popup();
init_rank_up();
init_social_gift();
init_tournaments();
init_alchemist_cookbook();
init_ssdb();
init_bonus();
init_failure();
init_lucky();
init_prize();
init_gilded();
init_rift_vacuum();
init_torch();
init_ultimate();
init_unstable();
init_glazy();
init_stuck_snowball();
init_valentines();
init_brift();
init_bwrift();
init_folklore_forest();
init_frift();
init_garden();
init_halloween();
init_iceberg();
init_labyrinth();
init_mousoleum();
init_queso();
init_toxic_spill();
init_vrift();
init_wwrift();
imported = [backgrounds_default, date_hiding_default, fullstop_default, general_default, gold_points_default, link_colors_default, progress_log_default, aura_default, crafting_default, draw_winner_default, events_default, larry_gift_default, maps_default, other_default, popup_default, rank_up_default, social_gift_default, tournaments_default, alchemist_cookbook_default, ssdb_default, bonus_default, failure_default, lucky_default, prize_default, gilded_default, rift_vacuum_default, torch_default, ultimate_default, unstable_default, glazy_default, stuck_snowball_default, valentines_default, brift_default, bwrift_default, folklore_forest_default, frift_default, garden_default, halloween_default, iceberg_default, labyrinth_default, mousoleum_default, queso_default, toxic_spill_default, vrift_default, wwrift_default];
styles = imported;
saveEntries = (callback) => __async(void 0, null, function* () {
  if ("camp" !== getCurrentPage()) {
    return;
  }
  const entries = document.querySelectorAll(".journal .entry");
  const reversedEntries = [...entries].reverse();
  let lastDate = "";
  reversedEntries.forEach((entry) => __async(void 0, null, function* () {
    const entryId = Number.parseInt(entry.getAttribute("data-entry-id"), 10);
    if (!entryId) {
      return;
    }
    const entryText = entry.querySelector(".journalbody .journaltext");
    if (!entryText) {
      return;
    }
    const original = yield dbGet("journal", entryId);
    if (original && original.text) {
      callback(original, entry, entryText);
      return;
    }
    const dateEl = entry.querySelector(".journaldate");
    let date = dateEl ? dateEl.innerText : lastDate;
    lastDate = date;
    date = date.split("-");
    const journalData = {
      id: entryId,
      date: date[0] ? date[0].trim() : "0:00",
      location: date[1] ? date[1].trim() : "Unknown",
      text: entryText.innerHTML,
      type: [...entry.classList],
      mouse: entry.getAttribute("data-mouse-type") || null
    };
    yield dbSet("journal", journalData);
  }));
});
modifyText = (selector, strings) => __async(void 0, null, function* () {
  const elements = document.querySelectorAll(selector);
  elements.forEach((entry) => __async(void 0, null, function* () {
    const element = entry.querySelector(".journalbody .journaltext");
    strings.forEach((string) => __async(void 0, null, function* () {
      if (!Array.isArray(string) || string.length !== 2) {
        return;
      }
      const oldText = element.innerHTML;
      const newText = oldText.replace(string[0], string[1]);
      if (oldText !== newText) {
        element.innerHTML = newText;
      }
    }));
    doEvent2("better-journal-update", { entry, text: element });
  }));
});
wrapGoldAndPoints = () => {
  const entries = document.querySelectorAll(".journal .entry");
  if (!entries.length) {
    return;
  }
  entries.forEach((entry) => {
    if (entry.getAttribute("data-modified-points-gold")) {
      return;
    }
    entry.setAttribute("data-modified-points-gold", true);
    const points = entry.innerHTML.match(/worth (.+?) points/i);
    const gold = entry.innerHTML.match(/points and (.+?) gold/i);
    if (points) {
      entry.innerHTML = entry.innerHTML.replace(points[0], `worth <span class="mh-ui-points">${points[1]}</span> points`);
    }
    if (gold) {
      entry.innerHTML = entry.innerHTML.replace(gold[0], `points and <span class="mh-ui-gold">${gold[1]}</span> gold`);
    }
  });
};
maybeKeepAsOriginal = (entry) => {
  const keepOriginalMice = [
    // 'stuck_snowball',
  ];
  const keepOriginalClasses = /* @__PURE__ */ new Set([
    "lunar_lantern",
    "valentines_matchmaker",
    "vending_machine_purchase"
  ]);
  const entryId = entry.getAttribute("data-entry-id");
  if (!entryId) {
    return;
  }
  const hasOriginal = entry.getAttribute("data-is-custom-entry");
  if (hasOriginal) {
    return;
  }
  const isMouse = entry.getAttribute("data-mouse-type");
  if (isMouse && keepOriginalMice.includes(isMouse)) {
    const entryText = entry.querySelector(".journaltext");
    if (entryText) {
      sessionSet(`mhui-custom-entry-${entryId}`, entryText.innerHTML);
      entry.setAttribute("data-is-custom-entry", true);
    }
  }
  const classList = [...entry.classList];
  if (classList.some((c) => keepOriginalClasses.has(c))) {
    const entryText = entry.querySelector(".journaltext");
    if (entryText) {
      sessionSet(`mhui-custom-entry-${entryId}`, entryText.innerHTML);
      entry.setAttribute("data-is-custom-entry", true);
    }
  }
};
maybeRestoreOriginalEntry = (entry) => {
  const entryId = entry.getAttribute("data-entry-id");
  const originalText = sessionGet(`mhui-custom-entry-${entryId}`);
  if (originalText) {
    entry.querySelector(".journaltext").innerHTML = originalText;
  }
};
updateJournalText = () => __async(void 0, null, function* () {
  yield saveEntries((original, entry, entryText) => {
    if (original.text && entryText.innerHTML !== original.text && entry.getAttribute("data-updated") !== "true") {
      return;
    }
    entry.setAttribute("data-updated", true);
  });
  wrapGoldAndPoints();
  const entries = document.querySelectorAll(".journal .entry");
  entries.forEach((entry) => {
    maybeKeepAsOriginal(entry);
  });
  modifyText(".journal .entry", [
    // Hunt entries
    ["I sounded the Hunter's Horn and was successful in the hunt!", ""],
    ["where I was successful in my hunt! I", "and"],
    ["I went on a hunt with", "I hunted with"],
    [/\d+? oz. /i, ""],
    [/\d+? lb. /i, ""],
    [/from (\d+?) x/i, "from $1"],
    [/purchased (\d+?) x/i, "purchased $1"],
    ["<br><b>The mouse also dropped the following loot:</b>", "==DROPREPLACE=="],
    [".<br>==DROPREPLACE==<br>", " that dropped "],
    ["<br>==DROPREPLACE==<br>", " that dropped "],
    ["I caught an", "I caught a"],
    ["I caught a", "<p>I caught a"],
    ["found that I had caught a mouse! I", ""],
    ["found that I had caught a mouse! <p>I", ""],
    ["I checked my trap and caught", "I checked my trap and found"],
    ["I returned to check my trap, but it appeared", "I checked my trap, but"],
    ["was successful in the hunt! I", ""],
    ["where I was successful in my hunt! I", "and"],
    ["my efforts were fruitless. A", "a"],
    ["got <font", "was <font"],
    ["trap.<br><br>Additionally, the fiend pillaged", "trap, and stealing"],
    ["gold from me!", "gold."],
    ["trap.<br><br>Additionally, the power of this mouse crippled my courage, setting me back", "trap and I lost"],
    // Map entries
    ["I successfully completed ", "Completing "],
    ["! Everyone who helped has been rewarded with", " gave me"],
    [" each!", ", I can "],
    ["claim my reward", "claim the reward."],
    ["now!", ""],
    [", ending the hunt!", "."],
    ["View Map Summary", ""],
    // Other
    ["I should hunt and catch a Relic Hunter or visit a Cartographer to obtain a new Treasure Map!", ""],
    ["hunt and catch a Relic Hunter or ", "I can "],
    ["Treasure Map!", "Treasure Map."],
    [", causing my trap to glimmer with a magnificent shine", ""],
    [", causing my trap to sparkle with a fiendish glow", ""],
    [", causing my trap to spark with lightning", ""],
    ["!The", "! The"],
    ["(Local Time)", ""],
    ["and your item(s) have been", ""],
    [":</b><br>", "</b> "],
    [/<a href="receipt.php.+?view receipt<\/a>/i, ""],
    ["me:<br>", "me "],
    [/i should tell my friends to check .+? during the next .+? to catch one!/i, ""],
    [/i can go to my .+? to open it/i, ""],
    ["Luckily she was not interested in my cheese or charms!", ""],
    ["while she was in my trap, but", "and"],
    [" while scampering off!", ""],
    ["The mouse stole", " The mouse stole"],
    ["Chest, I can", "Chest, "],
    ["<br>I should ", "I can "],
    ["<br>I can ", "I can "],
    [" I replaced my bait since it seemed to be stale.", ""],
    ["*POP* Your Unstable Charm pops off your trap and has", "My Unstable Charm"],
    ["You quickly add it to your inventory!", ""],
    ["I quickly added it to my inventory!", ""],
    [" burned out and left behind ", " turned into "],
    [" a elusive ", " a "],
    ["I moved forward a whopping", "I moved forward"],
    ["!I", "! I"],
    ["in search of more loot", ""],
    ["or I can return to the", "or return to the"],
    [" and begin a new expedition", ""],
    [" ate a piece of cheese without setting off my trap.", " stole my cheese."],
    ["slowly collapsed into itself with a powerful force, compressing mist in the air into an ", "compressed mist in the air into an "],
    ["Your S.U.P.E.R. Scum Scrubber scrubbed the mouse clean and found ", "My trap found an extra "],
    ["You scrubba-lubba-dub-dubbed your barrel and refined ", "I refined "],
    ["an additional 1 ", "an additional "],
    [">.", ">"],
    [", and ", " and "],
    ["!.,", "!"],
    ["My tower's ", "My "],
    ["Energy Cannon", "cannon"],
    ["before it could even touch my cheese!", ""],
    ["The mouse dropped the following prize", "that dropped"],
    ["My Unstable Charm turned into", "My Unstable Charm became"],
    ["\u2022&nbsp;", " "],
    ["My Condensed Creativity created additional loot:", "My Condensed Creativity created an additional "],
    ["The mouse stole an Ancient Relic and dropped a Relic Hunter Scroll Case", "The mouse stole an Ancient Relic and dropped a Relic Hunter Scroll Case!"],
    ["*BLING*", '<span class="decoration">\u2728\uFE0F</span>'],
    ["Aura helped me find", "Aura found"],
    ["processed  added", "processed and added"],
    ["I have started a", "I started a"],
    // Event stuff
    // SEH
    [/was.+chocolatonium.+trap!/i, ""],
    // Halloween
    [/an additional:<br>/i, "an additional "],
    ["<br></p><p>", "<p>"],
    ["<br><p>", "<p>"],
    [/<p class="mhi-x-entry"> • /g, ""],
    [/(\d+?) x /gi, '<p class="mhi-x-entry"> \u2022 $1 x '],
    [/<p><\/p>/g, ""],
    ["I can view other recipe", '<p class="double">I can view other recipe']
  ]);
  const replacements = [];
  const sehWords = [
    "chocoholic",
    "chocolate-crazed",
    "voracious",
    "gluttonous",
    "hypoglycemic",
    "ravenous",
    "greedy",
    "hungry",
    "hyperactive",
    "sugar-induced"
  ];
  sehWords.forEach((word) => {
    replacements.push([`A ${word}`, "I caught a bonus"]);
  });
  modifyText(".journal .entry.custom", replacements);
  const log = document.querySelector(".journal .content .log_summary");
  if (log) {
    const link = log.querySelector("td a");
    if (link) {
      link.classList.add("mh-ui-progress-log-link", "mousehuntActionButton", "tiny", "lightBlue");
      const span = document.createElement("span");
      span.innerText = "View Progress Log";
      link.innerText = "";
      link.append(span);
    }
  }
  const restoreEntries = document.querySelectorAll(".journal .entry[data-is-custom-entry]");
  restoreEntries.forEach((entry) => {
    maybeRestoreOriginalEntry(entry);
  });
});
updateMouseImageLinks = () => {
  const mouseEntries = document.querySelectorAll(".journal .entry[data-mouse-type]");
  mouseEntries.forEach((entry) => {
    const mouseType = entry.getAttribute("data-mouse-type");
    const mouseImageLink = entry.querySelector(".journalimage a[onclick]");
    if (!(mouseType && mouseImageLink)) {
      return;
    }
    mouseImageLink.setAttribute("onclick", `hg.views.MouseView.show('${mouseType}'); return false;`);
  });
};
kingsPromoTextChange = () => {
  const kingsPromo = document.querySelector(".shopsPage-kingsCalibratorPromo");
  if (kingsPromo) {
    kingsPromo.innerHTML = kingsPromo.innerHTML.replace("and even", "and");
  }
};
updateEls = () => {
  updateJournalText();
  updateMouseImageLinks();
};
journalReplacements = () => {
  updateEls();
  onRequest("*", () => {
    setMultipleTimeout(updateEls, [0, 100, 500]);
  });
};
init5 = () => __async(void 0, null, function* () {
  addStyles(getSetting("better-journal.styles", true) ? styles : no_styles_default, "better-journal-styles");
  if (getSetting("better-journal.icons")) {
    addStyles([styles_default5, styles_default6], "better-journal-icons");
  } else if (getSetting("better-journal.icons-minimal")) {
    addStyles(styles_default5, "better-journal-icons");
  }
  if (getSetting("better-journal.replacements", true)) {
    journalReplacements();
  }
  if (getSetting("better-journal.list", false)) {
    journal_list_default();
  }
  if (getFlag("journal-history")) {
    journal_history_default();
  }
  onRequest("users/dailyreward.php", kingsPromoTextChange);
});
better_journal_default = {
  id: "better-journal",
  name: "Better Journal",
  type: "better",
  default: true,
  description: "Modify the journal text, layout, and styling.",
  load: init5,
  settings: settings_default5
};
}
});

// src/modules/better-kings-reward/styles.css
var styles_default7;
var init_styles8 = __esm({
"src/modules/better-kings-reward/styles.css"() {
styles_default7 = ".puzzleView__imageContainer{background-color:transparent;border-color:#73332a;border-width:1px}.puzzleView__image img{filter:hue-rotate(333deg);transform:scale(1.3) translate(-10px,5px);transform-origin:left}.puzzleView__requestNewPuzzleButton{background-color:#a35721;opacity:.3;transition:opacity .2s ease-in-out}.puzzleView__requestNewPuzzleButton:hover,.puzzleView__requestNewPuzzleButton:focus{border-color:transparent;opacity:1}.puzzleView__requestNewPuzzleButtonIcon{filter:invert(1);opacity:.8}input.puzzleView__code{font-size:28px;letter-spacing:8px}\n";
}
});

// src/modules/better-kings-reward/index.js
var honk, continueOnKingsReward, initiateKingsReward, startKingsReward, init6, better_kings_reward_default;
var init_better_kings_reward = __esm({
"src/modules/better-kings-reward/index.js"() {
init_utils2();
init_styles8();
honk = () => __async(void 0, null, function* () {
  const horn = document.querySelector(".huntersHornView__horn--ready");
  if (!horn) {
    return;
  }
  horn.dispatchEvent(new MouseEvent("mousedown", {
    bubbles: true
  }));
  yield new Promise((resolve) => setTimeout(resolve, 250));
  horn.dispatchEvent(new MouseEvent("mouseup", {
    bubbles: true
  }));
});
continueOnKingsReward = (req) => {
  if (req.success && req.puzzle_reward) {
    const resume = document.querySelector(".puzzleView__resumeButton");
    if (resume) {
      resume.click();
      setTimeout(honk, 250);
    }
  }
};
initiateKingsReward = () => {
  const reward = document.querySelector(".huntersHornMessageView huntersHornMessageView--puzzle .huntersHornMessageView__action");
  if (reward) {
    reward.click();
  }
};
startKingsReward = () => {
  const rewardStart = document.querySelector(".huntersHornMessageView--puzzle .huntersHornMessageView__action");
  if (rewardStart) {
    rewardStart.click();
  }
  setTimeout(() => {
    const puzzle = document.querySelector(".puzzleView__code");
    if (puzzle) {
      puzzle.focus();
    }
  }, 500);
};
init6 = () => __async(void 0, null, function* () {
  addStyles(styles_default7, "better-kings-reward");
  onRequest("turns/activeturn.php", initiateKingsReward, true);
  onRequest("users/puzzle.php", continueOnKingsReward, true);
  onRequest("*", startKingsReward);
  startKingsReward();
});
better_kings_reward_default = {
  id: "better-kings-reward",
  name: "Better King's Reward",
  type: "better",
  default: true,
  description: "Updates the style of the King's Reward slightly, automatically closes the success message",
  load: init6
};
}
});

// src/modules/better-item-view/styles.css
var styles_default8;
var init_styles9 = __esm({
"src/modules/better-item-view/styles.css"() {
styles_default8 = '.itemView-titleContainer{height:26px}.itemView-header-name{display:flex;align-items:center;justify-content:space-between}.mh-item-links{display:flex;justify-content:flex-end;margin-right:-10px}.mh-item-links a{margin-right:5px}.itemView-header-name .mh-item-links span{display:inline-block;font-size:11px;font-weight:400}.itemView-has-mhct .mouse-ar-wrapper{display:grid;grid-template-columns:150px auto 50px;place-items:center stretch;padding:5px;margin:5px 0;font-size:12px}.itemView-has-mhct .has-stages .mouse-ar-wrapper{grid-template-columns:110px 140px auto 50px}.itemView-has-mhct .mouse-ar-wrapper div{padding:0 2px}.itemView-has-mhct .mice-ar-wrapper{margin-right:10px}.mouse-ar-wrapper .stage{font-size:10px}.mouse-ar-wrapper .cheese{font-size:11px}.itemView-has-mhct .ar-header{display:flex;align-items:center;justify-content:space-between;height:26px;padding-bottom:2px;margin-top:10px;margin-bottom:10px;font-size:12px;font-weight:900;border-bottom:1px solid #ccc}.itemView-has-mhct .ar-link{font-size:9px}.itemView-has-mhct .rate{text-align:right}.itemView-has-mhct .mouse-ar-wrapper:nth-child(odd){background-color:#e7e7e7}.itemView-has-mhct .itemView-description{font-weight:500;line-height:19px}.itemView-action.crafting_item b{display:none}.itemView-action.crafting_item:before{content:"This can be used to craft other items!"}.itemViewContainer.map_piece .itemView-action-text.map_piece,.itemViewContainer.base .itemView-action-text.base,.itemViewContainer.weapon .itemView-actio-textn.weapon,.itemViewContainer.bait .itemView-action-text.bait,.itemViewContainer.trinket .itemView-action-text.trinket,.itemViewContainer.potion .itemView-action-text.potion,.itemViewContainer.readiness_item .itemView-action-text.readiness_item,.itemViewContainer.convertible .itemView-action-text.convertible,.itemViewContainer.torn_page .itemView-action-text.torn_page,.itemViewContainer.crafting_item .itemView-action-text.crafting_item,.itemViewContainer.collectible .itemView-action-text.collectible,.itemViewContainer.message_item .itemView-action-text.message_item,.itemViewContainer.bonus_loot .itemView-action-text.bonus_loot,.itemViewContainer.stat .itemView-action-text.stat,.itemViewContainer.quest .itemView-action-text.quest,.itemViewContainer.skin .itemView-action-text.skin{display:none!important}.itemViewContainer .shopCustomization .itemViewStatBlock-stat{display:flex;flex-direction:column;align-items:center}.itemViewContainer .itemViewStatBlock-stat{display:flex;flex-direction:row;align-items:center;justify-content:center}.itemViewContainer .itemViewStatBlock-stat-value{flex:1;text-align:left}.itemViewContainer .itemViewStatBlock-stat.cheeseEffect{font-size:9px;text-align:center}.itemViewContainer .itemViewStatBlock.trinket .itemViewStatBlock-padding{display:flex;flex-direction:column;align-items:stretch;width:100px}.itemViewContainer .itemViewStatBlock.trinket{width:100px;font-size:13px}#overlayPopup.itemViewPopup #jsDialogClose{z-index:1}#overlayPopup.itemViewPopup .itemView-header-classification{right:25px}.itemView-actionContainer{display:flex;flex-wrap:wrap;gap:10px}.itemView-action{border-top:none}.itemViewContainer.potion .inventoryPage-item-recipeOptions li{width:365px}.itemView-character-image{width:auto;height:84px;margin-top:-15px;margin-left:-9px}.itemView-character-name{left:-11px;width:75px;font-size:15px}.itemView-padding{margin-left:70px}.itemView-thumbnail.large{margin-left:-15px}input.itemView-action-convert-quantity{width:50px}.itemViewPopup .itemViewStatBlock-padding{flex-direction:column}.itemView-character .itemView-character-image{transition:all .4s ease-out;transform-origin:bottom}.itemView-character:hover .itemView-character-image{transform:scale(1.2) rotate(-10deg) translate(5px)}.itemView-header-classification{visibility:hidden}.itemView-header-classification span{visibility:visible}.itemViewStatBlock-stat{display:flex;align-items:center}\n';
}
});

// src/modules/better-item-view/index.js
var getLinkMarkup, addLinks, updateItemView, init7, better_item_view_default;
var init_better_item_view = __esm({
"src/modules/better-item-view/index.js"() {
init_utils2();
init_styles9();
getLinkMarkup = (name, id) => {
  return makeLink("MHCT", `https://www.mhct.win/loot.php?item=${id}`, true) + makeLink("Wiki", `https://mhwiki.hitgrab.com/wiki/index.php/${name}`);
};
addLinks = (itemId) => {
  const title = document.querySelector(".itemView-header-name");
  if (!title) {
    return;
  }
  const currentLinks = document.querySelector(".mh-item-links");
  if (currentLinks) {
    currentLinks.remove();
  }
  const div = document.createElement("div");
  div.classList.add("mh-item-links");
  div.innerHTML = getLinkMarkup(title.innerText, itemId);
  title.append(div);
  const values = document.querySelector(".mouseView-values");
  const desc = document.querySelector(".mouseView-descriptionContainer");
  if (values && desc) {
    desc.insertBefore(values, desc.firstChild);
  }
};
updateItemView = () => __async(void 0, null, function* () {
  const itemView = document.querySelector(".itemViewContainer");
  if (!itemView) {
    return;
  }
  const itemId = itemView.getAttribute("data-item-id");
  if (!itemId) {
    return;
  }
  const sidebar = document.querySelector(".itemView-sidebar");
  if (sidebar) {
    const crafting = document.querySelector(".itemView-action.crafting_item");
    if (crafting) {
      sidebar.append(crafting);
    }
  }
  addLinks(itemId);
  const id = Number.parseInt(itemId, 10);
  const ignored = [
    2473,
    // mina's gift
    823,
    // party charm
    803,
    // chrome charm
    420,
    // king's credits
    1980,
    // king's keys
    585
    // scrambles
  ];
  if (ignored.includes(id)) {
    return;
  }
  let mhctjson = yield getArForMouse(itemId, "item");
  if (!mhctjson || mhctjson === void 0) {
    return;
  }
  itemView.classList.add("mouseview-has-mhct");
  const container = itemView.querySelector(".itemView-padding");
  if (!container) {
    return;
  }
  const arWrapper = makeElement("div", "ar-wrapper");
  const title = makeElement("div", "ar-header");
  const titleText = makeElement("div", "ar-title", "Drop Rates", title);
  makeTooltip({
    appendTo: titleText,
    text: 'The best location and bait, according to data gathered by <a href="https://mhct.win/" target="_blank">MHCT</a>.'
  });
  const link = makeElement("a", "ar-link", "View on MHCT \u2192");
  link.href = `https://www.mhct.win/loot.php?item=${itemId}`;
  link.target = "_mhct";
  title.append(link);
  arWrapper.append(title);
  const itemsArWrapper = makeElement("div", "item-ar-wrapper");
  const hasStages = mhctjson.some((itemAr) => itemAr.stage);
  if (hasStages) {
    itemsArWrapper.classList.add("has-stages");
  }
  mhctjson = mhctjson.filter((itemAr) => Number.parseInt(itemAr.drop_pct, 10) > 0).slice(0, 15);
  mhctjson.forEach((itemAr) => {
    const dropPercent = Number.parseInt(itemAr.drop_pct, 10).toFixed(2);
    if (dropPercent !== "0.00") {
      const itemArWrapper = makeElement("div", "mouse-ar-wrapper");
      makeElement("div", "location", itemAr.location, itemArWrapper);
      if (hasStages) {
        makeElement("div", "stage", itemAr.stage, itemArWrapper);
      }
      makeElement("div", "cheese", itemAr.cheese, itemArWrapper);
      makeElement("div", "rate", `${dropPercent}%`, itemArWrapper);
      itemsArWrapper.append(itemArWrapper);
    }
  });
  if (mhctjson.length > 0) {
    arWrapper.append(itemsArWrapper);
    container.append(arWrapper);
  }
});
init7 = () => __async(void 0, null, function* () {
  addStyles(styles_default8, "better-item-view");
  onOverlayChange({ item: { show: updateItemView } });
  onPageChange({ item: { show: updateItemView } });
});
better_item_view_default = {
  id: "better-item-view",
  name: "Better Item View",
  type: "better",
  default: true,
  description: "Updates the styles and shows drop rates, links to MHCT, and MH Wiki.",
  load: init7
};
}
});

// src/modules/better-maps/modules/helper.js
var openMiniMap, makeMenuItem, helper_default;
var init_helper = __esm({
"src/modules/better-maps/modules/helper.js"() {
init_utils2();
openMiniMap = (mapId) => __async(void 0, null, function* () {
  const mapData2 = yield doRequest("managers/ajax/users/treasuremap.php", {
    action: "map_info",
    map_id: mapId
  });
  const t = mapData2.treasure_map;
  const mappedGoals = t.goals.mouse.map((m) => {
    return `<div class="mouse">
<div class="unique_id">${m.unique_id}</div>
<div class="model_type">${m.model_type}</div>
<div class="type">${m.type}</div>
<div class="name">${m.name}</div>
<div class="small">${m.small}</div>
<div class="large">${m.large}</div>
<div class="group">${m.group}</div>
<div class="sub_group">${m.sub_group}</div>
<div class="is_landscape">${m.is_landscape}</div>
<div class="environment_ids">${m.environment_ids.join(", ")}</div>
</div>`;
  }).join("");
  const mappedHunters = t.hunters.map((h) => {
    return `<div class="hunter">
  <div class="name">${h.name}</div>
  <div class="user_id">${h.user_id}</div>
  <div class="sn_user_id">${h.sn_user_id}</div>
  <div class="profile_pic">${h.profile_pic}</div>
  <div class="environment_name">${h.environment_name}</div>
  <div class="environment_id">${h.environment_id}</div>
  <div class="environment_icon">${h.environment_icon}</div>
  <div class="is_online">${h.is_online}</div>
  <div class="last_active_formatted">${h.last_active_formatted}</div>
  <div class="base_name">${h.base_name}</div>
  <div class="base_thumb">${h.base_thumb}</div>
  <div class="weapon_name">${h.weapon_name}</div>
  <div class="weapon_thumb">${h.weapon_thumb}</div>
  <div class="bait_name">${h.bait_name}</div>
  <div class="bait_thumb">${h.bait_thumb}</div>
  <div class="trinket_name">${h.trinket_name}</div>
  <div class="trinket_thumb">${h.trinket_thumb}</div>
  <div class="is_active">${h.is_active}</div>
  <div class="display_order">${h.display_order}</div>
  <div class="captain">${h.captain}</div>
  <div class="upgrader">${h.upgrader}</div>
  </div>`;
  }).join("");
  const mappedEnvironments = t.environments.map((e) => {
    return `<div class="environment">
${e.name} (${e.type})
<div class="thumb">${e.thumb}</div>
<div class="header">${e.header}</div>
</div>`;
  }).join("");
  createPopup({
    title: "map",
    content: `<div class="mh-improved-map-helper-popup-content">
<div class="row">
<div class="title">
  map_id
</div>
<div class="value">
  ${t.map_id}
</div>
</div>
<div class="row">
<div class="title">
  map_class
</div>
<div class="value">
  ${t.map_class}
</div>
</div>
<div class="row">
<div class="title">
  map_type
</div>
<div class="value">
  ${t.map_type}
</div>
</div>
<div class="row">
<div class="title">
  invite_mode
</div>
<div class="value">
  ${t.invite_mode} (${t.invite_mode_names[t.invite_mode]} - ${t.invite_mode_descriptions[t.invite_mode]})
</div>
</div>
<div class="row">
<div class="title">
  is_listed
</div>
<div class="value">
  ${t.is_listed}
</div>
</div>
<div class="row">
<div class="title">
  name
</div>
<div class="value">
  ${t.name}
</div>
</div>
<div class="row">
<div class="title">
  thumb
</div>
<div class="value">
  ${t.thumb}
</div>
</div>
<div class="row">
<div class="title">
  quality
</div>
<div class="value">
  ${t.quality}
</div>
</div>
<div class="row">
<div class="title">
  is_upgraded
</div>
<div class="value">
  ${t.is_upgraded}
</div>
</div>
<div class="row">
<div class="title">
  is_complete
</div>
<div class="value">
  ${t.is_complete}
</div>
</div>
<div class="row">
<div class="title">
  is_owner
</div>
<div class="value">
  ${t.is_owner}
</div>
</div>
<div class="row">
<div class="title">
  num_active_hunters
</div>
<div class="value">
  ${t.num_active_hunters}
</div>
</div>
<div class="row">
<div class="title">
  viewing_user_is_on_map
</div>
<div class="value">
  ${t.viewing_user_is_on_map}
</div>
</div>
<div class="row">
<div class="title">
  min_title_name
</div>
<div class="value">
  ${t.min_title_name}
</div>
</div>
<div class="row">
<div class="title">
  min_title_wisdom
</div>
<div class="value">
  ${t.min_title_wisdom}
</div>
</div>
<div class="row">
<div class="title">
  max_hunters
</div>
<div class="value">
  ${t.max_hunters}
</div>
</div>
<div class="row">
<div class="title">
  invited_hunters
</div>
<div class="value">
  ${t.invited_hunters.join(", ")}
</div>
</div>
<div class="row">
<div class="title">
  invite_requests
</div>
<div class="value">
  ${t.invite_requests.join(", ")}
</div>
</div>
<div class="row">
<div class="title">
  goals.mouse
</div>
<div class="value">
  ${mappedGoals}
</div>
</div>
<div class="row">
<div class="title">
  hunters
</div>
<div class="value">
  ${mappedHunters}
</div>
</div>
<div class="row">
<div class="title">
  environments
</div>
<div class="value">
  ${mappedEnvironments}
</div>
</div>
</div>`,
    className: "mh-improved-map-helper-popup",
    show: true
  });
});
makeMenuItem = () => {
  var _a, _b, _c, _d, _e, _f, _g, _h;
  removeSubmenuItem("mh-improved-map-helper");
  const mapId = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRelicHunter) == null ? void 0 : _b.default_map_id;
  if (!mapId) {
    return;
  }
  addSubmenuItem({
    id: "mh-improved-map-helper",
    menu: "camp",
    label: `<span class="title">${(_d = (_c = user == null ? void 0 : user.quests) == null ? void 0 : _c.QuestRelicHunter) == null ? void 0 : _d.label}</span><span class="subtitle">${(_f = (_e = user == null ? void 0 : user.quests) == null ? void 0 : _e.QuestRelicHunter) == null ? void 0 : _f.value}</span>`,
    icon: ((_h = (_g = user == null ? void 0 : user.quests) == null ? void 0 : _g.QuestRelicHunter) == null ? void 0 : _h.image) || "https://www.mousehuntgame.com/images/items/convertibles/large/bfca4a1c658e49903654d0a84f52c9fd.png",
    callback: () => {
      openMiniMap(mapId);
    }
  });
};
helper_default = () => {
  makeMenuItem();
  onRequest("*", makeMenuItem);
};
}
});

// src/modules/better-maps/modules/toggle-ar.js
var addArDataToMap, toggleAr, clickArToggle, maybeClickArToggle, isAdding, addArToggle, removeArToggle;
var init_toggle_ar = __esm({
"src/modules/better-maps/modules/toggle-ar.js"() {
init_utils2();
addArDataToMap = (mapData2) => __async(void 0, null, function* () {
  var _a, _b;
  let type = "mouse";
  if (((_a = mapData2 == null ? void 0 : mapData2.goals) == null ? void 0 : _a.mouse.length) === 0) {
    type = "item";
  }
  const mice = ((_b = mapData2 == null ? void 0 : mapData2.goals) == null ? void 0 : _b[type]) || [];
  if (!mice || mice.length === 0) {
    return;
  }
  const goals2 = document.querySelectorAll(".treasureMapView-goals-groups");
  if (goals2 && goals2.length > 0) {
    let hasAdded = false;
    goals2.forEach((goal) => {
      if (goal.classList.contains("mh-ui-ar-hidden")) {
        goal.classList.remove("mh-ui-ar-hidden");
        hasAdded = true;
      }
    });
    if (hasAdded) {
      return;
    }
  }
  mice.forEach((mouse) => __async(void 0, null, function* () {
    const mouseEl = document.querySelector(`.treasureMapView-goals-group-goal[data-unique-id="${mouse.unique_id}"]`);
    if (!mouseEl) {
      return;
    }
    if (mouseEl.classList.contains("complete")) {
      return;
    }
    const name = mouseEl.querySelector(".treasureMapView-goals-group-goal-name");
    if (!name) {
      return;
    }
    const existingArEl = name.querySelectorAll(".mh-ui-ar");
    if (existingArEl.length > 0) {
      existingArEl.forEach((el) => {
        el.remove();
      });
    }
    const arEl = yield getArEl(mouse.unique_id, type);
    if (!arEl) {
      return;
    }
    name.append(arEl);
    mouseEl.setAttribute("data-mh-ui-ar", true);
  }));
});
toggleAr = () => __async(void 0, null, function* () {
  const mapView = document.querySelector(".treasureMapView");
  if (!mapView) {
    return;
  }
  const toggle = mapView.querySelector(".mh-ui-toggle-ar-button");
  if (!toggle) {
    return;
  }
  toggle.classList.add("disabled");
  const text = toggle.querySelector(".toggle-ar-text");
  if (!text) {
    return;
  }
  let arText = "AR";
  let arTitle = "Attraction Rates";
  const mapClass = mapView.classList.toString();
  if (mapClass.includes("scavenger")) {
    arText = "DR";
    arTitle = "Drop Rates";
  }
  const showing = mapView.classList.contains("mh-ui-ar-showing");
  if (showing) {
    mapView.classList.remove("mh-ui-ar-showing");
    mapView.classList.add("mh-ui-ar-hidden");
    text.innerText = `Show ${arText}`;
    toggle.title = `Show ${arTitle}`;
  } else {
    mapView.classList.add("mh-ui-ar-showing");
    mapView.classList.remove("mh-ui-ar-hidden");
    text.innerText = "\xB7\xB7\xB7";
    yield addArDataToMap(mapper("mapData"));
    text.innerText = `Hide ${arText}`;
    toggle.title = `Hide ${arTitle}`;
  }
  toggle.classList.remove("disabled");
});
clickArToggle = () => {
  const mapView = document.querySelector(".treasureMapView");
  if (!mapView) {
    return;
  }
  const toggle = mapView.querySelector(".mh-ui-toggle-ar-button");
  if (!toggle) {
    return;
  }
  toggle.click();
};
maybeClickArToggle = () => {
  const mapView = document.querySelector(".treasureMapView");
  if (!mapView) {
    return;
  }
  const toggle = mapView.querySelector(".mh-ui-toggle-ar-button");
  if (!toggle) {
    return;
  }
  const showing = mapView.classList.contains("mh-ui-ar-showing");
  const currentButtonState = toggle.querySelector(".toggle-ar-text").innerText.replace("AR", "").replace("DR", "").trim();
  if (showing && currentButtonState !== "Hide") {
    clickArToggle();
  } else if (!showing && currentButtonState !== "Show") {
    clickArToggle();
  }
};
isAdding = false;
addArToggle = (tab = "goals") => __async(void 0, null, function* () {
  const mapView = document.querySelector(".treasureMapView");
  if (!mapView) {
    return;
  }
  if (isAdding && tab === isAdding) {
    return;
  }
  isAdding = tab;
  const exists = document.querySelector(".mh-ui-toggle-ar-button");
  if (exists) {
    exists.classList.remove("hidden");
    if ("goals" === tab && mapView.classList.contains("mh-ui-ar-showing")) {
      addArDataToMap(mapper("mapData"));
    }
    isAdding = false;
    return;
  }
  const wrapper = document.querySelector(".treasureMapRootView-subTabRow");
  if (!wrapper) {
    isAdding = false;
    return;
  }
  const toggle = makeElement("button", ["mousehuntActionButton", "tiny", "mh-ui-toggle-ar-button"]);
  let arText = "AR";
  let arTitle = "Attraction Rates";
  if (mapper("mapData").is_scavenger_hunt) {
    arText = "DR";
    arTitle = "Drop Rates";
  }
  makeElement("span", "toggle-ar-text", `Show ${arText}`, toggle);
  toggle.title = `Show ${arTitle}`;
  toggle.addEventListener("click", toggleAr);
  wrapper.append(toggle);
  yield toggleAr();
  maybeClickArToggle();
  isAdding = false;
});
removeArToggle = () => {
  const toggle = document.querySelector(".mh-ui-toggle-ar-button");
  if (toggle) {
    toggle.classList.add("hidden");
  }
};
}
});

// src/modules/better-maps/modules/highlighting.js
var areaHighlightingVrift, areaHighlightingFrox, areaHighlightingFloatingIslands, getProfilePic, addProfilePicToCurrentFloor, highlighting_default;
var init_highlighting = __esm({
"src/modules/better-maps/modules/highlighting.js"() {
init_utils2();
areaHighlightingVrift = () => {
  if ("rift_valour" !== getCurrentLocation()) {
    return false;
  }
  let currentFloorState = (user.quests.QuestRiftValour.floor || 0) % 8;
  if (user.quests.QuestRiftValour.is_at_eclipse) {
    currentFloorState = "eclipse";
    if (user.enviroment_atts.active_augmentations.tu) {
      currentFloorState = "eclipse-uu";
    }
  } else if ("farming" === user.quests.QuestRiftValour.state) {
    currentFloorState = "outside";
  }
  const floorCategory = document.querySelector(`.mouse-category-wrapper.mouse-category-vrift-${currentFloorState}`);
  if (!floorCategory) {
    return false;
  }
  floorCategory.classList.add("mouse-category-current-floor");
  return true;
};
areaHighlightingFrox = () => {
  if ("fort_rox" !== getCurrentLocation()) {
    return false;
  }
  let mapArea = "day";
  if (user.quests.QuestFortRox) {
    const phase = user.quests.QuestFortRox.current_phase || "day";
    if ("day" === phase) {
      mapArea = "day";
    } else if ("dawn" === phase) {
      mapArea = "dawn";
    } else if ("night" === phase) {
      mapArea = "night";
    }
  }
  const floorCategory = document.querySelector(`.mouse-category-wrapper.mouse-category-${mapArea}`);
  if (!floorCategory) {
    return false;
  }
  floorCategory.classList.add("mouse-category-current-floor");
  return true;
};
areaHighlightingFloatingIslands = () => {
  var _a, _b;
  if ("floating_islands" !== getCurrentLocation()) {
    return false;
  }
  const fiAtts = ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.hunting_site_atts) || {};
  let islandType = "";
  if (fiAtts.is_high_tier_island) {
    islandType = "hai";
  } else if (fiAtts.is_low_tier_island) {
    islandType = "lai";
  } else if (fiAtts.is_vault_island) {
    islandType = "sp";
  }
  const powerTypeMappings = {
    arcn: "arcane",
    frgttn: "forgotten",
    hdr: "hydro",
    shdw: "shadow",
    drcnc: "draconic",
    law: "law",
    phscl: "physical",
    tctcl: "tactical"
  };
  const islandPowerType = powerTypeMappings[fiAtts.island_power_type] || "";
  const floorCategory = document.querySelector(`.mouse-category-wrapper.mouse-category-esp-${islandPowerType}`);
  if (!floorCategory) {
    return false;
  }
  floorCategory.classList.add("mouse-category-current-floor");
  const floorSubCategory = document.querySelector(`.mouse-category-wrapper.mouse-category-esp-${islandPowerType} .mouse-subcategory-${islandType}`);
  if (floorSubCategory) {
    floorSubCategory.classList.add("mouse-subcategory-current-floor");
  }
  return true;
};
getProfilePic = () => __async(void 0, null, function* () {
  var _a, _b;
  const userData = yield doRequest("managers/ajax/pages/friends.php", {
    action: "get_friends_by_snuids",
    "snuids[]": user.sn_user_id
  });
  return ((_b = (_a = userData == null ? void 0 : userData.friends) == null ? void 0 : _a[0]) == null ? void 0 : _b.profile_pic) || "https://www.mousehuntgame.com//images/ui/friends/anonymous_user.png";
});
addProfilePicToCurrentFloor = () => __async(void 0, null, function* () {
  const existing = document.querySelector("#mh-mapper-current-floor-profile-pic");
  if (existing) {
    return;
  }
  const profPic = yield getProfilePic();
  const styleElement = document.createElement("style");
  styleElement.id = "mh-mapper-current-floor-profile-pic";
  styleElement.innerHTML = `.mouse-category-wrapper.mouse-category-current-floor .mouse-category-header::after,
.mouse-subcategory-wrapper.mouse-subcategory-current-floor .mouse-subcategory-header::after {
background-image: url(${profPic});
}`;
  document.body.append(styleElement);
});
highlighting_default = () => {
  const data = mapData();
  if (!data) {
    return;
  }
  const mapType = data.map_type;
  const existing = document.querySelector(".mouse-category-current-floor");
  if (existing) {
    existing.classList.remove("mouse-category-current-floor");
  }
  let added = false;
  switch (mapType) {
    case "sky_palace":
      added = areaHighlightingFloatingIslands();
      break;
    case "fort_rox":
      added = areaHighlightingFrox();
      break;
    case "valour_rift":
      added = areaHighlightingVrift();
      break;
    default:
      break;
  }
  if (added) {
    addProfilePicToCurrentFloor();
  }
};
}
});

// src/data/map-groups.json
var map_groups_default;
var init_map_groups = __esm({
"src/data/map-groups.json"() {
map_groups_default = {
  sky_palace: {
    categories: [
      {
        name: "Arcane",
        id: "esp-arcane",
        icon: "/powertypes/arcane.png",
        color: "#b4ffff",
        mice: [
          "sky_dancer",
          "sky_glass_glazier",
          "sky_glass_sorcerer",
          {
            mouse: "arcane_paragon",
            subcategory: "hai"
          },
          {
            mouse: "sky_highborne",
            subcategory: "hai"
          },
          {
            mouse: "empyrean_arcane_mouse",
            subcategory: "sp"
          }
        ]
      },
      {
        name: "Draconic",
        id: "esp-draconic",
        icon: "/powertypes/draconic.png",
        color: "#cf9e64",
        mice: [
          "dragon_breather",
          "dragon_lancer",
          "tiny_dragonfly",
          {
            mouse: "draconic_paragon",
            subcategory: "hai"
          },
          {
            mouse: "regal_spearman",
            subcategory: "hai"
          },
          {
            mouse: "empyrean_draconic_mouse",
            subcategory: "sp"
          }
        ]
      },
      {
        name: "Forgotten",
        id: "esp-forgotten",
        icon: "/powertypes/forgotten.png",
        color: "#c37aa1",
        mice: [
          "cumulost",
          "spry_sky_explorer",
          "spry_sky_seer",
          {
            mouse: "forgotten_paragon",
            subcategory: "hai"
          },
          {
            mouse: "spheric_diviner",
            subcategory: "hai"
          },
          {
            mouse: "empyrean_forgotten_mouse",
            subcategory: "sp"
          }
        ]
      },
      {
        name: "Hydro",
        id: "esp-hydro",
        icon: "/powertypes/hydro.png",
        color: "#a0dcff",
        mice: [
          "cute_cloud_conjurer",
          "nimbomancer",
          "sky_surfer",
          {
            mouse: "hydro_paragon",
            subcategory: "hai"
          },
          {
            mouse: "mist_maker",
            subcategory: "hai"
          },
          {
            mouse: "empyrean_hydro_mouse",
            subcategory: "sp"
          }
        ]
      },
      {
        name: "Law",
        id: "esp-law",
        icon: "/powertypes/law.png",
        color: "#efcf86",
        mice: [
          "devious_gentleman",
          "lawbender",
          "stack_of_thieves",
          {
            mouse: "law_paragon",
            subcategory: "hai"
          },
          {
            mouse: "agent_m",
            subcategory: "hai"
          },
          {
            mouse: "empyrean_law_mouse",
            subcategory: "sp"
          }
        ]
      },
      {
        name: "Physical",
        id: "esp-physical",
        icon: "/powertypes/physical.png",
        color: "#d98181",
        mice: [
          "ground_gavaleer",
          "heracles",
          "sky_swordsman",
          {
            mouse: "physical_paragon",
            subcategory: "hai"
          },
          {
            mouse: "sky_squire",
            subcategory: "hai"
          },
          {
            mouse: "empyrean_physical_mouse",
            subcategory: "sp"
          }
        ]
      },
      {
        name: "Shadow",
        id: "esp-shadow",
        icon: "/powertypes/shadow.png",
        color: "#a4c0c1",
        mice: [
          "astrological_astronomer",
          "overcaster",
          "stratocaster",
          {
            mouse: "shadow_paragon",
            subcategory: "hai"
          },
          {
            mouse: "shadow_sage",
            subcategory: "hai"
          },
          {
            mouse: "empyrean_shadow_mouse",
            subcategory: "sp"
          }
        ]
      },
      {
        name: "Tactical",
        id: "esp-tactical",
        icon: "/powertypes/tactical.png",
        color: "#cc8282",
        mice: [
          "gyrologer",
          "seasoned_islandographer",
          "worried_wayfinder",
          {
            mouse: "tactical_paragon",
            subcategory: "hai"
          },
          {
            mouse: "captain_cloudkicker",
            subcategory: "hai"
          },
          {
            mouse: "empyrean_tactical_mouse",
            subcategory: "sp"
          }
        ]
      },
      {
        name: "Sky Palace",
        id: "esp-sky_palace",
        icon: "/items/stats/large/dd362c178b67d5e45fda7b2da273e7d6.png",
        color: "#a3fec4",
        mice: [
          "empyrean_charm_hoarder",
          "empyrean_oreglass_miner",
          "empyrean_cloudstone_miner",
          "empyrean_treasure_guardian"
        ]
      },
      {
        name: "Pirates",
        id: "esp-pirates",
        icon: "/items/bait/large/1e7bf5043a13043d8f1d05a752d55469.png",
        color: "#f173bf",
        mice: [
          "admiral_cloudbeard",
          "cutthroat_cannoneer",
          "cutthroat_pirate",
          "mairitime_pirate",
          "empyrean_pirate",
          "scarlet_revenger",
          "suave_pirate"
        ]
      },
      {
        name: "Other",
        icon: "/items/stats/large/66b6a6a48a0c83cec5a15a286bd17749.png",
        color: "#",
        mice: [
          "daydreamer",
          "kite_flyer",
          "richard_rich",
          "empyrean_loot_cache_guardian"
        ]
      },
      {
        name: "Wardens",
        id: "esp-wardens",
        icon: "/items/convertibles/large/017121852a8cc100b40bdaeae01485db.png",
        color: "#d3bdd3",
        mice: [
          "fog_warden",
          "frost_warden",
          "rain_warden",
          "wind_warden"
        ]
      },
      {
        name: "Launchpad",
        id: "esp-launchpad",
        icon: "/items/stats/large/66b6a6a48a0c83cec5a15a286bd17749.png",
        color: "#c2c2c2",
        mice: [
          "cloud_miner",
          "launchpad_labourer",
          "sky_greaser",
          "skydiver"
        ]
      }
    ],
    subcategories: [
      {
        id: "hai",
        name: "High Altitude Island"
      },
      {
        id: "sp",
        name: "Sky Palace"
      }
    ]
  },
  farming_and_fishing: {
    categories: [
      {
        name: "Farm",
        id: "fofo-farm",
        icon: "/folklore_forest_upgrades/farm_plot_2_thumb.png",
        color: "#d7b18b",
        mice: [
          "angry_aphid",
          "crazed_cultivator",
          "grit_grifter",
          "mighty_mite",
          "root_rummager",
          "wily_weevil",
          {
            mouse: "crazed_cultivator",
            subcategory: "sb"
          },
          {
            mouse: "land_loafer",
            subcategory: "zero-plants"
          },
          {
            mouse: "loathsome_locust",
            subcategory: "three-papyrus"
          }
        ]
      },
      {
        name: "Prologue Pond",
        id: "fofo-pond",
        icon: "/folklore_forest_upgrades/tackle_box_thumb.png",
        color: "#c3def5",
        mice: [
          "beachcomber",
          "sand_sifter",
          "tackle_tracker",
          {
            mouse: "covetous_coastguard",
            subcategory: "sb"
          }
        ]
      },
      {
        name: "Prologue Pond",
        subtitle: "Grubben",
        icon: "/items/bait/large/90d54a45bde5a369b22d53ee5362e701.png",
        color: "#fbc3fa",
        mice: [
          "pompous_perch",
          "careless_catfish",
          "melodramatic_minnow"
        ]
      },
      {
        name: "Prologue Pond",
        subtitle: "Clamebert",
        icon: "/items/bait/large/bdef6fb2ed84af400a941e2fd1b0ec03.png",
        color: "#f3e0ff",
        mice: [
          "nefarious_nautilus",
          "vicious_vampire_squid",
          "sinister_squid"
        ]
      },
      {
        name: "Bosses",
        id: "fofo-bosses",
        icon: "/items/stats/large/262ee00dd81b7fbdf7a5a88b347e7847.png",
        color: "#fde671",
        mice: [
          "monstrous_midge",
          "architeuthulhu_of_the_abyss"
        ]
      }
    ],
    subcategories: [
      {
        id: "sb",
        name: "SUPER|brie+"
      },
      {
        id: "zero-plants",
        name: "Zero Plants"
      },
      {
        id: "three-papyrus",
        name: "Three Papyrus Plants"
      }
    ]
  },
  folklore_forest_prelude: {
    categories: [
      {
        name: "Farm",
        id: "fofo-farm",
        icon: "/folklore_forest_upgrades/farm_plot_2_thumb.png",
        color: "#d7b18b",
        mice: [
          "angry_aphid",
          "grit_grifter",
          "crazed_cultivator",
          "mighty_mite",
          "wily_weevil",
          {
            mouse: "crazed_cultivator",
            subcategory: "sb"
          },
          {
            mouse: "land_loafer",
            subcategory: "zero-plants"
          },
          {
            mouse: "loathsome_locust",
            subcategory: "three-papyrus"
          }
        ]
      },
      {
        name: "Prologue Pond",
        id: "fofo-pond",
        icon: "/folklore_forest_upgrades/tackle_box_thumb.png",
        color: "#c3def5",
        mice: [
          "beachcomber",
          "sand_sifter",
          "tackle_tracker",
          {
            mouse: "covetous_coastguard",
            subcategory: "sb"
          }
        ]
      },
      {
        name: "Prologue Pond",
        subtitle: "Grubben",
        icon: "/items/bait/large/90d54a45bde5a369b22d53ee5362e701.png",
        color: "#fbc3fa",
        mice: [
          "pompous_perch",
          "careless_catfish",
          "melodramatic_minnow"
        ]
      },
      {
        name: "Prologue Pond",
        subtitle: "Clamebert",
        icon: "/items/bait/large/bdef6fb2ed84af400a941e2fd1b0ec03.png",
        color: "#f3e0ff",
        mice: [
          "nefarious_nautilus",
          "vicious_vampire_squid",
          "sinister_squid"
        ]
      },
      {
        name: "Table of Contents",
        subtitle: "Not Writing",
        id: "fofo-toc-not-writing",
        icon: "/folklore_forest_upgrades/silver_quill_thumb.png",
        mice: [
          "brothers_grimmaus",
          "hans_cheesetian_squeakersen",
          "madame_dormouse",
          {
            mouse: "matriarch_gander",
            subcategory: "sb"
          }
        ]
      },
      {
        name: "Table of Contents",
        subtitle: "Writing",
        id: "fofo-toc-writing",
        icon: "/folklore_forest_upgrades/golden_quill_thumb.png",
        color: "#e9c390",
        mice: [
          "humphrey_dumphrey",
          "little_bo_squeak",
          "little_miss_fluffet"
        ]
      },
      {
        name: "Table of Contents",
        subtitle: "Writing - First Draft",
        id: "fofo-toc-first-draft",
        icon: "/items/bait/large/9782ba50ed4c64f8f8412563cf2ce709.png",
        mice: [
          "fibbocchio",
          "pinkielina",
          "princess_and_the_olive"
        ]
      },
      {
        name: "Table of Contents",
        subtitle: "Writing - Second Draft",
        id: "fofo-toc-second-draft",
        icon: "/items/bait/large/e0cb22771eba37bf047a801edbf7f91e.png",
        mice: [
          "flamboyant_flautist",
          "greenbeard",
          "ice_regent"
        ]
      },
      {
        name: "Bosses",
        id: "fofo-bosses",
        icon: "/items/stats/large/262ee00dd81b7fbdf7a5a88b347e7847.png",
        color: "#fde671",
        mice: [
          "bitter_grammarian",
          "mythweaver",
          "monstrous_midge",
          "architeuthulhu_of_the_abyss"
        ]
      }
    ],
    subcategories: [
      {
        id: "sb",
        name: "SUPER|brie+"
      },
      {
        id: "zero-plants",
        name: "Zero Plants"
      },
      {
        id: "three-papyrus",
        name: "Three Papyrus Plants"
      }
    ]
  },
  valour_rift: {
    categories: [
      {
        name: "Puppetry",
        subtitle: "Floors 1, 9, 17, 25",
        id: "vrift-1",
        color: "#EAF2D3",
        mice: [
          "rift_gaunt_puppet",
          "rift_gaunt_puppet_champ"
        ]
      },
      {
        name: "Thievery",
        subtitle: "Floors 2, 10, 18, 26",
        id: "vrift-2",
        color: "#acf28d",
        mice: [
          "rift_gaunt_thief",
          "rift_gaunt_thief_champ"
        ]
      },
      {
        name: "Melee",
        subtitle: "Floors 3, 11, 19, 27",
        id: "vrift-3",
        color: "#FCE5CD",
        mice: [
          "rift_gaunt_melee",
          "rift_gaunt_melee_champ"
        ]
      },
      {
        name: "Bard",
        subtitle: "Floors 4, 12, 20, 28",
        id: "vrift-4",
        color: "#F6B26B",
        mice: [
          "rift_gaunt_bard",
          "rift_gaunt_bard_champ"
        ]
      },
      {
        name: "Magic",
        subtitle: "Floors 5, 13, 21, 29",
        id: "vrift-5",
        color: "#F9CB9C",
        mice: [
          "rift_gaunt_magic",
          "rift_gaunt_magic_champ"
        ]
      },
      {
        name: "Noble",
        subtitle: "Floors 6, 14, 22, 30",
        id: "vrift-6",
        color: "#F4CCCC",
        mice: [
          "rift_gaunt_noble",
          "rift_gaunt_noble_champ"
        ]
      },
      {
        name: "Dusty",
        subtitle: "Floors 7, 15, 23, 31",
        id: "vrift-7",
        color: "#E06666",
        mice: [
          "rift_gaunt_dust",
          "rift_gaunt_dust_champ"
        ]
      },
      {
        name: "Non-UU",
        id: "vrift-eclipse",
        color: "#EA9999",
        mice: [
          "rift_gaunt_eclipse"
        ]
      },
      {
        name: "Ultimate Umbra",
        id: "vrift-eclipse-uu",
        color: "#ff8181",
        mice: [
          "rift_gaunt_monster",
          "rift_gaunt_final_eclipse"
        ]
      },
      {
        name: "Other",
        id: "vrift-other",
        color: "#B6D7A8",
        mice: [
          "rift_gaunt_generic_one",
          "rift_gaunt_generic_three",
          "rift_gaunt_generic_two",
          "rift_gaunt_prestige_low",
          "rift_gaunt_prestige_med",
          "rift_gaunt_prestige_high",
          "rift_gaunt_rare"
        ]
      },
      {
        name: "Outside",
        id: "vrift-outside",
        icon: "",
        color: "#d0def7",
        mice: [
          "rift_gaunt_elixir_one",
          "rift_gaunt_elixir_two"
        ]
      }
    ],
    subcategories: []
  },
  rift_stalkers: {
    categories: [
      {
        name: "Gnawnia Rift",
        color: "#f7e8f9",
        mice: [
          "rift_white",
          "rift_dwarf",
          "rift_diamond",
          "rift_gold"
        ]
      },
      {
        name: "Furoma Rift",
        subtitle: "Training Grounds",
        color: "#e5a571",
        mice: [
          "rift_samurai",
          "rift_kung_fu",
          "rift_worker",
          "rift_ninja",
          "rift_dumpling_chef",
          "rift_archer"
        ]
      },
      {
        name: "Furoma Rift",
        subtitle: "Pagoda",
        color: "#cb7136",
        mice: [
          "rift_assassin",
          "rift_monk",
          "rift_fang_student",
          "rift_belt_student",
          "rift_claw_student",
          "rift_dojo_sensei",
          "rift_fang_master",
          "rift_claw_master",
          "rift_belt_master",
          "rift_dojo_master"
        ]
      },
      {
        name: "Bristle Woods Rift",
        mice: [
          "rift_acolyte",
          "rift_chrono",
          "rift_gargoyle",
          "rift_golem",
          "rift_gorgon",
          "rift_keeper",
          "rift_keepers_assistant",
          "rift_lich",
          "rift_ooze",
          "rift_reaper",
          "rift_scavenger",
          "rift_skeleton",
          "rift_sorcerer",
          "rift_spectre",
          "rift_spider",
          "rift_terror_knight",
          "rift_wight"
        ]
      }
    ]
  },
  rift_walkers: {
    categories: [
      {
        name: "Gnawnia Rift",
        color: "#f7e8f9",
        mice: [
          "rift_field",
          "rift_bionic",
          "rift_granite",
          "rift_steel",
          "rift_white",
          "rift_grey",
          "rift_brown",
          "rift_lightning",
          "rift_dwarf",
          "rift_tiny",
          "rift_cowardly",
          "rift_spotted",
          "rift_flying",
          "rift_mole",
          "rift_diamond",
          "rift_gold"
        ]
      }
    ]
  },
  queso_canyon_grand_tour: {
    categories: [
      {
        name: "KSS",
        id: "kss",
        color: "#96b9dc",
        icon: "/powertypes/draconic.png",
        mice: [
          "geyser_eruption_dragon_wildfire",
          "geyser_eruption_dragon_epic"
        ]
      },
      {
        name: "Cinder-Brut",
        id: "cinder-brut",
        color: "#7fff66",
        icon: "/powertypes/draconic.png",
        mice: [
          "geyser_eruption_dragon_large",
          "geyser_eruption_dragon_flaming"
        ]
      },
      {
        name: "BE Trio",
        id: "be-trio",
        color: "#ffb1b1",
        icon: "/powertypes/draconic.png",
        mice: [
          "geyser_eruption_dragon_hot",
          "geyser_eruption_dragon_medium",
          "geyser_eruption_dragon_medium_spice"
        ]
      },
      {
        name: "Sizzle Mild",
        id: "sizzle-mild",
        color: "#ffc816",
        icon: "/powertypes/draconic.png",
        mice: [
          "geyser_eruption_dragon_small",
          "geyser_eruption_dragon_mild"
        ]
      },
      {
        name: "Pressure Set",
        id: "pressure-set",
        color: "#dcb8ff",
        icon: "/items/stats/transparent_thumb/209ca347c42ff56071ddd50f087a5bb8.png?cv=2",
        mice: [
          "geyser_pressure_builder_hot",
          "geyser_pressure_builder_medium",
          "geyser_pressure_builder_mild",
          "geyser_pressure_builder_flaming"
        ]
      },
      {
        name: "Corky & Friends",
        id: "corky-friends",
        color: "#f4c47e",
        icon: "/items/crafting_items/transparent_thumb/17907f705fe8e7fa8f7b94f058e11ae5.png?cv=2",
        mice: [
          "geyser_cork_dropper_bland",
          "geyser_cork_dropper_medium",
          "geyser_cork_dropper_mild",
          "geyser_cork_dropper_hot",
          "geyser_cork_dropper_rare",
          "geyser_cork_dropper_flaming"
        ]
      },
      {
        name: "Queso River",
        id: "queso-river",
        color: "#89e8a9",
        icon: "/powertypes/law.png",
        mice: [
          "croquet_crusher",
          "pump_raider",
          "sleepy_merchant",
          "tiny_saboteur"
        ]
      },
      {
        name: "Prickly Plains",
        id: "prickly-plains",
        color: "#cddb75",
        icon: "/powertypes/arcane.png",
        mice: [
          {
            mouse: "spice_grower",
            subcategory: "mild"
          },
          {
            mouse: "spice_collector",
            subcategory: "bland"
          },
          {
            mouse: "spice_farmer",
            subcategory: "mild"
          },
          {
            mouse: "spice_finder",
            subcategory: "medium"
          },
          {
            mouse: "spice_raider",
            subcategory: "hot"
          },
          {
            mouse: "spice_reaper",
            subcategory: "hot"
          },
          {
            mouse: "spice_seer",
            subcategory: "bland"
          },
          {
            mouse: "spice_sovereign",
            subcategory: "medium"
          }
        ]
      },
      {
        name: "Cantera Quarry",
        id: "cantera-quarry",
        color: "#e9b2db",
        icon: "/powertypes/shadow.png",
        mice: [
          {
            mouse: "chip_chiseler",
            subcategory: "bland"
          },
          {
            mouse: "fiery_crusher",
            subcategory: "hot"
          },
          {
            mouse: "grampa_golem",
            subcategory: "hot"
          },
          {
            mouse: "nachore_golem",
            subcategory: "medium"
          },
          {
            mouse: "ore_chipper",
            subcategory: "mild"
          },
          {
            mouse: "rubble_rouser",
            subcategory: "medium"
          },
          {
            mouse: "rubble_rummager",
            subcategory: "mild"
          },
          {
            mouse: "tiny_toppler",
            subcategory: "bland"
          }
        ]
      }
    ],
    subcategories: [
      {
        id: "bland",
        name: "Bland Queso"
      },
      {
        id: "medium",
        name: "Medium Queso"
      },
      {
        id: "mild",
        name: "Mild Queso"
      },
      {
        id: "hot",
        name: "Hot Queso"
      }
    ]
  },
  fort_rox: {
    categories: [
      {
        name: "Night",
        id: "night",
        color: "#d0d0d0",
        icon: "",
        mice: [
          "were_alpha",
          "moonstone_slinger",
          "mischievous_wereminer",
          "wealthy_werewarrior"
        ]
      },
      {
        name: "First Light / Utter Darkness",
        id: "first-light-utter-darkness",
        color: "#dc8ec7",
        icon: "/powertypes/arcane.png",
        mice: [
          "arcane_summoner",
          "cursed_taskmaster",
          "moonstone_golem",
          "moonstone_mystic",
          "night_watcher",
          "nightfire_wallbreak"
        ]
      },
      {
        name: "Twilight, Midnight, Pitch",
        id: "twilight-midnight-pitch",
        color: "#84c3ff",
        icon: "/powertypes/shadow.png",
        mice: [
          "good_supply_night",
          "nightmancer",
          "reveling_lycanthrope",
          "werehauler",
          "wereminer"
        ]
      },
      {
        name: "Dawn",
        id: "dawn",
        color: "#f9d65a",
        icon: "/powertypes/arcane.png",
        mice: [
          "dawn_guardian",
          "monster_of_the_meteor"
        ]
      },
      {
        name: "Day",
        id: "day",
        color: "#ffdb9c",
        icon: "/powertypes/law.png",
        mice: [
          "hardworking_hauler",
          "moonstone_snacker",
          "moonstone_miner",
          "good_supply_day",
          "mischievous_moonstone_miner"
        ]
      }
    ]
  },
  warpath: {
    categories: [
      {
        name: "Wave 1",
        color: "#f1d16f",
        mice: [
          "desert_scout_weak",
          "desert_warrior_weak",
          "desert_archer_weak"
        ]
      },
      {
        name: "Wave 2",
        color: "#ea947b",
        mice: [
          "desert_mage",
          "desert_archer",
          "desert_warrior",
          "desert_scout",
          "desert_cavalry"
        ]
      },
      {
        name: "Wave 3",
        color: "#ff7249",
        mice: [
          "desert_artillery",
          "desert_mage_strong",
          "desert_scout_epic",
          "desert_archer_epic",
          "desert_cavalry_strong",
          "desert_warrior_epic"
        ]
      },
      {
        name: "Wave 4",
        color: "#ffad49",
        mice: [
          "desert_elite_gaurd",
          "desert_boss"
        ]
      },
      {
        name: "Any wave",
        color: "#fffcb2",
        mice: [
          "desert_beast",
          "desert_supply",
          "desert_general"
        ]
      }
    ]
  },
  halloween_treat_2021: {
    categories: [
      {
        name: "Standard",
        id: "standard",
        icon: "/items/bait/large/bb0fe6fa6f55e5ccb1f98dea058409e0.png?cv=2",
        color: "#fefa76",
        mice: [
          "grey_recluse",
          "hween_cobweb",
          "vampira",
          "zombot_unipire",
          "candy_cat",
          "candy_goblin",
          "shortcut",
          "tricky_witch",
          "sweet_tooth"
        ]
      },
      {
        name: "Monterey Jack-O-Lantern",
        id: "monterey-Jack",
        icon: "/items/bait/large/65fd19bf5b16dcaa6b3cfebd2f55348c.png?cv=2",
        color: "#f9a645",
        mice: [
          "sprit_light",
          "gordborg",
          "pumpkin_hoarder",
          "trick",
          "treat",
          "chainsaw",
          "maize_harvester"
        ]
      }
    ]
  },
  halloween_trick_2021: {
    categories: [
      {
        name: "Bonefort",
        id: "bonefort",
        icon: "/items/bait/large/e6ac92f19a6ac930aad02e317cf8e6e8.png?cv=2",
        color: "#bfbfbf",
        mice: [
          "creepy_marionette",
          "dire_lycan",
          "grave_digger",
          "hollowhead",
          "hween_2014_boss",
          "hween_2016_boss",
          "hween_2013_boss",
          "rift_grave_digger"
        ]
      },
      {
        name: "Polter-Geitost",
        id: "polter-geitost",
        icon: "/items/bait/large/04d69ccc7a5b1578cdf90b9651fb2315.png?cv=2",
        color: "#84bde6",
        mice: [
          "hween_2018_boss",
          "hween_2017_boss",
          "rift_ghost_pirate",
          "gourd_ghoul",
          "scorned_pirate",
          "spectral_butler",
          "spectral_swashbuckler"
        ]
      },
      {
        name: "Scream",
        id: "scream",
        icon: "/items/bait/large/fe9d538d1a811bdb787b78aa1526ee50.png?cv=2",
        color: "#86dd6c",
        mice: [
          "hween_2021_boss",
          "hween_2015_boss",
          "hollowed_demon",
          "hollowed_minion",
          "hween_2012_boss"
        ]
      }
    ]
  },
  naughty_f_list: {
    categories: [
      {
        name: "Anywhere",
        id: "anywhere",
        icon: "/items/stats/large/680f6a68612ca9181a90b5719b20ef78.png?cv=2",
        color: "#3f8bae",
        mice: [
          "hoarder",
          {
            mouse: "winter_hunt_toy_strong",
            subcategory: "pp"
          },
          {
            mouse: "stuck_snowball",
            subcategory: "pp"
          },
          {
            mouse: "glazed",
            subcategory: "pp"
          },
          {
            mouse: "joy",
            subcategory: "gpp"
          }
        ]
      },
      {
        name: "Cinnamon Hill",
        id: "cinnamon_hill",
        icon: "/environments/9116f87ec4f9ef3be13a1a833a61aec4.jpg?cv=2",
        color: "#c76e39",
        mice: [
          "candy_cane",
          "nice_knitting",
          "winter_boss_2019",
          "snow_scavenger",
          "toboggan_technician",
          "green_circle_boss",
          {
            mouse: "triple_lutz",
            subcategory: "pp"
          },
          {
            mouse: "black_diamond_racer",
            subcategory: "pp"
          },
          {
            mouse: "double_black_diamond",
            subcategory: "pp"
          },
          {
            mouse: "free_skiing",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2020",
            subcategory: "pp"
          },
          {
            mouse: "nitro_racer",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2021",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2015",
            subcategory: "pp"
          },
          {
            mouse: "snowball_general_one",
            subcategory: "pp"
          },
          {
            mouse: "golem_jockey",
            subcategory: "pp"
          },
          {
            mouse: "snowball_hoarder",
            subcategory: "pp"
          },
          {
            mouse: "sporty_ski_instructor",
            subcategory: "pp"
          },
          {
            mouse: "wreath_thief",
            subcategory: "pp"
          },
          {
            mouse: "new_year_flight",
            subcategory: "pp"
          }
        ]
      },
      {
        name: "Golem Workshop",
        id: "golem_workshop",
        icon: "/environments/bbd5eeca404e57ec2ffb9d9a108361a2.jpg?cv=2",
        color: "#9ab1b4",
        mice: [
          "gingerbread",
          "greedy_al",
          "winter_future",
          "winter_past",
          "winter_present",
          {
            mouse: "scrooge",
            subcategory: "sb"
          },
          {
            mouse: "ribbon",
            subcategory: "pp"
          },
          {
            mouse: "christmas_tree",
            subcategory: "pp"
          },
          {
            mouse: "winter_hunt_toy",
            subcategory: "pp"
          },
          {
            mouse: "elf",
            subcategory: "pp"
          },
          {
            mouse: "mad_elf",
            subcategory: "pp"
          },
          {
            mouse: "nutcracker",
            subcategory: "pp"
          },
          {
            mouse: "ornament",
            subcategory: "pp"
          },
          {
            mouse: "present",
            subcategory: "pp"
          },
          {
            mouse: "ridiculous_sweater",
            subcategory: "pp"
          },
          {
            mouse: "snowman_architect",
            subcategory: "pp"
          },
          {
            mouse: "stocking",
            subcategory: "pp"
          },
          {
            mouse: "toy",
            subcategory: "pp"
          },
          {
            mouse: "toy_builder",
            subcategory: "pp"
          },
          {
            mouse: "disco_ball_head",
            subcategory: "pp"
          }
        ]
      },
      {
        name: "Ice Fortress",
        id: "ice_fortress",
        icon: "/environments/15d8d9d837b22b31707d06f412b78e0d.jpg?cv=2",
        color: "#cc85fe",
        mice: [
          "confused_courier",
          "frigid_foreman",
          "miser",
          "missle_toe",
          "snowblower",
          "snowglobe",
          "builder",
          {
            mouse: "builder",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2014",
            subcategory: "pp"
          },
          {
            mouse: "glacia_ice_fist",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2016",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2018",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2017",
            subcategory: "pp"
          },
          {
            mouse: "snowball_general_two",
            subcategory: "pp"
          },
          {
            mouse: "snowball_bully",
            subcategory: "pp"
          },
          {
            mouse: "slay",
            subcategory: "pp"
          },
          {
            mouse: "snow_fort",
            subcategory: "pp"
          },
          {
            mouse: "snowball_general_three",
            subcategory: "pp"
          },
          {
            mouse: "squeaker_claws",
            subcategory: "pp"
          },
          {
            mouse: "tundra_huntress",
            subcategory: "pp"
          },
          {
            mouse: "new_years",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2022",
            subcategory: "boss"
          }
        ]
      }
    ],
    subcategories: [
      {
        id: "pp",
        name: "Pecan Pecorino"
      },
      {
        id: "gpp",
        name: "Glazed Pecan Pecorino"
      },
      {
        id: "sb",
        name: "SUPER|brie+"
      },
      {
        id: "boss",
        name: "Boss"
      }
    ]
  },
  nice_f_list: {
    categories: [
      {
        name: "Anywhere",
        id: "anywhere",
        icon: "/items/stats/large/680f6a68612ca9181a90b5719b20ef78.png?cv=2",
        color: "#3f8bae",
        mice: [
          "hoarder",
          {
            mouse: "winter_hunt_toy_strong",
            subcategory: "pp"
          },
          {
            mouse: "stuck_snowball",
            subcategory: "pp"
          },
          {
            mouse: "glazed",
            subcategory: "pp"
          },
          {
            mouse: "joy",
            subcategory: "gpp"
          }
        ]
      },
      {
        name: "Cinnamon Hill",
        id: "cinnamon_hill",
        icon: "/environments/9116f87ec4f9ef3be13a1a833a61aec4.jpg?cv=2",
        color: "#c76e39",
        mice: [
          "candy_cane",
          "nice_knitting",
          "winter_boss_2019",
          "snow_scavenger",
          "toboggan_technician",
          "green_circle_boss",
          {
            mouse: "triple_lutz",
            subcategory: "pp"
          },
          {
            mouse: "black_diamond_racer",
            subcategory: "pp"
          },
          {
            mouse: "double_black_diamond",
            subcategory: "pp"
          },
          {
            mouse: "free_skiing",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2020",
            subcategory: "pp"
          },
          {
            mouse: "nitro_racer",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2021",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2015",
            subcategory: "pp"
          },
          {
            mouse: "snowball_general_one",
            subcategory: "pp"
          },
          {
            mouse: "golem_jockey",
            subcategory: "pp"
          },
          {
            mouse: "snowball_hoarder",
            subcategory: "pp"
          },
          {
            mouse: "sporty_ski_instructor",
            subcategory: "pp"
          },
          {
            mouse: "wreath_thief",
            subcategory: "pp"
          },
          {
            mouse: "new_year_flight",
            subcategory: "pp"
          }
        ]
      },
      {
        name: "Golem Workshop",
        id: "golem_workshop",
        icon: "/environments/bbd5eeca404e57ec2ffb9d9a108361a2.jpg?cv=2",
        color: "#9ab1b4",
        mice: [
          "gingerbread",
          "greedy_al",
          "winter_future",
          "winter_past",
          "winter_present",
          {
            mouse: "scrooge",
            subcategory: "sb"
          },
          {
            mouse: "ribbon",
            subcategory: "pp"
          },
          {
            mouse: "christmas_tree",
            subcategory: "pp"
          },
          {
            mouse: "winter_hunt_toy",
            subcategory: "pp"
          },
          {
            mouse: "elf",
            subcategory: "pp"
          },
          {
            mouse: "mad_elf",
            subcategory: "pp"
          },
          {
            mouse: "nutcracker",
            subcategory: "pp"
          },
          {
            mouse: "ornament",
            subcategory: "pp"
          },
          {
            mouse: "present",
            subcategory: "pp"
          },
          {
            mouse: "ridiculous_sweater",
            subcategory: "pp"
          },
          {
            mouse: "snowman_architect",
            subcategory: "pp"
          },
          {
            mouse: "stocking",
            subcategory: "pp"
          },
          {
            mouse: "toy",
            subcategory: "pp"
          },
          {
            mouse: "toy_builder",
            subcategory: "pp"
          },
          {
            mouse: "disco_ball_head",
            subcategory: "pp"
          }
        ]
      },
      {
        name: "Ice Fortress",
        id: "ice_fortress",
        icon: "/environments/15d8d9d837b22b31707d06f412b78e0d.jpg?cv=2",
        color: "#cc85fe",
        mice: [
          "confused_courier",
          "frigid_foreman",
          "miser",
          "missle_toe",
          "snowblower",
          "snowglobe",
          "builder",
          {
            mouse: "builder",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2014",
            subcategory: "pp"
          },
          {
            mouse: "glacia_ice_fist",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2016",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2018",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2017",
            subcategory: "pp"
          },
          {
            mouse: "snowball_general_two",
            subcategory: "pp"
          },
          {
            mouse: "snowball_bully",
            subcategory: "pp"
          },
          {
            mouse: "slay",
            subcategory: "pp"
          },
          {
            mouse: "snow_fort",
            subcategory: "pp"
          },
          {
            mouse: "snowball_general_three",
            subcategory: "pp"
          },
          {
            mouse: "squeaker_claws",
            subcategory: "pp"
          },
          {
            mouse: "tundra_huntress",
            subcategory: "pp"
          },
          {
            mouse: "new_years",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2022",
            subcategory: "boss"
          }
        ]
      }
    ],
    subcategories: [
      {
        id: "pp",
        name: "Pecan Pecorino"
      },
      {
        id: "gpp",
        name: "Glazed Pecan Pecorino"
      },
      {
        id: "sb",
        name: "SUPER|brie+"
      },
      {
        id: "boss",
        name: "Boss"
      }
    ]
  },
  new_years: {
    categories: [
      {
        name: "Anywhere",
        id: "anywhere",
        icon: "/items/stats/large/680f6a68612ca9181a90b5719b20ef78.png?cv=2",
        color: "#3f8bae",
        mice: [
          "hoarder",
          {
            mouse: "winter_hunt_toy_strong",
            subcategory: "pp"
          },
          {
            mouse: "stuck_snowball",
            subcategory: "pp"
          },
          {
            mouse: "glazed",
            subcategory: "pp"
          },
          {
            mouse: "joy",
            subcategory: "gpp"
          }
        ]
      },
      {
        name: "Cinnamon Hill",
        id: "cinnamon_hill",
        icon: "/environments/9116f87ec4f9ef3be13a1a833a61aec4.jpg?cv=2",
        color: "#c76e39",
        mice: [
          "candy_cane",
          "nice_knitting",
          "winter_boss_2019",
          "snow_scavenger",
          "toboggan_technician",
          "green_circle_boss",
          {
            mouse: "triple_lutz",
            subcategory: "pp"
          },
          {
            mouse: "black_diamond_racer",
            subcategory: "pp"
          },
          {
            mouse: "double_black_diamond",
            subcategory: "pp"
          },
          {
            mouse: "free_skiing",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2020",
            subcategory: "pp"
          },
          {
            mouse: "nitro_racer",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2021",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2015",
            subcategory: "pp"
          },
          {
            mouse: "snowball_general_one",
            subcategory: "pp"
          },
          {
            mouse: "golem_jockey",
            subcategory: "pp"
          },
          {
            mouse: "snowball_hoarder",
            subcategory: "pp"
          },
          {
            mouse: "sporty_ski_instructor",
            subcategory: "pp"
          },
          {
            mouse: "wreath_thief",
            subcategory: "pp"
          },
          {
            mouse: "new_year_flight",
            subcategory: "pp"
          }
        ]
      },
      {
        name: "Golem Workshop",
        id: "golem_workshop",
        icon: "/environments/bbd5eeca404e57ec2ffb9d9a108361a2.jpg?cv=2",
        color: "#9ab1b4",
        mice: [
          "gingerbread",
          "greedy_al",
          "winter_future",
          "winter_past",
          "winter_present",
          {
            mouse: "scrooge",
            subcategory: "sb"
          },
          {
            mouse: "ribbon",
            subcategory: "pp"
          },
          {
            mouse: "christmas_tree",
            subcategory: "pp"
          },
          {
            mouse: "winter_hunt_toy",
            subcategory: "pp"
          },
          {
            mouse: "elf",
            subcategory: "pp"
          },
          {
            mouse: "mad_elf",
            subcategory: "pp"
          },
          {
            mouse: "nutcracker",
            subcategory: "pp"
          },
          {
            mouse: "ornament",
            subcategory: "pp"
          },
          {
            mouse: "present",
            subcategory: "pp"
          },
          {
            mouse: "ridiculous_sweater",
            subcategory: "pp"
          },
          {
            mouse: "snowman_architect",
            subcategory: "pp"
          },
          {
            mouse: "stocking",
            subcategory: "pp"
          },
          {
            mouse: "toy",
            subcategory: "pp"
          },
          {
            mouse: "toy_builder",
            subcategory: "pp"
          },
          {
            mouse: "disco_ball_head",
            subcategory: "pp"
          }
        ]
      },
      {
        name: "Ice Fortress",
        id: "ice_fortress",
        icon: "/environments/15d8d9d837b22b31707d06f412b78e0d.jpg?cv=2",
        color: "#cc85fe",
        mice: [
          "confused_courier",
          "frigid_foreman",
          "miser",
          "missle_toe",
          "snowblower",
          "snowglobe",
          "builder",
          {
            mouse: "builder",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2014",
            subcategory: "pp"
          },
          {
            mouse: "glacia_ice_fist",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2016",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2018",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2017",
            subcategory: "pp"
          },
          {
            mouse: "snowball_general_two",
            subcategory: "pp"
          },
          {
            mouse: "snowball_bully",
            subcategory: "pp"
          },
          {
            mouse: "slay",
            subcategory: "pp"
          },
          {
            mouse: "snow_fort",
            subcategory: "pp"
          },
          {
            mouse: "snowball_general_three",
            subcategory: "pp"
          },
          {
            mouse: "squeaker_claws",
            subcategory: "pp"
          },
          {
            mouse: "tundra_huntress",
            subcategory: "pp"
          },
          {
            mouse: "new_years",
            subcategory: "pp"
          },
          {
            mouse: "winter_boss_2022",
            subcategory: "boss"
          }
        ]
      }
    ],
    subcategories: [
      {
        id: "pp",
        name: "Pecan Pecorino"
      },
      {
        id: "gpp",
        name: "Glazed Pecan Pecorino"
      },
      {
        id: "sb",
        name: "SUPER|brie+"
      },
      {
        id: "boss",
        name: "Boss"
      }
    ]
  },
  lunar_new_year_list: {
    categories: [
      {
        name: "Standard",
        id: "anywhere",
        icon: "/items/stats/large/2b92cfc72df4733942a9d7f63d1f3378.png",
        color: "#b9d1ff",
        mice: [
          "costumed_dog",
          "costumed_dragon",
          "costumed_horse",
          "costumed_monkey",
          "costumed_ox",
          "costumed_pig",
          "costumed_rabbit",
          "costumed_rat",
          "costumed_rooster",
          "costumed_sheep",
          "costumed_snake",
          "costumed_tiger"
        ]
      },
      {
        name: "Dumpling",
        id: "dumpling",
        icon: "/items/bait/large/f4c3ee4bb9aba29938223172a791650b.png",
        color: "#ffefb9",
        mice: [
          "calligraphy",
          "dumpling_chef",
          "red_envelope"
        ]
      },
      {
        name: "Nian Gao'da",
        id: "ngd",
        icon: "/items/bait/large/d4813a69fff0b714f79976a726b7ce66.png",
        color: "#ffa4a4",
        mice: [
          "red_candle"
        ]
      }
    ]
  },
  birthday_f_list: {
    categories: [
      {
        name: "Mixing Room",
        id: "mixing-room",
        icon: "/ui/events/birthday_factory/item_mixing_rod.png?asset_cache_version=2",
        color: "#0aebdd",
        mice: [
          "force_fighter_blue",
          "force_fighter_green",
          "force_fighter_pink",
          "force_fighter_red",
          "force_fighter_yellow",
          "super_fighterbot_megasupreme"
        ]
      },
      {
        name: "Pumping Room",
        id: "pumping-room",
        icon: "/ui/events/birthday_factory/item_pressurized_pump.png?asset_cache_version=2",
        color: "#fca00a",
        mice: [
          "reality_restitch",
          "time_punk",
          "time_tailor",
          "time_thief",
          "time_plumber"
        ]
      },
      {
        name: "Break Room",
        id: "break-room",
        icon: "/ui/events/birthday_factory/item_circuit_breaker.png?asset_cache_version=2",
        color: "#ea8cab",
        mice: [
          "breakdancer",
          "fromager_mouse",
          "dance_party",
          "dance_boss",
          "para_para_dancer"
        ]
      },
      {
        name: "QA Room",
        id: "qa-room",
        icon: "/ui/events/birthday_factory/item_quality_cog.png?asset_cache_version=2",
        color: "#fbabff",
        mice: [
          "cupcake_candle_thief",
          "cupcake_cutie",
          "sprinkley_sweet",
          "cupcake_camo",
          "cupcake_runner"
        ]
      },
      {
        name: "Any Room",
        id: "any-room",
        icon: "/items/bait/large/39a63a48084383a7eb07d64c74357544.png",
        color: "#ffeeca",
        mice: [
          "buckethead",
          "present",
          "pintail",
          "dinosuit",
          "sleepwalker",
          "terrible_twos",
          {
            mouse: "factory_technician",
            subcategory: "frc"
          },
          {
            mouse: "cheesy_party",
            subcategory: "sb"
          }
        ]
      }
    ],
    subcategories: [
      {
        id: "frc",
        name: "Factory Repair Charm"
      },
      {
        id: "sb",
        name: "SUPER|brie+"
      }
    ]
  },
  birthday_2019_gilded: {
    categories: [
      {
        name: "Mixing Room",
        id: "mixing-room",
        icon: "/ui/events/birthday_factory/item_mixing_rod.png?asset_cache_version=2",
        color: "#0aebdd",
        mice: [
          "force_fighter_blue",
          "force_fighter_green",
          "force_fighter_pink",
          "force_fighter_red",
          "force_fighter_yellow",
          "super_fighterbot_megasupreme"
        ]
      },
      {
        name: "Pumping Room",
        id: "pumping-room",
        icon: "/ui/events/birthday_factory/item_pressurized_pump.png?asset_cache_version=2",
        color: "#fca00a",
        mice: [
          "reality_restitch",
          "time_punk",
          "time_tailor",
          "time_thief",
          "time_plumber"
        ]
      },
      {
        name: "Break Room",
        id: "break-room",
        icon: "/ui/events/birthday_factory/item_circuit_breaker.png?asset_cache_version=2",
        color: "#ea8cab",
        mice: [
          "breakdancer",
          "fromager_mouse",
          "dance_party",
          "dance_boss",
          "para_para_dancer"
        ]
      },
      {
        name: "QA Room",
        id: "qa-room",
        icon: "/ui/events/birthday_factory/item_quality_cog.png?asset_cache_version=2",
        color: "#fbabff",
        mice: [
          "cupcake_candle_thief",
          "cupcake_cutie",
          "sprinkley_sweet",
          "cupcake_camo",
          "cupcake_runner"
        ]
      },
      {
        name: "Any Room",
        id: "any-room",
        icon: "/items/bait/large/39a63a48084383a7eb07d64c74357544.png",
        color: "#ffeeca",
        mice: [
          "buckethead",
          "present",
          "pintail",
          "dinosuit",
          "sleepwalker",
          "terrible_twos",
          {
            mouse: "factory_technician",
            subcategory: "frc"
          },
          {
            mouse: "cheesy_party",
            subcategory: "sb"
          }
        ]
      }
    ],
    subcategories: [
      {
        id: "frc",
        name: "Factory Repair Charm"
      },
      {
        id: "sb",
        name: "SUPER|brie+"
      }
    ]
  },
  birthday_2021_gilded_party_size: {
    categories: [
      {
        name: "Mixing Room",
        id: "mixing-room",
        icon: "/ui/events/birthday_factory/item_mixing_rod.png?asset_cache_version=2",
        color: "#0aebdd",
        mice: [
          "force_fighter_blue",
          "force_fighter_green",
          "force_fighter_pink",
          "force_fighter_red",
          "force_fighter_yellow",
          "super_fighterbot_megasupreme"
        ]
      },
      {
        name: "Pumping Room",
        id: "pumping-room",
        icon: "/ui/events/birthday_factory/item_pressurized_pump.png?asset_cache_version=2",
        color: "#fca00a",
        mice: [
          "reality_restitch",
          "time_punk",
          "time_tailor",
          "time_thief",
          "time_plumber"
        ]
      },
      {
        name: "Break Room",
        id: "break-room",
        icon: "/ui/events/birthday_factory/item_circuit_breaker.png?asset_cache_version=2",
        color: "#ea8cab",
        mice: [
          "breakdancer",
          "fromager_mouse",
          "dance_party",
          "dance_boss",
          "para_para_dancer"
        ]
      },
      {
        name: "QA Room",
        id: "qa-room",
        icon: "/ui/events/birthday_factory/item_quality_cog.png?asset_cache_version=2",
        color: "#fbabff",
        mice: [
          "cupcake_candle_thief",
          "cupcake_cutie",
          "sprinkley_sweet",
          "cupcake_camo",
          "cupcake_runner"
        ]
      },
      {
        name: "Any Room",
        id: "any-room",
        icon: "/items/bait/large/39a63a48084383a7eb07d64c74357544.png",
        color: "#ffeeca",
        mice: [
          "buckethead",
          "present",
          "pintail",
          "dinosuit",
          "sleepwalker",
          "terrible_twos",
          {
            mouse: "factory_technician",
            subcategory: "frc"
          },
          {
            mouse: "cheesy_party",
            subcategory: "sb"
          }
        ]
      }
    ],
    subcategories: [
      {
        id: "frc",
        name: "Factory Repair Charm"
      },
      {
        id: "sb",
        name: "SUPER|brie+"
      }
    ]
  }
};
}
});

// src/modules/better-maps/modules/tab-sorted.js
var getMouseDataForMap, makeMouseDiv, makeSortedPageWrapper, makeSortedMiceList, makeScavengerSortedPage, makeGenericSortedPage, moveTabToBody, processSortedTabClick, addSortedMapTab, showSortedTab, hideSortedTab;
var init_tab_sorted = __esm({
"src/modules/better-maps/modules/tab-sorted.js"() {
init_utils2();
init_toggle_ar();
init_highlighting();
init_map_groups();
getMouseDataForMap = (currentMapData, type = "mouse") => {
  let unsortedMice = [];
  if (currentMapData.goals[type]) {
    unsortedMice = currentMapData.goals[type];
  }
  let caughtMice = [];
  currentMapData.hunters.forEach((hunter) => {
    caughtMice = [...caughtMice, ...hunter.completed_goal_ids[type]];
  });
  unsortedMice = unsortedMice.filter((mouse) => {
    return !caughtMice.includes(mouse.unique_id);
  });
  let categories2 = [];
  if (map_groups_default[currentMapData.map_type] && map_groups_default[currentMapData.map_type].categories) {
    categories2 = map_groups_default[currentMapData.map_type].categories;
  }
  let subcategories = [];
  if (map_groups_default[currentMapData.map_type] && map_groups_default[currentMapData.map_type].subcategories) {
    subcategories = map_groups_default[currentMapData.map_type].subcategories;
  }
  return {
    unsortedMice,
    categories: categories2,
    subcategories,
    getMouseDataForMap
  };
};
makeMouseDiv = (mouse, type = "mouse") => __async(void 0, null, function* () {
  const mouseDiv = makeElement("div", "mouse-container");
  mouseDiv.setAttribute("data-mouse-id", mouse.unique_id);
  mouseDiv.setAttribute("data-mouse-type", mouse.type);
  mouseDiv.setAttribute("data-type", type);
  const mouseData = makeElement("div", "mouse-data");
  const mouseImage = makeElement("img", "mouse-image");
  mouseImage.src = "mouse" === type ? mouse.small : mouse.thumb;
  mouseImage.alt = mouse.name;
  mouseData.append(mouseImage);
  makeElement("div", "mouse-name", mouse.name, mouseData);
  const mouseAr = yield getArEl(mouse.unique_id, type);
  if (mouseAr) {
    mouseData.append(mouseAr);
  }
  mouseDiv.append(mouseData);
  const mouseExtraInfoWrapper = makeElement("div", "mouse-mhct-extra-info-wrapper");
  const mouseExtraInfo = makeElement("div", "mouse-extra-info");
  if (Array.isArray(mouse.environment_ids)) {
    const locationText = makeElement("div", "location-text-wrapper");
    makeElement("span", "location-text", "Found in ", locationText);
    mouse.environment_ids.forEach((environmentID, index) => {
      const environment = mapData().environments.find((env) => env.id === environmentID);
      if (environment) {
        const locationLink = makeElement("a", "mouse-location-link", environment.name);
        locationLink.title = `Travel to ${environment.name}`;
        locationLink.setAttribute("data-environment-id", environment.id);
        locationLink.addEventListener("click", () => {
          showTravelConfirmationNoDetails(environment);
        });
        if (index !== 0) {
          locationText.append(document.createTextNode(", "));
        }
        locationText.append(locationLink);
      }
    });
    mouseExtraInfo.append(locationText);
  }
  if (mouse.weaknesses) {
    const weakness = makeElement("div", "mouse-weakness");
    mouse.weaknesses.forEach((weaknessType) => {
      if (weaknessType.power_types.length === 0) {
        return;
      }
      const weaknessTypeDiv = makeElement("div", "weakness-type");
      makeElement("div", "weakness-name", weaknessType.name, weaknessTypeDiv);
      const powerTypes = makeElement("div", "power-types");
      weaknessType.power_types.forEach((ptype) => {
        const powerType = document.createElement("img");
        powerType.src = `https://www.mousehuntgame.com/images/powertypes/${ptype.name}.png`;
        powerTypes.append(powerType);
      });
      weaknessTypeDiv.append(powerTypes);
      weakness.append(weaknessTypeDiv);
    });
    mouseExtraInfo.append(weakness);
  }
  mouseExtraInfoWrapper.append(mouseExtraInfo);
  mouseDiv.append(mouseExtraInfoWrapper);
  mouseDiv.addEventListener("click", () => __async(void 0, null, function* () {
    const isSelected = mouseDiv.classList.contains("mouse-container-selected");
    if (isSelected) {
      mouseDiv.classList.remove("mouse-container-selected");
      return;
    }
    addMHCTData(mouse, mouseExtraInfo, type);
    const addClass2 = !mouseDiv.classList.contains("mouse-container-selected");
    const allSelected = document.querySelectorAll(".mouse-container-selected");
    if (allSelected) {
      allSelected.forEach((selected) => {
        selected.classList.remove("mouse-container-selected");
      });
    }
    if (addClass2) {
      mouseDiv.classList.add("mouse-container-selected");
    }
  }));
  return mouseDiv;
});
makeSortedPageWrapper = () => {
  const sortedPage = makeElement("div", "sorted-page");
  makeElement("div", ["sorted-loading", "mousehuntPage-loading", "active"], "", sortedPage);
  makeElement("div", "sorted-page-content", "", sortedPage);
  return sortedPage;
};
makeSortedMiceList = () => __async(void 0, null, function* () {
  const currentMapData = getMapData(mapData().map_id);
  const { unsortedMice, categories: categories2, subcategories } = getMouseDataForMap(currentMapData);
  const target = document.querySelector(".sorted-page-content");
  if (!target) {
    return;
  }
  const categoriesWrapper = makeElement("div", "mouse-category-container");
  for (const category of categories2) {
    const categoryID = category.id;
    const categoryWrapper = makeElement("div", "mouse-category-wrapper");
    categoryWrapper.classList.add(`mouse-category-${categoryID}`, "mouse-category-wrapper-hidden");
    const categoryHeader = makeElement("div", "mouse-category-header");
    if (category.color) {
      categoryWrapper.style.backgroundColor = category.color;
    }
    const iconTitleWrapper = makeElement("div", "mouse-category-icon-title-wrapper");
    if (category.icon) {
      const categoryIcon = makeElement("img", "mouse-category-icon");
      categoryIcon.src = category.icon.indexOf("/") === 0 ? `https://www.mousehuntgame.com/images${category.icon}` : category.icon;
      iconTitleWrapper.append(categoryIcon);
    }
    const iconTitleTitleWrapper = makeElement("div", "mouse-category-icon-title-title-wrapper");
    makeElement("div", "mouse-category-title", category.name, iconTitleTitleWrapper);
    makeElement("div", "mouse-category-subtitle", category.subtitle, iconTitleTitleWrapper);
    iconTitleWrapper.append(iconTitleTitleWrapper);
    categoryHeader.append(iconTitleWrapper);
    categoryWrapper.append(categoryHeader);
    const categoryMice = makeElement("div", "mouse-category-mice");
    const addToSubCat = [];
    category.mice.sort((a, b) => {
      if (a.name < b.name) {
        return -1;
      }
      return 1;
    });
    for (const mouse of category.mice) {
      let hasSubCat = false;
      let mouseType = mouse;
      if (typeof mouse === "object" && mouse.subcategory) {
        hasSubCat = mouse.subcategory;
        mouseType = mouse.mouse;
      }
      const mouseIndex = unsortedMice.findIndex((unsortedMouse) => {
        return unsortedMouse.type === mouseType;
      });
      if (mouseIndex === -1) {
        continue;
      }
      const mouseDiv = yield makeMouseDiv(unsortedMice[mouseIndex]);
      if (hasSubCat) {
        if (!addToSubCat[hasSubCat]) {
          addToSubCat[hasSubCat] = [];
        }
        addToSubCat[hasSubCat].push(mouseDiv);
      } else {
        categoryMice.append(mouseDiv);
      }
      categoryWrapper.append(categoryMice);
      unsortedMice.splice(mouseIndex, 1);
      categoryWrapper.classList.remove("mouse-category-wrapper-hidden");
    }
    for (const subcategory of subcategories) {
      if (addToSubCat[subcategory.id] && addToSubCat[subcategory.id].length > 0) {
        const subcategoryWrapper = document.createElement("div");
        subcategoryWrapper.classList.add("mouse-subcategory-wrapper", `mouse-subcategory-${subcategory.id}`);
        if (subcategory.color) {
          subcategoryWrapper.style.backgroundColor = subcategory.color;
        }
        const currentSubCat = map_groups_default[currentMapData.map_type].subcategories.find((subcat) => {
          return subcat.id === subcategory.id;
        });
        const subcategoryHeader = makeElement("div", "mouse-subcategory-header");
        makeElement("div", "mouse-subcategory-title", currentSubCat.name, subcategoryHeader);
        subcategoryWrapper.append(subcategoryHeader);
        const subcategoryMice = makeElement("div", "mouse-subcategory-mice");
        addToSubCat[subcategory.id].forEach((mouseDiv) => {
          subcategoryMice.append(mouseDiv);
        });
        subcategoryWrapper.append(subcategoryMice);
        categoryWrapper.append(subcategoryWrapper);
      }
    }
    categoriesWrapper.append(categoryWrapper);
  }
  if (unsortedMice.length > 0) {
    const unsortedWrapper = makeElement("div", "mouse-category-wrapper");
    unsortedWrapper.classList.add("mouse-category-unsorted");
    const unsortedHeader = makeElement("div", "mouse-category-header");
    const unsortedTitle = makeElement("div", "mouse-category-title", "Unsorted");
    unsortedHeader.append(unsortedTitle);
    unsortedWrapper.append(unsortedHeader);
    const unsortedMiceDiv = makeElement("div", "mouse-category-mice");
    for (const mouse of unsortedMice) {
      const mouseDiv = yield makeMouseDiv(mouse);
      unsortedMiceDiv.append(mouseDiv);
    }
    unsortedWrapper.append(unsortedMiceDiv);
    categoriesWrapper.append(unsortedWrapper);
  }
  target.append(categoriesWrapper);
});
makeScavengerSortedPage = (target) => __async(void 0, null, function* () {
  target.classList.add("scavenger-sorted-page");
  target.classList.add("treasureMapView-block");
  target.setAttribute("data-scavenger-sorted-by", "none");
  target.setAttribute("data-scavenger-sort-direction", "descending");
  const sortMice = (direction = "descending") => {
    const container = target.querySelector(".sorted-page-content");
    if (!container) {
      return;
    }
    const mice = target.querySelectorAll(".mouse-container");
    if (!mice) {
      return;
    }
    const miceArray = [...mice];
    miceArray.sort((a, b) => {
      let aAr = 0;
      let bAr = 0;
      const aArEl = a.querySelector(".mh-ui-ar");
      if (aArEl) {
        aAr = aArEl.getAttribute("data-ar") || 0;
      }
      const bArEl = b.querySelector(".mh-ui-ar");
      if (bArEl) {
        bAr = bArEl.getAttribute("data-ar") || 0;
      }
      if (direction === "ascending") {
        return aAr - bAr;
      }
      return bAr - aAr;
    });
    mice.forEach((mouse) => {
      mouse.remove();
    });
    const locationHeaders = container.querySelectorAll(".scavenger-location-wrapper");
    if (locationHeaders) {
      locationHeaders.forEach((header) => {
        header.remove();
      });
    }
    miceArray.forEach((mouse) => {
      container.append(mouse);
    });
  };
  const environments5 = yield getData("environments");
  if (!environments5) {
    return;
  }
  const sortMiceIntoLocations = (direction = "descending") => __async(void 0, null, function* () {
    const container = target.querySelector(".sorted-page-content");
    if (!container) {
      return;
    }
    const mice = target.querySelectorAll(".mouse-container");
    if (!mice) {
      return;
    }
    const miceByLocation = {};
    const locations = {};
    for (const mouse of mice) {
      const mouseId = mouse.getAttribute("data-mouse-id");
      const location = yield getLocationForMouse(mouseId, "item");
      locations[location.id] = location;
      const locationId = location.id;
      if (!miceByLocation[locationId]) {
        miceByLocation[locationId] = [];
      }
      miceByLocation[locationId].push(mouse);
    }
    mice.forEach((mouse) => {
      mouse.remove();
    });
    const locationHeaders = document.querySelectorAll(".scavenger-location-wrapper");
    if (locationHeaders) {
      locationHeaders.forEach((header) => {
        header.remove();
      });
    }
    const sortedLocations = Object.keys(miceByLocation).sort((a, b) => {
      return miceByLocation[b].length - miceByLocation[a].length;
    });
    sortedLocations.forEach((location) => {
      const locationWrapper = makeElement("div", ["treasureMapView-goals-groups", "scavenger-location-wrapper"]);
      const header = makeElement("div", ["treasureMapView-block-content-heading", "scavenger-location-header"]);
      const locationContent = makeElement("div", "scavenger-location-content");
      const environment = environments5.find((env) => env.id === location);
      if (locations[environment.id]) {
        environment.name = locations[environment.id].name;
      }
      if (environment) {
        if (environment.image) {
          const headerImage = makeElement("div", ["treasureMapView-block-content-heading-image", "scavenger-location-icon"]);
          headerImage.style.backgroundImage = `url(${environment.image})`;
          header.append(headerImage);
        }
        if (environment.name) {
          const envLink = makeElement("a", "scavenger-location-name", environment.name);
          envLink.title = `Travel to ${environment.name}`;
          envLink.setAttribute("data-environment-id", location);
          envLink.addEventListener("click", () => {
            showTravelConfirmation(environment, mapModel());
          });
          header.append(envLink);
          makeElement("span", "scavenger-location-count", ` (${miceByLocation[location].length})`, header);
        }
      }
      locationWrapper.append(header);
      miceByLocation[location].forEach((mouse) => {
        if (direction === "ascending") {
          locationContent.prepend(mouse);
        } else {
          locationContent.append(mouse);
        }
      });
      locationWrapper.append(locationContent);
      container.append(locationWrapper);
    });
  });
  const toggleSortDirection = () => __async(void 0, null, function* () {
    const currentDirection = target.getAttribute("data-scavenger-sort-direction");
    const currentSort2 = target.getAttribute("data-scavenger-sorted-by");
    const newDirection = currentDirection === "descending" ? "ascending" : "descending";
    target.setAttribute("data-scavenger-sort-direction", newDirection);
    yield sortMice(newDirection);
    if (currentSort2 === "location") {
      yield sortMiceIntoLocations(newDirection);
    }
  });
  const toggleSortType = () => __async(void 0, null, function* () {
    const currentSort2 = target.getAttribute("data-scavenger-sorted-by");
    const currentDirection = target.getAttribute("data-scavenger-sort-direction");
    if (currentSort2 === "location") {
      target.setAttribute("data-scavenger-sorted-by", "none");
      sortMice(currentDirection);
    } else {
      target.setAttribute("data-scavenger-sorted-by", "location");
      yield sortMiceIntoLocations(currentDirection);
    }
  });
  const toggleWrapper = makeElement("div", "scavenger-toggle-wrapper");
  const toggleByLocation = makeElement("button", ["scavenger-toggle-button", "mousehuntActionButton", "tiny"]);
  makeElement("span", "scavenger-toggle-text", "Sort by Location", toggleByLocation);
  toggleByLocation.addEventListener("click", () => __async(void 0, null, function* () {
    toggleByLocation.classList.add("disabled");
    yield toggleSortType();
    toggleByLocation.classList.remove("disabled");
  }));
  toggleWrapper.append(toggleByLocation);
  const toggleByDropRate = makeElement("button", ["scavenger-toggle-button", "mousehuntActionButton", "tiny"]);
  makeElement("span", "scavenger-toggle-text", "Sort by Drop Rate", toggleByDropRate);
  toggleByDropRate.addEventListener("click", () => __async(void 0, null, function* () {
    toggleByDropRate.classList.add("disabled");
    yield toggleSortDirection();
    toggleByDropRate.classList.remove("disabled");
  }));
  toggleWrapper.append(toggleByDropRate);
  const sortedContainer = document.querySelector("#sorted-mice-container");
  if (sortedContainer) {
    sortedContainer.prepend(toggleWrapper);
  } else {
    target.prepend(toggleWrapper);
  }
  target.setAttribute("data-scavenger-sorted-by", "location");
  target.setAttribute("data-scavenger-sort-direction", "descending");
  yield sortMiceIntoLocations("descending");
});
makeGenericSortedPage = () => __async(void 0, null, function* () {
  const target = document.querySelector(".sorted-page-content");
  if (!target) {
    return;
  }
  const currentMapData = getMapData(mapData().map_id);
  let type = "mouse";
  if (currentMapData.map_type.includes("scavenger")) {
    type = "item";
    target.classList.add("treasureMapView-block-content");
    target.classList.add("scavenger-sorted-page");
  } else {
    target.classList.add("generic-sorted-page");
  }
  const { unsortedMice } = getMouseDataForMap(currentMapData, type);
  const sortedUnsorted = yield Promise.all(
    unsortedMice.map((mouse) => __async(void 0, null, function* () {
      const ar = yield getHighestArForMouse(mouse.unique_id, type);
      return __spreadProps(__spreadValues({}, mouse), {
        ar
      });
    }))
  );
  sortedUnsorted.sort((a, b) => {
    if (a.ar > b.ar) {
      return -1;
    }
    return 1;
  });
  for (const mouse of sortedUnsorted) {
    const mouseDiv = yield makeMouseDiv(mouse, type);
    target.append(mouseDiv);
  }
});
moveTabToBody = () => {
  const sortedMiceContainer = document.querySelector("#sorted-mice-container");
  if (!sortedMiceContainer) {
    return;
  }
  const body = document.querySelector("body");
  if (!body) {
    return;
  }
  body.append(sortedMiceContainer);
};
processSortedTabClick = () => __async(void 0, null, function* () {
  const currentlyActive = document.querySelector(".treasureMapRootView-subTab.sorted-map-tab.active");
  if (currentlyActive) {
    return;
  }
  const otherTabs = document.querySelectorAll(".treasureMapRootView-subTab:not(.sorted-map-tab)");
  if (otherTabs) {
    otherTabs.forEach((tab) => {
      tab.removeEventListener("click", moveTabToBody);
      tab.addEventListener("click", moveTabToBody);
    });
  }
  const currentMapData = mapData();
  if (!currentMapData || !currentMapData.goals) {
    return;
  }
  const activeTab = document.querySelector(".treasureMapRootView-subTab.active");
  if (activeTab) {
    activeTab.classList.remove("active");
  }
  const sortedTab = document.querySelector(".treasureMapRootView-subTab.sorted-map-tab");
  if (sortedTab) {
    sortedTab.classList.add("active");
  }
  const mapContainer = document.querySelector(".treasureMapView-blockWrapper");
  if (!mapContainer) {
    return;
  }
  const leftBlock = mapContainer.querySelector(".treasureMapView-leftBlock");
  if (leftBlock) {
    leftBlock.style.display = "none";
  }
  const rightBlock = mapContainer.querySelector(".treasureMapView-rightBlock");
  if (rightBlock) {
    rightBlock.style.display = "none";
  }
  const existing = document.querySelector("#sorted-mice-container");
  if (existing) {
    existing.remove();
  }
  const sortedMiceContainer = document.createElement("div");
  sortedMiceContainer.id = "sorted-mice-container";
  const sortedPage = makeSortedPageWrapper();
  sortedMiceContainer.append(sortedPage);
  mapContainer.append(sortedMiceContainer);
  if (map_groups_default[currentMapData.map_type]) {
    yield makeSortedMiceList();
  } else if (currentMapData.is_scavenger_hunt) {
    yield makeGenericSortedPage();
    yield makeScavengerSortedPage(sortedPage);
  } else {
    yield makeGenericSortedPage();
  }
  const loading = document.querySelector(".sorted-loading");
  if (loading) {
    loading.remove();
  }
  highlighting_default();
});
addSortedMapTab = () => {
  const mapTabs = document.querySelector(".treasureMapRootView-subTabContainer");
  if (!mapTabs || mapTabs.length <= 0) {
    return false;
  }
  if (mapTabs.querySelector(".sorted-map-tab")) {
    return false;
  }
  const sortedTab = makeElement("a", "treasureMapRootView-subTab sorted-map-tab", "Sorted");
  sortedTab.setAttribute("data-type", "sorted");
  sortedTab.addEventListener("click", processSortedTabClick);
  const divider = makeElement("div", "treasureMapRootView-subTab-spacer");
  mapTabs.insertBefore(divider, mapTabs.children[0]);
  mapTabs.insertBefore(sortedTab, mapTabs.children[0]);
  return true;
};
showSortedTab = () => {
  processSortedTabClick();
  addArToggle("sorted");
};
hideSortedTab = () => {
  removeArToggle();
};
}
});

// src/modules/better-maps/modules/consolation-prizes.js
var consolation_prizes_default;
var init_consolation_prizes = __esm({
"src/modules/better-maps/modules/consolation-prizes.js"() {
init_utils2();
consolation_prizes_default = () => __async(void 0, null, function* () {
  const consolationButton = document.querySelector(".treasureMapView-consolationPrize-message");
  if (!consolationButton || !mapData().has_consolation_prizes || !mapData().consolation_prizes) {
    return;
  }
  const existing = document.querySelector(".mh-mapper-consolation-prizes");
  if (existing) {
    existing.remove();
  }
  const prizeWrapper = makeElement("div", "mh-mapper-consolation-prizes");
  const prizes = mapData().consolation_prizes || [];
  for (const prize of prizes) {
    const prizeDiv = makeElement("div", "mh-mapper-consolation-prize");
    const prizeImg = makeElement("img", "mh-mapper-consolation-prize");
    prizeImg.src = prize.thumb;
    prizeDiv.append(prizeImg);
    makeElement("div", "mh-mapper-consolation-prize-text", `${prize.quantity} ${prize.name}`, prizeDiv);
    prizeWrapper.append(prizeDiv);
  }
  consolationButton.parentElement.append(prizeWrapper);
});
}
});

// src/modules/better-maps/modules/tab-goals.js
var getLinkMarkup2, getItemLinkMarkup, addMouseLinksToMap, addClassesToGroups, moveLeaveButton, addQuickInvite, addSidebarToggle, makeStickyDraggable, showGoalsTab, hideGoalsTab;
var init_tab_goals = __esm({
"src/modules/better-maps/modules/tab-goals.js"() {
init_utils2();
init_toggle_ar();
init_consolation_prizes();
getLinkMarkup2 = (name) => {
  name = name.replaceAll(" ", "_");
  const nameMouse = `${name}_Mouse`.replaceAll("_Mouse_Mouse", "_Mouse");
  return makeLink("MHCT AR", `https://www.mhct.win/attractions.php?mouse=${name}`, true) + makeLink("Wiki", `https://mhwiki.hitgrab.com/wiki/index.php/${nameMouse}`) + makeLink("mhdb", `https://dbgames.info/mousehunt/mice/${nameMouse}`);
};
getItemLinkMarkup = (name) => {
  name = name.replace(" ", "_");
  return makeLink("MHCT DR", `https://www.mhct.win/loot.php?item=${name}`, true) + makeLink("Wiki", `https://mhwiki.hitgrab.com/wiki/index.php/${name}`) + makeLink("mhdb", `https://dbgames.info/mousehunt/mice/${name}`);
};
addMouseLinksToMap = () => __async(void 0, null, function* () {
  const overlay = document.querySelector("#overlayPopup");
  if (!(overlay && overlay.classList.contains("treasureMapPopup"))) {
    return;
  }
  const mouseIcon = document.querySelectorAll(".treasureMapView-goals-group-goal");
  if (!mouseIcon || mouseIcon.length === 0) {
    return;
  }
  const mapViewClasses = document.querySelector(".treasureMapView");
  if (!mapViewClasses) {
    return;
  }
  let type = "mouse";
  if (mapViewClasses.classList.value.includes("scavenger_hunt")) {
    type = "item";
  }
  mouseIcon.forEach((mouse) => {
    let mouseType = mouse.classList.value.replace("treasureMapView-goals-group-goal", "").replace(" mouse", "").replace(" item", "").replace(" complete", "").replace("landscape", "").replace("notAvailable", "").replaceAll(" ", "").trim();
    if ("item" === type) {
      mouseType = mouse.getAttribute("data-unique-id");
    }
    mouse.addEventListener("click", () => __async(void 0, null, function* () {
      const title = document.querySelector(".treasureMapView-highlight-name");
      if (!title) {
        return;
      }
      title.classList.add("mh-ui-mouse-links-map-name");
      title.addEventListener("click", () => {
        if (type === "item") {
          hg.views.ItemView.show(mouseType);
        } else if (type === "mouse") {
          hg.views.MouseView.show(mouseType);
        }
      });
      title.setAttribute("data-mouse-id", mouseType);
      const existing = document.querySelector(`#mh-ui-mouse-links-map-${mouseType}-${type}`);
      if (existing) {
        return;
      }
      if ("mouse" === type) {
        const div = makeElement("div", "mh-ui-mouse-links-map");
        div.id = `mh-ui-mouse-links-map-${mouseType}-${type}`;
        div.innerHTML = getLinkMarkup2(title.innerText);
        const envs = document.querySelector(".treasureMapView-highlight-environments");
        if (envs) {
          envs.parentNode.insertBefore(div, envs.nextSibling);
        }
      } else if ("item" === type) {
        const div = makeElement("div", "mh-ui-mouse-links-map");
        div.id = `mh-ui-mouse-links-map-${mouseType}-${type}`;
        div.innerHTML = getItemLinkMarkup(mouseType);
        const desc = document.querySelector(".treasureMapView-highlight-description");
        if (desc) {
          desc.prepend(div);
        }
      }
      let appendMHCTto = document.querySelector(".treasureMapView-highlight-weaknessContainer");
      if (!appendMHCTto) {
        appendMHCTto = document.querySelector(".mh-ui-mouse-links-map");
      }
      const existingArs = document.querySelectorAll(".mh-ui-mouse-links-map-ars");
      if (existingArs && existingArs.length > 0) {
        existingArs.forEach((ar) => ar.remove());
      }
      const container = document.querySelector(".treasureMapView-highlight.goal.active");
      if (!container) {
        return;
      }
      const arsEl = makeElement("div", "mh-ui-mouse-links-map-ars");
      arsEl.id = `mh-ui-mouse-links-map-ars-${mouseType}-${type}`;
      yield addMHCTData({ unique_id: mouseType }, arsEl, type);
      if (arsEl.innerHTML === "") {
        return;
      }
      container.classList.add("has-mhct-ars");
      container.append(arsEl);
    }));
  });
});
addClassesToGroups = (mapData2) => {
  const groups2 = document.querySelectorAll(".treasureMapView-goals-groups");
  groups2.forEach((group) => {
    const title = group.querySelector(".treasureMapView-block-content-heading");
    if (!title) {
      return;
    }
    if (title.classList.contains("mh-ui-goals-group-completed-title")) {
      return;
    }
    const completed = title.innerText.includes(" found these mice:") || title.innerText.includes(" found this mouse:");
    group.classList.add("mh-ui-goals-group", completed ? "completed" : "incomplete");
    let countText = "";
    const count2 = group.querySelector(".treasureMapView-block-content-heading-count");
    if (count2) {
      group.setAttribute("data-mouse-count", count2.innerText.replace("(", "").replace(")", ""));
      countText = count2.innerText;
    }
    if (!completed) {
      return;
    }
    const hunterName = title.innerText.replace(countText, "").replace(" found these mice:", "").replace(" found this mouse:", "").trim();
    let hunter = mapData2.hunters.find((h) => h.name.trim() === hunterName);
    if (!hunter) {
      const image2 = group.querySelector(".treasureMapView-block-content-heading-image");
      if (!image2) {
        return;
      }
      const url = image2.getAttribute("style").replace("background-image:url(", "").replace("background-image: url(", "").replace(");", "");
      hunter = mapData2.hunters.find((h) => h.profile_pic === url);
    }
    if (!hunter && (hunterName === `${user.firstname} ${user.lastname}` || hunterName === `${user.firstname}${user.lastname}`)) {
      hunter = {
        name: `${user.firstname} ${user.lastname}`,
        sn_user_id: user.sn_user_id
      };
    }
    if (!hunter) {
      return;
    }
    const image = group.querySelector(".treasureMapView-block-content-heading-image");
    if (!image) {
      image.title = `Go to ${hunter.name}'s profile`;
      image.classList.add("mh-ui-goals-group-completed-image");
      image.addEventListener("click", () => {
        hg.utils.PageUtil.showHunterProfile(hunter.sn_user_id);
      });
    }
    const replacementTitle = makeElement("div", "treasureMapView-block-content-heading");
    if (image) {
      replacementTitle.append(image);
    }
    const nameLink = makeElement("a", "mh-ui-goals-group-completed-title", hunter.name);
    nameLink.setAttribute("data-snuid", hunter.sn_user_id);
    nameLink.addEventListener("click", (e) => {
      var _a, _b;
      e.preventDefault();
      if ((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.showHunterProfile) {
        hg.utils.PageUtil.showHunterProfile(hunter.sn_user_id);
      }
    });
    replacementTitle.append(nameLink);
    makeElement("span", "mh-ui-goals-group-completed-text", " found these mice:", replacementTitle);
    if (count2) {
      replacementTitle.append(count2);
    }
    title.replaceWith(replacementTitle);
  });
};
moveLeaveButton = () => __async(void 0, null, function* () {
  const leaveButton = document.querySelector(".treasureMapView-mapLeaveContainer .treasureMapView-leaveMapButton");
  if (!leaveButton) {
    return;
  }
  const actions = document.querySelector(".treasureMapView-mapMenu-group-actions");
  if (!actions) {
    return;
  }
  const existing = document.querySelector(".mh-ui-leave-map-button");
  if (existing) {
    return;
  }
  const clone = leaveButton.cloneNode(true);
  clone.classList.add("mh-ui-leave-map-button");
  clone.classList.remove("lightBlue");
  clone.addEventListener("click", () => {
    leaveButton.click();
  });
  actions.insertBefore(clone, actions.firstChild);
});
addQuickInvite = (mapData2) => __async(void 0, null, function* () {
  const sidebar = document.querySelector(".treasureMapView-rightBlock.treasureMapView-goalSidebar");
  if (!sidebar) {
    return;
  }
  const existing = document.querySelector(".mh-ui-quick-invite");
  if (existing) {
    existing.remove();
  }
  if (!(mapData2 == null ? void 0 : mapData2.is_owner)) {
    return;
  }
  const mapId = mapData2 == null ? void 0 : mapData2.map_id;
  if (!mapId) {
    return;
  }
  const inviteWrapper = makeElement("div", "mh-ui-quick-invite-wrapper");
  const inviteInput = makeElement("input", "mh-ui-quick-invite-input");
  inviteInput.type = "number";
  inviteInput.placeholder = "Hunter ID";
  inviteWrapper.append(inviteInput);
  const inviteButton = makeElement("div", ["mousehuntActionButton", "tiny", "mh-ui-quick-invite"]);
  makeElement("span", "", "Invite", inviteButton);
  const indicators = makeElement("div", "mh-ui-quick-invite-indicators");
  const spinner = makeElement("div", ["mh-ui-quick-invite-indicator", "mh-ui-quick-invite-spinner", "hidden"]);
  const success = makeElement("div", ["mh-ui-quick-invite-indicator", "mh-ui-quick-invite-success", "hidden"]);
  indicators.append(spinner);
  indicators.append(success);
  inviteWrapper.append(indicators);
  const inviteError = (message) => {
    debuglog("better-maps", `Invite error: ${message}`);
    inviteInput.disabled = false;
    inviteButton.classList.remove("disabled");
    spinner.classList.add("hidden");
    showErrorMessage({
      message,
      append: inviteWrapper
    });
    return false;
  };
  const inviteAction = () => __async(void 0, null, function* () {
    var _a, _b, _c, _d, _e, _f;
    if (inviteButton.classList.contains("disabled")) {
      return;
    }
    inviteInput.disabled = true;
    inviteButton.classList.add("disabled");
    spinner.classList.remove("hidden");
    const hunterId = Number.parseInt(inviteInput.value, 10);
    if (!hunterId) {
      return inviteError("Invalid hunter ID");
    }
    if ((_a = mapData2 == null ? void 0 : mapData2.hunters) == null ? void 0 : _a.find((h) => h.sn_user_id === hunterId && h.is_active)) {
      return inviteError("Hunter is already on the map");
    }
    debuglog("better-maps", `Inviting hunter ${hunterId} to map ${mapId}`);
    let snuid;
    const friendData = sessionGet("cache-maps-hunter-data", {});
    if (friendData && friendData[hunterId]) {
      debuglog("better-maps", `Using cached friend data for ${hunterId}`);
      snuid = friendData[hunterId];
    } else {
      debuglog("better-maps", `Fetching friend data for ${hunterId}`);
      const getFriendData = yield doRequest("managers/ajax/pages/friends.php", {
        action: "community_search_by_id",
        user_id: hunterId
      });
      if ((getFriendData == null ? void 0 : getFriendData.success) && ((_b = getFriendData == null ? void 0 : getFriendData.friend) == null ? void 0 : _b.sn_user_id)) {
        snuid = (_c = getFriendData == null ? void 0 : getFriendData.friend) == null ? void 0 : _c.sn_user_id;
        const canAccept = (_f = (_e = (_d = getFriendData == null ? void 0 : getFriendData.friend.user_interactions) == null ? void 0 : _d.actions) == null ? void 0 : _e.send_map_invite.maps[0]) == null ? void 0 : _f.is_allowed;
        friendData[hunterId] = {
          snuid: snuid || false,
          canAccept: canAccept || false
        };
        if (canAccept) {
          sessionSet("cache-maps-hunter-data", friendData);
        }
      } else {
        return inviteError("Could not find hunter");
      }
    }
    debuglog("better-maps", `Inviting hunter ${hunterId} with snuid ${snuid} to map ${mapId}`);
    const invited = yield doRequest("managers/ajax/users/treasuremap.php", {
      action: "send_invites",
      map_id: mapId,
      "snuids[]": snuid
    });
    if (invited && (invited == null ? void 0 : invited.success)) {
      debuglog("better-maps", `Successfully invited hunter ${hunterId} to map ${mapId}`);
      inviteInput.value = "";
      inviteInput.disabled = false;
      inviteButton.classList.remove("disabled");
      spinner.classList.add("hidden");
      success.classList.remove("hidden");
      setTimeout(() => {
        success.classList.add("hidden");
      }, 2e3);
    } else {
      return inviteError("Error inviting hunter");
    }
    debuglog("better-maps", ".");
  });
  inviteButton.addEventListener("click", inviteAction);
  inviteInput.addEventListener("keyup", (e) => {
    if (e.key === "Enter") {
      inviteAction();
    }
  });
  inviteWrapper.append(inviteButton);
  sidebar.insertBefore(inviteWrapper, sidebar.firstChild);
});
addSidebarToggle = () => __async(void 0, null, function* () {
  const mapView = document.querySelector(".treasureMapView");
  if (!mapView) {
    return;
  }
  const rightBlock = mapView.querySelector(".treasureMapView-rightBlock");
  if (!rightBlock) {
    return;
  }
  const leftBlock = mapView.querySelector(".treasureMapView-leftBlock");
  if (!leftBlock) {
    return;
  }
  const existing = mapView.querySelector(".mh-ui-goals-sidebar-toggle");
  if (existing) {
    return;
  }
  const toggle = makeElement("a", "mh-ui-goals-sidebar-toggle");
  const isStartingToggled = sessionGet("better-maps-sidebar-toggled", false);
  if ("open" === isStartingToggled) {
    toggle.classList.remove("open");
    toggle.classList.add("closed");
    toggle.setAttribute("data-state", "closed");
    toggle.setAttribute("title", "Show Sidebar");
    mapView.classList.add("mh-ui-goals-sidebar-toggled");
    rightBlock.classList.add("hidden");
    leftBlock.classList.add("full-width");
  } else {
    toggle.classList.remove("closed");
    toggle.classList.add("open");
    toggle.setAttribute("data-state", "open");
    toggle.setAttribute("title", "Hide Sidebar");
    mapView.classList.remove("mh-ui-goals-sidebar-toggled");
    rightBlock.classList.remove("hidden");
    leftBlock.classList.remove("full-width");
  }
  toggle.addEventListener("click", () => {
    const isToggled = toggle.getAttribute("data-state");
    sessionSet("better-maps-sidebar-toggled", isToggled);
    if ("open" === isToggled) {
      toggle.setAttribute("data-state", "closed");
      toggle.setAttribute("title", "Show Sidebar");
      toggle.classList.remove("open");
      toggle.classList.add("closed");
      mapView.classList.add("mh-ui-goals-sidebar-toggled");
      rightBlock.classList.add("hidden");
      leftBlock.classList.add("full-width");
    } else {
      toggle.setAttribute("data-state", "open");
      toggle.setAttribute("title", "Hide Sidebar");
      toggle.classList.remove("closed");
      toggle.classList.add("open");
      mapView.classList.remove("mh-ui-goals-sidebar-toggled");
      rightBlock.classList.remove("hidden");
      leftBlock.classList.remove("full-width");
    }
  });
  leftBlock.append(toggle);
});
makeStickyDraggable = () => {
  const sticky = document.querySelector(".treasureMapView-highlight");
  if (!sticky) {
    return;
  }
  let pos1 = 0;
  let pos2 = 0;
  let pos3 = 0;
  let pos4 = 0;
  const dragMouseDown = (e) => {
    e = e || window.event;
    e.preventDefault();
    pos3 = e.clientX;
    pos4 = e.clientY;
    document.onmouseup = closeDragElement;
    document.onmousemove = elementDrag;
  };
  const elementDrag = (e) => {
    e = e || window.event;
    e.preventDefault();
    pos1 = pos3 - e.clientX;
    pos2 = pos4 - e.clientY;
    pos3 = e.clientX;
    pos4 = e.clientY;
    sticky.style.top = `${sticky.offsetTop - pos2}px`;
    sticky.style.left = `${sticky.offsetLeft - pos1}px`;
  };
  const closeDragElement = () => {
    document.onmouseup = null;
    document.onmousemove = null;
  };
  sticky.onmousedown = dragMouseDown;
};
showGoalsTab = (mapData2) => __async(void 0, null, function* () {
  addArToggle();
  addMouseLinksToMap();
  consolation_prizes_default();
  addClassesToGroups(mapData2);
  moveLeaveButton();
  addQuickInvite(mapData2);
  addSidebarToggle();
  makeStickyDraggable();
});
hideGoalsTab = () => {
  removeArToggle();
};
}
});

// src/modules/better-maps/modules/tab-hunters.js
var makeUserTableLoading, makeUserTable, getInvitedHunterData, getUserData, removeEmptyHunterSlotsFromList, getLeftHunters, modifyButtons, fixPluralInvites, showHuntersTab;
var init_tab_hunters = __esm({
"src/modules/better-maps/modules/tab-hunters.js"() {
init_utils2();
makeUserTableLoading = (id, title, appendTo) => {
  const wrapper = makeElement("div", "treasureMapView-block-title", title);
  wrapper.id = `hunters-loading-${id}-title`;
  appendTo.append(wrapper);
  const loading = makeElement("div", "treasureMapView-block");
  loading.id = `hunters-loading-${id}-block`;
  const loadingWwrapper = makeElement("div", "treasureMapView-allyTable", "");
  const row = makeElement("div", "treasureMapView-allyRow", "");
  makeElement("div", ["mousehuntPage-loading", "active"], "", row);
  loadingWwrapper.append(row);
  loading.append(loadingWwrapper);
  appendTo.append(loading);
};
makeUserTable = (hunters, id, title, appendTo) => __async(void 0, null, function* () {
  const loadingTitle = document.querySelector(`#hunters-loading-${id}-title`);
  const loadingBlock = document.querySelector(`#hunters-loading-${id}-block`);
  if (loadingTitle) {
    loadingTitle.remove();
  }
  if (loadingBlock) {
    loadingBlock.remove();
  }
  const existing = document.querySelector(`#hunters-${id}`);
  if (existing) {
    return;
  }
  const wrapper = makeElement("div", ["mh-ui-custom-map-block", "treasureMapView-block-title"], title.replace("#count#", hunters.length));
  wrapper.id = `hunters-${id}`;
  appendTo.append(wrapper);
  const block = makeElement("div", "treasureMapView-block");
  block.id = `hunters-${id}-block`;
  const blockContent = makeElement("div", "treasureMapView-block-content");
  const table = makeElement("div", "treasureMapView-allyTable");
  hunters.forEach((hunter) => {
    let actions = `<a href="supplytransfer.php?fid=${hunter.sn_user_id}"class="mousehuntActionButton tiny lightBlue"><span>Send<br>Supplies</span></a>`;
    if ("requests" === id) {
      const declineAction = `<a class="treasureMapDialogView-deleteInviteRequest reject-invite-request mh-mapper-invite-request-action" data-snuid="${hunter.sn_user_id}" data-snuid="100000830940163">X</a>`;
      const acceptAction = `<a href="#" class="treasureMapDialogView-continueButton mousehuntActionButton accept-invite-request mh-mapper-invite-request-action" data-snuid="${hunter.sn_user_id}"><span>Accept</span></a>`;
      actions = `${declineAction}${acceptAction}`;
    }
    const markup = `<div class="treasureMapView-allyCell favourite"></div>
<div class="treasureMapView-allyCell image" data-snuid="${hunter.sn_user_id}">
  <div class="treasureMapView-hunter" data-snuid="${hunter.sn_user_id}">
    <div class="treasureMapView-hunter-image-wrapper">
      <img src="${hunter.profile_pic}" class="treasureMapView-hunter-image">
    </div>
  </div>
</div>
<div class="treasureMapView-allyCell name">
  <div class="treasureMapView-ally-name">
  <a href="https://www.mousehuntgame.com/profile.php?snuid=${hunter.sn_user_id}">${hunter.name}</a>
  </div>
  <a href="#" class="treasureMapView-ally-environment treasureMapView-travelButton" data-environment-id="${hunter.environment_id}">
  ${hunter.environment_name}
  </a>
</div>
<div class="treasureMapView-allyCell lastActive">
  <div class="treasureMapView-ally-lastActive ${hunter.is_online ? "online" : ""}">
    ${hunter.last_active_formatted}
  </div>
</div>
<div class="treasureMapView-allyCell trap">
  <div class="treasureMapView-componentContainer">
    <div class="treasureMapView-componentThumb" style="background-image: url(${hunter.base_thumb});" title="${hunter.base_name}"></div>
    <div class="treasureMapView-componentThumb" style="background-image: url(${hunter.weapon_thumb});" title="${hunter.weapon_name}"></div>
    <div class="treasureMapView-componentThumb" style="background-image: url(${hunter.bait_thumb});" title="${hunter.bait_name}"></div>
    <div class="treasureMapView-componentThumb" style="background-image: url(${hunter.trinket_thumb});" title="${hunter.trinket_name}"></div>
  </div>
</div>
<div class="treasureMapView-allyCell actions">${actions}</div>`;
    makeElement("div", "treasureMapView-allyRow", markup, table);
  });
  block.append(table);
  blockContent.append(block);
  appendTo.append(block);
  if ("requests" === id) {
    const actionButtons = document.querySelectorAll(".mh-mapper-invite-request-action");
    actionButtons.forEach((button) => {
      button.addEventListener("click", () => {
        const snuid = Number.parseInt(button.dataset.snuid, 10);
        if (button.classList.contains("accept-invite-request")) {
          hg.utils.TreasureMapUtil.acceptInviteRequests(mapper("mapData").map_id, [snuid], () => {
          }, () => {
          });
        } else {
          hg.utils.TreasureMapUtil.declineInviteRequests(mapper("mapData").map_id, [snuid], () => {
          }, () => {
          });
        }
      });
    });
  }
});
getInvitedHunterData = (invited) => __async(void 0, null, function* () {
  if (invited.length === 0) {
    return [];
  }
  if (invited.length <= 12) {
    const hunters2 = yield getUserData(invited);
    return hunters2;
  }
  const batches = [];
  for (let i = 0; i < invited.length; i += 12) {
    batches.push(invited.slice(i, i + 12));
  }
  const hunters = [];
  for (const batch_ of batches) {
    const batch = yield getUserData(batch_);
    hunters.push(...batch);
  }
  return hunters;
});
getUserData = (userId) => __async(void 0, null, function* () {
  return new Promise((resolve) => {
    hg.utils.User.getUserData(
      userId,
      [
        "bait_name",
        "bait_thumb",
        "base_name",
        "base_thumb",
        "environment_id",
        "environment_name",
        "is_online",
        "last_active_formatted",
        "trinket_name",
        "trinket_thumb",
        "weapon_name",
        "weapon_thumb"
      ],
      (resp) => {
        resolve(resp);
      }
    );
  });
});
removeEmptyHunterSlotsFromList = () => __async(void 0, null, function* () {
  const emptySlots = document.querySelectorAll(".treasureMapView-allyCell.name");
  if (emptySlots.length) {
    let shouldRemove = false;
    emptySlots.forEach((slot) => {
      if (slot.textContent === "The map owner can invite more hunters." || slot.textContent === "Click to invite a friend.") {
        if (shouldRemove) {
          shouldRemove.parentNode.remove();
        }
        slot.parentNode.classList.add("hunters-last-slot");
        shouldRemove = slot;
      }
    });
  }
});
getLeftHunters = (mapData2) => {
  const huntersLeft = [];
  mapData2.hunters.forEach((hunter) => {
    if (!hunter.is_active) {
      huntersLeft.push(hunter);
    }
  });
  return huntersLeft;
};
modifyButtons = () => {
  const buttons = [
    {
      selector: ".mh-ui-find-hunters-block .treasureMapAlliesView-showInviteButton",
      text: "Invite Friends"
    },
    {
      selector: ".mh-ui-find-hunters-block .treasureMapAlliesView-showInviteTeamButton",
      text: "Invite Team"
    },
    {
      selector: ".mh-ui-map-settings-block .treasureMapView-inviteModeButton",
      text: "Change Settings"
    },
    {
      selector: ".mh-ui-share-block .treasureMapView-copyShareLinkButton",
      text: "Copy"
    }
  ];
  buttons.forEach((button) => {
    const el = document.querySelector(button.selector);
    if (el) {
      el.classList.add("tiny");
      const text = el.querySelector("span");
      if (text) {
        text.textContent = button.text;
      }
    }
  });
};
fixPluralInvites = () => {
  const invitesEl = document.querySelector(".treasureMapView-numInvitesSent");
  if (invitesEl && invitesEl.textContent === "1 invites sent.") {
    invitesEl.innerHTML = invitesEl.innerHTML.replace("invites", "invite");
  }
};
showHuntersTab = (mapData2) => __async(void 0, null, function* () {
  var _a;
  modifyButtons();
  removeEmptyHunterSlotsFromList();
  fixPluralInvites();
  const leftBlock = document.querySelector(".treasureMapView-leftBlock");
  if (!leftBlock) {
    return;
  }
  const huntersLeft = getLeftHunters(mapData2);
  if (huntersLeft.length) {
    makeUserTable(huntersLeft, "left", `Hunters that have left map (${huntersLeft.length || 0})`, leftBlock);
  }
  if (mapData2.invited_hunters.length) {
    makeUserTableLoading("invited", `Invited hunters (${mapData2.invited_hunters.length || 0})`, leftBlock);
    const invitedData = yield getInvitedHunterData(mapData2.invited_hunters);
    makeUserTable(invitedData, "invited", "Invited hunters (#count#)", leftBlock);
  }
  if (((_a = mapData2.invite_requests) == null ? void 0 : _a.length) > 0) {
    makeUserTableLoading("requests", `Invite Requests (${mapData2.invite_requests.length || 0})`, leftBlock);
    const requestData = yield getInvitedHunterData(mapData2.invite_requests);
    makeUserTable(requestData, "requests", "Invite Requests (#count)", leftBlock);
  }
});
}
});

// src/modules/better-maps/styles/general.css
var general_default2;
var init_general2 = __esm({
"src/modules/better-maps/styles/general.css"() {
general_default2 = '.treasureMapView-singleEnvironment-label{padding-bottom:8px}.treasureMapView-block.treasureMapView-singleEnvironment{border-radius:2px}.treasureMapView-block-content.halfHeight{padding:0;border-radius:0}.treasureMapView-block{border-radius:3px}.treasureMapView-mapMenu-group.rewards .treasureMapView-mapMenu-group-title,.treasureMapView-ally-ownerLabel{display:none}input.treasureMapView-shareLinkInput{display:inline-block;width:87px;padding:3px;margin-right:2px}.treasureMapView-ownerRequestActions{display:block;width:61px;margin:0 auto}.treasureMapView-mapMenu-group.rewards{display:flex;flex-direction:row-reverse;margin-top:-10px;margin-right:-5px}.rewards .treasureMapView-mapMenu-rewardName{max-width:unset;margin-right:3px;font-size:12px}.rewards .treasureMapView-mapMenu-subgroup.chest.mousehuntTooltipParent{display:flex;flex-direction:row-reverse;gap:5px;align-items:center}.rewards .treasureMapView-mapMenu-group-content{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:335px}.max_hunters_10 .rewards .treasureMapView-mapMenu-group-content{max-width:200px}.rewards .treasureMapView-mapMenu-auraIcon{width:33px;height:33px;margin-top:-10px}.treasureMapView-mapMenu.max_hunters_8 .treasureMapView-mapMenu-auraIcon,.treasureMapView-mapMenu.max_hunters_9 .treasureMapView-mapMenu-auraIcon,.treasureMapView-mapMenu.max_hunters_10 .treasureMapView-mapMenu-aura-name .treasureMapView-mapMenu-auraIcon,.treasureMapView-mapMenu.max_hunters_10 .treasureMapView-mapMenu-auraIcon{width:44px;height:44px}.rewards .treasureMapView-mapMenu-auraIconContainer{margin:0}.rewards .treasureMapView-mapMenu-group-actions{display:flex;flex-direction:row;justify-content:flex-end;width:auto}.rewards .treasureMapView-mapMenu-group-actions .mousehuntActionButton{margin-top:5px;margin-right:4px;margin-bottom:0!important}.treasureMapView-allyCell.name{padding-left:10px}.treasureMapView-ally-name{padding-bottom:5px}.treasureMapView-mapMenu-mapIcon{width:45px}.max_hunters_10 .treasureMapView-mapMenu-mapIcon{width:60px}img.treasureMapView-reward-chestIcon{box-sizing:border-box;width:160px;height:160px;padding:0;margin:20px auto;background:transparent;box-shadow:none}.treasureMapInvitesView .treasureMapView-leftBlock:first-child .treasureMapView-block-title:first-child{display:none}.treasureMapView-block-content.noMinHeight.noPadding.treasureMapInvitesView-scoreboards .treasureMapView-block-title:nth-child(3),.treasureMapView-block-content.noMinHeight.noPadding.treasureMapInvitesView-scoreboards .treasureMapView-scoreboard:nth-child(4){display:none}.treasureMapInventoryView-scrollCase-aura{overflow:hidden;font-size:9px;line-height:15px}.treasureMapInventoryView-scrollCase-aura br:after{content:" "}.treasureMapInventoryView-scrollCase-aura br{content:""}.treasureMapInventoryView-scrollCase-aura b:first-of-type{display:block;font-size:10px}.treasureMapShopsView .treasureMapView-leftBlock{width:99%}.treasureMapShopsView .treasureMapView-rightBlock{display:none}.treasureMapPopup-shop{padding:10px;margin-bottom:10px;background-color:#fbfbfb;border:1px solid #ccc;border-radius:4px}.treasureMapPopup-shop-environment.active:before{box-shadow:none}.treasureMapView-block-content-heading{margin:10px 0 5px}.treasureMapInventoryView-scrollCase{align-items:center;padding:10px;margin-top:8px;margin-bottom:10px;background-color:#fbfbfb;border:1px solid #ccc;border-radius:4px}.mh-dark-mode .treasureMapInventoryView-scrollCase{color:#000;background-color:#32323240;border-color:#424242}.mh-dark-mode .treasureMapPopup-shop-item-description-costContainer{border-top-color:#424242}.treasureMapView-block-content-heading-image{margin-right:10px}.mh-dark-mode .treasureMapShopsView-shopItems .treasureMapView-block-content-heading,.mh-dark-mode .treasureMapShopsView-shopItems .treasureMapView-block-content-heading-count{color:#000}.mh-dark-mode .pageFrameView .treasureMapPopup-shop-environment.active:before{background-color:transparent}.treasureMapPopup-shop[data-environment-type=rift_valour]{background-color:#e5daed}.treasureMapPopup-shop[data-environment-type=rift_bristle_woods]{background-color:#bda39e}.treasureMapPopup-shop[data-environment-type=rift_furoma]{background-color:#ffdca4}.treasureMapPopup-shop[data-environment-type=rift_whisker_woods]{background-color:#cfe07e}.treasureMapPopup-shop[data-environment-type=rift_burroughs]{background-color:#c6c6c6}.treasureMapPopup-shop[data-environment-type=rift_gnawnia]{background-color:#ffdaf4}.treasureMapPopup-shop[data-environment-type=table_of_contents]{background-color:#dfffd4}.treasureMapPopup-shop[data-environment-type=prologue_pond]{background-color:#d3ffff}.treasureMapPopup-shop[data-environment-type=foreword_farm]{background-color:#faedcd}.treasureMapPopup-shop[data-environment-type=floating_islands]{background-color:#fce0d7}.treasureMapPopup-shop[data-environment-type=moussu_picchu]{background-color:#fed3ff}.treasureMapPopup-shop[data-environment-type=ancient_city]{background-color:#ccc}.treasureMapPopup-shop[data-environment-type=fungal_cavern]{background-color:#c3f3de}.treasureMapPopup-shop[data-environment-type=sunken_city]{background-color:#c8f9ff}.treasureMapPopup-shop[data-environment-type=queso_geyser],.treasureMapPopup-shop[data-environment-type=queso_quarry],.treasureMapPopup-shop[data-environment-type=queso_plains],.treasureMapPopup-shop[data-environment-type=queso_river]{background-color:#f8f3ae}.treasureMapPopup-shop[data-environment-type=fort_rox]{background-color:#f2d5c9}.treasureMapPopup-shop[data-environment-type=desert_oasis]{background-color:#d1e7bf}.treasureMapPopup-shop[data-environment-type=desert_city]{background-color:#e48f89}.treasureMapPopup-shop[data-environment-type=desert_warpath]{background-color:#ffb280}.treasureMapPopup-shop[data-environment-type=slushy_shoreline]{background-color:#a0d3ee}.treasureMapPopup-shop[data-environment-type=seasonal_garden]{background-color:#e8e8e9}.treasureMapPopup-shop[data-environment-type=pollution_outbreak]{background-color:#cde691}.treasureMapPopup-shop[data-environment-type=kings_gauntlet]{background-color:#ccc}.treasureMapPopup-shop[data-environment-type=cape_clawed]{background-color:#b8d3dc}.treasureMapPopup-shop[data-environment-type=catacombs]{background-color:#a88ca4}.treasureMapPopup-shop[data-environment-type=great_gnarled_tree]{background-color:#abd59b}.treasureMapPopup-shop[data-environment-type=town_of_digby]{background-color:#e5e6d8}.treasureMapPopup-shop[data-environment-type=mousoleum]{background-color:#d6c8a2}.treasureMapPopup-shop[data-environment-type=harbour]{background-color:#fffcb6}.treasureMapPopup-shop[data-environment-type=queso_quarry],.treasureMapPopup-shop[data-environment-type=queso_plains]{display:none}.treasureMapPopup-shop-item-description-costContainer{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding-top:5px;margin-top:10px;border-top:1px solid #ccc}.treasureMapInventoryView-scrollCase-name{padding-bottom:5px}.mapper-self img{border-radius:50%;outline:2px solid #73ddff}.treasureMapView-block-title.mh-ui-scavenger-hunt-title,.treasureMapView-block.treasureMapView-scavengerHunt{display:none}.treasureMapView-hunter.empty img.treasureMapView-hunter-image{border:1px solid #aaa;opacity:.4}.treasureMapDialogView-userSelector .userSelectorView-content{height:550px}.treasureMapDialogView .userSelector-cell.name{font-size:12px}td.userSelector-cell.map_num_clues_found.number{font-size:8px}th.userSelector-column.is_favourite{color:transparent}.userSelector-table th.userSelectorView-sortByLink{text-align:center}.userSelector-table th.userSelectorView-sortByLink:after{margin-right:10px;margin-left:1px}.userSelectorView-filterContainer{font-size:12px}label.userSelectorView-filter-label{color:transparent}.treasureMapUserSelectorView-toggleFavouritesContainer.treasureMapView-block-title label{font-weight:400}.treasureMapDialogView .userSelector-cell abbr{text-decoration:none}.treasureMapDialogView-userSelector-selectedUserList-content{counter-reset:sent left}.treasureMapDialogView-userSelector-selectedUser{position:relative;counter-increment:sent}.treasureMapDialogView-userSelector-selectedUser.empty{counter-increment:left}.treasureMapUserSelectorView-actions:hover .treasureMapDialogView-userSelector-selectedUser:after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#fff;text-align:center;text-shadow:-1px 0 1px #000,1px 0 1px #000,0 0 0 #000,0 -1px 1px #000,0 1px 1px #000,0 0 0 #000;content:counter(sent)}.treasureMapUserSelectorView-actions:hover .treasureMapDialogView-userSelector-selectedUser.empty:after{content:counter(left)}.userSelector-table .userSelector-groupHeading td{padding:5px 0 2px 5px;border-right:none;border-left:none}.userSelector-table .userSelector-groupHeading td:first-child{border-top:none}.treasureMapView-environment-hunters .treasureMapView-hunter.captain .treasureMapView-hunter-image{width:20px;height:20px}.mh-mapper-consolation-prizes{display:flex;flex-direction:column;margin:10px 5px}h2.mh-mapper-consolation-prizes-title{padding:5px;margin-top:10px;font-size:12px;font-weight:700}.mh-mapper-consolation-prize{display:flex;flex-direction:row;align-items:center}img.mh-mapper-consolation-prize{width:25px;height:25px;margin-right:5px}.treasureMapView-block-title.mh-ui-environments-title,.treasureMapView-block-title.mh-ui-map-location-title,.treasureMapView-block-title.mh-ui-consolation-prizes-title{display:none}.treasureMapView-block-title.mh-ui-goals-title{margin:-7px;color:transparent}.treasureMapRootView-subTab-label{display:none}.treasureMapView-block-search{right:7px;bottom:15px}input.treasureMapView-block-search-text{height:25px;font-size:12px;border:1px solid #ccc}.treasureMapRootView-subTabRow{align-items:center}.treasureMapView-highlight{padding:0;border-radius:6px;outline:1px solid #505050;box-shadow:0 2px 3px -1px #292929,0 2px 10px -2px #ababab}.treasureMapView-highlight-content{padding:6px 0}.treasureMapView-highlight.goal.active.sticky.mouse.has-mhct-ars{width:40%}.treasureMapView-highlight-weakness-types img{width:17px}.treasureMapView-goals-groups.incomplete{padding-bottom:15px}.treasureMapView-highlight.environment .treasureMapView-highlight-content,.treasureMapView-highlight-description{padding:10px}.mh-ui-environments-block{border:none}.mh-ui-environments-block .treasureMapView-block-content.halfHeight{max-height:unset}.treasureMapView-goals-group-goal{width:calc(33% - 5px);margin:3px 5px 3px 0}.treasureMapView-goals-group-goal.notAvailable{opacity:.5}.treasureMapView-goals-group-goal.notAvailable:hover,.treasureMapView-goals-group-goal.notAvailable.sticky{opacity:1}.complete .treasureMapView-goals-group-goal-name,.complete .treasureMapView-goals-group-goal-padding{height:35px}.treasureMapView-goals-group-goal.complete:after{top:12px;left:7px;width:21px;height:21px}.treasureMapView-mapLeaveContainer .mousehuntActionButton.lightBlue.treasureMapView-leaveMapButton,.mousehuntActionButton.mh-ui-leave-map-button{background:#ffa5a5}.treasureMapView-mapLeaveContainer .mousehuntActionButton.lightBlue.treasureMapView-leaveMapButton:before,.mousehuntActionButton.mh-ui-leave-map-button:before{background:#f27b6a;box-shadow:0 0 10px #ffa5a5 inset}.treasureMapView-mapLeaveContainer .mousehuntActionButton.lightBlue.treasureMapView-leaveMapButton:hover:before,.treasureMapView-mapLeaveContainer .mousehuntActionButton.lightBlue.treasureMapView-leaveMapButton:focus:before,.mousehuntActionButton.mh-ui-leave-map-button:hover:before,.mousehuntActionButton.mh-ui-leave-map-button:focus:before{background:#ffa5a5}.treasureMapView-block-content.treasureMapInvitesView-scoreboards{padding:2px;overflow-x:hidden}.mh-dark-mode .pageFrameView #overlayPopup.treasureMapPopup .treasureMapRootView-content a.treasureMapView-block-row.active{color:#000;background:#f2eb6f}.treasureMapView-hunter.upgrader .treasureMapView-hunter-image{box-shadow:0 0 1px 3px #ffb40c}.treasureMapView-hunter-miceCaught.active{background-color:#eee}.mh-dark-mode .pageFrameView .treasureMapView-rightBlock{padding:0;background-color:transparent}.treasureMapView-highlight-catcher{display:inline-block;height:auto;background:none;border:none}.treasureMapView-highlight-group,.treasureMapView-highlight-environments{text-align:center}.treasureMapView-highlight-catcher-title{display:inline-block;margin-top:-20px;margin-left:12px;vertical-align:middle}.treasureMapView-highlight-weakness-title{font-size:8.4px}.treasureMapView-highlight.goal{width:30%}.treasureMapView-highlight-weaknessContainer{display:flex;align-items:baseline;margin:0 1px}.treasureMapInventoryView-relicHunter-hintSuffix{margin-bottom:10px;font-size:10px;font-style:italic;text-align:center}.treasureMapInventoryView-relicHunter{padding-top:120px}.treasureMapInventoryView-relicHunter:before{height:110px;border-bottom:1px solid #ccc}.treasureMapPopup-season-reward-name{padding:2px;font-size:11px}.treasureMapPopup-seasonContainer.mousehuntTooltipParent{font-size:11px}.treasureMapInventoryView .treasureMapView-block-search{right:0}.treasureMapInventoryView .treasureMapView-block-title,.treasureMapShopsView .treasureMapView-block-title{margin-bottom:0;visibility:hidden}.treasureMapInventoryView .treasureMapView-block-search,.treasureMapShopsView .treasureMapView-block-search{visibility:visible}.treasureMapRootView-footer .treasureMapRootView-footer-item{font-size:11px}.treasureMapRootView-footer .treasureMapRootView-footer-item:nth-child(3) .treasureMapRootView-footer-item-thumb,.treasureMapRootView-footer .treasureMapRootView-footer-item:nth-child(4) .treasureMapRootView-footer-item-thumb{height:21px;padding-left:3px;margin-right:-10px;background-color:#7b789a;background-repeat:no-repeat;background-position:center;border-top-right-radius:0;border-bottom-right-radius:0}.treasureMapRootView-footer .treasureMapRootView-footer-item:nth-child(3) .treasureMapRootView-footer-item-quantity,.treasureMapRootView-footer .treasureMapRootView-footer-item:nth-child(4) .treasureMapRootView-footer-item-quantity{height:13px;padding:4px;margin-left:5px;border-top-left-radius:0;border-bottom-left-radius:0}.treasureMapView-mapMenu.treasureMapRootView-padding{margin-bottom:30px}.treasureMapView-mapMenu.treasureMapRootView-padding.max_hunters_10{margin-bottom:50px}.mh-ui-we-did-it-title{display:none}.mh-ui-we-did-it-block{margin-top:3px}.treasureMapView-block.treasureMapView-reward.mh-ui-we-did-it-block{margin-top:3px;background-color:#95ef9b;border-color:#14851b}.treasureMapPopup-mapInvite .treasureMapView-hunter-wrapper.mousehuntTooltipParent{font-size:10px}.treasureMapPopup-mapInvite .treasureMapView-hunter{margin:3px 0}.treasureMapView-mapMenu-group-content.upgraded .treasureMapView-mapMenu-mapIcon,.treasureMapListingsTableView-mapThumbnail.rare{filter:drop-shadow(0 0 2px #ffb40c) drop-shadow(0 0 5px #ffb40c);box-shadow:none}.treasureMapDialogView-inviteFriend-completeContainer{display:grid;grid-template-columns:repeat(4,1fr);place-items:stretch stretch}.treasureMapDialogView-inviteFriend-complete{display:flex;align-items:center;justify-content:flex-start;text-align:left}.treasureMapDialogView-environmentGoals{max-height:unset}.treasureMapView-hunter-icon{top:-9px}.treasureMapTooltipView.active{transform:translateY(0)}.treasureMapView-mapWarning.treasureMapRootView-padding{padding-left:5px;margin-bottom:10px;font-size:10px;line-height:1.5;text-align:center;box-shadow:0 0 1px 1px #ffa5a5}.treasureMapView-consolationPrizeMessage{margin:15px 0;box-shadow:0 0 1px 1px #ffa5a5}.treasureMapView-mapWarning:before{display:none}.treasureMapDialogView-title{margin-bottom:5px}.incomplete .treasureMapView-goals-group-goal-padding{overflow:visible}.treasureMapView-goals-group-goal-image{width:34px;height:100%;border-radius:5px}.treasureMapView-goals-group-goal.landscape .treasureMapView-goals-group-goal-image{height:48px;background-position:center}.treasureMapView-goals-group-goal.complete.landscape .treasureMapView-goals-group-goal-image{height:33px}.treasureMapPopup-shop .treasureMapView-block-content-heading{border-color:transparent}.treasureMapView-goals-group-goal:hover:before,.treasureMapView-goals-group-goal.sticky:before{inset:-1px;outline:1px solid #ccc;box-shadow:none}.treasureMapView-goals-group-goal.item{padding:5px 0}.treasureMapView-goals-group-goal:hover:before{background-color:#ececec}.treasureMapView-goals-group-goal:hover .treasureMapView-goals-group-goal-image{mix-blend-mode:multiply}.treasureMapView-highlight.environment{top:25px;right:175px;left:unset;width:38%}.treasureMapView-highlight-environments{max-height:126px;margin-left:10px;overflow-y:auto}.treasureMapView-scoreboard-table .treasureMapView-block-row:hover{background-color:#eee}\n';
}
});

// src/modules/better-maps/styles/helper.css
var helper_default2;
var init_helper2 = __esm({
"src/modules/better-maps/styles/helper.css"() {
helper_default2 = "#custom-submenu-item-mh-improved-map-helper .name{display:flex;flex-direction:column;justify-content:center;height:30px;line-height:1.3}#custom-submenu-item-mh-improved-map-helper .title{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}#custom-submenu-item-mh-improved-map-helper .subtitle{font-size:10px}.mh-improved-map-helper-popup pre{box-sizing:border-box;width:100%;height:400px;padding:10px;overflow:scroll;font-family:monospace;white-space:normal;background-color:#eee}\n";
}
});

// src/modules/better-maps/styles/hunters.css
var hunters_default;
var init_hunters = __esm({
"src/modules/better-maps/styles/hunters.css"() {
hunters_default = ".treasureMapView-componentContainer{width:130px}.treasureMapView-block.treasureMapView-invitedHuntersList{margin:20px 0}.treasureMapView-block.treasureMapView-invitedHuntersList .userSelectorView-user-image{width:20px;height:20px}.treasureMapView-block.treasureMapView-invitedHuntersList .treasureMapView-invitedHuntersList-row-link{font-size:10px}.treasureMapView-invitedHuntersList-row{margin-top:3px}.treasureMapDialogView-deleteInviteRequest.reject-invite-request{display:inline-block;width:12px;padding:3px;margin-right:6px;color:#242424;text-align:center;background-color:#dcd5d5;border-radius:50%}.treasureMapDialogView-deleteInviteRequest.reject-invite-request:hover,.treasureMapDialogView-deleteInviteRequest.reject-invite-request:focus,.treasureMapDialogView-deleteInviteRequest.reject-invite-request:active{text-decoration:none;background-color:#a3a3a3}.treasureMapView-allyRow:last-child .treasureMapView-allyCell.hunters-last-slot{display:inline-block;width:90px;margin-top:16px;margin-left:10px;font-style:italic;white-space:nowrap;vertical-align:middle}.treasureMapView-mapMenu-group-invite.mh-ui-invite-wrapper{display:flex;gap:5px}.treasureMapView-mapMenu-group-invite .mousehuntActionButton.mh-ui-invite-button{margin-bottom:0!important}.mh-ui-find-hunters-title,.mh-ui-map-settings-title,.mh-ui-share-title{display:none}.mh-ui-find-hunters-block{margin-top:18px}.mh-ui-map-settings-block .treasureMapView-block-content{display:flex;flex-direction:column;gap:5px;align-items:stretch;justify-content:center}.treasureMapView-block.mh-ui-share-block .treasureMapView-block-content{display:flex;gap:3px;align-items:center}a.mousehuntActionButton.lightBlue.treasureMapView-inviteModeButton{margin-top:0}.mh-ui-find-hunters-block .treasureMapView-mapMenu-group-invite{display:flex;align-items:stretch;justify-content:space-around}.treasureMapView-mapMenu-group-invite .mousehuntActionButton{margin-bottom:0!important}.treasureMapView-header .treasureMapView-hunter-image{min-width:44px;min-height:44px}.mh-ui-quick-invite-wrapper{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:space-around;max-width:185px;padding:10px;margin-bottom:10px;background-color:#eee;border:1px solid #ccc;border-radius:3px}input.mh-ui-quick-invite-input{width:auto;max-width:100px;padding:5px;margin:0;border:1px solid #c6c6c6}.mh-ui-quick-invite-indicator{position:absolute;top:15px;right:65px;width:20px;height:20px}.mh-ui-quick-invite-indicator.mh-ui-quick-invite-spinner{background-image:url(https://www.mousehuntgame.com/images/ui/loaders/small_spinner.gif?asset_cache_version=2);background-repeat:no-repeat;background-size:16px}.mh-ui-quick-invite-indicator.mh-ui-quick-invite-success{background-image:url(https://www.mousehuntgame.com/images/ui/hud/meadow_checkmark.png?asset_cache_version=2);background-repeat:no-repeat;background-size:16px}.mh-ui-quick-invite-wrapper .mh-ui-error-message{position:absolute;top:42px;right:5px;left:5px;text-align:center}span.treasureMapView-shareLinkInputStatus{display:none}.treasureMapView-mapMenu-group-invite{display:flex;flex-direction:column;gap:10px}.treasureMapView-inviteModeDescription{margin-bottom:5px}\n";
}
});

// src/modules/better-maps/styles/map-ar.css
var map_ar_default;
var init_map_ar = __esm({
"src/modules/better-maps/styles/map-ar.css"() {
map_ar_default = ".treasureMapView.treasure .treasureMapView-goals-group-goal[data-mh-ui-ar=true] .treasureMapView-goals-group-goal-name,.treasureMapView.event .treasureMapView-goals-group-goal[data-mh-ui-ar=true] .treasureMapView-goals-group-goal-name{position:relative;display:flex;flex-direction:column;gap:3px;align-items:flex-start;justify-content:center}.mh-ui-ar{padding:3px;font-size:10px;color:#000;background-color:#fff;border:1px solid #d9d9d9;border-radius:4px}.poster .mh-ui-ar{position:absolute;right:0;bottom:-7px;font-family:lucida grande,tahoma,verdana,arial,sans-serif;font-size:10px;color:#000;text-shadow:none}.mh-ui-ar-hidden .mh-ui-ar{display:none}.complete .mh-ui-ar{background-color:#e5e5e5}.mh-ui-ar-guaranteed{background-color:#0ef;border-color:#8fb1b3}.mh-ui-ar-super-easy{background-color:#8ffaab;border-color:#73b484}.mh-ui-ar-easy{background-color:#b9ff9e;border-color:#8fb17a}.mh-ui-ar-medium{background-color:#ffdab9;border-color:#c5a381}.mh-ui-ar-hard{background-color:#ffc440;border-color:#c59c40}.mh-ui-ar-super-hard{background-color:#ff9e9e;border-color:#c55a5a}.mh-ui-ar-extreme{color:#fff;background-color:#ed6464;border-color:#a64a4a}.mh-ui-ar-impossible{color:#fff;background-color:#c92222;border-color:#5a2121}.mh-ui-toggle-ar-button,.mh-ui-ar-failed{margin-left:10px}.treasure .treasureMapView-goals-group-goal[data-mh-ui-ar=true].item .treasureMapView-goals-group-goal-name,.event .treasureMapView-goals-group-goal[data-mh-ui-ar=true].item .treasureMapView-goals-group-goal-name{align-items:center}\n";
}
});

// src/modules/better-maps/styles/mhct.css
var mhct_default;
var init_mhct = __esm({
"src/modules/better-maps/styles/mhct.css"() {
mhct_default = ".mhct-data{display:none}.mouse-container-selected .mhct-data{display:block}.treasureMapView-highlight.goal.sticky .mh-ui-mouse-links-map-ars .mhct-data{display:block;margin-top:1px}.mhct-title{display:none;padding:10px;margin-bottom:10px;font-size:12px;border-bottom:1px solid #dedede}.mhct-row{display:grid;grid-template-columns:3fr 3fr 1fr;column-gap:4px;place-items:center stretch;padding:4px;font-size:11px;color:#000}.mhct-row:nth-child(odd){background-color:#e2e2e2}.mhct-location{display:flex;flex-direction:column}.mhct-stage{color:#666}.mh-dark-mode .mhct-stage{color:#a7a7a7}.mhct-rate{font-family:monospace;font-size:13px;text-align:right}.mh-ui-mouse-links-map-ars{display:none}.sticky .mh-ui-mouse-links-map-ars{display:block}.mh-ui-mouse-links-map-ars .mhct-data{position:relative;display:flex;margin:0;color:#000;background-color:#fff;border-top:none;border-radius:6px}.mh-dark-mode .mh-ui-mouse-links-map-ars .mhct-data{color:#fff;border-color:#2c2c2c}.mh-ui-mouse-links-map-ars .mhct-row:nth-child(odd){color:#000;background-color:#f2f2f2}.mh-ui-mouse-links-map-ars .mhct-rate{display:flex;align-items:center;height:100%;font-size:13px}.mh-ui-mouse-links-map-ars .mhct-row{place-items:start stretch}.mh-ui-mouse-links-map-ars .mhct-title{display:flex;align-items:center;justify-content:space-between;padding:5px;font-size:11px;color:#000;background-color:#d6d6d6;border-top:1px solid #dedede;border-bottom:1px solid #2c415a;border-top-left-radius:4px;border-top-right-radius:4px}.mh-dark-mode .mh-ui-mouse-links-map-ars .mhct-title{color:#fff;background-color:#000;border-color:#2c2c2c}.mh-ui-mouse-links-map-ars .mhct-stage{max-width:80px;overflow:hidden;text-overflow:ellipsis}.treasureMapView-highlight-content{border-bottom-right-radius:0;border-bottom-left-radius:0}.mh-ui-mouse-links-map-ars .mhct-title,.mh-ui-mouse-links-map-ars .mhct-data{border-top-left-radius:0;border-top-right-radius:0}.mh-ui-mouse-links-map-ars .mhct-row:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}\n";
}
});

// src/modules/better-maps/styles/sidebar.css
var sidebar_default;
var init_sidebar = __esm({
"src/modules/better-maps/styles/sidebar.css"() {
sidebar_default = ".mh-mapper-sidebar{padding:0;margin:10px 0 20px;border:1px solid #ddedff}.mh-mapper-sidebar .mh-mapper-sidebar-name{width:auto;padding:5px;background-color:#ddedff}.mh-mapper-sidebar-mouse:hover,.mh-mapper-sidebar-mouse:focus,.mh-mapper-sidebar-mouse:active{filter:none}.mh-mice-sidebar{background-color:#ddedff}.mh-mapper-sidebar .mousehuntHud-userStat.treasureMap{display:flex;align-items:center;justify-content:center;width:100%;text-shadow:none}.mh-mapper-sidebar .mousehuntHud-userStat.treasureMap .label{width:auto;padding:0;color:#181818;text-shadow:none}.mh-mapper-sidebar .mousehuntHud-userStat.treasureMap .icon{margin-right:10px}.mh-mapper-sidebar-mouse{display:flex;gap:5px;align-items:center;justify-content:flex-start;padding:1px 5px}.mh-mapper-sidebar .mouse-image{width:25px;height:25px}\n";
}
});

// src/modules/better-maps/styles/sorted-map.css
var sorted_map_default;
var init_sorted_map = __esm({
"src/modules/better-maps/styles/sorted-map.css"() {
sorted_map_default = "#sorted-mice-container .mouse-category-twilight-midnight-pitch .mouse-category-title{font-size:13px}#sorted-mice-container .mouse-category-first-light-utter-darkness .mouse-category-title{font-size:12px}\n";
}
});

// src/modules/better-maps/styles/sorted.css
var sorted_default;
var init_sorted = __esm({
"src/modules/better-maps/styles/sorted.css"() {
sorted_default = `#sorted-mice-container{margin:20px 5px}#sorted-mice-container .mouse-category-container{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;place-items:stretch stretch;margin-bottom:25px}#sorted-mice-container .mouse-category-wrapper{position:relative;color:#000;background-color:#e6e6e6;border:1px solid rgb(5 5 5 / 50%);border-radius:0;box-shadow:0 2px 1px -1px #909090}#sorted-mice-container .mouse-category-header{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:6px 10px;margin-bottom:3px;color:#000;background-color:#ffffffa6;border-bottom:1px solid rgb(5 5 5)}#sorted-mice-container .mouse-category-icon{width:30px;height:30px;margin-right:10px}#sorted-mice-container .mouse-category-icon-title-wrapper{display:flex;align-items:center}#sorted-mice-container .mouse-category-title{font-size:14px}#sorted-mice-container .mouse-category-subtitle{margin-top:2px;font-size:11px;font-style:italic}#sorted-mice-container .mouse-category-mice{padding:4px}#sorted-mice-container .mouse-container{padding-right:5px;margin-bottom:5px;cursor:pointer;border-radius:4px}#sorted-mice-container .mouse-data{position:relative;display:flex;align-items:center}#sorted-mice-container .mouse-name{flex:1}#sorted-mice-container .mouse-extra-info{display:none}#sorted-mice-container .mouse-container-selected,#sorted-mice-container .mouse-container:hover,#sorted-mice-container .mouse-container:focus{position:relative;background:#ffffff7f;outline:1px solid rgb(25 25 25 / 35%)}#sorted-mice-container .mouse-container-selected .mouse-mhct-extra-info-wrapper{position:absolute;z-index:10;display:block;padding:10px 5px;margin:-5px -10px;background-color:#eaeaea;border:1px solid #000;border-radius:3px;box-shadow:0 10px 15px #00000087}#sorted-mice-container .mouse-subcategory-mice .mouse-container-selected .mouse-mhct-extra-info-wrapper{right:-15px;left:-15px}#sorted-mice-container .mouse-container-selected .mouse-extra-info{display:block}#sorted-mice-container .mouse-image{width:auto;height:35px;margin:5px;border-radius:3px;outline:1px solid #989898}#sorted-mice-container .scavenger-sorted-page .mouse-image{outline:none}.mh-dark-mode #sorted-mice-container .mouse-image{border-radius:3px}#sorted-mice-container .mouse-category-wrapper-hidden{display:none}#sorted-mice-container .mouse-subcategory-wrapper{margin:3px;background-color:#fff9;border:1px solid rgb(0 0 0 / 60%);box-shadow:inset 1px 1px 2px -1px #0009}#sorted-mice-container .mouse-subcategory-header{position:relative;padding:8px;margin-bottom:3px;font-size:11px;border-bottom:1px solid #999}#sorted-mice-container .mouse-subcategory-mice{padding:0 5px}#sorted-mice-container .mouse-locations{display:flex;flex-direction:column}#sorted-mice-container .mouse-location{display:inline-block;margin-bottom:5px}#sorted-mice-container .mhct{margin-top:15px}#sorted-mice-container .location-text-wrapper{text-align:center}#sorted-mice-container .mouse-weakness{display:flex;align-items:center;margin-top:10px}#sorted-mice-container .weakness-type{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}#sorted-mice-container .power-types img{width:15px;height:15px;margin:1px}#sorted-mice-container .weakness-name{flex:0 0 100%;margin-right:2px;margin-bottom:2px;font-size:10px;text-align:center}#sorted-mice-container .mouse-locations-wrapper{display:flex}.mouse-category-wrapper.mouse-category-current-floor .mouse-category-header:after,.mouse-subcategory-wrapper.mouse-subcategory-current-floor .mouse-subcategory-header:after{position:absolute;top:-4px;right:2px;z-index:1;width:25px;height:25px;margin:0;content:"";background-color:#fff;background-image:url(https://www.mousehuntgame.com//images/ui/friends/anonymous_user.png);background-size:cover;border-radius:50%}.mouse-subcategory-wrapper.mouse-subcategory-current-floor .mouse-subcategory-header:after{top:5px;border:1px solid #9f9f9f}.mouse-category-wrapper.mouse-category-current-floor .mouse-category-header:before{position:absolute;top:-8px;right:-4px;width:37px;height:48px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hud/bountiful_beanstalk/player.png?asset_cache_version=2);filter:hue-rotate(275deg);background-repeat:no-repeat;background-position:center;background-position-y:0;background-size:100%}#sorted-mice-container .mouse-subcategory-wrapper .mouse-subcategory-header{margin-bottom:3px;background-color:#ffffffbf;border-bottom:1px solid #070707}.mhct-row.mhct-row-no-env{cursor:not-allowed}.scavenger-location-content,.sorted-page-content.generic-sorted-page{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 40px}.poster .sorted-page-content .mh-ui-ar{position:relative;right:unset;bottom:unset}.sorted-page-content .mhct-stage{max-width:110px;overflow:hidden;text-overflow:ellipsis}.treasureMapView-leftBlock{position:relative}.mh-ui-goals-sidebar-toggle{position:absolute;top:10px;right:20px;width:15px;height:15px;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 24 24" width="28" fill="currentColor"><path d="M4 0h12a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4zm0 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4zm7.828 8L8.293 6.464A1 1 0 0 1 9.707 5.05l4.243 4.243a1 1 0 0 1 0 1.414L9.707 14.95a1 1 0 1 1-1.414-1.414L11.828 10z"></path></svg>');background-repeat:no-repeat;background-size:100%;opacity:.5}.mh-ui-goals-sidebar-toggle.closed{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 24 24" width="28" fill="currentColor"><path d="M4 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4zm0-2h12a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z"></path><path d="M8.414 9H14a1 1 0 1 1 0 2H8.414l2.536 2.536a1 1 0 0 1-1.414 1.414l-4.243-4.243a.997.997 0 0 1 0-1.414L9.536 5.05a1 1 0 1 1 1.414 1.414L8.414 9z"></path></svg>')}.mh-ui-goals-sidebar-toggle:hover{opacity:1}.treasureMapView-leftBlock.full-width{width:100%}.full-width .treasureMapView-goals-group-goal{width:calc(20% - 5px)}.scavenger-toggle-wrapper{display:flex;gap:10px;justify-content:flex-start;margin-bottom:20px}
`;
}
});

// src/modules/better-maps/styles/userscripts.css
var userscripts_default;
var init_userscripts = __esm({
"src/modules/better-maps/styles/userscripts.css"() {
userscripts_default = 'fieldset.tsitu-mapping{display:flex;align-items:center;justify-content:flex-end;float:right;width:200px!important;padding:0!important;margin-right:13px;margin-left:0!important;border:none!important}span.tsitu-mapping{display:flex!important;align-items:center;padding-bottom:8px;margin:0!important}span.tsitu-mapping.tsitu-refresh-span>span{display:none}.tsitu-mapping br,.tsitu-mapping legend,.tsitu-mapping label{display:none}input[name=tsitu-mapping-id-input]{width:100px;height:17px;line-height:20px}.tsitu-mapping button[style="margin-left: 5px;"]{padding:4px 3px;margin-right:4px;margin-left:2px!important;font-size:9px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:5px;box-shadow:0 -5px 8px -2px #ffae00 inset}.tsitu-mapping button[style="margin-left: 5px;"]:hover,.tsitu-mapping button[style="margin-left: 5px;"]:focus{background-color:#fff600;box-shadow:inset 0 0 16px 2px #fffaab}button.mousehuntActionButton.tiny.tsitu-mapping{padding:4px!important;margin:0!important}.mh-dark-mode input[name=tsitu-mapping-id-input]{color:#fff;background-color:#636363;border:1px solid #2c2c2c}\n';
}
});

// src/modules/better-maps/index.js
var imported2, styles2, addBlockClasses, interceptMapRequest, initMapper, intercept, clearStickyMouse, updateRelicHunterHint, relicHunterUpdate, init8, better_maps_default;
var init_better_maps = __esm({
"src/modules/better-maps/index.js"() {
init_utils2();
init_helper();
init_tab_sorted();
init_tab_goals();
init_tab_hunters();
init_general2();
init_helper2();
init_hunters();
init_map_ar();
init_mhct();
init_sidebar();
init_sorted_map();
init_sorted();
init_userscripts();
imported2 = [general_default2, helper_default2, hunters_default, map_ar_default, mhct_default, sidebar_default, sorted_map_default, sorted_default, userscripts_default];
styles2 = imported2;
addBlockClasses = () => {
  const rightBlocks = document.querySelectorAll(".treasureMapView-rightBlock > div");
  const leftBlocks = document.querySelectorAll(".treasureMapView-leftBlock > div");
  const blocks = [...rightBlocks, ...leftBlocks];
  let prevBlockType = "";
  blocks.forEach((block) => {
    if (block.classList.contains("treasureMapView-block-title")) {
      const blockType = block.innerText.trim().toLowerCase().replaceAll(" ", "-").replaceAll(/[^a-z-]/g, "").replace("--", "-").replace("goalssearch", "goals");
      block.classList.add(`mh-ui-${blockType}-title`);
      prevBlockType = blockType;
    } else {
      block.classList.add(`mh-ui-${prevBlockType}-block`);
    }
  });
};
interceptMapRequest = (mapId) => {
  sessionSet("map-refreshed", Date.now());
  if (!mapId) {
    return false;
  }
  const init73 = (mapData2) => {
    setGlobal("mapper", {
      mapData: mapData2,
      mapModel: new hg.models.TreasureMapModel(mapData2)
    });
    doEvent2("mapper_loaded", mapData2);
    return data;
  };
  const data = getMapData(mapId, true);
  if (data) {
    return init73(data);
  }
  return false;
};
initMapper = (map) => {
  if (!map || !map.map_id || !map.map_type) {
    return;
  }
  const content = document.querySelector(".treasureMapRootView-content");
  if (content && content.classList.contains("loading")) {
    const observer = new MutationObserver((mutations, mobserver) => {
      mutations.forEach((mutation) => {
        if (mutation.type === "attributes" && mutation.attributeName === "class" && !mutation.target.classList.contains("loading")) {
          mobserver.disconnect();
          initMapper(map);
        }
      });
    });
    const rootOfChanges = document.querySelector(".treasureMapRootView");
    observer.observe(rootOfChanges, {
      attributes: true,
      childList: true,
      subtree: true
    });
  }
  addSortedMapTab();
  const tabs = document.querySelectorAll(".treasureMapRootView-subTab");
  tabs.forEach((tab) => {
    tab.addEventListener("click", () => {
      addBlockClasses();
      doEvent2("map_tab_click", map);
      doEvent2(`map_${tab.getAttribute("data-type")}_tab_click`, map);
    });
  });
  doEvent2("map_show_goals_tab_click", map);
  addBlockClasses();
};
intercept = () => {
  const parentShowMap = hg.controllers.TreasureMapController.showMap;
  hg.controllers.TreasureMapController.showMap = (id = false) => {
    var _a, _b;
    parentShowMap(id);
    const intercepted = interceptMapRequest(id != null ? id : (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRelicHunter) == null ? void 0 : _b.default_map_id);
    setTimeout(() => {
      var _a2, _b2;
      if (!intercepted) {
        interceptMapRequest(id != null ? id : (_b2 = (_a2 = user == null ? void 0 : user.quests) == null ? void 0 : _a2.QuestRelicHunter) == null ? void 0 : _b2.default_map_id);
      }
    }, 1e3);
  };
  onRequest("users/treasuremap.php", (data) => {
    if (data.treasure_map && data.treasure_map.map_id) {
      setMapData(data.treasure_map.map_id, data.treasure_map);
    }
  }, true);
  onRequest("board/board.php", (data) => {
    if (data.treasure_map && data.treasure_map.map_id) {
      setMapData(data.treasure_map.map_id, data.treasure_map);
    }
  }, true);
};
clearStickyMouse = () => {
  const sticky = document.querySelector(".treasureMapView-highlight");
  if (sticky) {
    sticky.classList.remove("sticky");
    sticky.classList.remove("active");
  }
  const mapGroupGoal = document.querySelectorAll(".treasureMapView-goals-group-goal");
  if (mapGroupGoal) {
    mapGroupGoal.forEach((goal) => {
      goal.classList.remove("sticky");
    });
  }
};
updateRelicHunterHint = () => __async(void 0, null, function* () {
  const relicHunter = document.querySelector(".treasureMapInventoryView-relicHunter-hint");
  if (!relicHunter) {
    return false;
  }
  if (relicHunter.getAttribute("data-travel-button-added")) {
    return true;
  }
  relicHunter.setAttribute("data-travel-button-added", true);
  const hint = relicHunter.innerText.trim();
  const relicHunterHints = yield getData("relic-hunter-hints");
  let key = false;
  Object.keys(relicHunterHints).forEach((k) => {
    if (relicHunterHints[k].includes(hint)) {
      key = k;
    }
  });
  if (!key) {
    return true;
  }
  environments = yield getData("environments");
  const environment = environments.find((e) => e.id === key);
  if (!environment) {
    return true;
  }
  let hintWrapper = document.querySelector(".treasureMapInventoryView-relicHunter");
  if (!hintWrapper) {
    hintWrapper = relicHunter;
  }
  makeElement("div", "treasureMapInventoryView-relicHunter-hintSuffix", `... in ${environment.article}.`, hintWrapper);
  const travelButton = makeElement("div", ["mousehuntActionButton", "small"]);
  makeElement("span", "", "Travel", travelButton);
  travelButton.addEventListener("click", () => {
    hg.utils.User.travel(environment.id);
  });
  hintWrapper.append(travelButton);
  return true;
});
relicHunterUpdate = () => {
  const _showInventory = hg.controllers.TreasureMapController.showInventory;
  hg.controllers.TreasureMapController.showInventory = () => {
    _showInventory();
    let tries = 0;
    const interval = setInterval(() => __async(void 0, null, function* () {
      tries++;
      if ((yield updateRelicHunterHint()) || tries > 5) {
        clearInterval(interval);
      }
    }), 250);
  };
};
init8 = () => __async(void 0, null, function* () {
  addStyles(styles2, "better-maps");
  eventRegistry.addEventListener("map_sorted_tab_click", showSortedTab);
  eventRegistry.addEventListener("map_show_goals_tab_click", showGoalsTab);
  eventRegistry.addEventListener("map_manage_allies_tab_click", showHuntersTab);
  eventRegistry.addEventListener("map_tab_click", (map) => {
    hideGoalsTab(map);
    hideSortedTab(map);
    clearStickyMouse();
  });
  eventRegistry.addEventListener("mapper_loaded", initMapper);
  intercept();
  relicHunterUpdate();
  if (getSetting("experiments.better-maps-helper")) {
    helper_default();
  }
});
better_maps_default = {
  id: "better-maps",
  name: "Better Maps",
  type: "better",
  default: true,
  description: "Adds a number of features to maps, including showing attracting rates, a sorted tab that categorizes a variety of maps, and showing more infomation on the Hunters tab.",
  load: init8
};
}
});

// src/modules/better-marketplace/settings/index.js
var settings_default6;
var init_settings7 = __esm({
"src/modules/better-marketplace/settings/index.js"() {
settings_default6 = () => __async(void 0, null, function* () {
  return [
    {
      id: "better-marketplace.search-all",
      title: "Default to showing all items in search",
      default: false,
      description: ""
    },
    {
      id: "better-marketplace.small-images",
      title: "Smaller images",
      default: false,
      description: ""
    }
  ];
});
}
});

// src/modules/better-marketplace/styles/small-images.css
var small_images_default;
var init_small_images = __esm({
"src/modules/better-marketplace/styles/small-images.css"() {
small_images_default = ".marketplaceView-itemImage{width:40px;height:40px;min-height:unset}\n";
}
});

// src/modules/better-marketplace/styles/styles.css
var styles_default9;
var init_styles10 = __esm({
"src/modules/better-marketplace/styles/styles.css"() {
styles_default9 = "div#select2-drop.marketplaceView-header-search-dropdown .select2-result-label{white-space:nowrap}div#select2-drop.marketplaceView-header-search-dropdown .select2-result-sub .select2-result-label{display:grid;grid-template-columns:30px 4fr 1fr;place-items:center start;padding-left:10px}div#select2-drop.marketplaceView-header-search-dropdown .friendsPage-filter-environment-thumb{width:25px;height:25px;border-radius:0;box-shadow:none}.marketplaceView-item-quickListings .marketplaceView-table-listing-quantity:hover,.marketplaceView-item-quickListings .marketplaceView-table-listing-quantity:focus{text-decoration:underline}a.marketplaceView-goldValue.marketplaceView-quantityNotGold:after{display:none;background-image:none}label.mhui-marketplace-search-toggle{display:flex;align-items:center;justify-content:center;font-size:9px;color:#fff;border-radius:10px}.marketplaceView-header-searchContainer{top:5px;right:30px!important;height:70px}.marketplaceView-header-search-title{margin-bottom:2px}.marketplaceView-item-leftBlock{margin-top:20px}.marketplaceView-itemImage .limitedEdition{display:none}.marketplaceHome-blockItem.small .marketplaceView-itemImage{width:70px;height:70px;padding-bottom:0;margin-bottom:10px}.marketplaceHome-blockItem.small .marketplaceView-item-imageContainer{width:auto}.marketplaceHome-blockItem.small .marketplaceView-favouriteButton{right:5px}tr.open td.marketplaceView-table-name{white-space:nowrap}.marketplaceListing .marketplaceView-itemImage.favourite{border:none;box-shadow:none}.marketplaceView-item h1{display:flex;align-items:center;justify-content:flex-start}.mh-improved-marketplace-item-title-actions{display:inline-flex;flex-grow:1;gap:5px;justify-content:end;margin-right:5px}.marketplaceView-item.view .mousehuntCharacterGuideBox .mousehuntCharacterGuideBox-content{margin-left:80px}.marketplaceView-item-averagePrice,.marketplaceView-item-averagePrice span{font-size:12px}\n";
}
});

// src/modules/better-marketplace/index.js
var initSearch, modifySearch, waitForSearchReady, autocloseClaim, getLinkMarkup3, overloadShowItem, waitForFooterReady, originalSelect, newSelect, init9, better_marketplace_default;
var init_better_marketplace = __esm({
"src/modules/better-marketplace/index.js"() {
init_utils2();
init_settings7();
init_small_images();
init_styles10();
initSearch = (searchInputDOM) => {
  const blankOpt = document.createElement("option");
  blankOpt.value = "";
  blankOpt.text = "";
  blankOpt.disabled = true;
  blankOpt.selected = true;
  blankOpt.hidden = true;
  searchInputDOM.prepend(blankOpt);
  searchInputDOM = $(".marketplaceView-header-search");
  searchInputDOM.select2({
    formatResult: hg.views.MarketplaceView.formatSelect2Result,
    formatSelection: hg.views.MarketplaceView.formatSelect2Result,
    dropdownAutoWidth: false,
    placeholder: "Search for items...",
    minimumInputLength: 0,
    dropdownCssClass: "marketplaceView-header-search-dropdown",
    width: "resolve"
  }).on("change", () => {
    if (!searchInputDOM.prop("disabled") && searchInputDOM.val()) {
      hg.views.MarketplaceView.showItem(
        searchInputDOM.val(),
        "view",
        false,
        false,
        true
      );
    }
  });
};
modifySearch = (opts) => __async(void 0, null, function* () {
  const searchContainer = document.querySelector(".marketplaceView-header-searchContainer");
  if (!searchContainer) {
    return;
  }
  let searchInputDOM = $(".marketplaceView-header-search");
  searchInputDOM.select2("destroy");
  if (originalSelect === null) {
    const originalSelectNode = document.querySelector(".marketplaceView-header-search");
    originalSelect = originalSelectNode.cloneNode(true);
    originalSelect.classList.remove("marketplaceView-header-search");
  }
  const itemsToRemove = yield getData("marketplace-hidden-items");
  opts.forEach((opt) => {
    if (!opt.value || opt.value === "" || itemsToRemove.some((item) => item.id === opt.value || item.name === opt.text)) {
      opt.remove();
    }
  });
  initSearch(searchInputDOM);
  newSelect = document.querySelector("select.marketplaceView-header-search");
  const toggleSearch = makeElement("input", "mhui-marketplace-search-toggle");
  toggleSearch.setAttribute("type", "checkbox");
  const label = makeElement("label", "mhui-marketplace-search-toggle");
  label.setAttribute("for", "mhui-marketplace-search-toggle");
  label.append(toggleSearch);
  label.append(document.createTextNode("Search all items"));
  const defaultToAll = getSetting("better-marketplace.search-all");
  toggleSearch.checked = defaultToAll;
  if (defaultToAll) {
    newSelect.innerHTML = originalSelect.innerHTML;
    newSelect.value = originalSelect.value;
  }
  label.addEventListener("click", () => {
    toggleSearch.checked = !toggleSearch.checked;
    toggleSearch.dispatchEvent(new Event("change"));
  });
  toggleSearch.addEventListener("change", () => {
    searchInputDOM = $(".marketplaceView-header-search");
    searchInputDOM.select2("destroy");
    const currentOpts = document.querySelector(".marketplaceView-header-search");
    if (toggleSearch.checked) {
      currentOpts.innerHTML = originalSelect.innerHTML;
      currentOpts.value = originalSelect.value;
    } else {
      currentOpts.innerHTML = newSelect.innerHTML;
      currentOpts.value = newSelect.value;
    }
    initSearch(searchInputDOM);
  });
  searchContainer.append(label);
});
waitForSearchReady = (attempts = 0) => {
  const opts = document.querySelectorAll(".marketplaceView-header-search option");
  let timeoutPending = false;
  if (opts.length === 0) {
    if (attempts < 10) {
      timeoutPending = setTimeout(() => waitForSearchReady(attempts + 1), 300);
    }
    return;
  }
  if (timeoutPending) {
    clearTimeout(timeoutPending);
  }
  setTimeout(() => {
    modifySearch(opts);
  }, 300);
};
autocloseClaim = (resp) => {
  var _a, _b;
  if (!(resp && resp.success)) {
    return;
  }
  const journalEntry = (_b = (_a = resp == null ? void 0 : resp.journal_markup[0]) == null ? void 0 : _a.render_data) == null ? void 0 : _b.css_class;
  if (!journalEntry || journalEntry === "") {
    return;
  }
  if (journalEntry.includes("marketplace_claim_listing") || journalEntry.includes("marketplace_complete_listing")) {
    setTimeout(() => hg.views.MarketplaceView.hideDialog(), 250);
  }
};
getLinkMarkup3 = (name, id) => {
  return makeLink("MHCT", `https://www.mhct.win/loot.php?item=${id}`, true) + makeLink("Wiki", `https://mhwiki.hitgrab.com/wiki/index.php/${name}`);
};
overloadShowItem = () => {
  const originalShowItem = hg.views.MarketplaceView.showItem;
  hg.views.MarketplaceView.showItem = (itemId, action, defaultQuantity, defaultUnitPriceWithTariff, force) => {
    const actionButton = document.querySelector(".marketplaceView-item-actionType .marketplaceView-listingType");
    if (actionButton) {
      actionButton.addEventListener("click", () => {
        const actionType = actionButton.classList.contains("buy") ? "sell" : "buy";
        originalShowItem(itemId, actionType, defaultQuantity, defaultUnitPriceWithTariff, force);
      });
    }
    originalShowItem(itemId, action, defaultQuantity, defaultUnitPriceWithTariff, force);
    const actions = document.querySelector(".marketplaceView-item-titleActions");
    if (!actions) {
      return;
    }
    const existing = document.querySelector(".mh-improved-marketplace-item-title-actions");
    if (existing) {
      existing.remove();
    }
    let itemName = document.querySelector(".marketplaceView-item-titleName");
    itemName = itemName ? itemName.textContent.trim() : "";
    const buttons = makeElement("div", "mh-improved-marketplace-item-title-actions", getLinkMarkup3(itemName, itemId));
    actions.insertBefore(buttons, actions.firstChild);
  };
};
waitForFooterReady = (attempts = 0) => {
  const opts = document.querySelectorAll(".marketplaceView-table-listing-quantity");
  let timeoutPending = false;
  if (!(opts && opts.length > 0)) {
    if (attempts < 10) {
      timeoutPending = setTimeout(() => updateQuantityButtons(attempts + 1), 300);
    }
    return;
  }
  if (timeoutPending) {
    clearTimeout(timeoutPending);
  }
  setTimeout(() => {
    opts.forEach((order) => {
      order.addEventListener("click", () => {
        const quantity = order.textContent.trim();
        hg.views.MarketplaceView.setOrderQuantity(quantity);
      });
    });
  }, 300);
};
originalSelect = null;
newSelect = null;
init9 = () => __async(void 0, null, function* () {
  const stylesToUse = [styles_default9];
  if (getSetting("better-marketplace.small-images")) {
    stylesToUse.push(small_images_default);
  }
  addStyles(stylesToUse, "better-marketplace");
  onOverlayChange({
    marketplace: {
      show: () => {
        waitForSearchReady();
        overloadShowItem();
      }
    }
  });
  onRequest("users/marketplace.php", autocloseClaim);
  onRequest("users/marketplace.php", waitForFooterReady, true);
});
better_marketplace_default = {
  id: "better-marketplace",
  name: "Better Marketplace",
  type: "better",
  default: true,
  description: 'Updates the marketplace layout and appearance and adds a variety of small features, like being able to click the "Buying" or "Selling" text to toggle between the two.',
  load: init9,
  settings: settings_default6
};
}
});

// src/modules/better-mice/mousepage.js
var makeKingsCrownsTab, makeKingsCrownsTabContentContent, makeMouseCrownSection, makeKingsCrownsTabContent, addKingsCrownsToMicePage, parseImperialWeight, getSetRowValue, sortStats, addSortButton, getSelectorPrefix, addSortingToCat, hasAddedSortingTabClickListeners, addSortingTabClickListeners, clickCurrentTab, addSortingToStatsPage, mousepage_default;
var init_mousepage = __esm({
"src/modules/better-mice/mousepage.js"() {
init_utils2();
makeKingsCrownsTab = () => {
  const tabContainer = document.querySelector(".mousehuntHud-page-tabHeader-container");
  if (!tabContainer) {
    return;
  }
  const existingTab = document.querySelector(".mousehuntHud-page-tabHeader.kings-crowns-tab");
  if (existingTab) {
    return;
  }
  const kingsCrownsTab = makeElement("a", ["mousehuntHud-page-tabHeader", "groups", "kings-crowns-tab"]);
  makeElement("span", "", "King's Crowns", kingsCrownsTab);
  kingsCrownsTab.setAttribute("data-tab", "kings_crowns");
  kingsCrownsTab.setAttribute("data-legacy-mode", "");
  kingsCrownsTab.setAttribute("onclick", "hg.utils.PageUtil.onclickPageTabHandler(this); return false;");
  tabContainer.append(kingsCrownsTab);
  return kingsCrownsTab;
};
makeKingsCrownsTabContentContent = () => {
  const tabContentContainer = document.querySelector(".mousehuntHud-page-tabContentContainer");
  if (!tabContentContainer) {
    return;
  }
  const tabContent = makeElement("div", ["mousehuntHud-page-tabContent", "kings_crowns"]);
  tabContent.setAttribute("data-tab", "kings_crowns");
  tabContent.setAttribute("data-template-file", "AdversariesPage");
  makeElement("div", "mousehuntHud-page-tabContent-loading", "", tabContent);
  const subTabContent = makeElement("div", ["mousehuntHud-page-subTabContent", "all", "active"]);
  subTabContent.setAttribute("data-tab", "all");
  subTabContent.setAttribute("data-template-file", "AdversariesPage");
  subTabContent.setAttribute("data-template", "subtab");
  subTabContent.setAttribute("data-initialized", "");
  subTabContent.setAttribute("data-user-id", "");
  makeElement("div", "mouseCrownsView", "", subTabContent);
  tabContent.append(subTabContent);
  tabContentContainer.append(tabContent);
};
makeMouseCrownSection = (type, mice, header = false, subheader = false) => {
  const wrapper = makeElement("div", ["kings-crown-section", "mouseCrownsView-group", type]);
  if (header) {
    const headerDiv = makeElement("div", "mouseCrownsView-group-header");
    makeElement("div", ["mouseCrownsView-crown", type], "", headerDiv);
    const name = makeElement("div", "mouseCrownsView-group-header-name");
    makeElement("b", false, header, headerDiv);
    if (subheader) {
      makeElement("div", "mouseCrownsView-group-header-subtitle", subheader, name);
    }
    headerDiv.append(name);
    wrapper.append(headerDiv);
  }
  const list = makeElement("div", "mouseCrownsView-group-mice");
  mice.forEach((mouse) => {
    if (!mouse.id) {
      return;
    }
    const mouseWrapper = makeElement("div", "mouseCrownsView-group-mouse");
    mouseWrapper.setAttribute("data-mouse-id", mouse.id);
    mouseWrapper.setAttribute("data-mouse-type", mouse.type);
    mouseWrapper.setAttribute("data-mouse-large", mouse.large);
    mouseWrapper.setAttribute("onclick", "hg.views.MouseCrownsView.showMouseImage(this); return false;");
    if (mouse.landscape) {
      mouseWrapper.classList.add("landscape");
    }
    const innerWrapper = makeElement("div", "mouseCrownsView-group-mouse-padding");
    const image = makeElement("div", ["mouseCrownsView-group-mouse-image", mouse.type]);
    image.setAttribute("data-image", mouse.image);
    image.setAttribute("data-loader", "mouse");
    image.setAttribute("style", `background-image: url("${mouse.image}");`);
    innerWrapper.append(image);
    makeElement("div", "mouseCrownsView-group-mouse-catches", mouse.num_catches, innerWrapper);
    const label = makeElement("div", "mouseCrownsView-group-mouse-label");
    const nameWrapper = makeElement("span", false, "");
    makeElement("div", "mouseCrownsView-group-mouse-name", mouse.name, nameWrapper);
    label.append(nameWrapper);
    innerWrapper.append(label);
    const favoriteButton = makeElement("div", "mouseCrownsView-group-mouse-favouriteButton");
    if (mouse.is_favourite) {
      favoriteButton.classList.add("active");
    }
    favoriteButton.setAttribute("data-mouse-id", mouse.id);
    favoriteButton.setAttribute("onclick", "hg.views.MouseCrownsView.toggleFavouriteHandler(event); return false;");
    innerWrapper.append(favoriteButton);
    mouseWrapper.append(innerWrapper);
    list.append(mouseWrapper);
  });
  wrapper.append(list);
  return wrapper;
};
makeKingsCrownsTabContent = () => __async(void 0, null, function* () {
  makeKingsCrownsTabContentContent();
  let crowns = [];
  const cachedCrowns = sessionGet("kings-crowns");
  const cachedCrownsTime = sessionGet("kings-crowns-time");
  if (cachedCrowns && cachedCrownsTime && Date.now() - cachedCrownsTime < 3e5) {
    crowns = JSON.parse(cachedCrowns);
  } else {
    const crownsReq = yield doRequest("managers/ajax/pages/page.php", {
      page_class: "HunterProfile",
      "page_arguments[tab]": "kings_crowns",
      "page_arguments[sub_tab]": false
    });
    crowns = crownsReq.page.tabs.kings_crowns.subtabs[0].mouse_crowns;
    sessionSet("kings-crowns", crowns);
    sessionSet("kings-crownsTime", Date.now());
  }
  const tabInnerContent = document.querySelector(".mousehuntHud-page-tabContent.kings_crowns");
  if (!tabInnerContent) {
    return;
  }
  if (crowns.favourite_mice_count > 0) {
    const favorites = makeMouseCrownSection("favorites", crowns.favourite_mice);
    const existingFavorites = tabInnerContent.querySelector(".mouseCrownsView-group.favorites");
    if (existingFavorites) {
      existingFavorites.replaceWith(favorites);
    } else {
      tabInnerContent.append(favorites);
    }
  }
  crowns.badge_groups.forEach((group) => {
    var _a, _b;
    if (group.mice.length === 0) {
      return;
    }
    group.name = ((_a = group == null ? void 0 : group.name) == null ? void 0 : _a.length) > 0 ? group.name : "No";
    group.catches = ((_b = group == null ? void 0 : group.catches) == null ? void 0 : _b.length) > 0 ? group.catches : "0";
    const section = makeMouseCrownSection(group.type, group.mice, `${group.name} Crown (${group.count})`, `Earned at ${group.catches} catches`);
    const existingSection = tabInnerContent.querySelector(`.mouseCrownsView-group.${group.type}`);
    if (existingSection) {
      existingSection.replaceWith(section);
    } else {
      tabInnerContent.append(section);
    }
  });
});
addKingsCrownsToMicePage = () => __async(void 0, null, function* () {
  makeKingsCrownsTab();
  makeKingsCrownsTabContent();
});
parseImperialWeight = (weightText) => {
  const lbsSplit = weightText.innerText.split("lb.");
  const lbs = lbsSplit.length > 1 ? lbsSplit[0] : 0;
  const ozSplit = weightText.innerText.split("oz.");
  const oz = ozSplit.length > 1 ? ozSplit[0] : 0;
  return Number.parseInt(lbs) * 16 + Number.parseInt(oz);
};
getSetRowValue = (row, type) => {
  let value = 0;
  value = row.getAttribute(`data-sort-value-${type}`);
  if (value) {
    return Number.parseInt(value);
  }
  const valueText = row.querySelector(`${getSelectorPrefix()} .mouseListView-categoryContent-subgroup-mouse-stats.${type}`);
  if (type === "average_weight" || type === "heaviest_catch") {
    if (valueText.innerText.includes("lb") || valueText.innerText.includes("oz")) {
      value = parseImperialWeight(valueText);
    } else if (valueText.innerText.includes("kg")) {
      value = valueText.innerText.replace("kg.", "");
    } else {
      value = 0;
    }
  } else {
    value = valueText.innerText ? valueText.innerText.replaceAll(",", "") || 0 : 0;
  }
  row.setAttribute(`data-sort-value-${type}`, value);
  return Number.parseInt(value);
};
sortStats = (type, reverse = false) => {
  reverse = !reverse;
  let rows = document.querySelectorAll(`${getSelectorPrefix()} .active  .mouseListView-categoryContent-subgroup-mouse:not(:first-child)`);
  if (!rows.length) {
    return;
  }
  const headerRow = document.querySelector(`${getSelectorPrefix()} .active  .mouseListView-categoryContent-subgroup-mouse:first-child`);
  if (!headerRow) {
    return;
  }
  rows.forEach((row) => {
    getSetRowValue(row, type);
  });
  rows = [...rows].sort((a, b) => {
    const aVal = getSetRowValue(a, type);
    const bVal = getSetRowValue(b, type);
    if (aVal === bVal || type === "name") {
      const aNameEl = a.querySelector(".mouseListView-categoryContent-subgroup-mouse-stats.name");
      if (!aNameEl) {
        return 0;
      }
      const bNameEl = b.querySelector(".mouseListView-categoryContent-subgroup-mouse-stats.name");
      if (!bNameEl) {
        return 0;
      }
      const aName = aNameEl.innerText;
      const bName = bNameEl.innerText;
      if (aName === bName) {
        return 0;
      }
      return aName > bName ? 1 : -1;
    }
    return aVal > bVal ? 1 : -1;
  });
  if (reverse) {
    rows = rows.reverse();
  }
  rows.forEach((row) => {
    row.parentNode.append(row);
  });
};
addSortButton = (elements, type) => {
  elements.forEach((el) => {
    const sortButton = makeElement("div", ["sort-button", "unsorted"], "");
    el.addEventListener("click", () => {
      const otherSortButtons = el.parentNode.querySelectorAll(".sort-button");
      otherSortButtons.forEach((button) => {
        if (button !== sortButton) {
          button.classList.remove("reverse");
          button.classList.add("unsorted");
        }
      });
      if (sortButton.classList.contains("unsorted")) {
        sortButton.classList.remove("unsorted");
        sortStats(type);
        return;
      }
      if (sortButton.classList.contains("reverse")) {
        sortButton.classList.remove("reverse");
        sortStats(type);
        return;
      }
      sortButton.classList.add("reverse");
      sortStats(type, true);
    });
    el.append(sortButton);
  });
};
getSelectorPrefix = () => {
  const currentTab = getCurrentTab();
  let currentSubtab = getCurrentSubtab();
  if (currentTab === currentSubtab) {
    currentSubtab = false;
  }
  return `.${currentTab} .mousehuntHud-page-subTabContent.active${currentSubtab ? `.${currentSubtab}` : ""}`;
};
addSortingToCat = (cat, retries = 0) => {
  const cats = [
    "name",
    "catches",
    "misses",
    "average_weight",
    "heaviest_catch"
  ];
  const selector = `${getSelectorPrefix()} .mouseListView-categoryContent-category[data-category="${cat}"]`;
  const category = document.querySelector(selector);
  if (!category || category && category.classList.contains("loading")) {
    if (retries > 10) {
      return;
    }
    setTimeout(() => addSortingToCat(cat, retries + 1), 300);
    return;
  }
  if (category.getAttribute("data-added-sorting")) {
    return;
  }
  cats.forEach((mcat) => {
    const els = category.querySelectorAll(`${getSelectorPrefix()} .mouseListView-categoryContent-category.all.active .mouseListView-categoryContent-subgroup-mouse.header .mouseListView-categoryContent-subgroup-mouse-stats.${mcat}`);
    if (els.length) {
      addSortButton(els, mcat);
    }
  });
  category.setAttribute("data-added-sorting", true);
  const rows = category.querySelectorAll(`${getSelectorPrefix()} .mouseListView-categoryContent-subgroup-mouse:not(:first-child)`);
  if (!rows.length) {
    return;
  }
  rows.forEach((row) => {
    const catches = row.querySelector(`${getSelectorPrefix()} .mouseListView-categoryContent-subgroup-mouse-stats.catches`);
    if (!catches) {
      return;
    }
    const value = catches.innerText ? catches.innerText.replaceAll(",", "") || 0 : 0;
    if (value >= 2500) {
      row.classList.add("crown", "diamond");
    } else if (value >= 1e3) {
      row.classList.add("crown", "platinum");
    } else if (value >= 500) {
      row.classList.add("crown", "gold");
    } else if (value >= 100) {
      row.classList.add("crown", "silver");
    } else if (value >= 10) {
      row.classList.add("crown", "bronze");
    }
  });
};
hasAddedSortingTabClickListeners = false;
addSortingTabClickListeners = () => {
  if (hasAddedSortingTabClickListeners) {
    return;
  }
  hasAddedSortingTabClickListeners = true;
  const _categoryClickHandler = hg.views.MouseListView.categoryClickHandler;
  hg.views.MouseListView.categoryClickHandler = (el) => {
    _categoryClickHandler(el);
    addSortingToCat(el.getAttribute("data-category"));
  };
};
clickCurrentTab = () => {
  const activeTab = document.querySelector(".mousehuntHud-page-tabContent.active .mousehuntHud-page-subTabContent.active .mouseListView-categoryContainer.active a");
  if (!activeTab) {
    setTimeout(clickCurrentTab, 250);
    return;
  }
  addSortingToCat(activeTab.getAttribute("data-category"));
  hg.views.MouseListView.categoryClickHandler(activeTab);
};
addSortingToStatsPage = () => {
  addSortingTabClickListeners();
  clickCurrentTab();
};
mousepage_default = () => __async(void 0, null, function* () {
  var _a, _b;
  if ("adversaries" === getCurrentPage() && getCurrentTab() === "kings_crowns") {
    addKingsCrownsToMicePage();
    const tab = document.querySelector(".mousehuntHud-page-tabHeader.kings-crowns-tab");
    if (tab && ((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.onclickPageTabHandler)) {
      hg.utils.PageUtil.onclickPageTabHandler(tab);
    }
  }
  onNavigation(addKingsCrownsToMicePage, {
    page: "adversaries"
  });
  onNavigation(addSortingToStatsPage, {
    page: "adversaries",
    tab: "your_stats",
    subtab: "group"
  });
  onNavigation(addSortingToStatsPage, {
    page: "adversaries",
    tab: "your_stats",
    subtab: "location"
  });
  onEvent("set_tab", () => {
    if ("your_stats" === getCurrentTab()) {
      addSortingToStatsPage();
    }
  });
  onNavigation(addSortingToStatsPage, {
    page: "hunterprofile",
    tab: "mice"
  });
});
}
});

// src/modules/better-mice/styles.css
var styles_default10;
var init_styles11 = __esm({
"src/modules/better-mice/styles.css"() {
styles_default10 = '.mouseView-titleContainer{height:26px}.mouseView-values{float:none;font-size:11px;line-height:unset}.mouseView-title{font-size:1.2em;line-height:24px}.mh-ui-mouse-links{display:inline-block;float:right;margin-right:15px}.mh-ui-mouse-links-map{display:flex;justify-content:center;padding-bottom:5px}.mh-ui-mouse-links a{margin-right:10px}.mh-ui-mouse-links-map a{margin:10px 10px 10px 0}.mouseview-title-group{padding-bottom:8px;font-size:11px}.mh-ui-mouse-links-map .mousehuntActionButton.tiny{margin:3px}.mouseView-movedContainer{display:flex;flex-direction:row;margin-top:10px}.mouseview-has-mhct .mouseView-weaknessContainer{display:flex;flex-direction:column;align-items:center;width:160px}.mouseview-has-mhct .mouseView-categoryContent-subgroup-mouse-weaknesses{width:100%}.mouseview-has-mhct .mouseView-socialContainer{display:none}.mouseview-has-mhct .mouseView-statsContainer{display:flex;align-items:stretch;width:100%}.mouseview-has-mhct .mouseView-statsContainer-block-padding{min-width:125px;padding:10px}.mouseview-has-mhct .mouseView-statsContainer-block-padding b{display:inline-block;padding-bottom:8px}.mouseview-has-mhct .mouseView-descriptionContainer{width:100%}.mouseView-categoryContent-subgroup-mouse-weaknesses-label{font-size:12px;font-weight:400;font-variant:none}.mouseview-has-mhct .mouseView-difficulty{display:none}.mouseview-has-mhct .mouse-ar-wrapper{display:grid;grid-template-columns:150px auto 50px;place-items:center stretch;padding:5px;margin:5px 0;font-size:12px}.mouseview-has-mhct .has-stages .mouse-ar-wrapper{grid-template-columns:120px 140px auto 50px}.mouseview-has-mhct .mouse-ar-wrapper div{padding:0 2px}.mouseview-has-mhct .mice-ar-wrapper{margin-right:10px}.mouse-ar-wrapper .stage{font-size:10px}.mouse-ar-wrapper .cheese{font-size:11px}.mouseview-has-mhct .ar-header{display:flex;align-items:center;justify-content:space-between;height:26px;padding-bottom:2px;margin-top:10px;font-size:12px;font-weight:900;border-bottom:1px solid #ccc}.mouseview-has-mhct .ar-link{font-weight:400}.mouseview-has-mhct .rate{text-align:right}.mouseview-has-mhct .mouse-ar-wrapper:nth-child(odd){background-color:#e7e7e7}.mouseview-has-mhct .mouseView-description{font-weight:500;line-height:19px}.mh-ui-mouse-links-map-name{color:#3b5998;cursor:pointer}.treasureMapView-highlight-name{padding:5px 0 10px;font-weight:400;text-align:center}.mh-ui-mouse-links-map-name:hover{text-decoration:underline}.mh-ui-mouse-links-map .treasureMapView-highlight-group{text-align:center}.mouseView-image{box-shadow:none}.mouseView-image:hover{box-shadow:1px 1px 2px #e70}.mouseView a.custom-favorite-button,.mouseView a.custom-favorite-button-small{position:absolute;top:15px;left:15px;width:30px;height:30px;background-size:contain}#custom-submenu-item-king-s-crowns .icon{filter:sepia(1) brightness(.5)}.mouseView-statsContainer-block-padding abbr{text-decoration:none}.mouseView-statsContainer-block-padding{padding:5px}a.mouseListView-categoryContent-subgroup-mouse-thumb{position:relative}.crown .mouseListView-categoryContent-subgroup-mouse-thumb:after{position:absolute;top:-4px;left:-8px;z-index:2;width:20px;height:20px;content:"";background-color:#fdfdfa;background-size:contain;border:1px solid #929292;border-radius:50%}.crown.bronze .mouseListView-categoryContent-subgroup-mouse-thumb:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_bronze.png)}.crown.silver .mouseListView-categoryContent-subgroup-mouse-thumb:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_silver.png)}.crown.gold .mouseListView-categoryContent-subgroup-mouse-thumb:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_gold.png)}.crown.diamond .mouseListView-categoryContent-subgroup-mouse-thumb:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_diamond.png)}.crown.platinum .mouseListView-categoryContent-subgroup-mouse-thumb:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_platinum.png)}.mouseListView-categoryContent-subgroup-mouse-thumb,.mouseListView-categoryContent-subgroup-mouse .mouseListView-categoryContent-subgroup-mouse-margin{transition:.2s}.mouseListView-categoryContent-subgroup-mouse-thumb:hover{transform:scale(1.2)}a.mouseListView-categoryContent-subgroup-mouse:hover .mouseListView-categoryContent-subgroup-mouse-margin{background-size:contain}.mouseViewPopup .mouseView-image:hover{box-shadow:none;transform:scale(.95)}.mouseViewPopup .mouseView-image{transition:.2s}.mouseViewPopup .mouseView-descriptionContainer{display:grid;grid-template-columns:3fr 2fr;justify-items:stretch}.mouseViewPopup .mouseView-values{margin-left:0}.mouseViewPopup .mouseView-description{grid-column:span 2;padding-top:5px}.mouseViewPopup .mouseView-group.mouseview-title-group{text-align:right}img.minluck-power-type-img{width:20px}li.minluck-item{display:inline-flex;gap:3px;align-items:center;width:auto;padding:2px;margin:2px;font-size:12px;background-color:#f2f2f2;border:1px solid #ccc;border-radius:8px}ul.minluck-list{display:flex;flex-wrap:wrap;place-content:center flex-start;width:auto;margin-right:-5px}.minluck-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:2px;margin-top:10px;margin-bottom:5px;font-size:12px;font-weight:900;border-bottom:1px solid #ccc}.mh-dark-mode.PageHunterProfile .pageFrameView .mouseCrownsView-group-mouse:hover .mouseCrownsView-group-mouse-padding,.mouseCrownsView-group-mouse:hover .mouseCrownsView-group-mouse-padding{background-color:#fff}.mouseCrownsView-group-mouse-favouriteButton{top:0;right:0}.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image,.mouseCrownsView-group-mouse-image{background-size:100%;transition:.4s}.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image{background-size:175%}\n';
}
});

// src/modules/better-mice/index.js
var getLinkMarkup4, addLinks2, isFavorite, addFavoriteButton, addMinluck, addWisdom, updateMouseView, _original, replaceShowMouseImage, main4, wisdoms, minlucks, init10, better_mice_default;
var init_better_mice = __esm({
"src/modules/better-mice/index.js"() {
init_utils2();
init_utils2();
init_mousepage();
init_styles11();
getLinkMarkup4 = (name) => {
  return makeLink("MHCT AR", `https://www.mhct.win/attractions.php?mouse_name=${name}`) + makeLink("Wiki", `https://mhwiki.hitgrab.com/wiki/index.php/${name}`);
};
addLinks2 = () => {
  const title = document.querySelector(".mouseView-title");
  if (!title) {
    return;
  }
  const currentLinks = document.querySelector(".mh-ui-mouse-links");
  if (currentLinks) {
    currentLinks.remove();
  }
  const div = document.createElement("div");
  div.classList.add("mh-ui-mouse-links");
  div.innerHTML = getLinkMarkup4(title.innerText);
  title.parentNode.insertBefore(div, title);
  const values = document.querySelector(".mouseView-values");
  const desc = document.querySelector(".mouseView-descriptionContainer");
  if (values && desc) {
    desc.insertBefore(values, desc.firstChild);
  }
};
isFavorite = (mouseId) => __async(void 0, null, function* () {
  var _a, _b, _c, _d, _e;
  const favorites = yield doRequest("managers/ajax/pages/page.php", {
    page_class: "HunterProfile",
    "page_arguments[tab]": "kings_crowns",
    "page_arguments[sub_tab]": false,
    "page_arguments[snuid]": window.user.sn_user_id
  });
  if (!((_e = (_d = (_c = (_b = (_a = favorites.page) == null ? void 0 : _a.tabs) == null ? void 0 : _b.kings_crowns) == null ? void 0 : _c.subtabs[0]) == null ? void 0 : _d.mouse_crowns) == null ? void 0 : _e.favourite_mice.length)) {
    return false;
  }
  return favorites.page.tabs.kings_crowns.subtabs[0].mouse_crowns.favourite_mice.some((mouse) => {
    return mouse.id && mouse.id === Number.parseInt(mouseId, 10);
  });
});
addFavoriteButton = (mouseId, mouseView) => __async(void 0, null, function* () {
  const state = yield isFavorite(mouseId);
  const fave = yield makeFavoriteButton({
    target: mouseView,
    size: "large",
    isSetting: false,
    state,
    onChange: () => {
      doRequest("managers/ajax/mice/mouse_crowns.php", {
        action: "toggle_favourite",
        user_id: window.user.user_id,
        mouse_id: mouseId
      });
    }
  });
  mouseView.append(fave);
});
addMinluck = (mouseId, mouseView) => __async(void 0, null, function* () {
  const appendTo = mouseView.querySelector(".mouseView-contentContainer");
  if (!appendTo) {
    return;
  }
  const minluckContainer = makeElement("div", "minluck-container");
  const titleText = makeElement("div", "minluck-title", "Minlucks");
  makeTooltip({
    appendTo: titleText,
    text: "If your current luck is above the minluck, you are guaranteed to catch the mouse if you attract it."
  });
  minluckContainer.append(titleText);
  const minluckList = makeElement("ul", "minluck-list");
  const minluck = minlucks.find((m) => m.id === Number.parseInt(mouseId, 10));
  const mouseMinlucks = (minluck == null ? void 0 : minluck.minlucks) || {};
  Object.keys(mouseMinlucks).forEach((powerType) => {
    if (!mouseMinlucks[powerType] || "\u221E" === mouseMinlucks[powerType]) {
      return;
    }
    const minluckItem = makeElement("li", "minluck-item");
    const powerTypeImg = makeElement("img", "minluck-power-type-img");
    powerTypeImg.src = `https://www.mousehuntgame.com/images/powertypes/${powerType.toLowerCase()}.png`;
    minluckItem.append(powerTypeImg);
    makeElement("div", "minluck-power-type-minluck", mouseMinlucks[powerType], minluckItem);
    minluckList.append(minluckItem);
  });
  minluckContainer.append(minluckList);
  appendTo.append(minluckContainer);
});
addWisdom = (mouseId, mouseView) => __async(void 0, null, function* () {
  const values = mouseView.querySelector(".mouseView-values");
  if (!values) {
    return;
  }
  let wisdom = wisdoms.find((m) => m.id === Number.parseInt(mouseId, 10));
  wisdom = (wisdom == null ? void 0 : wisdom.wisdom) || 0;
  wisdom = wisdom.toString().replaceAll(/\B(?=(\d{3})+(?!\d))/g, ",");
  makeElement("span", "wisdom-container", ` / ${wisdom} Wisdom`, values);
});
updateMouseView = () => __async(void 0, null, function* () {
  const mouseView = document.querySelector("#overlayPopup .mouseView");
  if (!mouseView) {
    return;
  }
  const mouseId = mouseView.getAttribute("data-mouse-id");
  if (!mouseId) {
    return;
  }
  const name = mouseView.querySelector(".mouseView-title");
  if (!name) {
    return;
  }
  const catchesEl = document.querySelectorAll(".mouseView-statsContainer-block-padding td abbr");
  if (catchesEl && catchesEl.length > 0) {
    catchesEl.forEach((el) => {
      const catchesNumber = el.getAttribute("title").replace(" Catches", "").replace(" catches", "").replace(" Misses", "").replace(" misses", "").trim();
      if (catchesNumber) {
        el.innerText = catchesNumber;
      }
    });
  }
  addLinks2();
  addFavoriteButton(mouseId, mouseView);
  yield addMinluck(mouseId, mouseView);
  yield addWisdom(mouseId, mouseView);
  mouseView.classList.add("mouseview-has-mhct");
  const group = document.querySelector(".mouseView-group");
  if (group) {
    group.classList.add("mouseview-title-group");
    const descContainer = document.querySelector(".mouseView-descriptionContainer");
    if (descContainer) {
      if (descContainer.childNodes.length > 1) {
        descContainer.insertBefore(group, descContainer.childNodes[1]);
      } else {
        descContainer.append(group);
      }
    }
  }
  const grouptitle = mouseView.querySelector(".mouseView-group.mouseview-title-group");
  if (grouptitle) {
    grouptitle.innerHTML = grouptitle.innerHTML.replace("Group: ", "");
  }
  const container = mouseView.querySelector(".mouseView-contentContainer");
  if (!container) {
    return;
  }
  const imageContainer = mouseView.querySelector(".mouseView-imageContainer");
  if (imageContainer) {
    const movedContainer = makeElement("div", "mouseView-movedContainer");
    const statsContainer = mouseView.querySelector(".mouseView-statsContainer");
    if (statsContainer) {
      movedContainer.append(statsContainer);
    }
    const weaknessContainer = mouseView.querySelector(".mouseView-weaknessContainer");
    if (weaknessContainer) {
      movedContainer.append(weaknessContainer);
      const weaknesses = weaknessContainer.querySelectorAll(".mouseView-categoryContent-subgroup-mouse-weaknesses-padding");
      weaknesses.forEach((w) => {
        const weakness = w.querySelector(".mouseView-weakness");
        if (!weakness) {
          w.classList.add("mouseview-weakness-empty");
          w.classList.add("hidden");
        }
      });
    }
    imageContainer.append(movedContainer);
  }
  const arWrapper = makeElement("div", "ar-wrapper");
  const title = makeElement("div", "ar-header");
  const titleText = makeElement("div", "ar-title", "Attraction Rates", title);
  makeTooltip({
    appendTo: titleText,
    text: 'The best location and bait, according to data gathered by <a href="https://mhct.win/" target="_blank">MHCT</a>.'
  });
  const link = makeElement("a", "ar-link", "View on MHCT \u2192");
  link.href = `https://www.mhct.win/attractions.php?mouse_name=${name.innerText}`;
  link.target = "_mhct";
  title.append(link);
  arWrapper.append(title);
  const mhctjson = yield getArForMouse(mouseId, "mouse");
  if (!mhctjson || mhctjson === void 0 || mhctjson.length === 0 || "error" in mhctjson) {
    return;
  }
  const miceArWrapper = makeElement("div", "mice-ar-wrapper");
  const hasStages = mhctjson.some((mouseAr) => mouseAr.stage);
  if (hasStages) {
    miceArWrapper.classList.add("has-stages");
  }
  if (!mhctjson.slice) {
    return;
  }
  mhctjson.slice(0, 15).forEach((mouseAr) => {
    const mouseArWrapper = makeElement("div", "mouse-ar-wrapper");
    makeElement("div", "location", mouseAr.location, mouseArWrapper);
    if (hasStages) {
      makeElement("div", "stage", mouseAr.stage, mouseArWrapper);
    }
    makeElement("div", "cheese", mouseAr.cheese, mouseArWrapper);
    makeElement("div", "rate", `${(mouseAr.rate / 100).toFixed(2)}%`, mouseArWrapper);
    miceArWrapper.append(mouseArWrapper);
  });
  if (mhctjson.length > 0) {
    arWrapper.append(miceArWrapper);
    container.append(arWrapper);
  }
});
replaceShowMouseImage = () => {
  if (_original) {
    return;
  }
  _original = hg.views.MouseCrownsView.showMouseImage;
  hg.views.MouseCrownsView.showMouseImage = (element) => {
    const type = element.getAttribute("data-mouse-type");
    if (type) {
      hg.views.MouseView.show(type);
      return;
    }
    _original(element);
  };
};
main4 = () => __async(void 0, null, function* () {
  onOverlayChange({ mouse: { show: updateMouseView } });
  minlucks = yield getData("minlucks");
  wisdoms = yield getData("wisdom");
  addSubmenuItem({
    menu: "mice",
    label: "Groups",
    icon: "https://www.mousehuntgame.com/images/ui/hud/menu/mice.png?asset_cache_version=2",
    href: "https://www.mousehuntgame.com/adversaries.php?tab=groups"
  });
  addSubmenuItem({
    menu: "mice",
    label: "Regions",
    icon: "https://www.mousehuntgame.com/images/ui/hud/menu/travel.png?asset_cache_version=2",
    href: "https://www.mousehuntgame.com/adversaries.php?tab=regions"
  });
  addSubmenuItem({
    menu: "mice",
    label: "Your Stats",
    icon: "https://www.mousehuntgame.com/images/ui/hud/menu/special.png?asset_cache_version=2",
    href: "https://www.mousehuntgame.com/adversaries.php?tab=your_stats"
  });
  addSubmenuItem({
    menu: "mice",
    label: "King's Crowns",
    icon: "https://www.mousehuntgame.com/images/ui/crowns/crown_silver.png?asset_cache_version=2",
    href: "https://www.mousehuntgame.com/adversaries.php?tab=kings_crowns"
  });
});
init10 = () => __async(void 0, null, function* () {
  addStyles(styles_default10, "better-mice");
  main4();
  mousepage_default();
  replaceShowMouseImage();
});
better_mice_default = {
  id: "better-mice",
  name: "Better Mice",
  type: "better",
  default: true,
  description: "Adds attraction rate stats and links to MHWiki and MHCT to mouse dialogs. Adds sorting to the mouse stats pages, and adds the King's Crown tab to the mouse pages.",
  load: init10
};
}
});

// src/modules/better-quests/settings/index.js
var settings_default7;
var init_settings8 = __esm({
"src/modules/better-quests/settings/index.js"() {
settings_default7 = () => __async(void 0, null, function* () {
  return [{
    id: "better-quests.m400-helper",
    title: "M400 Helper",
    default: true,
    description: 'Adds a "Travel to next step" button to the M400 quest.'
  }];
});
}
});

// src/modules/better-quests/m400.js
var renderButton, main5, m400_default;
var init_m400 = __esm({
"src/modules/better-quests/m400.js"() {
init_utils2();
renderButton = (location) => {
  const title = document.querySelector(".campPage-quests-title");
  if (!title) {
    return;
  }
  const existingButton = document.querySelector("#mh-improved-m400-travel");
  if (existingButton) {
    existingButton.remove();
  }
  const button = makeElement("div", ["mousehuntActionButton", "tiny", "mh-m400-travel", `mh-m400-travel-${location}`]);
  button.id = "mh-improved-m400-travel";
  if (location === getCurrentLocation()) {
    button.classList.add("disabled");
  }
  makeElement("span", "mousehuntActionButton-text", "Travel to next step", button);
  button.setAttribute("data-location", location);
  button.addEventListener("click", (e) => {
    let clickedLocation = e.target.getAttribute("data-location");
    if (!clickedLocation) {
      const parent = e.target.parentElement;
      if (!parent) {
        return;
      }
      clickedLocation = parent.getAttribute("data-location");
    }
    travelTo(clickedLocation);
    setPage("Camp", null, () => {
    });
  });
  title.append(button);
};
main5 = () => __async(void 0, null, function* () {
  var _a, _b, _c;
  const questTitle = document.querySelector(".campPage-quests-title");
  if (!questTitle) {
    return;
  }
  const isM400 = ((_b = (_a = user.quests) == null ? void 0 : _a.QuestLibraryM400Research) == null ? void 0 : _b.is_assignment) || ((_c = user.quests.QuestLibraryM400Research) == null ? void 0 : _c.is_bait_assignment);
  if (!isM400) {
    return;
  }
  const container = document.querySelector(".campPage-quests-container");
  if (!container) {
    return;
  }
  container.classList.add("mh-m400-quest");
  const allTasks = document.querySelectorAll(".campPage-quests-objective-container");
  if (!allTasks) {
    return;
  }
  const taskNames = document.querySelectorAll(".campPage-quests-objective-task");
  if (taskNames) {
    taskNames.forEach((task) => {
      const newText = task.innerText.replaceAll("Collect 1 Piece of M400 Intel", "Collect Intel");
      task.innerText = newText;
    });
  }
  const last = [...allTasks].reverse().find((task) => {
    return !task.classList.contains("locked") && !task.classList.contains("complete");
  });
  if (!last) {
    return;
  }
  const objective = last.querySelector(".campPage-quests-objective-task");
  if (!objective) {
    return;
  }
  let location = objective.innerText.split(" in ");
  if (location.length === 1) {
    location = objective.innerText.split(" from ");
  }
  if (location.length === 1) {
    return;
  }
  location = location[1].replace("Mice", "").replace("the ", "").trim();
  const locations = yield getData("m400-locations");
  const locationKey = Object.keys(locations).find((key) => {
    return locations[key].includes(location);
  });
  if (!locationKey) {
    return;
  }
  renderButton(locationKey);
});
m400_default = () => __async(void 0, null, function* () {
  main5();
  onNavigation(main5, {
    page: "camp"
  });
});
}
});

// src/modules/better-quests/styles.css
var styles_default11;
var init_styles12 = __esm({
"src/modules/better-quests/styles.css"() {
styles_default11 = "#mh-improved-m400-travel{left:15px;cursor:pointer}.m400-helper-hidden,.campPage-quests-objective-container.locked .campPage-quests-objective-content,.campPage-quests-footer-smash-icon,.campPage-quests-footer-smash-warning{display:none}.campPage-quests-objective-container .campPage-quests-objective-thumb{width:35px;height:25px}.campPage-quests-objective-content{width:calc(100% - 35px)}.campPage-quests-objective-container.locked .campPage-quests-objective-thumb{width:100%;margin:0 auto;opacity:.4}.campPage-quests-footer-smash{display:flex;flex-direction:row;place-content:center center;align-items:center;padding:4px;font-size:9.75px;text-decoration:underline;border-radius:3px;box-shadow:none}#mh-research-smash-warning{position:absolute;bottom:28px;left:30px;display:block;max-width:250px;line-height:16px;text-align:left}#overlayPopup.zugzwangsLibraryQuestShopPopup .errorText{padding:10px 0;color:#da1717}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .image{width:57px}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .image img{width:40px;height:40px;margin:0}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .actions{margin-left:-19px}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .content b{display:block;padding:5px 0;font-size:12px;color:#000}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .content{color:#909090}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .requirements b{display:inline-block;padding:7px}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .item img,#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink br{display:none}#overlayPopup.zugzwangsLibraryQuestShopPopup .questContainer{height:auto;overflow-y:visible}#overlayPopup.zugzwangsLibraryQuestShopPopup a.questLink{display:flex;align-items:center}#overlayPopup.zugzwangsLibraryQuestShopPopup a.questLink:hover,#overlayPopup.zugzwangsLibraryQuestShopPopup a.questLink:focus,#overlayPopup.zugzwangsLibraryQuestShopPopup a.questLink:active{cursor:default}.mh-m400-travel{margin-top:-2px;margin-left:10px}.mh-m400-quest .campPage-quests-objective-progress,.mh-m400-quest .campPage-quests-objective-progressBar{display:none}\n";
}
});

// src/modules/better-quests/index.js
var updateObjectiveFooterDisplay, addQuestsTab, addQuestTabEventListener, addResearchSmashWarning, moveErrorText, removeSmashText, assignments, getAssignmentMeta, updateAssignmentList, modifyAvailableQuestsPopup, checkForQuestSmash, m400IfEnabled, main6, init11, better_quests_default;
var init_better_quests = __esm({
"src/modules/better-quests/index.js"() {
init_utils2();
init_settings8();
init_m400();
init_styles12();
updateObjectiveFooterDisplay = () => {
  const footerText = document.querySelector(".campPage-quests-footer-smash");
  if (!footerText) {
    return;
  }
  const newHref = footerText.getAttribute("href").replace("subtab", "sub_tab");
  footerText.setAttribute("href", `${newHref}#smashQuest`);
  footerText.innerHTML = footerText.innerHTML.replace("Don't like an assignment? Cancel it by smashing the assignment ", "Cancel this assignment by smashing it ");
};
addQuestsTab = () => {
  const tabs = document.querySelector(".campPage-tabs-tabRow");
  if (!tabs) {
    return;
  }
  const existing = tabs.querySelector('a[data-tab="quests"]');
  if (existing) {
    return;
  }
  const newQuestsButton = document.createElement("a");
  newQuestsButton.classList.add("campPage-tabs-tabHeader");
  newQuestsButton.classList.add("quests");
  newQuestsButton.setAttribute("data-tab", "quests");
  newQuestsButton.addEventListener("click", () => {
    hg.views.HeadsUpDisplayZugswangLibraryView.showPopup();
  });
  const newQuestsButtonText = document.createElement("span");
  newQuestsButtonText.innerText = "Quests";
  newQuestsButton.append(newQuestsButtonText);
  tabs.insertBefore(newQuestsButton, tabs.lastChild);
};
addQuestTabEventListener = () => {
  const questTabContent = document.querySelector('.campPage-tabs-tabContent[data-tab="quests"]');
  if (!questTabContent) {
    return;
  }
  const observer = new MutationObserver(() => {
    updateObjectiveFooterDisplay();
    m400IfEnabled();
  });
  observer.observe(questTabContent, { childList: true });
};
addResearchSmashWarning = () => {
  const existing = document.querySelector("#mh-research-smash-warning");
  if (existing) {
    existing.remove();
  }
  if ("hammer" !== getCurrentSubtab()) {
    return;
  }
  const confirm2 = document.querySelector(".inventoryPage-confirmPopup");
  if (!confirm2) {
    return;
  }
  const type = confirm2.getAttribute("data-item-type");
  if (!type) {
    return;
  }
  const assignments2 = [
    "double_run_advanced_research_quest",
    "seasonalgardenresearch_quest_item",
    "library_adv_hween2013_research_quest_item",
    "mystickingresearch_quest_item",
    "extra_spooky_hween2014_assignment_quest_item",
    "library_m400_research_quest_item",
    "charming_study_hween2014_assignment_quest_item",
    "zurreal_trap_research_quest_item",
    "library_hween2013_research_quest_item",
    "pagoda_research_quest_item",
    "techkingresearch_quest_item",
    "library_power_type_research_quest_item",
    "library_m400_bait_research_quest_item",
    "pagoda_advanced_research_quest_item",
    "furoma_research_quest_item",
    "library_mice_research_quest_item",
    "hg_letter_research_quest_item",
    "library_catalog_quest_item",
    "mystic_advanced_research_quest_item",
    "tech_advanced_research_quest_item",
    "lab_monster_1_quest_item"
  ];
  if (!assignments2.includes(type)) {
    return;
  }
  const warningText = document.createElement("div");
  warningText.id = "mh-research-smash-warning";
  warningText.innerText = "If you smash an assignment, you will have to wait 1 hour until you can get a new one.";
  confirm2.insertBefore(warningText, confirm2.firstChild);
};
moveErrorText = () => {
  const errorTextEl = document.querySelectorAll(".questLink .requirements .error");
  if (!errorTextEl) {
    return;
  }
  let errorText = "";
  errorTextEl.forEach((el) => {
    if (el.innerText) {
      errorText = el.innerText;
    }
    el.classList.add("hidden");
  });
  if (!errorText) {
    return;
  }
  errorText = errorText.replace(/ \d\d seconds/, "").replace(" before taking", " for");
  const titleBar = document.querySelector("#jsDialogAjaxPrefix h2");
  if (!titleBar) {
    return;
  }
  const titleError = makeElement("h3", "errorText", errorText);
  titleBar.parentNode.insertBefore(titleError, titleBar.nextSibling);
};
removeSmashText = () => {
  const smashText = document.querySelector(".smashQuest");
  if (smashText) {
    smashText.classList.add("hidden");
  }
};
assignments = [
  {
    id: "library_intro_research_assignment_convertible",
    name: "Catalog Library Mice",
    cost: 0,
    reward: 20,
    rank: false
  },
  {
    id: "",
    name: "Library Research",
    cost: 20,
    reward: 30,
    rank: false
  },
  {
    id: "zugzwang_research_assignment_convertible",
    name: "Zugzwang Research",
    cost: 50,
    reward: 80,
    rank: false
  },
  {
    id: "furoma_research_assignment_convertible",
    name: "Furoma Research",
    cost: 130,
    reward: 90,
    rank: false
  },
  {
    id: "adv_zugzwang_research_assignment_convertible",
    name: "Advanced Zugzwang Research",
    cost: 150,
    reward: 150,
    rank: false
  },
  {
    id: "zurreal_trap_research_convertible",
    name: "Zurreal Trap Research",
    cost: 900,
    reward: 400,
    rank: false
  },
  {
    id: "library_m400_bait_assignment_convertible",
    name: "M400 Bait Research Assignment",
    cost: 1500,
    reward: 200,
    rank: true
  },
  {
    id: "library_m400_assignment_convertible",
    name: "M400 Hunting Research Assignment",
    cost: 1900,
    reward: 300,
    rank: true
  }
];
getAssignmentMeta = (assignment) => {
  const wikiLink = `https://mhwiki.hitgrab.com/wiki/index.php/Library_Assignment#${assignment.name.replaceAll(" ", "_")}`;
  return `<a href="${wikiLink}" target="_blank">Wiki</a> | Requires: ${assignment.cost} | Reward: ${assignment.reward}`;
};
updateAssignmentList = () => {
  const assignmentList = document.querySelectorAll("#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink");
  if (!assignmentList) {
    return;
  }
  assignmentList.forEach((outerEl) => {
    const el = outerEl.querySelector(".content b");
    if (!el) {
      return;
    }
    const assignmentName = el.innerText;
    const assignment = assignments.find((a) => a.name === assignmentName);
    if (!assignment) {
      return;
    }
    const requirements = el.parentNode.parentNode.querySelector(".requirements");
    if (!requirements) {
      return;
    }
    const metaWrapper = makeElement("div", "mh-ui-assignment-meta-wrapper");
    makeElement("div", "mh-ui-assignment-meta", getAssignmentMeta(assignment), metaWrapper);
    requirements.parentNode.insertBefore(metaWrapper, requirements.nextSibling);
    requirements.remove();
    if ("M400 Hunting Research Assignment" === assignmentName) {
      const m400Wrapper = makeElement("div", ["content", "mh-ui-m400-wrapper"]);
      makeElement("b", "mh-ui-m400-title", assignmentName, m400Wrapper);
      makeElement("span", "mh-ui-m400-content", "This envelope contains a Research Assignment that will have you looking for the elusive M400 prototype.", m400Wrapper);
      el.parentNode.parentNode.querySelector(".content").replaceWith(m400Wrapper);
    }
    outerEl.removeAttribute("onclick");
    const button = outerEl.querySelector(".actions .mousehuntActionButton");
    if (!button) {
      return;
    }
    button.addEventListener("click", () => {
      hg.views.HeadsUpDisplayZugswangLibraryView.showConfirm(assignment.id);
    });
  });
};
modifyAvailableQuestsPopup = () => {
  if (!document.querySelector("#overlayPopup.zugzwangsLibraryQuestShopPopup")) {
    return;
  }
  updateAssignmentList();
  const isError2 = document.querySelector(".questLink .requirements .error");
  if (isError2) {
    moveErrorText();
    removeSmashText();
  }
};
checkForQuestSmash = () => {
  if (!window.location.hash || "#smashQuest" !== window.location.hash) {
    return;
  }
  if ("crafting" !== getCurrentTab() || "hammer" !== getCurrentSubtab()) {
    return;
  }
  const assignment = document.querySelector('.inventoryPage-item.quest[data-produced-item="nothing_stat_item"]');
  if (!assignment) {
    return;
  }
  app.pages.InventoryPage.useItem(assignment);
};
m400IfEnabled = () => {
  if (!getSetting("better-quests.m400-helper", true)) {
    return;
  }
  m400_default();
};
main6 = () => {
  if (!isUserTitleAtLeast("lord")) {
    return;
  }
  const activate = () => {
    addQuestTabEventListener();
    addQuestsTab();
    checkForQuestSmash();
  };
  m400IfEnabled();
  activate();
  onNavigation(activate, {
    page: "camp"
  });
  onNavigation(checkForQuestSmash, {
    page: "inventory",
    tab: "crafting",
    subtab: "hammer"
  });
  onOverlayChange({
    show: () => {
      addResearchSmashWarning();
      modifyAvailableQuestsPopup();
    }
  });
};
init11 = () => __async(void 0, null, function* () {
  addStyles(styles_default11, "better-quests");
  main6();
});
better_quests_default = {
  id: "better-quests",
  name: "Better Quests",
  type: "better",
  default: true,
  description: "Allows you to open the assignments popup anywhere, improves the UI of the quests tab, and adds a helper for the M400 assignments.",
  load: init11,
  settings: settings_default7
};
}
});

// src/modules/better-send-supplies/settings/index.js
var settings_default8;
var init_settings9 = __esm({
"src/modules/better-send-supplies/settings/index.js"() {
init_utils2();
settings_default8 = () => __async(void 0, null, function* () {
  const tradableItems = yield getTradableItems("truncated_name");
  return [{
    id: "better-send-supplies.pinned-items",
    title: "Pinned items",
    default: [
      {
        name: "SUPER|brie+",
        value: "SUPER|brie+"
      },
      {
        name: "Empowered SUPER|brie+",
        value: "Empowered SUPER|b..."
      },
      {
        name: "Rift Cherries",
        value: "Rift Cherries"
      },
      {
        name: "Rift-torn Roots",
        value: "Rift-torn Roots"
      },
      {
        name: "Sap-filled Thorns",
        value: "Sap-filled Thorns"
      }
    ],
    description: "Items to pin at the top of the send supplies page.",
    settings: {
      type: "multi-select",
      number: 5,
      options: tradableItems
    }
  }];
});
}
});

// src/modules/better-send-supplies/styles.css
var styles_default12;
var init_styles13 = __esm({
"src/modules/better-send-supplies/styles.css"() {
styles_default12 = "#supplytransfer .tabContent.recipient .listContainer .actions{display:none}#supplytransfer .listContainer a.element.recipient{width:97px;height:73px;white-space:nowrap}#supplytransfer .tabContent.recipient .listContainer span.content{font-size:12px}#supplytransfer .listContainer a.element:hover{background-color:#d8f0ff}#supplytransfer .listContainer a.element.item{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;width:82px;height:77px}#supplytransfer .itemList a.element .itemImage{width:50px;height:50px}#supplytransfer .tabContent.item .listContainer{width:auto;margin-left:80px}#supplytransfer .categoryMenu{width:70px;padding-left:5px;background-color:#fff}#supplytransfer .categoryMenu a{margin-bottom:1px;font-size:12px;text-align:left}#supplytransfer .itemList a.element .itemImage img{width:45px;height:45px}#supplytransfer .listContainer a.element .details{font-size:11px}#supplytransfer .categoryMenu a:hover,#supplytransfer .categoryMenu a:focus,#supplytransfer .categoryMenu a:active{padding-left:5px;margin-left:-5px;text-decoration:none;background-color:#d8f0ff}#supplytransfer .drawer{padding-bottom:40px;margin-bottom:10px}.mhui-supply-search{display:flex;align-items:center;justify-content:space-between;padding:5px;margin:5px 5px 5px 0;line-height:20px}input.mhui-supply-search-input{padding:9px;margin-right:10px}form.mhui-supply-search-form{display:flex;align-items:center}#supplytransfer .drawer .tabContent .searchContainer{position:absolute;top:-5px;right:26px}#supplytransfer .drawer .tabContent h2{display:inline-block;min-width:230px;padding-bottom:0;margin-bottom:0;margin-left:8px;font-size:15px;font-weight:400;line-height:unset;border:none}#supplytransfer .listContainer a.element.item.hidden{display:none}.mhui-supply-sort-wrapper a,.mhui-supply-sort-wrapper img{width:35px;height:20px}.mhui-supply-sort-wrapper{display:flex;flex-direction:row;gap:5px;align-items:center;justify-content:flex-end;width:30%;margin-right:5px}.mhui-supply-sort-wrapper a{margin:0 4px;line-height:20px;text-align:center;text-decoration:none;border:1px solid #ccc;border-radius:3px;box-shadow:2px 2px 3px #cdc9c6 inset}.mhui-supply-sort-wrapper a:hover,.mhui-supply-sort-wrapper a.focus{background-color:#cac0b2}#supplytransfer .listContainer a.element.item.pinned{background-color:#aef5f7}.mhui-supply-quick-quantity-wrapper{display:flex;align-items:center;justify-content:space-around;max-width:150px;margin:10px auto}\n";
}
});

// src/modules/better-send-supplies/index.js
var processSearch, addSearch, asNum, resortItems, addSortButtons, highlightFavoritedItems, addQuickQuantityButtons, items, currentSort, upgradeSendSupplies, hasSorted, main7, init12, better_send_supplies_default;
var init_better_send_supplies = __esm({
"src/modules/better-send-supplies/index.js"() {
init_utils2();
init_settings9();
init_styles13();
processSearch = () => {
  const currentValue = document.querySelector("#mhui-supply-search-input");
  if (!currentValue.value) {
    items.forEach((item) => {
      item.classList.remove("hidden");
    });
  }
  items.forEach((item) => {
    const text = item.textContent.toLowerCase();
    if (text.includes(currentValue.value.toLowerCase())) {
      item.classList.remove("hidden");
    } else {
      item.classList.add("hidden");
    }
  });
};
addSearch = () => {
  const existing = document.querySelector(".mhui-supply-search-wrapper");
  if (existing) {
    return;
  }
  const container = document.querySelector("#supplytransfer .tabContent.item");
  if (!container) {
    return;
  }
  const form = makeElement("form", "mhui-supply-search-form");
  const label = makeElement("label", ["mhui-supply-search-label", "screen-reader-only"]);
  label.setAttribute("for", "mhui-supply-search-input");
  makeElement("span", "", "Search for an item", label);
  form.append(label);
  const input = makeElement("input", "mhui-supply-search-input");
  input.setAttribute("type", "text");
  input.setAttribute("id", "mhui-supply-search-input");
  input.setAttribute("placeholder", "Search for an item");
  input.setAttribute("autocomplete", "off");
  input.addEventListener("keyup", processSearch);
  form.append(input);
  const titleWrapper = makeElement("div", "mhui-supply-search");
  const title = container.querySelector("h2");
  title.textContent = "Send Supplies";
  titleWrapper.append(title);
  titleWrapper.append(form);
  container.insertBefore(titleWrapper, container.firstChild);
  setTimeout(() => {
    input.focus();
  }, 100);
};
asNum = (number) => {
  return Number.parseInt(number.replace(",", ""));
};
resortItems = (sortType = "alpha") => {
  const container = document.querySelector("#supplytransfer .tabContent.item .listContainer");
  const items2 = container.querySelectorAll(".item");
  let sortSelector = ".quantity";
  if ("alpha" === sortType || "alpha-reverse" === sortType) {
    sortSelector = ".details";
  }
  const sorted = [...items2].sort((a, b) => {
    const aText = a.querySelector(sortSelector).textContent;
    const bText = b.querySelector(sortSelector).textContent;
    switch (sortType) {
      case "alpha":
        return aText.localeCompare(bText);
      case "alpha-reverse":
        return bText.localeCompare(aText);
      case "qty":
        return asNum(bText) - asNum(aText);
      case "qty-reverse":
        return asNum(aText) - asNum(bText);
    }
    return 0;
  });
  for (const item of sorted) {
    if (item.classList.contains("pinned")) {
      continue;
    }
    container.append(item);
  }
  currentSort = sortType;
};
addSortButtons = () => {
  const existing = document.querySelector(".mhui-supply-sort-wrapper");
  if (existing) {
    return;
  }
  const container = document.querySelector(".mhui-supply-search");
  if (!container) {
    return;
  }
  const sortWrapper = makeElement("div", "mhui-supply-sort-wrapper");
  makeElement("span", "mhui-supply-sort-label", "Sort by:", sortWrapper);
  const alphaSortButton = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-supply-sort-alphabetic"]);
  makeElement("span", "mousehuntActionButton-text", "Name", alphaSortButton);
  alphaSortButton.addEventListener("click", () => {
    resortItems(currentSort === "alpha" ? "alpha-reverse" : "alpha");
  });
  sortWrapper.append(alphaSortButton);
  const sortQtyButton = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-supply-sort-quantity"]);
  makeElement("span", "mousehuntActionButton-text", "Quantity", sortQtyButton);
  sortQtyButton.addEventListener("click", () => {
    resortItems(currentSort === "qty" ? "qty-reverse" : "qty");
  });
  sortWrapper.append(sortQtyButton);
  container.insertBefore(sortWrapper, container.childNodes[1]);
};
highlightFavoritedItems = () => {
  const itemsToPin = /* @__PURE__ */ new Set([
    getSetting("better-send-supplies.pinned-items-0", "SUPER|brie+"),
    getSetting("better-send-supplies.pinned-items-1", "Empowered SUPER|b..."),
    getSetting("better-send-supplies.pinned-items-2", "Rift Cherries"),
    getSetting("better-send-supplies.pinned-items-3", "Rift-torn Roots"),
    getSetting("better-send-supplies.pinned-items-4", "Sap-filled Thorns")
  ]);
  for (const item of items) {
    const details = item.querySelector(".details");
    if (itemsToPin.has(details.textContent)) {
      item.classList.add("pinned");
    }
  }
};
addQuickQuantityButtons = () => {
  const inputVal = document.querySelector("#supplytransfer-confirm-text input");
  if (!inputVal) {
    return;
  }
  const maxquantity = document.querySelector("#supplytransfer-confirm-text .userQuantity");
  if (!maxquantity) {
    return;
  }
  const existing = document.querySelector(".mhui-supply-quick-quantity-wrapper");
  if (existing) {
    existing.remove();
  }
  const maxAmount = Number.parseInt(maxquantity.textContent.split("You can send up to: ")[1].split(" ")[0].replace(",", ""));
  const wrapper = makeElement("div", "mhui-supply-quick-quantity-wrapper");
  const buttons = [
    1,
    5,
    10,
    100
  ];
  for (const button of buttons) {
    const btn = makeElement("button", ["mousehuntActionButton", "tiny", "mhui-supply-quick-quantity"]);
    makeElement("span", "", `+${button}`, btn);
    btn.addEventListener("click", () => {
      const value = Number.parseInt(inputVal.value || 0);
      inputVal.value = value + button;
      const event = new Event("keyup");
      inputVal.dispatchEvent(event);
    });
    wrapper.append(btn);
  }
  const max = makeElement("button", ["mousehuntActionButton", "tiny", "mhui-supply-quick-quantity"]);
  makeElement("span", "", "All", max);
  max.addEventListener("click", () => {
    inputVal.value = maxAmount;
    const event = new Event("keyup");
    inputVal.dispatchEvent(event);
  });
  wrapper.append(max);
  inputVal.parentNode.insertBefore(wrapper, inputVal.nextSibling);
};
items = [];
currentSort = null;
upgradeSendSupplies = (initial = false) => {
  const sendTo = document.querySelector("#supplytransfer .drawer .tabContent.recipient");
  const isChoosingUser = sendTo && sendTo.style.display !== "none";
  const sending = document.querySelector("#supplytransfer .drawer .tabContent.item");
  const isChoosingItem = sending && sending.style.display !== "none";
  if (isChoosingUser) {
    const users = document.querySelectorAll("#supplytransfer .friendList .element.recipient");
    for (const user2 of users) {
      user2.addEventListener("click", () => {
        upgradeSendSupplies();
      }, { once: true });
      const search = document.querySelector(".searchContainer input");
      if (search) {
        search.focus();
      }
    }
  } else if (isChoosingItem) {
    items = document.querySelectorAll("#supplytransfer .tabContent.item .listContainer .item");
    highlightFavoritedItems();
    if (initial || !hasSorted) {
      hasSorted = true;
      resortItems("alpha");
    }
    addSortButtons();
    const itemSearch = document.querySelector(".mhui-supply-search-input");
    if (itemSearch) {
      itemSearch.focus();
    }
  } else {
    addQuickQuantityButtons();
    const inputVal = document.querySelector("#supplytransfer-confirm-text input");
    if (inputVal) {
      inputVal.focus();
    }
  }
  sendTo.addEventListener("click", () => {
    upgradeSendSupplies();
  }, { once: true });
  sending.addEventListener("click", () => {
    upgradeSendSupplies();
  }, { once: true });
};
hasSorted = false;
main7 = () => {
  addSearch();
  upgradeSendSupplies(true);
};
init12 = () => __async(void 0, null, function* () {
  addStyles(styles_default12, "better-send-supplies");
  onNavigation(main7, {
    page: "supplytransfer"
  });
});
better_send_supplies_default = {
  id: "better-send-supplies",
  name: "Better Send Supplies",
  type: "better",
  default: true,
  description: "Adds pinned items, search, and sorting to the Send Supplies page.",
  load: init12,
  settings: settings_default8
};
}
});

// src/modules/better-shops/styles/cost.css
var cost_default;
var init_cost = __esm({
"src/modules/better-shops/styles/cost.css"() {
cost_default = ".itemPurchaseView-action-itemCost-table-row{display:grid;grid-template-columns:1fr 15fr 1fr;place-items:center stretch;width:97%;padding:2px;margin:0}.itemPurchaseView-action-goldGost{padding:5px 5px 5px 20px;font-size:1.3em;font-weight:400;text-align:left;background:#f9f9f9;border:1px solid #ccc;border-right:none;border-left:none}.mh-dark-mode .itemPurchaseView-content-container{border-color:#242424}.itemPurchaseView-image-container,.itemPurchaseView-content-container{background-color:#fff}.itemPurchaseView-action-quantity{width:auto;margin:0 5px 0 10px}.itemPurchaseView-action-quantity input{width:100%;padding:3px;margin:0}a.itemPurchaseView-action-form-button.buy,a.itemPurchaseView-action-form-button.sell{width:auto;height:21px;margin-top:0;font-weight:400;line-height:21px}a.itemPurchaseView-action-form-button.buy{height:21px;margin-left:7px;background:#f4e830}a.itemPurchaseView-action-form-button.sell{margin-left:7px;background:#b3edff}.itemPurchaseView-container.cannot_sell .itemPurchaseView-action-form-button.sell,.itemPurchaseView-container.cannot_buy .itemPurchaseView-action-form-button.buy{filter:grayscale(1) opacity(.75)}.itemPurchaseView-action-purchaseHelper{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;margin:0}.itemPurchaseView-container.no_gold_cost .itemPurchaseView-action-goldGost{display:block}.itemPurchaseView-content-name{display:flex;align-items:center;justify-content:space-between;margin-top:6px;margin-bottom:4px}.itemPurchaseView-action-purchaseHelper-owned{padding:4px;margin-right:10px;font-size:11px;white-space:nowrap;background-color:#f9f9f9;border:1px solid #ccc;border-radius:5px}.itemPurchaseView-action-purchaseHelper-error{height:auto}\n";
}
});

// src/modules/better-shops/styles/general.css
var general_default3;
var init_general3 = __esm({
"src/modules/better-shops/styles/general.css"() {
general_default3 = '.shopsPage-header-container,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-content-accordion,.itemPurchaseView-action-itemCost.required .itemPurchaseView-action-itemCost-table-cell.owned,.itemPurchaseView-container.flaming_spice_crafting_item.kingsCartItem,.itemPurchaseView-container.dragonshard_sparkling_nest_convertible.kingsCartItem,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-itemCost-description,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-itemCost-title{display:none!important}.itemPurchaseView-action-form.clear-block,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-form{display:flex;justify-content:center;margin:1em 0}.itemPurchaseView-container.own_max:hover,.itemPurchaseView-container.own_max:focus{opacity:1}.itemPurchaseView-container.own_max .itemPurchaseView-content-container .itemPurchaseView-content-description{overflow-y:auto}.itemPurchaseView-action-quantity span,.itemPurchaseView-action-purchaseHelper-maxPurchases-container,.itemPurchaseView-content-accordion,.itemPurchaseView-action-kingsCreditCostContainer,.itemPurchaseView-container.own_max .itemPurchaseView-action-purchaseHelper-maxPurchasesLimitReached,.shopCustomization .itemPurchaseView-container.own_max .itemPurchaseView-content-container .itemViewStatBlock,.shopCustomization .itemPurchaseView-container.own_max .itemViewStatBlock-stat.title,.shopCustomization .itemPurchaseView-container.own_max .itemViewStatBlock-stat.powerType,.itemPurchaseView-content-skin b,a.itemPurchaseView-image-trapPreview-link,.itemPurchaseView-action-itemCost-title,.itemPurchaseView-action-itemCost-description{display:none}.itemPurchaseView-content-skin{margin-top:-10px;margin-bottom:5px}.itemPurchaseView-content-description{max-height:173px;padding-right:5px;padding-bottom:10px;margin-top:0;margin-bottom:0;overflow-y:auto;color:#626262}.itemPurchaseView-action-itemCost-table{width:250px;padding:0;margin-right:-10px;margin-left:-10px;background:#f9f9f9;border-right:none;border-left:none}.itemPurchaseView-action-itemCost-table-cell.cost{padding-left:15px;background-position:5px 0;background-size:10px}.itemPurchaseView-action-itemCost-table-row.error{background-color:#ffadad8c}.mh-dark-mode .itemPurchaseView-action-itemCost-table-row.error{background-color:#802d2d8c}.mh-dark-mode .itemPurchaseView-action-itemCost-table-row.error .itemPurchaseView-action-itemCost-table-cell.cost{color:#f66060}.itemPurchaseView-container.own_max .itemPurchaseView-action-container{display:none}.itemPurchaseView-container{width:calc(100% - 1px)}.itemPurchaseView-action-container{padding:8px 0 0;border-right:1px solid #ccc}#overlayPopup .marketplaceView input.button:first-child{position:absolute;top:-3px!important;right:-10px!important;display:block;width:28px;height:27px;padding:0;overflow:hidden;text-align:center;text-indent:34px;background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/jsDialogCloseButton.png?asset_cache_version=2);background-repeat:no-repeat;border:none;border-bottom:0;border-left:0;box-shadow:none}#overlayPopup .marketplaceView input.button:first-child:hover,#overlayPopup .marketplaceView input.button:first-child:focus{background-color:transparent;background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/jsDialogCloseButton.png?asset_cache_version=2);background-repeat:no-repeat;background-position:0 -27px;border-bottom:none;border-left:none}a.itemPurchaseView-content-skin-link{display:flex;align-items:center;min-height:25px;padding-left:30px;line-height:unset;background-size:25px}#overlayPopup.marketplaceViewPopup .suffix{display:none}.shopCustomization .itemViewStatBlock-padding{display:flex;align-items:center}.shopCustomization .itemViewStatBlock,.shopCustomization .itemViewStatBlock-stat{margin-top:10px;border:none}.shopCustomization .itemViewStatBlock-stat{padding:2px 4px 2px 2px;margin-top:3px;margin-right:5px;border:1px solid #ccc;border-radius:5px}.shopCustomization .itemViewStatBlock-stat-helper{right:unset;left:unset;white-space:nowrap}.shopCustomization .itemViewStatBlock-stat-label{margin-right:0;background:none}.shopCustomization .itemViewStatBlock-stat-value{max-width:unset;background:none;border-radius:0}.shopCustomization .itemPurchaseView-container .itemViewStatBlock-stat.cheeseEffect{width:auto;border-bottom:1px solid #ccc}.shopCustomization .itemPurchaseView-container .itemViewStatBlock-stat.cheeseEffect .itemViewStatBlock-stat-value{width:auto;max-width:150px}.item_set,.mh-dark-mode .item_set{background-color:#eeab2a45;border:none}.itemPurchaseView-container.kingsCartItem{cursor:initial}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-container{display:table-cell;width:250px;min-height:unset;color:#000;background:#eee;box-shadow:none}.mh-dark-mode .itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-container{color:#fff;background-color:#242424}.itemPurchaseView-container .itemPurchaseView-content-details,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-content-details{height:100%;overflow:visible}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-state.view{padding-top:unset}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-itemCost.consumed,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-goldGost,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-marketplace,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-confirm-refund-container{display:block!important}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-goldGost{opacity:.4}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-quantity{display:block;width:auto}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-quantity input{width:100%;margin-top:0}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-content-details:after{display:none}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-confirm-button-row a,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-complete-title{color:#3b5998}span.itemPurchaseView-action-confirm-refund.noRefund{position:relative;display:block;color:transparent}span.itemPurchaseView-action-confirm-refund.noRefund:after{position:absolute;top:10px;right:0;left:0;height:10px;color:#000;content:"Cannot be refunded."}.itemPurchaseView-container.has_refund_value .itemPurchaseView-action-confirm-refund.hasRefund{margin-top:20px}.itemPurchaseView-action-confirm-title{margin-bottom:10px;font-style:normal;font-weight:400}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-complete-title,.itemPurchaseView-container .itemPurchaseView-action-complete-title,.itemPurchaseView-action-complete-title,.itemPurchaseView-action-armed-title{margin:10px;font-weight:400;color:#000}.itemPurchaseView-container .itemPurchaseView-action-state.complete a.itemPurchaseView-action-complete-return{position:relative;display:block;float:none;margin:0;color:transparent}.itemPurchaseView-container .itemPurchaseView-action-state.complete a.itemPurchaseView-action-complete-return:after{position:absolute;top:10px;right:78px;left:78px;padding:10px 15px;line-height:10px;color:#000;text-shadow:0 0 1px #fff;content:"Continue";background-color:#fff600;border:1px solid #000;border-radius:5px;box-shadow:inset 0 0 5px #fff,1px 1px 1px #fff}.itemPurchaseView-container.marketplace_buy_regal_stool_collectible.kingsCartItem.cannot_sell.own_max,.itemPurchaseView-container.marketplace_sell_regal_display_case_collectible.kingsCartItem.cannot_sell.own_max,.itemPurchaseView-container.kings_calibrator_message_item.kingsCartItem.cannot_sell.own_max{display:none!important}.itemPurchaseView-action-itemCost-table-row.error .itemPurchaseView-action-itemCost-table-cell.cost{color:#a21010}.mh-dark-mode .itemPurchaseView-action-goldGost{background-color:#0e0e0e;border-color:#242424}.itemPurchaseView-content-details{display:flex;flex-direction:column;align-items:stretch;padding-bottom:10px}.itemPurchaseView-content-container .itemViewStatBlock.horizontal.base,.itemPurchaseView-content-container .itemViewStatBlock.horizontal.weapon{width:auto;margin-bottom:10px;margin-left:0}.title .itemViewStatBlock-stat-value span a{max-width:60px;font-size:10px;text-overflow:ellipsis}.itemPurchaseView-image-container .itemViewStatBlock-stat.title.error{background-color:#ffc9c9}.itemPurchaseView-image-container .itemViewStatBlock-stat-icon{width:20px;height:17px}.itemViewStatBlock-stat.error .itemViewStatBlock-stat-value{background-color:unset}a.shopsPage-kingsCalibratorPromo{display:flex;align-items:center;justify-content:center;padding:0;font-size:12px}.shopsPage-kingsCalibratorPromo-button{top:unset}.shopsPage-kingsCalibratorPromo br{display:none}.shopsPage-compareEquipment-stats{width:auto}.shopsPage-compareEquipment-stats .itemViewStatBlock.horizontal.weapon{float:none;width:auto;margin-left:0}.shopsPage-compareEquipment-stats .itemPurchaseView-content-name{display:flex;gap:5px;justify-content:flex-start}.shopsPage-compareEquipment{background-color:#dbe9ff}.itemPurchaseView-container.own_max{display:block!important;height:25px;overflow:hidden;opacity:.3;transition:.4s}.hasShop .itemPurchaseView-container.donation .itemPurchaseView-content-container,.itemPurchaseView-container.own_max .itemPurchaseView-content-container{width:calc(100% - 10px)}.mh-dark-mode .itemPurchaseView-container.own_max{background-color:#000}.itemPurchaseView-container.own_max:hover{display:table!important;height:unset;overflow-y:visible}.itemPurchaseView-container.own_max:hover .itemPurchaseView-action-container{display:table-cell}.mh-dark-mode .itemPurchaseView-container.own_max .itemPurchaseView-content-container{border-color:transparent}.itemPurchaseView-container.own_max .itemPurchaseView-content-name b:after{font-size:10px;content:" (maximum owned)"}.mh-dark-mode .shopCustomization .itemPurchaseView-container .itemViewStatBlock-stat.cheeseEffect,.mh-dark-mode .shopCustomization .itemPurchaseView-container .itemViewStatBlock-stat{background-color:#3d3d3d;border-color:#606060}.shopCustomization .shopCustomization .itemViewStatBlock-stat.powerType{position:absolute;color:#000;background-color:#e6e6e6}.shopCustomization .itemViewStatBlock-stat.powerType .itemViewStatBlock-stat-value{display:none}.mh-dark-mode .itemPurchaseView-container .itemViewStatBlock-stat.title,.mh-dark-mode .itemPurchaseView-container .itemViewStatBlock-stat.powerType{background-color:#3d3d3d;border-color:#606060}.mh-dark-mode .itemPurchaseView-container .itemPurchaseView-image-container .itemViewStatBlock-stat.powerType{background-color:transparent;border:none}.itemPurchaseView-container.new .itemPurchaseView-margin:after{top:5px}.itemPurchaseView-action-marketplace b,.itemPurchaseView-action-marketplace br{display:none}.itemPurchaseView-action-marketplace a:last-of-type:after{content:" in the Marketplace"}.itemPurchaseView-action-marketplace{padding:5px 0}a.itemPurchaseView-action-buySuperBrie{display:inline-block;margin:0 auto}.super_brie_cheese .itemPurchaseView-action-purchaseHelper{display:block}.donation .itemPurchaseView-action-itemCost-table-row{display:flex;justify-content:center;font-size:15px}.itemPurchaseView-container.donation .itemPurchaseView-action-container,.itemPurchaseView-container.donation .itemPurchaseView-action-itemCost-table{border-top-color:#ffc62b;border-bottom-color:#c7991c}.mh-dark-mode .itemPurchaseView-container.donation .itemPurchaseView-action-container{background-color:#e6b963}.mh-dark-mode .itemPurchaseView-container.donation .itemPurchaseView-action-itemCost-table{background-color:#f4eeca}.super_brie_cheese .itemPurchaseView-content-name b{display:none}.itemPurchaseView-container:hover .itemPurchaseView-margin,.itemPurchaseView-container:hover .itemPurchaseView-image-container,.itemPurchaseView-container:hover .itemPurchaseView-content-container{background-color:#f9f9f9}.mh-dark-mode .itemPurchaseView-container:hover .itemPurchaseView-margin,.mh-dark-mode .itemPurchaseView-container:hover .itemPurchaseView-image-container,.mh-dark-mode .itemPurchaseView-container:hover .itemPurchaseView-content-container{background-color:#242424}.itemPurchaseView-container.trinket .itemViewStatBlock{margin-top:0;margin-bottom:10px}.itemViewStatBlock-stat-helper{padding:10px;font-size:10px;color:#fff;text-align:center;background:#000;border:none;border-radius:10px}.itemViewStatBlock-stat-helper-arrow:after{border-top:10px solid #000}\n';
}
});

// src/modules/better-shops/styles/order.css
var order_default;
var init_order = __esm({
"src/modules/better-shops/styles/order.css"() {
order_default = ".itemViewStatBlock.trinket{order:2}.itemPurchaseView-content-container{display:flex;flex-direction:column}.itemPurchaseView-content-name{order:1}.itemPurchaseView-content-details{display:flex;order:3}.itemPurchaseView-content-description{order:-1}\n";
}
});

// src/modules/better-shops/styles/retired.css
var retired_default;
var init_retired = __esm({
"src/modules/better-shops/styles/retired.css"() {
retired_default = ".kings_cart .hasShop .cannot_buy.super_dragonbane_trinket,.kings_cart .hasShop .cannot_buy.extrme_dragonbane_trinket,.kings_cart .hasShop .cannot_buy.wild_tonic_remote_pumping_trinket,.kings_cart .hasShop .cannot_buy.hot_spice_crafting_item,.kings_cart .hasShop .cannot_buy.flaming_spice_crafting_item,.kings_cart .hasShop .cannot_buy.dragonshard_sparkling_nest_convertible,.itemPurchaseView-container.eggstra_trinket.cannot_buy.no_gold_cost,.itemPurchaseView-container.eggstra_charge_trinket.cannot_buy.no_gold_cost{display:none!important}\n";
}
});

// src/modules/better-shops/styles/riftstalker.css
var riftstalker_default;
var init_riftstalker = __esm({
"src/modules/better-shops/styles/riftstalker.css"() {
riftstalker_default = 'ul.set_bonus_effects{display:inline-block;flex-wrap:nowrap}.item_set .set_bonus_effects li{display:inline;margin:0}.item_set .set_bonus_level{width:40%}.item_set{display:flex;flex-flow:row wrap;align-items:center}.item_set .set_bonus_effects li:after{content:", "}.item_set .set_bonus_effects li:last-of-type:after{content:""}.item_set>b{display:none}.item_set .set_name>img{right:30px;display:none}.item_set .set_name{margin:0;font-size:11px}.item_set .set_name:after{margin-right:5px;margin-left:10px;font-weight:400;content:" Requires: "}\n';
}
});

// src/modules/better-shops/styles/stats.css
var stats_default;
var init_stats = __esm({
"src/modules/better-shops/styles/stats.css"() {
stats_default = ".shopCustomization .itemViewStatBlock.horizontal .itemViewStatBlock-padding{display:flex;flex-flow:row wrap;row-gap:5px;align-items:center;justify-content:flex-start}.shopCustomization .itemPurchaseView-container .itemViewStatBlock.horizontal .itemViewStatBlock-stat.title,.shopCustomization .itemPurchaseView-container .itemViewStatBlock.horizontal .itemViewStatBlock-stat.cheeseEffect{width:70px}.shopCustomization .itemPurchaseView-container .itemViewStatBlock-stat.title,.itemPurchaseView-container .itemViewStatBlock-stat.powerType{display:flex;align-items:center;justify-content:space-evenly;width:auto;line-height:14px;border:1px solid #ccc}.mh-dark-mode .shopCustomization .itemPurchaseView-container .itemViewStatBlock-stat.title,.mh-dark-mode .itemPurchaseView-container .itemViewStatBlock-stat.powerType{border-color:#606060}.shopCustomization .itemViewStatBlock.horizontal .itemViewStatBlock-stat-label{display:inline-block;padding:0}.shopCustomization .itemViewStatBlock.horizontal .itemViewStatBlock-stat-value{display:inline-flex;align-items:center;justify-content:center;margin-right:3px}.shopCustomization .itemViewStatBlock.horizontal .itemViewStatBlock-stat{display:flex;align-items:center;justify-content:space-around;min-width:55px;padding:2px;margin:0 5px 0 0;background-color:#f9f9f9;border:1px solid #ccc;border-radius:5px}.mh-dark-mode.shopCustomization .itemViewStatBlock.horizontal .itemViewStatBlock-stat{background-color:#333;border-color:#606060}.mh-dark-mode.shopCustomization .pageFrameView .itemViewStatBlock .itemViewStatBlock-stat-value{background-color:transparent}.shopCustomization .itemViewStatBlock.horizontal .itemViewStatBlock-stat-value span{display:inline-block;padding:0}.shopCustomization .itemViewStatBlock.horizontal .itemViewStatBlock-stat.cheeseEffect .itemViewStatBlock-stat-value{font-size:9px}\n";
}
});

// src/modules/better-shops/index.js
var imported3, styles3, updatePlaceholderText, main8, init13, better_shops_default;
var init_better_shops = __esm({
"src/modules/better-shops/index.js"() {
init_utils2();
init_cost();
init_general3();
init_order();
init_retired();
init_riftstalker();
init_stats();
imported3 = [cost_default, general_default3, order_default, retired_default, riftstalker_default, stats_default];
styles3 = imported3;
updatePlaceholderText = () => {
  const purchaseBlocks = document.querySelectorAll(".itemPurchaseView-action-state.view");
  if (purchaseBlocks) {
    purchaseBlocks.forEach((block) => {
      const qty = block.querySelector(".itemPurchaseView-action-maxPurchases");
      if (!qty) {
        return;
      }
      let maxQty = qty.innerText;
      if (maxQty.includes("Inventory max")) {
        maxQty = 0;
      }
      const input = block.querySelector("input");
      if (!input) {
        return;
      }
      input.setAttribute("placeholder", maxQty);
    });
  }
};
main8 = () => {
  const body = document.querySelector("body");
  if (!body) {
    return;
  }
  if ("item" === getCurrentPage()) {
    body.classList.remove("shopCustomization");
    return;
  }
  body.classList.add("shopCustomization");
  const golds = document.querySelectorAll(".itemPurchaseView-action-goldGost");
  if (golds) {
    golds.forEach((gold) => {
      gold.innerText = gold.innerText.replace("Cost:", "");
    });
  }
  const buyBtns = document.querySelectorAll(".itemPurchaseView-action-form-button.buy");
  if (buyBtns) {
    buyBtns.forEach((btn) => {
      btn.classList.add("mousehuntActionButton");
      btn.innerHTML = "<span>Buy</span>";
    });
  }
  const sellBtns = document.querySelectorAll(".itemPurchaseView-action-form-button.sell");
  if (sellBtns) {
    sellBtns.forEach((btn) => {
      btn.classList.add("mousehuntActionButton");
      btn.classList.add("lightBlue");
      btn.innerHTML = "<span>Sell</span>";
    });
  }
  updatePlaceholderText();
  const owned = document.querySelectorAll(".itemPurchaseView-action-purchaseHelper-owned");
  if (owned) {
    owned.forEach((ownedItem) => {
      if (ownedItem.getAttribute("moved-to-title")) {
        return;
      }
      const container = ownedItem.parentNode.parentNode.parentNode.parentNode.parentNode;
      const nameEl = container.querySelector(".itemPurchaseView-content-name");
      ownedItem.setAttribute("moved-to-title", "true");
      nameEl.append(ownedItem);
    });
  }
  const kingsCart = document.querySelectorAll(".itemPurchaseView-container.kingsCartItem");
  if (kingsCart) {
    kingsCart.forEach((cart) => {
      cart.querySelector("input").value = "";
    });
  }
  const shopQty = document.querySelectorAll(".itemPurchaseView-action-quantity input");
  if (!shopQty) {
    return;
  }
  shopQty.forEach((qty) => {
    qty.setAttribute("maxlength", "100");
  });
  const itemStats = document.querySelectorAll(".itemViewStatBlock");
  if (itemStats) {
    itemStats.forEach((stat) => {
      if (stat.classList.contains("horizontal")) {
        return;
      }
      const contentSection = stat.parentNode.parentNode.querySelector(".itemPurchaseView-content-container");
      if (contentSection) {
        contentSection.append(stat);
      }
    });
  }
  const itemStatsTitle = document.querySelectorAll(".itemViewStatBlock.horizontal .itemViewStatBlock-stat");
  if (itemStatsTitle) {
    itemStatsTitle.forEach((title) => {
      if (title.classList.contains("title") || title.classList.contains("powerType")) {
        const imageContainer = title.parentNode.parentNode.parentNode.parentNode.parentNode.querySelector(".itemPurchaseView-image-container");
        if (imageContainer) {
          imageContainer.append(title);
        }
      }
    });
  }
};
init13 = () => __async(void 0, null, function* () {
  addStyles(styles3, "better-shops");
  onNavigation(main8, {
    page: "shops"
  });
  onRequest("purchases/itempurchase.php", updatePlaceholderText);
});
better_shops_default = {
  id: "better-shops",
  name: "Better Shops",
  type: "better",
  default: true,
  description: "Updates the Shop layout and appearance, minimizes owned items that have an inventory limit of 1, and more.",
  load: init13
};
}
});

// src/modules/better-tournaments/settings/index.js
var settings_default9;
var init_settings10 = __esm({
"src/modules/better-tournaments/settings/index.js"() {
settings_default9 = () => __async(void 0, null, function* () {
  return [{
    id: "better-tournaments.time-inline",
    title: "Display localized times inline",
    default: false,
    description: "Display localized tournament times inline, rather than on hover."
  }];
});
}
});

// src/modules/better-tournaments/styles.css
var styles_default13;
var init_styles14 = __esm({
"src/modules/better-tournaments/styles.css"() {
styles_default13 = '.teamPage-memberRow-identity .teamPage-member-nameContainer{width:auto}.tournamentPage-tournamentContainer-customPrizes{display:none}.tournamentPage-tournamentContainer-name{margin-bottom:5px;font-size:13px}.tournamentPage-tournamentContainer-description{padding-top:2px;font-size:9px}.train .tournamentPage-tournamentContainer-description{max-height:35px;padding-right:10px;font-size:9px;line-height:10px}.tournamentPage-tournamentRow .tournamentPage-tournamentContainer-icon{display:none}.tournamentPage-tournament-column.label{text-align:center}.tournamentPage-tournament-column.label.nameIcon{text-align:left}.tournamentPage-tournamentContainer-labels .tournamentPage-tournament-column:nth-child(6){display:none}.tournamentPage-tournament-column.members_5 .tournamentPage-tournament-teamMember{display:block;width:19.6px;height:19.6px}.tournamentPage-tournament-column.value.teamMembers.members_5{display:flex;flex-flow:row wrap;align-items:center}.tournamentPage-tournament-column.members_5 .tournamentPage-tournament-teamMember.empty:after{margin-top:4px;margin-left:-5px}.tournamentPage-tournamentContainer-labels{display:grid;grid-template-columns:305px 100px 80px 55px;justify-items:stretch;margin-left:15px}.tournamentPage-tournament-column .tournamentPage-tournament-teamMember:is(.empty){color:transparent}.tournamentPage-tournament-column .tournamentPage-tournament-teamMember.empty:before{content:counter(team);counter-increment:team}.tournamentPage-tournament-column.value.teamMembers{counter-reset:team}.tournamentPage-tournament-column .tournamentPage-tournament-teamMember.empty:last-child:before{position:absolute;top:4px;right:-1px;display:inline-block;width:22px;height:22px;font-size:18px;line-height:22px;color:#474747;background-color:#e5e5e5;border-radius:50%;box-shadow:1px 1px 1px #c7c7c7}.tournamentPage-tournament-column.members_5 .tournamentPage-tournament-teamMember.empty:last-child:before{top:-2px;right:-4px;width:21px;height:21px;font-size:17px;line-height:20px}.tournamentPage-tournament-column.label,a.tournamentPage-tournament-column.icon,a.tournamentPage-tournament-column.name,.tournamentPage-tournament-column.value,.tournamentPage-tournament-column.actions{width:auto}.tournamentPage-tournamentRow{display:grid;grid-template-columns:0 300px 1fr 1fr 20px 100px 70px;gap:10px;place-items:center stretch;padding:5px 10px 5px 0;border:1px solid #d7d7d7;border-radius:4px}.tournamentPage-tournament-column.label.teamMembers{display:none;text-align:center}.tournamentPage-tournamentRow.train .tournamentPage-tournamentContainer-icon,.tournamentPage-tournamentContainer-icon{width:30px;height:30px;margin:0;background-repeat:no-repeat;background-position:unset;background-size:contain}.tournamentPage-profile-summaryContainer{min-height:100px;padding-left:130px;margin-right:20px;margin-left:20px;background-size:120px}.tournamentPage-profile-description{display:grid;grid-template-columns:1fr 125px;place-items:center end;font-size:13px;line-height:20px}.tournamentPage-profile-action{display:block;order:2;float:none;font-size:14px}.tournamentPage-profile-prizeWaiting{display:grid;grid-template-columns:1fr 100px;align-items:center;justify-content:center;padding:10px 20px;margin:20px 0;font-size:18px;font-weight:400}.tournamentPage-tournamentHeader,.tournamentPage-viewState .mousehuntTabContentContainer{background:#efe9df;border:1px solid #af9969;box-shadow:inset 1px 1px 1px #e2d6b5}.tournamentPage-profile-details-rules h2:first-of-type{display:none}img.tournamentPage-profile-details-rules-icon{display:none}.tournamentPage-profile-details-rules br:first-of-type:after,.tournamentPage-profile-details-rules br:first-of-type:before{display:block}.tournamentPage-profile-details-generalRules ul li:nth-of-type(2),.tournamentPage-profile-details-generalRules ul li:nth-of-type(3){display:none}.tournamentPage-profile-details-generalRules ul{margin:0 0 0 15px;list-style:disc}.tournamentPage-profile-details-generalRules-title{display:none}.tournamentPage-profile-summary{height:auto;min-height:200px;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb}.tournamentPage-tournamentHeader,.tournamentPage-viewState .mousehuntTabContentContainer{background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb}.tournamentPage-viewState .mousehuntTabHeader span{margin-bottom:1px;background:#f6f3eb;border:1px solid #cbc6bb;box-shadow:none}.tournamentPage-viewState .mousehuntTabHeader.active span,.tournamentPage-viewState .mousehuntTabHeader span:hover,.tournamentPage-viewState .mousehuntTabHeader span:focus{border-bottom:none}.tournamentPage-viewState .mousehuntTabHeader:before{background:none;box-shadow:none}.tournamentPage-viewState .mousehuntTabHeader.active span,.tournamentPage-viewState .mousehuntTabHeader:hover span,.tournamentPage-viewState .mousehuntTabHeader:focus span{border-bottom:1px solid #f6f3eb}.tournamentPage-profile-details-rewardContainer h2{display:none}.tournamentPage-profile-details-rewardContainer>div:last-child{display:none}.tournamentPage-profile-details-rewardContainer{background-color:transparent}.tournamentPage-profile-details-padding{position:relative;background-color:#f6f3eb}.tournamentPage-profile-details-reward-name{padding-bottom:20px;margin-left:30px;font-weight:400}.tournamentPage-profile-details-padding div:nth-child(2){position:absolute;top:5px;left:5px;width:30px;height:30px;margin-left:0;color:transparent;background-size:contain}.tournamentPage-profile-details-reward-item{margin-left:5px;mix-blend-mode:multiply}.tournamentPage-profile-details-environmentContainer{position:absolute;right:0;bottom:-10px;display:flex;flex-flow:row wrap;place-content:center center;align-items:stretch;width:290px;padding-top:10px;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb}.tournamentPage-profile-details-rules h2{display:none;padding-bottom:11px}.tournamentPage-profile-details-generalRules{width:270px;font-size:11px;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb}.tournamentPage-profile-details-environmentWarning{display:none}.tournamentPage-profile-details-rules{display:flex;flex-direction:column;justify-content:flex-start;font-size:12px}.tournamentPage-profile-details-mouseGroup{width:auto;padding:10px;margin:0;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb}h2.tournamentPage-profile-details-mouseGroup-name{padding-left:32px;margin-bottom:10px;font-size:14px;font-weight:900}.tournamentPage-profile-details-mouseGroup-miceContainer{display:flex;flex-flow:column wrap;margin:0}.tournamentPage-profile-details-mice{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.tournamentHelp.clear-block img{display:none}.tournamentPage-profile-details-mouseGroup-mouse{width:100%}.tournamentStatusHud .score,.tournamentStatusHud .rank{padding:15px;margin:-15px}.teamMembers:hover .memberHover,.rank:hover .scoreHover{display:block}.score:hover .pointsHover{display:grid}.memberHover,.scoreHover,.pointsHover{position:absolute;top:90%;left:-50%;z-index:31;display:none;width:275px;color:#4e300b;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb,1px 3px 3px #939393}.pointsHover{left:-130%;grid-template-columns:1fr 1fr 1fr;place-items:stretch stretch;width:auto}.scoreRow{display:grid;grid-template-columns:25px 1fr 25px;place-items:center start;padding:5px;margin-bottom:5px}.pointsTotal{text-align:center}img.memberImage{width:20px;height:20px;padding:5px}.memberRow{display:flex;padding:2px}.memberHover{left:0;width:auto;min-width:120px;padding:5px}.memberRow:nth-child(2n){background-color:#e8e4d6}.scoreRow:nth-child(2n){background-color:#e5e0de}.scoreIcon{position:relative;width:20px;height:20px;margin-right:5px;overflow:hidden;border-radius:7px}.scoreIcon div{position:absolute;top:0;left:0;width:20px;height:20px;background-repeat:no-repeat;background-size:contain}.teamWrapper{display:flex;align-items:center}.scorePoints{justify-self:end}.pointsRow{width:150px;border:1px solid #cbc6bb}img.pointsMouseIcon{width:15px;height:15px;margin-right:4px;margin-bottom:3px}.pointsMouseWrapper{display:flex;align-items:center;justify-content:flex-start;overflow:hidden}.pointsMouseName{font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pointsMice{padding:5px}.pointsTitle{padding:5px 0;font-size:12px;text-align:center}.tournamentStatusHud .rank span,.tournamentStatusHud .score span{display:inline-block;font-size:13px;line-height:12px}.tournamentStatusHud a.name,.tournamentStatusHud a.name:visited,.tournamentStatusHud a.name:hover,.tournamentStatusHud a.name:focus{left:33px;font-size:12px}.tournamentStatusHud .timer,.tournamentStatusHud.pending .timer{top:0;left:241px;width:auto;padding-top:3px;padding-right:10px;font-size:11px;line-height:initial;color:#000;background:linear-gradient(166deg,#b4d3da,#acc3ca 50%,#b4d3da 96%);background-color:#acc3ca;border-top-right-radius:15px}.tournamentStatusHud .title{display:none}.tournament-normal-time.tournament-time-display-hover{position:absolute;inset:0 -30px;z-index:6;display:none;padding:5px;text-align:center;white-space:nowrap;background-color:#eee;border:1px solid #3d3d3d;border-radius:5px;box-shadow:1px 1px 3px #191919,0 0 5px 5px #fff}.tournamentPage-tournament-column.value:hover .tournament-time-display-hover{display:block}.tournamentPage-tournamentRow.tournamentPage-tournamentData .tournamentPage-tournament-column.value:nth-child(3),.tournamentPage-tournamentRow.tournamentPage-tournamentData .tournamentPage-tournament-column.value:nth-child(4){height:auto;min-height:25px}.tournament-normal-time.tournament-time-display-inline{margin-top:4px}.tournamentPage-tournamentRow:hover:before{box-shadow:none}.tournamentPage-tournamentRow:hover{background-color:#eee}.tournamentPage-tournamentRow.signed_up:before{background-color:transparent;box-shadow:none}.tournamentPage-tournamentRow.tournamentPage-tournamentData.signed_up{background-color:#feff8d}.tournamentPage-tournamentRow.tournamentPage-tournamentData.signed_up:hover{background-color:#ffda2f}.tournamentPage-tournamentRow.empty .tournamentPage-tournament-empty{white-space:nowrap}.tournamentPage-tournamentButton{padding:2px 15px;line-height:18px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #b9b9b9}.tournamentPage-tournamentButton:hover,.tournamentPage-tournamentButton:focus{background-color:#e4d50c}.tournamentPage-tournamentHeader a{margin:0;font-size:12px;color:#000;text-shadow:0 0 1px #fff;background-color:#f6f3eb;border:1px solid #000;border-radius:4px}.tournamentPage-tournamentHeader a:hover,.tournamentPage-tournamentHeader a:focus{background-color:#fff;border-color:#000}.tournament-team-rank{background-color:#0d7d3a}.tournament-team-rank.rank_1{color:#000}tbody tr.scoreboardTableView-row-separator:nth-child(5){display:none}tr.scoreboardTableView-row.viewer,tr.scoreboardTableView-row.highlight{background-color:#fdfbcc;border-radius:10px;outline:2px solid #fc6;box-shadow:none}.viewer .tournament-team-rank.updated:hover:after{position:absolute;inset:14px 20px 14px 10px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#000;text-align:center;content:"Page " attr(data-rank-page);background-color:#fdfbcce5;border:1px #aaa9a9;border-radius:5px}.scoreboardTableView-row-rank{position:relative}\n';
}
});

// src/modules/better-tournaments/index.js
var updateTournamentHud, updateTournamentList, updateScoreboard, init14, better_tournaments_default;
var init_better_tournaments = __esm({
"src/modules/better-tournaments/index.js"() {
init_utils2();
init_settings10();
init_styles14();
updateTournamentHud = () => __async(void 0, null, function* () {
  var _a, _b;
  const activeTourney = document.querySelector("#tournamentStatusHud > a.name");
  if (!activeTourney) {
    return;
  }
  const tourneyId = activeTourney.href.split("=")[1];
  if (!tourneyId) {
    return;
  }
  const tourneyData = yield doRequest("managers/ajax/pages/page.php", {
    page_class: "Tournament",
    "page_arguments[tournament_id]": tourneyId
  });
  if (!(tourneyData == null ? void 0 : tourneyData.page)) {
    return;
  }
  if ((_a = tourneyData.page) == null ? void 0 : _a.is_active) {
    const name = (_b = tourneyData == null ? void 0 : tourneyData.page) == null ? void 0 : _b.name;
    if (name) {
      activeTourney.innerText = name;
    }
    const rank = document.querySelector(".tournamentStatusHud .rank");
    if (rank) {
      const scoreHover = document.createElement("div");
      scoreHover.classList.add("scoreHover");
      tourneyData.page.scoreboard.rows.forEach((scoreboard) => {
        const scoreRow = makeElement("div", "scoreRow");
        makeElement("div", "scoreRank", scoreboard.rank, scoreRow);
        const teamWrapper = makeElement("a", "teamWrapper");
        teamWrapper.href = `https://www.mousehuntgame.com/team.php?team_id=${scoreboard.team_id}`;
        const icon = makeElement("div", "scoreIcon");
        const iconLayer1 = makeElement("div", "scoreIconLayer1");
        iconLayer1.style.backgroundImage = `url(${scoreboard.emblem.layers[0].image})`;
        icon.append(iconLayer1);
        const iconLayer2 = makeElement("div", "scoreIconLayer2");
        iconLayer2.style.backgroundImage = `url(${scoreboard.emblem.layers[1].image})`;
        icon.append(iconLayer2);
        const iconLayer3 = makeElement("div", "scoreIconLayer3");
        iconLayer3.style.backgroundImage = `url(${scoreboard.emblem.layers[2].image})`;
        icon.append(iconLayer3);
        teamWrapper.append(icon);
        makeElement("div", "scoreName", scoreboard.name, teamWrapper);
        scoreRow.append(teamWrapper);
        makeElement("div", "scorePoints", scoreboard.points, scoreRow);
        scoreHover.append(scoreRow);
      });
      rank.append(scoreHover);
    }
    const points = document.querySelector(".tournamentStatusHud .score");
    if (points) {
      const pointsHover = document.createElement("div");
      pointsHover.classList.add("pointsHover");
      tourneyData.page.mouse_groups.reverse().forEach((mouseGroup) => {
        const pointsRow = makeElement("div", "pointsRow");
        makeElement("div", "pointsTotal", mouseGroup.name, pointsRow);
        const groupMice = document.createElement("div");
        groupMice.classList.add("pointsMice");
        mouseGroup.mice.forEach((mouse) => {
          const mouseWrapper = makeElement("div", "pointsMouseWrapper");
          const mouseIcon = makeElement("img", "pointsMouseIcon");
          mouseIcon.src = mouse.thumb;
          mouseWrapper.append(mouseIcon);
          makeElement("div", "pointsMouseName", mouse.name, mouseWrapper);
          groupMice.append(mouseWrapper);
        });
        pointsRow.append(groupMice);
        pointsHover.append(pointsRow);
      });
      points.append(pointsHover);
    }
  } else {
    const members = document.querySelector(".tournamentStatusHud a.teamMembers");
    if (members) {
      const memberHover = makeElement("div", "memberHover");
      tourneyData.page.members.forEach((member) => {
        var _a2, _b2;
        const memberRow = makeElement("div", "memberRow");
        if (member.is_empty) {
          makeElement("div", "memberEmpty", "Empty", memberRow);
          memberRow.classList.add("empty");
        } else {
          const image = makeElement("img", "memberImage");
          image.src = (_a2 = member.profile_pic) != null ? _a2 : "https://www.mousehuntgame.com//images/ui/friends/anonymous_user.png";
          memberRow.append(image);
          makeElement("div", "memberName", (_b2 = member.name) != null ? _b2 : "", memberRow);
        }
        memberHover.append(memberRow);
      });
      members.append(memberHover);
    }
  }
});
updateTournamentList = () => __async(void 0, null, function* () {
  const beginsRows = document.querySelectorAll(".tournamentPage-tournamentRow.tournamentPage-tournamentData .tournamentPage-tournament-column.value:nth-child(3)");
  if (!beginsRows.length) {
    return;
  }
  const durationRows = document.querySelectorAll(".tournamentPage-tournamentRow.tournamentPage-tournamentData .tournamentPage-tournament-column.value:nth-child(4)");
  if (!durationRows.length) {
    return;
  }
  const now = /* @__PURE__ */ new Date();
  const nowTime = now.getTime();
  const dateOptions = {
    weekday: "short",
    month: "short",
    day: "numeric",
    hour: "numeric",
    minute: "numeric"
  };
  beginsRows.forEach((beginsRow, i) => {
    const beginsText = beginsRow.innerText;
    const beginsParts = beginsText.split(" ");
    const beginsMinutes = beginsParts.reduce((acc, part) => {
      if (part === "minutes" || part === "minute") {
        return acc + Number.parseInt(beginsParts[beginsParts.indexOf(part) - 1], 10);
      }
      if (part === "hours" || part === "hour") {
        return acc + Number.parseInt(beginsParts[beginsParts.indexOf(part) - 1], 10) * 60;
      }
      return acc;
    }, 0);
    const inlineOrHover = getSetting("better-tournaments.time-inline") ? "tournament-time-display-inline" : "tournament-time-display-hover";
    const beginsDate = new Date(nowTime + beginsMinutes * 6e4);
    const beginsDateString = beginsDate.toLocaleString("en-US", dateOptions);
    const beginsDateEl = makeElement("div", ["tournament-normal-time", "tournament-begins-date", inlineOrHover], beginsDateString);
    beginsRow.append(beginsDateEl);
    const durationText = durationRows[i].innerText;
    const durationParts = durationText.split(" ");
    const durationMinutes = durationParts.reduce((acc, part) => {
      if (part === "minutes" || part === "minute") {
        return acc + Number.parseInt(durationParts[durationParts.indexOf(part) - 1], 10);
      }
      if (part === "hours" || part === "hour") {
        return acc + Number.parseInt(durationParts[durationParts.indexOf(part) - 1], 10) * 60;
      }
      return acc;
    }, 0);
    const durationDate = new Date(beginsDate.getTime() + durationMinutes * 6e4);
    const durationDateString = durationDate.toLocaleString("en-US", dateOptions);
    const durationDateEl = makeElement("div", ["tournament-normal-time", "tournament-end-date", inlineOrHover], durationDateString);
    durationRows[i].append(durationDateEl);
  });
});
updateScoreboard = () => {
  const getRanks = document.querySelectorAll(".tournament-team-rank:not(.updated)");
  getRanks.forEach((rank) => {
    rank.classList.add("updated");
    const rankParts = rank.innerText.split(/(\d+)/);
    if (rankParts.length !== 3) {
      return;
    }
    const rankNum = Number.parseInt(rankParts[1], 10);
    if (rankNum <= 25) {
      rank.classList.add("rank-first-page");
    }
    rank.setAttribute("data-rank", rankNum);
    rank.setAttribute("data-rank-page", Math.ceil(rankNum / 25));
    rank.innerText = rankNum.toLocaleString("en-US") + rankParts[2];
  });
};
init14 = () => __async(void 0, null, function* () {
  addStyles(styles_default13, "better-tournaments");
  updateTournamentHud();
  onEvent("tournament_status_change", updateTournamentHud);
  onNavigation(updateTournamentList, {
    page: "tournament"
  });
  onNavigation(updateScoreboard, {
    page: "scoreboards"
  });
  onRequest("pages/scoreboards.php", updateScoreboard);
});
better_tournaments_default = {
  id: "better-tournaments",
  name: "Better Tournaments",
  type: "better",
  default: true,
  description: "Updates the Tournaments UI to show information on hover and a variety of small interface tweaks.",
  load: init14,
  settings: settings_default9
};
}
});

// src/modules/better-travel/travel-utils.js
var getTravelSettings, getTravelSetting, saveTravelSetting;
var init_travel_utils = __esm({
"src/modules/better-travel/travel-utils.js"() {
init_utils2();
getTravelSettings = () => {
  return getSetting("better-travel-settings", {});
};
getTravelSetting = (settingName, defaultValue) => {
  const settings = getTravelSettings();
  return settings[settingName] || defaultValue;
};
saveTravelSetting = (settingName, value) => {
  const settings = getTravelSettings();
  settings[settingName] = value;
  saveSetting("better-travel-settings", settings);
};
}
});

// src/modules/better-travel/reminders.js
var addReminders, reminders_default;
var init_reminders = __esm({
"src/modules/better-travel/reminders.js"() {
init_utils2();
addReminders = () => {
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E;
  const reminderOpts = {
    title: "Travel Reminder",
    dismiss: 4e3
  };
  switch (getCurrentLocation()) {
    case "rift_valour":
      if ((_b = (_a = user.quests) == null ? void 0 : _a.QuestRiftValour) == null ? void 0 : _b.is_fuel_enabled) {
        reminderOpts.text = "Champion's Fire is active.";
        reminderOpts.image = "https://www.mousehuntgame.com/images/items/stats/transparent_thumb/6622efd1db7028b30f48b15771138720.png?cv=2";
        reminderOpts.button = "Deactivate";
        reminderOpts.action = () => {
          const button = document.querySelector(".valourRiftHUD-fuelContainer-armButton");
          if (button) {
            button.click();
          }
        };
      }
      break;
    case "queso_river":
    case "queso_plains":
    case "queso_quarry":
    case "queso_geyser":
      if (((_d = (_c = user.quests) == null ? void 0 : _c.QuestQuesoCanyon) == null ? void 0 : _d.is_wild_tonic_active) || ((_f = (_e = user.quests) == null ? void 0 : _e.QuestQuesoGeyser) == null ? void 0 : _f.is_wild_tonic_enabled)) {
        reminderOpts.text = "Wild Tonic is active.";
        reminderOpts.image = "https://www.mousehuntgame.com/images/items/stats/transparent_thumb/b6b9f97a1ee3692fdff0b5a206adf7e1.png?cv=2";
        reminderOpts.button = "Deactivate";
        reminderOpts.action = () => {
          const button = document.querySelector(".quesoHUD-wildTonic-button");
          if (button) {
            button.click();
          }
        };
      }
      break;
    case "floating_islands":
      if ("launch_pad_island" === ((_i = (_h = (_g = user.quests) == null ? void 0 : _g.QuestFloatingIslands) == null ? void 0 : _h.hunting_site_atts) == null ? void 0 : _i.island_power_type)) {
        break;
      }
      if (!((_l = (_k = (_j = user.quests) == null ? void 0 : _j.QuestFloatingIslands) == null ? void 0 : _k.hunting_site_atts) == null ? void 0 : _l.is_fuel_enabled) && // BW not active.
      !(((_o = (_n = (_m = user.quests) == null ? void 0 : _m.QuestFloatingIslands) == null ? void 0 : _n.hunting_site_atts) == null ? void 0 : _o.is_vault_island) && // is SP.
      ((_s = (_r = (_q = (_p = user.quests) == null ? void 0 : _p.QuestFloatingIslands) == null ? void 0 : _q.hunting_site_atts) == null ? void 0 : _r.island_mod_panels[2]) == null ? void 0 : _s.is_complete))) {
        reminderOpts.text = "Bottled Wind is <strong>not</strong> active.";
        reminderOpts.image = "https://www.mousehuntgame.com/images/ui/hud/floating_islands/items/bottled_wind_stat_item.png?asset_cache_version=2";
        reminderOpts.button = "Activate";
        reminderOpts.action = () => {
          const button = document.querySelector(".floatingIslandsHUD-fuel-button");
          if (button) {
            button.click();
          }
        };
      }
      break;
    case "foreword_farm":
    case "prologue_pond":
    case "table_of_contents":
      if (((_u = (_t = user.quests) == null ? void 0 : _t.QuestProloguePond) == null ? void 0 : _u.is_fuel_enabled) || ((_w = (_v = user.quests) == null ? void 0 : _v.QuestForewordFarm) == null ? void 0 : _w.is_fuel_enabled) || ((_y = (_x = user.quests) == null ? void 0 : _x.QuestTableOfContents) == null ? void 0 : _y.is_fuel_enabled)) {
        reminderOpts.text = "Condensed Creativity is active.";
        reminderOpts.button = "Deactivate";
      } else {
        reminderOpts.text = "Condensed Creativity is <strong>not</strong> active.";
        reminderOpts.button = "Activate";
      }
      reminderOpts.image = "https://www.mousehuntgame.com/images/items/stats/transparent_thumb/4f5d55c1eff77474c7363f0e52d03e49.png?cv=2";
      reminderOpts.action = hg.views.HeadsUpDisplayFolkloreForestRegionView.toggleFuel;
      break;
    case "winter_hunt_grove":
    case "winter_hunt_workshop":
    case "winter_hunt_fortress":
      if (((_A = (_z = user.quests) == null ? void 0 : _z.QuestCinnamonTreeGrove) == null ? void 0 : _A.is_fuel_enabled) || ((_C = (_B = user.quests) == null ? void 0 : _B.QuestGolemWorkshop) == null ? void 0 : _C.is_fuel_enabled) || ((_E = (_D = user.quests) == null ? void 0 : _D.QuestIceFortress) == null ? void 0 : _E.is_fuel_enabled)) {
        reminderOpts.text = "Festive Spirit is active.";
        reminderOpts.button = "Deactivate";
      } else if ("winter_hunt_forest" === getCurrentLocation()) {
        reminderOpts.text = "Festive Spirit is <strong>not</strong> active.";
        reminderOpts.button = "Activate";
      }
      reminderOpts.image = "https://www.mousehuntgame.com/images/items/stats/large/cda292833fce3b65b7a6a38c000e8620.png?cv=2";
      reminderOpts.action = () => {
        const toggle = document.querySelector(".headsUpDisplayWinterHuntRegionView__fuelButton");
        if (toggle) {
          toggle.click();
        }
      };
  }
  if (reminderOpts.text) {
    showHornMessage(reminderOpts);
  }
};
reminders_default = addReminders;
}
});

// src/modules/better-travel/travel-menu.css
var travel_menu_default;
var init_travel_menu = __esm({
"src/modules/better-travel/travel-menu.css"() {
travel_menu_default = ".mh-improved-travel-window.greatWinterHuntGolemDestinationView{padding:10px 0}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__content{align-items:flex-start;margin-right:5px;background-color:transparent}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environmentsScroller{height:auto;min-height:425px;max-height:650px;padding:0 0 10px 5px;margin-right:-5px}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__regionEnvironments{gap:15px 6px;justify-content:space-evenly}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__regionsContainer{display:none}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__regionName{margin:10px 0;font-size:16px;text-align:center;border:none}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment{width:150px;overflow:hidden;border:1px solid #b4a481;box-shadow:0 2px 2px #7e7e7e}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__regionGroup{margin:0}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environmentName{position:absolute;right:0;left:0;z-index:2;height:20px;background-color:#ffffffe5;border-radius:0;transition:all .2s ease-in-out}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environmentName span{padding:5px;text-align:center}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environmentImage{border-radius:0;transition:all .2s ease-in-out}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment:hover .greatWinterHuntGolemDestinationView__environmentImage,.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment:focus .greatWinterHuntGolemDestinationView__environmentImage{background-position-y:30%}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment:hover .greatWinterHuntGolemDestinationView__environmentName,.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment:focus .greatWinterHuntGolemDestinationView__environmentName{background-color:#fff}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment[data-environment-type=train_station] .greatWinterHuntGolemDestinationView__environmentName span{font-size:10px}.mh-improved-travel-window-footer{position:absolute;bottom:20px;display:flex;gap:10px;align-items:center;width:330px}.mh-improved-travel-window-edit{padding:0 15px;font-weight:400;line-height:24px}.mh-improved-travel-window--editing{border-radius:5px;outline:3px solid #f37c7c}.mh-improved-travel-window-description,.mh-improved-travel-window-hidden{display:none}.mh-improved-travel-window--editing .mh-improved-travel-window-hidden{display:block;filter:grayscale(1);opacity:.4}.mh-improved-travel-window--editing .mh-improved-travel-window-description{display:inline-block}.mh-improved-travel-window-environment-icon{cursor:pointer}\n";
}
});

// src/modules/better-travel/travel-window.js
var getHiddenLocations, toggleLocation, hideLocation, unhideLocation, isLocationHidden, openTravelWindow, isEditing, environments2, makeMenuItem2, addEnvironmentIconListener, travel_window_default;
var init_travel_window = __esm({
"src/modules/better-travel/travel-window.js"() {
init_utils2();
init_utils2();
init_travel_utils();
init_travel_menu();
getHiddenLocations = () => {
  return getTravelSetting("travel-window-hidden-locations", []);
};
toggleLocation = (location) => {
  if (isLocationHidden(location)) {
    unhideLocation(location);
  } else {
    hideLocation(location);
  }
};
hideLocation = (location) => {
  const hiddenLocations = getHiddenLocations();
  if (hiddenLocations.includes(location)) {
    return;
  }
  hiddenLocations.push(location);
  saveTravelSetting("travel-window-hidden-locations", hiddenLocations);
};
unhideLocation = (location) => {
  const hiddenLocations = getHiddenLocations();
  if (!hiddenLocations.includes(location)) {
    return;
  }
  hiddenLocations.splice(hiddenLocations.indexOf(location), 1);
  saveTravelSetting("travel-window-hidden-locations", hiddenLocations);
};
isLocationHidden = (location) => {
  const hiddenLocations = getHiddenLocations();
  return hiddenLocations.includes(location);
};
openTravelWindow = () => __async(void 0, null, function* () {
  debug("Opening travel window");
  const regions2 = [
    { type: "gnawnia", name: "Gnawnia" },
    { type: "valour", name: "Valour" },
    { type: "whisker_woods", name: "Whisker Woods" },
    { type: "burroughs", name: "Burroughs" },
    { type: "furoma", name: "Furoma" },
    { type: "bristle_woods", name: "Bristle Woods" },
    { type: "tribal_isles", name: "Tribal Isles" },
    { type: "varmint_valley", name: "Varmint Valley" },
    { type: "desert", name: "Sandtail Desert" },
    { type: "rodentia", name: "Rodentia" },
    { type: "queso_canyon", name: "Queso Canyon" },
    { type: "zokor_zone", name: "Hollow Heights" },
    { type: "folklore_forest", name: "Folklore Forest" },
    { type: "riftopia", name: "Rift Plane" }
  ];
  environments2 = yield getData("environments");
  const eventEnvironments = yield getData("environments-events");
  environments2 = [...environments2, ...eventEnvironments];
  const currentEnvironment = environments2.find((e) => e.id === getCurrentLocation());
  const locationsToRemove = ["forbidden_grove"];
  environments2 = environments2.map((env) => {
    if (!isUserTitleAtLeast(env.title)) {
      locationsToRemove.push(env.id);
    }
    return env;
  });
  environments2 = environments2.filter((env) => !locationsToRemove.includes(env.id));
  let content = '<div class="mh-improved-travel-window greatWinterHuntGolemDestinationView"><div class="greatWinterHuntGolemDestinationView__content">';
  content += '<div class="greatWinterHuntGolemDestinationView__regionsContainer">';
  for (const region of regions2) {
    let buttonClass = "greatWinterHuntGolemDestinationView__regionButton";
    if ((currentEnvironment == null ? void 0 : currentEnvironment.region) === (region == null ? void 0 : region.type)) {
      buttonClass += " greatWinterHuntGolemDestinationView__regionButton--active";
    }
    content += `<button class="${buttonClass}" data-region-type="${region.type}">${region.name}</button>`;
  }
  content += "</div>";
  const hasTitles = false;
  content += '<div class="greatWinterHuntGolemDestinationView__environmentsContainer"><div class="greatWinterHuntGolemDestinationView__environmentsScroller"><div class="greatWinterHuntGolemDestinationView__regionList">';
  if (!hasTitles) {
    content += `<div class="greatWinterHuntGolemDestinationView__regionGroup" data-region-type="all">
<div class="greatWinterHuntGolemDestinationView__regionEnvironments">`;
  }
  for (const region of regions2) {
    if (hasTitles) {
      content += `<div class="greatWinterHuntGolemDestinationView__regionGroup" data-region-type="${region.type}">
  <div class="greatWinterHuntGolemDestinationView__regionName">${region.name}</div>
  <div class="greatWinterHuntGolemDestinationView__regionEnvironments">`;
    }
    const regionEnvironments = environments2.filter((e) => e.region === region.type);
    regionEnvironments.forEach((environment) => {
      let envButtonClass = "greatWinterHuntGolemDestinationView__environment";
      if (currentEnvironment.id === environment.id) {
        envButtonClass += " greatWinterHuntGolemDestinationView__environment--active";
      }
      if (isLocationHidden(environment.id)) {
        envButtonClass += " mh-improved-travel-window-hidden";
      }
      content += `<button class="${envButtonClass}" data-environment-type="${environment.id}">
  <div class="greatWinterHuntGolemDestinationView__environmentName">
      <span>${environment.name}</span>
  </div>
  <div class="greatWinterHuntGolemDestinationView__environmentImage" style="background-image:url(${environment.headerImage});" data-environment-type="${environment.id}"></div>
</button>`;
    });
    if (hasTitles) {
      content += "</div></div>";
    }
  }
  if (!hasTitles) {
    content += "</div></div>";
  }
  content += "</div></div></div>";
  content += "</div>";
  content += `<div class="mh-improved-travel-window-footer">
<div class="mh-improved-travel-window-edit mousehuntActionButton"><span>Edit</span></div>
<div class="mh-improved-travel-window-description">Click on a location to toggle the visibility.</div>
</div>`;
  content += "</div>";
  const popup = createPopup({
    id: "mh-improved-travel-window",
    title: "",
    content,
    className: "mh-improved-travel-window-popup jsDialogFixed",
    show: false
  });
  popup.setOffsetHeight(0);
  popup.setPersistentOffsetHeight(0);
  popup.setIsModal(false);
  popup.show();
  const travelWindow = document.querySelector(".mh-improved-travel-window");
  if (!travelWindow) {
    return;
  }
  const editButton = document.querySelector(".mh-improved-travel-window-edit");
  if (!editButton) {
    return;
  }
  const editButtonSpan = editButton.querySelector("span");
  if (!editButtonSpan) {
    return;
  }
  const environmentButtons = document.querySelectorAll(".greatWinterHuntGolemDestinationView__environment");
  if (!environmentButtons) {
    return;
  }
  editButton.addEventListener("click", () => {
    isEditing = !isEditing;
    if (isEditing) {
      travelWindow.classList.add("mh-improved-travel-window--editing");
      editButtonSpan.textContent = "Save";
      editButton.classList.add("active");
    } else {
      travelWindow.classList.remove("mh-improved-travel-window--editing");
      editButtonSpan.textContent = "Edit";
      editButton.classList.remove("active");
    }
  });
  environmentButtons.forEach((button) => {
    const environmentType = button.getAttribute("data-environment-type");
    button.addEventListener("click", () => {
      if (isEditing) {
        toggleLocation(environmentType);
        button.classList.toggle("mh-improved-travel-window-hidden");
      } else {
        debug(`Traveling to ${environmentType}`);
        app.pages.TravelPage.travel(environmentType);
        setPage("Camp");
        popup.hide();
      }
    });
  });
  onDialogHide(() => {
    isEditing = false;
  });
});
isEditing = false;
environments2 = [];
makeMenuItem2 = () => {
  addSubmenuItem({
    id: "mh-improved-travel-window",
    menu: "travel",
    label: "Travel Window",
    icon: "https://www.mousehuntgame.com/images/ui/hud/menu/special.png?asset_cache_version=2",
    callback: () => {
      openTravelWindow();
    }
  });
};
addEnvironmentIconListener = () => {
  const environmentIcon = document.querySelector(".mousehuntHud-environmentIcon");
  if (!environmentIcon) {
    return;
  }
  environmentIcon.classList.add("mh-improved-travel-window-environment-icon");
  environmentIcon.title = "Open Travel Window";
  environmentIcon.addEventListener("click", () => {
    openTravelWindow();
  });
};
travel_window_default = () => __async(void 0, null, function* () {
  addStyles(travel_menu_default, "better-travel-travel-window");
  makeMenuItem2();
  if (getSetting("better-travel.travel-window-environment-icon", true)) {
    addEnvironmentIconListener();
  }
  onEvent("mh-improved-open-travel-window", openTravelWindow);
  environments2 = yield getData("environments");
});
}
});

// src/modules/better-travel/settings/index.js
var settings_default10;
var init_settings11 = __esm({
"src/modules/better-travel/settings/index.js"() {
settings_default10 = () => __async(void 0, null, function* () {
  return [
    {
      id: "better-travel.default-to-simple-travel",
      title: "Show Simple Travel tab by default",
      default: false,
      description: ""
    },
    {
      id: "better-travel.show-alphabetized-list",
      title: "Show alphabetized list on Simple Travel tab",
      default: false,
      description: ""
    },
    {
      id: "better-travel.show-reminders",
      title: "Show Travel Reminders",
      default: true,
      description: ""
    },
    {
      id: "better-travel.travel-window",
      title: "Travel Window",
      default: true,
      description: ""
    },
    {
      id: "better-travel.travel-window-environment-icon",
      title: "Environment icon opens Travel Window",
      default: true,
      description: ""
    }
  ];
});
}
});

// src/modules/better-travel/styles.css
var styles_default14;
var init_styles15 = __esm({
"src/modules/better-travel/styles.css"() {
styles_default14 = '.travelPage-map-spacer,.travelPage-map-simpleToggle,.mousehuntHud-page-tabContent.map.full .travelPage-map-simpleToggle.full,.mousehuntHud-page-tabContent.map.full .travelPage-map-prefix.full{display:none}.travelPage-regionMenu{width:22%;overflow:scroll}.travelPage-map-environment-detailContainer{left:22%;width:78%}.travelPage-regionMenu-environmentLink.active{color:#000;background:#a4cafc}.travelPage-regionMenu-stats{color:#4d4d4d;background-color:#d8d8d8}.travelPage-regionMenu-numFriends{padding:0;background:none}.travelPage-mapContainer.full{height:auto;min-height:800px;max-height:900px;border:none}.travelPage-map-imageContainer{width:78%}.travelPage-map-zoomContainer{bottom:300px;transform:scale(1.5)}.travelPage-map-image-environment-name{top:70px;z-index:15;font-size:22px;font-variant:none;text-shadow:1px 1px #000,0 0 10px #000,8px 12px 9px #000}.travelPage-map-image-environment.locked .travelPage-map-image-environment-status{z-index:1;opacity:.5}.travelPage-map-image-environment-star{z-index:10}.travelPage-map-image-environment-button{top:100px;transform:scale(1.2)}.travelPage-regionMenu-environmentLink.mystery{display:inline-block;color:#9e9e9e;pointer-events:none}.travelPage-regionMenu-item[data-region=riftopia],.travelPage-regionMenu-item[data-region=riftopia] .travelPage-regionMenu-item-contents{display:block!important}.travelPage-regionMenu-regionLink:hover,.travelPage-regionMenu-regionLink:focus{cursor:unset}#mh-simple-travel-page .travelPage-map-prefix{display:block}#mh-simple-travel-page .travelPage-regionMenu{display:grid;grid-template-columns:repeat(5,1fr);width:100%;margin-bottom:10px;overflow:visible;background-color:transparent}#mh-simple-travel-page .travelPage-regionMenu-item{box-sizing:border-box;margin:1px;background-color:#e2e2e2;border:1px solid #4c71b4}#mh-simple-travel-page .travelPage-regionMenu-item[data-region=gnawnia],#mh-simple-travel-page .travelPage-regionMenu-item[data-region=valour],#mh-simple-travel-page .travelPage-regionMenu-item[data-region=whisker_woods],#mh-simple-travel-page .travelPage-regionMenu-item[data-region=burroughs],#mh-simple-travel-page .travelPage-regionMenu-item[data-region=furoma]{min-height:215px}#mh-simple-travel-page .travelPage-regionMenu-item[data-region=riftopia]{min-height:250px}#mh-simple-travel-page .travelPage-regionMenu-environments{width:145px;padding-left:2px;box-shadow:none}#mh-simple-travel-page .travelPage-regionMenu-item-contents{overflow:visible!important}#mh-simple-travel-page .travelPage-regionMenu-environmentLink.active{color:#4e6081}#mh-simple-travel-page .travelPage-regionMenu-environmentLink:hover,#mh-simple-travel-page .travelPage-regionMenu-environmentLink:focus{color:#fff;background-color:#6383bf}.huntersHornView__messageContent strong{font-weight:900}#mh-simple-travel-page .travelPage-alpha-wrapper .travelPage-regionMenu{display:block;width:100%}#mh-simple-travel-page .travelPage-alpha-wrapper .travelPage-regionMenu-environments{display:flex;flex-flow:column wrap;align-items:stretch;justify-content:flex-start;width:754px;height:425px;padding:4px 1px}#mh-simple-travel-page .travelPage-alpha-wrapper a.travelPage-regionMenu-environmentLink{width:112px;margin-left:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mhui-region-travel-item .icon{border-radius:5px}.mousehuntHud-menu ul li ul li.mhui-region-travel-item a .icon{top:6px;left:3px;width:22px;height:22px}#mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.active.highlight{margin-right:-3px;border-right:1px solid #4c71b4}#mh-simple-travel-page .travelPage-alpha-wrapper .travelPage-regionMenu-environmentLink.active.highlight{margin-right:0;border-right:none;border-radius:3px}.travelPage-regionMenu-environmentLink.relic-hunter-is-here:after{position:absolute;top:5px;right:5px;display:none;width:20px;height:20px;content:"";background-image:url(https://www.mousehuntgame.com/images/mice/thumb/d6980f1b00ff8ec688804706cba9370c.gif?cv=2);background-repeat:no-repeat;background-size:contain;border-radius:5px}.travelPage-regionMenu-environments:hover .travelPage-regionMenu-environmentLink.relic-hunter-is-here:after,.travelPage-regionMenu-environments:focus .travelPage-regionMenu-environmentLink.relic-hunter-is-here:after,.travelPage-regionMenu-environmentLink.relic-hunter-is-here:hover:after,.travelPage-regionMenu-environmentLink.relic-hunter-is-here:focus:after{display:block}.travelPage-regionMenu-environmentLink.relic-hunter-is-here{background-color:#e0f2d5}.mousehuntHud-page-tabContent.simple-travel .travelPage-regionMenu-environmentLink.relic-hunter-is-here{margin:0;border:none;border-radius:6px;outline:1px solid #ccc}.travelPage-alpha-wrapper .relic-hunter-is-here .travelPage-regionMenu-environmentLink-image{margin-left:0}.travelPage-map-image-environment .map-relic-hunter-is-here-image{position:absolute;top:5px;left:5px;width:60px;height:60px;overflow:hidden;background:url(https://www.mousehuntgame.com/images/mice/thumb/d6980f1b00ff8ec688804706cba9370c.gif?cv=2);filter:hue-rotate(-326deg);background-repeat:no-repeat;background-size:contain;border-radius:50%;transform:rotate(-70deg)}.map-relic-hunter-is-here.travelPage-map-image-environment-pointer{top:41px;left:86px;z-index:9;filter:hue-rotate(326deg);transform:rotate(70deg)}#mh-simple-travel-page .first-letter:first-letter{font-size:12px;font-weight:900}#mh-simple-travel-page .travelPage-alpha-wrapper:hover .first-letter:first-letter{border-bottom:1px solid #4e6081}#mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.active.highlight.event-location,#mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.event-location{color:#c01dff}#mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.active.highlight.event-location:after,#mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.event-location:after{position:absolute;top:1px;left:4px;width:15px;height:15px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/camp/trap/star_favorite.png?asset_cache_version=2);filter:drop-shadow(0 0 1px #fff);background-repeat:no-repeat;background-size:contain}.travelPage-map-environment-detail-title .custom-favorite-button{margin-top:-1px;margin-left:10px}.mousehuntHud-menu ul li ul li.mh-improved-better-travel-favorites-divider{height:1px;pointer-events:none;background-color:#6c3d0e7f}.mh-improved-better-travel-favorite-location:after{position:absolute;top:6px;right:4px;bottom:0;display:block;width:20px;height:20px;content:"";background:url(https://www.mousehuntgame.com/images/ui/map/star_gold_320.png?asset_cache_version=2);background-size:contain;opacity:.3}.mh-improved-better-travel-favorite-location:hover:after,.mh-improved-better-travel-favorite-location:focus:after{opacity:.1}.mh-improved-better-travel-menu-item .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mousehuntHud-environmentName{padding-top:0;margin-top:29px}.mh-improved-better-travel-region-location .icon{border:1px solid #9f9171;border-radius:3px}\n';
}
});

// src/modules/better-travel/travel-menu-hiding.css
var travel_menu_hiding_default;
var init_travel_menu_hiding = __esm({
"src/modules/better-travel/travel-menu-hiding.css"() {
travel_menu_hiding_default = "ul.fast-travel-list>li:not(.custom-submenu-item){display:none}\n";
}
});

// src/modules/better-travel/index.js
var expandTravelRegions, travelClickHandler, cloneRegionMenu, addTab, addPage, addAlphabetizedList, addSimpleTravelPage, addSimpleTravel, getPreviousLocation, goToPreviousLocation, addToTravelDropdown, onTravelComplete, initSimpleTab, maybeSetTab, addRhToSimpleTravel, addRhToMap, maybeDoMapView, _tabHandler, listenTabChange, saveTravelLocation, getLocationFavorites, isLocationFavorite, saveLocationFavorites, addToLocationFavorites, removeFromLocationFavorites, addFavoriteButtonsToTravelPage, main9, environments3, init15, better_travel_default;
var init_better_travel = __esm({
"src/modules/better-travel/index.js"() {
init_utils2();
init_utils2();
init_travel_utils();
init_reminders();
init_travel_window();
init_settings11();
init_styles15();
init_travel_menu_hiding();
expandTravelRegions = () => {
  var _a, _b;
  if ("travel" !== getCurrentPage()) {
    return;
  }
  const hud9 = document.querySelector("#mousehuntHud");
  if (hud9) {
    const hudHeight = hud9.offsetHeight + 30;
    const map = document.querySelector(".travelPage-mapContainer.full");
    if (map) {
      map.style.height = `calc(100vh - ${hudHeight}px)`;
    }
  }
  const regionHeaders = document.querySelectorAll(".travelPage-regionMenu-regionLink");
  if (regionHeaders) {
    regionHeaders.forEach((regionHeader) => {
      regionHeader.setAttribute("onclick", "return false;");
    });
  }
  const travelAreas = document.querySelectorAll(".travelPage-regionMenu-item");
  if (travelAreas && travelAreas.length > 0) {
    travelAreas.forEach((area) => {
      area.classList.add("active");
      area.classList.remove("contracted");
    });
  }
  const locations = document.querySelectorAll(".travelPage-map-image-environment.active");
  if (locations && locations.length > 0) {
    locations.forEach((location) => {
      location.addEventListener("mouseover", () => {
        location.classList.add("highlight");
      });
      location.addEventListener("mouseout", () => {
        setTimeout(() => {
          location.classList.remove("highlight");
        }, 1e3);
      });
    });
  }
  if ((_b = (_a = app == null ? void 0 : app.pages) == null ? void 0 : _a.TravelPage) == null ? void 0 : _b.zoomOut) {
    setTimeout(() => {
      app.pages.TravelPage.zoomOut();
    }, 500);
  }
};
travelClickHandler = (event) => {
  var _a, _b;
  if ((_b = (_a = app == null ? void 0 : app.pages) == null ? void 0 : _a.TravelPage) == null ? void 0 : _b.travel) {
    app.pages.TravelPage.travel(event.target.getAttribute("data-environment"));
    setPage("Camp");
  }
};
cloneRegionMenu = () => {
  const regionMenu = document.querySelector(".travelPage-regionMenu");
  if (!regionMenu) {
    return;
  }
  const regionMenuClone = regionMenu.cloneNode(true);
  const travelLinks = regionMenuClone.querySelectorAll(".travelPage-regionMenu-environmentLink");
  if (travelLinks && travelLinks.length > 0) {
    travelLinks.forEach((link) => {
      link.setAttribute("onclick", "return false;");
      link.addEventListener("click", travelClickHandler);
    });
  }
  return regionMenuClone;
};
addTab = (id, label) => {
  if ("travel" !== getCurrentPage()) {
    return;
  }
  const exists = document.querySelector(`#mh-${id}-tab`);
  if (exists) {
    return;
  }
  const tabContainer = document.querySelector(".mousehuntHud-page-tabHeader-container");
  if (!tabContainer) {
    return;
  }
  const tab = makeElement("a", "mousehuntHud-page-tabHeader");
  tab.id = `mh-${id}-tab`;
  tab.setAttribute("data-tab", id);
  tab.setAttribute("onclick", "hg.utils.PageUtil.onclickPageTabHandler(this); return false;");
  makeElement("span", "", label, tab);
  tabContainer.append(tab);
};
addPage = (id, content) => {
  if ("travel" !== getCurrentPage()) {
    return;
  }
  const exists = document.querySelector(`#mh-${id}-page`);
  if (exists) {
    return;
  }
  const pageContainer = document.querySelector(".mousehuntHud-page-tabContentContainer");
  if (!pageContainer) {
    return;
  }
  const page = makeElement("div", ["mousehuntHud-page-tabContent", id]);
  page.id = `mh-${id}-page`;
  page.setAttribute("data-tab", id);
  if (content) {
    page.append(content);
  } else {
    const blank = makeElement("div");
    page.append(blank);
  }
  pageContainer.append(page);
};
addAlphabetizedList = (regionMenu) => {
  const alphaWrapper = makeElement("div", "travelPage-alpha-wrapper");
  const alphaContent = makeElement("div", "travelPage-regionMenu");
  const alphaHeader = makeElement("div", ["travelPage-regionMenu-item", "active"]);
  const alphaList = makeElement("div", "travelPage-regionMenu-item-contents");
  const alphaListContent = makeElement("div", "travelPage-regionMenu-environments");
  const links = regionMenu.querySelectorAll(".travelPage-regionMenu-environmentLink");
  const sortedLinks = [...links].sort((a, b) => {
    const aName = a.innerText;
    const bName = b.innerText;
    if (aName < bName) {
      return -1;
    }
    if (aName > bName) {
      return 1;
    }
    return 0;
  });
  let lastLetter = "";
  sortedLinks.forEach((link) => {
    const linkClone = link.cloneNode(true);
    alphaListContent.append(linkClone);
    linkClone.addEventListener("click", travelClickHandler);
    const firstLetter = linkClone.innerText.charAt(0).toLowerCase();
    if (firstLetter !== lastLetter) {
      linkClone.classList.add("first-letter");
    }
    lastLetter = firstLetter;
    const environment = environments3.find((env) => {
      return env.id === link.getAttribute("data-environment");
    });
    if (!environment) {
      linkClone.classList.add("event-location");
    }
  });
  alphaList.append(alphaListContent);
  alphaHeader.append(alphaList);
  alphaContent.append(alphaHeader);
  alphaWrapper.append(alphaContent);
  return alphaWrapper;
};
addSimpleTravelPage = () => {
  expandTravelRegions();
  const wrapper = makeElement("div", "travelPage-wrapper");
  if ("not-set" === getSetting("better-travel.default-to-simple-travel", "not-set")) {
    const settingTip = makeElement("div", ["travelPage-map-prefix", "simple-travel-tip"], 'You can set this as the default travel tab in the <a href="https://www.mousehuntgame.com/preferences.php?tab=mousehunt-improved-settings">MouseHunt Improved settings</a>.');
    wrapper.append(settingTip);
  }
  const regionMenu = cloneRegionMenu();
  if (getSetting("better-travel.show-alphabetized-list", false)) {
    wrapper.append(addAlphabetizedList(regionMenu));
  }
  wrapper.append(regionMenu);
  addPage("simple-travel", wrapper);
};
addSimpleTravel = () => {
  if ("travel" !== getCurrentPage()) {
    return;
  }
  addTab("simple-travel", "Simple Travel");
  addSimpleTravelPage();
};
getPreviousLocation = () => {
  const previousLocation = getTravelSetting("previous-location", false);
  if (previousLocation && previousLocation !== getCurrentLocation()) {
    return environments3.find((environment) => {
      return environment.id === previousLocation;
    });
  }
  return false;
};
goToPreviousLocation = () => {
  const previousLocation = getPreviousLocation();
  if (previousLocation) {
    app.pages.TravelPage.travel(previousLocation.id);
  }
};
addToTravelDropdown = () => __async(void 0, null, function* () {
  const currentLocation = getCurrentLocation();
  const eventEnvironments = yield getData("environments-events");
  environments3.push(...eventEnvironments);
  let currentRegion = environments3.find((environment) => {
    return environment.id === currentLocation;
  });
  if (!currentRegion) {
    currentRegion = eventEnvironments.find((environment) => {
      return environment.id === currentLocation;
    });
    if (!currentRegion) {
      return;
    }
  }
  const otherRegions = environments3.filter((environment) => {
    if (!(environment == null ? void 0 : environment.region) || !(currentRegion == null ? void 0 : currentRegion.region)) {
      return false;
    }
    return environment.region === currentRegion.region;
  });
  otherRegions.splice(otherRegions.findIndex((environment) => {
    return environment.id === currentLocation;
  }), 1);
  const existingCustomSubmenuItems = document.querySelectorAll(".mh-improved-better-travel-menu-item");
  if (existingCustomSubmenuItems) {
    existingCustomSubmenuItems.forEach((item) => {
      item.remove();
    });
  }
  const previousLocation = getPreviousLocation();
  if (previousLocation) {
    addSubmenuItem({
      menu: "travel",
      label: `Back to ${previousLocation.name}`,
      icon: "https://www.mousehuntgame.com/images/ui/puzzle/refresh.png",
      callback: goToPreviousLocation,
      class: "mh-improved-better-travel-menu-item mh-improved-better-travel-previous-location"
    });
  }
  otherRegions.forEach((region) => {
    if (region.id === currentLocation) {
      return;
    }
    addSubmenuItem({
      menu: "travel",
      label: region.name,
      icon: region.image,
      callback: () => {
        app.pages.TravelPage.travel(region.id);
      },
      class: "mh-improved-better-travel-menu-item mh-improved-better-travel-region-location"
    });
  });
  const favorites = getLocationFavorites();
  if (favorites && favorites.length > 0) {
    addSubmenuDivider("travel", "mh-improved-better-travel-favorites-divider");
    favorites.forEach((favorite) => {
      const favoriteRegion = environments3.find((environment) => {
        return environment.id === favorite;
      });
      if (favoriteRegion) {
        addSubmenuItem({
          menu: "travel",
          label: favoriteRegion.name,
          icon: favoriteRegion.image,
          callback: () => {
            app.pages.TravelPage.travel(favoriteRegion.id);
          },
          class: "mh-improved-better-travel-menu-item mh-improved-better-travel-favorite-location"
        });
      }
    });
  }
});
onTravelComplete = () => {
  onEvent("travel_complete", () => {
    saveTravelLocation();
    setTimeout(() => {
      if (getSetting("better-travel.show-reminders", true)) {
        reminders_default();
      }
      addToTravelDropdown();
    }, 250);
  });
};
initSimpleTab = () => {
  if ("simple-travel" === getCurrentTab()) {
    const isActive = document.querySelector(".mousehuntHud-page-tabContent.simple-travel");
    if (!isActive || isActive && isActive.classList.contains("active")) {
      return;
    }
    setTab("simple-travel");
  }
};
maybeSetTab = () => {
  if ("travel" !== getCurrentPage()) {
    return;
  }
  initSimpleTab();
  if ("map" !== getCurrentTab()) {
    return;
  }
  if (!getSetting("better-travel.default-to-simple-travel", false)) {
    return;
  }
  setTab("simple-travel");
};
addRhToSimpleTravel = () => __async(void 0, null, function* () {
  const location = yield getRelicHunterLocation();
  if (!location) {
    return;
  }
  const travelLink = document.querySelectorAll(`.travelPage-regionMenu-environmentLink[data-environment="${location.id}"]`);
  if (!travelLink.length) {
    return;
  }
  travelLink.forEach((link) => {
    link.classList.add("relic-hunter-is-here");
  });
});
addRhToMap = () => __async(void 0, null, function* () {
  const location = yield getRelicHunterLocation();
  if (!location) {
    return;
  }
  const mapLocation = document.querySelector(`.travelPage-map-image-environment[data-environment-type="${location.id}"]`);
  if (!mapLocation) {
    return;
  }
  const rh = makeElement("div", ["map-relic-hunter-is-here", "travelPage-map-image-environment-pointer"]);
  makeElement("div", ["map-relic-hunter-is-here-image", "travelPage-map-image-environment-pointer-image"], "", rh);
  mapLocation.append(rh);
});
maybeDoMapView = () => {
  if ("travel" !== getCurrentPage()) {
    return;
  }
  if ("map" !== getCurrentTab()) {
    return;
  }
  expandTravelRegions();
  addRhToMap();
};
_tabHandler = null;
listenTabChange = () => {
  var _a, _b;
  if (_tabHandler) {
    return;
  }
  if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.onclickPageTabHandler)) {
    return;
  }
  _tabHandler = hg.utils.PageUtil.onclickPageTabHandler;
  hg.utils.PageUtil.onclickPageTabHandler = (tab) => {
    _tabHandler(tab);
    maybeDoMapView();
  };
};
saveTravelLocation = () => {
  const isLocationDashboardRefreshing = sessionGet("doing-location-refresh", false);
  if (isLocationDashboardRefreshing) {
    return;
  }
  const previousLocation = getTravelSetting("current-location", "not-set");
  const currentLocation = getCurrentLocation();
  if (currentLocation === previousLocation) {
    return;
  }
  saveTravelSetting("previous-location", previousLocation);
  saveTravelSetting("current-location", currentLocation);
};
getLocationFavorites = () => {
  const faves = getTravelSetting("favorites", []);
  const hasMigratedFaves = getTravelSetting("has-migrated-favorites", false);
  if (!hasMigratedFaves) {
    const lvFavesSettings = JSON.parse(localStorage.getItem("fast-travel-cache"));
    const lvFaves = (lvFavesSettings == null ? void 0 : lvFavesSettings.locationList) || [];
    if (lvFaves) {
      const lvKeys = Object.keys(lvFaves);
      lvKeys.forEach((key) => {
        faves.push(key);
      });
      if (faves.length > 0) {
        const uniqueFaves = [...new Set(faves)];
        saveLocationFavorites(uniqueFaves);
      }
      getTravelSetting("has-migrated-favorites", true);
    }
  }
  return faves;
};
isLocationFavorite = (type) => {
  return getLocationFavorites().includes(type);
};
saveLocationFavorites = (favorites) => {
  saveTravelSetting("favorites", favorites);
};
addToLocationFavorites = (type) => {
  if (!isLocationFavorite(type)) {
    const faves = getLocationFavorites();
    faves.push(type);
    saveLocationFavorites(faves);
  }
};
removeFromLocationFavorites = (type) => {
  if (getLocationFavorites()) {
    const faves = getLocationFavorites();
    faves.splice(faves.indexOf(type), 1);
    saveLocationFavorites(faves);
  }
};
addFavoriteButtonsToTravelPage = () => __async(void 0, null, function* () {
  const locations = document.querySelectorAll(".travelPage-map-environment-detailContainer .travelPage-map-environment-detail");
  if (!locations) {
    return;
  }
  const locationFavorites = getLocationFavorites();
  locations.forEach((location) => {
    const type = location.getAttribute("data-environment-type");
    if (!type) {
      return;
    }
    const isFavorite2 = locationFavorites.includes(type);
    makeFavoriteButton({
      id: `better-travel-favorite-${type}`,
      target: location.querySelector(".travelPage-map-environment-detail-title"),
      size: "small",
      state: isFavorite2,
      isSetting: false,
      defaultState: false,
      onActivate: () => {
        addToLocationFavorites(type);
        addToTravelDropdown();
      },
      onDeactivate: () => {
        removeFromLocationFavorites(type);
        removeSubmenuItem(type);
      }
    });
  });
});
main9 = () => {
  if (getSetting("better-travel.travel-window", true)) {
    travel_window_default();
  }
  onNavigation(() => {
    addSimpleTravel();
    addRhToSimpleTravel();
    addFavoriteButtonsToTravelPage();
  }, {
    page: "travel"
  });
  onPageChange({
    travel: { show: maybeSetTab }
  });
  listenTabChange();
  initSimpleTab();
  maybeDoMapView();
  onTravelComplete();
  saveTravelLocation();
  addToTravelDropdown();
  onEvent("mh-improved-goto-previous-location", goToPreviousLocation);
};
environments3 = [];
init15 = () => __async(void 0, null, function* () {
  const stylesJoined = [styles_default14];
  if (!getFlag("no-travel-menu-hiding")) {
    stylesJoined.push(travel_menu_hiding_default);
  }
  addStyles(stylesJoined, "better-travel");
  environments3 = yield getData("environments");
  main9();
});
better_travel_default = {
  id: "better-travel",
  name: "Better Travel",
  type: "better",
  default: true,
  description: 'Adds locations in the current region to the Travel dropdown menu, a "Simple Travel" tab with a grid of locations, an optional alphabetized list, an indicator for where the Relic Hunter is.',
  load: init15,
  settings: settings_default10
};
}
});

// src/modules/better-ui/friends.js
var reorderBlocks, autofocusIdSearch, friends_default;
var init_friends = __esm({
"src/modules/better-ui/friends.js"() {
init_utils2();
reorderBlocks = () => {
  if ("friends" !== getCurrentPage()) {
    return;
  }
  const reordered = document.querySelector(".mousehuntHud-page-subTabContent.community");
  if (!reordered || reordered.getAttribute("data-reordered")) {
    return;
  }
  const blocks = document.querySelectorAll(".friendsPage-community-channel");
  if (!blocks || blocks.length < 3) {
    return;
  }
  const block = blocks[2];
  const parent = block.parentNode;
  block.remove();
  parent.insertBefore(block, parent.firstChild);
  block.classList.add("friends-page-id-search");
  const input = block.querySelector("input");
  if (input) {
    input.setAttribute("data-1p-ignore", "true");
  }
  reordered.setAttribute("data-reordered", "true");
};
autofocusIdSearch = () => {
  const input = document.querySelector(".friendsPage-community-hunterIdForm-input");
  if (!input) {
    return;
  }
  input.focus();
};
friends_default = () => __async(void 0, null, function* () {
  onNavigation(reorderBlocks, {
    page: "friends"
  });
  onNavigation(autofocusIdSearch, {
    page: "friends",
    tab: "requests",
    subtab: "community"
  });
});
}
});

// src/modules/better-ui/hud.js
var showFullTitlePercent, replaceInboxClose, replaceKingdomLink, hud_default;
var init_hud = __esm({
"src/modules/better-ui/hud.js"() {
showFullTitlePercent = () => __async(void 0, null, function* () {
  const title = document.querySelector(".mousehuntHud-userStat.title");
  if (!title) {
    return;
  }
  const percent = title.getAttribute("title");
  if (!percent) {
    return;
  }
  const target = title.querySelector(".hud_titlePercentage");
  if (!target) {
    return;
  }
  const originalText = target.innerText;
  title.addEventListener("mouseover", () => {
    target.innerText = percent.includes("%") ? percent.split("%")[0] : percent;
  });
  title.addEventListener("mouseout", () => {
    target.innerText = originalText;
  });
});
replaceInboxClose = () => __async(void 0, null, function* () {
  const template = hg.utils.TemplateUtil.getTemplate("ViewMousehuntHeader_inbox").replace('<a class="messengerUINotificationClose" href="#">X', '<a class="messengerUINotificationClose" href="#">\u2715');
  hg.utils.TemplateUtil.addTemplate("ViewMousehuntHeader_inbox", template);
});
replaceKingdomLink = () => __async(void 0, null, function* () {
  const kingdomLink = document.querySelector('.mousehuntHud-menu .kingdom a[href="https://www.mousehuntgame.com/forum.php"]');
  if (!kingdomLink) {
    return;
  }
  kingdomLink.href = "https://www.mousehuntgame.com/news.php";
  kingdomLink.setAttribute("data-page", "News");
});
hud_default = () => __async(void 0, null, function* () {
  showFullTitlePercent();
  replaceInboxClose();
  replaceKingdomLink();
});
}
});

// src/modules/better-ui/userscript-styles/favorite-setups.css
var favorite_setups_default;
var init_favorite_setups = __esm({
"src/modules/better-ui/userscript-styles/favorite-setups.css"() {
favorite_setups_default = "#tsitu-fave-setups{z-index:100}\n";
}
});

// src/modules/better-ui/userscript-styles/journal-historian.css
var journal_historian_default;
var init_journal_historian = __esm({
"src/modules/better-ui/userscript-styles/journal-historian.css"() {
journal_historian_default = '.journalContainer .top:hover .journalContainer-selectTheme[style="position: initial;transform: none;flex: 1 1 auto;height: 20px;background: none rgb(119, 221, 119);padding: 0px 0px 0px 5px;"]:last-child{background-image:none}.journalContainer .top:hover .journalContainer-selectTheme[style="position: initial;transform: none;flex: 1 1 auto;height: 20px;background: none rgb(119, 221, 119);padding: 0px 0px 0px 5px;"]{display:inline-flex;justify-content:center;padding:0!important}.journalContainer .top:hover .journalContainer-selectTheme[style="position: initial;transform: none;flex: 1 1 auto;height: 20px;background: none rgb(119, 221, 119);padding: 0px 0px 0px 5px;"]:hover{background-color:#5dd55d!important}\n';
}
});

// src/modules/better-ui/userscript-styles/lgs-reminder.css
var lgs_reminder_default;
var init_lgs_reminder = __esm({
"src/modules/better-ui/userscript-styles/lgs-reminder.css"() {
lgs_reminder_default = "span.shieldDurationText,span.shieldDurationText[data-near-expiry=true]{bottom:-2px;z-index:1;font-size:15px;font-weight:900;text-shadow:0 0 1px #000,0 0 2px #000,0 0 3px #000}span.shieldDurationText[data-near-expiry=true]{color:#f12e2e}\n";
}
});

// src/modules/better-ui/userscript-styles/mhct.css
var mhct_default2;
var init_mhct2 = __esm({
"src/modules/better-ui/userscript-styles/mhct.css"() {
mhct_default2 = "#mhhh_flash_message_div{position:fixed!important;top:unset!important;right:10px;bottom:10px;left:unset!important;width:auto!important;font-weight:400!important;white-space:nowrap;background-color:#bff890!important;border-radius:10px;box-shadow:0 1px 3px -1px #000!important;opacity:1!important}\n";
}
});

// src/modules/better-ui/userscript-styles/profile-plus.css
var profile_plus_default;
var init_profile_plus = __esm({
"src/modules/better-ui/userscript-styles/profile-plus.css"() {
profile_plus_default = ".mouseCrownsView-group.favourite .mouseCrownsView-group-header .mouseCrownsView-crown,.mouseCrownsView-group.favourite .mouseCrownsView-group-header-name{display:inline-block}.mouseCrownsView-group-header-subtitle{margin-left:0}.mouseCrownsView-group-mouse-favouriteButton{top:2px;left:2px}.mouseCrownsView .pt.event{border-radius:50%}.mouseCrownsView #copyCrownsButton{width:16px!important;height:16px!important;background-color:transparent!important;border:none!important}.mouseCrownsView .pt{position:absolute;top:3px;right:3px;padding:2px;background-color:#eee;border:1px solid #ccc;border-radius:50%}.mouseCrownsView button.ptbtn{font-size:13px!important;background-color:#9fcad8!important;border:1px solid #008cba}.mouseCrownsView button.ptbtn img{width:20px!important;height:20px!important}.mouseCrownsView #powerTypeBtns{display:flex;flex-direction:row;gap:5px}.mouseCrownsView .toolBar{position:absolute;top:-1px;right:9px;display:flex;gap:2px;align-items:center;justify-content:flex-end;float:none!important;padding:1px;background-color:#d1d1d1;border:1px solid #a7a7a7;border-radius:0 5px}.powerCrown .mouseCrownsView-group-header-name,.mouseCrownsView-crown.powerCrown{display:none!important}.mouseCrownsView-group-header.powerCrown{padding:0;margin:0;background-color:transparent!important}button.ptbtn img{left:unset!important;width:auto!important;height:50px!important}.mouseCrownsView button.ptbtn>div{top:unset!important;right:unset!important;bottom:unset!important;left:unset!important;width:unset!important}button.ptbtn{display:grid;grid-template-columns:1fr 2fr 2fr;place-content:center flex-start;place-items:center center;width:100%!important;max-width:180px;height:unset!important;background-color:#00b0eb!important;border-width:1px}#powerTypeBtns{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;padding:6px;margin:0;background-color:transparent}.mouseCrownsView-crown.community{padding-right:5px}.mouseCrownsView-group-header.community{margin:10px}.rank.summary{line-height:1.5}\n";
}
});

// src/modules/better-ui/userscript-styles/tsitu-location-catch-stats.css
var tsitu_location_catch_stats_default;
var init_tsitu_location_catch_stats = __esm({
"src/modules/better-ui/userscript-styles/tsitu-location-catch-stats.css"() {
tsitu_location_catch_stats_default = '#tsitu-location-stats{width:300px!important;padding:0!important;background:#f6f3eb!important;border:1px solid #534022!important;border-radius:0!important;box-shadow:1px 1px 1px #9d917f,1px 3px 5px #6a6969!important}#tsitu-location-stats span[style="font-weight: bold; font-size: 18px; text-decoration: underline; padding-left: 20px;"]{display:flex;align-items:center;justify-content:space-between;padding:10px!important;font-size:1.5em!important;font-weight:400!important;color:#f6f3eb;text-decoration:none!important;cursor:grab;background-color:#926944;border-bottom:1px solid #ceb7a6}#tsitu-location-stats button[style="float: right; font-size: 8px;"]{position:absolute;top:5px;right:5px;width:20px;height:20px;font-size:16px!important;color:#fff;background-color:transparent;border:none}#tsitu-location-stats button[style="float: right; font-size: 8px;"]:hover{color:#926944;background-color:#eee;border-radius:50%;outline:1px solid #ccc}#tsitu-location-stats>div br{display:none}#tsitu-location-stats>div span>button,.tsitu-current-detail>span>button,#tsitu-location-stats>button{padding:2px 15px;margin:10px 0;line-height:1.5;color:#000;text-shadow:0 0 1px #fff;background-color:#fff600;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #eee}#tsitu-location-stats>div span>button{display:inline;padding:3px 5px;margin:.25em .75em;line-height:1}.tsitu-current-detail>span>button{display:block;margin:.25em auto}#tsitu-hideCaught-box{margin:0 3px;vertical-align:bottom}#tsitu-location-stats>span{padding:.125em;font-size:.9em}#tsitu-location-stats details{position:relative;padding:.5em}#tsitu-location-stats details details:nth-child(2n){background-color:#e8e3d7}#tsitu-location-stats details[style="font-size: 16px;"]{margin:.25em 0;border-top:1px solid #926944}#tsitu-complete-box,#tsitu-incomplete-box{position:absolute;top:0;right:0}.tsitu-complete-box-label,.tsitu-incomplete-box-label{position:absolute;top:3px;right:20px;font-size:10px!important;color:#7b6b47;text-align:right}#tsitu-location-stats details[style="font-size: 16px;"]>summary{margin:.5em 0}.tsitu-current-detail>span{line-height:1.5}#tsitu-location-stats span[style="font-style: italic; font-size: 12px;"]{display:block;margin-left:1.5em;font-size:10px!important;line-height:2;color:#7b6b47}.tsitu-current-detail>br:first-of-type,.tsitu-current-detail>span br:nth-of-type(1),.tsitu-current-detail>span br:nth-of-type(2),.tsitu-current-detail>span br:nth-last-of-type(1),.tsitu-current-detail>span br:nth-last-of-type(2){display:none}\n';
}
});

// src/modules/better-ui/userscript-styles/tsitu-qol.css
var tsitu_qol_default;
var init_tsitu_qol = __esm({
"src/modules/better-ui/userscript-styles/tsitu-qol.css"() {
tsitu_qol_default = "#tsitu-hunter-id-nav-ui input{flex:none!important;width:75px!important;margin:3px;border:1px solid #000!important;border-radius:2px}#tsitu-hunter-id-nav-ui button{padding:2px!important;margin:3px 1px!important;background-color:#d8e3f1;border:1px solid #000!important;border-radius:3px!important}#tsitu-hunter-id-nav-ui{display:inline-flex!important;align-items:center;border:none}\n";
}
});

// src/modules/better-ui/userscript-styles/tsitu-supply-search.css
var tsitu_supply_search_default;
var init_tsitu_supply_search = __esm({
"src/modules/better-ui/userscript-styles/tsitu-supply-search.css"() {
tsitu_supply_search_default = "#tsitu-supply-search{position:absolute;top:-2px;right:0;display:flex;align-items:center;vertical-align:middle;border:none!important}#tsitu-supply-search label{display:none}#tsitu-supply-search button{height:20px;padding:0 10px;line-height:19px;color:#000;text-shadow:0 0 1px #fff;background-color:#fff600;border:1px solid #000;border-radius:5px;box-shadow:inset 0 0 5px #fff,1px 1px 1px #fff}#tsitu-supply-search input{padding:2px;margin-right:2px;font-size:12px!important}\n";
}
});

// src/modules/better-ui/styles/adventure.css
var adventure_default;
var init_adventure = __esm({
"src/modules/better-ui/styles/adventure.css"() {
adventure_default = '.adventureBookBanner-container{padding-bottom:5px;margin-bottom:20px;overflow:hidden;line-height:16px;background-color:#fbf8f6;border:1px solid #d3cecb;border-radius:3px;box-shadow:inset -1px 1px 3px #d3cecb}.adventureBookBanner-adventureName,.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .adventureBookBanner-adventureName{padding:15px 5px 0;margin-left:75px;font-size:15px;font-style:italic;font-weight:400;line-height:15px;color:#333;background:transparent;border-radius:0}.mh-dark-mode .adventureBookBanner-container{color:#000;background-color:#999;border:1px solid #d3cecb;border-radius:3px;box-shadow:inset -1px 1px 3px #888}.adventureBookBanner-adventureName span{display:none}.adventureBookBanner-goalContainer{right:0;left:0;display:flex;align-items:flex-start;justify-content:space-between;background:none;box-shadow:none}.adventureBookPopup-adventureContainer.highlight{box-shadow:none}.adventureBookBanner-adventureImage{background-image:none!important}.adventureBookBanner-goalPadding{margin-left:75px}.adventureBookBanner-goalImage{position:absolute;top:-25px;left:10px;width:60px;height:60px;outline:1px solid #ccc}.adventureBookBanner-goalName{width:auto;height:auto}.adventureBookBanner-goalEnvironment{display:inline}.adventureBookBanner-goalName-padding .adventureBookBanner-goalEnvironment:before{content:". "}.adventureBookBanner-moreInfo{position:absolute;right:5px;bottom:-6px;display:inline-block;width:auto;height:auto;padding:1px 1px 1px 10px;font-size:9px;color:#3b5998;background:none;box-shadow:none}.adventureBookBanner-goalName-padding{display:block;width:auto;height:auto}.adventureBookBanner-goalName-padding span{display:block}.adventureBookBanner-moreInfo:after{content:" \\2192"}.adventureBookBanner-container:hover .adventureBookBanner-moreInfo{color:#3b5998;text-decoration:underline;text-shadow:none;background:none;box-shadow:none}.adventureBookBanner-goalWrapper.multi_choice.spacer{min-width:30px}.adventureBookPopup-adventure-details-block.requirements .adventureBookPopup-adventure-details-block-step.incomplete{box-shadow:0 1px 2px 1px #5c1c1c}.adventureBookPopup-adventure-details-environment-image{width:40px;height:40px;margin-bottom:10px}\n';
}
});

// src/modules/better-ui/styles/corkboard.css
var corkboard_default;
var init_corkboard = __esm({
"src/modules/better-ui/styles/corkboard.css"() {
corkboard_default = '.treasureMapRootView .messageBoardView .messageBoardView-message-container-padding,.teamPage-messageBoard-corkboard .messageBoardView-message-container-padding,.PageHunterProfile .messageBoardView-message-container-padding{background:none}.treasureMapRootView .messageBoardView div.messageBoardView-message-container,.teamPage-messageBoard-corkboard div.messageBoardView-message-container,.hunterInfoView-wrapper div.messageBoardView-message-container{margin:0;background:#e9e1c6;border:1px solid #985f42;border-radius:10px;box-shadow:-1px 2px 1px #a59f8e}.teamPage-messageBoard-corkboard div.messageBoardView-message-container{background:#e2d6b5;border-color:#af9969;box-shadow:1px 1px 1px #e2d6b5 inset}.treasureMapRootView .messageBoardView div.messageBoardView-message-container,.teamPage-messageBoard-corkboard .messageBoardView-message-container{background:#eee;border-color:#ccc;border-radius:0;box-shadow:none}.mh-dark-mode .treasureMapRootView .messageBoardView div.messageBoardView-message-container,.mh-dark-mode .teamPage-messageBoard-corkboard .messageBoardView-message-container{background:#333;border-color:#0c0c0c}.treasureMapRootView .messageBoardView .messageBoardView-message,.teamPage-messageBoard-corkboard .messageBoardView-message,.hunterInfoView-corkBoardBlock .messageBoardView-message{background:#fff;border:1px solid #bea87b;border-radius:8px;box-shadow:none}.teamPage-messageBoard-corkboard .messageBoardView-message.new,.hunterInfoView-corkBoardBlock div.messageBoardView-message.new{border:1px solid #bea87b!important}.treasureMapRootView .messageBoardView div.messageBoardView-message.new{border:1px solid #ccc!important}.mh-dark-mode .treasureMapRootView .messageBoardView div.messageBoardView-message.new{background-color:#191919;border-color:#2c2c2c!important}.treasureMapRootView .messageBoardView input.messageBoardView-message-submit,.teamPage-messageBoard-corkboard input.messageBoardView-message-submit,.hunterInfoView-corkBoardBlock input.messageBoardView-message-submit{margin:6px 0}input.messageBoardView-message-submit,input.messageBoardView-message-submit[type=submit]{padding:2px 15px;line-height:18px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #eee}input.messageBoardView-message-submit:hover,input.messageBoardView-message-submit[type=submit]:hover,input.messageBoardView-message-submit:focus,input.messageBoardView-message-submit[type=submit]:focus{background-color:#fff600;box-shadow:inset 0 0 16px 2px #fffaab}.treasureMapRootView .messageBoardView .messageBoardView-message-description,.teamPage-messageBoard-corkboard .messageBoardView-message-description,.hunterInfoView-corkBoardBlock .messageBoardView-message-description{padding-top:12px}.treasureMapRootView .messageBoardView a.messageBoardView-message-image,.teamPage-messageBoard-corkboard a.messageBoardView-message-image,.hunterInfoView-corkBoardBlock a.messageBoardView-message-image{border:1px solid #ccc;box-shadow:none}.treasureMapRootView .messageBoardView a.messageBoardView-message-name,.teamPage-messageBoard-corkboard a.messageBoardView-message-name,.hunterInfoView-corkBoardBlock a.messageBoardView-message-name{display:block;padding-bottom:5px}.treasureMapRootView .messageBoardView .messageBoardView-message-submitted,.teamPage-messageBoard-corkboard .messageBoardView-message-submitted,.hunterInfoView-corkBoardBlock .messageBoardView-message-submitted{color:#767676}.treasureMapRootView .messageBoardView .messageBoardView-message-body,.teamPage-messageBoard-corkboard .messageBoardView-message-body,.hunterInfoView-corkBoardBlock .messageBoardView-message-body{font-size:11px;font-weight:400;line-height:16px;color:#454545}.treasureMapRootView .messageBoardView .messageBoardView-message:after,.teamPage-messageBoard-corkboard .messageBoardView-message:after,.hunterInfoView-corkBoardBlock .messageBoardView-message:after{display:none}.treasureMapRootView .messageBoardView .pagerView-section.previous .pagerView-link,.teamPage-messageBoard-corkboard .pagerView-section.previous .pagerView-link,.hunterInfoView-corkBoardBlock .pagerView-section.previous .pagerView-link{color:#525252}a.messageBoardView-message-image{background-position:center;background-size:cover}a.messageBoardView-message-delete{right:10px;color:transparent}a.messageBoardView-message-delete:after{font-size:16px;color:#e03a3a;content:"\\2715"}a.messageBoardView-message-delete:hover:after,a.messageBoardView-message-delete:focus:after{color:#b72929}.friendsProfileView-selfStats{padding-top:15px}.mh-dark-mode .pageFrameView .hunterInfoView-wrapper .hunterInfoView-left a.friendsProfileView-randomFriend,.mh-dark-mode .pageFrameView .hunterInfoView-wrapper .messageBoardView-title{color:#242424}.mh-dark-mode .treasureMapRootView .messageBoardView .messageBoardView-message-body,.mh-dark-mode .teamPage-messageBoard-corkboard .messageBoardView-message-body,.mh-dark-mode .hunterInfoView-corkBoardBlock .messageBoardView-message-body{color:#fff}.mh-dark-mode .treasureMapView .messageBoardView-message{background:#333}.mh-dark-mode .messageBoardView-message-submitted{color:#ccc}.mh-dark-mode.PageHunterProfile .pageFrameView .hunterInfoView-wrapper .hunterInfoView-left a.messageBoardView-message-delete{color:transparent}\n';
}
});

// src/modules/better-ui/styles/daily-draw.css
var daily_draw_default;
var init_daily_draw = __esm({
"src/modules/better-ui/styles/daily-draw.css"() {
daily_draw_default = '.dailydraw{display:grid;grid-template-columns:1fr 1fr;gap:10px;place-content:space-evenly center;place-items:stretch stretch;margin:0 auto}.drawPage-ballot{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;float:none;margin:0}.drawPage-ballot .entries{background-color:#ffe8aa;border-radius:10px}.ballotEntry{display:flex;flex-direction:column;align-items:center;float:none;padding:0;margin:0;background-color:#ffe8aa}.dailydraw div[style="clear: both; padding-top: 10px;"],.dailydraw div[style="clear: both; padding-top: 20px;"]{display:none}.ballotEntry .prizeHeader{width:100%;padding:0;margin:0}.dailydraw h2,.ballotEntry .prizeHeader h3{width:auto;padding:10px;margin:0;font-size:15px;font-weight:400;background-color:transparent}.recentWinners,.socialBallots,.drawPage-ballot,.ballotEntry{border:1px solid #fc6}.drawPage-ballot img{width:150px}.recentWinners .draw{display:flex;float:none;width:auto;padding:10px}.recentWinners .draw img{width:60px}.prizeContent{display:flex;align-items:center;padding:10px}.ballotEntry .prizeContent .prizeDesc{float:none;line-height:20px}.ballotEntry .entryForm span,.ballotEntry .entryForm br{display:none}form#ballotPurchaseForm{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;width:a}.ballotEntry .entryForm .confirmTotal{margin:10px}div#ballotPurchase input{padding:2px 15px;margin-left:5px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #eee}div#ballotPurchase input:hover,div#ballotPurchase input:focus{background-color:#e4d50c}div#ballotConfirm input{height:25px;margin-left:10px!important}div#ballotConfirm{position:relative}div#ballotConfirm a{position:absolute;top:5px;right:-25px}div#ballotPurchase,div#ballotConfirm{width:110px;height:21px}.socialBallots p{padding:0 10px;line-height:16px}.recentWinners .draw:last-child{border-bottom:none}.PageDraw .flexibleDialogWarmBrown.shopDescription{height:25px;visibility:hidden}.flexibleDialogWarmBrown.shopDescription img{float:none}.flexibleDialogWarmBrown.shopDescription b{position:absolute;top:-40px;right:0;left:0;display:block;font-size:19px;color:#261900;text-align:center;text-shadow:0 1px 1px #fc6;visibility:visible}.recentWinners .draw .drawContent{display:flex;flex-direction:column;align-items:stretch;justify-content:space-around;float:none}.ballot_qty{text-align:center}div#ballotTotal:after{content:" gold"}div#ballotTotal.error:after{content:""}\n';
}
});

// src/modules/better-ui/styles/events.css
var events_default2;
var init_events3 = __esm({
"src/modules/better-ui/styles/events.css"() {
events_default2 = ".MiniEventGiveawayCampHUD-popup-content-prize-name span{font-size:11px}.MiniEventGiveawayCampHud-popup-recruit-info{padding:10px;color:#939393}\n";
}
});

// src/modules/better-ui/styles/footer.css
var footer_default;
var init_footer = __esm({
"src/modules/better-ui/styles/footer.css"() {
footer_default = '.pageFrameView-footer{position:relative;display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;margin:-40px 55px 0 70px;line-height:17px}.pageFrameView-footer a img{width:auto;max-height:25px;margin:5px 10px 0 0;opacity:.2;transition:.2s}.pageFrameView-footer a:nth-child(4){margin-right:auto}.pageFrameView-footer a:nth-child(4) img{filter:sepia(1);opacity:.7}.pageFrameView-footer:hover a img,.pageFrameView-footer:hover a:nth-child(4) img{filter:none;opacity:1}.pageFrameView-footer-linksContainer{display:block;width:auto;margin-right:auto;font-weight:900}.pageFrameView-footer br{display:none}.pageFrameView-footer-ad{position:absolute;right:-40px;bottom:-160px;left:-60px}.mousehuntFooter{position:relative;margin-top:0;border-top:none}.pageFrameView-content{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.mousehuntFooter-image{display:flex;flex-direction:row-reverse;color:transparent;background:url(https://i.mouse.rip/footer.png?1) no-repeat top center;border-top:none;border-bottom:none;border-radius:5px}.mousehuntFooter-image:before{position:absolute;top:0;right:0;left:0;width:100%;height:44px;content:"";box-shadow:inset 0 -4px 7px -6px #755e40}.mousehuntFooter-toggleMobile{position:absolute;display:flex;align-items:center;width:0;height:0;color:transparent;opacity:.4;transition:.3s;transform-origin:center}.mousehuntFooter-toggleMobile:hover{opacity:1}.mousehuntFooter-toggleMobile:after{position:absolute;inset:-15px 0 0 -30px;display:block;width:28px;height:28px;padding:8px;margin:0;font-size:11px;font-weight:100;line-height:10px;color:#000;text-align:center;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hud/menu/camp.png?asset_cache_version=2);filter:grayscale(1);background-repeat:no-repeat;background-position:center;background-size:50%}\n';
}
});

// src/modules/better-ui/styles/friends.css
var friends_default2;
var init_friends2 = __esm({
"src/modules/better-ui/styles/friends.css"() {
friends_default2 = ".sendMapInvite .userInteractionButtonsView-button-buttonOptionContainer .userInteractionButtonsView-button-buttonOption-name{padding:3px 3px 8px;margin:-3px;font-size:10px;line-height:11px}.sendMapInvite .userInteractionButtonsView-button-buttonOptionContainer .userInteractionButtonsView-button-buttonOption-image{padding-top:2px;margin-top:2px}.sendMapInvite .mousehuntTooltip.top.tight.hasBuffer{font-size:11px}.sendMapInvite .userInteractionButtonsView-button-buttonOptionContainer .userInteractionButtonsView-button-buttonOption:before{background:none}.sendMapInvite .userInteractionButtonsView-button-buttonOptionContainer:hover .userInteractionButtonsView-button-buttonOption:hover .userInteractionButtonsView-button-buttonOption-image,.sendMapInvite .userInteractionButtonsView-button-buttonOptionContainer:hover .userInteractionButtonsView-button-buttonOption:hover .userInteractionButtonsView-button-buttonOption-name{background-color:#eaf6ea}.friendsPage-community-channel.friends-page-id-search{display:flex;align-items:center;justify-content:space-between;background-color:#dcf7ff;border:1px solid #a1a1a1;box-shadow:0 1px 2px -1px #b5b5b5}.friends-page-id-search .friendsPage-community-channel-text{display:none}.friends-page-id-search .friendsPage-community-channel-action{position:relative;right:0;margin:0}.friends-page-id-search input.friendsPage-community-hunterIdForm-input{width:175px;padding:5px;border:1px solid #767676}.friends-page-id-search .friendsPage-community-channel-hunterId{display:none}.friends-page-id-search label{padding:0}.friends-page-id-search form.friendsPage-community-hunterIdForm{display:flex;flex-direction:row;align-items:center;justify-content:flex-end}.friendsPage-friendRow-stat-label{display:none}.friendsPage-friendRow-stat.online .friendsPage-friendRow-stat-label{display:inline-block}.friendsPage-friendRow-stat.map span{width:180px}.friendsPage-friendRow-stat.points,.friendsPage-friendRow-stat.gold{width:16%}.friendsPage-friendRow-stat.map{width:28%}\n";
}
});

// src/modules/better-ui/styles/general.css
var general_default4;
var init_general4 = __esm({
"src/modules/better-ui/styles/general.css"() {
general_default4 = "#mousehuntContainer.PageCamp{background:url(https://i.mouse.rip/bg-wood.png);box-shadow:inset 0 0 8px #755e40}.campPage-trap-friendList.full,.campPage-trap-itemStats,.campPage-trap-trapEffectiveness,.campPage-trap-armedItem,.campPage-trap-armedItem.bait.active,.campPage-trap-armedItem.bait,.campPage-trap-armedItem.skin,.campPage-trap-armedItem.mh-favorite-setups-button{border:1px solid #d3cecb;border-radius:4px;box-shadow:-1px 1px 3px #d3cecb inset}.campPage-trap-itemStats{background-color:transparent}.campPage-trap-armedItem.bait.active{box-shadow:-1px -1px 1px #d3cecb inset}.campPage-trap-armedItem:hover,.campPage-trap-armedItem:focus,.campPage-trap-armedItem.inactive:hover,.campPage-trap-armedItem.inactive:focus,.campPage-trap-armedItem.active:hover,.campPage-trap-armedItem.active:focus{background-color:#e9e6df}.campPage-trap-armedItem.active,.campPage-trap-armedItem.skin.active{top:0}.mh-favorite-setups-button.campPage-trap-armedItem.active,.campPage-trap-armedItem.active{background-color:#e9e6df}.campPage-trap-friendList.full{background-color:#fbf8f6}.campPage-trap-armedItem.weapon .campPage-trap-armedItem-image,.campPage-trap-armedItem.base .campPage-trap-armedItem-image{background-position:-1px -1px;background-size:72px}span.campPage-trap-baitQuantity{right:-1px;bottom:-1px;border-color:#d3cecb;border-right:none;border-bottom:none}.span.campPage-trap-baitQuantity,.campPage-trap-armedItem .quantity span{border-bottom-right-radius:0}.mousehuntHud-page-tabContent.crafting .mousehuntHud-page-subTabContent{padding:none;background:none;border:none;box-shadow:none}.mousehuntHud-page-tabContent.crafting .mousehuntHud-page-subTabContent-margin{padding:0;border:none;box-shadow:none}.mousehuntHud-page-subTabContent-prefix-filter-options{border:1px solid #8595b0;border-radius:10px}.active.mousehuntHud-page-subTabContent-prefix-filter-option:first-child{border-top-left-radius:7px;border-bottom-left-radius:7px}.active.mousehuntHud-page-subTabContent-prefix-filter-option:last-child{border-top-right-radius:7px;border-bottom-right-radius:7px}a.mousehuntHud-page-subTabContent-prefix-filter-option{border:1px solid #8595b0;border-top:none;border-bottom:none}.mousehuntHud-page-subTabContent-prefix-filter-option:first-child,.mousehuntHud-page-subTabContent-prefix-filter-option:last-child{border:none}.mousehuntHud-page-subTabHeader.active span,.mousehuntHud-page-subTabHeader:hover span,.mousehuntHud-page-subTabHeader:focus span{color:#fff;background-color:#8595b0;box-shadow:none}.mousehuntHud-page-subTabHeader span{color:#3b5998;background:none;border-color:#3b5998}.mousehuntHud-page-subTabHeader-prefix,.mousehuntHud-page-subTabContent-prefix-filter span:first-child{display:none}.mousehuntHud-page-subTabHeader-container{text-align:center}.mousehuntHud-page-subTabContent-prefix.clear-block{margin-left:30px}.mouseCrownsView-group-mice.favourites>.empty~.empty{display:none}.scoreboardTableView-availableScoreboards{width:180px}.giftSelectorView-content-subtitle{padding:10px 0}.teamPage-memberRow-identity .teamPage-member-nameContainer{width:auto}.mousehuntArmNowButton.active{filter:hue-rotate(104deg)}.mousehuntArmNowButton.active:hover{filter:hue-rotate(104deg) brightness(1.2)}.mousehuntArmNowButton{filter:brightness(1)}.mousehuntArmNowButton:hover{filter:brightness(1.2)}.mousehuntHeaderView a.superBrie .quantity{font-weight:600}a.huntersHornView__horn.huntersHornView__horn--default.huntersHornView__horn--ready{transition:all .2s .15s;transform-origin:left;will-change:transform}a.huntersHornView__horn.huntersHornView__horn--default.huntersHornView__horn--ready:hover{transform:scale(1.1) rotate(359deg)}a.huntersHornView__horn.huntersHornView__horn--default.huntersHornView__horn--ready .huntersHornView__hornBannerImage{transition:all .6s}a.huntersHornView__horn.huntersHornView__horn--default.huntersHornView__horn--ready:hover .huntersHornView__hornBannerImage{filter:saturate(1.8)}.huntersHornView__hornImage{filter:drop-shadow(1px 1px 0 #fff) drop-shadow(-1px 1px 0 #fff) drop-shadow(1px -1px 0 #fff) drop-shadow(-1px -1px 0 #fff) drop-shadow(1px 4px 3px #6b6b6b)}.mousehuntHud-menu ul li ul li a .icon{top:5px;left:2px;width:22px;height:22px}.MiniEventRonzaChromeBitCampHUD-completeQuantity.MiniEventRonzaChromeBitCampHUD-chromeBitQuantity{padding:2px 3px;font-size:13px}.trapImageView-layer.limitedEdition{top:unset;bottom:-270px;left:-135px;background-size:200px}.trapImageView-layer.limitedEdition,.trapImageView-trapAura,.trapImageView-trapAura.active,.trapImageView-trapAura.inactive,.trapImageView-zoomButton,.min-luck-button{visibility:hidden;opacity:0;transition:opacity .2s ease-in-out}.trapImageView:hover .trapImageView-layer.limitedEdition,.trapImageView:hover .trapImageView-trapAura,.trapImageView:hover .trapImageView-trapAura.active,.trapImageView:hover .trapImageView-trapAura.inactive,.trapImageView:hover .trapImageView-zoomButton,.trapImageView:hover .min-luck-button{visibility:visible;opacity:1}.trapImageView-trapAura.active.expiring-soon{visibility:visible;border-radius:50%;box-shadow:inset 0 0 10px 1px #ff4d4d;opacity:1}a.trapImageView-zoomButton{top:85%}.mousehuntHud-page-subTabContent.group .header .mouseListView-categoryContent-subgroup-mouse-stats.catches,.mousehuntHud-page-subTabContent.group .header .mouseListView-categoryContent-subgroup-mouse-stats.misses{width:12%}.mousehuntHud-page-subTabContent.group .header .mouseListView-categoryContent-subgroup-mouse-stats.name{width:36%}.mousehuntHud-page-subTabContent.group .header .mouseListView-categoryContent-subgroup-mouse-stats.average_weight,.mousehuntHud-page-subTabContent.group .header .mouseListView-categoryContent-subgroup-mouse-stats.heaviest_catch{width:20%}.mousehuntHud-page-subTabContent.location .header .mouseListView-categoryContent-subgroup-mouse-stats.catches,.mousehuntHud-page-subTabContent.location .header .mouseListView-categoryContent-subgroup-mouse-stats.misses{width:13%}.mousehuntHud-page-subTabContent.location .header .mouseListView-categoryContent-subgroup-mouse-stats.average_weight,.mousehuntHud-page-subTabContent.location .header .mouseListView-categoryContent-subgroup-mouse-stats.heaviest_catch{width:15%;text-align:center}.hunterInfoView-idCardTooltipBox-content{min-width:80px;text-align:center}.journalThemeSelectorView-preview{min-height:600px}a.inventoryPage-tagDirectory-tag{border:1px solid #ccc;border-right:none}.inventoryPage-tagDirectory-tag:hover{background-color:#dfdcdc;box-shadow:0 0 1px #354661}.claimGiftPage{margin-top:0}.notificationMessageList .message img.profilePic{width:30px;height:30px}#OnboardArrow.onboardPopup.celebrationPopup .firstCatch .introPopupImage img{margin-top:0}#OnboardArrow.onboardPopup.celebrationPopup .firstCatch .content{padding-top:30px}#OnboardArrow.onboardPopup.celebrationPopup .introPopupContent .clear-block img{float:none;margin-top:-10px;margin-left:-10px}#OnboardArrow.onboardPopup.celebrationPopup .closeButton{background:url(https://www.mousehuntgame.com/images/ui/buttons/continue.png?asset_cache_version=2) 0 0 no-repeat}@media only screen and (max-width: 1000px){body.hasSidebar .pageFrameView-column{background-color:#bad4ed!important}}.campPage-trap-blueprintContainer{border-color:#315871;border-width:1px;box-shadow:none}.campPage-trap-itemBrowser-item-description.shortDescription{margin-top:5px}.campPage-trap-itemBrowser-item-image:after{border-color:#ccc;box-shadow:2px 2px 3px -1px #cdc9c6 inset}.campPage-trap-itemBrowser-item{overflow:hidden}.itemView-action-convertForm{font-size:13px}input.itemView-action-convert-quantity{padding:2px 5px;text-align:left}.menuItem.myProfile{display:none}.mousehuntHeaderView .menuItem.freeGifts,.mousehuntHeaderView-gameTabs.small .menuItem.freeGifts{padding-right:12px;padding-left:12px}.mousehuntHeaderView a.superBrie .getMore{top:4px}.mousehuntPage-loading{position:absolute;right:0;left:0;z-index:51;box-shadow:2px 2px 10px #999,-1px -1px 1px #ccc inset,0 0 25px 25px #ffffff7f}.mousehuntPage-content.hidden{display:block;margin-top:35px}.journalThemeSelectorView-preview .journalThemeSelectorView-preview-details{display:none}.journalThemeSelectorView-preview .journal>.content{padding:5px 10px!important}.mousehuntHud-page-subTabContent.trinket .mousehuntHud-page-subTabContent-prefix{display:none}.mousehuntHud-userStat-row{line-height:14px}.newsPostBody .flexCenter{justify-content:space-evenly}.newsPostBody #news-post-responsive .flexCenter img{max-width:100px;transition:.2s}.newsPostBody #news-post-responsive .flexCenter img.huge{max-width:100%}.newsPostBody #news-post-responsive .flexCenter img.huge:hover{transform:none}.newsPostBody #news-post-responsive .flexCenter img:hover{transform:rotate(4deg) scale(1.1)}#overlayPopup{animation:MHCheckoutDialogView-frameReveal .2s ease-out}@media (prefers-reduced-motion: reduce){#overlayPopup{animation:none}}\n";
}
});

// src/modules/better-ui/styles/gifts.css
var gifts_default;
var init_gifts = __esm({
"src/modules/better-ui/styles/gifts.css"() {
gifts_default = ".giftSelectorView-friendRow-returnImage{width:40px;height:40px;margin-top:-10px;margin-right:10px;background-color:transparent;background-size:cover;border:none;outline:none;box-shadow:none}.giftSelectorView-friendRow-action.disabled .giftSelectorView-friendRow-returnImage{box-shadow:none}.giftSelectorView-content-title{padding-bottom:5px 0}.giftSelectorView-claimWarning{padding:10px}#overlayPopup.dailyRewardPopup .todaysRewards .reward{width:100px;font-size:13px;transition:all .25s ease-in-out}.dailyRewardPopup .todaysRewards .reward img{width:100%;height:100%}.dailyRewardPopup .todaysRewards .reward .quantity{display:none}.dailyRewardPopup .progress .chest .image{transition:.2s}#overlayPopup.dailyRewardPopup .todaysRewards .reward:hover{margin-top:-15px;margin-bottom:15px;transform:scale(1.2)}.dailyRewardPopup .progress .chest:hover .image{transform:scale(1.1);transform-origin:bottom}.dailyRewardPopup .chest.active .image{filter:drop-shadow(0 3px 3px #faae4c)}.dailyRewardPopup h2:last-of-type{padding-top:0;margin-top:-15px}#overlayPopup.dailyRewardPopup .todaysRewards.day_1{padding-left:190px;background-image:url(https://i.mouse.rip/popup_todays_reward_day1_chest.png)}#overlayPopup.dailyRewardPopup .todaysRewards.day_2{background-image:url(https://i.mouse.rip/popup_todays_reward_day2_chest.png)}#overlayPopup.dailyRewardPopup .todaysRewards.day_5{background-image:url(https://i.mouse.rip/popup_todays_reward_day5_chest.png);background-size:222px 221px}#overlayPopup.dailyRewardPopup .progress .chest_1.open .image{background-image:url(https://i.mouse.rip/popup_todays_reward_day1_chest.png);background-size:cover}#overlayPopup.dailyRewardPopup .progress .chest_2.open .image{margin-left:-10px;background-image:url(https://i.mouse.rip/popup_todays_reward_day2_chest.png);background-size:cover}#overlayPopup.dailyRewardPopup .closed .status{filter:opacity(.5)}\n";
}
});

// src/modules/better-ui/styles/hud.css
var hud_default2;
var init_hud2 = __esm({
"src/modules/better-ui/styles/hud.css"() {
hud_default2 = ".mousehuntHud-userStat.bait:hover .label,.mousehuntHud-userStat.trinket:hover .label,.mousehuntHud-userStat.treasureMap:hover .label{position:absolute;top:7px;z-index:11;width:auto;padding:3px 10px 2px 0;background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/hud_bg_blue_repeating.png?asset_cache_version=2);border-radius:5px;mix-blend-mode:luminosity}.mousehuntHud-userStat.treasureMap:hover .label{padding-right:3px}.mousehuntHud-userStat.bait:hover .value,.mousehuntHud-userStat.trinket:hover .value,.mousehuntHud-userStat.treasureMap:hover .value{margin-top:14px}.mousehuntHud-environmentName{width:auto;overflow:visible;text-shadow:2px 2px 2px #d6c8a2,-2px -2px 2px #d6c8a2,2px -2px 2px #d6c8a2,-2px 2px 2px #d6c8a2,2px 0 2px #d6c8a2,0 2px 2px #d6c8a2,-2px 0 2px #d6c8a2,0 -2px 2px #d6c8a2;filter:drop-shadow(0 1px 1px #d6c8a2) drop-shadow(0 2px 1px #d6c8a2) drop-shadow(-1px 4px 1px #d6c8a2)}.mousehuntHud-userStatBar .profileImage{box-shadow:0 2px 2px 1px #0e2c4f}.mousehuntHud-userStat.title .shield{width:19px;height:19px;margin-top:-4px}.mousehuntHud-userStat .title-container span.label{position:absolute;top:2px;left:25px;overflow:visible}.mousehuntHud-userStat .title-container{position:relative;min-height:15px}.mousehuntHud-titleProgressBar .dot,.mousehuntHud-titleProgressBar .wrapper .bar{opacity:.8;transition:all .4s ease-out}.mousehuntHud-userStat.title:hover .mousehuntHud-titleProgressBar .dot,.mousehuntHud-userStat.title:hover .mousehuntHud-titleProgressBar .wrapper .bar{opacity:1}.mousehuntHud-userStat.empty .icon{box-shadow:none}\n";
}
});

// src/modules/better-ui/styles/inbox.css
var inbox_default;
var init_inbox = __esm({
"src/modules/better-ui/styles/inbox.css"() {
inbox_default = '.notificationMessageList .message{padding:5px 10px;border-left:1px solid #c8c8c8}.notificationMessageList .message .clear-block{padding-top:5px}.notificationMessageList .message.ballot .clear-block{display:flex;flex-direction:row;align-items:center;order:5}.notificationMessageList .message.ballot img.item{height:25px;margin:-5px 5px 0 -5px}.notificationMessageList .message.ballot .date{flex-grow:1;order:2;font-size:9px;text-align:right;white-space:nowrap}.notificationMessageList .message.ballot.new .date{font-size:8px}.notificationMessageList .message.friend_invite_pending .clear-block,.notificationMessageList .message.friend_invite_accepted .clear-block{display:flex;align-items:center}.notificationMessageList .message .messageText{padding:5px 0}.message.notification.ballot,.message.notification.ballot.new{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;padding:10px 10px 10px 20px}.message.notification .actions.ballot{float:none}.notificationMessageList .message .actions.friendRequest,.notificationMessageList .message .actions.friendRequestAccepted{margin-top:15px}#messengerUINotification .tabs{display:flex;flex-direction:column}#messengerUINotification .tabs a[data-tab=general]{order:-500}#messengerUINotification .tabs a[data-tab=daily_draw]{order:-400}#messengerUINotification .tabs a[data-tab=friend_requests]{order:-300}#messengerUINotification .tabs a[data-tab=marketplace]{order:-200}#messengerUINotification .tabs a[data-tab=news]{order:-100}#messengerUINotification .notificationMessageList .tab{background-color:#f9f9f9}.mh-dark-mode #messengerUINotification .notificationMessageList .tab{background-color:#242424}div#messengerUINotification{background-color:#f9f9f9!important}#messengerUINotification .tabs a:hover{background-color:#eee}#messengerUINotification .tabs a .counter{background-color:#e33f3f;box-shadow:inset 0 0 5px 1px #a90000}#messengerUINotification .messengerUINotificationClose{top:-15px;right:-5px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:25px;height:25px;padding:5px;font-size:14px;line-height:unset;color:#e03a3a;text-align:center;border-color:#d1d0cf;box-shadow:1px 2px 6px -4px #3e3e3e}#messengerUINotification .messengerUINotificationClose:hover{color:#fff;background-color:#e03a3a}.journal.jsingle .close{float:none;padding:0;margin:0;background-color:transparent;border:none}.journal.jsingle .close a:after{position:absolute;top:5px;right:5px;z-index:15;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:25px;height:25px;padding:5px;font-size:14px;font-weight:700;line-height:unset;color:#e03a3a;text-align:center;content:"\\2715";background:#fff;border:1px solid #ccc;border-color:#d1d0cf;border-radius:20px}.giftSelectorView-inboxHeader-closeButton{position:absolute;top:3px;right:5px;z-index:15;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:23px;height:23px;padding:5px;font-size:12px;font-weight:700;line-height:unset;color:#e03a3a;text-align:center;content:"\\2715";background:#fff;border:1px solid #d1d0cf;border-color:#d1d0cf;border-radius:20px;box-shadow:inset 0 0 3px -1px #d1d0cf}.journal.jsingle .close a{display:block;width:0;height:0;color:transparent}.giftSelectorView-inboxHeader-closeButton:hover,.giftSelectorView-inboxHeader-closeButton:focus,.journal.jsingle .close a:hover:after,.journal.jsingle .close a:focus:after{color:#fff;background-color:#e03a3a}.giftSelectorView-inbox-footer-label{margin-top:-30px;text-align:left}#messengerUINotification .notificationMessageList .tab[data-tab=marketplace] .message .clear-block{order:1}#messengerUINotification .notificationMessageList .tab[data-tab=marketplace] .message .date{order:3;margin-left:0}.notificationMessageList .message.marketplace .actions{transform:translateY(10px)}.notificationMessageList .message .date{margin:5px 0}#messengerUINotification .tabs a{display:flex;align-items:center;height:15px;border-right:1px solid #dcdedd}#messengerUINotification .notificationMessageList{box-sizing:border-box;width:calc(100% - 150px);border-left-width:0}.notificationMessageList .message .actions.newsPost input[type=button]{padding:5px 10px;border:none;outline:1px solid #000;box-shadow:0 -5px 8px -2px #ffae00 inset}.notificationMessageList .news.message a{display:inline-block;margin-bottom:10px;font-size:14px}.notificationMessageList .news.message .messageText{display:block;padding:0;font-size:12px}.notificationMessageList .tab[data-tab=news] .message{background-color:#fdf5bf}.notificationMessageList .tab[data-tab=news] .message:hover input[type=button]{background-color:#fff600;box-shadow:inset 0 0 16px 2px #fffaab}#messengerUINotification .bumper{display:none}#messengerUINotification{box-shadow:0 3px 6px -3px #3e3e3e}\n';
}
});

// src/modules/better-ui/styles/login.css
var login_default;
var init_login = __esm({
"src/modules/better-ui/styles/login.css"() {
login_default = ".loginPageContainer .loginFormContainer .scrollContainer .scrollingContainer .backButton{position:absolute;top:145px;left:30px;filter:hue-rotate(321deg)}.PageLogin .loginPageContainer .loginFormContainer .scrollContainer .scrollingContainer{position:relative}.PageLogin .pageFrameView-column.left,.PageLogin .pageFrameView-column.right{margin-bottom:0}.loginPageContainer .loginFormContainer .scrollContainer .scrollingContainer .fb-login-button div{margin-top:10px;margin-left:50px}\n";
}
});

// src/modules/better-ui/styles/overlays.css
var overlays_default;
var init_overlays = __esm({
"src/modules/better-ui/styles/overlays.css"() {
overlays_default = '#overlayPopup .imgArray{overflow:visible}#overlayPopup .button,.notificationMessageList .message .actions input[type=button],.notificationMessageList .message .actions input[value="View Profile"],.notificationMessageList .message .actions input[value="View Profile"].ignoreRequest.ignoreRequest{padding:2px 15px;line-height:18px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #eee}#overlayPopup .button:hover,#overlayPopup .button:focus,.notificationMessageList .message .actions input[type=button]:hover,.notificationMessageList .message .actions input[type=button]:focus,.notificationMessageList .message .actions input[value="View Profile"]:hover,.notificationMessageList .message .actions input[value="View Profile"]:focus,.notificationMessageList .message .actions input[value="View Profile"].ignoreRequest.ignoreRequest:hover,.notificationMessageList .message .actions input[value="View Profile"].ignoreRequest.ignoreRequest:focus{background-color:#e4d50c}#overlayPopup .button:hover,#overlayPopup .button:focus,.notificationMessageList .message .actions input[type=button]:hover,.notificationMessageList .message .actions input[type=button]:focus,.notificationMessageList .message .actions input[value="View Profile"]:hover,.notificationMessageList .message .actions input[value="View Profile"]:focus,.notificationMessageList .message .actions input[value="View Profile"].ignoreRequest:hover,.notificationMessageList .message .actions input[value="View Profile"].ignoreRequest:focus{background-color:#fff600;box-shadow:inset 0 0 16px 2px #fffaab}.notificationMessageList .message .actions input[type=button]{padding:1px 10px;font-size:12px;line-height:14px}.notificationMessageList .tab[data-tab=news] .message{line-height:18px}.notificationMessageList .tab[data-tab=news] .message .actions.newsPost{padding:2px 15px;transform:translateY(65%)}.notificationMessageList .tab[data-tab=news] .message .date{margin-left:0}.notificationMessageList .message .actions input[type=button].delete{position:absolute;left:-60px}.notificationMessageList .message input[type=button].delete,.notificationMessageList .message .actions input[type=button].ignoreRequest{padding:1px 10px;color:#000;text-shadow:0 0 1px #fff;background-color:#ffa5a5;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #f27b6a inset,1px 1px 1px #eee}.notificationMessageList .message .actions input[type=button].delete:hover,.notificationMessageList .message .actions input[type=button].delete:focus,.notificationMessageList .message .actions input[type=button].ignoreRequest:hover,.notificationMessageList .message .actions input[type=button].ignoreRequest:focus{background-color:#f48686}.mouseView-categoryContent-subgroup-mouse-weaknesses-label{border-color:#33333357}#messengerUINotification .notificationMessageList .tab{max-height:50vh;overflow:auto}#overlayPopup .jsDialogContainer a.shopsPage-kingsCalibratorPromo-button{margin-top:20px;margin-left:10px}#overlayPopup .jsDialogContainer .content .itemImage[style="background-image:url(https://www.mousehuntgame.com/images/items/message_items/c6fa46d329c1c7436acad084773c05c6.jpg);"]{margin-right:10px}.kingsGiveawayCalibratorPopup-upgradeContainer{display:flex;flex-wrap:wrap;justify-content:center;margin:0 6px;box-shadow:none}.kingsGiveawayCalibratorPopup-upgrade.unlocked{background-color:#c8d2f2}.kingsGiveawayCalibratorPopup-tabHeaderContainer{margin:0 1px}.kingsGiveawayCalibratorPopup-tabHeader span{box-shadow:none}.kingsGiveawayCalibratorPopup-upgrade-day-name{padding-bottom:10px;margin-top:10px;font-size:14px;border-bottom:1px solid #ccc}.kingsGiveawayCalibratorPopup-upgrade-day-itemContainer:after{box-shadow:none}.kingsGiveawayCalibratorPopup-upgrade-day-item .itemImage{width:100px;height:100px;background-size:cover}.kingsGiveawayCalibratorPopup-upgrade-day-item-name{width:100%;margin-top:7px;font-size:13px;text-align:center}.kingsGiveawayCalibratorPopup-numCreditsContainer{position:absolute;top:30px;right:50px;float:none;margin-right:-10px;margin-left:10px;visibility:visible}.kingsGiveawayCalibratorPopup-numCredits{padding:7px}.kingsGiveawayCalibratorPopup-header{position:absolute;top:0;right:0;display:inline;visibility:hidden}span.kingsGiveawayCalibratorPopup-upgrade-action-cost{font-size:14px;vertical-align:middle}.kingsGiveawayCalibratorPopup-upgrade-action-kingsCredits{width:21px;height:21px;margin:0 4px;background-color:#fff;background-position:center;background-size:18px;box-shadow:none;opacity:.9}.kingsGiveawayCalibratorPopup-upgrade.locked .kingsGiveawayCalibratorPopup-upgrade-action.locked{display:flex;justify-content:space-evenly}.kingsGiveawayCalibratorPopup-upgrade.active{background-color:#a6d392;border:1px solid #55913b}.kingsGiveawayCalibratorPopup-upgrade.active .kingsGiveawayCalibratorPopup-upgrade-actionContainer{border-top:1px solid #55913b}.kingsGiveawayCalibratorPopup-upgrade-image{height:85px}.kingsGiveawayCalibratorPopup-upgrade.locked .kingsGiveawayCalibratorPopup-upgrade-image{filter:saturate(.3);opacity:.6}.kingsGiveawayCalibratorPopup-upgrade:hover .kingsGiveawayCalibratorPopup-upgrade-image{filter:none;opacity:1}.kingsGiveawayCalibratorPopup-upgrade{box-sizing:border-box;border:1px solid #ccc;box-shadow:none}.kingsGiveawayCalibratorPopup-upgrade-name{display:block;width:auto;margin:5px 0;text-align:center}.kingsGiveawayCalibratorPopup-upgrade-name span{display:inline-block;font-size:12px}.upgrade_gifts .kingsGiveawayCalibratorPopup-upgrade-description{font-size:14px}#messengerUINotification .tabs a.active .arrow{right:-19px}#messengerUINotification .tabs a.active .arrowShadow{right:-20px}\n';
}
});

// src/modules/better-ui/styles/profile.css
var profile_default;
var init_profile = __esm({
"src/modules/better-ui/styles/profile.css"() {
profile_default = ".PageHunterProfile .campPage-trap-trapStat.power .icon{display:none}.PageHunterProfile .campPage-trap-trapStat.cheese_effect .value span{width:10px;font-size:11px}.hunterInfoView-wrapper .messageBoardView-title{height:30px;margin-bottom:-1px;font-size:14px;font-weight:700;line-height:30px;color:#772b0a;text-align:center;background:linear-gradient(#fff9dc 45%,#f1dc8a 55%);border:1px solid #985f42;border-bottom:1px solid #e9be6c;border-radius:10px 10px 0 0;box-shadow:-1px 2px 1px #a59f8e}.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader{height:33px;margin-top:1px;margin-bottom:2px;font-size:14px;font-weight:700;line-height:30px;color:#ab755d;text-align:center;background:linear-gradient(#f6f3e2 45%,#fdf3cb 55%);border:1px solid #985f42;border-bottom:none;border-radius:10px 10px 0 0;box-shadow:-1px 1px 1px #a59f8e}.hunterInfoView-wrapper div.messageBoardView-message-container{border-bottom:0;border-top-left-radius:0;border-top-right-radius:0}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabHeader span{margin:0;line-height:23px;background:none;border:none;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabHeader:before{background:none;box-shadow:none}.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:first-child{margin-right:5px;margin-left:-10px}.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:last-child{margin-right:-10px;margin-left:5px}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabContentContainer{background:#e9e1c6;border:1px solid #985f42;border-top-color:#e9be6c;border-radius:0 0 10px 10px;box-shadow:-1px 2px 1px #a59f8e}.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader.active{color:#772b0a;background:linear-gradient(#fff9dc 45%,#f1dc8a 55%)}.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:hover,.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:focus{color:#772b0a;background:linear-gradient(#fff9dc 45%,#f1dc8a 55%)}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabHeader:hover span{background:none}.hunterInfoView-achievementsBlock .mousehuntTabContentContainer-padding{background:#e9e1c6;border:none;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-treasureMaps-left-currentMap-image{width:55px;height:55px;border:none}.hunterInfoView-treasureMaps-left{vertical-align:middle}.hunterInfoView-wrapper .hunterInfoView-treasureMaps-left-currentMap-content{display:flex;flex-direction:row;align-items:center;height:50px}.hunterInfoView-wrapper .hunterInfoView-treasureMaps-right-cluesFound-ranking{width:110px;margin-top:10px;margin-bottom:-5px;font-size:11px;color:#772b0a}.hunterInfoView-treasureMaps-right{display:flex;flex-direction:column;align-items:center;margin-top:-10px;margin-right:-5px}.hunterInfoView-wrapper .hunterInfoView-treasureMaps-right-cluesFound{font-size:17px}.hunterInfoView-wrapper .hunterInfoView-treasureMaps-right-cluesFound-label{font-size:11px}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .itemImage{width:45px;height:45px;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .itemImage-container{display:block;padding:3px}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .hunterInfoView-teamTab-content-wrapper{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;width:338px}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .hunterInfoView-teamTab-content .quantity{right:0;bottom:0;background-color:#fff}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock .hunterInfoView-favoritesBlock-body{background:#e9e1c6}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseImage.empty{background-color:#e9e1c6;border:1px solid #a0a0a0;box-shadow:none;opacity:.75}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseImage{border-width:2px}.mouseCrownsView-group-mouse-catches{padding:2px 6px;margin-top:-5px;margin-bottom:5px;font-size:14px}.mouseCrownsView-group-mouse-name{font-size:11px}.mouseCrownsView-group-mouse.empty.highlight{display:none}.mouseCrownsView-group-mouse.highlight .mouseCrownsView-group-mouse-image{width:auto;height:200px}.mouseCrownsView-group-mouse.highlight .mouseCrownsView-group-mouse-image .mouseCrownsView-crown{top:5px;left:5px}.mouseCrownsView-group-mouse:hover .mouseCrownsView-group-mouse-image{background-size:120%}.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image{background-size:200%}.mouseCrownsView-group-mouse.highlight .mouseCrownsView-group-mouse-padding{padding:0;margin:0;border-radius:0}.highlight a.mouseCrownsView-group-mouse-favouriteButton.active{top:0;right:0}.mouseCrownsView-group-mouse-padding{padding:0;overflow:hidden}.mouseCrownsView-group-mice{display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;justify-content:start;max-width:720px}.mouseCrownsView-group-mice.favourites{gap:5px}.mouseCrownsView-group-header b{font-size:13px}.mouseCrownsView-group-header-subtitle{margin-left:10px}.mouseCrownsView-group-mouse{width:auto}.mouseCrownsView-group-mouse-image{width:100%;height:200px;border:none!important;border-bottom-right-radius:0;border-bottom-left-radius:0;transition:.2s}.none .mouseCrownsView-group-mouse-catches{font-size:12px}.mouseCrownsView-group-header-name{margin-left:10px}.mouseCrownsView-group{padding:10px;margin:10px;background-color:#f5f5f5;border-radius:5px;box-shadow:0 0 1px 1px #a7a7a7}.mouseCrownsView-group.platinum{background-color:#d6d6fb;box-shadow:0 0 1px 1px #7e6af9}.mouseCrownsView-group.gold{background-color:#fbf5ce;box-shadow:0 0 1px 1px #cfc791}.mouseCrownsView-group.silver{background-color:#d2e7fe;box-shadow:0 0 1px 1px #8fb9e6}.mouseCrownsView-group.bronze{background-color:#ffe6d4;box-shadow:0 0 1px 1px #d8af91}.mouseCrownsView-group-header{display:flex;align-items:center;padding:5px;border:none!important;border-radius:5px}.mh-dark-mode.PageHunterProfile .pageFrameView .mouseCrownsView-group-header-subtitle{color:#787}.mouseCrownsView-group .mouseCrownsView-group-header{background-color:#fafafa99!important}.mouseCrownsView-group-mouse-favouriteButton.active{opacity:0;transition:.4s}.mouseCrownsView-group-mouse.highlight.favourite:hover .mouseCrownsView-group-mouse-favouriteButton{opacity:1}.mouseCrownsView-group .mouseCrownsView-group-mouse-padding{background-color:#fff}.mouseCrownsView-group-mouse.highlight.favourite{width:auto;background-color:#fff;border:1px solid #ccc;border-radius:5px}.mouseCrownsView-group.favourite .mouseCrownsView-group-header .mouseCrownsView-crown,.mouseCrownsView-group.favourite .mouseCrownsView-group-header-name{display:none}.favourite .mouseCrownsView-group-header{padding:0}.hideLeContainer{position:absolute;top:-7px;right:35px;display:flex;align-items:center;width:auto!important}.hideLeContainer #hideLeCb{width:auto!important}.hideLeContainer label{font-size:10px!important}a.friendsProfileView-randomFriend{float:right;width:120px;margin-top:-25px;text-align:center;background-color:#e9e1c6;border:1px solid #a0a0a0}.friendsProfileView-selfStats{font-size:11px}.friendsProfileView-randomFriend:hover{background-color:#c7bfa3}.eggMasterIcon{position:absolute;top:0;right:-10px;float:none!important;width:40px!important;height:40px!important;filter:drop-shadow(2px 2px 2px #e9e1c6);background-size:cover!important}.mh-dark-mode.PageHunterProfile .pageFrameView .mouseCrownsView-group-mouse.highlight .mouseCrownsView-group-mouse-name,.mh-dark-mode.PageHunterProfile .pageFrameView .mouseCrownsView-group-mouse:not(.favourite) .mouseCrownsView-group-mouse-name,.mh-dark-mode.PageHunterProfile .pageFrameView .mouseCrownsView-group{color:#333}.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot-noBait{display:flex;align-items:center;width:100%;height:100%;border:none;box-shadow:none}.hunterProfileItemsView-categoryContent-item-padding{height:auto;padding:0}.hunterProfileItemsView-categoryContent-item-name{padding:0 1px 3px}.hunterProfileItemsView-categoryContent-item .itemImage{width:90px;height:100px;background-repeat:no-repeat;background-position:center}.hunterProfileItemsView-categoryContent[data-category=map_piece] .hunterProfileItemsView-categoryContent-item .itemImage,.hunterProfileItemsView-categoryContent[data-category=collectible] .hunterProfileItemsView-categoryContent-item .itemImage{padding-top:10px;background-position-y:5px}.hunterProfileItemsView-categoryContent-item.uncollected .itemImage{opacity:.3}.hunterProfileItemsView-categoryContent-item.uncollected .hunterProfileItemsView-categoryContent-item-padding{background-color:#eee}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamName{width:89px;margin-left:-3px}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamName span{top:0;right:0;left:0;transform:none}.loyaltyBadgeView .loyaltyBadgeView-years-text{top:6px;right:0;left:0;font-size:22px;text-align:center;filter:drop-shadow(0 0 2px #fff);transform:none}.loyaltyBadgeView{width:50px;height:50px}.loyaltyBadgeView.badgeLevel15 .loyaltyBadgeView-years-text{top:14px}.hunterInfoView-verifiedUserImage{width:14.5px;height:17.5px}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-container{padding-top:15px}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-goldenShield-image{left:-5px;width:26px;height:26px}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-goldenShield-text{width:auto;padding:2px 7px 3px 20px;font-size:12px;white-space:nowrap}\n";
}
});

// src/modules/better-ui/styles/recipes.css
var recipes_default2;
var init_recipes2 = __esm({
"src/modules/better-ui/styles/recipes.css"() {
recipes_default2 = ".inventoryPage-item.full.recipe.known.reordered .inventoryPage-item-contentContainer,.inventoryPage-item.full.recipe.known.reordered .inventoryPage-item-imageContainer{display:none}.inventoryPage-item.full.recipe.known.reordered .inventoryPage-item-name{padding:5px 0 0 5px}.inventoryPage-item.full.recipe.known.reordered:hover .inventoryPage-item-contentContainer,.inventoryPage-item.full.recipe.known.reordered:hover .inventoryPage-item-imageContainer{display:block}.inventoryPage-item.full.recipe.known.reordered:hover .inventoryPage-item-name{padding:10px}\n";
}
});

// src/modules/better-ui/styles/scoreboards.css
var scoreboards_default;
var init_scoreboards = __esm({
"src/modules/better-ui/styles/scoreboards.css"() {
scoreboards_default = ".scoreboardRelativeRankingTableView table{border:1px solid #ddedff}.scoreboardRelativeRankingTableView th{display:flex;grid-column:1 / 6;align-items:center;justify-content:space-around;font-size:10px;font-weight:400;background-color:#dbecff;border-bottom:1px solid #b7c4d2}.scoreboardRelativeRankingTableView td:nth-of-type(3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreboardRelativeRankingTableView tr{display:grid;grid-template-columns:25px 20px auto 68px;overflow:hidden}.scoreboardTableView-profilePic{box-sizing:border-box;border:1px solid #e9e9e9;box-shadow:none}.viewer .tournament-team-rank.updated:hover:after{border-radius:2px}\n";
}
});

// src/modules/better-ui/styles/select2.css
var select2_default;
var init_select2 = __esm({
"src/modules/better-ui/styles/select2.css"() {
select2_default = ".select2-result-sub .select2-result-label{display:grid;grid-template-columns:1fr 4fr 1fr;place-items:center start}.select2-results li.select2-result-with-children>.select2-result-label{padding:3px;font-size:12px}.friendsPage-filter-environment-quantity{min-width:25px;text-align:center;vertical-align:middle}.PageAdversaries #select2-drop li,.PageFriends #select2-drop li{padding:3px;font-size:12px}.PageAdversaries #select2-drop li:nth-child(2n){background-color:#eae9e9}.PageAdversaries #select2-drop li:nth-child(2n).select2-highlighted{background-color:#3875d7}.select2-search input{padding:6px 0 6px 5px;font-size:15px;vertical-align:middle;background:url(https://www.mousehuntgame.com/images/select2/select2.png?asset_cache_version=2) no-repeat 100% -26px,linear-gradient(to bottom,#fff 85%,#eee 99%) 0 0;background-size:70px}.friendsPage-list-filter-select .select2-drop ul.select2-results li:first-of-type{display:none}.friendsPage-list-filter-select .select2-drop ul.select2-result-sub li:first-of-type{display:grid}\n";
}
});

// src/modules/better-ui/styles/sidebar.css
var sidebar_default2;
var init_sidebar2 = __esm({
"src/modules/better-ui/styles/sidebar.css"() {
sidebar_default2 = ".pageSidebarView-user{border-bottom:none}\n";
}
});

// src/modules/better-ui/styles/skins.css
var skins_default;
var init_skins = __esm({
"src/modules/better-ui/styles/skins.css"() {
skins_default = ".skin .campPage-trap-itemBrowser-items{top:50px}.skin .campPage-trap-itemBrowser-item-image,.skin .campPage-trap-itemBrowser-item-description.shortDescription{display:none}.skin .campPage-trap-itemBrowser-item-content .campPage-trap-itemBrowser-item-name{margin-top:11px}\n";
}
});

// src/modules/better-ui/styles/tabs.css
var tabs_default;
var init_tabs = __esm({
"src/modules/better-ui/styles/tabs.css"() {
tabs_default = '.campPage-tabs-tabContentContainer{margin-bottom:10px;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:-1px -1px 1px #d3cecb inset}.campPage-tabs-tabRow:hover .campPage-tabs-tabHeader span,.campPage-tabs-tabRow:focus .campPage-tabs-tabHeader span,.campPage-tabs-tabHeader span{border-bottom:1px solid #cbc6bb}.campPage-tabs-tabHeader.active span,.campPage-tabs-tabRow a.campPage-tabs-tabHeader:hover span,.campPage-tabs-tabRow a.campPage-tabs-tabHeader:focus span{border:1px solid #cbc6bb;border-bottom:none}.campPage-tabs-tabContent[data-tab=quests],.campPage-tabs-tabContent[data-tab=journal]{background:none}a.campPage-daily-chest-info,.campPage-daily-chest-label,.campPage-daily-tomorrow-title,.campPage-daily-tomorrow-availableIn,.campPage-daily-today,.campPage-daily-progress.clear-block,.campPage-daily-draw-details,.shopsPage-kingsCalibratorPromo b{display:none}.campPage-daily-tomorrow{position:relative;height:140px;overflow:hidden;background-position:center;border:1px solid #7d3a08;box-shadow:-1px -1px 2px #d3cecb inset}.campPage-daily-tomorrow-reward{display:inline-block;width:100%;padding:5px 0;margin-top:0;font-size:12px;font-weight:900;color:#87430d;text-shadow:0 0 2px #ffcd6f;background-color:#ffffff57}.campPage-daily-draw-prize-description{margin:10px 20px}div#dailyRewardTimer{position:absolute;right:0;bottom:1px;display:block;width:100%;padding:3px 0;font-size:13px;font-weight:400;color:#904811;text-align:center;background-color:#ffd8987f;border-top:10px}.campPage-tabs-tabContent.active[data-tab=daily]{margin:5px;background:#f6f3eb;border-radius:3px;box-shadow:inset 0 0 5px #707070}.campPage-daily-container{padding:15px;margin:0;background:none;border:none;box-shadow:none}.campPage-daily-container.draw{margin-top:-15px;background:none;border:none;box-shadow:none}.campPage-daily-container.draw .campPage-daily-content{height:230px;padding-top:0;background:url(https://www.mousehuntgame.com/images/ui/daily/next_day_bkg.png?asset_cache_version=2);background-position-x:center;background-position-y:7px;background-size:cover;border:1px solid #7d3a08;border-radius:0;box-shadow:-1px -1px 2px #d3cecb inset}.campPage-daily-draw-title,.campPage-daily-draw-prize-name{display:inline-block;width:100%;padding:5px 0;margin-top:0;font-size:12px;font-weight:900;color:#87430d;text-shadow:0 0 2px #ffcd6f}.campPage-daily-draw-prize-name{font-size:12px}img.campPage-daily-draw-prize-image{padding:0;background:none}.shopsPage-kingsCalibratorPromo:after{top:5px;width:45px;height:45px;background-image:url(https://i.mouse.rip/mh-improved/kings-calibrator.png);filter:drop-shadow(0 1px 1px #7d3a08)}div#dailyRewardTimer:before{content:"Available in "}.shopsPage-kingsCalibratorPromo{height:55px;padding:0 55px;margin-top:2px;line-height:13px;color:#412814;text-align:center;background:#ffe8aa;border:1px solid #7d3a08;border-radius:0;box-shadow:inset -1px -1px 2px #d3cecb}.campPage-daily-container .shopsPage-kingsCalibratorPromo-button{margin:0;background:#2a98ff;border-radius:5px;box-shadow:inset 0 -1px 1px 1px #2d76ba}.campPage-daily-container .shopsPage-kingsCalibratorPromo-button:hover,.campPage-daily-container .shopsPage-kingsCalibratorPromo-button:active,.campPage-daily-container .shopsPage-kingsCalibratorPromo-button:focus{background:#2d76ba}.campPage-tabs-tabContent.active[data-tab=daily],.campPage-tabs-tabContent-larryTip-container,.campPage-quests-container{line-height:16px;background-color:#fbf8f6;border:1px solid #d3cecb;border-radius:3px;box-shadow:-1px 1px 3px #d3cecb inset}.campPage-daily-container.daily .campPage-daily-content{margin-top:15px}.campPage-tabs-tabContent-larryTip-container a.campPage-tabs-tabContent-larryTip-byLine,img.campPage-larryTip-external-link-icon{display:none}.campPage-tabs-tabContent-larryTip-environment{padding-bottom:1em}.campPage-tabs-tabContent-larryTip-container p:last-of-type a{display:block;padding:1em 0 0;text-align:right}.campPage-tabs-tabContent-larryTip-container p:last-of-type a:after{content:"\\2192"}.campPage-daily-container .shopsPage-kingsCalibratorPromo{display:flex;align-items:center}.mousehuntHud-menu ul li a{text-shadow:0 0 1px #cbbba9}\n';
}
});

// src/modules/better-ui/styles/team.css
var team_default;
var init_team = __esm({
"src/modules/better-ui/styles/team.css"() {
team_default = '.teamPage-container .userInteractionButtonsView.small_buttons .userInteractionButtonsView-button{width:33px!important;height:33px!important;background-size:cover!important}.teamPage-container .teamPage-memberRow-actions .mousehuntTooltip{right:-40px;left:-40px}.teamPage-container .userInteractionButtonsView-unfriendLink{display:none}.teamPage-profile-header-controls{top:0;bottom:0;display:flex;align-items:center}.teamPage-profile-header-controls br{content:""}.teamPage-profile-header-controls br:after{content:" "}.teamPageConfirm-dialog input.userSelectorView-filter-input{width:600px;padding:10px;margin:0 10px}.teamPageConfirm-dialog .userSelectorView-filterContainer{width:100%;padding:0 0 10px}.teamPageConfirm-dialog a.userSelectorView-filter-clear.active{top:15px;right:15px;font-size:14px;color:transparent}.teamPageConfirm-dialog a.userSelectorView-filter-clear.active:hover:after{color:#f55}.teamPageConfirm-dialog a.userSelectorView-filter-clear.active:after{font-size:16px;color:#b72929;content:"\\2715"}.teamPage-memberJournal-empty{line-height:30px;color:#575757}.teamPage-memberJournal-list{height:unset;min-height:30px}.teamPage-memberJournals{display:grid;grid-template-columns:1fr 1fr 1fr}.teamPage-memberJournalContainer{width:auto}.tournamentPage-tournamentContainer-prizeInfo,.teamPage-memberJournal-trapSetup b{display:none}.teamPage-memberJournal-trapSetup i{margin-left:9px;font-size:12px;line-height:17px}.teamPage-memberJournal-identity a.teamPage-member-image.online:before{position:absolute;top:0;right:-180px;width:10px;height:10px;content:"";background-color:#8ff309;border:1px solid #355c1d;border-radius:50%}.teamPage-profile-awardContainer-awardList{position:relative}.teamPage-profile-awardContainerInfo{position:absolute;top:-32px;right:0;display:block;width:250px;font-size:10px;color:#451e00;text-shadow:1px 1px 1px #eee;opacity:0;transition:.2s}.teamPage-profile-awardContainer-awardList:hover .teamPage-profile-awardContainerInfo{opacity:1}\n';
}
});

// src/modules/better-ui/styles/traps.css
var traps_default;
var init_traps = __esm({
"src/modules/better-ui/styles/traps.css"() {
traps_default = ".campPage-trap-baitLabel{display:none}.campPage-trap-armedItem.bait{display:flex;align-items:center;justify-content:flex-start}.campPage-trap-armedItem.bait.active{top:338px}.campPage-trap-baitDetails{color:transparent!important;text-shadow:none}.campPage-trap-baitName,.campPage-trap-baitQuantity{color:#926944;text-shadow:0 0 1px #ae9b6d,1px 1px #fff}.mh-dark-mode .campPage-trap-baitName,.mh-dark-mode .campPage-trap-baitQuantity{right:0;bottom:0;color:#ffe6d0;text-shadow:0 0 1px #ae9b6d,1px 1px #000}.trapSelectorView__armedItemQuantity span,.campPage-trap-baitQuantity{position:absolute;right:0;bottom:0;box-sizing:border-box;padding:5px;font-size:16px;font-weight:400;line-height:11px;text-align:right;background-color:#ffffffb3;border:1px solid #9d917f;border-right:none;border-bottom:none;border-bottom-right-radius:3px;box-shadow:-1px -1px 1px #d3cecb inset}.mh-dark-mode .trapSelectorView__armedItemQuantity span{color:#ffe6d0;text-shadow:none;background-color:#333}.campPage-trap-armedItem.bait .campPage-trap-armedItem-image{width:60px;margin-right:0;background-repeat:no-repeat;background-position:center;background-size:100%}.mh-dark-mode .campPage-trap-baitQuantity,.mh-dark-mode .campPage-trap-armedItem .quantity span{color:#ffe6d0;background-color:#333}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-trapEffectiveness{background:#424242;border:1px solid #888;box-shadow:1px 1px 1px #535151}.mh-dark-mode .campPage-trap-trapStat .value{color:#fff;background-color:#333;border-color:#5c5c5c}.campPage-trap-armedItem .quantity span{position:absolute;right:-6px;bottom:3px;padding:3px;text-align:right;background-color:#fffc;border:1px solid #d3cecb;border-right:none;border-bottom:none;border-radius:0 0 4px;box-shadow:-1px -1px 1px #d3cecb inset}.campPage-trap-statsContainer{border:1px solid #d3cecb;border-radius:4px;box-shadow:-1px 1px 3px #d3cecb inset}.campPage-trap .trapImageView{width:352px;height:352px;margin-top:0;margin-left:0;background:transparent;border:none;border-bottom:1px solid #ceb7a6;border-radius:0}.campPage-trap{border:1px solid #9d917f;border-top-left-radius:5px;border-top-right-radius:5px}.hunterInfoView-wrapper .hunterInfoView-trapBlock-header-container,.hunterInfoView-wrapper .hunterInfoView-trapBlock-footer{border-width:1px;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-container{margin-right:-9px;margin-left:-9px;border-bottom:1px solid #ceb7a6;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-trapBlock-footer-stats{padding-top:35px;margin-right:-9px;margin-left:-9px;box-shadow:none}.hunterInfoView-wrapper .trapImageView{width:368px;height:368px;margin:0 auto}.hunterInfoView-wrapper a.trapImageView-zoomButton{top:80%}.hunterInfoView-wrapper .hunterInfoView-trapBlock-header-title-container{left:1px;border-width:1px;border-bottom:none}.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-items{background:none;border:none}.hunterInfoView-wrapper .hunterInfoView-trapBlock-footer{background:#f6f3eb;border-top:0;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot-quantity{bottom:0;width:100%;background-color:#ffffffe5;border-color:#d3cecb;border-right:none;border-bottom:none;border-left:none;border-radius:0}.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot,.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot.middle{width:60px;height:60px;margin:0;background-position:-1px;background-size:61px;border:1px solid #000;box-shadow:none}.hunterInfoView-wrapper .campPage-trap-trapStat{display:flex;background:#fff;border:1px solid #e2d3c8;border-radius:3px}.mh-dark-mode .hunterInfoView-wrapper .campPage-trap-trapStat{background:#424242;border-color:#5c5c5c}.hunterInfoView-wrapper .campPage-trap-itemStats{display:flex;padding-bottom:0;margin:0 5px}.hunterInfoView-wrapper .campPage-trap-trapStat .value{background:transparent;border:none}.trapImageView-trapAura{opacity:.9}.largerTrapView-popup-name,span.campPage-trap-armedItem-skin-description-content b,span.campPage-trap-armedItem-skin-description-content br{display:none}.campPage-trap-trapEffectivenessBar{height:12px;margin-top:-1px;background:#c6bea8;border:1px solid #9c938e}.mh-dark-mode .campPage-trap-trapEffectivenessBar{background-color:#424242;border-color:#5c5c5c}.campPage-trap-trapEffectivenessBar.easy:after,.campPage-trap-trapEffectivenessBar.effortless:after,.campPage-trap-trapEffectivenessBar.strong:after,.campPage-trap-trapEffectivenessBar.excellent:after{background:#5ccd5e}.campPage-trap-trapEffectivenessBar.near_impossible:after,.campPage-trap-trapEffectivenessBar.very_poor:after,.campPage-trap-trapEffectivenessBar.overpowering:after{background:#dc7878}.campPage-trap-trapEffectivenessBar.difficult:after,.campPage-trap-trapEffectivenessBar.challenging:after,.campPage-trap-trapEffectivenessBar.mild:after,.campPage-trap-trapEffectivenessBar.moderate:after,.campPage-trap-trapEffectivenessBar.medium:after{background:#e6cd66}.campPage-trap-trapEffectivenessBar.impossible:after{width:100%;background:#a83030}.campPage-trap-trapEffectiveness-header{color:transparent}.campPage-trap-trapEffectiveness-header b{color:#926944}.campPage-trap-trapEffectiveness-content{top:50px}.campPage-trap-trapEffectiveness-difficultyGroup{background:#f6f3eb;border-color:#e3dbd5;border-radius:3px;box-shadow:inset 0 0 1px #755e40}.campPage-trap-trapEffectiveness-difficultyGroup-label{grid-column:span 2;font-weight:400;text-align:center;border:none}.campPage-trap-armedItem.skin .campPage-trap-armedItem-skin-description-content span{font-size:12px;vertical-align:middle}.trapSelectorView__browserContainer .campPage-trap-trapEffectivenessBar{display:none}.campPage-trap-armedItem.inactive{background:#f6f3eb}.campPage-trap-trapStat.power .value b{line-height:17px}.itembrowser-skin-image-wrapper{background-image:url(https://www.mousehuntgame.com/images/items/bases/trap_small/a44d6a59ca9c0d11224bb36fd4e16378.png?cv=2);background-position:center}img.itembrowser-skin-image{width:332px}.campPage-trap-trapStat-mathRow{font-size:12px;line-height:23px}.campPage-trap-trapStat-mathRow.label{font-size:17px}.campPage-trap-trapStat .math{bottom:90px;left:-18px;width:337px}.campPage-trap-trapStat .math .arrow{display:none}.campPage-trap-trapStat .value span{font-size:14px}.campPage-trap-trapStat.cheese_effect .value span{font-size:12px}.campPage-trap-itemBrowser-armed-item-image-frame{background:none;border:none;box-shadow:none}.campPage-trap-armedItem.empty .quantity{display:none}.empty .campPage-trap-armedItem-empty{top:11px;right:2px;bottom:10px;display:flex;align-items:center;justify-content:center;width:auto;height:auto;font-size:12px;color:#671d1d;border-radius:10px;box-shadow:none}.campPage-trap-itemBrowser-armed-item.empty.clear-block{display:flex;align-items:center;background-color:#e3d4d1}.campPage-trap-itemBrowser-armed-item.empty.clear-block .campPage-trap-itemBrowser-armed-item-content{display:flex;flex-direction:column;gap:10px;align-items:stretch}.campPage-trap-itemBrowser-armed-item.empty.clear-block .campPage-trap-itemBrowser-armed-item-content .campPage-trap-itemBrowser-item-name{font-size:18px;font-variant:none;color:#671d1d;background:#e3d4d1}.campPage-trap-itemBrowser-item-disarmButton{width:100px;margin-top:10px;color:#000;background-color:#ffbfbf;box-shadow:0 -20px 5px #ffbfbf inset,1px 1px 1px #671d1d}a.campPage-trap-itemBrowser-item-disarmButton:hover{box-shadow:0 -20px 5px #cc8b8b inset,1px 1px 1px #671d1d}.campPage-trap-armedItem.bait.empty .campPage-trap-armedItem-image{background-image:url(https://www.mousehuntgame.com/images/ui/hunters_horn/sandwich_board/icons/bait_empty.png)}.campPage-trap-baitDetails .campPage-trap-baitName{position:absolute;inset:0 0 0 70px;display:flex;align-items:center}.campPage-trap-trapStat-mathRow-name{padding-right:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campPage-trap-itemBrowser-item-description-consumeMethod{white-space:nowrap}.trapSelectorView__browserContainer{animation:mh-improved-in-from-left .2s ease-in-out}@media (prefers-reduced-motion: reduce){.trapSelectorView__browserContainer{animation:none}}.trapSelectorView__armedItemBorder,.trapSelectorView__weaponSkinGroup button{border:1px solid #d3cecb;border-radius:5px 5px 4px 4px;box-shadow:-1px 1px 3px #d3cecb inset}.mh-dark-mode .trapSelectorView__armedItemBorder,.mh-dark-mode .trapSelectorView__weaponSkinGroup button,.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-armedItem.bait{border:1px solid #5c5c5c;border-radius:5px 5px 4px 4px;box-shadow:-1px 1px 3px #515151 inset}.trapSelectorView__weaponSkinGroup{padding:0;margin:0;border:none;box-shadow:none}.trapSelectorView__armedItem[data-item-classification=skin] .trapSelectorView__armedItemImage,.trapSelectorView__armedItem[data-item-classification=weapon] .trapSelectorView__armedItemImage{margin:3px;background-position:-1px -1px;background-size:72px}.trapSelectorView__trapStatSummaryContainer{background:#f6f3eb;border-color:#e3dbd5;border-radius:3px;box-shadow:none}.mh-dark-mode .trapSelectorView__trapStatSummaryContainer{background:#333;border-color:#fff;border-radius:3px;box-shadow:none}.trapSelectorView__trapStatSummary,.trapSelectorView__outerBlock{border:1px solid #d3cecb;border-radius:4px;box-shadow:-1px 1px 3px #d3cecb inset}.mh-dark-mode .trapSelectorView__trapStatSummary,.mh-dark-mode .trapSelectorView__outerBlock,.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-trapEffectiveness{background:#424242;border:1px solid #888;box-shadow:1px 1px 1px #535151}.trapSelectorView__activeCodexList.trapSelectorView__innerBlock{background:transparent;border:none}.trapSelectorView__activeCodexHeader{display:none}.trapSelectorView__armedItemQuantity span{position:absolute;right:-6px;bottom:3px;box-sizing:border-box;text-shadow:0 0 1px #ae9b6d,1px 1px #fff;background-color:#fcfbf9;border-color:#d3cecb;border-right:none;border-bottom:none;border-radius:0 0 3px}.trapSelectorView__armedItem[data-item-classification=skin]{margin-right:0}.trapSelectorView__armedItem[data-item-classification=skin] .trapSelectorView__armedItemImage,.trapSelectorView__armedItemImage{width:65px}.trapSelectorView__trap{padding-top:0}.trapSelectorView__activeCodexContainer:hover{background-color:#fdfaf2;filter:none}.mh-dark-mode .trapSelectorView__activeCodexContainer:hover{background-color:#494949}.trapSelectorView__armedItem--empty .trapSelectorView__armedItemImage{background:transparent;box-shadow:none}.campPage-trap-itemBrowser-item.codex .campPage-trap-itemBrowser-item-description{line-height:1.5}input.trapSelectorView__codexListSearch{width:auto;max-width:100px}.PageCamp .trapImageView-layer{border-top-left-radius:4px;border-top-right-radius:4px}#overlayPopup.LargerTrapView #jsDialogClose{display:none}#overlayPopup.LargerTrapView .trapImageView-layerWrapper{border-top-left-radius:7px;border-top-right-radius:7px}#overlayPopup.LargerTrapView .trapImageView{top:1px}.mh-dark-mode .trapSelectorView__trapStatSummary,.mh-dark-mode .trapSelectorView__outerBlock,.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-trapEffectiveness,.mh-dark-mode .trapSelectorView__armedItemBorder,.mh-dark-mode .trapSelectorView__weaponSkinGroup button,.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-armedItem.bait{border:1px solid #5c5c5c;border-radius:5px 5px 4px 4px;box-shadow:-1px 1px 3px #515151 inset}.mh-dark-mode .trapSelectorView__armedItemQuantity span,.mh-dark-mode .campPage-trap-baitName,.mh-dark-mode .campPage-trap-baitQuantity{border-color:#5a5a5a;box-shadow:-1px -1px 1px #5c5c5c inset}.mh-dark-mode .mh-improved-favorite-setups-button-label{color:#e0d3b3}.campPage-trap-itemBrowser-favorite-item-image-frame{top:-1px;left:-1px;width:50px;height:50px;overflow:hidden}\n";
}
});

// src/modules/better-ui/styles/tutorial.css
var tutorial_default;
var init_tutorial = __esm({
"src/modules/better-ui/styles/tutorial.css"() {
tutorial_default = "#overlayPopup.chooseTrap .weapon .trapDamageType{display:none}#overlayPopup.chooseTrap .weapon .trapDetails{display:flex;flex-direction:column;gap:10px}#OnboardArrow.larryCircle .whiteboard .action{bottom:-25px}#OnboardArrow.larryCircle .whiteboard .action:after{font-size:12px}@keyframes bait-scale-new{0%{transform:scale(1)}50%{transform:scale(2.7)}to{transform:scale(1)}}.campPage-trap-baitQuantity.highlight{transform-origin:bottom right;animation:bait-scale-new .6s ease-in-out}@media screen and (prefers-reduced-motion: reduce){.campPage-trap-baitQuantity{animation:none}}#OnboardArrow.larryCircle .whiteboard{line-height:20px}.guideArrowView.animated.show.topLeft{margin-top:-30px;margin-left:-100px}.onboarding .mousehuntHud-marketPlace.disabled,.onboarding .mousehuntHud-marketPlace.disabled:hover,.onboarding .mousehuntHud-premiumShop.premium_items{opacity:.6}.onboarding .mousehuntHud-shield{display:block}.onboarding.hide_favorites .campPage-trap-itemBrowser-items{top:60px}a.mousehuntHud-userStat.trap.base.hidden,a.mousehuntHud-userStat.trap.weapon.hidden{display:inline-block;visibility:visible}.onboarding.hide_favorites .campPage-trap-itemBrowser-quickLinks.campPage-trap-itemBrowser-quickLinks-power{display:none}\n";
}
});

// src/modules/better-ui/index.js
var imported4, styles4, addUserscriptStyles, init16, better_ui_default;
var init_better_ui = __esm({
"src/modules/better-ui/index.js"() {
init_utils2();
init_friends();
init_hud();
init_favorite_setups();
init_journal_historian();
init_lgs_reminder();
init_mhct2();
init_profile_plus();
init_tsitu_location_catch_stats();
init_tsitu_qol();
init_tsitu_supply_search();
init_adventure();
init_corkboard();
init_daily_draw();
init_events3();
init_footer();
init_friends2();
init_general4();
init_gifts();
init_hud2();
init_inbox();
init_login();
init_overlays();
init_profile();
init_recipes2();
init_scoreboards();
init_select2();
init_sidebar2();
init_skins();
init_tabs();
init_team();
init_traps();
init_tutorial();
imported4 = [adventure_default, corkboard_default, daily_draw_default, events_default2, footer_default, friends_default2, general_default4, gifts_default, hud_default2, inbox_default, login_default, overlays_default, profile_default, recipes_default2, scoreboards_default, select2_default, sidebar_default2, skins_default, tabs_default, team_default, traps_default, tutorial_default];
styles4 = imported4;
addUserscriptStyles = () => __async(void 0, null, function* () {
  const userscriptStyles = [
    { id: "userscript-styles-no-profile-plus-styles", styles: profile_plus_default },
    { id: "userscript-styles-no-favorite-setups-styles", styles: favorite_setups_default },
    { id: "userscript-styles-no-journal-historian-styles", styles: journal_historian_default },
    { id: "userscript-styles-no-lgs-reminder-styles", styles: lgs_reminder_default },
    { id: "userscript-styles-no-mhct-styles", styles: mhct_default2 },
    { id: "userscript-styles-no-tsitu-location-catch-stats-styles", styles: tsitu_location_catch_stats_default },
    { id: "userscript-styles-no-tsitu-qol-styles", styles: tsitu_qol_default },
    { id: "userscript-styles-no-tsitu-supply-search-styles", styles: tsitu_supply_search_default }
  ];
  if (getFlag("no-userscript-styles")) {
    return;
  }
  userscriptStyles.forEach((userscript) => {
    if (!getFlag(userscript.id)) {
      addStyles(userscript.styles, userscript.id);
    }
  });
});
init16 = () => __async(void 0, null, function* () {
  addStyles(styles4, "better-ui");
  addUserscriptStyles();
  friends_default();
  hud_default();
});
better_ui_default = {
  id: "better-ui",
  name: "Better UI",
  type: "better",
  default: true,
  description: "Updates the MH interface with a variety of UI and style changes.",
  order: -1,
  load: init16
};
}
});

// src/modules/catch-rate-estimate/styles.css
var styles_default15;
var init_styles16 = __esm({
"src/modules/catch-rate-estimate/styles.css"() {
styles_default15 = "#mh-improved-cre{padding-right:5px;cursor:default}#mh-improved-cre table{width:100%}#mh-improved-cre thead{box-shadow:0 -1px #d3cecb inset}.mh-dark-mode #mh-improved-cre thead{box-shadow:0 -1px #5c5c5c inset}#mh-improved-cre table th{font-weight:700;text-align:center}#mh-improved-cre table th.name,#mh-improved-cre table:first-child{text-align:left}.mh-improved-cre-data{min-width:70px;text-align:center}.mh-improved-cre-data-good{color:#138f13}.mh-dark-mode .mh-improved-cre-data-good{color:#4fe54f}.mh-improved-cre-data-bad{color:#bb4646}.mh-dark-mode .mh-improved-cre-data-bad{color:#fb9b9b}.mh-improved-cre-name{padding-left:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n";
}
});

// src/modules/catch-rate-estimate/data.js
var miceEffs, hasGottenEffs, getMiceEffectivness, getMouse, getMousePower, getMouseEffectiveness, getMinluck, getPercent, getCatchRate;
var init_data2 = __esm({
"src/modules/catch-rate-estimate/data.js"() {
init_utils2();
init_utils2();
hasGottenEffs = false;
getMiceEffectivness = () => __async(void 0, null, function* () {
  if (!hasGottenEffs) {
    miceEffs = yield getData("effs");
    hasGottenEffs = true;
  }
  const response = yield doRequest("managers/ajax/users/getmiceeffectiveness.php");
  return response == null ? void 0 : response.effectiveness;
});
getMouse = (mouseId) => __async(void 0, null, function* () {
  if (!miceEffs || !hasGottenEffs) {
    miceEffs = yield getData("effs");
    hasGottenEffs = true;
  }
  const mouse = miceEffs.find((m) => m.type === mouseId);
  return mouse;
});
getMousePower = (mouseId) => __async(void 0, null, function* () {
  var _a;
  const mouse = yield getMouse(mouseId);
  return (_a = mouse == null ? void 0 : mouse.effectivenesses) == null ? void 0 : _a.power;
});
getMouseEffectiveness = (mouseId) => __async(void 0, null, function* () {
  const mouse = yield getMouse(mouseId);
  return mouse.effectivenesses[user.trap_power_type_name.toLowerCase()];
});
getMinluck = (mousePower, effectiveness) => __async(void 0, null, function* () {
  if (effectiveness === 0) {
    return "\u221E";
  }
  const minluck = Math.ceil(
    Math.ceil(Math.sqrt(mousePower / 2)) / Math.min(effectiveness / 100, 1.4)
  );
  const checkCatchRate = getCatchRate(mousePower, effectiveness, 0, minluck);
  return checkCatchRate.rate === 1 ? minluck : minluck + 1;
});
getPercent = (rate) => {
  if (rate === 1) {
    return "100%";
  }
  const percent = (rate * 100).toFixed(2);
  return `${percent}%`;
};
getCatchRate = (mousePower, effectiveness, power = null, luck = null) => {
  effectiveness = effectiveness / 100;
  if (null === power) {
    power = user.trap_power;
  }
  if (null === luck) {
    luck = user.trap_luck;
  }
  const rate = Math.min(
    1,
    (effectiveness * power + 2 * Math.pow(Math.floor(Math.min(effectiveness, 1.4) * luck), 2)) / (effectiveness * power + mousePower)
  );
  return {
    rate,
    percent: getPercent(rate)
  };
};
}
});

// src/modules/catch-rate-estimate/index.js
var updateMinLucks, renderList, main10, init17, catch_rate_estimate_default;
var init_catch_rate_estimate = __esm({
"src/modules/catch-rate-estimate/index.js"() {
init_utils2();
init_styles16();
init_data2();
updateMinLucks = () => __async(void 0, null, function* () {
  if ("camp" !== getCurrentPage()) {
    return;
  }
  const effectiveness = yield getMiceEffectivness();
  if (!effectiveness) {
    return;
  }
  const miceIds = Object.values(effectiveness).flatMap(({ mice }) => mice).map((mouse) => {
    return {
      name: mouse.name,
      type: mouse.type
    };
  });
  renderList(miceIds);
});
renderList = (list) => __async(void 0, null, function* () {
  let minluckList = document.querySelector("#mh-improved-cre");
  if (!minluckList) {
    minluckList = makeElement("div", "campPage-trap-trapEffectiveness");
    minluckList.id = "mh-improved-cre";
    const statsContainer = document.querySelector(".trapSelectorView__trapStatSummaryContainer");
    if (!statsContainer) {
      return;
    }
    statsContainer.append(minluckList);
  }
  const existing = document.querySelector("#mh-improved-cre-table");
  if (existing) {
    existing.remove();
  }
  const table = makeElement("table");
  table.id = "mh-improved-cre-table";
  const tableheader = makeElement("thead");
  makeElement("th", "name", "Mouse", tableheader);
  makeElement("th", "", "Minluck", tableheader);
  makeElement("th", "", "Catch Rate", tableheader);
  table.append(tableheader);
  const rows = [];
  for (const mouse of list) {
    const mousePower = yield getMousePower(mouse.type);
    const mouseEffectiveness = yield getMouseEffectiveness(mouse.type);
    const minluck = yield getMinluck(mousePower, mouseEffectiveness);
    const catchRate = yield getCatchRate(mousePower, mouseEffectiveness);
    const crClass = ["mh-improved-cre-data"];
    if (catchRate.rate * 100 >= 100) {
      crClass.push("mh-improved-cre-data-good");
    } else if (catchRate.rate * 100 <= 60) {
      crClass.push("mh-improved-cre-data-bad");
    }
    if (user.trap_luck >= minluck) {
      crClass.push("mh-improved-cre-data-minlucked");
    }
    rows.push({
      mouse: mouse.name,
      minluck,
      catchRateValue: catchRate.rate,
      catchRate: catchRate.percent,
      crClass
    });
  }
  rows.sort((a, b) => {
    if (a.catchRateValue !== b.catchRateValue) {
      return a.catchRateValue - b.catchRateValue;
    }
    return b.minluck - a.minluck;
  });
  rows.forEach(({ mouse, minluck, catchRate, crClass }) => {
    const row = makeElement("tr", "mh-improved-cre-row");
    makeElement("td", "mh-improved-cre-name", mouse, row);
    makeElement("td", crClass, minluck, row);
    makeElement("td", crClass, catchRate, row);
    table.append(row);
  });
  minluckList.append(table);
});
main10 = () => __async(void 0, null, function* () {
  if ("camp" === getCurrentPage()) {
    yield updateMinLucks();
  }
  onPageChange({ camp: { show: updateMinLucks } });
  onRequest("*", updateMinLucks);
  onTravel(null, { callback: updateMinLucks });
});
init17 = () => __async(void 0, null, function* () {
  addStyles(styles_default15, "catch-rate-estimate");
  main10();
});
catch_rate_estimate_default = {
  id: "catch-rate-estimate",
  name: "Catch Rate Estimator & Minlucks",
  type: "feature",
  default: true,
  description: "Minluck and catch rate estimates.",
  load: init17
};
}
});

// src/modules/copy-id/styles.css
var styles_default16;
var init_styles17 = __esm({
"src/modules/copy-id/styles.css"() {
styles_default16 = ".mousehuntHud-userStatBar .profileImage{position:relative}.mh-copy-id-button{position:absolute;top:30px;left:3px;z-index:10;display:none;cursor:pointer}.mh-copy-id-success-message{position:absolute;top:32px;left:60px;z-index:10;font-weight:900;color:#fff;text-shadow:1px 1px 1px #000;opacity:0;transition:opacity .2s ease-in-out}\n";
}
});

// src/modules/copy-id/index.js
var main11, init18, copy_id_default;
var init_copy_id = __esm({
"src/modules/copy-id/index.js"() {
init_utils2();
init_styles17();
main11 = () => {
  const profilePic = document.querySelector(".mousehuntHud-userStatBar .mousehuntHud-profilePic");
  if (!profilePic) {
    return;
  }
  const copyIdButton = makeElement("div", ["mh-copy-id-button", "mousehuntActionButton", "tiny"]);
  makeElement("span", "mh-copy-id-button-text", "Copy ID", copyIdButton);
  profilePic.parentNode.insertBefore(copyIdButton, profilePic.nextSibling);
  const successMessage = makeElement("div", "mh-copy-id-success-message", "Copied!");
  successMessage.style.opacity = 0;
  copyIdButton.parentNode.insertBefore(successMessage, copyIdButton.nextSibling);
  copyIdButton.addEventListener("click", () => {
    const Id = user.user_id;
    navigator.clipboard.writeText(Id);
    successMessage.style.opacity = 1;
    setTimeout(() => {
      successMessage.style.opacity = 0;
    }, 1e3);
  });
  profilePic.addEventListener("mouseenter", () => {
    copyIdButton.style.display = "block";
  });
  profilePic.addEventListener("mouseleave", () => {
    copyIdButton.style.display = "none";
  });
  copyIdButton.addEventListener("mouseenter", () => {
    copyIdButton.style.display = "block";
  });
  copyIdButton.addEventListener("mouseleave", () => {
    copyIdButton.style.display = "none";
  });
};
init18 = () => __async(void 0, null, function* () {
  addStyles(styles_default16, "copy-id");
  main11();
});
copy_id_default = {
  id: "copy-id",
  name: "Copy ID Button",
  type: "feature",
  default: true,
  description: "Hover over your profile picture in the HUD for a quick 'Copy ID to clipboard' button.",
  load: init18
};
}
});

// src/modules/custom-css/settings/index.js
var settings_default11;
var init_settings12 = __esm({
"src/modules/custom-css/settings/index.js"() {
settings_default11 = () => __async(void 0, null, function* () {
  return [{
    id: "override-styles",
    title: "Custom Styles",
    default: "",
    description: '<a href="https://github.com/MHCommunity/mousehunt-improved/wiki/Custom-CSS" target="_blank">Custom CSS</a> to apply to MouseHunt.',
    settings: {
      type: "textarea"
    }
  }];
});
}
});

// src/modules/custom-css/index.js
var loadStyleOverrides, init19, custom_css_default;
var init_custom_css = __esm({
"src/modules/custom-css/index.js"() {
init_utils2();
init_settings12();
loadStyleOverrides = () => {
  const customStyles = getSetting("override-styles");
  if (customStyles) {
    addStyles(customStyles, "mousehunt-improved-override-styles");
  }
};
init19 = () => __async(void 0, null, function* () {
  onEvent("mh-improved-loaded", loadStyleOverrides);
});
custom_css_default = {
  id: "custom-css",
  type: "advanced",
  alwaysLoad: true,
  load: init19,
  settings: settings_default11
};
}
});

// src/modules/custom-background/gradients.json
var gradients_default;
var init_gradients = __esm({
"src/modules/custom-background/gradients.json"() {
gradients_default = [
  {
    id: "midnight",
    name: "Midnight",
    css: "linear-gradient(220.55deg, #565656 0%, #181818 100%)"
  },
  {
    id: "night-in-salem",
    name: "Night in Salem",
    css: "linear-gradient(#111827, #581c87, #7c3aed)"
  },
  {
    id: "cosmic-twilight",
    name: "Cosmic Twilight",
    css: "linear-gradient(to right, #0f172a, #581c87, #0f172a)"
  },
  {
    id: "galactic-dusk",
    name: "Galactic Dusk",
    css: "linear-gradient(220.55deg, #4063bc 0%, #6b0013 100%)"
  },
  {
    id: "emerald-lagoon",
    name: "Emerald Lagoon",
    css: "radial-gradient(80.99% 100% at 50% 0%, #00ff0a 0%, #36008e 100%), radial-gradient(50% 123.47% at 50% 50%, #efe7c8 0%, #36008e 100%), linear-gradient(301.28deg, #ff006b 0%, #48dd9e 100%), linear-gradient(294.84deg, #5a60e4 0%, #d30000 100%), linear-gradient(52.29deg, #000000 0%, #00ff85 100%), radial-gradient(100% 138.69% at 100% 0%, #0007a5 0%, #ff7a00 100%), radial-gradient(70.41% 100% at 50% 0%, #d5b300 0%, #2200aa 100%)"
  },
  {
    id: "aurora",
    name: "Aurora",
    css: "radial-gradient(65% 100% at 50% 0%, #00ff94 0%, rgba(0, 255, 148, 0.25) 100%), linear-gradient(230deg, #000000 25%, #170059 100%), linear-gradient(215deg, #ffebb9 10%, #19004e 80%), radial-gradient(100% 245% at 100% 100%, #ffffff 0%, #000353 100%), linear-gradient(125deg, #1400ff 0%, #3a0000 100%), linear-gradient(225deg, #00ebfc 3.7%, #00f0ff 11.4%, #000b6f 55.3%, #001676 64.1%, #001676 75%, #00e1f6 100%, #00ecfd 100%, #001676 100%), linear-gradient(135deg, #00f0ff 0%, #000b6f 2.4%, #00ebfc 20.5%, #001676 35%, #00e1f6 47.2%, #001676 66.8%, #00ecfd 84.9%, #001676 100%)"
  },
  {
    id: "amber-sunrise",
    name: "Amber Sunrise",
    css: "radial-gradient(circle at center top, #b45309, #fdba74, #9f1239)"
  },
  {
    id: "warm-glow",
    name: "Warm Glow",
    css: "radial-gradient(at center top, #d1d5db, #c026d3, #ea580c)"
  },
  {
    id: "aqua-depths",
    name: "Aqua Depths",
    css: "linear-gradient(220.55deg, #24cfc5 0%, #001c63 100%)"
  },
  {
    id: "cobalt-mist",
    name: "Cobalt Mist",
    css: "linear-gradient(#3951c6, #8896dd)"
  },
  {
    id: "crimson-blush",
    name: "Crimson Blush",
    css: "linear-gradient(#b9466c, #e3b5c4)"
  },
  {
    id: "emerald-forest",
    name: "Emerald Forest",
    css: "linear-gradient(#43ac20, #76df53)"
  },
  {
    id: "flamingo-fling",
    name: "Flamingo Fling",
    css: "linear-gradient(#e84a8c, #f3a5c5)"
  },
  {
    id: "glacial-gleam",
    name: "Glacial Gleam",
    css: "linear-gradient(220.55deg, #c5edf5 0%, #4a879a 100%)"
  },
  {
    id: "lavender-lustre",
    name: "Lavender Lustre",
    css: "linear-gradient(#de97f9, #9157ff)"
  },
  {
    id: "mint-surf",
    name: "Mint Surf",
    css: "linear-gradient(0deg, #08aeea 0%, #2af598 100%)"
  },
  {
    id: "orange-coral",
    name: "Orange Coral",
    css: "linear-gradient(to top, #fb923c, #fb7185)"
  },
  {
    id: "radiant-rouge",
    name: "Radiant Rouge",
    css: "linear-gradient(161.15deg, #ffa492 12.73%, #ff2c55 72.95%)"
  },
  {
    id: "sangria-solstice",
    name: "Sangria Solstice",
    css: "linear-gradient(181deg, #770738, #ddbb90)"
  },
  {
    id: "sea-sky",
    name: "Sea Sky",
    css: "linear-gradient(to top, #38bdf8, #312e81)"
  },
  {
    id: "skyline-whisper",
    name: "Skyline Whisper",
    css: "linear-gradient(#53a5df, #a9d2ef)"
  },
  {
    id: "cotton-candy-shores",
    name: "Cotton Candy Shores",
    css: "linear-gradient(#32c7e5, #f078d5)"
  },
  {
    id: "canary-shine",
    name: "Canary Shine",
    css: "linear-gradient(220.55deg, #fff500 0%, #ffb800 100%)"
  },
  {
    id: "oahu-sunset",
    name: "Oahu Sunset",
    css: "linear-gradient(to top, #fb923c, #38bdf8)"
  },
  {
    id: "polaroid-memories",
    name: "Polaroid Memories",
    css: "linear-gradient(to top, #040308, #ad4a28, #dd723c, #fc7001, #dcb697, #9ba5ae, #3e5879, #020b1a)"
  },
  {
    id: "neon-nights",
    name: "Neon Nights",
    css: "linear-gradient(#f3b167, #ec38bc, #7303c0, #03001e)"
  },
  {
    id: "soft-metal",
    name: "Soft Metal",
    css: "conic-gradient(at right top, rgb(199, 210, 254), rgb(71, 85, 105), rgb(199, 210, 254))"
  },
  {
    id: "frosted-orchid",
    name: "Frosted Orchid",
    css: "linear-gradient(#ecadaf 0%, #e0b6a5 13.54%, #dc8b9d 30.21%, #c05ac9 44.27%, #b865cf 57.81%, #c3a7d9 71.87%, #c5c1e2 84.9%, #c6d8e4 100%)"
  },
  {
    id: "spectral-summer",
    name: "Spectral Summer",
    css: "linear-gradient(to top, #3f51b1 0%, #5a55ae 13%, #7b5fac 25%, #8f6aae 38%, #a86aa4 50%, #cc6b8e 62%, #f18271 75%, #f3a469 87%, #f7c978 100%)"
  },
  {
    id: "cold-breeze",
    name: "Cold Breeze",
    css: "conic-gradient(at center bottom, #ffffff, #0ea5e9, #0ea5e9)"
  },
  {
    id: "cyberpop",
    name: "Cyberpop",
    css: "linear-gradient(135deg, #0e0220 0%, #000000 6px, #e40475 24.8%, #0e0220 35%, #48e0e4 56.3%, #48e0e4 62.4%, #ff00c8 72.9%, rgba(0, 0, 0, 0.86) 78.5%, #48e0e4 100%)"
  },
  {
    id: "rainbow",
    name: "Rainbow",
    css: "linear-gradient(#e02020 0%, #fa6400 17%, #f7b500 33%, #6dd400 50%, #0091ff 67%, #6236ff 83%, #b620e0 100%)"
  },
  {
    id: "candy-cane-breeze",
    name: "Candy Cane Breeze",
    css: "radial-gradient(at 30% -5%, #92f2f2, #d6cff1, rgba(255, 255, 255, 0) 25%), radial-gradient(at 50% 70%, #c4f2e5, rgba(255, 255, 255, 0) 30%), radial-gradient(at 70% 0%, #d6cff1, rgba(255, 255, 255, 0) 20%), linear-gradient(75deg, #92f2f2 5%, rgba(255, 255, 255, 0), #a8d0f0, rgba(255, 255, 255, 0), #eed5f2, rgba(255, 255, 255, 0), #d6cff1, rgba(255, 255, 255, 0), #c4f2e5 90%), radial-gradient(at 30% 50%, #92f2f2, rgba(255, 255, 255, 0) 30%), radial-gradient(at 30% 50%, #9cb9fc, rgba(255, 255, 255, 0) 30%), radial-gradient(at 100% 50%, #92f2f2, #c2dcf2, rgba(255, 255, 255, 0) 50%), linear-gradient(115deg, #92f2f2 5%, #a8d0f0 10%, #d6cff1, #eed5f2 20%, #a8d0f0, #a8d0f0 30%, #d6cff1, #c2dcf2 40%, #92f2f2, #a8d0f0 70%)"
  },
  {
    id: "celestial-dreamscape",
    name: "Celestial Dreamscape",
    css: "radial-gradient(18% 28% at 24% 50%, #cefaff 7%, rgba(7, 58, 255, 0) 100%), radial-gradient(18% 28% at 18% 71%, rgba(255, 255, 255, 0.35) 6%, rgba(7, 58, 255, 0) 100%), radial-gradient(70% 53% at 36% 76%, #73f2ff 0%, rgba(7, 58, 255, 0) 100%), radial-gradient(42% 53% at 15% 94%, #ffffff 7%, rgba(7, 58, 255, 0) 100%), radial-gradient(42% 53% at 34% 72%, #ffffff 7%, rgba(7, 58, 255, 0) 100%), radial-gradient(18% 28% at 35% 87%, #ffffff 7%, rgba(7, 58, 255, 0) 100%), radial-gradient(31% 43% at 7% 98%, #ffffff 24%, rgba(7, 58, 255, 0) 100%), radial-gradient(21% 37% at 72% 23%, rgba(211, 255, 109, 0.61) 24%, rgba(7, 58, 255, 0) 100%), radial-gradient(35% 56% at 91% 74%, rgba(138, 79, 255, 0.96) 9%, rgba(7, 58, 255, 0) 100%), radial-gradient(74% 86% at 67% 38%, rgba(109, 255, 174, 0.96) 24%, rgba(7, 58, 255, 0) 100%), linear-gradient(125deg, #4eb5ff 1%, #4c00fc 100%)"
  },
  {
    id: "dreamy-hues",
    name: "Dreamy Hues",
    css: "linear-gradient(97.92deg, #bc97c6 0%, #f6d2c8 6.33%, #f5e2c8 12.2%, #bde8d9 21.5%, #e8dfc6 34.83%, #edc7c6 44.22%, #e6bdcf 52.26%, #c7b2e5 60.55%, #b8bfe7 70.29%, #c3e1d3 79.4%, #eedfc5 89.06%, #e5b0c9 94.93%, #b495c5 100.7%)"
  },
  {
    id: "pastel-daydream",
    name: "Pastel Daydream",
    css: "radial-gradient(at 40% 20%, #ffb87a 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 80% 0%, #1fddff 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 0% 50%, #fcdee1 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 73% 51%, #ff85ad 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 0% 100%, #ffb58a 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 80% 100%, #6b66ff 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 0% 0%, #ff85a7 0px, rgba(0, 0, 0, 0) 50%)"
  },
  {
    id: "rainbows-embrace",
    name: "Rainbow's Embrace",
    css: "radial-gradient(50% 100% at left -10% top 80%, #db0072, rgba(0, 0, 0, 0)), radial-gradient(50% 100% at left 25% top 60%, #ffe53e, rgba(0, 0, 0, 0)), radial-gradient(50% 100% at left 55% top 40%, #00ffe4, rgba(0, 0, 0, 0)), radial-gradient(50% 100% at left 90% top 20%, #d150ff, rgba(0, 0, 0, 0))"
  }
];
}
});

// src/modules/custom-background/settings/index.js
var settings_default12;
var init_settings13 = __esm({
"src/modules/custom-background/settings/index.js"() {
init_gradients();
settings_default12 = () => __async(void 0, null, function* () {
  const gradientOptions = gradients_default.map((gradient) => ({
    name: gradient.name,
    value: gradient.id
  }));
  const options = [
    { name: "Default", value: "default" },
    {
      name: "Events",
      value: "group",
      options: [
        { name: "Birthday", value: "birthday" },
        { name: "Great Winter Hunt", value: "great_winter_hunt" },
        { name: "Halloween", value: "halloween" },
        { name: "Lunar New Year", value: "lunar_new_year" },
        { name: "Spring Egg Hunt", value: "spring_hunt" },
        { name: "Valentine's", value: "valentines" }
      ]
    },
    {
      name: "Color",
      value: "group",
      options: [
        { name: "Blue", value: "background-color-blue" },
        { name: "Cyan", value: "background-color-cyan" },
        { name: "Green", value: "background-color-green" },
        { name: "Pink", value: "background-color-pink" },
        { name: "Purple", value: "background-color-purple" },
        { name: "Red", value: "background-color-red" },
        { name: "Faded", value: "background-color-faded" }
      ]
    },
    {
      name: "Gradients",
      value: "group",
      options: gradientOptions
    }
  ];
  return [{
    id: "custom-background",
    title: 'Custom Background <a class="mh-improved-custom-bg-preview hidden">Preview</a>',
    default: [options[0]],
    description: "Change the background to an event background, a color, or a gradient.",
    settings: {
      type: "multi-select",
      number: 1,
      options
    }
  }];
});
}
});

// src/modules/custom-background/styles.css
var styles_default17;
var init_styles18 = __esm({
"src/modules/custom-background/styles.css"() {
styles_default17 = ".pageFrameView-column.left{box-shadow:inset -10px 0 10px -10px #333}.pageFrameView-column.right{box-shadow:inset 10px 0 10px -10px #333}.pageFrameView .pageFrameView-column:before{background:transparent}body.mh-improved-bg-background-color-blue .pageFrameView-column.right,body.mh-improved-bg-background-color-blue .pageFrameView-column.left{filter:none}body.mh-improved-bg-background-color-cyan .pageFrameView-column.right,body.mh-improved-bg-background-color-cyan .pageFrameView-column.left{filter:hue-rotate(312deg)}body.mh-improved-bg-background-color-green .pageFrameView-column.right,body.mh-improved-bg-background-color-green .pageFrameView-column.left{filter:hue-rotate(266deg)}body.mh-improved-bg-background-color-pink .pageFrameView-column.right,body.mh-improved-bg-background-color-pink .pageFrameView-column.left{filter:hue-rotate(80deg)}body.mh-improved-bg-background-color-purple .pageFrameView-column.right,body.mh-improved-bg-background-color-purple .pageFrameView-column.left{filter:hue-rotate(51deg)}body.mh-improved-bg-background-color-red .pageFrameView-column.right,body.mh-improved-bg-background-color-red .pageFrameView-column.left{filter:hue-rotate(146deg)}body.mh-improved-bg-background-color-faded .pageFrameView-column.right,body.mh-improved-bg-background-color-faded .pageFrameView-column.left{filter:sepia(1)}#mousehunt-improved-settings-feature-custom-background .PagePreferences__settingLabel{position:relative}.mh-improved-custom-bg-preview{position:absolute;top:0;right:225px;bottom:0;display:flex;align-items:center;font-size:12px}.mh-improved-custom-background-gradient-preview{display:grid;grid-template-columns:1fr 1fr;gap:20px;height:80vh;padding-right:10px;margin-right:-10px;overflow:auto}.mh-improved-custom-background-gradient-preview .gradient{display:flex;flex-direction:column;place-content:center space-between;align-items:center;width:100%;height:200px;padding:10px 0;border:1px solid #626262;border-radius:5px}.mh-improved-custom-background-gradient-preview .name{font-size:22px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000}\n";
}
});

// src/modules/custom-background/index.js
var addedClass, addBodyClass2, listenForPreferenceChanges, addPreview, persistBackground, init20, custom_background_default;
var init_custom_background = __esm({
"src/modules/custom-background/index.js"() {
init_utils2();
init_gradients();
init_settings13();
init_styles18();
addedClass = "";
addBodyClass2 = (preview = false) => {
  const body = document.querySelector("body");
  if (!body) {
    return;
  }
  let setting = getSetting("custom-background-0", "default");
  if (preview) {
    setting = preview;
  }
  if (addedClass) {
    if (Array.isArray(addedClass)) {
      addedClass.forEach((cls) => {
        body.classList.remove(cls);
      });
    } else {
      body.classList.remove(addedClass);
    }
    addedClass = "";
  }
  const style = document.querySelector("#mh-improved-custom-background-style");
  if (style) {
    style.remove();
  }
  if ("default" === setting) {
    return;
  }
  const background = `mh-improved-bg-${setting}`;
  body.classList.add(background, setting);
  addedClass = [background, setting];
  if (setting.startsWith("background-color-")) {
    body.classList.remove(setting);
    body.classList.add(background);
    addedClass = background;
  }
  if (!gradients_default) {
    return;
  }
  const gradient = gradients_default.find((g) => g.id === setting);
  if (!gradient) {
    return;
  }
  const gradientStyle = document.createElement("style");
  gradientStyle.id = "mh-improved-custom-background-style";
  gradientStyle.innerHTML = `.mh-improved-custom-background-gradient-preview,
body.${background} .pageFrameView-column.right.right,
body.${background} .pageFrameView-column.left.left {
background-color: transparent !important;
background-image: none !important;
}

@media only screen and (max-width: 1000px) {
body.${background}.hasSidebar .pageFrameView,
body.${background} .pageFrameView-column.right.right,
body.${background} .pageFrameView-column.left.left {
background-color: transparent !important;
background-image: none !important;
}
}

body.${background} {
background: ${gradient.css};
background-attachment: fixed;
}`;
  document.head.append(gradientStyle);
};
listenForPreferenceChanges = () => {
  const input = document.querySelector("#mousehunt-improved-settings-design-custom-background select");
  if (!input) {
    return;
  }
  input.addEventListener("change", () => {
    addBodyClass2();
  });
};
addPreview = () => {
  const previewLink = document.querySelector(".mh-improved-custom-bg-preview");
  if (!previewLink) {
    return;
  }
  previewLink.addEventListener("click", (e) => {
    e.preventDefault();
    let content = "";
    gradients_default.forEach((gradient) => {
      content += `<div class="gradient" style="background: ${gradient.css}">
  <div class="name">${gradient.name}</div>
  <div class="controls">
    <div class="mousehuntActionButton lightBlue mh-improved-custom-bg-action-button" data-gradient="${gradient.id}" data-action="preview"><span>Preview</span></div>
    <div class="mousehuntActionButton mh-improved-custom-bg-action-button" data-gradient="${gradient.id}" data-action="use"><span>Use</span></div>
    </div>
</div>`;
    });
    const popup = createPopup({
      title: "",
      className: "mh-improved-custom-background-gradient-preview-popup",
      content: `<div class="mh-improved-custom-background-gradient-preview">${content}</div>`,
      show: false
    });
    popup.show();
    const previewActions = document.querySelectorAll(".mh-improved-custom-bg-action-button");
    previewActions.forEach((action) => {
      const gradient = action.getAttribute("data-gradient");
      const actionType = action.getAttribute("data-action");
      action.addEventListener("click", (evt) => {
        evt.preventDefault();
        if ("preview" === actionType) {
          addBodyClass2(gradient);
        } else if ("use" === actionType) {
          const input = document.querySelector("#mousehunt-improved-settings-design-custom-background select");
          if (input) {
            input.value = gradient;
            input.dispatchEvent(new Event("change"));
          }
          popup.hide();
        }
      });
    });
  });
};
persistBackground = () => {
  addBodyClass2();
  onNavigation(() => {
    addBodyClass2();
    setTimeout(addBodyClass2, 250);
    setTimeout(addBodyClass2, 500);
  });
  onNavigation(() => {
    listenForPreferenceChanges();
    addPreview();
  }, {
    page: "preferences",
    onLoad: true
  });
};
init20 = () => __async(void 0, null, function* () {
  addStyles(styles_default17, "custom-background");
  persistBackground();
});
custom_background_default = {
  id: "custom-background",
  type: "design",
  alwaysLoad: true,
  load: init20,
  settings: settings_default12
};
}
});

// src/modules/custom-horn/settings/index.js
var settings_default13;
var init_settings14 = __esm({
"src/modules/custom-horn/settings/index.js"() {
settings_default13 = () => __async(void 0, null, function* () {
  const options = [
    { name: "Default", value: "default" },
    { name: "Tournament Horn", value: "huntersHornView__horn--tournament" },
    {
      name: "Events",
      value: "group",
      options: [
        { name: "Birthday", value: "huntersHornView--seasonalEvent-birthday" },
        {
          name: "Great Winter Hunt",
          value: "huntersHornView--seasonalEvent-greatWinterHunt"
        },
        {
          name: "Halloween",
          value: "huntersHornView--seasonalEvent-halloween"
        },
        {
          name: "Lunar New Year",
          value: "huntersHornView--seasonalEvent-lunarNewYear"
        }
      ]
    },
    {
      name: "Color",
      value: "group",
      options: [
        { name: "Blue", value: "horn-color-blue" },
        { name: "Cyan", value: "horn-color-cyan" },
        { name: "Green", value: "horn-color-green" },
        { name: "Pink", value: "horn-color-pink" },
        { name: "Purple", value: "horn-color-purple" },
        { name: "Red", value: "horn-color-red" },
        { name: "Faded", value: "horn-color-faded" },
        { name: "Rainbow", value: "horn-color-rainbow" }
      ]
    }
  ];
  return [{
    id: "custom-horn",
    title: 'Custom Horn <a class="mh-improved-custom-horn-show-horn">Show Horn</a>',
    default: [options[0]],
    description: "Change the horn to an event horn or a different color.",
    settings: {
      type: "multi-select",
      number: 1,
      options
    }
  }];
});
}
});

// src/modules/custom-horn/styles.css
var styles_default18;
var init_styles19 = __esm({
"src/modules/custom-horn/styles.css"() {
styles_default18 = ".huntersHornView.horn-color-blue .huntersHornView__horn{filter:hue-rotate(158deg)}.huntersHornView.horn-color-cyan .huntersHornView__horn{filter:hue-rotate(112deg)}.huntersHornView.horn-color-green .huntersHornView__horn{filter:hue-rotate(66deg)}.huntersHornView.horn-color-pink .huntersHornView__horn{filter:hue-rotate(280deg)}.huntersHornView.horn-color-purple .huntersHornView__horn{filter:hue-rotate(195deg)}.huntersHornView.horn-color-red .huntersHornView__horn{filter:hue-rotate(317deg) saturate(1.6)}.huntersHornView.horn-color-faded .huntersHornView__horn{filter:sepia(1)}@keyframes horn-hue-rotate{0%{filter:hue-rotate(0deg)}50%{filter:hue-rotate(360deg)}to{filter:hue-rotate(0deg)}}.huntersHornView.horn-color-rainbow .huntersHornView__horn{animation:horn-hue-rotate 30s infinite}.mh-improved-custom-horn-show-horn{position:absolute;top:0;right:225px;bottom:0;display:flex;align-items:center;font-size:12px}\n";
}
});

// src/modules/custom-horn/index.js
var addedClass2, addHornClass, listenForPreferenceChanges2, addPreview2, persistHornClass, init21, custom_horn_default;
var init_custom_horn = __esm({
"src/modules/custom-horn/index.js"() {
init_utils2();
init_settings14();
init_styles19();
addedClass2 = "";
addHornClass = (preview = false) => {
  const hornView = document.querySelector(".huntersHornView");
  if (!hornView) {
    return;
  }
  const horn = document.querySelector(".huntersHornView__horn");
  if (!horn) {
    return;
  }
  horn.classList.add("huntersHornView__horn--default");
  let setting = getSetting("custom-horn-0", "default");
  if (preview) {
    setting = preview;
  }
  hornView.classList.add();
  if (addedClass2) {
    hornView.classList.remove(addedClass2);
  }
  if ("default" !== setting) {
    hornView.classList.add(setting);
    addedClass2 = setting;
  }
};
listenForPreferenceChanges2 = () => {
  const input = document.querySelector("#mousehunt-improved-settings-design-custom-horn select");
  if (!input) {
    return;
  }
  input.addEventListener("change", () => {
    addHornClass();
  });
};
addPreview2 = () => {
  const previewLink = document.querySelector(".mh-improved-custom-horn-show-horn");
  if (!previewLink) {
    return;
  }
  let isShowing = false;
  let timeout = null;
  previewLink.addEventListener("click", (e) => {
    e.preventDefault();
    const horn = document.querySelector(".huntersHornView__horn");
    if (!horn) {
      return;
    }
    const backdrop = document.querySelector(".huntersHornView__backdrop");
    if (!backdrop) {
      return;
    }
    if (isShowing) {
      isShowing = false;
      previewLink.textContent = "Show Horn";
      clearTimeout(timeout);
      horn.classList.add("huntersHornView__horn--reveal");
      horn.classList.remove("huntersHornView__horn--ready");
      setTimeout(() => {
        backdrop.classList.remove("huntersHornView__backdrop--active");
      }, 400);
      timeout = setTimeout(() => {
        horn.classList.remove("huntersHornView__horn--reveal");
      }, 1e3);
      return;
    }
    isShowing = true;
    previewLink.textContent = "Hide Horn";
    backdrop.classList.add("huntersHornView__backdrop--active");
    horn.classList.add("huntersHornView__horn--ready", "huntersHornView__horn--reveal");
    clearTimeout(timeout);
  });
};
persistHornClass = () => {
  addHornClass();
  onNavigation(() => {
    setTimeout(addHornClass, 1e3);
  });
  onNavigation(() => {
    listenForPreferenceChanges2();
    addPreview2();
  }, {
    page: "preferences",
    onLoad: true
  });
};
init21 = () => __async(void 0, null, function* () {
  addStyles(styles_default18, "custom-horn");
  persistHornClass();
});
custom_horn_default = {
  id: "custom-horn",
  type: "design",
  alwaysLoad: true,
  load: init21,
  settings: settings_default13
};
}
});

// src/modules/custom-hud/settings/index.js
var settings_default14;
var init_settings15 = __esm({
"src/modules/custom-hud/settings/index.js"() {
settings_default14 = () => __async(void 0, null, function* () {
  const options = [
    { name: "Default", value: "default" },
    {
      name: "Color",
      value: "group",
      options: [
        { name: "Cyan", value: "hud-cyan" },
        { name: "Green", value: "hud-green" },
        { name: "Pink", value: "hud-pink" },
        { name: "Purple", value: "hud-purple" },
        { name: "Red", value: "hud-red" },
        { name: "Teal", value: "hud-teal" },
        { name: "Faded", value: "hud-faded" },
        { name: "Gray", value: "hud-gray" },
        { name: "Blueprint", value: "hud-blueprint" }
      ]
    }
  ];
  return [{
    id: "custom-hud",
    title: "Custom HUD background",
    default: [options[0]],
    description: "Change the marbled HUD background.",
    settings: {
      type: "multi-select",
      number: 1,
      options
    }
  }];
});
}
});

// src/modules/custom-hud/index.js
var addStyleEl, listenForPreferenceChanges3, persistBackground2, init22, custom_hud_default;
var init_custom_hud = __esm({
"src/modules/custom-hud/index.js"() {
init_utils2();
init_settings15();
addStyleEl = () => {
  const setting = getSetting("custom-hud-0", "default");
  const stylesEl = document.querySelector("#mh-improved-custom-hud-style");
  if (stylesEl) {
    stylesEl.remove();
  }
  if ("default" === setting) {
    return;
  }
  let style;
  const pedastal = "https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif?asset_cache_version=2";
  if ("hud-blueprint" === setting) {
    style = `body .mousehuntHud-marbleDrawer {
background:
  url(${pedastal}) -46px 0 no-repeat,
  url(${pedastal}) 731px 0 no-repeat,
  url(https://i.mouse.rip/mh-improved/custom-hud/${setting}.png) repeat-y top center;
}`;
  } else {
    style = `body .mousehuntHud-marbleDrawer {
background:
  url(${pedastal}) -46px 0 no-repeat,
  url(${pedastal}) 731px 0 no-repeat,
  url(https://i.mouse.rip/mh-improved/marble-shadow.png) 6px 0 no-repeat,
  url(https://i.mouse.rip/mh-improved/custom-hud/${setting}.png) repeat-y top center;
}

.mousehuntHud-titleProgressBar {
mix-blend-mode: luminosity;
}`;
  }
  if (style) {
    const styleEl = document.createElement("style");
    styleEl.id = "mh-improved-custom-hud-style";
    styleEl.innerHTML = style;
    document.head.append(styleEl);
  }
};
listenForPreferenceChanges3 = () => {
  const input = document.querySelector("#mousehunt-improved-settings-design-custom-hud select");
  if (!input) {
    return;
  }
  input.addEventListener("change", () => {
    addStyleEl();
  });
};
persistBackground2 = () => {
  addStyleEl();
  onNavigation(listenForPreferenceChanges3, {
    page: "preferences",
    onLoad: true
  });
};
init22 = () => __async(void 0, null, function* () {
  persistBackground2();
});
custom_hud_default = {
  id: "custom-hud",
  type: "design",
  alwaysLoad: true,
  load: init22,
  settings: settings_default14
};
}
});

// src/modules/custom-shield/settings/index.js
var settings_default15;
var init_settings16 = __esm({
"src/modules/custom-shield/settings/index.js"() {
settings_default15 = () => __async(void 0, null, function* () {
  let options = [
    { name: "Default", value: "default" },
    { name: "Default (normal resolution)", value: "default-normal" },
    {
      name: "Events",
      value: "group",
      options: [
        { name: "Birthday (Generic)", value: "birthday" },
        { name: "Birthday (Year 10)", value: "birthday.year10" },
        { name: "Birthday (Year 11)", value: "birthday.year11" },
        { name: "Birthday (Year 12)", value: "birthday.year12" },
        { name: "Birthday (Year 13)", value: "birthday.year13" },
        { name: "Birthday (Year 14)", value: "birthday.year14" },
        { name: "Birthday (Year 15)", value: "birthday.year15" },
        { name: "Birthday (Year 16)", value: "birthday.year16" },
        { name: "Great Winter Hunt", value: "winter_hunt" },
        { name: "Halloween", value: "halloween" },
        { name: "Larry's Football Challenge", value: "larrys_football_challenge" },
        { name: "Pride (LGS Required)", value: "pride" },
        { name: "Remembrance Day", value: "remembrance_day" },
        { name: "Spring Egg Hunt (LGS Required)", value: "spring-egg-hunt" },
        { name: "Spring Egg Hunt Alt (LGS Required)", value: "spring-egg-hunt-alt" },
        { name: "Valentine's", value: "valentines" }
      ]
    },
    {
      name: "Color (LGS required)",
      value: "group",
      options: [
        { name: "Blue", value: "color-blue" },
        { name: "Blue with matching timer", value: "color-blue-timer" },
        { name: "Cyan", value: "color-cyan" },
        { name: "Cyan with matching timer", value: "color-cyan-timer" },
        { name: "Green", value: "color-green" },
        { name: "Green with matching timer", value: "color-green-timer" },
        { name: "Pink", value: "color-pink" },
        { name: "Pink with matching timer", value: "color-pink-timer" },
        { name: "Purple", value: "color-purple" },
        { name: "Purple with matching timer", value: "color-purple-timer" },
        { name: "Red", value: "color-red" },
        { name: "Red with matching timer", value: "color-red-timer" },
        { name: "Faded", value: "color-faded" },
        { name: "Rainbow", value: "color-rainbow" },
        { name: "Rainbow with matching timer", value: "color-rainbow-timer" },
        { name: "Cotton Candy", value: "color-cotton-candy" }
      ]
    },
    {
      name: "Title Shields",
      value: "group",
      options: [
        { name: "Current Title ", value: "title" },
        { name: "Novice", value: "title.novice" },
        { name: "Recruit", value: "title.recruit" },
        { name: "Apprentice", value: "title.apprentice" },
        { name: "Initiate", value: "title.initiate" },
        { name: "Journeyman / Journeywoman", value: "title.journeyman" },
        { name: "Master", value: "title.master" },
        { name: "Grandmaster", value: "title.grandmaster" },
        { name: "Legendary", value: "title.legendary" },
        { name: "Hero", value: "title.hero" },
        { name: "Knight", value: "title.knight" },
        { name: "Lord / Lady", value: "title.lord" },
        { name: "Baron / Baroness", value: "title.baron" },
        { name: "Count / Countess", value: "title.count" },
        { name: "Duke / Duchess", value: "title.duke" },
        { name: "Grand Duke / Duchess", value: "title.grandduke" },
        { name: "Archduke / Archduchess", value: "title.archduke" },
        { name: "Viceroy", value: "title.viceroy" },
        { name: "Elder", value: "title.elder" },
        { name: "Sage", value: "title.sage" },
        { name: "Fabled", value: "title.fabled" }
      ]
    },
    {
      name: "Silly",
      value: "group",
      options: [
        { name: "Scrambles ", value: "scrambles" },
        { name: "Jerry ", value: "jerry" },
        { name: "Romeno ", value: "romeno" }
      ]
    }
  ];
  if (!user.has_shield) {
    const toDisable = /* @__PURE__ */ new Set([
      "pride",
      "spring-egg-hunt",
      "spring-egg-hunt-alt",
      "Color (LGS required)"
    ]);
    options = options.map((option) => {
      if ("group" === option.value) {
        const disabledParent = toDisable.has(option.name) || toDisable.has(option.value);
        if (disabledParent) {
          option.disabled = true;
        }
        option.options = option.options.map((groupOption) => {
          if (toDisable.has(groupOption.value) || disabledParent) {
            groupOption.disabled = true;
          }
          return groupOption;
        });
      }
      return option;
    });
  }
  return [{
    id: "custom-shield",
    title: "Custom Shield",
    default: [options[0]],
    description: "Change the shield to an event shield, a color, a title shield, or a silly shield.",
    settings: {
      type: "multi-select",
      number: 1,
      options
    }
  }];
});
}
});

// src/modules/custom-shield/styles.css
var styles_default19;
var init_styles20 = __esm({
"src/modules/custom-shield/styles.css"() {
styles_default19 = '.mousehuntHud-shield.golden.default{top:2px;left:10px;background-image:url(https://www.mousehuntgame.com/images/mousehunt_gold_logo.png?asset_cache_version=2);filter:drop-shadow(0 0 5px #e8dbb8);background-size:contain;transition:opacity .3s ease-in-out}.mousehuntHud-shield.golden.default-normal{top:unset;left:unset;background-image:url(https://www.mousehuntgame.com/images/ui/elements/header_golden_shield.gif?asset_cache_version=2);filter:none}.mousehuntHud-shield.golden.default-fancy:hover,.mousehuntHud-shield.golden.default-fancy:focus{opacity:.9}.mousehuntHud-shield.mhui-custom-shield.pride,.mousehuntHud-shield.golden.mhui-custom-shield.pride{background:url(https://i.mouse.rip/shield-pride.png) 0 0/105%}.mousehuntHud-shield.scrambles{background-image:url(https://i.mouse.rip/shield-scrambles-bawk.png)}.mousehuntHud-shield.golden.scrambles{background-image:url(https://i.mouse.rip/shield-scrambles-bawk.png),url(https://www.mousehuntgame.com/images/ui/elements/header_golden_shield.gif?cv=2)}.mousehuntHud-shield.jerry{background-image:url(https://i.mouse.rip/shield-jerry.png)}.mousehuntHud-shield.golden.jerry{background-image:url(https://i.mouse.rip/shield-jerry.png),url(https://www.mousehuntgame.com/images/ui/elements/header_golden_shield.gif?cv=2)}.mousehuntHud-shield.golden.spring-egg-hunt{background:url(https://i.mouse.rip/shield-seh.png) 1px 1px/104%}.mousehuntHud-shield.golden.spring-egg-hunt-alt{background:url(https://i.mouse.rip/shield-seh-alt.png) 1px 1px/104%}.mousehuntHud-shield.romeno:after{position:absolute;bottom:0;left:-69px;z-index:1;width:140px;height:140px;content:"";background-image:url(https://i.mouse.rip/shield-romeno.png);filter:drop-shadow(6px 0 14px #fff);background-repeat:no-repeat;background-size:contain}.mousehuntHud-shield.title,.mousehuntHud-shield.golden.title{top:2px;left:2px;background:url(https://i.mouse.rip/shield-blank-2.png) 0 0 / contain no-repeat}.mousehuntHud-shield.title:after{position:absolute;inset:0;content:"";filter:drop-shadow(0 0 10px #e8dbb8);background-repeat:no-repeat;background-position:center;background-size:105px;transition:background-image .5s}.mousehuntHud-shield.title.novice:after,.mousehuntHud-shield.golden.title.novice:after{background-image:url(https://www.mousehuntgame.com/images/titles/84bc1109b5cd7aa8c24d195bc8207c38.png?cv=2)}.mousehuntHud-shield.title.recruit:after,.mousehuntHud-shield.golden.title.recruit:after{background-image:url(https://www.mousehuntgame.com/images/titles/3f1e44bbaa7138da4c326819e9f3f0a8.png?cv=2)}.mousehuntHud-shield.title.apprentice:after,.mousehuntHud-shield.golden.title.apprentice:after{background-image:url(https://www.mousehuntgame.com/images/titles/6f4673dd2d9d1e98b4569667d702a775.png?cv=2)}.mousehuntHud-shield.title.initiate:after,.mousehuntHud-shield.golden.title.initiate:after{background-image:url(https://www.mousehuntgame.com/images/titles/e96387f7261b95c0eeab9291e4e594e1.png?cv=2)}.mousehuntHud-shield.title.journeyman:after,.mousehuntHud-shield.golden.title.journeyman:after{background-image:url(https://www.mousehuntgame.com/images/titles/ad6875955f541159133c6d3798519f81.png?cv=2)}.mousehuntHud-shield.title.master:after,.mousehuntHud-shield.golden.title.master:after{background-image:url(https://www.mousehuntgame.com/images/titles/35ee6056a09037fb13a9195881875045.png?cv=2)}.mousehuntHud-shield.title.grandmaster:after,.mousehuntHud-shield.golden.title.grandmaster:after{background-image:url(https://www.mousehuntgame.com/images/titles/0da3761747914f497c16dc2051ba132d.png?cv=2)}.mousehuntHud-shield.title.legendary:after,.mousehuntHud-shield.golden.title.legendary:after{background-image:url(https://www.mousehuntgame.com/images/titles/fca35751046f4bcc972716ca484b6d61.png?cv=2)}.mousehuntHud-shield.title.hero:after,.mousehuntHud-shield.golden.title.hero:after{background-image:url(https://www.mousehuntgame.com/images/titles/0567284d6e12aaaed35ca5912007e070.png?cv=2)}.mousehuntHud-shield.title.knight:after,.mousehuntHud-shield.golden.title.knight:after{background-image:url(https://www.mousehuntgame.com/images/titles/398dca9a8c7703de969769491622ca32.png?cv=2)}.mousehuntHud-shield.title.lord:after,.mousehuntHud-shield.golden.title.lord:after{background-image:url(https://www.mousehuntgame.com/images/titles/9a6acd429a9a3a4849ed13901288b0b8.png?cv=2)}.mousehuntHud-shield.title.baron:after,.mousehuntHud-shield.golden.title.baron:after{background-image:url(https://www.mousehuntgame.com/images/titles/ea9c0ec2e6d3d81c14e61f5ce924d0e1.png?cv=2)}.mousehuntHud-shield.title.count:after,.mousehuntHud-shield.golden.title.count:after{background-image:url(https://www.mousehuntgame.com/images/titles/dd11711a25b80db90e0306193f2e8d78.png?cv=2)}.mousehuntHud-shield.title.duke:after,.mousehuntHud-shield.golden.title.duke:after{background-image:url(https://www.mousehuntgame.com/images/titles/eb46ac1e8197b13299ab860f07d963db.png?cv=2)}.mousehuntHud-shield.title.grandduke:after,.mousehuntHud-shield.golden.title.grandduke:after{background-image:url(https://www.mousehuntgame.com/images/titles/87937fa96bbb3b2dd3225df883002642.png?cv=2)}.mousehuntHud-shield.title.archduke:after,.mousehuntHud-shield.golden.title.archduke:after{background-image:url(https://www.mousehuntgame.com/images/titles/043efe31de4f0f2e0ddca590fe829032.png?cv=2)}.mousehuntHud-shield.title.viceroy:after,.mousehuntHud-shield.golden.title.viceroy:after{background-image:url(https://www.mousehuntgame.com/images/titles/e2e79f6f9201a4d4e7a89684fbb5356f.png?cv=2)}.mousehuntHud-shield.title.elder:after,.mousehuntHud-shield.golden.title.elder:after{background-image:url(https://www.mousehuntgame.com/images/titles/0f3cf224bf98457f6b5bad91ab1c7bd2.png?cv=2)}.mousehuntHud-shield.title.sage:after,.mousehuntHud-shield.golden.title.sage:after{background-image:url(https://www.mousehuntgame.com/images/titles/cb49e43c5e4460da7c09fe28ca4f44ce.png?cv=2)}.mousehuntHud-shield.title.fabled:after,.mousehuntHud-shield.golden.title.fabled:after{background-image:url(https://www.mousehuntgame.com/images/titles/5daba92a8d609834aa8b789f37544e08.png?cv=2)}.mousehunt-improved-lgs-reminder-new.color-blue,.huntersHornView__timer--default.color-blue,.mousehuntHud-shield.golden.color-blue{filter:hue-rotate(158deg) drop-shadow(0 0 5px #e8dbb8)}.mousehunt-improved-lgs-reminder-new.color-cyan,.huntersHornView__timer--default.color-cyan,.mousehuntHud-shield.golden.color-cyan{filter:hue-rotate(112deg) drop-shadow(0 0 5px #e8dbb8)}.mousehunt-improved-lgs-reminder-new.color-green,.huntersHornView__timer--default.color-green,.mousehuntHud-shield.golden.color-green{filter:hue-rotate(66deg) drop-shadow(0 0 5px #e8dbb8)}.mousehunt-improved-lgs-reminder-new.color-pink,.huntersHornView__timer--default.color-pink,.mousehuntHud-shield.golden.color-pink{filter:hue-rotate(280deg) drop-shadow(0 0 5px #e8dbb8)}.mousehunt-improved-lgs-reminder-new.color-purple,.huntersHornView__timer--default.color-purple,.mousehuntHud-shield.golden.color-purple{filter:hue-rotate(195deg) drop-shadow(0 0 5px #e8dbb8)}.mousehunt-improved-lgs-reminder-new.color-red,.huntersHornView__timer--default.color-red,.mousehuntHud-shield.golden.color-red{filter:hue-rotate(317deg) saturate(1.6) drop-shadow(0 0 5px #e8dbb8)}.mousehuntHud-shield.golden.color-faded{filter:sepia(1) drop-shadow(0 0 5px #e8dbb8)}.huntersHornView__timer--default.color-blue .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown,.huntersHornView__timer--default.color-cyan .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown,.huntersHornView__timer--default.color-green .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown,.huntersHornView__timer--default.color-pink .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown,.huntersHornView__timer--default.color-purple .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown,.huntersHornView__timer--default.color-red .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown{mix-blend-mode:color-burn}@keyframes shield-hue-rotate{0%{filter:hue-rotate(0deg) drop-shadow(0 0 5px #e8dbb8)}50%{filter:hue-rotate(360deg) drop-shadow(0 0 5px #e8dbb8)}to{filter:hue-rotate(0deg) drop-shadow(0 0 5px #e8dbb8)}}.mousehunt-improved-lgs-reminder-new.color-rainbow,.huntersHornView__timer--default.color-rainbow,.mousehuntHud-shield.golden.color-rainbow,.mousehuntHud-shield.golden.color-rainbow2{animation:shield-hue-rotate 30s infinite}\n';
}
});

// src/modules/custom-shield/cotton-candy.css
var cotton_candy_default;
var init_cotton_candy = __esm({
"src/modules/custom-shield/cotton-candy.css"() {
cotton_candy_default = ".huntersHornView__backdrop{filter:hue-rotate(180deg);opacity:1;transition:none}.huntersHornView__horn--ready{filter:hue-rotate(275deg);transition:none}.huntersHornMessageView{filter:hue-rotate(200deg)}.mousehuntHud-menu.default>ul li a{filter:hue-rotate(298deg);backdrop-filter:hue-rotate(245deg)}.mousehuntHud-environmentName{text-shadow:0 0 1px #eab9cd,1px 1px #ffe1f5}.mousehuntHud-environmentIcon{box-shadow:2px 2px 2px #ffe1f5 inset,-2px -2px 2px #eab9cd inset}.mousehuntHud-menu ul li.active .mousehuntHud-menu-item.root,.mousehuntHud-menu ul li:hover .mousehuntHud-menu-item.root{background:url(https://www.mousehuntgame.com/images/ui/hud/menu/menu_seperator.png?asset_cache_version=2) 100% 0 no-repeat;filter:hue-rotate(328deg);backdrop-filter:hue-rotate(292deg)}\n";
}
});

// src/modules/custom-shield/index.js
var doClass, addClass, removeClass, lastShield, changeShield, getTitle, watchForPreferenceChanges, init23, custom_shield_default;
var init_custom_shield = __esm({
"src/modules/custom-shield/index.js"() {
init_utils2();
init_settings16();
init_styles20();
init_cotton_candy();
doClass = (el, shieldClass, verb) => {
  if (Array.isArray(shieldClass)) {
    shieldClass = shieldClass.join(" ");
  }
  if (!shieldClass) {
    return;
  }
  let classToAdd = shieldClass.replace(".", " ");
  classToAdd = classToAdd.split(" ");
  if (!Array.isArray(classToAdd)) {
    classToAdd = [classToAdd];
  }
  classToAdd.forEach((className) => {
    if (el && el.classList && el.classList[verb]) {
      if ("remove" === verb && !el.classList.contains(className)) {
        return;
      }
      el.classList[verb](className);
    }
  });
};
addClass = (el, shieldClass) => {
  doClass(el, shieldClass, "add");
};
removeClass = (el, shieldClass) => {
  doClass(el, shieldClass, "remove");
};
lastShield = "";
changeShield = () => {
  const shieldEl = document.querySelector(".mousehuntHud-shield");
  if (!shieldEl) {
    return;
  }
  const timer = document.querySelector(".huntersHornView__timer--default");
  if (!timer) {
    return;
  }
  if (lastShield) {
    const remove = [
      ...lastShield,
      "mhui-custom-shield",
      "birthday",
      "year16"
      // TODO: remove this after the event.
    ];
    remove.forEach((className) => {
      removeClass(shieldEl, className);
      timer.classList.remove(className);
    });
  }
  let shield = getSetting("custom-shield-0", "default");
  if ("default" === shield) {
    shieldEl.classList.add("default", "default-fancy");
    lastShield = ["default", "default-fancy"];
    return;
  }
  if (shield === "color-cotton-candy") {
    makeElement("style", "mh-improved-cotton-candy-style", cotton_candy_default, document.head);
    shield = "color-pink-timer";
  } else {
    const cottonCandyStyle = document.querySelector(".mh-improved-cotton-candy-style");
    if (cottonCandyStyle) {
      cottonCandyStyle.remove();
    }
  }
  lastShield = [shield];
  if (shield.startsWith("color-")) {
    shieldEl.classList.add("default");
    shieldEl.classList.add("color");
    lastShield.push("color");
  }
  if (shield.endsWith("-timer")) {
    shield = shield.replace("-timer", "");
    timer.classList.add(shield);
    lastShield.push(shield);
  }
  if (shield.endsWith("-alt")) {
    const altClass = shield.replace("-alt", "");
    shieldEl.classList.add(altClass, "alt");
    lastShield.push(altClass, "alt");
  }
  if (shield.includes("title")) {
    shieldEl.classList.add("title");
    shield = "title" === shield ? getTitle() : shield;
    lastShield.push("title", shield);
  }
  shieldEl.classList.add("mhui-custom-shield");
  addClass(shieldEl, shield);
};
getTitle = () => {
  let title = user.title_name || "novice";
  title = title.toLowerCase();
  title.replace("lady", "lord");
  title.replace("wo", "");
  title.replace("ess", "");
  title.replace("duch", "duke");
  return title;
};
watchForPreferenceChanges = () => {
  const input = document.querySelector("#mousehunt-improved-settings-design-custom-shield select");
  if (!input) {
    return;
  }
  input.addEventListener("change", () => {
    changeShield();
  });
};
init23 = () => __async(void 0, null, function* () {
  addStyles(styles_default19, "custom-shield");
  lastShield = getSetting("custom-shield-0", "default");
  changeShield();
  onNavigation(watchForPreferenceChanges, {
    page: "preferences",
    onLoad: true
  });
});
custom_shield_default = {
  id: "custom-shield",
  type: "design",
  alwaysLoad: true,
  load: init23,
  settings: settings_default15
};
}
});

// src/modules/dark-mode/styles.css
var styles_default20;
var init_styles21 = __esm({
"src/modules/dark-mode/styles.css"() {
styles_default20 = ".mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .adventureBookBanner-goalPadding{background-color:transparent}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .adventureBookBanner-adventureName{color:#000}.mh-dark-mode .journal a{color:#0174a7}.mh-dark-mode .entry.short.supplytransferitem{background:url(https://i.mouse.rip/upscaled/item-add.png) no-repeat 10px center;background-color:#a0a0a0}.mh-dark-mode .entry.short.supplytransferitem a{color:#0c5271}.mh-dark-mode .itemPurchaseView-action-goldGost{background-color:#0e0e0e;border-color:#242424}.mh-dark-mode .itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-container{color:#fff;background-color:#242424}.mh-dark-mode .inventoryPage-item-recipeOptions li{color:#2c2c2c}.mh-dark-mode .treasureMapView-environment.active .treasureMapView-environment-title{background-color:#38727b}.mh-dark-mode #overlayPopup.treasureMapPopup .treasureMapView-environment.active .treasureMapView-environment-title a,.mh-dark-mode #overlayPopup.treasureMapPopup .treasureMapView-environment.wrong .treasureMapView-environment-title a,.mh-dark-mode .treasureMapView-environment-progress{color:#fff}.mh-dark-mode .treasureMapView-environment.wrong .treasureMapView-environment-title{background-color:#862f2f}.mh-dark-mode .pageFrameView #overlayPopup.treasureMapPopup .treasureMapRootView-content a.messageBoardView-message-delete{color:transparent}.mh-dark-mode .itemPurchaseView-image-container,.mh-dark-mode .itemPurchaseView-content-container{background-color:#000}.mh-dark-mode .itemPurchaseView-action-purchaseHelper-owned{background-color:#3d3d3d;border-color:#606060}.mh-dark-mode .entry.short.misc.custom.unstable_charm_trigger{background:#7ae4ff}.mh-dark-mode .journal .entry.winterTaiga,.mh-dark-mode .entry.short.misc.custom.winter_hunt_2021.instantReturnGolem.jhMisc,.mh-dark-mode .entry.short.misc.custom.winter_hunt_2021.claimGolemReward.jhMisc,.mh-dark-mode .winter_hunt_2021.sendGolem{background-color:#7ae4ff}.mh-dark-mode #jhButton{color:#3b5998}.mh-dark-mode .pageFrameView #overlayPopup.treasureMapPopup .treasureMapRootView-content a.treasureMapView-block-search-clear{color:#ccc;border-left:none}.mh-dark-mode .treasureMapView-block-search-text{color:#fff;background-color:#636363;border:1px solid #2c2c2c}.mh-dark-mode #tsitu-hunter-id-nav-ui input{color:#fff;background-color:#636363;border-color:#2c2c2c!important}.mh-dark-mode #tsitu-hunter-id-nav-ui input::placeholder{color:#ccc}.mh-dark-mode .marketplaceView-listing-progressLabel{color:#fff;text-shadow:0 1px #000}.mh-dark-mode .marketplaceView-listing-progressBar-padding{background-color:#424140}.mh-dark-mode .marketplaceView-listing-progressBar span{background-color:#956ab4}.mh-dark-mode .marketplaceMyListings s{color:#969696}.mh-dark-mode .pageFrameView .itemViewStatBlock .itemViewStatBlock-stat-label{background-color:transparent}.mh-dark-mode.shopCustomization .itemViewStatBlock-stat{border-color:#404040}.mh-dark-mode .journal .entry.larryGift{background:#deffc7}.mh-dark-mode .pageFrameView .mousehuntHeaderView .menuItem:hover{background-color:#000}.mh-dark-mode .pageFrameView .mousehuntHeaderView .menuItem.dropdown:hover .arrow{border-bottom-color:#666}.mh-dark-mode .trapSelectorView__trapStatSummaryContainer{background:#333}.mh-dark-mode .pageFrameView .campPage-trap-itemBrowser-armed-item-content .campPage-trap-itemBrowser-item-disarmButton{color:#000}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .trapImageView{background:#000!important;border:none}.mh-dark-mode .mh-ui-goals-sidebar-toggle{filter:invert(1)}.mh-dark-mode .giftSelectorView-gift.gift_of_the_day .giftSelectorView-gift-padding{color:#000}.mh-dark-mode .mousehuntHeaderView .dropdownContent a span,.mh-dark-mode .pageFrameView .giftSelectorView-friend>.giftSelectorView-friend-padding{color:#fff}.mh-dark-mode .regionName{background-color:#1c1c1c;border-color:#000}.mh-dark-mode .regionWrapper{border-color:#0c0c0c}.mh-dark-mode .locationWrapper{background-color:#2e2e2e}.mh-dark-mode .locationWrapper:nth-child(2n){background-color:#242424}.mh-dark-mode .dashboardWrapper{border-color:#0c0c0c}.mh-dark-mode .scoreboardRelativeRankingTableView-table,.mh-dark-mode .mousehuntHeaderView .dropdownContent{color:#fff;background-color:#252525;border-color:#666;border-radius:0}.mh-dark-mode .mousehuntHeaderView .menuItem.sidebar .dropdownContent a.pageSidebarView-user-logout,.mh-dark-mode .mousehuntHeaderView .menuItem.sidebar .dropdownContent .pageSidebarView-user a:nth-child(2),.mh-dark-mode .mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a,.mh-dark-mode .mousehuntHeaderView .dropdownContent a{color:#009adf}.mh-dark-mode .mousehuntHeaderView .dropdownContent a{border-color:#666}.mh-dark-mode .pageFrameView #mousehuntContainer.PageHunterProfile .trapImageView{background:none;border:none}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp{box-shadow:none}.mh-dark-mode .trapSelectorView__codexBrowser .loading,.mh-dark-mode .campPage-trap-itemBrowser-empty-container{color:#fff;background-color:#424242;border-color:#5c5c5c}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .journal:before,.mh-dark-mode .pageFrameView #mousehuntContainer.PageJournal .journal:before{background:none}.mh-dark-mode .giftSelectorView-confirmPopup-content{color:#dcddde;background-color:#242424}.mh-dark-mode .giftSelectorView-confirmPopup-padding{background-color:#0f0f0f;border-color:#0f0f0f;box-shadow:0 0 10px #c8c8c8}\n";
}
});

// src/modules/dark-mode/index.js
var isDarkMode, checkForDarkModeAndAddBodyClass, addDarkModeBodyClass, init24, dark_mode_default;
var init_dark_mode = __esm({
"src/modules/dark-mode/index.js"() {
init_utils2();
init_styles21();
isDarkMode = () => {
  return !!getComputedStyle(document.documentElement).getPropertyValue("--mhdm-white");
};
checkForDarkModeAndAddBodyClass = () => {
  if (!isDarkMode()) {
    return false;
  }
  document.body.classList.add("mh-dark-mode");
  return true;
};
addDarkModeBodyClass = () => {
  let added = checkForDarkModeAndAddBodyClass();
  if (!added) {
    setTimeout(() => {
      added = checkForDarkModeAndAddBodyClass();
      if (!added) {
        setTimeout(() => {
          checkForDarkModeAndAddBodyClass();
        }, 1e3);
      }
    }, 500);
  }
};
init24 = () => __async(void 0, null, function* () {
  addStyles(styles_default20, "dark-mode");
  addDarkModeBodyClass();
  onNavigation(addDarkModeBodyClass);
  onRequest("*", addDarkModeBodyClass);
});
dark_mode_default = {
  id: "dark-mode",
  name: "Dark Mode Updates & Tweaks",
  type: "feature",
  default: true,
  description: "Improves and tweaks dark mode. <strong>Requires either the standalone extension or enabling the setting in MHCT</strong>.",
  load: init24
};
}
});

// src/modules/debug/settings/index.js
var settings_default16;
var init_settings17 = __esm({
"src/modules/debug/settings/index.js"() {
settings_default16 = () => __async(void 0, null, function* () {
  return [
    {
      id: "debug.utils-data",
      title: "Log data caching and retrieval"
    },
    {
      id: "debug.events",
      title: "Log events"
    },
    {
      id: "debug.dialog",
      title: "Log IDs of opening and closing dialogs/popups"
    },
    {
      id: "debug.all",
      title: "Log module debug messages"
    },
    {
      id: "debug.module-loading",
      title: "Log module loading"
    },
    {
      id: "debug.navigation",
      title: "Log page, tab, and subtab navigations"
    },
    {
      id: "debug.request",
      title: "Log remote requests and responses"
    },
    {
      id: "debug.update-migration",
      title: "Log update migrations"
    },
    {
      id: "debug.sentry",
      title: "Set Sentry to debug mode"
    },
    {
      id: "debug.disable-cache",
      title: "Disable caching",
      description: "Disable caching of data and settings"
    }
  ];
});
}
});

// src/modules/debug/index.js
var debug2, main12, init25, debug_default;
var init_debug2 = __esm({
"src/modules/debug/index.js"() {
init_utils2();
init_settings17();
debug2 = (message, ...args) => {
  const textMessages = [];
  const objectMessages = [];
  for (const arg of args) {
    if (typeof arg === "string") {
      textMessages.push(arg);
    } else {
      objectMessages.push(arg);
    }
  }
  console.log(
    `%cMH Improved:%c ${message}`,
    "color: #ff3434; font-weight: 900; font-size: 1.1em",
    "color: inherit; font-weight: inherit; font-size: inherit",
    ...textMessages,
    ...objectMessages
  );
};
main12 = () => {
  window.app = window.app || {};
  window.app.mhutils = utils_exports;
  if (getSetting("debug.dialog", false)) {
    let currentDialog = null;
    onDialogHide(() => {
      debug2(`Dialog hidden: ${currentDialog}`);
    });
    onDialogShow("all", () => {
      currentDialog = getCurrentDialog();
      debug2(`Dialog shown: ${currentDialog}`);
    });
  }
  if (getSetting("debug.navigation", false)) {
    onNavigation(() => {
      debug2("onNavigation", {
        page: getCurrentPage(),
        tab: getCurrentTab(),
        subtab: getCurrentSubtab()
      });
    });
    onTravel(null, () => {
      debug2("onTravel", getCurrentLocation());
    });
  }
  if (getSetting("debug.request", false)) {
    onRequest("*", (response) => {
      debug2("onRequest", response);
    });
  }
  if (getSetting("debug.events", false)) {
    let events = [
      "camp_page_arm_item",
      "camp_page_toggle_blueprint",
      "camp_page_update_item_array",
      "camp_quest_hud_view_initialize",
      "checkout_cart_update",
      "info_arrow_hide",
      "info_arrow_show",
      "spring_hunt_claim_hidden_egg",
      "tournament_status_change",
      "treasure_map_update_favourite_friends",
      "treasure_map_update_sent_requests",
      "treasure_map_update",
      "user_interaction_update",
      "user_inventory_update",
      "user_inventory_use_convertible",
      "user_recipe_update",
      "user_relationship",
      "user_trap_update"
    ];
    let hasSingleEvent = false;
    const ignoredEvents = [];
    for (const flag in getFlags()) {
      if (flag.startsWith("debug-events-only-")) {
        const event = flag.replace("debug-events-only-", "");
        hasSingleEvent = event;
      } else if (flag.startsWith("debug-events-")) {
        const event = flag.replace("debug-events-", "");
        events.push(event);
      } else if (flag.startsWith("debug-events-no-")) {
        const event = flag.replace("debug-events-no-", "");
        ignoredEvents.push(event);
      }
    }
    if (ignoredEvents.length > 0) {
      events = events.filter((event) => !ignoredEvents.includes(event));
    }
    if (hasSingleEvent) {
      events = [hasSingleEvent];
    }
    events.forEach((event) => {
      onEvent(event, (...data) => {
        debug2(`onEvent: ${event}`, data);
      });
    });
  }
};
init25 = () => {
  main12();
  onActivation("dev", main12);
  onDeactivation("dev", () => {
    window.location.reload();
  });
};
debug_default = {
  id: "debug",
  name: "Debug",
  description: "Adds all utility functions to <code>app.mhutils</code>, adds debug logs, and other development tools.",
  type: "advanced",
  default: false,
  order: 900,
  load: init25,
  settings: settings_default16
};
}
});

// src/modules/data-exporters/exporter.js
var recursiveFetch, addDownloadToButton, addJsonDownloadToButton, addCsvDownloadToButton, getFormattedDate, addDownloadButtons, resultReducer, updateSingleTotalEl, exportPopup;
var init_exporter = __esm({
"src/modules/data-exporters/exporter.js"() {
init_utils2();
recursiveFetch = (data, callbackToRun) => {
  return data.reduce((promiseChain, item) => {
    return promiseChain.then((chainResults) => {
      return new Promise((resolve) => {
        callbackToRun(item).then((currentResult) => {
          chainResults.push(currentResult);
          resolve(chainResults);
        });
      });
    });
  }, Promise.resolve([]));
};
addDownloadToButton = (opts, callback) => {
  let { buttonSelector, results, filename, beforeDownload } = opts;
  const exportButton = document.querySelector(buttonSelector);
  exportButton.classList.remove("disabled");
  exportButton.addEventListener("click", () => {
    if (beforeDownload) {
      results = opts.beforeDownload();
    }
    callback(results, filename);
  });
};
addJsonDownloadToButton = (opts) => {
  addDownloadToButton(opts, (results, filename) => {
    const data = JSON.stringify({
      type: opts.type,
      generated: (/* @__PURE__ */ new Date()).toISOString(),
      data: results
    });
    const blob = new Blob([data], { type: "application/json" });
    const url = URL.createObjectURL(blob);
    const link = document.createElement("a");
    link.download = `${filename}.json`;
    link.href = url;
    link.click();
    URL.revokeObjectURL(url);
  });
};
addCsvDownloadToButton = (opts) => {
  addDownloadToButton(opts, (results, filename) => {
    if (opts.reduceResults) {
      results = resultReducer(results);
    }
    let csv = results.map((row) => {
      return Object.values(row).map((value) => `"${value}"`).join(",");
    }).join("\n");
    if (opts.headers) {
      csv = `${opts.headers.join(",")}
${csv}`;
    }
    const blob = new Blob([csv], { type: "text/csv" });
    const url = URL.createObjectURL(blob);
    const link = document.createElement("a");
    link.download = `${filename}.csv`;
    link.href = url;
    link.click();
    URL.revokeObjectURL(url);
  });
};
getFormattedDate = () => {
  const date = /* @__PURE__ */ new Date();
  return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
};
addDownloadButtons = (opts) => {
  const { type, results, headers, reduceResults } = opts;
  const filename = `${type}-${getFormattedDate()}`;
  const buttonSelector = `#export-${type}`;
  addJsonDownloadToButton({
    buttonSelector,
    type,
    results,
    filename
  });
  addCsvDownloadToButton({
    buttonSelector: `${buttonSelector}-csv`,
    results,
    filename,
    headers,
    reduceResults
  });
};
resultReducer = (results) => {
  return results.reduce((acc, { category, items: items2 }) => {
    items2.forEach((data) => {
      acc.push(__spreadValues({
        region: category
      }, data));
    });
    return acc;
  }, []);
};
updateSingleTotalEl = (results) => {
  const totalItemsEl = document.querySelector(".export-items-footer .total-items");
  if (!totalItemsEl) {
    return;
  }
  const totalItems = results.reduce((acc, { items: items2 }) => {
    return acc + items2.length;
  }, 0);
  totalItemsEl.textContent = totalItems.toLocaleString();
};
exportPopup = (opts) => {
  const {
    type,
    text,
    headerMarkup,
    itemsMarkup,
    footerMarkup,
    fetch: fetch4,
    afterFetch: afterFetch3,
    download,
    updateSingleTotal,
    dataIsAvailable
  } = opts;
  createPopup({
    title: `Export ${text}`,
    content: `
<div class="export-wrapper ${type}">
<div class="export-items-header item-wrapper ${headerMarkup ? "" : "hidden"}">
  ${headerMarkup || ""}
</div>
<div class="export-items-wrapper ${itemsMarkup ? "" : "hidden"}">
  ${itemsMarkup || ""}
</div>
<div class="export-items-footer item-wrapper ${footerMarkup ? "" : "hidden"}">
  ${footerMarkup || ""}
</div>
<div class="actions-wrapper">
  <div class="mousehuntActionButton tiny lightBlue" id="export-back">
    <span>Back</span>
  </div>
  <div class="mousehuntActionButton tiny fetch-data ${dataIsAvailable ? "hidden" : ""}" id="fetch-${type}">
    <span>Fetch ${text}</span>
  </div>
  <div class="mousehuntActionButton tiny ${dataIsAvailable ? "" : "disabled"} export-json" id="export-${type}">
    <span>Export as JSON</span>
  </div>
  <div class="mousehuntActionButton tiny ${dataIsAvailable ? "" : "disabled"} export-csv" id="export-${type}-csv">
    <span>Export as CSV</span>
  </div>
</div>
</div>`
  });
  const exportBackButton = document.querySelector("#export-back");
  if (!exportBackButton) {
    return;
  }
  exportBackButton.addEventListener("click", () => {
    doEvent2("show-export-data");
  });
  const fetchButton = document.querySelector(`#fetch-${type}`);
  if (!fetchButton) {
    return;
  }
  fetchButton.addEventListener("click", () => {
    fetchButton.classList.add("disabled");
    fetch4().then((results) => {
      if (afterFetch3) {
        afterFetch3(results);
      }
      if (updateSingleTotal) {
        updateSingleTotalEl(results);
      }
      addDownloadButtons(__spreadValues({
        results,
        type
      }, download));
      fetchButton.classList.remove("disabled");
    });
  });
  if (dataIsAvailable) {
    fetchButton.click();
  }
};
}
});

// src/modules/data-exporters/export-favorite-setups.js
var hasFavoriteSetups, fetch2, afterFetch, exportFavoriteSetups;
var init_export_favorite_setups = __esm({
"src/modules/data-exporters/export-favorite-setups.js"() {
init_exporter();
hasFavoriteSetups = () => {
  return localStorage.getItem("favorite-setups-saved");
};
fetch2 = () => __async(void 0, null, function* () {
  const setups = JSON.parse(localStorage.getItem("favorite-setups-saved"));
  const flattenedSetups = [];
  for (const setupName in setups) {
    const setup = setups[setupName];
    flattenedSetups.push({
      name: setupName,
      bait: setup.bait,
      base: setup.base,
      weapon: setup.weapon,
      trinket: setup.trinket,
      skin: setup.skin,
      location: setup.location,
      sort: setup.sort
    });
  }
  return flattenedSetups;
});
afterFetch = (data) => {
  const totalItemsEl = document.querySelector(".export-items-footer .total-items");
  totalItemsEl.textContent = data.length.toLocaleString();
};
exportFavoriteSetups = () => {
  exportPopup({
    type: "favorite-setups-saved",
    text: "Favorite Setups",
    footerMarkup: '<div class="region-name">Total Values</div><div class="total-items">-</div>',
    fetch: fetch2,
    afterFetch,
    dataIsAvailable: true,
    download: {
      headers: [
        "Name",
        "Bait",
        "Base",
        "Weapon",
        "Trinket",
        "Skin",
        "Location",
        "Sort"
      ]
    }
  });
};
}
});

// src/modules/data-exporters/export-rankup-forecaster.js
var hasRankupForecaster, fetch3, afterFetch2, exportRankupForecaster;
var init_export_rankup_forecaster = __esm({
"src/modules/data-exporters/export-rankup-forecaster.js"() {
init_exporter();
hasRankupForecaster = () => {
  return localStorage.getItem("Chro-forecaster-time");
};
fetch3 = () => __async(void 0, null, function* () {
  return JSON.parse(localStorage.getItem("Chro-forecaster-time"));
});
afterFetch2 = (data) => {
  const totalItemsEl = document.querySelector(".export-items-footer .total-items");
  totalItemsEl.textContent = data.length.toLocaleString();
};
exportRankupForecaster = () => {
  exportPopup({
    type: "rankup-forecaster-history",
    text: "Rankup Forecaster History",
    footerMarkup: '<div class="region-name">Total Values</div><div class="total-items">-</div>',
    fetch: fetch3,
    afterFetch: afterFetch2,
    dataIsAvailable: true,
    download: {
      headers: ["Date", "Wisdom"]
    }
  });
};
}
});

// src/modules/data-exporters/export-inventory.js
var itemCategories, getData2, exportInventory, export_inventory_default;
var init_export_inventory = __esm({
"src/modules/data-exporters/export-inventory.js"() {
init_utils2();
init_exporter();
itemCategories = [
  { id: "weapon", name: "Weapons" },
  { id: "base", name: "Bases" },
  { id: "trinket", name: "Charms" },
  { id: "bait", name: "Cheeses" },
  { id: "skin", name: "Skins" },
  { id: "crafting_item", name: "Crafting Items" },
  { id: "convertible", name: "Convertible Items" },
  { id: "potion", name: "Potions" },
  { id: "stat", name: "Misc. Items" },
  { id: "collectible", name: "Collectibles" },
  { id: "map_piece", name: "Map Pieces" },
  { id: "adventure", name: "Adventure Items" }
];
getData2 = (classification) => __async(void 0, null, function* () {
  const regionEl = document.querySelector(`.item-wrapper[data-region="${classification.id}"]`);
  const totalItemsEl = regionEl.querySelector(".total-items");
  totalItemsEl.textContent = "...";
  totalItemsEl.scrollIntoView({
    behavior: "smooth",
    block: "nearest"
  });
  const response = yield doRequest("managers/ajax/users/userInventory.php", {
    action: "get_items_by_classification",
    "classifications[]": classification.id
  });
  const items2 = [];
  response.items.forEach((item) => {
    const itemData = {
      item_id: item.item_id || 0,
      type: item.type || "",
      name: item.name || "",
      classification: item.classification || classification.id,
      quantity: item.quantity || 0,
      thumbnail: item.thumbnail || "",
      limited_edition: item.limited_edition || false,
      is_tradable: item.is_tradable || false,
      is_givable: item.is_givable || false
    };
    items2.push(itemData);
    totalItemsEl.textContent = items2.length.toLocaleString();
  });
  return {
    category: classification.name,
    items: items2
  };
});
exportInventory = () => {
  let inventoryMarkup = "";
  itemCategories.forEach((region) => {
    inventoryMarkup += `<div class="item-wrapper inventory" data-region="${region.id}">
<div class="region-name">${region.name}</div>
<div class="total-items">-</div>
</div>`;
  });
  exportPopup({
    type: "inventory",
    text: "Inventory",
    headerMarkup: '<div class="region-name">Category</div><div class="total-items">Items</div>',
    itemsMarkup: inventoryMarkup,
    footerMarkup: '<div class="region-name">Total</div><div class="total-items">0</div>',
    fetch: () => recursiveFetch(itemCategories, getData2),
    updateSingleTotal: true,
    download: {
      headers: [
        "Category",
        "Item ID",
        "Item Type",
        "Item Name",
        "Classification",
        "Quantity",
        "Thumbnail",
        "Limited Edition",
        "Tradable",
        "Givable"
      ],
      reduceResults: true
    }
  });
};
export_inventory_default = exportInventory;
}
});

// src/modules/data-exporters/export-marketplace.js
var fetchPage, fetchTransactions, exportMarketplace, export_marketplace_default;
var init_export_marketplace = __esm({
"src/modules/data-exporters/export-marketplace.js"() {
init_utils2();
init_utils2();
init_exporter();
fetchPage = (page) => __async(void 0, null, function* () {
  const response = yield doRequest("managers/ajax/users/marketplace.php", {
    action: "get_my_history",
    page
  });
  return (response == null ? void 0 : response.marketplace_history) || [];
});
fetchTransactions = () => __async(void 0, null, function* () {
  var _a;
  const totalItemsEl = document.querySelector(".export-items-footer .total-items");
  totalItemsEl.textContent = "...";
  totalItemsEl.scrollIntoView({
    behavior: "smooth",
    block: "nearest"
  });
  let page = 1;
  let response;
  let transactions = [];
  page = Number.parseInt(sessionGet("export-marketplace-page"), 10) || 1;
  transactions = sessionGet("export-marketplace-transactions", []);
  const tradableItems = yield getData("items-tradable");
  do {
    response = yield fetchPage(page);
    for (const item of response) {
      transactions.push({
        listing_id: item.listing_id,
        listing_type: item.listing_type,
        item_id: item.item_id,
        item_name: ((_a = tradableItems.find(({ id }) => id === item.item_id)) == null ? void 0 : _a.name) || "",
        initial_quantity: item.initial_quantity,
        remaining_quantity: item.remaining_quantity,
        unit_price: item.unit_price,
        unit_price_without_tariff: item.unit_price_without_tariff,
        total_price: item.total_price,
        total_price_without_tariff: item.total_price_without_tariff,
        average: item.average,
        is_active: item.is_active === "1",
        date_updated: item.date_updated,
        date_closed: item.date_closed
      });
    }
    yield new Promise((resolve) => setTimeout(resolve, 100));
    page++;
    sessionSet("export-marketplace-page", page);
    sessionSet("export-marketplace-transactions", transactions);
    totalItemsEl.textContent = transactions.length.toLocaleString();
  } while (response.length > 0);
  return transactions;
});
exportMarketplace = () => {
  exportPopup({
    type: "marketplace-transactions",
    text: "Marketplace Transactions",
    footerMarkup: '<div class="region-name">Total Transactions</div><div class="total-items">0</div>',
    fetch: fetchTransactions,
    download: {
      headers: [
        "Listing ID",
        "Listing Type",
        "Item ID",
        "Item Name",
        "Initial Quantity",
        "Remaining Quantity",
        "Unit Price",
        "Unit Price Without Tariff",
        "Total Price",
        "Total Price Without Tariff",
        "Average",
        "Is Active",
        "Date Updated",
        "Date Closed"
      ]
    }
  });
};
export_marketplace_default = exportMarketplace;
}
});

// src/modules/data-exporters/export-mice.js
var seenMice, getWeight, getWeightFormatted, getDataForRegion, processWeights, groups, regions, exportMicePopup, exportType, exportMice, export_mice_default;
var init_export_mice = __esm({
"src/modules/data-exporters/export-mice.js"() {
init_utils2();
init_utils2();
init_exporter();
seenMice = [];
getWeight = (weight) => {
  weight = weight.toString().replaceAll(",", "").trim();
  const ozSplit = weight.split(" oz.");
  const lbSplit = weight.split(" lb.");
  let weightOz = 0;
  if (ozSplit.length === 1 && lbSplit.length === 1) {
    weightOz = Number.parseFloat(weight);
  }
  if (ozSplit.length > 1) {
    weightOz = Number.parseFloat(ozSplit[0].trim());
  } else if (lbSplit.length > 1) {
    const lb = Number.parseInt(lbSplit[0].trim(), 10);
    const oz = Number.parseFloat(lbSplit[1].trim());
    weightOz = lb * 16 + oz;
  }
  return weightOz;
};
getWeightFormatted = (weight) => {
  const weightOz = getWeight(weight);
  const weightLbs = Math.floor(weightOz / 16);
  const weightOzRemainder = weightOz % 16;
  if (weightLbs > 0) {
    return `${weightLbs.toLocaleString()} lb. ${weightOzRemainder} oz.`;
  }
  return `${weightOzRemainder} oz.`;
};
getDataForRegion = (region) => __async(void 0, null, function* () {
  const regionEl = document.querySelector(`.item-wrapper[data-region="${region.id}"]`);
  regionEl.scrollIntoView({
    behavior: "smooth",
    block: "nearest"
  });
  const miceCaughtEl = regionEl.querySelector(".mice-caught");
  const totalCatchesEl = regionEl.querySelector(".total-catches");
  const totalWeightEl = regionEl.querySelector(".total-weight");
  miceCaughtEl.textContent = "...";
  totalCatchesEl.textContent = "...";
  totalWeightEl.textContent = "...";
  let action;
  let view;
  if ("group" === exportType) {
    action = "get_group";
    view = "ViewMouseListGroups";
  } else {
    action = "get_environment";
    view = "ViewMouseListEnvironments";
  }
  const miceData2 = yield doRequest("managers/ajax/mice/mouse_list.php", {
    action,
    category: region.id,
    user_id: user.user_id,
    display_mode: "stats",
    view
  });
  const mice = miceData2.mouse_list_category.subgroups.reduce((acc, cur) => {
    return [...acc, ...cur.mice];
  }, []);
  const weights = [];
  let totalCatches = 0;
  let totalWeight = 0;
  let regionSubtract = 0;
  mice.forEach((mouse) => {
    if ("region" === exportType && seenMice.includes(mouse.type)) {
      regionSubtract++;
      return;
    }
    seenMice.push(mouse.type);
    mouse.num_catches = Number.parseInt(mouse.num_catches.toString().replace(",", ""), 10);
    const avgWeight = getWeight(mouse.avg_weight);
    totalCatches += mouse.num_catches;
    totalWeight += avgWeight * mouse.num_catches;
    const mouseWeight = {
      name: mouse.name,
      type: mouse.type,
      crown: mouse.crown,
      catches: mouse.num_catches,
      misses: mouse.num_misses,
      avgWeight,
      avgWeightFormatted: getWeightFormatted(mouse.avg_weight),
      heaviest: getWeight(mouse.heaviest_catch),
      heaviestFormatted: getWeightFormatted(mouse.heaviest_catch)
    };
    weights.push(mouseWeight);
    miceCaughtEl.textContent = `${miceData2.mouse_list_category.caught}/${miceData2.mouse_list_category.total}`;
    const totalCatchesFormatted = totalCatches.toLocaleString();
    totalCatchesEl.textContent = totalCatchesFormatted;
    const totalWeightLbs = Math.floor(totalWeight / 16);
    const totalWeightOz = totalWeight % 16;
    const totalWeightLbsFormatted = totalWeightLbs.toLocaleString();
    totalWeightEl.textContent = totalWeightLbs > 0 ? `${totalWeightLbsFormatted} lb. ${totalWeightOz} oz` : `${totalWeightOz} oz`;
  });
  return {
    category: region.id,
    regionName: region.name,
    caughtMice: miceData2.mouse_list_category.caught - regionSubtract,
    uniqueMice: miceData2.mouse_list_category.total - regionSubtract,
    totalCatches,
    totalWeight,
    items: weights
  };
});
processWeights = (results) => {
  seenMice = [];
  const totalUniqueMiceEl = document.querySelector(".export-items-footer .mice-caught");
  const totalCatchesEl = document.querySelector(".export-items-footer .total-catches");
  const totalWeightEl = document.querySelector(".export-items-footer .total-weight");
  if (!totalUniqueMiceEl || !totalCatchesEl || !totalWeightEl) {
    return;
  }
  const totals = results.reduce((acc, { caughtMice, uniqueMice, totalCatches, totalWeight }) => {
    acc.caughtMice += caughtMice;
    acc.uniqueMice += uniqueMice;
    acc.totalCatches += totalCatches;
    acc.totalWeight += totalWeight;
    return acc;
  }, {
    caughtMice: 0,
    uniqueMice: 0,
    totalCatches: 0,
    totalWeight: 0
  });
  totalUniqueMiceEl.textContent = `${totals.caughtMice}/${totals.uniqueMice}`;
  totalCatchesEl.textContent = totals.totalCatches.toLocaleString();
  totalWeightEl.textContent = getWeightFormatted(totals.totalWeight);
};
groups = [];
regions = [];
exportMicePopup = () => {
  let itemTypes;
  let title;
  if ("group" === exportType) {
    title = "Group";
    itemTypes = groups;
  } else if ("region" === exportType) {
    title = "Region";
    itemTypes = regions;
  } else {
    title = "Location";
    itemTypes = environments;
  }
  let itemsMarkup = "";
  itemTypes.forEach((region) => {
    itemsMarkup += `<div class="item-wrapper" data-region="${region.id}">
<div class="region-name">${region.name}</div>
<div class="mice-caught">0/0</div>
<div class="total-catches">0</div>
<div class="total-weight">0</div>
</div>`;
  });
  exportPopup({
    type: `mouse-stats_${exportType}`,
    text: `Mouse Stats by ${exportType === "group" ? "Group" : "Region"}`,
    headerMarkup: `<div class="region-name">Group</div>
<div class="mice-caught">Unique Mice</div>
<div class="total-catches">Total Catches</div>
<div class="total-weight">Total Weight</div>`,
    itemsMarkup,
    footerMarkup: `<div class="region-name">Total</div>
<div class="mice-caught">0/0</div>
<div class="total-catches">0</div>
<div class="total-weight">0</div>`,
    fetch: () => recursiveFetch(itemTypes, getDataForRegion),
    afterFetch: processWeights,
    download: {
      headers: [
        title,
        "Name",
        "Type",
        "Crown",
        "Catches",
        "Misses",
        "Avg. Weight (oz)",
        "Avg. Weight",
        "Heaviest (oz)",
        "Heaviest"
      ],
      reduceResults: true
    }
  });
};
exportMice = (type) => __async(void 0, null, function* () {
  exportType = type;
  regions = yield getData("mice-regions");
  groups = yield getData("mice-groups");
  environments = yield getData("environments");
  exportMicePopup();
});
export_mice_default = exportMice;
}
});

// src/modules/data-exporters/export-scoreboards.js
var getScoreboardData, exportScoreboards, export_scoreboards_default;
var init_export_scoreboards = __esm({
"src/modules/data-exporters/export-scoreboards.js"() {
init_utils2();
init_utils2();
init_exporter();
getScoreboardData = (scoreboard, useWeekly = false, useFriendsOnly = false) => __async(void 0, null, function* () {
  var _a;
  const totalItemsEl = document.querySelector(`.item-wrapper[data-region="${scoreboard.id}"] .total-items`);
  totalItemsEl.textContent = "...";
  totalItemsEl.scrollIntoView({
    behavior: "smooth",
    block: "nearest"
  });
  const response = yield doRequest("managers/ajax/pages/scoreboards.php", {
    action: "get_page",
    category: "main",
    scoreboard: scoreboard.id,
    page: 1,
    weekly: useWeekly ? 1 : 0,
    friends_only: useFriendsOnly ? 1 : 0,
    search: ""
  });
  if (null === ((_a = response.scoreboard_page) == null ? void 0 : _a.viewer_row)) {
    totalItemsEl.textContent = "-";
    return {
      scoreboard: scoreboard.name,
      rank: "",
      value: ""
    };
  }
  const entry = {
    rank: response.scoreboard_page.viewer_row.rank,
    points: response.scoreboard_page.viewer_row.points
  };
  const rankSuffix = response.scoreboard_page.viewer_row.rank_formatted.replaceAll(/[\d\s]+/g, "");
  totalItemsEl.textContent = `${entry.rank.toLocaleString()}${rankSuffix}`;
  return {
    scoreboard: scoreboard.name,
    rank: entry.rank,
    value: entry.points
  };
});
exportScoreboards = (..._0) => __async(void 0, [..._0], function* ({ useWeekly = false, useFriendsOnly = false } = {}) {
  let inventoryMarkup = "";
  let scoreboardsToUse = yield getData("scoreboards");
  if (useWeekly) {
    scoreboardsToUse = scoreboards.filter((scoreboard) => scoreboard.weekly);
  }
  for (const region of scoreboardsToUse) {
    inventoryMarkup += `<div class="item-wrapper scoreboard" data-region="${region.id}">
<div class="region-name">${region.name}</div>
<div class="total-items">-</div>
</div>`;
  }
  exportPopup({
    type: `scoreboard-rankings${useWeekly ? "-weekly" : ""}${useFriendsOnly ? "-friends" : ""}`,
    text: `Scoreboard Rankings${useWeekly ? useFriendsOnly ? " (Weekly, Friends)" : " (Weekly)" : useFriendsOnly ? " (Friends)" : ""}`,
    headerMarkup: '<div class="region-name">Scoreboard</div><div class="total-items">Place</div>',
    itemsMarkup: inventoryMarkup,
    fetch: () => recursiveFetch(scoreboardsToUse, (scoreboard) => getScoreboardData(scoreboard, useWeekly, useFriendsOnly)),
    download: {
      headers: ["Scoreboard", "Rank", "Value"]
    }
  });
});
export_scoreboards_default = exportScoreboards;
}
});

// src/modules/data-exporters/styles.css
var styles_default21;
var init_styles22 = __esm({
"src/modules/data-exporters/styles.css"() {
styles_default21 = "#custom-submenu-item-export-data .icon{filter:sepia(1) brightness(.7)}.export-wrapper{display:flex;flex-direction:column;justify-content:space-around}.export-items-wrapper{max-height:70vh;overflow:auto;border:1px solid #7e7e7e}.item-wrapper{display:grid;grid-template-columns:2fr repeat(3,1fr);padding:3px 5px;margin-bottom:2px;font-size:11px}.inventory .item-wrapper,.scoreboard-rankings .item-wrapper,.rankup-forecaster-history .item-wrapper,.marketplace-transactions .item-wrapper{grid-template-columns:2fr 1fr}.item-wrapper .total-items{text-align:right}.item-wrapper:nth-child(odd){background-color:#e2e2e2}.item-wrapper.hidden{display:none}.item-wrapper.export-items-header,.item-wrapper.export-items-footer{padding:5px;margin-bottom:0;font-size:12px;text-align:center;background-color:#bcbcbc;border:1px solid #7e7e7e}.item-wrapper.export-items-header{border-bottom:none}.item-wrapper.export-items-footer{border-top:none}.rankup-forecaster-history .item-wrapper,.marketplace-transactions .item-wrapper{border-top:1px solid #7e7e7e}.export-items-header .region-name,.export-items-footer .region-name{text-align:left}.item-wrapper:nth-last-child(2){margin-bottom:0}.actions-wrapper{display:grid;grid-template-columns:1fr 3fr 1fr 1fr;place-items:center end;margin-top:10px}.actions-wrapper .hidden{display:block;visibility:hidden}.actions-wrapper #export-back{justify-self:start}.actions-wrapper .fetch-data{justify-self:center}.mh-improved-export-data-landing{margin-left:20px;line-height:2;list-style:disc}.item-wrapper .mice-caught,.item-wrapper .total-catches{text-align:center}.item-wrapper .total-weight{text-align:right}\n";
}
});

// src/modules/data-exporters/index.js
var exportDataPopup, init26, data_exporters_default;
var init_data_exporters = __esm({
"src/modules/data-exporters/index.js"() {
init_utils2();
init_export_favorite_setups();
init_export_rankup_forecaster();
init_export_inventory();
init_export_marketplace();
init_export_mice();
init_export_scoreboards();
init_styles22();
exportDataPopup = () => {
  const exporters = [
    {
      id: "mouse-stats-by-group",
      name: "Mouse Stats by Group",
      callback: () => export_mice_default("group")
    },
    {
      id: "mouse-stats-by-region",
      name: "Mouse Stats by Region",
      callback: () => export_mice_default("region")
    },
    {
      id: "mouse-stats-by-location",
      name: "Mouse Stats by Location",
      callback: () => export_mice_default("location")
    },
    {
      id: "inventory",
      name: "Inventory",
      callback: export_inventory_default
    },
    {
      id: "marketplace-transactions",
      name: "Marketplace Transactions",
      callback: export_marketplace_default
    },
    {
      id: "scoreboard-rankings",
      name: "Scoreboard Rankings",
      callback: () => export_scoreboards_default()
    },
    {
      id: "scoreboard-rankings-weekly",
      name: "Scoreboard Rankings (Weekly)",
      callback: () => export_scoreboards_default({ useWeekly: true })
    },
    {
      id: "scoreboard-rankings-friends",
      name: "Scoreboard Rankings (Friends)",
      callback: () => export_scoreboards_default({ useFriendsOnly: true })
    },
    {
      id: "scoreboard-rankings-weekly-friends",
      name: "Scoreboard Rankings (Weekly, Friends)",
      callback: () => export_scoreboards_default({ useWeekly: true, useFriendsOnly: true })
    }
  ];
  if (hasFavoriteSetups()) {
    exporters.push({
      id: "favorite-setups",
      name: "Favorite Setups (userscript)",
      callback: exportFavoriteSetups
    });
  }
  if (hasRankupForecaster()) {
    exporters.push({
      id: "rankup-forecaster-history",
      name: "Rankup Forecaster History",
      callback: exportRankupForecaster
    });
  }
  let exporterList = "";
  exporters.forEach(({ id, name }) => {
    exporterList += `<li><a href="#" id="export-${id}">${name}</a></li>`;
  });
  createPopup({
    title: "Export Data",
    content: `<ul class="mh-improved-export-data-landing">${exporterList}</ul>`
  });
  exporters.forEach(({ id, callback }) => {
    const button = document.querySelector(`#export-${id}`);
    if (button) {
      button.addEventListener("click", (e) => {
        e.preventDefault();
        callback();
      });
    }
  });
};
init26 = () => __async(void 0, null, function* () {
  addStyles(styles_default21, "data-exporters");
  onEvent("show-export-data", exportDataPopup);
  addSubmenuItem({
    menu: "kingdom",
    label: "Export Data",
    icon: "https://www.mousehuntgame.com/images/items/crafting_items/transparent_thumb/c6f39c2b522f114c788f5fb65e3ab8d7.png",
    class: "export-data",
    callback: exportDataPopup
  });
});
data_exporters_default = {
  id: "data-exporters",
  name: "Data Exporters",
  type: "feature",
  default: true,
  description: "Export data from the game.",
  load: init26
};
}
});

// src/modules/delayed-tooltips/styles.css
var styles_default22;
var init_styles23 = __esm({
"src/modules/delayed-tooltips/styles.css"() {
styles_default22 = ".mousehuntTooltipParent>.mousehuntTooltip{will-change:transform}.mousehuntTooltipParent:hover>.mousehuntTooltip{animation:mh-improved-in-scale .35s 1 forwards cubic-bezier(.4,0,1,1) 0s}.PageHunterProfile .userInteractionButtonsView-button .mousehuntTooltip,.no-delayed-tooltips .mousehuntTooltip{animation:none!important}\n";
}
});

// src/modules/delayed-tooltips/index.js
var init27, delayed_tooltips_default;
var init_delayed_tooltips = __esm({
"src/modules/delayed-tooltips/index.js"() {
init_utils2();
init_styles23();
init27 = () => __async(void 0, null, function* () {
  addStyles(styles_default22, "delayed-tooltips");
  document.addEventListener("keydown", (e) => {
    if (e.shiftKey) {
      document.body.classList.add("no-delayed-tooltips");
    }
  });
  document.addEventListener("keyup", (e) => {
    if (!e.shiftKey) {
      document.body.classList.remove("no-delayed-tooltips");
    }
  });
});
delayed_tooltips_default = {
  id: "delayed-tooltips",
  name: "Delayed Tooltips",
  type: "feature",
  default: false,
  description: "Delays the display of tooltips when you mouse over something. If you hold down the shift key, the tooltips will be displayed immediately.",
  load: init27
};
}
});

// src/modules/error-reporting/index.js
var error_reporting_default;
var init_error_reporting = __esm({
"src/modules/error-reporting/index.js"() {
error_reporting_default = {
  id: "error-reporting",
  name: "Error Reporting",
  type: "advanced",
  description: "Send anonymous error reports to the developers.",
  default: true,
  order: 1e3,
  load: init
};
}
});

// src/modules/experiments/settings/index.js
var settings_default17;
var init_settings18 = __esm({
"src/modules/experiments/settings/index.js"() {
settings_default17 = () => __async(void 0, null, function* () {
  return [
    // TODO: enable this setting.
    // {
    //   id: 'experiments.better-maps-helper',
    //   title: 'Better Maps Helper',
    // },
    {
      id: "experiments.favorite-setups-toggle",
      title: "Favorite Setups button in top menu"
    },
    {
      id: "experiments.fi-draggable-airship",
      title: "Floating Islands draggable airship"
    },
    {
      id: "experiments.journal-history",
      title: "Journal History"
    },
    {
      id: "experiments.location-hud-toggle",
      title: "Location HUD toggle button in top menu"
    },
    {
      id: "experiments.lol-gottem",
      title: "Troll mode"
    },
    {
      id: "experiments.raffle",
      title: "Return Raffles button"
    }
  ];
});
}
});

// src/modules/experiments/index.js
var init28, experiments_default;
var init_experiments = __esm({
"src/modules/experiments/index.js"() {
init_settings18();
init28 = () => {
};
experiments_default = {
  id: "experiments",
  name: "Experiments",
  description: "Upcoming features and experiments.",
  type: "beta",
  default: true,
  order: -1,
  load: init28,
  settings: settings_default17
};
}
});

// src/modules/feature-flags/modules/raffle.css
var raffle_default;
var init_raffle = __esm({
"src/modules/feature-flags/modules/raffle.css"() {
raffle_default = ".mh-return-raffles.message{position:sticky;top:0;right:0;left:0;z-index:10;background-color:#f9f9f9}.notificationMessageList .tab{scroll-behavior:smooth}.mh-return-raffles.message .actions{display:flex;gap:10px;align-items:center;justify-content:flex-start;float:none}.notificationMessageList .message.done{background-color:#bffdd2}.notificationMessageList .message.skipped{background-color:#dfdfdf}\n";
}
});

// src/modules/feature-flags/modules/raffle.js
var getBallotsToSend, getSavedSentBallots, getSavedSentBallot, saveSentBallot, sendBallot, returnRaffles, _inboxOpen, replaceInboxMethods, raffle_default2;
var init_raffle2 = __esm({
"src/modules/feature-flags/modules/raffle.js"() {
init_utils2();
init_raffle();
getBallotsToSend = () => {
  const ballotsToSend = [];
  const ballots = document.querySelectorAll(".message.notification.ballot");
  if (!ballots.length) {
    return ballotsToSend;
  }
  ballots.forEach((ballot) => {
    if (ballot.classList.contains("done") || ballot.classList.contains("skipped")) {
      return;
    }
    const name = ballot.querySelector(".messageText a");
    const action = ballot.querySelector(".sendBallot");
    if (!action || !name) {
      return;
    }
    ballotsToSend.push({
      id: action.getAttribute("data-sender"),
      name: name.innerText ? name.innerText.trim() : "",
      element: ballot
    });
  });
  return ballotsToSend;
};
getSavedSentBallots = () => {
  return sessionGet("sent-ballots", []);
};
getSavedSentBallot = (id) => {
  const savedSentBallots = getSavedSentBallots();
  return savedSentBallots.includes(id);
};
saveSentBallot = (id) => {
  const savedSentBallots = getSavedSentBallots();
  savedSentBallots.push(id);
  sessionSet("sent-ballots", savedSentBallots);
};
sendBallot = (ballot) => __async(void 0, null, function* () {
  debuglog("feature-flags-raffle", `Returning ballot for ${ballot.name} (${ballot.id})\u2026`);
  const button = document.querySelector(`.sendBallot[data-sender="${ballot.id}"]`);
  if (!button) {
    debuglog("feature-flags-raffle", `Could not find button for ${ballot.name} (${ballot.id})`);
    return { status: "error", proceed: false };
  }
  const buttonParent = button.parentElement.parentElement;
  if (buttonParent) {
    const id = buttonParent.getAttribute("data-id");
    if (id) {
      if (getSavedSentBallot(id)) {
        debuglog("feature-flags-raffle", `Already returned ballot for ${ballot.name} (${ballot.id})`);
        return { status: "skipped", proceed: true };
      }
      saveSentBallot(id);
    }
  }
  const response = yield doRequest("managers/ajax/users/givefriendballot.php", {
    snuid: ballot.id
  });
  if (response.error && !response.error.includes("You have already entered ")) {
    debuglog("feature-flags-raffle", `Error returning ballot for ${ballot.name}: ${response.error}`);
    return { status: "error", proceed: false };
  }
  debuglog("feature-flags-raffle", `Returned ballot for ${ballot.name} (${ballot.id})`);
  button.classList.add("disabled");
  button.setAttribute("disabled", true);
  yield sleep(250);
  return { status: "done", proceed: true };
});
returnRaffles = () => __async(void 0, null, function* () {
  const drawTab = document.querySelector('.notificationMessageList .tab.active[data-tab="daily_draw"]');
  if (!drawTab) {
    return;
  }
  const existing = document.querySelector(".mh-return-raffles.message");
  if (existing) {
    existing.remove();
  }
  const messageWrapper = makeElement("div", ["mh-return-raffles", "message"]);
  const actionsWrapper = makeElement("div", ["actions"]);
  const returnButton = makeElement("input", ["mh-return-raffles-button", "sendBallot"]);
  returnButton.setAttribute("type", "button");
  returnButton.setAttribute("value", "Return Raffles");
  const statusEl = makeElement("div", ["status"]);
  let isReturning = false;
  returnButton.addEventListener("click", () => __async(void 0, null, function* () {
    if (isReturning) {
      returnButton.value = "Return Raffles";
      statusEl.innerText = "Stopped returning ballots.";
      setTimeout(() => {
        statusEl.innerText = "";
      }, 1e3);
      isReturning = false;
      return;
    }
    isReturning = true;
    returnButton.value = "Stop Returning";
    statusEl.innerText = "Returning ballots\u2026";
    const ballotsToSend = getBallotsToSend();
    if (!ballotsToSend.length) {
      return;
    }
    debuglog("feature-flags-raffle", `Returning ${ballotsToSend.length} ballots\u2026`, ballotsToSend);
    const tab = document.querySelector('.notificationMessageList .tab.active[data-tab="daily_draw"]');
    if (!tab) {
      return;
    }
    for (const ballot of ballotsToSend) {
      if (!isReturning) {
        break;
      }
      ballot.element.scrollIntoView({
        behavior: "smooth",
        block: "nearest"
      });
      statusEl.innerText = `Returning ballot for ${ballot.name}\u2026`;
      ballot.element.classList.add("hover");
      const { status, proceed } = yield sendBallot(ballot, tab);
      if ("skipped" === status) {
        statusEl.innerText = `Already returned ballot for ${ballot.name}!`;
      }
      ballot.element.classList.remove("hover");
      if (!proceed) {
        statusEl.innerText = "Ballots returned!";
        break;
      }
      ballot.element.classList.add(status);
    }
    if (!isReturning) {
      return;
    }
    isReturning = false;
    returnButton.value = "Return Raffles";
    statusEl.innerText = "Ballots returned!";
    setTimeout(() => {
      statusEl.innerText = "";
    }, 1e3);
  }));
  actionsWrapper.append(returnButton);
  actionsWrapper.append(statusEl);
  messageWrapper.append(actionsWrapper);
  drawTab.insertBefore(messageWrapper, drawTab.firstChild);
});
replaceInboxMethods = () => {
  var _a, _b;
  if (!((_b = (_a = messenger == null ? void 0 : messenger.UI) == null ? void 0 : _a.notification) == null ? void 0 : _b.showTab)) {
    return;
  }
  if (_inboxOpen) {
    return;
  }
  _inboxOpen = messenger.UI.notification.showTab;
  messenger.UI.notification.showTab = (tab) => {
    const toReturn = _inboxOpen(tab);
    if (tab === "daily_draw") {
      returnRaffles();
    }
    return toReturn;
  };
  const _inboxPopup = messenger.UI.notification.togglePopup;
  messenger.UI.notification.togglePopup = (e) => {
    const toReturn = _inboxPopup(e);
    onEvent("ajax_response", () => {
      setTimeout(() => {
        const activeTab = document.querySelector(".notificationHeader .tab.active");
        if (activeTab && activeTab.getAttribute("data-tab") === "daily_draw") {
          returnRaffles();
        }
      }, 100);
    }, true);
    return toReturn;
  };
};
raffle_default2 = () => __async(void 0, null, function* () {
  addStyles(raffle_default, "feature-flags-raffle");
  replaceInboxMethods();
});
}
});

// src/modules/feature-flags/modules/rank-up-forecaster.js
var exportRankupForecasterData, exportRankupForecasterDataAsCsv, importRankupForecassterData, addRankupForecasterButtons, rank_up_forecaster_default;
var init_rank_up_forecaster = __esm({
"src/modules/feature-flags/modules/rank-up-forecaster.js"() {
init_utils2();
exportRankupForecasterData = () => {
  const allArea = localStorage.getItem("Chro-forecaster-all-area");
  const currentArea = localStorage.getItem("Chro-forecaster-current-area");
  const time = localStorage.getItem("Chro-forecaster-time");
  const data = {
    allArea,
    currentArea,
    time
  };
  const dataStr = JSON.stringify(data);
  const base64 = btoa(dataStr);
  const link = document.createElement("a");
  const date = /* @__PURE__ */ new Date();
  const dateString = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
  link.download = `rank-up-forecaster-${dateString}.json`;
  link.href = `data:application/json;base64,${base64}`;
  link.click();
};
exportRankupForecasterDataAsCsv = () => {
  const time = localStorage.getItem("Chro-forecaster-time");
  const data = JSON.parse(time);
  const csv = ["Time,Wisdom"];
  data.forEach((row) => {
    const date2 = new Date(row[0]);
    csv.push(`"${date2.toLocaleString()}",${row[1]}`);
  });
  const csvStr = csv.join("\n");
  const link = document.createElement("a");
  const date = /* @__PURE__ */ new Date();
  const dateString = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
  link.download = `rank-up-forecaster-${dateString}.csv`;
  link.href = `data:text/csv;charset=utf-8,${csvStr}`;
  link.click();
};
importRankupForecassterData = () => {
  const input = document.createElement("input");
  input.type = "file";
  input.accept = ".json";
  input.addEventListener("change", (e) => {
    const file = e.target.files[0];
    if (!file) {
      return;
    }
    const reader = new FileReader();
    reader.onload = (re) => {
      const contents = re.target.result;
      const data = JSON.parse(contents);
      localStorage.setItem("Chro-forecaster-all-area", data.allArea);
      localStorage.setItem("Chro-forecaster-current-area", data.currentArea);
      localStorage.setItem("Chro-forecaster-time", data.time);
    };
    reader.readAsText(file);
  });
  input.click();
  const points = document.querySelector(".mousehuntHud-userStat-row.points");
  if (points) {
    points.click();
  }
};
addRankupForecasterButtons = () => {
  const forecastOpen = document.querySelector(".mousehuntHud-userStat-row.points");
  if (!forecastOpen) {
    return;
  }
  forecastOpen.addEventListener("click", () => {
    setTimeout(() => {
      const rankup = document.querySelector("#forecaster-content-div");
      if (!rankup) {
        return;
      }
      const existing = document.querySelector(".mh-ui-forecaster-buttons");
      if (existing) {
        return;
      }
      const wrapper = makeElement("div", "mh-ui-forecaster-buttons");
      const exportButton = makeElement("button", "mh-ui-export-forecaster-data", "Export Data");
      exportButton.addEventListener("click", exportRankupForecasterData);
      wrapper.append(exportButton);
      const importButton = makeElement("button", "mh-ui-import-forecaster-data", "Import Data");
      importButton.addEventListener("click", importRankupForecassterData);
      wrapper.append(importButton);
      const exportCsvButton = makeElement("button", "mh-ui-export-forecaster-csv", "Export as CSV");
      exportCsvButton.addEventListener("click", exportRankupForecasterDataAsCsv);
      wrapper.append(exportCsvButton);
      rankup.append(wrapper);
    }, 250);
  });
};
rank_up_forecaster_default = () => __async(void 0, null, function* () {
  addStyles(`.mh-ui-forecaster-buttons {
display: flex;
flex-wrap: wrap;
gap: 5px;
justify-content: space-around;
max-width: 180px;
margin-top: 10px;
}`, "rank-up-forecaster");
  addRankupForecasterButtons();
});
}
});

// src/modules/feature-flags/modules/social.js
var social_default;
var init_social = __esm({
"src/modules/feature-flags/modules/social.js"() {
social_default = () => {
  window.twttr = {
    widgets: {
      load: () => {
      },
      createShareButton: () => {
      }
    }
  };
  class SocialLink {
    constructor(url) {
      this.url = url;
    }
    appendTo() {
    }
    setFacebookLikeUrl() {
    }
    setFacebookShareUrl() {
    }
    setImage() {
    }
    setTitle() {
    }
    setTwitterUrl() {
    }
  }
  hg.classes.SocialLink = SocialLink;
};
}
});

// src/modules/feature-flags/modules/troll-mode/styles.css
var styles_default23;
var init_styles24 = __esm({
"src/modules/feature-flags/modules/troll-mode/styles.css"() {
styles_default23 = "*+*{transition:.3s}*+*+*{filter:hue-rotate(90deg);transform:rotate(.5deg)}*+*+*+*{transform:rotate(-.6deg)}*+*>*{transform:rotate(-.1deg)}*+*+*>*{transform:rotate(.2deg)}div+div+div{filter:hue-rotate(90deg)}*>*>*>*>*>*>*>*>*>*>*{transition:.9s}*>*>*>*>*>*>*>*>*>*:hover *{transform:rotateX(20deg)}*>*>*>*>*>*>*>*>*>*>*:hover{transform:rotateX(-20deg)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lolspin{animation:spin 1s linear infinite}@media (prefers-reduced-motion: reduce){.lolspin{animation:none}}\n";
}
});

// src/modules/feature-flags/modules/troll-mode/index.js
var trollEm, trollem2, troll_mode_default;
var init_troll_mode = __esm({
"src/modules/feature-flags/modules/troll-mode/index.js"() {
init_utils2();
init_styles24();
trollEm = () => {
  const domQuery = "#journallatestentry";
  const lastCatch = document.querySelector(domQuery);
  const status = ["attractionfailure", "catchfailure", "catchfailuredamage"];
  const isFtcOrFta = lastCatch && status.some((s) => lastCatch.classList.contains(s));
  if (isFtcOrFta) {
    hg.views.MessengerView.addMessage({
      content: {
        body: app.views.OnboardingTutorialView.tutorial.wrapInfoArrow(`wow you really are an amazing mousehunter ${user.username}`, "lol")
      },
      highlight_dom: domQuery,
      highlight_padding: {
        top: 0,
        left: 0,
        right: 0,
        bottom: 1
      },
      css_class: "larryCircle",
      on_show_callback: () => {
        app.views.OnboardingTutorialView.tutorial.showBouncyArrow(domQuery, "top");
      },
      on_close_callback: () => {
        app.views.OnboardingTutorialView.tutorial.hideBouncyArrow();
      },
      show_overlay: true
    });
    hg.views.MessengerView.go();
  }
};
trollem2 = () => {
  const banner = document.querySelector(".campPage-banner");
  if (!banner) {
    return;
  }
  const bannerLink = document.createElement("a");
  const newbieImg = document.createElement("img");
  newbieImg.src = "https://www.mousehuntgame.com/images/promo/campbanners/groups/newbie.png";
  bannerLink.append(newbieImg);
  bannerLink.addEventListener("click", () => {
    addStyles(styles_default23, "troll-mode");
    banner.classList.add("lolspin");
    setTimeout(() => {
      banner.classList.remove("lolspin");
    }, 1e3);
    const elements = document.querySelectorAll("body * *");
    const randomElement = elements[Math.floor(Math.random() * elements.length)];
    randomElement.classList.add("lolspin");
    setInterval(() => {
      const randomElement2 = elements[Math.floor(Math.random() * elements.length)];
      randomElement2.classList.add("lolspin");
    }, 500);
  });
  banner.append(bannerLink);
  banner.classList.remove("hidden");
};
troll_mode_default = () => __async(void 0, null, function* () {
  trollEm();
  trollem2();
});
}
});

// src/modules/feature-flags/settings/index.js
var settings_default18;
var init_settings19 = __esm({
"src/modules/feature-flags/settings/index.js"() {
settings_default18 = () => __async(void 0, null, function* () {
  return [{
    id: "override-flags",
    title: "Feature Flags",
    default: "",
    description: 'Comma separated list of <a href="https://github.com/MHCommunity/mousehunt-improved/blob/c0bec5ea0f0b5f34b179507891e294559e39f34d/docs/feature-flags.md" target="_blank">feature flags</a> to enable.',
    settings: {
      type: "input"
    }
  }];
});
}
});

// src/modules/feature-flags/index.js
var init29, feature_flags_default;
var init_feature_flags = __esm({
"src/modules/feature-flags/index.js"() {
init_utils2();
init_raffle2();
init_rank_up_forecaster();
init_social();
init_troll_mode();
init_settings19();
init29 = () => __async(void 0, null, function* () {
  if (getSetting("experiments.raffle")) {
    raffle_default2();
  }
  if (getSetting("experiments.lol-gottem")) {
    troll_mode_default();
  }
  if (getFlag("social-noop") || getFlag("twitter")) {
    social_default();
  }
  if (!getFlag("rankup-forecaster")) {
    rank_up_forecaster_default();
  }
});
feature_flags_default = {
  id: "feature-flags",
  type: "advanced",
  alwaysLoad: true,
  load: init29,
  settings: settings_default18,
  order: 200
};
}
});

// src/modules/fixes/backgrounds.css
var backgrounds_default2;
var init_backgrounds2 = __esm({
"src/modules/fixes/backgrounds.css"() {
backgrounds_default2 = "@media only screen and (max-width: 1000px){body.halloween .pageFrameView-column.left,body.halloween .pageFrameView-column.right{background-color:#e87e33!important;background-repeat:no-repeat!important;background-position:0 0!important}body.halloween .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/halloween/left.png?asset_cache_version=2)!important;background-position-x:100%!important}body.halloween .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/halloween/right.png?asset_cache_version=2)!important}body.lunar_new_year .pageFrameView-column.left,body.lunar_new_year .pageFrameView-column.right{background-color:#7f051b!important;background-repeat:no-repeat!important;background-position:0 0!important}body.lunar_new_year .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/lunar_new_year/left.png?asset_cache_version=2)!important;background-position-x:100%!important}body.lunar_new_year .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/lunar_new_year/right.png?asset_cache_version=2)!important}body.great_winter_hunt .pageFrameView-column.left,body.great_winter_hunt .pageFrameView-column.right{background-color:#bad4ed!important}body.great_winter_hunt .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/great_winter_hunt/left.jpg?asset_cache_version=2)!important}body.great_winter_hunt .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/great_winter_hunt/right.jpg?asset_cache_version=2)!important}body.birthday .pageFrameView-column.left,body.birthday .pageFrameView-column.right{background-color:#bad4ed!important;background-repeat:no-repeat!important;background-position:0 0!important}body.birthday .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/birthday/left.png?asset_cache_version=2)!important;background-position-x:100%!important}body.birthday .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/birthday/right.png?asset_cache_version=2)!important}body.valentines .pageFrameView-column.left,body.valentines .pageFrameView-column.right{background-color:#f69798!important}body.valentines .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/valentines/left.png?asset_cache_version=2)!important}body.valentines .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/valentines/right.png?asset_cache_version=2)!important}body.spring_hunt .pageFrameView-column.left,body.spring_hunt .pageFrameView-column.right{background-color:#86ce5c!important;background-repeat:no-repeat!important}body.spring_hunt .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/spring_hunt/left.png?asset_cache_version=2)!important}body.spring_hunt .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/spring_hunt/right.png?asset_cache_version=2)!important}}\n";
}
});

// src/modules/fixes/styles.css
var styles_default24;
var init_styles25 = __esm({
"src/modules/fixes/styles.css"() {
styles_default24 = '.scoreboardTableView-friends,.scoreboardTableView-weekly{margin-top:1px;vertical-align:middle}body .mousehuntHud-menu .friends .team .icon{background-image:url(https://www.mousehuntgame.com/images/ui/hud/menu/team.png?asset_cache_version=2)}body .mousehuntHud-menu .scoreboards .icon{background-image:url(https://www.mousehuntgame.com/images/ui/hud/menu/scoreboard.png?asset_cache_version=2)}body .mousehuntHud-menu .forum .icon{background-image:url(https://www.mousehuntgame.com/images/ui/hud/menu/forum.png?asset_cache_version=2)}.mousehuntHeaderView .menuItem.dropdown .arrow{top:10px;transform:rotate(180deg)}.mousehuntHeaderView .menuItem.dropdown.expanded .arrow{top:5px}.mousehuntHud-marbleDrawer{background:url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif?asset_cache_version=2) -46px 0 no-repeat,url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif?asset_cache_version=2) 731px 0 no-repeat,url(https://i.mouse.rip/mh-improved/marble-shadow.png) 6px 0 no-repeat,url(https://www.mousehuntgame.com/images/ui/backgrounds/hud_bg_blue_repeating.png?asset_cache_version=2) repeat-y top center}.mousehuntTooltip.top .mousehuntTooltip-arrow:after{top:-16px}.mousehuntTooltip.left .mousehuntTooltip-arrow:after{right:-6px}.mousehuntTooltip.right .mousehuntTooltip-arrow:after{left:-6px}.hunterTitle .titles .title:nth-child(17) .description ul li:last-child,.hunterTitle .titles .title:nth-child(18) .description ul li:last-child,.hunterTitle .titles .title:nth-child(19) .description ul li:last-child{display:none}.hunterTitle .titles .userLevel .description{border-color:#957432}.mh-location-ss_huntington_ii .mousehuntHud-environmentName,.mh-location-pinnacle_chamber .mousehuntHud-environmentName,.mh-location-great_gnarled_tree .mousehuntHud-environmentName,.mh-location-rift_bristle_woods .mousehuntHud-environmentName{position:absolute;top:-5px;left:0;padding:4px 13px 3px 0;margin-top:32px;overflow:visible;background:linear-gradient(1deg,#d8c8a0 1%,#ddcfaa 61%,#efe3ce);border-top-right-radius:75px}input.treasureMapView-shareLinkInput{width:95%;margin:0 auto}.riftWhiskerWoodsHUD-zone-rageLevel{font-size:14px}span.chromeBitImage,span.voucherImage{vertical-align:middle}.treasureMapView-hunter.empty .treasureMapView-hunter-miceCaught{display:none}img[src*="https://graph.facebook.com"].treasureMapView-hunter-image{width:44px;height:44px}.treasureMapView-environment-hunters img[src*="https://graph.facebook.com"].treasureMapView-hunter-image{width:20px;height:20px}#overlayBg.larryOffice{width:100%;height:100%;background:transparent}#overlayBg.larryOffice:after{position:fixed;top:0;right:0;left:0;height:100vh;content:"";background-color:#505050e5}.dropdownContent{color:#000}.accountVerificationRewardsView__step.claimed{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/checkmark.png?asset_cache_version=2);background-size:30px}.accountVerificationRewardsView__step.can_claim{background-image:none}.PreferencesPage__dialogForm .PreferencesPage__formLabel{flex:1}.PreferencesPage__dialogForm .PreferencesPage__formInput{flex:1.8}.PreferencesPage__dialogForm form{padding-left:18px}.itemView-action-convertForm{display:flex;align-items:center}.itemView-action-convert-quantity{top:0}.pageFrameView-column.left,.pageFrameView-column.right{margin-bottom:-140px}a.mousehuntHud-page-tabHeader.collectibles span{padding-top:6px;overflow:visible!important;font-size:13px;text-overflow:unset!important;white-space:normal!important}.claimGiftPage__giftQuantity{background:#fff777;border:1px solid #b5814e}#messengerUINotification .tabs a:hover .arrow{border-color:transparent transparent transparent #eee}.treasureMapInviteSettingsView-listing-visibility.active:before{content:"\\2713"}.halloweenBoilingCauldronRecipeView-cauldronTooltip{background:#333aaa}.eggSweeper-control-boundingBox:hover{box-shadow:5px 5px 10px #fff82f inset}.greatWinterHuntRewardTrackView__claimButton{text-shadow:1px 1px 1px #fff777}.forewordFarmPlotView-plot-help{box-shadow:2px 3px 3px 1px #333666}.floatingIslandsHUD.unlockedSkyPalace .floatingIslandsHUD-overlay{background:linear-gradient(to right,#000999,transparent)}.tableOfContentsProgressView-claimButton.busy:after,.folkloreForestRegionView-button.busy:after{background:#000888 url(https://www.mousehuntgame.com/images/ui/loaders/round_bar_green.gif?asset_cache_version=2) 50% 50% no-repeat}.halloweenBoilingCauldronHUD-dialog-reward.complete:after{box-shadow:5px 5px 5px #000888}.folkloreForestRegionView-dialogContainer{box-shadow:10px 10px 4px 1px #000333 inset}.folkloreForestRegionView-boost{box-shadow:2px 2px 2px #333111}.MHCheckout-featuredItemTransparent.small .MHCheckout-featuredItemTransparent-backlight{background:linear-gradient(-45deg,#fff,#fffaaa)}.MHCheckout-relicHunterGrouped{background:#fff555}.MHCheckout-splash.halloween_skins .MHCheckout-link{background:#000999}.MHCheckout-splash.lunar_new_year_2023 .MHCheckout-featuredItem-actions{border:1px solid #ff351f}.tableOfContentsProgressView-reward-quantity{background:#fffaaa}.MHCheckoutDialogView-overlay{background:#fffa8a}.mousehuntHud-shield.larrys_football_challenge.golden{background-image:url(https://www.mousehuntgame.com/images/ui/elements/header_world_cup_golden_shield.png?asset_cache_version=2)}.eggSweeper-viewAllRewardsButton:hover{background-color:#228b22}.riftWhiskerWoodsHUD-zone-charm-craftingItem-quantity{font-size:9px}.mousehuntHeaderView .support .dropdownContent{right:-.5px;border-top:1px solid #ccc}.pageFrameView #mousehuntContainer.PageCamp .campPage-trap-statsContainer:hover{background-color:#fdfaf2}body .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-statsContainer{padding-left:10px;margin-top:10px}\n';
}
});

// src/modules/fixes/index.js
var fixPassingParcel, fixItemPage, fixMpBuyButton, fixItemPageReciever, fixRiftTooltipQuantities, init30, fixes_default;
var init_fixes = __esm({
"src/modules/fixes/index.js"() {
init_utils2();
init_backgrounds2();
init_styles25();
fixPassingParcel = () => {
  const passingParcel = document.querySelector('.inventoryPage-item[data-item-type="passing_parcel_message_item"]');
  if (!passingParcel) {
    return;
  }
  const quantity = passingParcel.querySelector(".quantity");
  if (!quantity) {
    return;
  }
  const newMarkup = `<div class="inventoryPage-item full convertible " onclick="app.pages.InventoryPage.useItem(this); return false;" data-item-id="1281" data-item-type="passing_parcel_message_item" data-item-classification="convertible" data-name="Passing Parcel" data-display-order="0">
<div class="inventoryPage-item-margin clear-block">
<div class="inventoryPage-item-name">
<a href="#" class="" onclick="hg.views.ItemView.show('passing_parcel_message_item'); return false;">
  <abbr title="Passing Parcel">Passing Parcel (collectible)</abbr>
</a>
</div>
<a href="#" class="inventoryPage-item-larryLexicon" onclick="hg.views.ItemView.show('passing_parcel_message_item'); return false;">?</a>
<div class="inventoryPage-item-imageContainer">
<div class="itemImage"><a href="#" class="" onclick="hg.views.ItemView.show('passing_parcel_message_item'); return false;">
  <img src="https://www.mousehuntgame.com/images/items/message_items/5591e5c34f081715aaca4e95e97a3379.jpg?cv=2"></a>
    <div class="quantity">${quantity.innerText}</div>
  </div>
</div>
<div class="inventoryPage-item-contentContainer">
  <div class="inventoryPage-item-content-description">
    <div class="inventoryPage-item-content-description-text">
      This parcel is meant to be passed along to a friend! If a friend sends one to you, tear away a layer and see if there's something inside!
    </div>
    <div class="inventoryPage-item-content-action">
      <input type="button" id="passing-parcel-action" class="inventoryPage-item-button button" value="Pass Along">
    </div>
</div>
</div>
</div>`;
  passingParcel.outerHTML = newMarkup;
  const passingParcelAction = document.querySelector("#passing-parcel-action");
  passingParcelAction.addEventListener("click", () => {
    window.location.href = "https://www.mousehuntgame.com/supplytransfer.php?item_type=passing_parcel_message_item";
  });
};
fixItemPage = () => {
  const currentType = document.querySelector(".itemViewContainer");
  if (!currentType) {
    return;
  }
  const classes = currentType.classList.toString();
  const type = classes.replace("itemViewContainer ", "").split(" ");
  if (!type || !type[0]) {
    return;
  }
  if (type.includes("message_item")) {
    return;
  }
  const link = document.querySelector(`.itemView-header-classification-link.${type[0]} a`);
  if (!link) {
    return;
  }
  const onclick = link.getAttribute("onclick");
  if (!onclick) {
    return;
  }
  const page = onclick.match(/setPage\('(.+?)'.+tab:'(.+)'/);
  if (!page) {
    return;
  }
  const pageTitle = page[1];
  let tab = page[2];
  let subtab = null;
  if ("skin" === tab || "trinket" === tab) {
    subtab = tab;
    tab = "traps";
  }
  let url = `https://www.mousehuntgame.com/${pageTitle.toLowerCase()}.php?tab=${tab}`;
  if (subtab) {
    url += `&sub_tab=${subtab}`;
  }
  const itemType = currentType.getAttribute("data-item-type");
  url += `&viewing-item-id=${itemType}`;
  window.location = url;
};
fixMpBuyButton = () => {
  hg.views.MarketplaceView.setOrderPrice = (price) => {
    const input = document.querySelector(".marketplaceView-item-unitPriceWithTariff");
    if (input) {
      input.value = price;
      hg.views.MarketplaceView.blurInput(input);
    }
  };
};
fixItemPageReciever = () => {
  const itemId = window.location.href.match(/viewing-item-id=(.+)/);
  if (!itemId || !itemId[1]) {
    return;
  }
  hg.views.ItemView.show(itemId[1]);
};
fixRiftTooltipQuantities = () => __async(void 0, null, function* () {
  var _a, _b;
  if ("rift_gnawnia" !== getCurrentLocation()) {
    return;
  }
  const cheeseQtys = yield getUserItems(["gnawnia_boss_cheese", "riftiago_cheese"]);
  if (!cheeseQtys || !cheeseQtys.length) {
    return;
  }
  const craft = document.querySelector(".riftGnawniaHud-craftingBait .riftGnawniaHud-tooltip-quantity");
  if (craft) {
    craft.textContent = ((_a = cheeseQtys[0]) == null ? void 0 : _a.quantity) || 0;
  }
  const potion = document.querySelector(".riftGnawniaHud-potion .riftGnawniaHud-tooltip-quantity");
  if (potion) {
    craft.textContent = ((_b = cheeseQtys[1]) == null ? void 0 : _b.quantity) || 0;
  }
});
init30 = () => __async(void 0, null, function* () {
  addStyles([styles_default24, backgrounds_default2], "fixes");
  if ("item" === getCurrentPage()) {
    fixItemPage();
  }
  fixMpBuyButton();
  onNavigation(fixPassingParcel, {
    page: "inventory",
    tab: "special",
    onLoad: true
  });
  onNavigation(fixItemPageReciever, {
    page: "inventory",
    onLoad: true
  });
  fixRiftTooltipQuantities();
  onTravel("rift_gnawnia", {
    callback: fixRiftTooltipQuantities
  });
});
fixes_default = {
  id: "fixes",
  name: "Fixes",
  type: "feature",
  description: "Fixes various bugs and issues in the game.",
  default: true,
  load: init30
};
}
});

// src/modules/favorite-setups/styles.css
var styles_default25;
var init_styles26 = __esm({
"src/modules/favorite-setups/styles.css"() {
styles_default25 = `.mh-improved-favorite-setups-button{margin:10px 0}.mh-improved-favorite-setups-button-label{position:absolute;top:0;right:10px;bottom:0;display:flex;align-items:center;font-size:13px;font-weight:100;color:#926944;vertical-align:bottom}.mh-improved-favorite-setups-blueprint-container{position:absolute;inset:0;color:#4e300b}.mh-improved-favorite-setups-blueprint-container .header{margin:10px 0;font-size:13px;color:#926944;text-align:center}.mh-improved-favorite-setups-blueprint-container .content{position:absolute;inset:50px 5px 10px;overflow-y:auto}.mh-improved-favorite-setups-blueprint-container .row{display:grid;grid-template-columns:1fr 35px repeat(4,45px);align-items:center;height:auto;min-height:55px;padding:3px;margin-bottom:10px;background:#fff;border:1px solid #ceb7a6;border-radius:5px}.mh-improved-favorite-setups-blueprint-container .row .campPage-trap-itemBrowser-favorite-item-image{width:100%;height:45px}.mh-improved-favorite-setups-blueprint-container .row.editing{grid-template-columns:1fr repeat(4,40px)}.mh-improved-favorite-setups-blueprint-container .controls{position:relative;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}.mh-improved-favorite-setups-blueprint-container .row.editing .controls{align-items:flex-end}.mh-improved-favorite-setups-blueprint-container .button-wrapper{display:flex;gap:5px;align-items:center;justify-content:center}.mh-improved-favorite-setups-blueprint-container .row.editing .button-wrapper{margin-right:5px}.mh-improved-favorite-setups-blueprint-container .campPage-trap-itemBrowser-favorite-item{width:100%}.mh-improved-favorite-setups-blueprint-container .controls .label{padding:0 1px;font-size:13px;text-align:center}.mh-improved-favorite-setups-blueprint-container .controls .action{padding:4px 6px;font-size:11px;font-weight:400;line-height:inherit}.mh-improved-favorite-setups-blueprint-container .controls .action.arm{padding:4px 15px}.mh-improved-favorite-setups-blueprint-container .edit{position:absolute;right:10px}.mh-improved-favorite-setups-blueprint-container .controls .delete,.mh-improved-favorite-setups-blueprint-container .editing .controls .delete,.mh-improved-favorite-setups-blueprint-container .editing .controls .edit-setup,.mh-improved-favorite-setups-blueprint-container.editing .controls .edit-setup,.mh-improved-favorite-setups-blueprint-container .controls .save-setup,.mh-improved-favorite-setups-blueprint-container .controls .cancel-setup,.mh-improved-favorite-setups-blueprint-container.editing .controls .arm,.mh-improved-favorite-setups-blueprint-container .editing .controls .arm{display:none}.mh-improved-favorite-setups-blueprint-container .editing .controls .delete,.mh-improved-favorite-setups-blueprint-container .editing .controls .save-setup,.mh-improved-favorite-setups-blueprint-container .editing .controls .cancel-setup{display:block}.mh-improved-favorite-setups-blueprint-container .row.flash{background-color:#b9ffb9}.mh-improved-favorite-setups-blueprint-container .controls input{width:calc(100% - 25px);margin-right:25px}.row.editing .campPage-trap-itemBrowser-favorite-item:after{position:absolute;right:5px;bottom:-8px;left:5px;display:flex;align-items:center;justify-content:center;padding:2px 0;content:"edit";background-color:#eeeeeeed;border:1px solid #585858;border-radius:5px}.row.editing .campPage-trap-itemBrowser-favorite-item:hover:after{background-color:#ccc}.mh-improved-favorite-setups-blueprint-container .editing .campPage-trap-itemBrowser-favorite-item:hover .campPage-trap-itemBrowser-favorite-item-image{opacity:.8}.mh-improved-favorite-setups-component-picker-popup-body-items{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mh-improved-favorite-setups-component-picker .prefix,.mh-improved-favorite-setups-component-picker .content{background-color:#f6f3eb}.mh-improved-favorite-setups-component-picker .content .content{max-height:90vh;overflow:auto}.mh-improved-favorite-setups-component-picker .campPage-trap-itemBrowser-item{width:auto;max-width:300px}.mh-improved-favorite-setups-component-picker-popup-search{display:flex;align-items:center;justify-content:space-around;margin-bottom:20px}.mh-improved-favorite-setups-component-picker-popup-search input{width:350px;padding:10px}.mh-improved-favorite-setups-component-picker .campPage-trap-itemBrowser-item-description{margin-left:0}.mh-improved-favorite-setups-component-picker .trinket .campPage-trap-itemBrowser-item-content{width:80%}a.random-title:after{position:absolute;top:0;right:-6px;box-sizing:border-box;display:block;width:20px;height:20px;padding:10px;margin:1px;content:"";background-color:#fff;border-radius:50%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" /></svg>')}a.random-title:hover:after{background-color:#ddd}@keyframes mh-improved-favorite-setups-component-picker-popup-search-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}a.random-title.loading:after{animation:mh-improved-favorite-setups-component-picker-popup-search-loading 1s linear infinite}.mh-improved-favorite-setups-blueprint-container .editing .controls .label{position:relative}.mh-improved-favorite-setups-blueprint-container .row .mh-improved-favorite-setups-power-type-wrapper .campPage-trap-itemBrowser-favorite-item-image{width:25px;height:25px;opacity:.8}.mh-improved-favorite-setups-component-picker-popup .campPage-trap-itemBrowser-item-statContainer{width:75%;margin-top:5px}.mh-improved-favorite-setups-component-picker-popup .campPage-trap-itemBrowser-item-content{width:80%}.mh-improved-favorite-setups-blueprint-container .editing .campPage-trap-itemBrowser-item-powerType{display:none}.mh-improved-favorite-setups-blueprint-container .campPage-trap-itemBrowser-item-powerType{display:flex;flex-direction:column;align-items:center;justify-content:center;width:25px}.mh-improved-favorite-setups-blueprint-container .campPage-trap-itemBrowser-item-powerType.hidden{visibility:hidden}.mh-improved-favorite-setups-blueprint-container .campPage-trap-itemBrowser-item-powerType:before{box-sizing:border-box;background-color:transparent;border:none}.mh-improved-favorite-setups-blueprint-container .row:hover .controls .action.arm{outline:2px solid #eab35d}.mh-improved-favorite-setups-blueprint-container .row.editing .campPage-trap-itemBrowser-favorite-item-image{height:40px}.mh-improved-favorite-setups-blueprint-container .row.editing .move-buttons{display:flex}.mh-improved-favorite-setups-blueprint-container .row .move-buttons{position:absolute;bottom:20px;left:32px;display:none;flex-direction:row;align-items:center}.mh-improved-favorite-setups-blueprint-container .row.editing a.move-down:after,.mh-improved-favorite-setups-blueprint-container .row.editing a.move-up:after{position:absolute;top:0;right:0;width:20px;height:20px;content:"";background-repeat:no-repeat;background-size:contain;opacity:.4}.mh-improved-favorite-setups-blueprint-container .row.editing a.move-up:after{position:absolute;right:15px;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10 17a.75.75 0 0 1-.75-.75V5.612L5.29 9.77a.75.75 0 0 1-1.08-1.04l5.25-5.5a.75.75 0 0 1 1.08 0l5.25 5.5a.75.75 0 1 1-1.08 1.04l-3.96-4.158V16.25A.75.75 0 0 1 10 17Z" clip-rule="evenodd" /></svg>')}.mh-improved-favorite-setups-blueprint-container .row.editing a.move-down:after{background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10 3a.75.75 0 0 1 .75.75v10.638l3.96-4.158a.75.75 0 1 1 1.08 1.04l-5.25 5.5a.75.75 0 0 1-1.08 0l-5.25-5.5a.75.75 0 1 1 1.08-1.04l3.96 4.158V3.75A.75.75 0 0 1 10 3Z" clip-rule="evenodd" /></svg>')}.mh-improved-favorite-setups-blueprint-container .row.editing a.move-down:hover:after,.mh-improved-favorite-setups-blueprint-container .row.editing a.move-up:hover:after{opacity:1}.mh-improved-favorite-setups-blueprint-container .row:last-child .move-down{display:none}.mh-improved-favorite-setups-blueprint-container .row:nth-child(2) .move-up{display:none}.pageFrameView #mousehuntContainer.PageCamp .mh-improved-favorite-setups-button:hover{background-color:#fdfaf2}.mh-dark-mode .pageFrameView .mh-improved-favorite-setups-blueprint-container .campPage-trap-itemBrowser-item-powerType:after{color:#000}.mh-dark-mode .mh-improved-favorite-setups-button-label{color:#e0d3b3}.mousehuntHeaderView .menuItem.mousehunt-improved-favorite-setups-icon{display:flex;align-items:center;justify-content:center;width:20px;height:25px;padding:0;opacity:.5}.mousehuntHeaderView .menuItem.mousehunt-improved-favorite-setups-icon:hover{opacity:1}.mousehunt-improved-favorite-setups-icon:before{display:block;width:15px;height:15px;content:"";background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10.868 2.884c-.321-.772-1.415-.772-1.736 0l-1.83 4.401-4.753.381c-.833.067-1.171 1.107-.536 1.651l3.62 3.102-1.106 4.637c-.194.813.691 1.456 1.405 1.02L10 15.591l4.069 2.485c.713.436 1.598-.207 1.404-1.02l-1.106-4.637 3.62-3.102c.635-.544.297-1.584-.536-1.65l-4.752-.382-1.831-4.401Z" clip-rule="evenodd" /></svg>');background-repeat:no-repeat;background-size:contain}
`;
}
});

// src/modules/favorite-setups/index.js
var getFavoriteSetups, saveFavoriteSetup, normalizeSetup, getCurrentSetup, makeImage, makeButton2, getCheeseEffect, getPowerTypeId, makeImagePicker, armItem, makeBlueprintRow, makeBlueprintContainer, getNameOfCurrentSetup, updateFavoriteSetupName, addFavoriteSetupsButton, toggleFavoriteSetups, addIcon, init31, favorite_setups_default2;
var init_favorite_setups2 = __esm({
"src/modules/favorite-setups/index.js"() {
init_utils2();
init_styles26();
getFavoriteSetups = () => {
  return getSetting("favorite-setups.setups", []);
};
saveFavoriteSetup = (setup, useGeneratedName = true) => __async(void 0, null, function* () {
  let setups = getFavoriteSetups();
  if (!setups.length) {
    setups = [];
  }
  const normalizedSetup = normalizeSetup(setup);
  if (useGeneratedName) {
    const setupName = yield fetch("https://setup-namer.mouse.rip", {
      method: "POST",
      headers: getHeaders2(),
      body: JSON.stringify([
        normalizedSetup.bait_id,
        normalizedSetup.base_id,
        normalizedSetup.weapon_id,
        normalizedSetup.trinket_id
      ])
    });
    const setupNameData = yield setupName.json();
    if (setupNameData.name) {
      normalizedSetup.name = setupNameData.name;
    }
  } else {
    normalizedSetup.name = user.environment_name;
  }
  try {
    setups.push(normalizedSetup);
  } catch (e) {
    setups = [normalizedSetup];
  }
  saveSetting("favorite-setups.setups", setups);
  return normalizedSetup;
});
normalizeSetup = (setup) => {
  return Object.keys(setup).reduce((acc, key) => {
    acc[key] = setup[key] ? setup[key].toString() : "";
    return acc;
  }, {});
};
getCurrentSetup = () => {
  return normalizeSetup({
    id: "current",
    name: "Current Setup",
    bait_id: user.bait_item_id,
    base_id: user.base_item_id,
    weapon_id: user.weapon_item_id,
    trinket_id: user.trinket_item_id,
    power_type: user == null ? void 0 : user.trap_power_type_name.toLowerCase()
  });
};
makeImage = (type, id, thumbnail) => {
  const wrapper = makeElement("div", "campPage-trap-itemBrowser-favorite-item");
  wrapper.setAttribute("data-item-id", id);
  wrapper.setAttribute("data-item-type", type);
  wrapper.setAttribute("title", `Click to change ${type}`);
  const item = makeElement("div", ["campPage-trap-itemBrowser-favorite-item-image"]);
  item.style.backgroundImage = `url(${thumbnail})`;
  makeElement("div", "campPage-trap-itemBrowser-favorite-item-frame", "", item);
  wrapper.append(item);
  return wrapper;
};
makeButton2 = (button) => {
  const buttonElement = makeElement("a", ["mousehuntActionButton", "action", ...button.className]);
  makeElement("span", "", button.text, buttonElement);
  buttonElement.addEventListener("click", button.callback);
  return buttonElement;
};
getCheeseEffect = (textValue) => {
  const data = {
    "Uber Fresh": 13,
    "Ultimately Fresh": 12,
    "Insanely Fresh": 11,
    "Extremely Fresh": 10,
    "Very Fresh": 9,
    Fresh: 8,
    "No Effect": 7,
    Stale: 6,
    "Very Stale": 5,
    "Extremely Stale": 4,
    "Insanely Stale": 3,
    "Ultimately Stale": 2,
    "Uber Stale": 1
  };
  return data[textValue];
};
getPowerTypeId = (powerType) => {
  const data = {
    arcane: "arcn",
    draconic: "drcnc",
    forgotten: "frgttn",
    hydro: "hdr",
    law: "law",
    parental: "prntl",
    physical: "phscl",
    rift: "rift",
    shadow: "shdw",
    tactical: "tctcl"
  };
  return data[powerType] || powerType;
};
makeImagePicker = (setupId, type, currentId, callback) => __async(void 0, null, function* () {
  const response = yield doRequest("managers/ajax/users/gettrapcomponents.php", {
    classification: type
  });
  const items2 = (response == null ? void 0 : response.components) || [];
  items2.sort((a, b) => {
    if (a.name < b.name) {
      return -1;
    }
    if (a.name > b.name) {
      return 1;
    }
    return 0;
  });
  let content = '<div class="mh-improved-favorite-setups-component-picker-popup">';
  content += '<div class="mh-improved-favorite-setups-component-picker-popup-body">';
  content += '<div class="mh-improved-favorite-setups-component-picker-popup-search">';
  content += '<input type="text" placeholder="Search" id="mh-improved-favorite-setups-component-picker-popup-search-input" />';
  content += '<div class="mh-improved-favorites-setups-component-picker-popup-use-current mousehuntActionButton" title="Use current item"><span>Use currently armed item</span></div>';
  content += "</div>";
  content += '<div class="mh-improved-favorite-setups-component-picker-popup-body-items">';
  for (const item of items2) {
    const getStatRow = (stat, title, formatted, compare) => {
      let compareStat = item[stat];
      if ("cheese_effect" === stat) {
        compareStat = getCheeseEffect(item);
        compare = getCheeseEffect(compare);
      }
      const compareClass = compare === compareStat ? "" : compare > compareStat ? "better" : "worse";
      return `<div class="campPage-trap-itemBrowser-item-stat ${stat} ${compareClass}" title="${title}">
  <div class="value"><span>${formatted}</span></div>
</div>`;
    };
    content += `<div class="campPage-trap-itemBrowser-item loaded ${type}" data-item-id="${item.item_id}">`;
    content += ' <div class="campPage-trap-itemBrowser-item-leftBar">';
    content += `  <a href="#"><div class="campPage-trap-itemBrowser-item-image" style="background-image:url(${item.thumbnail});"></div></a>`;
    content += `  <a href="#" class="campPage-trap-itemBrowser-item-armButton save-button" data-item-id="${item.item_id}" data-item-classification="${type}" data-item-image="${item.thumbnail}" data-power-type="${item.power_type_image_name}">Use</a>`;
    content += " </div>";
    content += ' <div class="campPage-trap-itemBrowser-item-content">';
    content += ` <div class="campPage-trap-itemBrowser-item-name">${item.name}</div>`;
    if ("bait" === type || "trinket" === type) {
      const quantityFormatted = item.quantity.toLocaleString();
      content += `<div class="campPage-trap-itemBrowser-item-quantity"><span class="quantity">${quantityFormatted}</span><span class="label">Quantity</span></div>`;
    }
    if (item.power_type) {
      content += `<div class="campPage-trap-itemBrowser-item-powerType ${item.power_type}"></div>`;
    }
    if (item.has_stats) {
      content += '<div class="campPage-trap-itemBrowser-item-statContainer">';
      content += item.has_power ? getStatRow("power", "Power", item.power_formatted, user.trap_power) : "";
      content += item.has_power_bonus ? getStatRow("power_bonus", "Power Bonus", item.power_bonus_formatted, user.trap_power_bonus) : "";
      content += item.has_attraction_bonus ? getStatRow("attraction_bonus", "Attraction Bonus", item.attraction_bonus_formatted, user.trap_attraction_bonus) : "";
      content += item.has_luck ? getStatRow("luck", "Luck", item.luck_formatted, user.trap_luck) : "";
      content += getStatRow("cheese_effect", "Cheese Effect", item.cheese_effect, user.trap_cheese_effect);
      content += "</div>";
    }
    content += '<div class="campPage-trap-itemBrowser-item-description shortDescription">';
    content += item.consume_method ? `<div class="campPage-trap-itemBrowser-item-description-consumeMethod"><b>Consumed on:</b> ${item.consume_method}</div>` : "";
    if ("bait" === type) {
      let description = item.description.replaceAll(/<\/?[^>]+(>|$)/g, "");
      description = description.slice(0, 200);
      if (item.description.length > 150) {
        description += "\u2026";
      }
      content += `<div class="campPage-trap-itemBrowser-item-description-text">${description}</div>`;
    }
    content += "</div>";
    content += "</div>";
    content += "</div>";
  }
  content += "</div>";
  content += "</div>";
  content += "</div>";
  const popup = createPopup({
    id: "mh-improved-favorite-setups-component-picker",
    title: "",
    content,
    className: "mh-improved-favorite-setups-component-picker"
  });
  popup.show();
  const saveButtons = document.querySelectorAll(".campPage-trap-itemBrowser-item-armButton.save-button");
  saveButtons.forEach((saveButton) => {
    saveButton.addEventListener("click", (event) => __async(void 0, null, function* () {
      event.preventDefault();
      event.stopPropagation();
      callback(
        saveButton.getAttribute("data-item-id"),
        saveButton.getAttribute("data-item-classification"),
        saveButton.getAttribute("data-item-image"),
        saveButton.getAttribute("data-power-type")
      );
      popup.hide();
    }));
  });
  const searchInput = document.querySelector("#mh-improved-favorite-setups-component-picker-popup-search-input");
  if (!searchInput) {
    return;
  }
  searchInput.focus();
  searchInput.addEventListener("keyup", () => {
    const filter = searchInput.value.toLowerCase();
    const searchItems = document.querySelectorAll(".campPage-trap-itemBrowser-item");
    searchItems.forEach((item) => {
      const name = item.querySelector(".campPage-trap-itemBrowser-item-name");
      if (name.textContent.toLowerCase().includes(filter)) {
        item.classList.remove("hidden");
      } else {
        item.classList.add("hidden");
      }
    });
  });
  const useCurrentItemButton = document.querySelector(".mh-improved-favorites-setups-component-picker-popup-use-current");
  useCurrentItemButton.addEventListener("click", () => {
    const item = document.querySelector(`.campPage-trap-itemBrowser-item[data-item-id="${user[`${type}_item_id`]}"]`);
    if (!item) {
      return;
    }
    const saveButton = item.querySelector(".campPage-trap-itemBrowser-item-armButton.save-button");
    if (!saveButton) {
      return;
    }
    callback(
      saveButton.getAttribute("data-item-id"),
      saveButton.getAttribute("data-item-classification"),
      saveButton.getAttribute("data-item-image"),
      saveButton.getAttribute("data-power-type")
    );
    popup.hide();
  });
});
armItem = (items2) => __async(void 0, null, function* () {
  return new Promise((resolve, reject) => {
    items2.forEach(({ id, type }) => {
      hg.utils.TrapControl.armItem(id, type);
    });
    hg.utils.TrapControl.go(resolve, reject);
  });
});
makeBlueprintRow = (setup, isCurrent = false) => __async(void 0, null, function* () {
  const setupContainer = makeElement("div", ["row"]);
  const controls = makeElement("div", ["controls"]);
  makeElement("div", ["label"], setup.name, controls);
  let hasHighlighted = false;
  const buttonWrapper = makeElement("div", ["button-wrapper"]);
  if (isCurrent) {
    buttonWrapper.append(makeButton2({
      text: "Save",
      className: ["save", "lightBlue"],
      callback: () => __async(void 0, null, function* () {
        let currentSetup = getCurrentSetup();
        currentSetup.id = `${setup.bait_id}-${setup.base_id}-${setup.weapon_id}-${setup.trinket_id}`;
        const setups = getFavoriteSetups();
        if (setups.length) {
          const existingSetup = setups.find((s) => s.id === currentSetup.id);
          if (existingSetup && !hasHighlighted) {
            const row = document.querySelector(`.mh-improved-favorite-setups-blueprint-container .row[data-setup-id="${currentSetup.id}"]`);
            row.classList.add("flash");
            setTimeout(() => {
              row.classList.remove("flash");
            }, 1e3);
            hasHighlighted = true;
            return;
          }
        }
        currentSetup = yield saveFavoriteSetup(currentSetup, false);
        const setupRow = yield makeBlueprintRow(currentSetup);
        setupRow.setAttribute("data-setup-id", currentSetup.id);
        const body = document.querySelector(".mh-improved-favorite-setups-blueprint-container .content");
        body.append(setupRow);
        updateFavoriteSetupName();
      })
    }));
  } else {
    buttonWrapper.append(makeButton2({
      text: "Arm",
      className: ["arm"],
      callback: () => __async(void 0, null, function* () {
        const setupId = setupContainer.getAttribute("data-setup-id");
        debuglog("favorite-setups", `Arming setup ${setupId}`);
        const setups = getFavoriteSetups();
        if (!setups.length) {
          return;
        }
        const index = setups.findIndex((s) => s.id === setupId);
        const thisSetup = setups[index];
        if (!thisSetup) {
          return;
        }
        const toArm = [];
        if (thisSetup.base_id && thisSetup.base_id != user.base_item_id) {
          toArm.push({ id: thisSetup.base_id, type: "base" });
        }
        if (thisSetup.weapon_id && thisSetup.weapon_id != user.weapon_item_id) {
          toArm.push({ id: thisSetup.weapon_id, type: "weapon" });
        }
        if (thisSetup.trinket_id && thisSetup.trinket_id != user.trinket_item_id) {
          toArm.push({ id: thisSetup.trinket_id, type: "trinket" });
        }
        if (thisSetup.bait_id && thisSetup.bait_id != user.bait_item_id) {
          toArm.push({ id: thisSetup.bait_id, type: "bait" });
        }
        if (toArm.length) {
          yield armItem(toArm);
        }
        updateFavoriteSetupName();
      })
    }));
    buttonWrapper.append(makeButton2({
      text: "Edit",
      className: ["edit-setup"],
      callback: () => {
        const setupId = setupContainer.getAttribute("data-setup-id");
        debuglog("favorite-setups", `Editing setup ${setupId}`);
        setupContainer.classList.add("editing");
        const title = setupContainer.querySelector(".label");
        const randomTitleButton = makeElement("a", "random-title");
        randomTitleButton.setAttribute("title", "Generate a random name for this setup");
        randomTitleButton.addEventListener("click", (e) => __async(void 0, null, function* () {
          e.preventDefault();
          e.target.classList.add("loading");
          const response = yield fetch("https://setup-namer.mouse.rip", {
            method: "POST",
            headers: getHeaders2(),
            body: JSON.stringify([
              setup.bait_id,
              setup.base_id,
              setup.weapon_id,
              setup.trinket_id
            ])
          });
          const setupNameData = yield response.json();
          if (setupNameData.name) {
            title.querySelector("input").value = setupNameData.name;
          }
          e.target.classList.remove("loading");
        }));
        const titleInput = document.createElement("input");
        titleInput.value = title.textContent;
        title.textContent = "";
        title.append(titleInput);
        title.prepend(randomTitleButton);
        const powerTypeInput = makeElement("input", ["hidden", "power-type-input"]);
        powerTypeInput.setAttribute("data-power-type", setup.power_type);
        title.append(powerTypeInput);
        const images = setupContainer.querySelectorAll(".campPage-trap-itemBrowser-favorite-item");
        images.forEach((image) => {
          image.classList.add("clickable");
          image.addEventListener("click", () => __async(void 0, null, function* () {
            const itemType = image.getAttribute("data-item-type");
            const itemId = image.getAttribute("data-item-id");
            const imageDisplay = image.querySelector(".campPage-trap-itemBrowser-favorite-item-image");
            yield makeImagePicker(setupId, itemType, itemId, (newItemId, newItemType, newItemImageUrl, newItemPowerType) => {
              if (itemType !== newItemType) {
                return;
              }
              if (itemId == newItemId) {
                return;
              }
              image.setAttribute("data-new-item-id", newItemId);
              image.setAttribute("data-new-item-image", newItemImageUrl);
              image.setAttribute("data-old-image-url", imageDisplay.style.backgroundImage);
              if (newItemPowerType && "undefined" !== newItemPowerType) {
                const ptInput = setupContainer.querySelector(".power-type-input");
                ptInput.setAttribute("data-power-type", newItemPowerType);
              }
              imageDisplay.style.backgroundImage = `url(${newItemImageUrl})`;
            });
          }));
        });
        const existing = setupContainer.querySelector(".move-buttons");
        if (existing) {
          existing.remove();
        }
        const moveUpButton = makeElement("a", ["move-up"]);
        moveUpButton.addEventListener("click", (event) => {
          const previous = event.target.closest(".row").previousElementSibling;
          if (previous) {
            const setups = getFavoriteSetups();
            if (!setups.length) {
              return;
            }
            const index = setups.findIndex((s) => s.id === setupId);
            const previousIndex = setups.findIndex((s) => s.id === previous.getAttribute("data-setup-id"));
            const temp = setups[index];
            setups[index] = setups[previousIndex];
            setups[previousIndex] = temp;
            saveSetting("favorite-setups.setups", setups);
            previous.before(setupContainer);
          }
        });
        const moveDownButton = makeElement("a", ["move-down"]);
        moveDownButton.addEventListener("click", (event) => {
          const next = event.target.closest(".row").nextElementSibling;
          if (next) {
            const setups = getFavoriteSetups();
            if (!setups.length) {
              return;
            }
            const index = setups.findIndex((s) => s.id === setupId);
            const nextIndex = setups.findIndex((s) => s.id === next.getAttribute("data-setup-id"));
            const temp = setups[index];
            setups[index] = setups[nextIndex];
            setups[nextIndex] = temp;
            saveSetting("favorite-setups.setups", setups);
            next.after(setupContainer);
          }
        });
        const moveButtons = makeElement("div", ["move-buttons"]);
        moveButtons.append(moveUpButton);
        moveButtons.append(moveDownButton);
        controls.append(moveButtons);
      }
    }));
    buttonWrapper.append(makeButton2({
      text: "Save",
      className: ["save-setup"],
      callback: () => {
        const setupId = setupContainer.getAttribute("data-setup-id");
        debuglog("favorite-setups", `Saving setup ${setupId}`);
        setupContainer.classList.remove("editing");
        const newSetup = setup;
        const title = setupContainer.querySelector(".label");
        const titleInput = title.querySelector("input");
        setup.name = titleInput.value;
        const powerTypeInput = setupContainer.querySelector(".power-type-input");
        if (powerTypeInput) {
          const lastPowerType = setup.power_type;
          const newPowerType = powerTypeInput.getAttribute("data-power-type");
          if (newPowerType && lastPowerType !== newPowerType) {
            setup.power_type = newPowerType;
            const powerTypeImage = setupContainer.querySelector(".campPage-trap-itemBrowser-item-powerType");
            if (powerTypeImage) {
              const lastPowerTypeClass = lastPowerType ? getPowerTypeId(lastPowerType) : "hidden";
              const newPowerTypeClass = newPowerType ? getPowerTypeId(newPowerType) : "hidden";
              powerTypeImage.classList.remove(lastPowerTypeClass);
              powerTypeImage.classList.add(newPowerTypeClass);
              powerTypeImage.classList.remove("hidden");
            }
          }
        }
        const images = setupContainer.querySelectorAll(".campPage-trap-itemBrowser-favorite-item");
        images.forEach((image) => {
          const newItemId = image.getAttribute("data-new-item-id");
          if (!newItemId) {
            return;
          }
          const itemType = image.getAttribute("data-item-type");
          newSetup[`${itemType}_id`] = newItemId;
          image.removeAttribute("data-new-item-id");
          image.removeAttribute("data-new-item-image");
          image.removeAttribute("data-old-image-url");
        });
        let setups = getFavoriteSetups();
        if (!setups.length) {
          setups = [];
        }
        const index = setups.findIndex((s) => s.id === setupId);
        newSetup.id = Math.random().toString(36).slice(2, 15) + Math.random().toString(36).slice(2, 15);
        setups[index] = newSetup;
        saveSetting("favorite-setups.setups", setups);
        title.textContent = newSetup.name;
        titleInput.remove();
        updateFavoriteSetupName();
      }
    }));
    buttonWrapper.append(makeButton2({
      text: "Cancel",
      className: ["cancel-setup"],
      callback: () => {
        setupContainer.classList.remove("editing");
        const titleInput = setupContainer.querySelector(".label input");
        const title = setupContainer.querySelector(".label");
        title.textContent = setup.name;
        titleInput.remove();
        const images = setupContainer.querySelectorAll(".campPage-trap-itemBrowser-favorite-item");
        images.forEach((image) => {
          const newItemId = image.getAttribute("data-new-item-id");
          if (!newItemId) {
            return;
          }
          const imageDisplay = image.querySelector(".campPage-trap-itemBrowser-favorite-item-image");
          imageDisplay.style.backgroundImage = image.getAttribute("data-old-image-url");
          image.removeAttribute("data-new-item-id");
          image.removeAttribute("data-new-item-image");
          image.removeAttribute("data-old-image-url");
        });
      }
    }));
    buttonWrapper.append(makeButton2({
      text: "Delete",
      className: ["delete", "danger"],
      callback: () => {
        const setupId = setupContainer.getAttribute("data-setup-id");
        debuglog("favorite-setups", `Deleting setup ${setupId}`);
        const confirmed = confirm("Are you sure you want to delete this setup?");
        if (!confirmed) {
          return;
        }
        let setups = getFavoriteSetups();
        if (!setups.length) {
          setups = [];
        }
        const index = setups.findIndex((s) => s.id === setupId);
        setups.splice(index, 1);
        saveSetting("favorite-setups.setups", setups);
        setupContainer.remove();
      }
    }));
  }
  controls.append(buttonWrapper);
  setupContainer.append(controls);
  let cachedThumbnails = sessionGet("favorite-setups-thumbnails", {});
  const needThumbnails = [];
  const items2 = [
    setup.bait_id,
    setup.base_id,
    setup.weapon_id,
    setup.trinket_id
  ];
  for (const item of items2) {
    if (!cachedThumbnails[item]) {
      needThumbnails.push(item);
    }
  }
  if (needThumbnails.length) {
    const grabbedThumbnailsReq = yield fetch("https://images.mouse.rip", {
      method: "POST",
      headers: getHeaders2(),
      body: JSON.stringify(needThumbnails)
    });
    const grabbedThumbnails = yield grabbedThumbnailsReq.json();
    const thumbnails = __spreadValues(__spreadValues({}, cachedThumbnails), grabbedThumbnails);
    sessionSet("favorite-setups-thumbnails", thumbnails);
    cachedThumbnails = thumbnails;
  }
  const powerTypeId = getPowerTypeId(setup.power_type);
  const powertype = makeElement("div", ["campPage-trap-itemBrowser-item-powerType", powerTypeId]);
  if (!powerTypeId) {
    powertype.classList.add("hidden");
  }
  setupContainer.append(powertype);
  setupContainer.append(makeImage("bait", setup.bait_id, cachedThumbnails[setup.bait_id]));
  setupContainer.append(makeImage("base", setup.base_id, cachedThumbnails[setup.base_id]));
  setupContainer.append(makeImage("weapon", setup.weapon_id, cachedThumbnails[setup.weapon_id]));
  setupContainer.append(makeImage("trinket", setup.trinket_id, cachedThumbnails[setup.trinket_id]));
  return setupContainer;
});
makeBlueprintContainer = () => __async(void 0, null, function* () {
  const existing = document.querySelector(".mh-improved-favorite-setups-blueprint-container");
  if (existing) {
    existing.remove();
  }
  const container = makeElement("div", "mh-improved-favorite-setups-blueprint-container");
  const header = makeElement("div", ["header"]);
  makeElement("b", ["title"], "Favorite Setups", header);
  container.append(header);
  const body = makeElement("div", ["content"]);
  const currentSetupRow = yield makeBlueprintRow(getCurrentSetup(), true);
  currentSetupRow.classList.add("current-setup");
  body.append(currentSetupRow);
  const setups = getFavoriteSetups();
  if (setups.length) {
    for (const setup of setups) {
      const setupContainer = yield makeBlueprintRow(setup);
      setupContainer.setAttribute("data-setup-id", setup.id);
      body.append(setupContainer);
    }
  }
  container.append(body);
  return container;
});
getNameOfCurrentSetup = () => {
  const setups = getFavoriteSetups();
  if (!setups.length) {
    return "";
  }
  const currentSetup = getCurrentSetup();
  const setup = setups.find((s) => {
    return s.bait_id === currentSetup.bait_id && s.base_id === currentSetup.base_id && s.weapon_id === currentSetup.weapon_id && s.trinket_id === currentSetup.trinket_id;
  });
  if (setup) {
    return setup.name;
  }
  return "";
};
updateFavoriteSetupName = () => {
  const label = document.querySelector(".mh-improved-favorite-setups-button-label");
  if (!label) {
    return;
  }
  label.innerHTML = getNameOfCurrentSetup() || "";
};
addFavoriteSetupsButton = () => {
  if ("camp" !== getCurrentPage()) {
    return;
  }
  const existingButton = document.querySelector(".mh-improved-favorite-setups-button");
  if (existingButton) {
    return;
  }
  const appendTo = document.querySelector(".trapSelectorView__trapStatSummaryContainer");
  if (!appendTo) {
    return;
  }
  const button = makeElement("a", ["mh-improved-favorite-setups-button", "campPage-trap-trapEffectiveness"]);
  makeElement("div", ["mh-improved-favorite-setups-button-text"], "Favorite Setups", button);
  const label = makeElement("div", ["mh-improved-favorite-setups-button-label"]);
  label.innerHTML = getNameOfCurrentSetup();
  button.append(label);
  button.addEventListener("click", toggleFavoriteSetups);
  appendTo.append(button);
};
toggleFavoriteSetups = () => __async(void 0, null, function* () {
  const content = yield makeBlueprintContainer();
  toggleBlueprint("favorite-setups", content);
});
addIcon = () => {
  addIconToMenu({
    id: "favorite-setups",
    classname: "mousehunt-improved-favorite-setups-icon",
    title: "Favorite Setups",
    action: toggleFavoriteSetups,
    position: "prepend"
  });
};
init31 = () => __async(void 0, null, function* () {
  addStyles(styles_default25, "favorite-setups");
  addFavoriteSetupsButton();
  onNavigation(addFavoriteSetupsButton, {
    page: "camp"
  });
  let timeoutId;
  onEvent("camp_page_arm_item", () => {
    if (timeoutId) {
      clearTimeout(timeoutId);
    }
    timeoutId = setTimeout(updateFavoriteSetupName, 500);
  });
  if (getSetting("experiments.favorite-setups-toggle", false)) {
    addIcon();
  }
  onEvent("mh-improved-toggle-favorite-setups", toggleFavoriteSetups);
});
favorite_setups_default2 = {
  id: "favorite-setups",
  name: "Favorite Setups",
  type: "feature",
  default: false,
  description: "Save your favorite setups and arm them with a single click.",
  load: init31
};
}
});

// src/modules/flrt-helper/styles.css
var styles_default26;
var init_styles27 = __esm({
"src/modules/flrt-helper/styles.css"() {
styles_default26 = '.mh-improved-flrt-helper-popup{display:grid;grid-template-columns:1fr 1fr;justify-items:center}.mh-improved-flrt-helper-popup .flrt-search-form{display:flex;align-items:center;justify-content:space-around;padding:10px;background-color:#dcf7ff;border:1px solid #a1a1a1;border-radius:5px;box-shadow:0 1px 2px -1px #b5b5b5}.mh-improved-flrt-helper-popup .flrt-friend-finder{display:flex;flex-direction:column}.mh-improved-flrt-helper-popup .friendsPage-friendRow.friendsPage-requestRow{border-radius:5px;box-shadow:1px 1px 4px #cdb495}.mh-improved-flrt-helper-popup .friendsPage-friendRow-imageContainer{width:75px;height:75px;margin-left:3px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-content{max-width:226px;min-height:75px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-icon{top:-10px;left:0;height:35px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-name{padding-left:15px;font-size:14px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar{padding-left:20px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-titleDetail{left:7px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment{position:relative;margin-left:-10px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment-icon{position:absolute;top:-5px;left:0;width:20px;height:20px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment-name{position:absolute;left:25px;font-size:10px;vertical-align:top}.mh-improved-flrt-helper-popup .friendsPage-friendRow .friendsPage-friendRow-actions{top:40px;right:0}.mh-improved-flrt-helper-popup .friendsPage-friendRow-actions-interactionButtons{padding-right:0}.mh-improved-flrt-helper-popup .friendsPage-friendRow-actions .mousehuntTooltip,.mh-improved-flrt-helper-popup .friendsPage-requestRow-actionStatus.accepted,.mh-improved-flrt-helper-popup .userInteractionButtonsView-action[data-action=send_daily_gift],.mh-improved-flrt-helper-popup .userInteractionButtonsView-action[data-action=send_draw_ballot]{display:none!important}.mh-improved-flrt-helper-popup .userInteractionButtonsView-button{width:45px;height:45px;background-size:45px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-statsContainer{border-radius:0}.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.map,.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.team,.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat-label{display:none!important}.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.online span{width:auto}.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat{width:auto;margin-right:10px}.mh-improved-flrt-helper-popup .instructions{padding:10px;margin-top:auto;font-style:italic}.mh-improved-flrt-helper-popup .flrt-items-to-send{min-width:80%}.mh-improved-flrt-helper-popup .flrt-item{display:flex;flex-direction:row;align-items:center;width:100%;padding:5px;margin-bottom:5px;cursor:pointer;background-color:#eee;border:1px solid #ddd;border-radius:5px;box-shadow:0 1px 2px -1px #b5b5b5}.mh-improved-flrt-helper-popup .flrt-item .itemImage,.mh-improved-flrt-helper-popup .flrt-item .itemImage img{width:45px;height:45px}.mh-improved-flrt-helper-popup .flrt-item-info{display:flex;align-items:center;margin-left:5px}.mh-improved-flrt-helper-popup .flrt-item-name{font-weight:900;vertical-align:top}.mh-improved-flrt-helper-popup .flrt-item-disabled .itemImage{filter:grayscale(1);opacity:.5}.mh-improved-flrt-helper-popup .flrt-item-info input[type=checkbox]:disabled{opacity:0}.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sending{background-color:#f3c019}.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sent{position:relative;background-color:#3fcd84}.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sent:after{position:absolute;right:0;display:inline-block;width:25px;height:25px;margin-right:5px;margin-bottom:-2px;vertical-align:middle;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/events/winter_hunt_2013/checkmark.png?asset_cache_version=2);background-repeat:no-repeat;background-size:100%}\n';
}
});

// src/modules/flrt-helper/index.js
var addFlrtButtonToConvertible, sendItemsToMaptain, flrtPopup, init32, flrt_helper_default;
var init_flrt_helper = __esm({
"src/modules/flrt-helper/index.js"() {
init_utils2();
init_utils2();
init_styles27();
addFlrtButtonToConvertible = (response) => __async(void 0, null, function* () {
  if (!(response.convertible_open && response.convertible_open.name && response.convertible_open.items)) {
    return;
  }
  const items2 = [];
  const tradableItems = yield getData("type");
  for (const element of response.convertible_open.items) {
    const itemData = {
      type: element.type,
      name: element.name,
      image: element.thumb,
      quantity: element.quantity
    };
    if (tradableItems) {
      const tradable = tradableItems.find((tradableItem) => {
        return tradableItem.type === element.type;
      });
      if (tradable) {
        items2.push(itemData);
      }
    } else {
      items2.push(itemData);
    }
  }
  const buttons = document.querySelector(".jsDialogContainer .suffix");
  if (!buttons) {
    return;
  }
  const flrtBtn = makeElement("button", ["mousehuntActionButton", "small", "button"]);
  makeElement("span", [], "Return to Maptain", flrtBtn);
  flrtBtn.addEventListener("click", () => {
    flrtPopup(items2);
  });
  buttons.prepend(flrtBtn);
});
sendItemsToMaptain = (snuid, items2) => __async(void 0, null, function* () {
  for (const item of items2) {
    item.element.classList.add("flrt-item-sending");
    yield doRequest("managers/ajax/users/supplytransfer.php", {
      item: item.type,
      item_quantity: item.quantity,
      receiver: snuid
    });
    item.element.classList.remove("flrt-item-sending");
    item.element.classList.add("flrt-item-sent");
  }
  const sendButton = document.querySelector(".flrt-send-items");
  if (sendButton) {
    sendButton.outerHTML = '<input type="submit" value="Continue" class="jsDialogClose button">';
  }
});
flrtPopup = (items2) => {
  const lastMaptain = getLastMaptain();
  let itemContent = "";
  items2.forEach((item) => {
    itemContent += `<div class="flrt-item" data-item-type="${item.type}" data-item-quantity="${item.quantity}">
<div class="itemImage">
  <img src="${item.image}">
  <div class="quantity">${item.quantity}</div>
</div>
<div class="flrt-item-info">
  <input type="checkbox" checked data-item-type="${item.type}">
  <span class="flrt-item-name">${item.name}</span>
</div>
</div>`;
  });
  const popup = createPopup({
    template: "ajax",
    title: "Send tradables to Maptain",
    content: `<div class="mh-improved-flrt-helper-popup">
<div class="flrt-friend-finder">
    <form action="https://www.mousehuntgame.com/friends.php?tab=requests&amp;sub_tab=community" method="post" class="flrt-search-form friends-page-id-search friendsPage-community-hunterIdForm" onsubmit="app.pages.FriendsPage.submitHunterIdForm(this); return false;">
      <input type="number" value="${lastMaptain || ""}" name="user_id" maxlength="10" class="friendsPage-community-hunterIdForm-input">
      <a class="mousehuntActionButton small search-for-hunter" href="#" onclick="app.pages.FriendsPage.triggerHunterForm(this); return false;"><span>Search</span></a>
    </form>
  <div class="friendsPage-community-hunterResult"></div>
  <div class="instructions">
    Select the tradable items you want to send.
  </div>
</div>
<div class="flrt-items-to-send">
  ${itemContent}
</div>
</div>`
  });
  popup.addToken("{*prefix*}", '<h2 class="title">Send tradable items</h2>');
  popup.addToken("{*suffix*}", '<div class="mousehuntActionButton flrt-send-items"><span>Send items to Maptain</span></div>');
  popup.show();
  const flrtItems = document.querySelectorAll(".flrt-item");
  flrtItems.forEach((item) => {
    const checkbox = item.querySelector('input[type="checkbox"]');
    const toggle = () => {
      checkbox.checked = !checkbox.checked;
      item.classList.toggle("flrt-item-disabled", !checkbox.checked);
    };
    item.addEventListener("click", toggle);
  });
  if (lastMaptain) {
    const search = document.querySelector(".search-for-hunter");
    if (search) {
      app.pages.FriendsPage.triggerHunterForm(search);
    }
  }
  const sendBtn = document.querySelector(".flrt-send-items");
  if (!sendBtn) {
    return;
  }
  sendBtn.addEventListener("click", () => {
    sendBtn.disabled = true;
    sendBtn.classList.add("disabled");
    const id = document.querySelector(".friendsPage-community-hunterIdForm-input");
    if (!id) {
      return;
    }
    const sendingItems = document.querySelectorAll(".flrt-item");
    const itemsToSend = [];
    sendingItems.forEach((item) => {
      const checkbox = item.querySelector('input[type="checkbox"]');
      if (!checkbox) {
        return;
      }
      if (checkbox.checked) {
        const itemData = {
          type: item.getAttribute("data-item-type"),
          quantity: Number.parseInt(item.getAttribute("data-item-quantity"), 10),
          element: item
        };
        itemsToSend.push(itemData);
      }
      checkbox.disabled = true;
    });
    const row = document.querySelector(".friendsPage-friendRow.friendsPage-requestRow");
    if (!row) {
      return;
    }
    const snuid = row.getAttribute("data-snuid") || id.value;
    sendItemsToMaptain(snuid, itemsToSend);
  });
};
init32 = () => __async(void 0, null, function* () {
  addStyles(styles_default26, "flrt-helper");
  onDialogShow("treasureMapPopup", cacheFinishedMap);
  onRequest("users/useconvertible.php", addFlrtButtonToConvertible);
});
flrt_helper_default = {
  id: "flrt-helper",
  name: "FLRT Helper",
  type: "feature",
  default: false,
  description: 'When opening a chest from a map, adds a "Return to Maptain" button that will let you choose which tradable items to send directly to the Maptain.',
  load: init32
};
}
});

// src/modules/global-styles/styles/animations.css
var animations_default;
var init_animations = __esm({
"src/modules/global-styles/styles/animations.css"() {
animations_default = ".mh-ui-fade{opacity:0;transition:opacity .3s ease-in-out}.mh-ui-fade-in{opacity:1}.mh-ui-fade-out{opacity:0}@keyframes mh-improved-sway-side-to-side{0%{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(15deg)}to{transform:rotate(0)}}@keyframes mh-improved-slight-fade{0%{opacity:1}50%{opacity:.75}to{opacity:1}}@keyframes mh-improved-fade-out{0%{opacity:1}to{opacity:0}}@keyframes mh-improved-in-from-left{0%{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes mh-improved-in-from-top{0%{visibility:visible;transform:translate3d(0,-100%,0)}to{transform:translateZ(0)}}@keyframes mh-improved-in-scale{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}\n";
}
});

// src/modules/global-styles/styles/buttons.css
var buttons_default;
var init_buttons = __esm({
"src/modules/global-styles/styles/buttons.css"() {
buttons_default = '.sort-button{display:inline-block;width:0;height:0;margin-left:1px;cursor:pointer;content:"";border-top:9px solid #777;border-right:6px solid transparent;border-left:6px solid transparent}.sort-button.reverse{border-top:0;border-right:6px solid transparent;border-bottom:9px solid #777;border-left:6px solid transparent}.sort-button.unsorted{opacity:.5}a.mousehuntActionButton.success:before{background-color:#00ff59;box-shadow:0 0 10px #beff99 inset}a.mousehuntActionButton.success{background-color:#97f990}a.mousehuntActionButton.success:hover:before,a.mousehuntActionButton.success:focus:before{background-color:#00ff59}a.mousehuntActionButton.danger:before{background-color:#f27b6a;box-shadow:0 0 10px #ffa5a5 inset}a.mousehuntActionButton.danger{background-color:#ffa5a5}a.mousehuntActionButton.danger:hover:before,a.mousehuntActionButton.danger:focus:before{background-color:#ffa5a5}.mousehuntActionButton:hover:before{pointer-events:none}\n';
}
});

// src/modules/global-styles/styles/error-page.css
var error_page_default;
var init_error_page = __esm({
"src/modules/global-styles/styles/error-page.css"() {
error_page_default = '.PageLockError .pageFrameView-content{min-height:calc(100vh - 130px)}.PageLockError .pageFrameView-column{min-height:100vh}.PageLockError .pageFrameView-footer{display:flex;flex-flow:row wrap;row-gap:20px;align-items:center;justify-content:center}.PageLockError .pageFrameView-footer-linksContainer{flex:0 0 100%}.PageLockError .pageFrameView-footer a img{opacity:.4;transition:.3s;transform:scale(.8)}.PageLockError .pageFrameView-footer-links.terms{text-align:center}.PageLockError .pageFrameView-content>div:first-of-type{border:none!important}.PageLockError .pageFrameView-content>div:first-of-type>div:nth-of-type(2){display:flex;flex-direction:column;justify-content:space-evenly;min-height:200px;padding:0 10px}.PageLockError .pageFrameView-footer a:hover img{opacity:1;transform:scale(1)}div[style="margin: 0 auto; text-align: center; width: 100%; font-size: 20px;"] img{transform-origin:bottom;animation-name:mh-improved-sway-side-to-side;animation-duration:7s;animation-iteration-count:infinite}div[style="margin: 0 auto; text-align: center; width: 100%; font-size: 20px;"] a:hover{text-decoration:underline}div[style="margin: 0 auto; text-align: center; width: 100%; font-size: 20px;"] a{color:#00901c;text-decoration:none}\n';
}
});

// src/modules/global-styles/styles/general.css
var general_default5;
var init_general5 = __esm({
"src/modules/global-styles/styles/general.css"() {
general_default5 = '.pageFrameView-column{min-height:100vh}code{padding:0 3px;font-family:ui-monospace,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,Oxygen Mono,"Ubuntu Monospace",Source Code Pro,Fira Mono,Droid Sans Mono,Courier New,monospace;background-color:#eee;border-radius:3px}\n';
}
});

// src/modules/global-styles/styles/messages.css
var messages_default;
var init_messages2 = __esm({
"src/modules/global-styles/styles/messages.css"() {
messages_default = ".mh-ui-error-message,.mh-ui-success-message{z-index:21;padding:10px;font-size:10px;color:#160404;background-color:#f5b9b9;border:1px solid #803e3e;border-radius:5px;box-shadow:0 1px 5px -1px #5e5e5e}.mh-ui-success-message{background-color:#a3ea85;border:1px solid #3e803e}\n";
}
});

// src/modules/global-styles/styles/tooltips.css
var tooltips_default;
var init_tooltips = __esm({
"src/modules/global-styles/styles/tooltips.css"() {
tooltips_default = ".PreferencesPage__blackTooltip.mh-improved-tooltip{width:20px;height:20px;margin-right:auto;margin-left:5px}.PreferencesPage__blackTooltip.mh-improved-tooltip:hover .PreferencesPage__blackTooltipText{right:-65px;bottom:165%;left:-65px;font-weight:400;line-height:16px}\n";
}
});

// src/modules/global-styles/styles/trap-qty.css
var trap_qty_default;
var init_trap_qty = __esm({
"src/modules/global-styles/styles/trap-qty.css"() {
trap_qty_default = ".campPage-trap-itemBrowser-favorite-item-image-frame{top:-1px;left:-1px;width:50px;height:50px;overflow:hidden}.campPage-trap-itemBrowser-favorites .campPage-trap-itemBrowser-favorite-item-quantity span.campPage-trap-baitQuantity,.campPage-trap-itemBrowser-item-leftBar span.campPage-trap-baitQuantity{right:1px;bottom:1px;left:1px;padding:3px;font-size:13px;text-align:center;background-color:#fffc;border-radius:0 0 3px 3px}.campPage-trap-itemBrowser-favorites .campPage-trap-itemBrowser-favorite-item-quantity span.campPage-trap-baitQuantity{right:-1px;bottom:-1px;left:-1px;border:1px solid #4e2e0b}\n";
}
});

// src/modules/global-styles/styles/utility.css
var utility_default;
var init_utility = __esm({
"src/modules/global-styles/styles/utility.css"() {
utility_default = ".transparent-text{color:transparent}.text-black{color:#000}.hidden{display:none}.visible{display:block}.full-opacity{opacity:1}.screen-reader-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.outline{outline:1px solid #f00}.no-click{pointer-events:none}\n";
}
});

// src/modules/global-styles/index.js
var imported5, styles5, init33, global_styles_default;
var init_global_styles = __esm({
"src/modules/global-styles/index.js"() {
init_utils2();
init_animations();
init_buttons();
init_error_page();
init_general5();
init_messages2();
init_tooltips();
init_trap_qty();
init_utility();
imported5 = [animations_default, buttons_default, error_page_default, general_default5, messages_default, tooltips_default, trap_qty_default, utility_default];
styles5 = imported5;
init33 = () => __async(void 0, null, function* () {
  addStyles(styles5, "global-styles");
});
global_styles_default = {
  id: "global-styles",
  type: "required",
  alwaysLoad: true,
  load: init33
};
}
});

// src/modules/hide-codices/styles.css
var styles_default27;
var init_styles28 = __esm({
"src/modules/hide-codices/styles.css"() {
styles_default27 = ".trapSelectorView__activeCodexContainer,.trapSelectorView__activeCodexContainer--visible{display:none}\n";
}
});

// src/modules/hide-codices/index.js
var init34, hide_codices_default;
var init_hide_codices = __esm({
"src/modules/hide-codices/index.js"() {
init_utils2();
init_styles28();
init34 = () => __async(void 0, null, function* () {
  addStyles(styles_default27, "hide-codices");
});
hide_codices_default = {
  id: "hide-codices",
  name: "Hide Codices",
  type: "element-hiding",
  default: false,
  description: "Hide the codices on the trap selector.",
  load: init34
};
}
});

// src/modules/hide-footer/styles.css
var styles_default28;
var init_styles29 = __esm({
"src/modules/hide-footer/styles.css"() {
styles_default28 = ".pageFrameView-footer,.mousehuntFooter{display:none}.no-footer .pageFrameView-column.left,.no-footer .pageFrameView-column.right{margin-bottom:0}\n";
}
});

// src/modules/hide-footer/index.js
var init35, hide_footer_default;
var init_hide_footer = __esm({
"src/modules/hide-footer/index.js"() {
init_utils2();
init_styles29();
init35 = () => __async(void 0, null, function* () {
  addStyles(styles_default28, "no-footer");
  addBodyClass("no-footer");
  onActivation("no-footer", () => {
    addBodyClass("no-footer");
  });
  onActivation("no-footer", () => {
    removeBodyClass("no-footer");
  });
});
hide_footer_default = {
  id: "no-footer",
  name: "Hide Footer",
  type: "element-hiding",
  default: false,
  description: "Hides the footer.",
  load: init35
};
}
});

// src/modules/hide-share/styles.css
var styles_default29;
var init_styles30 = __esm({
"src/modules/hide-share/styles.css"() {
styles_default29 = '.actionportfolio,.canShare .larryTip,.journalactions a[data-share-type=journal],.journalactions a[data-type=journal],.pageSidebarView .fb-page,.socialLink,*[src="https://www.mousehuntgame.com//images/ui/buttons/share_green.gif"],#jsDialog-publishToOwnWall,.publishToWall,#OnboardArrow.onboardPopup.canShare .shareButton{display:none}#OnboardArrow.onboardPopup.canShare .closeButton{right:40px;left:unset}#OnboardArrow.onboardPopup.top .canShare .larryTip{color:#fff;background-color:#fff;border-color:#fff}#OnboardArrow.onboardPopup.top .canShare .larryTip img{display:none}\n';
}
});

// src/modules/hide-share/index.js
var init36, hide_share_default;
var init_hide_share = __esm({
"src/modules/hide-share/index.js"() {
init_utils2();
init_styles30();
init36 = () => __async(void 0, null, function* () {
  addStyles(styles_default29, "no-share");
});
hide_share_default = {
  id: "no-share",
  name: "Hide Share Buttons",
  type: "element-hiding",
  default: true,
  description: "Hides the share buttons.",
  load: init36
};
}
});

// src/modules/hide-sidebar/styles.css
var styles_default30;
var init_styles31 = __esm({
"src/modules/hide-sidebar/styles.css"() {
styles_default30 = ".pageFrameView{-ms-grid-columns:[first] auto [content-start] 760px [content-end] auto [last];grid-template-columns:[first] auto [content-start] 760px [content-end] auto [last]}.pageFrameView .pageSidebarView-user{padding:0 0 10px;border-bottom:none}.pageSidebarView{display:none}.mousehuntHeaderView .menuItem.sidebar.dropdown{cursor:unset}.mousehuntHeaderView .menuItem.sidebar .dropdownContent{width:365px;padding:10px}.mousehuntHeaderView .menuItem.sidebar .dropdownContent a{display:unset;height:auto;padding:0;font-variant:none;border-bottom:none}.mousehuntHeaderView .menuItem.sidebar .dropdownContent a:hover,.mousehuntHeaderView .menuItem.sidebar .dropdownContent a:focus{text-decoration:underline;background-color:unset}.mousehuntHeaderView .menuItem.sidebar .dropdownContent a.pageSidebarView-user-image{width:30px;height:30px;padding:0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;border:1px solid #808080}.mousehuntHeaderView .menuItem.sidebar .dropdownContent .pageSidebarView-user a:nth-child(2){display:inline;padding:0;font-size:inherit;font-variant:none;color:#3b5998;border-bottom:none}.mousehuntHeaderView .menuItem.sidebar .dropdownContent .pageSidebarView-user br{display:none}.mousehuntHeaderView .menuItem.sidebar .dropdownContent a.pageSidebarView-user-logout{display:inline-block;float:right;height:auto;padding:5px 0;margin-right:10px;font-size:inherit;font-variant:none;color:#3b5998;border-bottom:none;border-radius:0}.scoreboardRankingsWrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px;line-height:14px}.scoreboardRelativeRankingTableView-table{padding-top:5px;background:#fff}.mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a{font-size:9px;color:#3b5998;text-decoration:none;vertical-align:middle;border-radius:0}.mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a:hover,.mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a:focus,.mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a:active{text-decoration:underline}\n";
}
});

// src/modules/hide-sidebar/index.js
var moveSidebar, init37, hide_sidebar_default;
var init_hide_sidebar = __esm({
"src/modules/hide-sidebar/index.js"() {
init_utils2();
init_styles31();
moveSidebar = () => {
  const menuTab = document.createElement("div");
  menuTab.classList.add("menuItem");
  menuTab.classList.add("dropdown");
  menuTab.classList.add("sidebar");
  menuTab.addEventListener("click", () => {
    menuTab.classList.toggle("expanded");
  });
  const menuTabTitle = document.createElement("span");
  menuTabTitle.innerText = "Sidebar";
  const menuTabArrow = document.createElement("div");
  menuTabArrow.classList.add("arrow");
  const dropdownContent = document.createElement("div");
  dropdownContent.classList.add("dropdownContent");
  const sidebarUser = document.querySelector(".pageSidebarView-user");
  if (sidebarUser) {
    const sidebarUserClone = sidebarUser.cloneNode(true);
    dropdownContent.append(sidebarUserClone);
  }
  const scoreBoardRankings = document.querySelectorAll(".scoreboardRelativeRankingTableView-table");
  if (scoreBoardRankings) {
    const scoreBoardRankingWrapper = document.createElement("div");
    scoreBoardRankingWrapper.classList.add("scoreboardRankingsWrapper");
    scoreBoardRankings.forEach((scoreBoardRanking) => {
      const scoreBoardRankingClone = scoreBoardRanking.cloneNode(true);
      scoreBoardRankingWrapper.append(scoreBoardRankingClone);
    });
    dropdownContent.append(scoreBoardRankingWrapper);
  }
  menuTab.append(menuTabTitle);
  menuTab.append(menuTabArrow);
  menuTab.append(dropdownContent);
  const tabsContainer = document.querySelector(".mousehuntHeaderView-dropdownContainer");
  if (!tabsContainer) {
    return;
  }
  tabsContainer.insertBefore(menuTab, tabsContainer.lastChild);
};
init37 = () => __async(void 0, null, function* () {
  addStyles(styles_default30, "no-sidebar");
  addBodyClass("no-sidebar");
  moveSidebar();
  hg.views.PageFrameView.setShowSidebar(false);
  onActivation("no-sidebar", () => {
    moveSidebar();
    addBodyClass("no-sidebar");
    hg.views.PageFrameView.setShowSidebar(false);
  });
  onDeactivation("no-sidebar", () => {
    hg.views.PageFrameView.setShowSidebar(true);
    const menuTab = document.querySelector(".menuItem.sidebar");
    if (menuTab) {
      menuTab.remove();
    }
  });
});
hide_sidebar_default = {
  id: "no-sidebar",
  name: "Hide Sidebar",
  type: "element-hiding",
  default: true,
  description: "Hides the sidebar and adds a 'Sidebar' dropdown in the top menu.",
  load: init37
};
}
});

// src/modules/hover-profiles/styles.css
var styles_default31;
var init_styles32 = __esm({
"src/modules/hover-profiles/styles.css"() {
styles_default31 = ".message .messageText,.journal .entry .journalbody{position:relative}#friend-data-wrapper{position:absolute;top:-125px;z-index:999999;box-sizing:border-box;display:block;width:325px;height:125px;border:1px solid #9a8872;border-radius:10px;box-shadow:0 1px 5px -1px #5e5e5e}.treasureMapTooltipView #friend-data-wrapper{display:none}[data-friend-hover]:hover #friend-data-wrapper,[data-friend-hover]:focus #friend-data-wrapper,#friend-data-wrapper:hover,#friend-data-wrapper:focus{display:block}#friend-data-wrapper .friendsPage-friendRow{position:relative;box-sizing:border-box;height:100%;padding-top:3px;margin:0;border:none}#friend-data-wrapper .friendsPage-friendRow-imageContainer{position:relative;display:inline-block;width:65px;height:65px;margin-left:5px;vertical-align:top}#friend-data-wrapper .friendsPage-friendRow-content{box-sizing:border-box;width:245px}#friend-data-wrapper .friendsPage-friendRow-titleBar{position:relative;box-sizing:border-box;padding-left:20px;margin-right:-8px;margin-bottom:5px;margin-left:-15px;line-height:20px}#friend-data-wrapper .friendsPage-friendRow-titleBar-titleDetail{display:none}#friend-data-wrapper .friendsPage-friendRow-titleBar-icon{left:0;width:35px;height:35px}#friend-data-wrapper .friendsPage-friendRow-titleBar-name{display:block;margin-left:20px;overflow:hidden;font-size:14px;color:#000;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}#friend-data-wrapper .friendsPage-friendRow-environment-icon{width:25px;height:25px;margin-right:3px}#friend-data-wrapper .friendsPage-friendRow-environment-name{width:140px;font-size:11px;line-height:14px}#friend-data-wrapper .friendsPage-friendRow .friendsPage-friendRow-actions{position:absolute;top:35px;right:2px}#friend-data-wrapper .friendsPage-friendRow-actionsContainer{top:0}#friend-data-wrapper .friendsPage-friendRow-actions-interactionButtons{padding-right:0}#friend-data-wrapper .userInteractionButtonsView-button{width:38px;height:38px;background-size:38px}#friend-data-wrapper .userInteractionButtonsView-button.sendTicket,#friend-data-wrapper .userInteractionButtonsView-button.sendTournamentInvite{display:none}#friend-data-wrapper .mousehuntTooltip{opacity:0;animation:none}#friend-data-wrapper .friendsPage-friendRow-environment{box-sizing:border-box;display:flex;align-items:center;width:145px;height:40px;padding-right:10px;margin-left:-10px}#friend-data-wrapper .friendsPage-friendRow-statsContainer{position:relative;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,1fr);place-items:center center;align-content:stretch;width:100%;height:auto;padding:2px;margin:0}#friend-data-wrapper .friendsPage-friendRow-stat{display:flex!important;align-items:center;width:auto;margin:0;font-size:10px}#friend-data-wrapper .friendsPage-friendRow-stat-icon{width:15px;height:15px;margin-left:5px}#friend-data-wrapper .friendsPage-friendRow-stat.map .friendsPage-friendRow-stat-icon,#friend-data-wrapper .friendsPage-friendRow-stat.team .friendsPage-friendRow-stat-icon{margin-right:3px}#friend-data-wrapper .friendsPage-friendRow-stat-value{font-size:10px;font-weight:400}#friend-data-wrapper .friendsPage-friendRow-stat-label{display:none}#friend-data-wrapper .friendsPage-friendRow-stat.map{grid-column:span 2}#friend-data-wrapper .friendsPage-friendRow-stat.map .friendsPage-friendRow-stat-value span,#friend-data-wrapper .friendsPage-friendRow-stat.online span{width:auto;max-width:190px}#friend-data-wrapper .friendsPage-friendRow-stat.team .friendsPage-friendRow-stat-value a{width:auto;max-width:70px}#friend-data-wrapper .friendsPage-friendRow-stat:hover .friendsPage-friendRow-stat-fullValue{display:none}#friend-data-wrapper .friendsPage-friendRow-stat.hasHover:hover{text-decoration:underline;background:unset}.mh-dark-mode #friend-data-wrapper .friendsPage-friendRow{color:#87270e;background:linear-gradient(#decebb 5%,#f0eddf 50%)}.mh-dark-mode #friend-data-wrapper .friendsPage-friendRow-statsContainer{color:#87270e;box-shadow:0 10px 30px #cdb495 inset}.mh-dark-mode #friend-data-wrapper .friendsPage-friendRow-stat-value a{color:#87270e}\n";
}
});

// src/modules/hover-profiles/index.js
var cleanId, getFriendId, makeFriendMarkup, onFriendLinkHover, addFriendLinkEventListener, onTabChangeCallback, onTabChange, onInboxOpen, main13, init38, hover_profiles_default;
var init_hover_profiles = __esm({
"src/modules/hover-profiles/index.js"() {
init_utils2();
init_styles32();
cleanId = (id) => {
  return id.replaceAll("#", "");
};
getFriendId = (target) => __async(void 0, null, function* () {
  if (target.getAttribute("data-snuid")) {
    return cleanId(target.getAttribute("data-snuid"));
  }
  if (target.href) {
    let href = target.href;
    const hrefMatch = target.href.match(/(.+?)&/);
    if (hrefMatch && hrefMatch.length) {
      href = hrefMatch[1];
    }
    const urlMatch = href.replace("https://www.mousehuntgame.com/hunterprofile.php?snuid=", "").replace("https://www.mousehuntgame.com/profile.php?snuid=", "");
    if (urlMatch && urlMatch !== href) {
      return cleanId(urlMatch);
    }
    const pMatch = href.replace("https://www.mousehuntgame.com/p.php?id=", "");
    if (pMatch && pMatch !== href) {
      const snuid = yield doRequest("managers/ajax/pages/friends.php", {
        action: "community_search_by_id",
        user_id: pMatch
      });
      if (snuid.friend.sn_user_id) {
        return cleanId(snuid.friend.sn_user_id);
      }
    }
  }
  if (target.onclick) {
    const giftMatch = target.onclick.toString().match(/show\('(.+)'\)/);
    if (giftMatch && giftMatch.length) {
      return cleanId(giftMatch[1]);
    }
  }
  return false;
});
makeFriendMarkup = (friendId, data = null, skipCache = false, e) => {
  if (!data || !data.length || !data[0].user_interactions.relationship) {
    return;
  }
  if (!skipCache) {
    sessionSet(`mh-improved-cache-friend-${friendId}`, data);
    sessionSet(`mh-improved-cache-friend-${friendId}-timestamp`, Date.now());
  }
  let content;
  if (data) {
    const templateType = data[0].user_interactions.relationship.is_stranger ? "PageFriends_request_row" : "PageFriends_view_friend_row";
    content = hg.utils.TemplateUtil.render(templateType, data[0]);
  } else {
    hg.pages.FriendsPage().getPlaceholderData();
  }
  const existing = document.querySelectorAll("#friend-data-wrapper");
  if (existing && existing.length) {
    existing.forEach((el) => {
      el.remove();
    });
  }
  const friendDataWrapper = document.createElement("div", "friend-data-wrapper");
  friendDataWrapper.id = "friend-data-wrapper";
  friendDataWrapper.innerHTML = content;
  document.body.append(friendDataWrapper);
  const rect = e.target.getBoundingClientRect();
  const top = rect.top + window.scrollY;
  const left = rect.left + window.scrollX;
  let tooltipTop = top - friendDataWrapper.offsetHeight - 10;
  if (tooltipTop < 0) {
    tooltipTop = top + rect.height + 10;
  }
  friendDataWrapper.style.top = `${tooltipTop}px`;
  friendDataWrapper.style.left = `${left - friendDataWrapper.offsetWidth / 2 + rect.width / 2}px`;
  let timeoutId;
  friendDataWrapper.addEventListener("mouseleave", () => {
    timeoutId = setTimeout(() => {
      friendDataWrapper.remove();
    }, 250);
  });
  friendDataWrapper.addEventListener("mouseenter", () => {
    clearTimeout(timeoutId);
  });
  const parent = e.target.parentElement;
  if (parent) {
    parent.addEventListener("mouseleave", () => {
      timeoutId = setTimeout(() => {
        friendDataWrapper.remove();
      }, 500);
    });
    parent.addEventListener("mouseenter", () => {
      clearTimeout(timeoutId);
    });
  }
  doEvent2("profile_hover");
};
onFriendLinkHover = (e) => __async(void 0, null, function* () {
  const friendId = yield getFriendId(e.target);
  if (!friendId || friendId == user.sn_user_id) {
    return;
  }
  e.target.setAttribute("data-snuid", friendId);
  const parent = e.target.parentElement;
  if (!parent) {
    return;
  }
  parent.setAttribute("data-friend-hover", true);
  const existing = document.querySelectorAll("#friend-data-wrapper");
  if (existing && existing.length) {
    existing.forEach((el) => {
      el.remove();
    });
  }
  const cached = sessionGet(`mh-improved-cache-friend-${friendId}`);
  const cachedTimestamp = sessionGet(`mh-improved-cache-friend-${friendId}-timestamp`);
  if (cached && cachedTimestamp && Date.now() - cachedTimestamp < 15e4) {
    makeFriendMarkup(friendId, cached, true, e);
  } else {
    makeFriendMarkup(null, null, true, e);
    app.pages.FriendsPage.getFriendDataBySnuids([friendId], (data) => {
      if (!data || !data.length) {
        return;
      }
      makeFriendMarkup(friendId, data, false, e);
    });
  }
});
addFriendLinkEventListener = (selector) => {
  const friendLinks = document.querySelectorAll(selector);
  if (!friendLinks || !friendLinks.length) {
    return;
  }
  friendLinks.forEach((friendLink) => {
    if (friendLink.classList.contains("friendsPage-friendRow-image")) {
      return;
    }
    friendLink.addEventListener("mouseenter", onFriendLinkHover);
  });
};
onTabChangeCallback = (callback, attempts = 0) => {
  const tabs = document.querySelectorAll(".notificationHeader .tabs a");
  if (!tabs || tabs.length === 0) {
    if (attempts > 2) {
      return;
    }
    setTimeout(() => {
      onTabChangeCallback(callback, attempts + 1);
    }, 250);
    return;
  }
  tabs.forEach((tab) => {
    tab.addEventListener("click", () => {
      callback();
    });
  });
};
onTabChange = (callback) => {
  onEvent("ajax_response", () => {
    onTabChangeCallback(callback);
  });
};
onInboxOpen = (callback) => {
  const inboxBtn = document.querySelector("#hgbar_messages");
  if (!inboxBtn) {
    return;
  }
  inboxBtn.addEventListener("click", () => {
    onTabChange(callback);
  });
};
main13 = () => {
  const selectors = [
    'a[href*="https://www.mousehuntgame.com/hunterprofile.php"]',
    'a[href*="https://www.mousehuntgame.com/profile.php"]',
    ".entry.socialGift .journaltext a",
    '.notificationMessageList .messageText a[href*="https://www.mousehuntgame.com/p"]',
    'tr.teamPage-memberRow-identity a[href*="https://www.mousehuntgame.com/profile.php"]',
    '.treasureMapView-scoreboard-table a[href*="https://www.mousehuntgame.com/profile.php"]'
  ];
  selectors.forEach((selector) => {
    addFriendLinkEventListener(selector);
  });
};
init38 = () => __async(void 0, null, function* () {
  addStyles(styles_default31, "hover-profiles");
  setTimeout(main13, 500);
  onRequest("*", () => {
    setTimeout(main13, 1e3);
  });
  onInboxOpen(main13);
});
hover_profiles_default = {
  id: "hover-profiles",
  name: "Hover Profiles",
  type: "feature",
  default: true,
  description: "Hover over a friend's name in your journal, inbox, or elsewhere and get a mini-profile popup.",
  load: init38
};
}
});

// src/data/upscaled-images-to-skip.json
var upscaled_images_to_skip_default;
var init_upscaled_images_to_skip = __esm({
"src/data/upscaled-images-to-skip.json"() {
upscaled_images_to_skip_default = [
  "mice/*",
  "ui/auras/*",
  "ui/hud/menu/*",
  "ui/crowns/*",
  "ui/camp/*",
  "ui/hunters_horn/*",
  "items/skins/*",
  "items/weapons/*",
  "powertypes/*",
  "teams/*",
  "environments/*",
  "folklore_forest_upgrades/*",
  "promo/page_banners/*",
  "grouplogos/*",
  "ui/adventure_book/*",
  "map/dynamic/*",
  "io_appstore_button.png",
  "google-play-badge.png",
  "icons/externalLink.png",
  "buttons/discord.png",
  "hg_logo.png",
  "payment/thumb/logo_paypal.png"
];
}
});

// src/modules/image-upscaling/journal-themes.css
var journal_themes_default;
var init_journal_themes = __esm({
"src/modules/image-upscaling/journal-themes.css"() {
journal_themes_default = ".journal.theme_living_garden .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_living_garden_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_living_garden .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_living_garden_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_living_garden .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_living_garden_wide_bottom.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_halloween_2013 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_halloween_2013_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_halloween_2013 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_halloween_2013_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_halloween_2013 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_halloween_2013_wide_bottom.png?asset_cache_version=2) no-repeat scroll right bottom}.journal.theme_halloween_2014 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_halloween_2014_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_halloween_2014 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_halloween_2014_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_halloween_2014 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_halloween_2014_wide_bottom.png?asset_cache_version=2) no-repeat scroll right bottom}.journal.theme_winter_hunt_2012 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2012_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2012 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2012_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_winter_hunt_2012 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2012_wide_bottom.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2013 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2013_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2013 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2013_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_winter_hunt_2013 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2013_wide_bottom.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_western .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_western_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_western .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_western_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_western .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_western_wide_bottom.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_regal .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_regal_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_regal .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_regal_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_regal .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_regal_wide_bottom.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_polluted .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_polluted_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_polluted .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_polluted_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_polluted .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_polluted_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_birthday_six .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_six_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_birthday_six .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_six_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_birthday_six .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_six_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_birthday_seven .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_seven_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_birthday_seven .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_seven_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_birthday_seven .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_seven_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_birthday_eight .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_eight_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_birthday_eight .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_eight_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_birthday_eight .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_eight_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_birthday_nine .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_nine_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_birthday_nine .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_nine_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_birthday_nine .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_nine_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_airship .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_airship_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_airship .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_airship_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_airship .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_airship_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_chrome .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_chrome_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_chrome .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_chrome_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_chrome .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_chrome_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_football .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_football_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_football .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_football_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_football .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_football_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_mega_tournament .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_mega_tournament_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_mega_tournament .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_mega_tournament_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_mega_tournament .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_mega_tournament_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_burroughs_rift .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_burroughs_rift_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_burroughs_rift .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_burroughs_rift_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_burroughs_rift .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_burroughs_rift_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_bristle_woods_rift .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_bristle_woods_rift_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_bristle_woods_rift .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_bristle_woods_rift_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_bristle_woods_rift .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_bristle_woods_rift_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_winter_hunt_2014 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2014_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2014 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2014_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_winter_hunt_2014 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2014_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_fungal .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_fungal_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_fungal .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_fungal_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_fungal .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_fungal_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_relic_hunter .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_relic_hunter_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_relic_hunter .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_relic_hunter_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_relic_hunter .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_relic_hunter_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_labyrinth .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_labyrinth_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_labyrinth .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_labyrinth_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_labyrinth .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_labyrinth_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_rift_hallowen .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_rift_halloween_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_rift_hallowen .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_rift_halloween_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_rift_hallowen .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_rift_halloween_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_winter_hunt_2015 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2015_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2015 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2015_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_winter_hunt_2015 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2015_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_gnawnian_games .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_gnawnian_games_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_gnawnian_games .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_gnawnian_games_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_gnawnian_games .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_gnawnian_games_wide_bottom.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_pillowcase .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_pillowcase_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_pillowcase .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_pillowcase_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_pillowcase .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_pillowcase_wide_bottom.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_ghostship .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_ghostship_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_ghostship .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_ghostship_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_ghostship .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_ghostship_wide_bottom.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_moussu_picchu .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_moussu_picchu_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_moussu_picchu .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_moussu_picchu_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_moussu_picchu .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_moussu_picchu_wide_bottom.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_lightning_slayer .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lightning_slayer_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_lightning_slayer .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lightning_slayer_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_lightning_slayer .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lightning_slayer_wide_bottom.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2016 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2016_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2016 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2016_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_winter_hunt_2016 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2016_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_snow_golem .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_snow_golem_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_snow_golem .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_snow_golem_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_snow_golem .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_snow_golem_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_birthday_ten .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_ten_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_birthday_ten .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_ten_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_birthday_ten .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_ten_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_queso_canyon .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_queso_canyon_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_queso_canyon .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_queso_canyon_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_queso_canyon .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_queso_canyon_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_admirals_ship .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_admirals_ship_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_admirals_ship .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_admirals_ship_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_admirals_ship .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_admirals_ship_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_winter_hunt_2018 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2018_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2018 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2018_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_winter_hunt_2018 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2018_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_lny_2019 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2019_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_lny_2019 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2019_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_lny_2019 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2019_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_lny_2020 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2020_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_lny_2020 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2020_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_lny_2020 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2020_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_lny_2021 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2021_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_lny_2021 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2021_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_lny_2021 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2021_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_lny_2022 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2022_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_lny_2022 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2022_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_lny_2022 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2022_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_lny_2023 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2023_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_lny_2023 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2023_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_lny_2023 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_lny_2023_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_super_brie_factory .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_super_brie_factory_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_super_brie_factory .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_super_brie_factory_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_super_brie_factory .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_super_brie_factory_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_party_charm .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_party_charm_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_party_charm .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_party_charm_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_party_charm .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_party_charm_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_halloween_2019 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_halloween_2019_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_halloween_2019 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_halloween_2019_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_halloween_2019 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_halloween_2019_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_winter_hunt_2019 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2019_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2019 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2019_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_winter_hunt_2019 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2019_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_winter_hunt_2020 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2020_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2020 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2020_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_winter_hunt_2020 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2020_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_winter_hunt_2021 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2021_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2021 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2021_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_winter_hunt_2021 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2021_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_winter_hunt_2022 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2022_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_winter_hunt_2022 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2022_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_winter_hunt_2022 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_winter_hunt_2022_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_pumpkin_patch .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_pumpkin_patch_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_pumpkin_patch .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_pumpkin_patch_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_pumpkin_patch .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_pumpkin_patch_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_spring_hunt_2021 .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_spring_hunt_2021_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_spring_hunt_2021 .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_spring_hunt_2021_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_spring_hunt_2021 .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_spring_hunt_2021_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_gloomy_greenwood .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_gloomy_greenwood_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_gloomy_greenwood .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_gloomy_greenwood_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_gloomy_greenwood .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_gloomy_greenwood_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_birthday_thirteen .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_thirteen_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_birthday_thirteen .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_thirteen_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_birthday_thirteen .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_thirteen_wide_bottom.png?asset_cache_version=2) no-repeat scroll left top}.journal.theme_birthday_fourteen .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_fourteen_wide_top.png?v=2&asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_birthday_fourteen .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_fourteen_wide_middle.png?v=2&asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_birthday_fourteen .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_fourteen_wide_bottom.png?v=2&asset_cache_version=2) no-repeat scroll left top}.journal.theme_birthday_fifteen .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_fifteen_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_birthday_fifteen .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_fifteen_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_birthday_fifteen .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_birthday_fifteen_bottom.png?asset_cache_version=2) no-repeat scroll left top}.journal.theme_table_of_contents .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_table_of_contents_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_table_of_contents .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_table_of_contents_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_table_of_contents .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_table_of_contents_wide_bottom.png?asset_cache_version=2) no-repeat scroll center bottom}.journal.theme_bountiful_beanstalk .top{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_bountiful_beanstalk_wide_top.png?asset_cache_version=2) no-repeat scroll left bottom}.journal.theme_bountiful_beanstalk .content{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_bountiful_beanstalk_wide_middle.png?asset_cache_version=2) repeat-y scroll left bottom}.journal.theme_bountiful_beanstalk .bottom{background:url(https://www.mousehuntgame.com/images/ui/journal/themes/journal_bountiful_beanstalk_wide_bottom.png?asset_cache_version=2) no-repeat scroll 100% 0}.journal.theme_halloween .top{background:url(https://i.mouse.rip/upscaled-themes/journal_halloween_wide_top.png) no-repeat scroll left bottom}.journal.theme_halloween .content{background:url(https://i.mouse.rip/upscaled-themes/journal_halloween_wide_middle.png) repeat-y scroll left bottom}.journal.theme_halloween .bottom{background:url(https://i.mouse.rip/upscaled-themes/journal_halloween_wide_bottom.png) no-repeat scroll left bottom}.journal.theme_halloween_2013 .top,.journal.theme_halloween_2014 .top,.journal.theme_winter_hunt_2013 .top,.journal.theme_regal .top,.journal.theme_polluted .top,.journal.theme_birthday_six .top,.journal.theme_birthday_seven .top,.journal.theme_birthday_eight .top,.journal.theme_birthday_nine .top,.journal.theme_airship .top,.journal.theme_chrome .top,.journal.theme_football .top,.journal.theme_mega_tournament .top,.journal.theme_burroughs_rift .top,.journal.theme_bristle_woods_rift .top,.journal.theme_winter_hunt_2014 .top,.journal.theme_fungal .top,.journal.theme_relic_hunter .top,.journal.theme_labyrinth .top,.journal.theme_rift_hallowen .top,.journal.theme_winter_hunt_2015 .top,.journal.theme_gnawnian_games .top,.journal.theme_pillowcase .top,.journal.theme_ghostship .top,.journal.theme_moussu_picchu .top,.journal.theme_lightning_slayer .top,.journal.theme_winter_hunt_2016 .top,.journal.theme_snow_golem .top,.journal.theme_birthday_ten .top,.journal.theme_queso_canyon .top,.journal.theme_admirals_ship .top,.journal.theme_winter_hunt_2018 .top,.journal.theme_lny_2019 .top,.journal.theme_lny_2020 .top,.journal.theme_lny_2021 .top,.journal.theme_lny_2022 .top,.journal.theme_lny_2023 .top,.journal.theme_super_brie_factory .top,.journal.theme_party_charm .top,.journal.theme_halloween_2019 .top,.journal.theme_winter_hunt_2019 .top,.journal.theme_winter_hunt_2020 .top,.journal.theme_winter_hunt_2021 .top,.journal.theme_winter_hunt_2022 .top,.journal.theme_pumpkin_patch .top,.journal.theme_spring_hunt_2021 .top,.journal.theme_gloomy_greenwood .top,.journal.theme_birthday_thirteen .top,.journal.theme_birthday_fourteen .top,.journal.theme_birthday_fifteen .top,.journal.theme_table_of_contents .top,.journal.theme_bountiful_beanstalk .top,.journal.theme_halloween .bottom,.journal.theme_halloween_2013 .bottom,.journal.theme_halloween_2014 .bottom,.journal.theme_winter_hunt_2013 .bottom,.journal.theme_regal .bottom,.journal.theme_polluted .bottom,.journal.theme_birthday_six .bottom,.journal.theme_birthday_seven .bottom,.journal.theme_birthday_eight .bottom,.journal.theme_birthday_nine .bottom,.journal.theme_airship .bottom,.journal.theme_chrome .bottom,.journal.theme_football .bottom,.journal.theme_mega_tournament .bottom,.journal.theme_burroughs_rift .bottom,.journal.theme_bristle_woods_rift .bottom,.journal.theme_winter_hunt_2014 .bottom,.journal.theme_fungal .bottom,.journal.theme_relic_hunter .bottom,.journal.theme_labyrinth .bottom,.journal.theme_rift_hallowen .bottom,.journal.theme_winter_hunt_2015 .bottom,.journal.theme_gnawnian_games .bottom,.journal.theme_pillowcase .bottom,.journal.theme_ghostship .bottom,.journal.theme_moussu_picchu .bottom,.journal.theme_lightning_slayer .bottom,.journal.theme_winter_hunt_2016 .bottom,.journal.theme_snow_golem .bottom,.journal.theme_birthday_ten .bottom,.journal.theme_queso_canyon .bottom,.journal.theme_admirals_ship .bottom,.journal.theme_winter_hunt_2018 .bottom,.journal.theme_lny_2019 .bottom,.journal.theme_lny_2020 .bottom,.journal.theme_lny_2021 .bottom,.journal.theme_lny_2022 .bottom,.journal.theme_lny_2023 .bottom,.journal.theme_super_brie_factory .bottom,.journal.theme_party_charm .bottom,.journal.theme_halloween_2019 .bottom,.journal.theme_winter_hunt_2019 .bottom,.journal.theme_winter_hunt_2020 .bottom,.journal.theme_winter_hunt_2021 .bottom,.journal.theme_winter_hunt_2022 .bottom,.journal.theme_pumpkin_patch .bottom,.journal.theme_spring_hunt_2021 .bottom,.journal.theme_gloomy_greenwood .bottom,.journal.theme_birthday_fourteen .bottom,.journal.theme_birthday_fifteen .bottom,.journal.theme_table_of_contents .bottom,.journal.theme_bountiful_beanstalk .bottom,.journal.theme_birthday_thirteen .bottom{background-size:cover}.journal.theme_living_garden .top,.journal.theme_western .top,.journal.theme_halloween .top,.journal.theme_winter_hunt_2012 .top{background-size:contain}.journal.theme_living_garden .bottom,.journal.theme_western .bottom,.journal.theme_halloween .bottom,.journal.theme_winter_hunt_2012 .top{background-position:top center;background-size:contain}.journal.theme_halloween .content,.journal.theme_halloween_2013 .content,.journal.theme_halloween_2014 .content,.journal.theme_winter_hunt_2012 .content,.journal.theme_winter_hunt_2013 .content,.journal.theme_regal .content,.journal.theme_polluted .content,.journal.theme_birthday_six .content,.journal.theme_birthday_seven .content,.journal.theme_birthday_eight .content,.journal.theme_birthday_nine .content,.journal.theme_airship .content,.journal.theme_chrome .content,.journal.theme_football .content,.journal.theme_mega_tournament .content,.journal.theme_burroughs_rift .content,.journal.theme_bristle_woods_rift .content,.journal.theme_winter_hunt_2014 .content,.journal.theme_fungal .content,.journal.theme_relic_hunter .content,.journal.theme_labyrinth .content,.journal.theme_rift_hallowen .content,.journal.theme_winter_hunt_2015 .content,.journal.theme_gnawnian_games .content,.journal.theme_pillowcase .content,.journal.theme_ghostship .content,.journal.theme_moussu_picchu .content,.journal.theme_lightning_slayer .content,.journal.theme_winter_hunt_2016 .content,.journal.theme_snow_golem .content,.journal.theme_birthday_ten .content,.journal.theme_queso_canyon .content,.journal.theme_admirals_ship .content,.journal.theme_winter_hunt_2018 .content,.journal.theme_lny_2019 .content,.journal.theme_lny_2020 .content,.journal.theme_lny_2021 .content,.journal.theme_lny_2022 .content,.journal.theme_lny_2023 .content,.journal.theme_super_brie_factory .content,.journal.theme_party_charm .content,.journal.theme_halloween_2019 .content,.journal.theme_winter_hunt_2019 .content,.journal.theme_winter_hunt_2020 .content,.journal.theme_winter_hunt_2021 .content,.journal.theme_winter_hunt_2022 .content,.journal.theme_pumpkin_patch .content,.journal.theme_spring_hunt_2021 .content,.journal.theme_gloomy_greenwood .content,.journal.theme_birthday_fourteen .content,.journal.theme_birthday_fifteen .content,.journal.theme_table_of_contents .content,.journal.theme_bountiful_beanstalk .content,.journal.theme_birthday_thirteen .content{background-size:contain}\n";
}
});

// src/modules/image-upscaling/styles.css
var styles_default32;
var init_styles33 = __esm({
"src/modules/image-upscaling/styles.css"() {
styles_default32 = ".giftSelectorView-inbox-gift-thumb .itemImage,.giftSelectorView-inbox-giftRow.paidgift .giftSelectorView-inbox-gift-thumb .itemImage,.giftSelectorView-claimableGift-itemContainer .itemImage,.adventureBookPopup-adventure-details-block-step-thumb,.valourRiftPopupClaim-lootLog .itemImage,.valourRiftPopupClaim-cacheLoot-image,.MHCheckoutCartTableView-reward-image,.MHCheckoutCartTableView .trapImageView,.labyrinthHUD-confirmItem,.travelPage-map-pieces-detail-image img,.halloweenBoilingCauldronRecipeView-thumb,.lunarNewYear2018-claimRow-image .itemImage,.forewordFarmHarvestBin-itemImage.itemImage,.lunarNewYearCampPopup-content-block-image,.superBrieFactoryVendingMachineView-item-imageContainer,.campPage-trap-armedItem-empty{box-shadow:none}.springHuntHUD-dialog-item-image .itemImage.large,.springHuntHUD-dialog-item-image .floatingIslandsAirship,.MiniEventBigJackPopup-block-item-image,.forewordFarmHarvestBin-itemImage.itemImage,.marketplaceView-itemImage,.mousehuntHud-userStat.bait .icon,.itemView-thumbnail.large,.itemView-thumbnail{background-color:transparent}.springHuntHUD-dialog-item-image,.journal .entry.convertible_open img,.MiniEventGiveawayCampHUD-dialog-item .itemImage,.journal .entry.craft.item img,.itemPurchaseView-container.apothecary .itemPurchaseView-image,.marketplaceView-itemImage,.itemView-thumbnail,.campPage-trap-armedItem.bait .campPage-trap-armedItem-image,.mousoleumHUD-crafting-recipe-result-image,.floatingIslandsHUD .upsellItemActionView-cost-image,.campPage-trap-armedItem-image{border:none}.notificationMessageList .message img.item{border:none!important}.campPage-trap-armedItem-empty{background:none}.treasureMapDialogView.acknowledge .treasureMapDialogView-highlightItem .itemImage,.greatWinterHuntNewYearsDialogView__itemImage,.convertibleOpenView-item-image{background-size:cover}.marketplaceView-item-image,.itemImage{background-size:100%}.treasureMapOpenChestView-chestImage,.campPage-trap-armedItem.bait .campPage-trap-armedItem-image,.campPage-trap-armedItem-image{background-size:contain}.MHCheckout-featuredItem-image.large{background-size:100px}.campPage-trap-armedItem.skin .campPage-trap-armedItem-empty{color:transparent}.mousehuntHud-userStat .icon{width:27px;height:27px;border:none;box-shadow:none}.inventoryPage-confirmPopup-itemRow-image .itemImage img{width:80px;height:80px}.treasureMapView-allyCell{padding:5px 2px}.treasureMapView-allyCell .treasureMapView-componentContainer{width:170px;background:none}.treasureMapView-allyCell .treasureMapView-componentThumb{width:40px;height:40px}.treasureMapRootView-footer-item-thumb{background-color:#fff}.mousehuntHud-userStat:hover .icon,.mousehuntHud-userStat:focus .icon,.mousehuntHud-userStat.active .icon{filter:drop-shadow(0 0 3px #ffde00);box-shadow:none}.springEggHuntCampHUD-charm-thumb.active{background-color:#79a32c87}.springEggHuntCampHUD-charm-thumb{padding:1px;border:none}.marketplaceView-itemImage img{border-radius:0}.travelPage-map-pieces-detail-environment-title img{width:auto;height:20px}.travelPage-map-pieces-detail-environment-title{display:inline-flex;align-items:center;justify-content:flex-start}.travelPage-map-pieces-detail-environment-title-name{margin-left:5px}.travelPage-map-pieces-detail-environments-label{margin-bottom:10px}.travelPage-map-environment-detail-title img{max-width:25px}.gift-padding img{width:75px}.itemImage img{width:auto;max-width:80px}.journal .relicHunter_slayer_aura_relic_bonus{background-image:url(https://www.mousehuntgame.com/images/items/collectibles/large/a6e804d0d9eeb22ff01660a144521ff1.png?cv=2)}.adventureBookPopup-title-icon{top:5px;width:auto;height:25px}.adventureBookPopup-title.active .adventureBookPopup-title-icon{left:5px}\n";
}
});

// src/modules/image-upscaling/views.css
var views_default;
var init_views = __esm({
"src/modules/image-upscaling/views.css"() {
views_default = ".mousehuntHud-page-tabContent.kings_cart .shopsPage-header-icon{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7340a24e5bf4defcc5d855bdb56776c3.png)}.shopsPage-kingsCalibratorPromo:after{background-image:url(https://i.mouse.rip/upscaled/c6fa46d329c1c7436acad084773c05c6.png)}.dragonSlayerTeaser{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/d513d3d88b83e0cbce3be1ca70f8c6c0.png)}.fortRoxHUD-dialog-requiredItem.fort_rox_lair_cheese .itemImage{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/da61a59109bfc60c1d9db20f54c75e63.png)}.fortRoxHUD-dialog-requiredItem.fort_rox_lair_key_stat_item .itemImage{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/312d0ec2cf4e4cc10a223ef1ed7eb1cf.png)}.giftSelectorView-gift-cost-name{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f659a8a07d3877df4165b188f13bb0db.png)}.greatWinterHuntClaimRewardDialogView__item--hat:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f2ec13c0297687cbe50c7c35312966b7.png)}.greatWinterHuntClaimRewardDialogView__item--scarf:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/b07954771f93d36f125caab617573edf.png)}.headsUpDisplayWinterHuntRegionView__golemUpgradeCost:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/a9f0d6cba3beb00ad97a543b5e3ec8f9.png)}.headsUpDisplayWinterHuntRegionView__hailstoneImage{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/972937f8febcda1ed8e6f592ce34d1eb.png)}.journal .entry.aurora_base_trigger{background-image:url(https://i.mouse.rip/upscaled/bases/20ffa4c4c656ac931e4881d98bda5713.png)}.journal .entry.burroughs_rift.regulator_base_trigger{background-image:url(https://i.mouse.rip/upscaled/bases/aeeb39277ee5bb21bffd2d8e5eb91203.png)}.journal .entry.christmas_crystalabra_trigger{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/54e6ff0e1a145b4ae1a702dae67f302c.png)}.journal .entry.electromagnetic_base_trigger{background-image:url(https://i.mouse.rip/upscaled/af1aa7a2f55acbce605abc65be1d22e1.png)}.journal .entry.living_grove_base_trigger.cavern_fungus{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/6b849e20a0a0e8034697dfc0034f20e0.png)}.journal .entry.living_grove_base_trigger.nightshade{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/075a2bbef9d263b41822be1c318e9ee0.png)}.journal .entry.mousehunt_birthday_cake_claim{background-image:url(https://i.mouse.rip/upscaled/8e4f8ee414643d3dcb39e5bb7df429ed.png)}.journal .entry.rift_mist_diffuser_trigger{background-image:url(https://i.mouse.rip/upscaled/bases/40b591abddca5fa4b1cefb1d1a5c0116.png)}.journal .entry.valour_rift_map_quest_entry{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/b88046add58f39243c14740d7179446e.png)}.journal .entry.vegetation_base_trigger.blue{background-image:url(https://i.mouse.rip/upscaled/12adb0973256a6f3f7061925940593e9.png)}.journal .entry.vegetation_base_trigger.red{background-image:url(https://i.mouse.rip/upscaled/8dff0d6bc2e6d9be450da9bc0d3ab678.png)}.journal .entry.vegetation_base_trigger.yellow{background-image:url(https://i.mouse.rip/upscaled/1a0063f4d3a1995dc23105c4e6db85aa.png)}.journal .halloween-candy{background-image:url(https://i.mouse.rip/upscaled/1682084bc7d5208b582b66476c090a3b.png)}.journal .relicHunter_slayer_aura_relic_bonus{background-image:url(https://i.mouse.rip/upscaled/f21a0fde04887958de39f9e40b8f588e.png)}.kingsGiveawayCalibratorPopup-upgrade-action-kingsCredits{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7340a24e5bf4defcc5d855bdb56776c3.png)}.labyrinthHUD-confirmItem.labyrinth_scramble_clues_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/4af4321a64beff9406d1931e5ea79855.png)}.labyrinthHUD-confirmItem.labyrinth_scramble_doors_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/3f408cc3012bf15bd07d9bce8a6eec75.png)}.MiniEventGiveawayCampHUD:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6391b886b424174996329aa1eb186a10.png)}.mountainHUD-conduit-purchase .mousehuntItem-image.charm_level_1_trinket_slot{background-image:url(https://i.mouse.rip/upscaled/06e0b1849d75003231f4cbd8eab65a1a.png)}.mountainHUD-footer-item .mousehuntItem-image.abominable_asiago_cheese,.mountainHUD-craftDialog .mousehuntItem-image.abominable_asiago_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/7a83faafedc2d9e81cdf7aec4f1eb9a2.png)}.mountainHUD-footer-item .mousehuntItem-image.cheddore_cheese,.mountainHUD-craftDialog .mousehuntItem-image.cheddore_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/b5dde0c4643e52b8bee8b5d35529bc6e.png)}.mountainHUD-footer-item .mousehuntItem-image.faceted_sugar_crafting_item,.mountainHUD-craftDialog .mousehuntItem-image.faceted_sugar_crafting_item{background-image:url(https://i.mouse.rip/upscaled/faceted_sugar_crafting_item.png)}.mountainHUD-footer-item .mousehuntItem-image.ice_curd_crafting_item,.mountainHUD-craftDialog .mousehuntItem-image.ice_curd_crafting_item{background-image:url(https://i.mouse.rip/upscaled/ice_curd_crafting_item.png)}.mountainHUD-footer-item .mousehuntItem-image.magic_essence_craft_item,.mountainHUD-craftDialog .mousehuntItem-image.magic_essence_craft_item{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/1a5559b59d141e76dec3fe4b8780e5e3.png)}.mountainHUD-phaseContainer.bait .mousehuntItem-image.cheddore_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/b5dde0c4643e52b8bee8b5d35529bc6e.png)}.mountainHUD-phaseContainer.boss .mousehuntItem-image.abominable_asiago_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/7a83faafedc2d9e81cdf7aec4f1eb9a2.png)}.mountainHUD-phaseContainer.boulder .mousehuntItem-image.brie_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/9a8d8cd30ea217263779c4bbef463d69.png)}.mountainHUD-phaseContainer.boulder .mousehuntItem-image.super_brie_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/32b20c3984d2f03b132c295ea3b99e7e.png)}.mousoleumHUD-crafting-recipe-result-image{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/c2300f93eaaff7c48a78c1520b53ac12.png)}.riftBristleWoodsHUD-portalEquipment.acolyteHourglass .riftBristleWoodsHUD-portalEquipment-image{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ee5ef616058313371f7779297bce4524.png)}.riftBristleWoodsHUD-portalEquipment.portalScrambler .riftBristleWoodsHUD-portalEquipment-image{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/092ff4aa80863a405073ee9685c4710f.png)}.riftBristleWoodsHUD-portalEquipment.portalWarmer .riftBristleWoodsHUD-portalEquipment-image{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/81e3257baf10421af2fb22d9beeaf89c.png)}.riftFuromaHUD-craftingPopup-recipe-action-magicEssence:after{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/1a5559b59d141e76dec3fe4b8780e5e3.png)}.springEggHuntCampHUD-missingDetector-cost{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f659a8a07d3877df4165b188f13bb0db.png)}.springHuntHUD-interfaceEgg.century_egg_convertible:after{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/d64fc795e30b46f5f8a92f0949ab6988.png)}.springHuntHUD-interfaceEgg.explorers_egg_convertible:after{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/fadab13dcd382ee0eb1876ca0c08abd6.png)}.springHuntHUD-interfaceEgg.freshly_painted_egg_convertible:after{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ce737544556d685e1f874c4fd87501ab.png)}.springHuntHUD-interfaceEgg.market_mogul_egg_convertible:after{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/6af4279a524e8981a4f77e6cd0c1a8fb.png)}.springHuntHUD-interfaceEgg.workshop_egg_convertible:after{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/215cb37ca633fed6e55b1014a371acd6.png)}.townOfGnawniaHUD-bountyRewardContainer{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f659a8a07d3877df4165b188f13bb0db.png)}.valourRiftHUD-towerUpgradeLevel-costIcon.rift_gaunt_upgrade_a_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6b1ff750750b9c48dd330bdb9861ed7e.png)}.valourRiftHUD-towerUpgradeLevel-costIcon.rift_gaunt_upgrade_b_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/d4d052ac03c581e15699333f61618e9d.png)}.valourRiftHUD-towerUpgradeLevel-costIcon.shade_eclipse_resource_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/e987c0769410db8389c1b299af66710d.png)}.valourRiftHUD-towerUpgradeLevel-costIcon.total_eclipse_resource_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/150c36547680239500d7f75221c5cfac.png)}.warpathHUD-dialog-state.clearWave .warpathHUD-dialog-image .itemImage{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ef8fb33edf7ca54d7ddfc91a215e4845.png)}.warpathHUD-dialog-state.enterPortal .warpathHUD-dialog-image .itemImage{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/26383ddab530a128c32fb2cc5e9e7405.png)}\n";
}
});

// src/modules/image-upscaling/index.js
var stripUrl, getMappedUrl, shouldSkipUpdate, shouldSkipUrl, upscaleImageElements, upscaleBackgroundImages, upscaleImages, unupscaledImages, upscaledImages, lastCheck, isUpscaling, observerOptions, mapping, init39, image_upscaling_default;
var init_image_upscaling = __esm({
"src/modules/image-upscaling/index.js"() {
init_utils2();
init_utils2();
init_upscaled_images_to_skip();
init_journal_themes();
init_styles33();
init_views();
stripUrl = (url) => {
  return url.replaceAll("//images", "/images").replace("https://www.mousehuntgame.com/images/", "").replaceAll("cv=1", "").replaceAll("cv=2", "").replaceAll("asset_cache_version=1", "").replaceAll("asset_cache_version=2", "").replaceAll("?", "").replaceAll("&", "");
};
getMappedUrl = (strippedUrl) => {
  if (!strippedUrl) {
    return;
  }
  const mappedUrl = mapping[strippedUrl];
  if (!mappedUrl) {
    return;
  }
  if (mappedUrl.includes("https://")) {
    return mappedUrl;
  }
  if (mappedUrl) {
    upscaledImages.push(mappedUrl);
  }
  return `https://www.mousehuntgame.com/images/${mappedUrl}`;
};
shouldSkipUpdate = (type, attribute, items2) => {
  const itemHash = [...items2].map((item) => {
    const itemAttribute = item.getAttribute(attribute);
    if (!itemAttribute) {
      return "";
    }
    return itemAttribute;
  }).join(",");
  if (lastCheck[type] && lastCheck[type] === itemHash) {
    return true;
  }
  lastCheck[type] = itemHash;
  return false;
};
shouldSkipUrl = (url) => {
  if (unupscaledImages.includes(url) || // Don't re-upscale images that have already been upscaled.
  upscaledImages.includes(url) || url.startsWith("https://www.gravatar.com") || // Skip some external images.
  url.startsWith("https://graph.facebook.com") || url.startsWith("https://i.mouse.rip")) {
    return true;
  }
  const skip = upscaled_images_to_skip_default.some((path) => {
    if (path.includes("*")) {
      return url.startsWith(path.replace("*", ""));
    }
    return url === path;
  });
  return skip;
};
upscaleImageElements = () => __async(void 0, null, function* () {
  const images = document.querySelectorAll("img");
  if (!images) {
    return;
  }
  if (shouldSkipUpdate("images", "src", images)) {
    return;
  }
  images.forEach((image) => {
    const source = image.getAttribute("src");
    if (!source) {
      return;
    }
    const url = stripUrl(source);
    if (shouldSkipUrl(url)) {
      return;
    }
    const mappedUrl = getMappedUrl(url);
    if (mappedUrl && mappedUrl !== url) {
      image.setAttribute("src", mappedUrl);
    } else {
      unupscaledImages.push(url);
    }
  });
});
upscaleBackgroundImages = () => __async(void 0, null, function* () {
  const backgrounds = document.querySelectorAll('[style*="background-image"]');
  if (!backgrounds) {
    return;
  }
  if (shouldSkipUpdate("backgrounds", "style", backgrounds)) {
    return;
  }
  backgrounds.forEach((background) => {
    const style = background.getAttribute("style");
    if (!style || !style.includes("background-image")) {
      return;
    }
    const urls = style.match(/url\((.*?)\)/);
    if (!urls || !urls[1]) {
      return;
    }
    const url = stripUrl(urls[1].replaceAll(/["']+/g, ""));
    if (shouldSkipUrl(url)) {
      return;
    }
    const mappedUrl = getMappedUrl(url);
    if (mappedUrl && mappedUrl !== url) {
      background.setAttribute("style", style.replace(urls[1], mappedUrl));
    } else {
      unupscaledImages.push(url);
    }
  });
});
upscaleImages = (observer) => __async(void 0, null, function* () {
  if (isUpscaling) {
    return;
  }
  if (observer) {
    observer.disconnect();
  }
  isUpscaling = true;
  yield upscaleImages();
  yield upscaleBackgroundImages();
  if (observer) {
    observer.observe(document, observerOptions);
  }
  isUpscaling = false;
  return Promise.all([upscaleImageElements(), upscaleBackgroundImages()]);
});
unupscaledImages = [];
upscaledImages = [];
lastCheck = { backgrounds: "", images: "" };
isUpscaling = false;
observerOptions = {
  attributes: true,
  attributeFilter: ["style"],
  childList: true,
  subtree: true
};
mapping = [];
init39 = () => __async(void 0, null, function* () {
  addStyles([styles_default32, journal_themes_default, views_default], "image-upscaling");
  mapping = yield getData("upscaled-images");
  mapping["items/trinkets/1dd7ea1380d9193ae1be9fb13335272d.gif"] = "https://i.mouse.rip/upscaled/uluck.png";
  mapping["items/trinkets/large/07cee94773b821f8db533d23ff511643.png"] = "https://i.mouse.rip/upscaled/uluck.png";
  mapping["items/trinkets/transparent_thumb/88917c0fb84e407929193251b8362496.png"] = "https://i.mouse.rip/upscaled/uluck.png";
  const observer = new MutationObserver((mutations) => __async(void 0, null, function* () {
    for (const mutation of mutations) {
      if (mutation.type === "childList" && mutation.target.classList.contains("huntersHornView__timerState")) {
        continue;
      }
      if (mutation.type === "attributes" && mutation.target.classList.contains("ticker")) {
        continue;
      }
      observer.disconnect();
      upscaleImages(observer);
    }
  }));
  observer.observe(document, observerOptions);
  onDialogShow("all", () => {
    setTimeout(() => {
      upscaleImages();
    }, 500);
  });
});
image_upscaling_default = {
  id: "image-upscaling",
  name: "Image Upscaling & Transparency",
  type: "feature",
  default: true,
  description: "Updates all images to use higher resolution versions with transparent backgrounds.",
  load: init39
};
}
});

// src/modules/inline-wiki/styles.css
var styles_default33;
var init_styles34 = __esm({
"src/modules/inline-wiki/styles.css"() {
styles_default33 = "#wiki-iframe{width:100%;height:100%;min-height:100vh}.mousehuntHud-menu .wiki .external_icon{display:none}\n";
}
});

// src/modules/inline-wiki/index.js
var openWiki, getLink, wikiListener, addMenuListener, removeMenuListener, clickWiki, listener, main14, init40, inline_wiki_default;
var init_inline_wiki = __esm({
"src/modules/inline-wiki/index.js"() {
init_utils2();
init_styles34();
openWiki = () => {
  const iframe = document.createElement("iframe");
  iframe.id = "wiki-iframe";
  iframe.src = "https://mhwiki.hitgrab.com/wiki/index.php/MouseHunt_Wiki";
  makePage(iframe);
};
getLink = () => {
  const wikiLink = document.querySelector(".mousehuntHud-menu ul li ul li.wiki a");
  if (wikiLink) {
    return wikiLink;
  }
  return null;
};
wikiListener = (e) => {
  e.preventDefault();
  openWiki();
};
addMenuListener = () => {
  const wikiLink = getLink();
  if (wikiLink && !listener) {
    listener = wikiLink.addEventListener("click", wikiListener);
  }
};
removeMenuListener = () => {
  const wikiLink = getLink();
  if (wikiLink && listener) {
    wikiLink.removeEventListener("click", wikiListener);
    listener = null;
  }
};
clickWiki = () => {
  const wikiLink = getLink();
  if (wikiLink) {
    wikiLink.click();
  }
};
listener = null;
main14 = () => {
  addMenuListener();
  onEvent("mh-improved-open-wiki", clickWiki);
};
init40 = () => __async(void 0, null, function* () {
  addStyles(styles_default33, "inline-wiki");
  main14();
  onActivation("inline-wiki", main14);
  onDeactivation("inline-wiki", removeMenuListener);
});
inline_wiki_default = {
  id: "inline-wiki",
  name: "Inline Wiki",
  type: "feature",
  default: true,
  description: "Clicking 'Wiki' in the menu will load it right in the page, rather than opening a new tab.",
  load: init40
};
}
});

// src/modules/inventory-lock-and-hide/styles.css
var styles_default34;
var init_styles35 = __esm({
"src/modules/inventory-lock-and-hide/styles.css"() {
styles_default34 = ".mhui-inventory-lock-and-hide-controls-wrapper{position:absolute;top:0;right:10px;display:flex;gap:10px}.mousehuntHud-page-tabContent.traps .mhui-inventory-lock-and-hide-controls-wrapper{top:-30px}.mhui-inventory-lock-and-hide-bulk-controls{display:none;gap:10px;margin-left:10px}.mhui-inventory-lock-and-hide-controls-active .mhui-inventory-lock-and-hide-bulk-controls{display:inline-flex}.inventoryPage-tagContent.mhui-inventory-lock-and-hide-controls-active{border-radius:5px;outline:3px solid #f37c7c}.mhui-inventory-lock-and-hide-item-controls{position:absolute;inset:0;display:none;flex-flow:row nowrap;align-items:flex-start;justify-content:space-evenly;background-color:#ffffff7f}.mhui-inventory-lock-and-hide-controls-active .mhui-inventory-lock-and-hide-item-controls{display:flex}.mhui-inventory-lock-and-hide-controls-active .inventoryPage-item.hidden{display:inline-block}.mhui-inventory-lock-and-hide-controls-active .inventoryPage-item.hidden .inventoryPage-item-margin{background-color:#939393}.mhui-inventory-lock-and-hide-controls-active .inventoryPage-item.locked{display:inline-block}.mhui-inventory-lock-and-hide-controls-active .inventoryPage-item.locked .inventoryPage-item-margin{background-color:#ff7b00}.mhui-inventory-lock-and-hide-controls-active .locked.message_item.inventoryPage-item.small,.mhui-inventory-lock-and-hide-controls-active .locked.bait.inventoryPage-item.small{pointer-events:auto}.mhui-inventory-lock-and-hide-controls-active .tooltip{display:none;visibility:hidden;opacity:0}.locked .inventoryPage-item-content-action,.locked.message_item.inventoryPage-item.small .inventoryPage-item-button,.locked.bait.inventoryPage-item.small .inventoryPage-item-button,.locked .inventoryPage-item-recipeOptions,.locked .campPage-trap-itemBrowser-item-armButton,.locked .inventoryPage-item-imageContainer-action{pointer-events:none;filter:grayscale(1)}.locked.message_item.inventoryPage-item.small,.locked.bait.inventoryPage-item.small{pointer-events:none}.mousehuntHud-page-subTabContent.trinket .mousehuntHud-page-subTabContent-prefix{display:none}.inventoryPage-tagContent-tagTitle{display:flex;align-items:center;padding:0 5px 10px;margin:0;font-size:1.4em;border:none}span.inventoryPage-tagContent-tagTitle.tsitu-lock-convertible{top:-6px;right:110px;font-size:.75em}span.inventoryPage-tagContent-tagTitle.tsitu-lock-convertible button{padding:2px;font-size:1em}.mhui-inventory-lock-and-hide-hidden-count{margin-left:5px}.mhui-inventory-lock-and-hide-controls-lock{min-width:35px}.mhui-inventory-lock-and-hide-controls-hide{min-width:25px}\n";
}
});

// src/modules/inventory-lock-and-hide/index.js
var saveSettings, getSettings2, shouldAddLocks, addControlsToItems, updateGroupTitles, maybeLockOrHideItems, addBulkControls, getCurrentTabContainer, addLockAndHideControls, hideItemsInTrapBrowser, itemSettings, main15, toggleControls, onSetPage, init41, inventory_lock_and_hide_default;
var init_inventory_lock_and_hide = __esm({
"src/modules/inventory-lock-and-hide/index.js"() {
init_utils2();
init_styles35();
saveSettings = (shouldUpdateTitles = true) => {
  saveSetting("inventory-lock-and-hide.items", itemSettings);
  if (shouldUpdateTitles) {
    updateGroupTitles();
  }
};
getSettings2 = () => {
  return getSetting("inventory-lock-and-hide.items", {
    locked: [],
    hidden: []
  });
};
shouldAddLocks = (currentTab) => {
  return "collectibles" !== currentTab || "bait" !== currentTab;
};
addControlsToItems = () => __async(void 0, null, function* () {
  const items2 = document.querySelectorAll(".inventoryPage-item");
  if (!items2) {
    return;
  }
  const currentTab = getCurrentTab();
  items2.forEach((item) => {
    let id = item.getAttribute("data-item-id");
    id = Number.parseInt(id, 10);
    if (!id) {
      return;
    }
    const hasControls = item.querySelector(".mhui-inventory-lock-and-hide-item-controls");
    if (hasControls) {
      return;
    }
    let isLocked = (itemSettings == null ? void 0 : itemSettings.locked) ? itemSettings.locked.includes(id) : false;
    let isHidden2 = (itemSettings == null ? void 0 : itemSettings.hidden) ? itemSettings.hidden.includes(id) : false;
    const controls = makeElement("div", "mhui-inventory-lock-and-hide-item-controls");
    if (shouldAddLocks(currentTab)) {
      const lock = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-inventory-lock-and-hide-controls-lock"]);
      const lockText = makeElement("span", "", isLocked ? "Unlock" : "Lock");
      lock.append(lockText);
      const clickLock = (e) => {
        e.preventDefault();
        e.stopPropagation();
        if (isLocked) {
          itemSettings.locked = itemSettings.locked.filter((i) => i !== id);
          lockText.innerText = "Lock";
          isLocked = false;
          item.classList.remove("locked");
        } else {
          itemSettings.locked.push(id);
          lockText.innerText = "Unlock";
          isLocked = true;
          item.classList.add("locked");
        }
        saveSettings();
      };
      lock.addEventListener("click", clickLock);
      controls.addEventListener("click", (e) => {
        if (e.altKey && e.shiftKey || e.metaKey) {
          clickLock(e);
        }
      });
      controls.append(lock);
    }
    const hide = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-inventory-lock-and-hide-controls-hide"]);
    const hideText = makeElement("span", "", isHidden2 ? "Show" : "Hide");
    hide.append(hideText);
    const clickHide = (e) => {
      e.preventDefault();
      e.stopPropagation();
      if (isHidden2) {
        itemSettings.hidden = itemSettings.hidden.filter((i) => i !== id);
        hideText.innerText = "Hide";
        isHidden2 = false;
        item.classList.remove("hidden");
      } else {
        itemSettings.hidden.push(id);
        hideText.innerText = "Show";
        isHidden2 = true;
        item.classList.add("hidden");
      }
      saveSettings();
    };
    hide.addEventListener("click", clickHide);
    controls.addEventListener("click", (e) => {
      e.preventDefault();
      e.stopPropagation();
      if (e.altKey && !e.shiftKey) {
        clickHide(e);
      }
    });
    controls.append(hide);
    item.append(controls);
  });
});
updateGroupTitles = () => {
  const container = getCurrentTabContainer();
  if (!container) {
    return;
  }
  const groups2 = container.querySelectorAll(".inventoryPage-tagContent-tagGroup");
  if (!groups2) {
    return;
  }
  groups2.forEach((group) => {
    const title = group.querySelector(".inventoryPage-tagContent-tagTitle");
    if (!title) {
      return;
    }
    const hiddenItems = group.querySelectorAll(".inventoryPage-item.hidden");
    if (!hiddenItems) {
      return;
    }
    const existingCount = title.querySelector(".mhui-inventory-lock-and-hide-hidden-count");
    if (existingCount) {
      existingCount.remove();
    }
    if (0 === hiddenItems.length) {
      return;
    }
    makeElement("span", "mhui-inventory-lock-and-hide-hidden-count", ` (${hiddenItems.length} hidden)`, title);
  });
};
maybeLockOrHideItems = () => __async(void 0, null, function* () {
  var _a, _b;
  const items2 = document.querySelectorAll(".inventoryPage-item");
  if (!items2) {
    return;
  }
  for (const item of items2) {
    let id = item.getAttribute("data-item-id");
    id = Number.parseInt(id, 10);
    if (!id) {
      return;
    }
    if (((_a = itemSettings == null ? void 0 : itemSettings.locked) == null ? void 0 : _a.length) > 0 && itemSettings.locked.includes(id)) {
      item.classList.add("locked");
    }
    if (((_b = itemSettings == null ? void 0 : itemSettings.hidden) == null ? void 0 : _b.length) > 0 && itemSettings.hidden.includes(id)) {
      item.classList.add("hidden");
    }
  }
  updateGroupTitles();
});
addBulkControls = () => {
  if (!shouldAddLocks(getCurrentTab())) {
    return;
  }
  const container = getCurrentTabContainer();
  if (!container) {
    return;
  }
  const groups2 = container.querySelectorAll(".inventoryPage-tagContent-tagGroup");
  if (!groups2) {
    return;
  }
  groups2.forEach((group) => {
    const title = group.querySelector(".inventoryPage-tagContent-tagTitle");
    if (!title) {
      return;
    }
    const existingControls = title.querySelector(".mhui-inventory-lock-and-hide-bulk-controls");
    if (existingControls) {
      return;
    }
    const controls = makeElement("div", "mhui-inventory-lock-and-hide-bulk-controls");
    const lock = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-inventory-lock-and-hide-controls-lock"]);
    const lockText = makeElement("span", "", "Lock All");
    lock.append(lockText);
    lock.addEventListener("click", (e) => {
      e.preventDefault();
      e.stopPropagation();
      const items2 = group.querySelectorAll(".inventoryPage-item");
      if (!items2) {
        return;
      }
      items2.forEach((item) => {
        const id = item.getAttribute("data-item-id");
        if (!id) {
          return;
        }
        if (itemSettings.locked.includes(id)) {
          return;
        }
        itemSettings.locked.push(id);
        item.classList.add("locked");
        const lockButtonText = item.querySelector(".mhui-inventory-lock-and-hide-controls-lock span");
        if (lockButtonText) {
          lockButtonText.innerText = "Unlock";
        }
      });
      saveSettings(false);
    });
    controls.append(lock);
    const unlock = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-inventory-lock-and-hide-controls-lock"]);
    const unlockText = makeElement("span", "", "Unlock All");
    unlock.append(unlockText);
    unlock.addEventListener("click", (e) => {
      e.preventDefault();
      e.stopPropagation();
      const items2 = group.querySelectorAll(".inventoryPage-item");
      if (!items2) {
        return;
      }
      items2.forEach((item) => {
        const id = item.getAttribute("data-item-id");
        if (!id) {
          return;
        }
        if (!itemSettings.locked.includes(id)) {
          return;
        }
        itemSettings.locked = itemSettings.locked.filter((i) => i !== id);
        item.classList.remove("locked");
        const lockButtonText = item.querySelector(".mhui-inventory-lock-and-hide-controls-lock span");
        if (lockButtonText) {
          lockButtonText.innerText = "Lock";
        }
      });
      saveSettings();
    });
    controls.append(unlock);
    title.append(controls);
  });
};
getCurrentTabContainer = () => {
  let currentTab = getCurrentTab();
  if (!currentTab || "inventory" === currentTab) {
    currentTab = "cheese";
  }
  return document.querySelector(`.mousehuntHud-page-tabContent.${currentTab} .mousehuntHud-page-subTabContent.active`);
};
addLockAndHideControls = () => {
  if ("inventory" !== getCurrentPage()) {
    return;
  }
  let currentTab = getCurrentTab();
  if (!currentTab || "inventory" === currentTab) {
    currentTab = "cheese";
  }
  if ("crafting" === currentTab || "plankrun" === currentTab) {
    return;
  }
  const container = getCurrentTabContainer();
  if (!container) {
    return;
  }
  if (container.hasAttribute("mh-improved-inventory-lock-and-hide")) {
    return;
  }
  container.setAttribute("mh-improved-inventory-lock-and-hide", true);
  const controlsWrapper = makeElement("div", "mhui-inventory-lock-and-hide-controls-wrapper");
  const controls = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-inventory-lock-and-hide-controls"]);
  const text = makeElement("span", "", "Toggle Lock/Hide");
  controls.append(text);
  let isEditing3 = false;
  controls.addEventListener("click", (e) => {
    e.preventDefault();
    e.stopPropagation();
    addBulkControls();
    addControlsToItems();
    isEditing3 = !isEditing3;
    container.setAttribute("mhui-inventory-lock-and-hide-controls-active", isEditing3);
    container.classList.toggle("mhui-inventory-lock-and-hide-controls-active");
  });
  controlsWrapper.append(controls);
  container.prepend(controlsWrapper);
};
hideItemsInTrapBrowser = () => __async(void 0, null, function* () {
  const items2 = document.querySelectorAll(".campPage-trap-itemBrowser-item");
  if (!items2) {
    return;
  }
  itemSettings = getSettings2();
  items2.forEach((item) => {
    let id = item.getAttribute("data-item-id");
    id = Number.parseInt(id, 10);
    if (!id) {
      return;
    }
    if (itemSettings.hidden.includes(id)) {
      item.classList.add("hidden");
    }
    if (itemSettings.locked.includes(id)) {
      item.classList.add("locked");
    }
  });
});
main15 = () => __async(void 0, null, function* () {
  itemSettings = getSettings2();
  maybeLockOrHideItems();
  addLockAndHideControls();
});
toggleControls = () => {
  const button = document.querySelector(".mhui-inventory-lock-and-hide-controls");
  if (button) {
    button.click();
  }
};
onSetPage = () => {
  main15();
  addEvent("ajax_request", main15, null, true);
};
init41 = () => __async(void 0, null, function* () {
  addStyles(styles_default34, "inventory-lock-and-hide");
  main15();
  onNavigation(onSetPage, {
    page: "inventory",
    anyTab: true,
    anySubTab: true
  });
  onEvent("camp_page_toggle_blueprint", hideItemsInTrapBrowser);
  onEvent("mh-improved-toggle-inventory-lock", toggleControls);
});
inventory_lock_and_hide_default = {
  id: "inventory-lock-and-hide",
  name: "Inventory - Lock and Hide",
  type: "feature",
  default: true,
  description: "Lock and hide items in your inventory. Will also hide items in the trap browser.",
  load: init41
};
}
});

// src/modules/inventory-open-all-but-one/styles.css
var styles_default35;
var init_styles36 = __esm({
"src/modules/inventory-open-all-but-one/styles.css"() {
styles_default35 = "";
}
});

// src/modules/inventory-open-all-but-one/index.js
var getQuantityInput, replaceOpenAction, addOpenAllButOneButton, init42, inventory_open_all_but_one_default;
var init_inventory_open_all_but_one = __esm({
"src/modules/inventory-open-all-but-one/index.js"() {
init_utils2();
init_styles36();
getQuantityInput = () => {
  const quantity = document.querySelector(".itemView-action-convert-quantity");
  if (!quantity) {
    return false;
  }
  return quantity;
};
replaceOpenAction = () => {
  const _original2 = app.pages.InventoryPage.useConvertible;
  app.pages.InventoryPage.useConvertible = (element) => {
    if (element.getAttribute("data-item-action") === "all-but-one") {
      const itemType = element.getAttribute("data-item-type");
      hg.views.ItemView.show(itemType);
      const interval = setInterval(() => {
        const quantityEl = document.querySelector(".itemView-action-convertForm");
        let maxQuantity = 0;
        if (quantityEl && quantityEl.innerText.includes("/")) {
          maxQuantity = Number.parseInt(quantityEl.innerText.split("/")[1].trim(), 10);
        }
        const quantity = maxQuantity - 1;
        const quantityInput = getQuantityInput();
        if (quantityInput) {
          clearInterval(interval);
          quantityInput.value = quantity;
          const useButton = document.querySelector(".itemView-action-convert-actionButton");
          if (useButton) {
            useButton.click();
          }
        }
      }, 100);
    } else {
      _original2(element);
    }
  };
};
addOpenAllButOneButton = () => {
  const convertibleItems = document.querySelectorAll('.inventoryPage-item.convertible[data-item-classification="convertible"]');
  if (!convertibleItems.length) {
    return;
  }
  const existingButtons = document.querySelectorAll(".open-all-but-one");
  existingButtons.forEach((button) => {
    button.remove();
  });
  convertibleItems.forEach((item) => {
    const button = item.querySelector('.inventoryPage-item-button[data-item-action="all"]');
    if (!button) {
      return;
    }
    const newButton = button.cloneNode(true);
    newButton.classList.add("open-all-but-one");
    newButton.textContent = "All but One";
    newButton.value = "All but One";
    newButton.setAttribute("data-item-action", "all-but-one");
    button.parentNode.insertBefore(newButton, button.nextSibling);
  });
};
init42 = () => __async(void 0, null, function* () {
  addStyles(styles_default35, "open-all-but-one");
  replaceOpenAction();
  addOpenAllButOneButton();
  onNavigation(() => {
    addOpenAllButOneButton();
  }, {
    page: "inventory"
  });
});
inventory_open_all_but_one_default = {
  id: "open-all-but-one",
  name: "Inventory - Open All but One",
  type: "feature",
  default: true,
  description: "Adds 'Open All But One' buttons to convertible items in your inventory.",
  load: init42
};
}
});

// src/modules/journal-changer/journals.json
var journals_default;
var init_journals = __esm({
"src/modules/journal-changer/journals.json"() {
journals_default = [
  {
    type: "theme_bristle_woods_rift",
    environments: [
      "rift_bristle_woods"
    ]
  },
  {
    type: "theme_burroughs_rift",
    environments: [
      "rift_burroughs"
    ]
  },
  {
    type: "theme_fungal",
    environments: [
      "fungal_cavern"
    ]
  },
  {
    type: "theme_labyrinth",
    environments: [
      "labyrinth",
      "ancient_city"
    ]
  },
  {
    type: "theme_living_garden",
    environments: [
      "desert_oasis",
      "lost_city",
      "sand_dunes"
    ]
  },
  {
    type: "theme_western",
    environments: [
      "claw_shot_city"
    ]
  },
  {
    type: "theme_moussu_picchu",
    environments: [
      "moussu_picchu"
    ]
  },
  {
    type: "theme_polluted",
    environments: [
      "pollution_outbreak"
    ]
  },
  {
    type: "theme_queso_canyon",
    environments: [
      "queso_river",
      "queso_plains",
      "queso_quarry",
      "queso_geyser"
    ]
  },
  {
    type: "theme_bountiful_beanstalk",
    environments: [
      "bountiful_beanstalk"
    ]
  },
  {
    type: "theme_table_of_contents",
    environments: [
      "table_of_contents",
      "prologue_pond",
      "foreword_farm"
    ]
  }
];
}
});

// src/modules/journal-changer/settings/index.js
var settings_default19;
var init_settings20 = __esm({
"src/modules/journal-changer/settings/index.js"() {
settings_default19 = () => __async(void 0, null, function* () {
  return [
    {
      id: "journal-changer.change-daily",
      title: "Randomize daily",
      default: false,
      description: ""
    },
    {
      id: "journal-changer.change-location",
      title: "Change based on location",
      default: false,
      description: ""
    }
  ];
});
}
});

// src/modules/journal-changer/styles.css
var styles_default36;
var init_styles37 = __esm({
"src/modules/journal-changer/styles.css"() {
styles_default36 = ".journalContainer .top{display:flex;gap:3px;align-items:flex-start;justify-content:flex-end}.journalContainer-selectTheme{position:relative;background-color:#e6e6e6}.mh-improved-random-journal{background-image:url(https://i.mouse.rip/mh-improved/journal-random.png)}\n";
}
});

// src/modules/journal-changer/index.js
var themes, getJournalThemes, updateJournalTheme, getCurrentJournalTheme, getJournalThemeForLocation, changeForLocation, randomizeTheme, addRandomButton, changeJournalDaily, init43, journal_changer_default;
var init_journal_changer = __esm({
"src/modules/journal-changer/index.js"() {
init_utils2();
init_journals();
init_settings20();
init_styles37();
themes = [];
getJournalThemes = () => __async(void 0, null, function* () {
  const req = yield doRequest("managers/ajax/users/journal_theme.php", {
    action: "get_themes"
  });
  if (!req.journal_themes) {
    return [];
  }
  return req.journal_themes.theme_list.filter((theme) => theme.can_equip === true);
});
updateJournalTheme = (theme) => __async(void 0, null, function* () {
  const current = getCurrentJournalTheme();
  const req = yield doRequest("managers/ajax/users/journal_theme.php", {
    action: "set_theme",
    theme
  });
  if (req.success) {
    const journal = document.querySelector("#journalContainer");
    if (journal) {
      journal.classList.remove(current);
      journal.classList.add(theme);
    }
  }
  return req;
});
getCurrentJournalTheme = () => {
  const journal = document.querySelector("#journalContainer");
  if (!journal) {
    return false;
  }
  return [...journal.classList].find((cls) => cls.startsWith("theme_"));
};
getJournalThemeForLocation = () => {
  const location = getCurrentLocation();
  const journalTheme = journals_default.find((j) => j.environments.includes(location));
  if (!journalTheme) {
    return false;
  }
  if (themes.some((t) => t.type === journalTheme.type)) {
    return journalTheme.type;
  }
  return journalTheme.type;
};
changeForLocation = () => __async(void 0, null, function* () {
  const newTheme = getJournalThemeForLocation();
  if (!newTheme) {
    return;
  }
  if (themes.length === 0) {
    themes = yield getJournalThemes();
  }
  const currentTheme = getCurrentJournalTheme();
  if (!currentTheme) {
    return;
  }
  if (!themes.some((t) => t.type === newTheme)) {
    return;
  }
  if (currentTheme === newTheme) {
    return;
  }
  updateJournalTheme(newTheme);
  const journal = document.querySelector("#journalContainer");
  if (journal) {
    journal.classList.remove(currentTheme);
    journal.classList.add(newTheme);
  }
});
randomizeTheme = (skip = false) => __async(void 0, null, function* () {
  if (themes.length === 0) {
    themes = yield getJournalThemes();
  }
  if (skip) {
    themes = themes.filter((t) => t.type !== skip);
  }
  const current = getCurrentJournalTheme();
  if (current) {
    themes = themes.filter((t) => t.type !== current);
  }
  const theme = themes[Math.floor(Math.random() * themes.length)];
  updateJournalTheme(theme.type);
  return theme.type;
});
addRandomButton = () => {
  const journal = document.querySelector("#journalContainer .top");
  if (!journal) {
    return;
  }
  const button = makeElement("a", ["journalContainer-selectTheme", "mh-improved-random-journal"], "Randomize");
  button.addEventListener("click", randomizeTheme);
  journal.append(button);
};
changeJournalDaily = () => __async(void 0, null, function* () {
  const lastChangeValue = yield cacheGet("journal-changer-last-change", 0);
  const lastChange = new Date(Number.parseInt(lastChangeValue, 10));
  const now = /* @__PURE__ */ new Date();
  if (!lastChange || lastChange.getDate() !== now.getDate() || lastChange.getMonth() !== now.getMonth() || lastChange.getFullYear() !== now.getFullYear()) {
    const lastTheme = yield cacheGet("journal-changer-last-theme", false);
    const theme = yield randomizeTheme(lastTheme);
    cacheSet2("journal-changer-last-change", now.getTime());
    cacheSet2("journal-changer-last-theme", theme);
  }
});
init43 = () => __async(void 0, null, function* () {
  addStyles(styles_default36, "journal-changer");
  if (getSetting("journal-changer.change-daily", false)) {
    changeJournalDaily();
  }
  if (getSetting("journal-changer.change-location", true)) {
    changeForLocation();
    onEvent("travel_complete", changeForLocation);
  }
  onNavigation(addRandomButton, {
    page: "camp"
  });
});
journal_changer_default = {
  id: "journal-changer",
  name: "Journal Theme Changer",
  type: "feature",
  default: false,
  description: "Randomize your journal theme, randomize it daily, or change it based on your location.",
  load: init43,
  settings: settings_default19
};
}
});

// src/modules/inventory-only-open-multiple/styles.css
var styles_default37;
var init_styles38 = __esm({
"src/modules/inventory-only-open-multiple/styles.css"() {
styles_default37 = ".inventoryPage-item.convertible .inventoryPage-item-content-action input:first-of-type:not(:only-of-type){pointer-events:all;filter:grayscale(0)}.inventoryPage-item.convertible .inventoryPage-item-content-action input[data-item-action=all]{pointer-events:none;filter:grayscale(1)}.inventoryPage-item.convertible .inventoryPage-item-content-action input.allButOne{pointer-events:all;filter:none}.inventoryPage-item.convertible .locked .inventoryPage-item-content-action input:first-of-type:not(:only-of-type),.inventoryPage-item.convertible .locked .inventoryPage-item-content-action input.allButOne{pointer-events:none}\n";
}
});

// src/modules/inventory-only-open-multiple/index.js
var init44, inventory_only_open_multiple_default;
var init_inventory_only_open_multiple = __esm({
"src/modules/inventory-only-open-multiple/index.js"() {
init_utils2();
init_styles38();
init44 = () => __async(void 0, null, function* () {
  addStyles(styles_default37, "only-open-multiple");
});
inventory_only_open_multiple_default = {
  id: "only-open-multiple",
  name: "Inventory - Only Open Multiple",
  type: "feature",
  default: false,
  description: "Lock opening things in your inventory unless you have multiple of them.",
  load: init44
};
}
});

// src/modules/journal-privacy/settings/index.js
var settings_default20;
var init_settings21 = __esm({
"src/modules/journal-privacy/settings/index.js"() {
settings_default20 = () => __async(void 0, null, function* () {
  return [
    {
      id: "journal-privacy.show-toggle-icon",
      title: "Show toggle icon in top menu",
      default: true
    }
  ];
});
}
});

// src/modules/journal-privacy/icon.css
var icon_default;
var init_icon = __esm({
"src/modules/journal-privacy/icon.css"() {
icon_default = `.mousehuntHeaderView .menuItem.mousehunt-improved-journal-privacy-icon{display:flex;align-items:center;justify-content:center;width:20px;height:25px;padding:0;opacity:.5}.mousehuntHeaderView .menuItem.mousehunt-improved-journal-privacy-icon:hover{opacity:1}.mh-journal-privacy-enabled .mousehunt-improved-journal-privacy-icon:before,.mh-journal-privacy-disabled .mousehunt-improved-journal-privacy-icon:before{display:block;width:15px;height:15px;content:"";background-repeat:no-repeat;background-size:contain}.mh-journal-privacy-enabled .mousehunt-improved-journal-privacy-icon:before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path d="M10 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z" /><path fill-rule="evenodd" d="M.664 10.59a1.651 1.651 0 0 1 0-1.186A10.004 10.004 0 0 1 10 3c4.257 0 7.893 2.66 9.336 6.41.147.381.146.804 0 1.186A10.004 10.004 0 0 1 10 17c-4.257 0-7.893-2.66-9.336-6.41ZM14 10a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z" clip-rule="evenodd" /></svg>')}.mh-journal-privacy-disabled .mousehunt-improved-journal-privacy-icon:before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M3.28 2.22a.75.75 0 0 0-1.06 1.06l14.5 14.5a.75.75 0 1 0 1.06-1.06l-1.745-1.745a10.029 10.029 0 0 0 3.3-4.38 1.651 1.651 0 0 0 0-1.185A10.004 10.004 0 0 0 9.999 3a9.956 9.956 0 0 0-4.744 1.194L3.28 2.22ZM7.752 6.69l1.092 1.092a2.5 2.5 0 0 1 3.374 3.373l1.091 1.092a4 4 0 0 0-5.557-5.557Z" clip-rule="evenodd" /><path d="m10.748 13.93 2.523 2.523a9.987 9.987 0 0 1-3.27.547c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 0 1 0-1.186A10.007 10.007 0 0 1 2.839 6.02L6.07 9.252a4 4 0 0 0 4.678 4.678Z" /></svg>')}
`;
}
});

// src/modules/journal-privacy/styles.css
var styles_default38;
var init_styles39 = __esm({
"src/modules/journal-privacy/styles.css"() {
styles_default38 = '.mh-journal-privacy-enabled #journalContainer .entry:not(.badge) a[href*="profile.php"],.mh-journal-privacy-enabled #journalContainer .entry.socialGift .journaltext a,.mh-journal-privacy-enabled #journalContainer .relicHunter_complete>.journalbody>.journaltext>b:nth-child(6),.mh-journal-privacy-enabled #journalContainer .wanted_poster-complete>.journalbody>.journaltext>b:nth-child(8),.mh-journal-privacy-enabled #journalContainer .journal__hunter-name,.mh-journal-privacy-enabled .mh-journal-privacy-name{display:inline-block;color:transparent;transition:color .3s}.mh-journal-privacy-enabled #journalContainer .entry:not(.badge) #friend-data-wrapper a[href*="profile.php"]{color:#000}.mh-journal-privacy-enabled #journalContainer .entry:not(.badge) a[href*="profile.php"]:hover,.mh-journal-privacy-enabled #journalContainer .entry:not(.badge) a[href*="profile.php"]:focus,.mh-journal-privacy-enabled #journalContainer .entry.socialGift .journaltext a:hover,.mh-journal-privacy-enabled #journalContainer .entry.socialGift .journaltext a:focus,.mh-journal-privacy-enabled #journalContainer .relicHunter_complete>.journalbody>.journaltext>b:nth-child(6):hover,.mh-journal-privacy-enabled #journalContainer .relicHunter_complete>.journalbody>.journaltext>b:nth-child(6):focus,.mh-journal-privacy-enabled #journalContainer .wanted_poster-complete>.journalbody>.journaltext>b:nth-child(8):hover,.mh-journal-privacy-enabled #journalContainer .wanted_poster-complete>.journalbody>.journaltext>b:nth-child(8):focus #journalContainer .journal__hunter-name:hover,.mh-journal-privacy-enabled #journalContainer .journal__hunter-name:focus,.mh-journal-privacy-enabled .mh-journal-privacy-name:hover,.mh-journal-privacy-enabled .mh-journal-privacy-name:focus{display:inline;color:#3b5998}\n';
}
});

// src/modules/journal-privacy/index.js
var applyClassToNames, removeClassFromNames, enablePrivacy, disablePrivacy, addIcon2, removeIcon, isPrivacyEnabled, init45, journal_privacy_default;
var init_journal_privacy = __esm({
"src/modules/journal-privacy/index.js"() {
init_utils2();
init_settings21();
init_icon();
init_styles39();
applyClassToNames = () => {
  if (!isPrivacyEnabled) {
    return;
  }
  const entries = document.querySelectorAll("#journalContainer .entry.relicHunter_start .journaltext");
  if (!entries) {
    return;
  }
  entries.forEach((entry) => {
    if (!entry || !entry.textContent) {
      return;
    }
    if (entry.getAttribute("replaced") === "true") {
      return;
    }
    const match = entry.textContent.match(/(.*)( has joined the | has left the | used Rare Map Dust |, the map owner, has )/);
    if (match && match[1]) {
      const span = document.createElement("span");
      span.classList.add("mh-journal-privacy-name");
      span.textContent = match[1];
      entry.setAttribute("data-original", match[1]);
      entry.setAttribute("replaced", "true");
      entry.innerHTML = entry.innerHTML.replace(match[1], span.outerHTML);
    }
  });
};
removeClassFromNames = () => {
  if (isPrivacyEnabled) {
    return;
  }
  const entries = document.querySelectorAll("#journalContainer .entry.relicHunter_start .journaltext");
  if (!entries) {
    return;
  }
  entries.forEach((entry) => {
    if (!entry || !entry.textContent) {
      return;
    }
    if (entry.getAttribute("replaced") !== "true") {
      return;
    }
    const span = entry.querySelector(".mh-journal-privacy-name");
    if (span) {
      entry.innerHTML = entry.innerHTML.replace(span.outerHTML, span.textContent);
      entry.removeAttribute("replaced");
    }
  });
};
enablePrivacy = () => {
  addBodyClass("mh-journal-privacy-enabled", true);
  removeBodyClass("mh-journal-privacy-disabled");
  applyClassToNames();
};
disablePrivacy = () => {
  removeBodyClass("mh-journal-privacy-enabled");
  addBodyClass("mh-journal-privacy-disabled", true);
  removeClassFromNames();
};
addIcon2 = () => {
  if (!getSetting("journal-privacy.show-toggle-icon", false)) {
    return;
  }
  const existingIcon = document.querySelector("#mousehunt-improved-journal-privacy");
  if (existingIcon) {
    existingIcon.style.display = "";
    existingIcon.style.visibility = "";
    return;
  }
  addIconToMenu({
    id: "mousehunt-improved-journal-privacy",
    classname: "mousehunt-improved-journal-privacy-icon",
    title: "Toggle Journal Privacy",
    position: "prepend",
    action: () => {
      isPrivacyEnabled = !isPrivacyEnabled;
      if (isPrivacyEnabled) {
        disablePrivacy();
      } else {
        enablePrivacy();
      }
    }
  });
};
removeIcon = () => {
  if (getSetting("journal-privacy.show-toggle-icon", false)) {
    return;
  }
  const icon = document.querySelector("#mousehunt-improved-journal-privacy");
  if (icon) {
    icon.style.display = "none";
    icon.style.visibility = "hidden";
  }
};
isPrivacyEnabled = true;
init45 = () => __async(void 0, null, function* () {
  addStyles([styles_default38, icon_default], "journal-privacy");
  enablePrivacy();
  if (getSetting("journal-privacy.show-toggle-icon", false)) {
    addIcon2();
    disablePrivacy();
  }
  onRequest("pages/journal.php", applyClassToNames);
  onActivation(() => {
    addIcon2();
    enablePrivacy();
  });
  onDeactivation(() => {
    removeIcon();
    disablePrivacy();
  });
  onSettingsChange("journal-privacy.show-toggle-icon", {
    enable: addIcon2,
    disable: removeIcon
  });
});
journal_privacy_default = {
  id: "journal-privacy",
  name: "Journal Privacy",
  type: "element-hiding",
  default: false,
  description: "Hides player names in the journal. Good for screenshots that won't dox them.",
  load: init45,
  settings: settings_default20
};
}
});

// src/modules/larger-codices/styles.css
var styles_default39;
var init_styles40 = __esm({
"src/modules/larger-codices/styles.css"() {
styles_default39 = ".campPage-trap-itemBrowser-item.codex .campPage-trap-itemBrowser-item-leftBar,.campPage-trap-itemBrowser-item.codex .campPage-trap-itemBrowser-item-content{display:block;width:auto}.campPage-trap-itemBrowser-item.codex{position:relative;display:flex;flex-direction:column;align-items:center}.campPage-trap-itemBrowser-item.codex a.campPage-trap-itemBrowser-item-image{width:125px;height:125px}.campPage-trap-itemBrowser-item.codex .campPage-trap-itemBrowser-item-description{position:absolute;inset:-10px 0 0;padding:15px;overflow-y:scroll;background-color:#fffc;opacity:0;transition:.5s}.campPage-trap-itemBrowser-item.codex:hover .campPage-trap-itemBrowser-item-description{opacity:1}.mh-dark-mode .campPage-trap-itemBrowser-item.codex .campPage-trap-itemBrowser-item-description{background-color:#000c}.codex .campPage-trap-itemBrowser-item-image:after{border:none;box-shadow:none}\n";
}
});

// src/modules/larger-codices/index.js
var init46, larger_codices_default;
var init_larger_codices = __esm({
"src/modules/larger-codices/index.js"() {
init_utils2();
init_styles40();
init46 = () => {
  addStyles(styles_default39, "larger-codices");
};
larger_codices_default = {
  id: "larger-codices",
  name: "Larger Codices",
  type: "feature",
  default: true,
  description: "Shows larger images for codices in the trap selector.",
  load: init46
};
}
});

// src/modules/larger-skin-images/styles.css
var styles_default40;
var init_styles41 = __esm({
"src/modules/larger-skin-images/styles.css"() {
styles_default40 = ".skin .campPage-trap-itemBrowser-items{top:50px}.skin .campPage-trap-itemBrowser-item-description.shortDescription,.skin .campPage-trap-itemBrowser-item-image{display:none}.skin .campPage-trap-itemBrowser-item-content .campPage-trap-itemBrowser-item-name{margin-top:11px}.trapSelectorView__itemBrowserContainer.skin .campPage-trap-itemBrowser-tagGroup-name{display:none}.trapSelectorView__itemBrowserContainer.skin .campPage-trap-itemBrowser-items{right:5px;left:5px}\n";
}
});

// src/modules/larger-skin-images/index.js
var addSkinImages, updateSkinCache, getSkinCache, skinCache, init47, larger_skin_images_default;
var init_larger_skin_images = __esm({
"src/modules/larger-skin-images/index.js"() {
init_utils2();
init_styles41();
addSkinImages = () => __async(void 0, null, function* () {
  const blueprint = document.querySelector(".trapSelectorView__blueprint--active .trapSelectorView__browserStateParent");
  if (!blueprint) {
    return;
  }
  const type = blueprint.getAttribute("data-blueprint-type");
  if (!type || type !== "skin") {
    return;
  }
  const items2 = document.querySelectorAll(".campPage-trap-itemBrowser-item.skin");
  if (!items2) {
    return;
  }
  const existingImages = document.querySelectorAll(".itembrowser-skin-image-wrapper");
  if (existingImages) {
    existingImages.forEach((img) => {
      img.remove();
    });
  }
  getSkinCache();
  items2.forEach((item) => __async(void 0, null, function* () {
    const id = item.getAttribute("data-item-id");
    if (!id) {
      return;
    }
    skin = skinCache.find((s) => s.item_id == id);
    if (!skin || !skin.image_trap) {
      return;
    }
    const imageWrapper = makeElement("div", "itembrowser-skin-image-wrapper");
    const imageEl = makeElement("img", "itembrowser-skin-image");
    imageEl.setAttribute("src", skin.image_trap);
    imageEl.setAttribute("data-item-classification", "skin");
    imageEl.setAttribute("data-item-id", id);
    imageEl.addEventListener("click", (e) => {
      e.preventDefault();
      app.pages.CampPage.armItem(e.target);
    });
    imageWrapper.append(imageEl);
    item.insertBefore(imageWrapper, item.firstChild);
  }));
});
updateSkinCache = (data) => __async(void 0, null, function* () {
  skinCache = data;
  cacheSet2("skin-cache", data);
});
getSkinCache = () => __async(void 0, null, function* () {
  const cache = yield cacheGet("skin-cache");
  if (cache) {
    skinCache = cache;
  }
  return skinCache;
});
skinCache = [];
init47 = () => {
  addStyles(styles_default40, "larger-skin-images");
  onEvent("camp_page_toggle_blueprint", addSkinImages);
  onRequest("users/gettrapcomponents.php", (data) => {
    var _a;
    if ((data == null ? void 0 : data.components) && "skin" === ((_a = data == null ? void 0 : data.components[0]) == null ? void 0 : _a.classification)) {
      updateSkinCache(data.components);
    }
  });
};
larger_skin_images_default = {
  id: "larger-skin-images",
  name: "Larger Skin Images",
  type: "feature",
  default: true,
  description: "Shows larger images for skins in the trap selector.",
  load: init47
};
}
});

// src/modules/keyboard-shortcuts/actions.js
var actions_default;
var init_actions = __esm({
"src/modules/keyboard-shortcuts/actions.js"() {
init_utils2();
actions_default = () => {
  const shortcuts = [
    {
      id: "goto-travel",
      key: "t",
      description: "Travel",
      action: () => setPage("Travel"),
      category: "navigation"
    },
    {
      id: "goto-camp",
      key: "j",
      description: "Camp",
      action: () => setPage("Camp"),
      category: "navigation"
    },
    {
      id: "goto-friends",
      key: "f",
      description: "Friends",
      action: () => setPage("Friends"),
      category: "navigation"
    },
    {
      id: "goto-shops",
      key: "s",
      description: "Shops",
      action: () => setPage("Shops"),
      category: "navigation"
    },
    {
      id: "goto-profile",
      key: "p",
      description: "Your Hunter Profile",
      action: () => setPage("HunterProfile"),
      category: "navigation"
    },
    {
      id: "goto-send-supplies",
      description: "Send Supplies",
      action: () => setPage("SupplyTransfer"),
      category: "navigation"
    },
    {
      id: "goto-scoreboards",
      description: "Scoreboards",
      action: () => setPage("Scoreboards"),
      category: "navigation"
    },
    {
      id: "goto-team",
      description: "Team",
      action: () => setPage("Team"),
      category: "navigation"
    },
    {
      id: "goto-tournaments",
      description: "Tournaments",
      action: () => setPage("Tournament"),
      category: "navigation"
    },
    {
      id: "goto-wiki",
      description: "Wiki",
      action: () => setPage("Wiki"),
      category: "navigation"
    },
    {
      id: "goto-marketplace",
      description: "Open the Marketplace",
      action: () => hg.views.MarketplaceView.show(),
      category: "open-dialog"
    },
    {
      id: "open-inbox",
      description: "Open the Inbox",
      action: () => messenger.UI.notification.togglePopup(),
      category: "open-dialog"
    },
    {
      id: "open-gifts",
      description: "Open the Gifts popup",
      action: () => hg.views.GiftSelectorView.show(),
      category: "open-dialog"
    },
    {
      id: "open-map",
      key: "m",
      description: "Open your Map",
      action: () => hg.controllers.TreasureMapController.show(),
      category: "open-dialog"
    },
    {
      id: "open-map-invites",
      key: "i",
      description: "Open your Map Invites",
      action: () => hg.controllers.TreasureMapController.showCommunity(),
      category: "open-dialog"
    },
    {
      id: "open-travel-window",
      description: "Open the Travel Window",
      action: () => doEvent2("mh-improved-open-travel-window"),
      category: "open-dialog"
    },
    {
      id: "change-weapon",
      key: "w",
      description: "Change Weapon",
      action: () => hg.views.TrapSelectorView().show("weapon"),
      category: "trap-setup"
    },
    {
      id: "change-base",
      key: "b",
      description: "Change Base",
      action: () => hg.views.TrapSelectorView().show("base"),
      category: "trap-setup"
    },
    {
      id: "change-charm",
      key: "r",
      description: "Change Charm",
      action: () => hg.views.TrapSelectorView().show("trinket"),
      category: "trap-setup"
    },
    {
      id: "change-cheese",
      key: "c",
      description: "Change Cheese",
      action: () => hg.views.TrapSelectorView().show("bait"),
      category: "trap-setup"
    },
    {
      id: "change-skin",
      description: "Change Trap Skin",
      action: () => hg.views.TrapSelectorView().show("skin"),
      category: "trap-setup"
    },
    {
      id: "show-tem",
      key: "e",
      description: 'Show the <abbr title="Trap Effectiveness Meter">TEM</abbr>',
      action: () => document.querySelector("button.campPage-trap-trapEffectiveness.campPage-trap-statsContainer").click(),
      category: "trap-setup"
    },
    {
      id: "disarm-cheese",
      description: "Disarm your Cheese",
      action: () => hg.utils.TrapControl.disarmBait().go(),
      category: "trap-setup"
    },
    {
      id: "disarm-charm",
      description: "Disarm your Charm",
      action: () => hg.utils.TrapControl.disarmTrinket().go(),
      category: "trap-setup"
    },
    {
      id: "travel-to-previous-location",
      description: "Travel to previous location",
      action: () => doEvent2("mh-improved-goto-previous-location"),
      category: "misc"
    },
    {
      id: "toggle-inventory-lock",
      description: "Toggle Inventory Lock & Hide",
      action: () => doEvent2("mh-improved-toggle-inventory-lock"),
      category: "misc"
    },
    {
      id: "favorite-setups",
      description: "Open Favorite Setups",
      action: () => doEvent2("mh-improved-toggle-favorite-setups"),
      category: "trap-setup"
    }
  ];
  if (hasMiniCRE()) {
    shortcuts.push({
      id: "show-mini-cre",
      key: "l",
      description: "Open Mini CRE",
      action: () => {
        const minluckButton = document.querySelector(".min-luck-button");
        if (minluckButton) {
          minluckButton.click();
        }
      },
      category: "misc"
    });
  }
  return shortcuts;
};
}
});

// src/modules/keyboard-shortcuts/styles.css
var styles_default41;
var init_styles42 = __esm({
"src/modules/keyboard-shortcuts/styles.css"() {
styles_default41 = ".mh-ui-keyboard-shortcuts-popup-content h2{margin-bottom:10px}.mh-ui-keyboard-shortcut{display:flex;align-items:center;justify-content:space-between;padding:5px;font-size:12px;border-bottom:1px solid #ccc}.mh-ui-keyboard-shortcut:last-child{border-bottom:none}.mh-ui-keyboard-shortcut .description{flex-grow:1;font-size:11px}.mh-ui-keyboard-shortcut kbd{width:175px;height:11px;padding:3px;font-family:monospace;font-size:12px;text-align:center;white-space:nowrap;background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px #0003,0 0 0 2px #fff inset}.mh-ui-keyboard-shortcut .edit-controls{margin-right:10px}.mh-ui-keyboard-shortcut .edit-controls a{display:none}.mh-ui-keyboard-shortcut .edit-controls .edit,.mh-ui-keyboard-shortcuts-popup-content.editing .mh-ui-keyboard-shortcut.editing .edit-controls a,.mh-ui-keyboard-shortcut:focus .edit-controls .reset,.mh-ui-keyboard-shortcut:active .edit-controls .reset,.mh-ui-keyboard-shortcut:focus .edit-controls .edit,.mh-ui-keyboard-shortcut:active .edit-controls .edit,.mh-ui-keyboard-shortcut:focus .edit-controls .clear,.mh-ui-keyboard-shortcut:active .edit-controls .clear,.mh-ui-keyboard-shortcut.editing .edit-controls .edit{display:inline-block;margin-left:10px}.mh-ui-keyboard-shortcuts-popup-content.editing .mh-ui-keyboard-shortcut .edit-controls a{display:none}.mh-ui-keyboard-shortcut.saved kbd{background-color:#baf3ba;box-shadow:0 1px #0003,0 0 0 2px #daffda inset}.mh-ui-keyboard-shortcut.error kbd{background-color:#fda0a0;box-shadow:0 1px #0003,0 0 0 2px #ff8e8e inset}.mh-ui-keyboard-shortcut.editing kbd{background-color:#cce8ff;box-shadow:0 1px #0003,0 0 0 2px #acd9ff inset}.mh-ui-keyboard-shortcut.editing .description{color:#3b5998}.mh-ui-keyboard-shortcut.editing{background-color:#eff8ff}.mh-ui-keyboard-shortcuts-popup-content-category summary{padding:10px;font-size:14px;background-color:#eee}.mh-ui-keyboard-shortcuts-popup-content-category{margin:10px 0;border:1px solid #929292}.mh-ui-keyboard-shortcut:nth-child(2n){background-color:#eee}.mh-ui-keyboard-shortcuts-popup-content-category-list{border-top:1px solid #929292}\n";
}
});

// src/modules/keyboard-shortcuts/index.js
var getBaseShortcuts, getShortcuts, saveShortcut, getKeyForDisplay, isHelpPopupOpen, showHelpPopup, isEditing2, listenForKeypresses, openFromSettings, init48, keyboard_shortcuts_default;
var init_keyboard_shortcuts = __esm({
"src/modules/keyboard-shortcuts/index.js"() {
init_utils2();
init_actions();
init_styles42();
getBaseShortcuts = () => {
  return [
    {
      id: "help",
      key: "?",
      shiftKey: true,
      description: "Help",
      action: showHelpPopup,
      category: "hidden"
    },
    {
      id: "close-popup",
      key: "Escape",
      description: "Close the current popup",
      action: () => activejsDialog.hide(),
      category: "hidden"
    },
    ...actions_default()
  ];
};
getShortcuts = () => {
  const shortcuts = getBaseShortcuts();
  const saved = getSetting("keyboard-shortcuts.shortcuts", []);
  if (!saved || !saved.length) {
    return shortcuts;
  }
  saved.forEach((savedShortcut) => {
    const shortcut = shortcuts.find((s) => s.id === savedShortcut.id);
    if (!shortcut) {
      return;
    }
    shortcut.key = savedShortcut.key;
    shortcut.ctrlKey = savedShortcut.ctrlKey;
    shortcut.metaKey = savedShortcut.metaKey;
    shortcut.altKey = savedShortcut.altKey;
    shortcut.shiftKey = savedShortcut.shiftKey;
  });
  return shortcuts;
};
saveShortcut = (shortcutId, shortcutKey) => {
  let saved = getSetting("keyboard-shortcuts.shortcuts", []);
  if (!saved || !saved.length) {
    saved = [];
  }
  const toSave = {
    id: shortcutId,
    key: shortcutKey.key,
    ctrlKey: shortcutKey.ctrlKey,
    metaKey: shortcutKey.metaKey,
    altKey: shortcutKey.altKey,
    shiftKey: shortcutKey.shiftKey
  };
  const existingShortcut = saved.find((s) => s.id === shortcutId);
  if (existingShortcut) {
    saved = saved.filter((s) => s.id !== shortcutId);
  }
  if (toSave.key !== "Backspace" && toSave.key !== "Delete" && toSave.key !== " ") {
    saved.push(toSave);
  }
  saveSetting("keyboard-shortcuts.shortcuts", saved);
  const savedElement = document.querySelector(`.mh-ui-keyboard-shortcut[data-shortcut-id="${shortcutId}"]`);
  if (savedElement) {
    savedElement.classList.add("saved");
    setTimeout(() => {
      savedElement.classList.remove("saved");
    }, 300);
  }
};
getKeyForDisplay = (keyEvent) => {
  let keyString = "";
  const keysToShow = [];
  if (keyEvent.metaKey) {
    keysToShow.push(isAppleOS() ? "\u2318" : "\u229E");
  }
  if (keyEvent.ctrlKey) {
    keysToShow.push(isAppleOS() ? "\u2303" : "Ctrl");
  }
  if (keyEvent.altKey) {
    keysToShow.push(isAppleOS() ? "\u2325" : "Alt");
  }
  if (keyEvent.shiftKey) {
    keysToShow.push("Shift");
  }
  switch (keyEvent.key) {
    case " ":
      keysToShow.push("Space");
      break;
    case "ArrowUp":
      keysToShow.push("\u2191");
      break;
    case "ArrowDown":
      keysToShow.push("\u2193");
      break;
    case "ArrowLeft":
      keysToShow.push("\u2190");
      break;
    case "ArrowRight":
      keysToShow.push("\u2192");
      break;
    case "Backspace":
      keysToShow.push("");
      break;
    default:
      if (keyEvent.key && keyEvent.key.length === 1) {
        keysToShow.push(keyEvent.key.toUpperCase());
      } else {
        keysToShow.push(keyEvent.key);
      }
      break;
  }
  keyString = keysToShow.join('<span class="connector"> + </span>');
  return keyString;
};
isHelpPopupOpen = () => {
  const overlay = getCurrentDialog();
  if (!overlay) {
    return false;
  }
  return "mh-ui-keyboard-shortcuts-popup" === overlay;
};
showHelpPopup = () => {
  if (activejsDialog && activejsDialog.hide) {
    if (isHelpPopupOpen()) {
      activejsDialog.hide();
      return;
    }
    activejsDialog.hide();
  }
  const shortcuts = getShortcuts();
  let innerContent = "";
  const categories2 = [
    {
      id: "navigation",
      name: "Page Navigation",
      startOpen: true
    },
    {
      id: "open-dialog",
      name: "Open Dialogs/Popups",
      startOpen: true
    },
    {
      id: "trap-setup",
      name: "Modify Trap Setup",
      startOpen: false
    },
    {
      id: "misc",
      name: "Miscellaneous",
      startOpen: false
    }
  ];
  categories2.forEach((category) => {
    innerContent += `<details class="mh-ui-keyboard-shortcuts-popup-content-category" ${category.startOpen ? "open" : ""}>
<summary>${category.name}</summary>
<div class="mh-ui-keyboard-shortcuts-popup-content-category-description">
  ${category.description || ""}
</div>
<div class="mh-ui-keyboard-shortcuts-popup-content-category-list">`;
    const categoryShortcuts = shortcuts.filter((s) => s.category === category.id);
    categoryShortcuts.sort((a, b) => {
      if (a.description < b.description) {
        return -1;
      }
      if (a.description > b.description) {
        return 1;
      }
      return 0;
    });
    categoryShortcuts.forEach((shortcut) => {
      if ("hidden" === shortcut.category) {
        return;
      }
      innerContent += `<div class="mh-ui-keyboard-shortcut" data-shortcut-id="${shortcut.id}">
<div class="description">${shortcut.description}</div>
<div class="edit-controls">
  <a class="clear">Clear</a>
  <a class="reset">Reset</a>
  <a class="edit">Edit</a>
</div>
<kbd>${getKeyForDisplay(shortcut)}</kbd>
</div>`;
    });
    innerContent += "</div></details>";
  });
  const content = `<div class="mh-ui-keyboard-shortcuts-popup-content">
<h2 class="mh-ui-keyboard-shortcuts-edit-content">
To edit a shortcut, click on <em>Edit</em> on the shortcut, then press the key combination you want to use.
</h2>
<div class="mh-ui-keyboard-shortcuts-popup-content-list">
${innerContent}
</div>
</div>`;
  createPopup({
    title: "MouseHunt Improved Keyboard Shortcuts",
    content,
    hasCloseButton: true,
    show: true,
    className: "mh-ui-keyboard-shortcuts-popup"
  });
  const shortcutsWrapper = document.querySelector(".mh-ui-keyboard-shortcuts-popup-content");
  const shortcutButtons = document.querySelectorAll(".mh-ui-keyboard-shortcuts-popup-content-list .mh-ui-keyboard-shortcut");
  shortcutButtons.forEach((shortcut) => {
    const shortcutId = shortcut.getAttribute("data-shortcut-id");
    const editButton = shortcut.querySelector(".edit");
    const resetButton = shortcut.querySelector(".reset");
    const clearButton = shortcut.querySelector(".clear");
    const kbd = shortcut.querySelector("kbd");
    const startEditing = () => {
      isEditing2 = true;
      editButton.innerText = "Cancel";
      shortcut.classList.add("editing");
      shortcutsWrapper.classList.add("editing");
      document.addEventListener("keydown", keypressListener);
    };
    const finishEditing = (id = false, key = false) => {
      isEditing2 = false;
      editButton.innerText = "Edit";
      shortcut.classList.remove("editing");
      shortcutsWrapper.classList.remove("editing");
      document.removeEventListener("keydown", keypressListener);
      if (!id || !key) {
        return;
      }
      saveShortcut(id, key);
      kbd.innerHTML = getKeyForDisplay(key);
    };
    const keypressListener = (event) => {
      if (["Alt", "Shift", "Control", "Meta"].includes(event.key)) {
        return;
      }
      const theShortcut = getShortcuts().find((s) => {
        return s.key === event.key && event.ctrlKey === (s.ctrlKey || false) && event.metaKey === (s.metaKey || false) && event.altKey === (s.altKey || false) && event.shiftKey === (s.shiftKey || false);
      });
      if (theShortcut) {
        const matchingShortcut = document.querySelector(`.mh-ui-keyboard-shortcut[data-shortcut-id="${theShortcut.id}"]`);
        if (!matchingShortcut) {
          return;
        }
        if (shortcutId === theShortcut.id) {
          finishEditing(shortcutId, event);
          return;
        }
        matchingShortcut.classList.add("error");
        shortcut.classList.add("error");
        setTimeout(() => {
          matchingShortcut.classList.remove("error");
          shortcut.classList.remove("error");
        }, 300);
        return;
      }
      finishEditing(shortcutId, event);
    };
    editButton.addEventListener("click", () => {
      if (isEditing2) {
        finishEditing();
      } else {
        startEditing();
      }
    });
    resetButton.addEventListener("click", () => {
      const defaultShortcut = getBaseShortcuts().find((s) => s.id === shortcutId);
      if (!defaultShortcut) {
        return;
      }
      finishEditing(shortcutId, defaultShortcut);
    });
    clearButton.addEventListener("click", () => {
      finishEditing(shortcutId, {
        key: "",
        ctrlKey: false,
        metaKey: false,
        altKey: false,
        shiftKey: false
      });
    });
  });
};
isEditing2 = false;
listenForKeypresses = () => {
  document.addEventListener("keydown", (event) => {
    var _a, _b;
    if (isHelpPopupOpen() || isEditing2 || user.has_puzzle) {
      return;
    }
    const tagName = (_b = (_a = event == null ? void 0 : event.target) == null ? void 0 : _a.tagName) == null ? void 0 : _b.toLowerCase();
    if ("input" === tagName || "textarea" === tagName || "select" === tagName) {
      return;
    }
    const shortcuts = getShortcuts();
    const shortcut = shortcuts.find((s) => {
      s.ctrlKey = s.ctrlKey || false;
      s.metaKey = s.metaKey || false;
      s.altKey = s.altKey || false;
      s.shiftKey = s.shiftKey || false;
      return s.key === event.key && s.ctrlKey === event.ctrlKey && s.metaKey === event.metaKey && s.altKey === event.altKey && s.shiftKey === event.shiftKey;
    });
    if (shortcut && shortcut.action) {
      event.preventDefault();
      event.stopPropagation();
      shortcut.action();
    }
  });
};
openFromSettings = () => {
  if ("preferences" !== getCurrentPage()) {
    return;
  }
  const openLink = document.querySelector(".mh-ui-keyboard-shortcuts-edit");
  if (!openLink) {
    return;
  }
  openLink.addEventListener("click", (event) => {
    event.preventDefault();
    showHelpPopup();
  });
};
init48 = () => __async(void 0, null, function* () {
  addStyles(styles_default41, "keyboard-shortcuts");
  listenForKeypresses();
  onNavigation(hasMiniCRE, {
    page: "camp"
  });
  onNavigation(openFromSettings, {
    page: "preferences",
    tab: "mousehunt-improved-settings"
  });
});
keyboard_shortcuts_default = {
  id: "keyboard-shortcuts",
  name: "Keyboard Shortcuts",
  type: "feature",
  default: true,
  description: `Press '?' to see and edit the keyboard shortcuts. You can also <a href="#" class="mh-ui-keyboard-shortcuts-edit">edit them here</a>.`,
  load: init48
};
}
});

// src/modules/larrys-links/links.json
var links_default;
var init_links2 = __esm({
"src/modules/larrys-links/links.json"() {
links_default = {
  links: {
    meadow: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/novice#meadow"
      }
    ],
    town_of_gnawnia: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/recruit#town-of-gnawnia"
      }
    ],
    windmill: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/apprentice#windmill"
      }
    ],
    harbour: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/initiate#harbour"
      }
    ],
    mountain: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/journeyman-journeywoman#mountain"
      }
    ],
    kings_arms: [],
    tournament_hall: [],
    kings_gauntlet: [],
    calm_clearing: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/master#calm-clearing"
      }
    ],
    great_gnarled_tree: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/master#great-gnarled-tree"
      }
    ],
    lagoon: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/master#lagoon"
      }
    ],
    laboratory: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/master#laboratory"
      }
    ],
    mousoleum: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/master#mousoleum"
      }
    ],
    town_of_digby: [],
    bazaar: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/grandmaster#bazaar"
      }
    ],
    pollution_outbreak: [],
    training_grounds: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/grandmaster#training-grounds"
      }
    ],
    dojo: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/grandmaster#dojo"
      }
    ],
    meditation_room: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/grandmaster#meditation-room"
      }
    ],
    pinnacle_chamber: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/grandmaster#pinnacle-chamber"
      }
    ],
    catacombs: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/hero#catacombs"
      }
    ],
    forbidden_grove: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/hero#forbidden-grove"
      }
    ],
    acolyte_realm: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/hero#acolyte-realm"
      }
    ],
    cape_clawed: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/legendary#cape-clawed"
      }
    ],
    elub_shore: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/legendary#elub-shore"
      }
    ],
    nerg_plains: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/legendary#nerg-plains"
      }
    ],
    derr_dunes: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/legendary#derr-dunes"
      }
    ],
    jungle_of_dread: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/hero#jungle-of-dread"
      }
    ],
    dracano: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/knight#dracano"
      }
    ],
    balacks_cove: [],
    claw_shot_city: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/lord-lady#claw-shot-city"
      }
    ],
    train_station: [],
    fort_rox: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/baron-baroness#fort-rox"
      }
    ],
    desert_warpath: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/baron-baroness#fiery-warpath"
      }
    ],
    desert_city: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/baron-baroness#muridae-market"
      }
    ],
    desert_oasis: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/baron-baroness#living-garden"
      }
    ],
    lost_city: [],
    sand_dunes: [],
    ss_huntington_ii: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/legendary#ss-huntington-iv"
      }
    ],
    seasonal_garden: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/lord-lady#seasonal-garden"
      }
    ],
    zugzwang_tower: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/lord-lady#zugzwangs-tower"
      }
    ],
    zugzwang_library: [],
    slushy_shoreline: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/lord-lady#slushy-shoreline"
      }
    ],
    iceberg: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/lord-lady#iceberg"
      }
    ],
    sunken_city: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/count-countess#sunken-city"
      }
    ],
    queso_river: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/count-countess#queso-river"
      }
    ],
    queso_plains: [],
    queso_quarry: [],
    queso_geyser: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/count-countess#queso-geyser"
      }
    ],
    fungal_cavern: [],
    labyrinth: [],
    ancient_city: [],
    moussu_picchu: [],
    floating_islands: [],
    foreword_farm: [],
    prologue_pond: [],
    table_of_contents: [],
    bountiful_beanstalk: [],
    rift_gnawnia: [
      {
        text: "MouseHunt Essentials Guide",
        url: "https://guide.mouse.rip/guide/count-countess#gnawnia-rift"
      }
    ],
    rift_burroughs: [],
    rift_whisker_woods: [],
    rift_furoma: [],
    rift_bristle_woods: [],
    rift_valour: []
  },
  images: {
    super_brie_factory: [
      {
        url: "https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExZGxrNmFwZjVpaHRwd2Rncng4aThwNGh5anc0NjkzZ21iYWRuM3NoNSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/tOYq12nXAdY6TG9vS3/giphy.gif",
        alt: "happy birthday"
      }
    ]
  }
};
}
});

// src/modules/larrys-links/styles.css
var styles_default42;
var init_styles43 = __esm({
"src/modules/larrys-links/styles.css"() {
styles_default42 = ".mh-improved-larrys-links{padding-top:20px;border-top:1px solid #cbc6bb}.mh-improved-larrys-links ul{margin-left:20px;list-style:disc}.mh-improved-larrys-images{margin-bottom:20px}.mh-improved-larrys-image{max-width:330px}\n";
}
});

// src/modules/larrys-links/index.js
var addLinks3, addImages, main16, init49, larrys_links_default;
var init_larrys_links = __esm({
"src/modules/larrys-links/index.js"() {
init_utils2();
init_links2();
init_styles43();
addLinks3 = (links) => {
  const larryContainer = document.querySelector(".campPage-tabs-tabContent-larryTip-container");
  if (!larryContainer) {
    return;
  }
  const linksContainer = makeElement("div", ["mh-improved-larrys-links"]);
  makeElement("h3", ["campPage-tabs-tabContent-larryTip-environment", "mh-improved-larrys-links-title"], "Larry's Links", linksContainer);
  const linksList = makeElement("ul");
  links.forEach((link) => {
    const linkItem = makeElement("li");
    const linkEl = makeElement("a", "", link.text);
    linkEl.href = link.url;
    linkEl.target = "_larrys_links";
    linkEl.rel = "noopener noreferrer";
    linkItem.append(linkEl);
    linksList.append(linkItem);
  });
  linksContainer.append(linksList);
  const existingLinks = document.querySelector(".mh-improved-larrys-links");
  if (existingLinks) {
    existingLinks.replaceWith(linksContainer);
  } else {
    larryContainer.append(linksContainer);
  }
};
addImages = (images) => {
  const larryContainer = document.querySelector(".campPage-tabs-tabContent-larryTip-container");
  if (!larryContainer) {
    return;
  }
  const imagesContainer = makeElement("div", ["mh-improved-larrys-images"]);
  images.forEach((image) => {
    const imageEl = makeElement("img", ["mh-improved-larrys-image"]);
    imageEl.src = image.url;
    imageEl.alt = image.alt;
    imagesContainer.append(imageEl);
  });
  const existingImages = document.querySelector(".mh-improved-larrys-images");
  if (existingImages) {
    existingImages.replaceWith(imagesContainer);
  } else {
    larryContainer.prepend(imagesContainer);
  }
};
main16 = () => {
  var _a, _b, _c, _d;
  const location = getCurrentLocation();
  if ((_b = (_a = links_default) == null ? void 0 : _a.links) == null ? void 0 : _b[location]) {
    addLinks3(links_default.links[location]);
  }
  if ((_d = (_c = links_default) == null ? void 0 : _c.images) == null ? void 0 : _d[location]) {
    addImages(links_default.images[location]);
  }
};
init49 = () => __async(void 0, null, function* () {
  addStyles(styles_default42, "larrys-links");
  onNavigation(main16, {
    page: "camp",
    onLoad: true
  });
});
larrys_links_default = {
  id: "larrys-links",
  name: "Larry's Links",
  description: "Adds links to guides and resources to Larry's Tips.",
  type: "beta",
  default: false,
  load: init49
};
}
});

// node_modules/humanize-duration/humanize-duration.js
var require_humanize_duration = __commonJS({
"node_modules/humanize-duration/humanize-duration.js"(exports, module) {
(function() {
  var GREEK = language(
    function(c) {
      return c === 1 ? "\u03C7\u03C1\u03CC\u03BD\u03BF\u03C2" : "\u03C7\u03C1\u03CC\u03BD\u03B9\u03B1";
    },
    function(c) {
      return c === 1 ? "\u03BC\u03AE\u03BD\u03B1\u03C2" : "\u03BC\u03AE\u03BD\u03B5\u03C2";
    },
    function(c) {
      return c === 1 ? "\u03B5\u03B2\u03B4\u03BF\u03BC\u03AC\u03B4\u03B1" : "\u03B5\u03B2\u03B4\u03BF\u03BC\u03AC\u03B4\u03B5\u03C2";
    },
    function(c) {
      return c === 1 ? "\u03BC\u03AD\u03C1\u03B1" : "\u03BC\u03AD\u03C1\u03B5\u03C2";
    },
    function(c) {
      return c === 1 ? "\u03CE\u03C1\u03B1" : "\u03CE\u03C1\u03B5\u03C2";
    },
    function(c) {
      return c === 1 ? "\u03BB\u03B5\u03C0\u03C4\u03CC" : "\u03BB\u03B5\u03C0\u03C4\u03AC";
    },
    function(c) {
      return c === 1 ? "\u03B4\u03B5\u03C5\u03C4\u03B5\u03C1\u03CC\u03BB\u03B5\u03C0\u03C4\u03BF" : "\u03B4\u03B5\u03C5\u03C4\u03B5\u03C1\u03CC\u03BB\u03B5\u03C0\u03C4\u03B1";
    },
    function(c) {
      return (c === 1 ? "\u03C7\u03B9\u03BB\u03B9\u03BF\u03C3\u03C4\u03CC" : "\u03C7\u03B9\u03BB\u03B9\u03BF\u03C3\u03C4\u03AC") + " \u03C4\u03BF\u03C5 \u03B4\u03B5\u03C5\u03C4\u03B5\u03C1\u03BF\u03BB\u03AD\u03C0\u03C4\u03BF\u03C5";
    },
    ","
  );
  var LANGUAGES = {
    af: language(
      "jaar",
      function(c) {
        return "maand" + (c === 1 ? "" : "e");
      },
      function(c) {
        return c === 1 ? "week" : "weke";
      },
      function(c) {
        return c === 1 ? "dag" : "dae";
      },
      function(c) {
        return c === 1 ? "uur" : "ure";
      },
      function(c) {
        return c === 1 ? "minuut" : "minute";
      },
      function(c) {
        return "sekonde" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "millisekonde" + (c === 1 ? "" : "s");
      },
      ","
    ),
    ar: assign(
      language(
        function(c) {
          return ["\u0633\u0646\u0629", "\u0633\u0646\u062A\u0627\u0646", "\u0633\u0646\u0648\u0627\u062A"][getArabicForm(c)];
        },
        function(c) {
          return ["\u0634\u0647\u0631", "\u0634\u0647\u0631\u0627\u0646", "\u0623\u0634\u0647\u0631"][getArabicForm(c)];
        },
        function(c) {
          return ["\u0623\u0633\u0628\u0648\u0639", "\u0623\u0633\u0628\u0648\u0639\u064A\u0646", "\u0623\u0633\u0627\u0628\u064A\u0639"][getArabicForm(c)];
        },
        function(c) {
          return ["\u064A\u0648\u0645", "\u064A\u0648\u0645\u064A\u0646", "\u0623\u064A\u0627\u0645"][getArabicForm(c)];
        },
        function(c) {
          return ["\u0633\u0627\u0639\u0629", "\u0633\u0627\u0639\u062A\u064A\u0646", "\u0633\u0627\u0639\u0627\u062A"][getArabicForm(c)];
        },
        function(c) {
          return ["\u062F\u0642\u064A\u0642\u0629", "\u062F\u0642\u064A\u0642\u062A\u0627\u0646", "\u062F\u0642\u0627\u0626\u0642"][getArabicForm(c)];
        },
        function(c) {
          return ["\u062B\u0627\u0646\u064A\u0629", "\u062B\u0627\u0646\u064A\u062A\u0627\u0646", "\u062B\u0648\u0627\u0646\u064A"][getArabicForm(c)];
        },
        function(c) {
          return ["\u062C\u0632\u0621 \u0645\u0646 \u0627\u0644\u062B\u0627\u0646\u064A\u0629", "\u062C\u0632\u0622\u0646 \u0645\u0646 \u0627\u0644\u062B\u0627\u0646\u064A\u0629", "\u0623\u062C\u0632\u0627\u0621 \u0645\u0646 \u0627\u0644\u062B\u0627\u0646\u064A\u0629"][getArabicForm(c)];
        },
        ","
      ),
      {
        delimiter: " \uFEED ",
        _digitReplacements: ["\u06F0", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
      }
    ),
    bg: language(
      function(c) {
        return ["\u0433\u043E\u0434\u0438\u043D\u0438", "\u0433\u043E\u0434\u0438\u043D\u0430", "\u0433\u043E\u0434\u0438\u043D\u0438"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0435\u0441\u0435\u0446\u0430", "\u043C\u0435\u0441\u0435\u0446", "\u043C\u0435\u0441\u0435\u0446\u0430"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0441\u0435\u0434\u043C\u0438\u0446\u0438", "\u0441\u0435\u0434\u043C\u0438\u0446\u0430", "\u0441\u0435\u0434\u043C\u0438\u0446\u0438"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0434\u043D\u0438", "\u0434\u0435\u043D", "\u0434\u043D\u0438"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0447\u0430\u0441\u0430", "\u0447\u0430\u0441", "\u0447\u0430\u0441\u0430"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0438\u043D\u0443\u0442\u0438", "\u043C\u0438\u043D\u0443\u0442\u0430", "\u043C\u0438\u043D\u0443\u0442\u0438"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0441\u0435\u043A\u0443\u043D\u0434\u0438", "\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u0441\u0435\u043A\u0443\u043D\u0434\u0438"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0438", "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0438"][getSlavicForm(c)];
      },
      ","
    ),
    bn: language(
      "\u09AC\u099B\u09B0",
      "\u09AE\u09BE\u09B8",
      "\u09B8\u09AA\u09CD\u09A4\u09BE\u09B9",
      "\u09A6\u09BF\u09A8",
      "\u0998\u09A8\u09CD\u099F\u09BE",
      "\u09AE\u09BF\u09A8\u09BF\u099F",
      "\u09B8\u09C7\u0995\u09C7\u09A8\u09CD\u09A1",
      "\u09AE\u09BF\u09B2\u09BF\u09B8\u09C7\u0995\u09C7\u09A8\u09CD\u09A1"
    ),
    ca: language(
      function(c) {
        return "any" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "mes" + (c === 1 ? "" : "os");
      },
      function(c) {
        return "setman" + (c === 1 ? "a" : "es");
      },
      function(c) {
        return "di" + (c === 1 ? "a" : "es");
      },
      function(c) {
        return "hor" + (c === 1 ? "a" : "es");
      },
      function(c) {
        return "minut" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "segon" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "milisegon" + (c === 1 ? "" : "s");
      },
      ","
    ),
    ckb: language(
      "\u0633\u0627\u06B5",
      "\u0645\u0627\u0646\u06AF",
      "\u0647\u06D5\u0641\u062A\u06D5",
      "\u0695\u06C6\u0698",
      "\u06A9\u0627\u0698\u06CE\u0631",
      "\u062E\u0648\u0644\u06D5\u06A9",
      "\u0686\u0631\u06A9\u06D5",
      "\u0645\u06CC\u0644\u06CC \u0686\u0631\u06A9\u06D5",
      "."
    ),
    cs: language(
      function(c) {
        return ["rok", "roku", "roky", "let"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["m\u011Bs\xEDc", "m\u011Bs\xEDce", "m\u011Bs\xEDce", "m\u011Bs\xEDc\u016F"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["t\xFDden", "t\xFDdne", "t\xFDdny", "t\xFDdn\u016F"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["den", "dne", "dny", "dn\xED"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["hodina", "hodiny", "hodiny", "hodin"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["minuta", "minuty", "minuty", "minut"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["sekunda", "sekundy", "sekundy", "sekund"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["milisekunda", "milisekundy", "milisekundy", "milisekund"][getCzechOrSlovakForm(c)];
      },
      ","
    ),
    cy: language(
      "flwyddyn",
      "mis",
      "wythnos",
      "diwrnod",
      "awr",
      "munud",
      "eiliad",
      "milieiliad"
    ),
    da: language(
      "\xE5r",
      function(c) {
        return "m\xE5ned" + (c === 1 ? "" : "er");
      },
      function(c) {
        return "uge" + (c === 1 ? "" : "r");
      },
      function(c) {
        return "dag" + (c === 1 ? "" : "e");
      },
      function(c) {
        return "time" + (c === 1 ? "" : "r");
      },
      function(c) {
        return "minut" + (c === 1 ? "" : "ter");
      },
      function(c) {
        return "sekund" + (c === 1 ? "" : "er");
      },
      function(c) {
        return "millisekund" + (c === 1 ? "" : "er");
      },
      ","
    ),
    de: language(
      function(c) {
        return "Jahr" + (c === 1 ? "" : "e");
      },
      function(c) {
        return "Monat" + (c === 1 ? "" : "e");
      },
      function(c) {
        return "Woche" + (c === 1 ? "" : "n");
      },
      function(c) {
        return "Tag" + (c === 1 ? "" : "e");
      },
      function(c) {
        return "Stunde" + (c === 1 ? "" : "n");
      },
      function(c) {
        return "Minute" + (c === 1 ? "" : "n");
      },
      function(c) {
        return "Sekunde" + (c === 1 ? "" : "n");
      },
      function(c) {
        return "Millisekunde" + (c === 1 ? "" : "n");
      },
      ","
    ),
    el: GREEK,
    en: language(
      function(c) {
        return "year" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "month" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "week" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "day" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "hour" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "minute" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "second" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "millisecond" + (c === 1 ? "" : "s");
      }
    ),
    eo: language(
      function(c) {
        return "jaro" + (c === 1 ? "" : "j");
      },
      function(c) {
        return "monato" + (c === 1 ? "" : "j");
      },
      function(c) {
        return "semajno" + (c === 1 ? "" : "j");
      },
      function(c) {
        return "tago" + (c === 1 ? "" : "j");
      },
      function(c) {
        return "horo" + (c === 1 ? "" : "j");
      },
      function(c) {
        return "minuto" + (c === 1 ? "" : "j");
      },
      function(c) {
        return "sekundo" + (c === 1 ? "" : "j");
      },
      function(c) {
        return "milisekundo" + (c === 1 ? "" : "j");
      },
      ","
    ),
    es: language(
      function(c) {
        return "a\xF1o" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "mes" + (c === 1 ? "" : "es");
      },
      function(c) {
        return "semana" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "d\xEDa" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "hora" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "minuto" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "segundo" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "milisegundo" + (c === 1 ? "" : "s");
      },
      ","
    ),
    et: language(
      function(c) {
        return "aasta" + (c === 1 ? "" : "t");
      },
      function(c) {
        return "kuu" + (c === 1 ? "" : "d");
      },
      function(c) {
        return "n\xE4dal" + (c === 1 ? "" : "at");
      },
      function(c) {
        return "p\xE4ev" + (c === 1 ? "" : "a");
      },
      function(c) {
        return "tund" + (c === 1 ? "" : "i");
      },
      function(c) {
        return "minut" + (c === 1 ? "" : "it");
      },
      function(c) {
        return "sekund" + (c === 1 ? "" : "it");
      },
      function(c) {
        return "millisekund" + (c === 1 ? "" : "it");
      },
      ","
    ),
    eu: language(
      "urte",
      "hilabete",
      "aste",
      "egun",
      "ordu",
      "minutu",
      "segundo",
      "milisegundo",
      ","
    ),
    fa: language(
      "\u0633\u0627\u0644",
      "\u0645\u0627\u0647",
      "\u0647\u0641\u062A\u0647",
      "\u0631\u0648\u0632",
      "\u0633\u0627\u0639\u062A",
      "\u062F\u0642\u06CC\u0642\u0647",
      "\u062B\u0627\u0646\u06CC\u0647",
      "\u0645\u06CC\u0644\u06CC \u062B\u0627\u0646\u06CC\u0647"
    ),
    fi: language(
      function(c) {
        return c === 1 ? "vuosi" : "vuotta";
      },
      function(c) {
        return c === 1 ? "kuukausi" : "kuukautta";
      },
      function(c) {
        return "viikko" + (c === 1 ? "" : "a");
      },
      function(c) {
        return "p\xE4iv\xE4" + (c === 1 ? "" : "\xE4");
      },
      function(c) {
        return "tunti" + (c === 1 ? "" : "a");
      },
      function(c) {
        return "minuutti" + (c === 1 ? "" : "a");
      },
      function(c) {
        return "sekunti" + (c === 1 ? "" : "a");
      },
      function(c) {
        return "millisekunti" + (c === 1 ? "" : "a");
      },
      ","
    ),
    fo: language(
      "\xE1r",
      function(c) {
        return c === 1 ? "m\xE1na\xF0ur" : "m\xE1na\xF0ir";
      },
      function(c) {
        return c === 1 ? "vika" : "vikur";
      },
      function(c) {
        return c === 1 ? "dagur" : "dagar";
      },
      function(c) {
        return c === 1 ? "t\xEDmi" : "t\xEDmar";
      },
      function(c) {
        return c === 1 ? "minuttur" : "minuttir";
      },
      "sekund",
      "millisekund",
      ","
    ),
    fr: language(
      function(c) {
        return "an" + (c >= 2 ? "s" : "");
      },
      "mois",
      function(c) {
        return "semaine" + (c >= 2 ? "s" : "");
      },
      function(c) {
        return "jour" + (c >= 2 ? "s" : "");
      },
      function(c) {
        return "heure" + (c >= 2 ? "s" : "");
      },
      function(c) {
        return "minute" + (c >= 2 ? "s" : "");
      },
      function(c) {
        return "seconde" + (c >= 2 ? "s" : "");
      },
      function(c) {
        return "milliseconde" + (c >= 2 ? "s" : "");
      },
      ","
    ),
    gr: GREEK,
    he: language(
      function(c) {
        return c === 1 ? "\u05E9\u05E0\u05D4" : "\u05E9\u05E0\u05D9\u05DD";
      },
      function(c) {
        return c === 1 ? "\u05D7\u05D5\u05D3\u05E9" : "\u05D7\u05D5\u05D3\u05E9\u05D9\u05DD";
      },
      function(c) {
        return c === 1 ? "\u05E9\u05D1\u05D5\u05E2" : "\u05E9\u05D1\u05D5\u05E2\u05D5\u05EA";
      },
      function(c) {
        return c === 1 ? "\u05D9\u05D5\u05DD" : "\u05D9\u05DE\u05D9\u05DD";
      },
      function(c) {
        return c === 1 ? "\u05E9\u05E2\u05D4" : "\u05E9\u05E2\u05D5\u05EA";
      },
      function(c) {
        return c === 1 ? "\u05D3\u05E7\u05D4" : "\u05D3\u05E7\u05D5\u05EA";
      },
      function(c) {
        return c === 1 ? "\u05E9\u05E0\u05D9\u05D4" : "\u05E9\u05E0\u05D9\u05D5\u05EA";
      },
      function(c) {
        return c === 1 ? "\u05DE\u05D9\u05DC\u05D9\u05E9\u05E0\u05D9\u05D9\u05D4" : "\u05DE\u05D9\u05DC\u05D9\u05E9\u05E0\u05D9\u05D5\u05EA";
      }
    ),
    hr: language(
      function(c) {
        if (c % 10 === 2 || c % 10 === 3 || c % 10 === 4) {
          return "godine";
        }
        return "godina";
      },
      function(c) {
        if (c === 1) {
          return "mjesec";
        } else if (c === 2 || c === 3 || c === 4) {
          return "mjeseca";
        }
        return "mjeseci";
      },
      function(c) {
        if (c % 10 === 1 && c !== 11) {
          return "tjedan";
        }
        return "tjedna";
      },
      function(c) {
        return c === 1 ? "dan" : "dana";
      },
      function(c) {
        if (c === 1) {
          return "sat";
        } else if (c === 2 || c === 3 || c === 4) {
          return "sata";
        }
        return "sati";
      },
      function(c) {
        var mod10 = c % 10;
        if ((mod10 === 2 || mod10 === 3 || mod10 === 4) && (c < 10 || c > 14)) {
          return "minute";
        }
        return "minuta";
      },
      function(c) {
        var mod10 = c % 10;
        if (mod10 === 5 || Math.floor(c) === c && c >= 10 && c <= 19) {
          return "sekundi";
        } else if (mod10 === 1) {
          return "sekunda";
        } else if (mod10 === 2 || mod10 === 3 || mod10 === 4) {
          return "sekunde";
        }
        return "sekundi";
      },
      function(c) {
        if (c === 1) {
          return "milisekunda";
        } else if (c % 10 === 2 || c % 10 === 3 || c % 10 === 4) {
          return "milisekunde";
        }
        return "milisekundi";
      },
      ","
    ),
    hi: language(
      "\u0938\u093E\u0932",
      function(c) {
        return c === 1 ? "\u092E\u0939\u0940\u0928\u093E" : "\u092E\u0939\u0940\u0928\u0947";
      },
      function(c) {
        return c === 1 ? "\u0939\u095E\u094D\u0924\u093E" : "\u0939\u092B\u094D\u0924\u0947";
      },
      "\u0926\u093F\u0928",
      function(c) {
        return c === 1 ? "\u0918\u0902\u091F\u093E" : "\u0918\u0902\u091F\u0947";
      },
      "\u092E\u093F\u0928\u091F",
      "\u0938\u0947\u0915\u0902\u0921",
      "\u092E\u093F\u0932\u0940\u0938\u0947\u0915\u0902\u0921"
    ),
    hu: language(
      "\xE9v",
      "h\xF3nap",
      "h\xE9t",
      "nap",
      "\xF3ra",
      "perc",
      "m\xE1sodperc",
      "ezredm\xE1sodperc",
      ","
    ),
    id: language(
      "tahun",
      "bulan",
      "minggu",
      "hari",
      "jam",
      "menit",
      "detik",
      "milidetik"
    ),
    is: language(
      "\xE1r",
      function(c) {
        return "m\xE1nu\xF0" + (c === 1 ? "ur" : "ir");
      },
      function(c) {
        return "vik" + (c === 1 ? "a" : "ur");
      },
      function(c) {
        return "dag" + (c === 1 ? "ur" : "ar");
      },
      function(c) {
        return "klukkut\xEDm" + (c === 1 ? "i" : "ar");
      },
      function(c) {
        return "m\xEDn\xFAt" + (c === 1 ? "a" : "ur");
      },
      function(c) {
        return "sek\xFAnd" + (c === 1 ? "a" : "ur");
      },
      function(c) {
        return "millisek\xFAnd" + (c === 1 ? "a" : "ur");
      }
    ),
    it: language(
      function(c) {
        return "ann" + (c === 1 ? "o" : "i");
      },
      function(c) {
        return "mes" + (c === 1 ? "e" : "i");
      },
      function(c) {
        return "settiman" + (c === 1 ? "a" : "e");
      },
      function(c) {
        return "giorn" + (c === 1 ? "o" : "i");
      },
      function(c) {
        return "or" + (c === 1 ? "a" : "e");
      },
      function(c) {
        return "minut" + (c === 1 ? "o" : "i");
      },
      function(c) {
        return "second" + (c === 1 ? "o" : "i");
      },
      function(c) {
        return "millisecond" + (c === 1 ? "o" : "i");
      },
      ","
    ),
    ja: language("\u5E74", "\u30F6\u6708", "\u9031", "\u65E5", "\u6642\u9593", "\u5206", "\u79D2", "\u30DF\u30EA\u79D2"),
    km: language(
      "\u1786\u17D2\u1793\u17B6\u17C6",
      "\u1781\u17C2",
      "\u179F\u1794\u17D2\u178F\u17B6\u17A0\u17CD",
      "\u1790\u17D2\u1784\u17C3",
      "\u1798\u17C9\u17C4\u1784",
      "\u1793\u17B6\u1791\u17B8",
      "\u179C\u17B7\u1793\u17B6\u1791\u17B8",
      "\u1798\u17B7\u179B\u17D2\u179B\u17B8\u179C\u17B7\u1793\u17B6\u1791\u17B8"
    ),
    kn: language(
      function(c) {
        return c === 1 ? "\u0CB5\u0CB0\u0CCD\u0CB7" : "\u0CB5\u0CB0\u0CCD\u0CB7\u0C97\u0CB3\u0CC1";
      },
      function(c) {
        return c === 1 ? "\u0CA4\u0CBF\u0C82\u0C97\u0CB3\u0CC1" : "\u0CA4\u0CBF\u0C82\u0C97\u0CB3\u0CC1\u0C97\u0CB3\u0CC1";
      },
      function(c) {
        return c === 1 ? "\u0CB5\u0CBE\u0CB0" : "\u0CB5\u0CBE\u0CB0\u0C97\u0CB3\u0CC1";
      },
      function(c) {
        return c === 1 ? "\u0CA6\u0CBF\u0CA8" : "\u0CA6\u0CBF\u0CA8\u0C97\u0CB3\u0CC1";
      },
      function(c) {
        return c === 1 ? "\u0C97\u0C82\u0C9F\u0CC6" : "\u0C97\u0C82\u0C9F\u0CC6\u0C97\u0CB3\u0CC1";
      },
      function(c) {
        return c === 1 ? "\u0CA8\u0CBF\u0CAE\u0CBF\u0CB7" : "\u0CA8\u0CBF\u0CAE\u0CBF\u0CB7\u0C97\u0CB3\u0CC1";
      },
      function(c) {
        return c === 1 ? "\u0CB8\u0CC6\u0C95\u0CC6\u0C82\u0CA1\u0CCD" : "\u0CB8\u0CC6\u0C95\u0CC6\u0C82\u0CA1\u0CC1\u0C97\u0CB3\u0CC1";
      },
      function(c) {
        return c === 1 ? "\u0CAE\u0CBF\u0CB2\u0CBF\u0CB8\u0CC6\u0C95\u0CC6\u0C82\u0CA1\u0CCD" : "\u0CAE\u0CBF\u0CB2\u0CBF\u0CB8\u0CC6\u0C95\u0CC6\u0C82\u0CA1\u0CC1\u0C97\u0CB3\u0CC1";
      }
    ),
    ko: language("\uB144", "\uAC1C\uC6D4", "\uC8FC\uC77C", "\uC77C", "\uC2DC\uAC04", "\uBD84", "\uCD08", "\uBC00\uB9AC \uCD08"),
    ku: language(
      "sal",
      "meh",
      "hefte",
      "roj",
      "seet",
      "deqe",
      "saniye",
      "m\xEEl\xEE\xE7irk",
      ","
    ),
    lo: language(
      "\u0E9B\u0EB5",
      "\u0EC0\u0E94\u0EB7\u0EAD\u0E99",
      "\u0EAD\u0EB2\u0E97\u0EB4\u0E94",
      "\u0EA1\u0EB7\u0EC9",
      "\u0E8A\u0EBB\u0EC8\u0EA7\u0EC2\u0EA1\u0E87",
      "\u0E99\u0EB2\u0E97\u0EB5",
      "\u0EA7\u0EB4\u0E99\u0EB2\u0E97\u0EB5",
      "\u0EA1\u0EB4\u0E99\u0EA5\u0EB4\u0EA7\u0EB4\u0E99\u0EB2\u0E97\u0EB5",
      ","
    ),
    lt: language(
      function(c) {
        return c % 10 === 0 || c % 100 >= 10 && c % 100 <= 20 ? "met\u0173" : "metai";
      },
      function(c) {
        return ["m\u0117nuo", "m\u0117nesiai", "m\u0117nesi\u0173"][getLithuanianForm(c)];
      },
      function(c) {
        return ["savait\u0117", "savait\u0117s", "savai\u010Di\u0173"][getLithuanianForm(c)];
      },
      function(c) {
        return ["diena", "dienos", "dien\u0173"][getLithuanianForm(c)];
      },
      function(c) {
        return ["valanda", "valandos", "valand\u0173"][getLithuanianForm(c)];
      },
      function(c) {
        return ["minut\u0117", "minut\u0117s", "minu\u010Di\u0173"][getLithuanianForm(c)];
      },
      function(c) {
        return ["sekund\u0117", "sekund\u0117s", "sekund\u017Ei\u0173"][getLithuanianForm(c)];
      },
      function(c) {
        return ["milisekund\u0117", "milisekund\u0117s", "milisekund\u017Ei\u0173"][getLithuanianForm(c)];
      },
      ","
    ),
    lv: language(
      function(c) {
        return getLatvianForm(c) ? "gads" : "gadi";
      },
      function(c) {
        return getLatvianForm(c) ? "m\u0113nesis" : "m\u0113ne\u0161i";
      },
      function(c) {
        return getLatvianForm(c) ? "ned\u0113\u013Ca" : "ned\u0113\u013Cas";
      },
      function(c) {
        return getLatvianForm(c) ? "diena" : "dienas";
      },
      function(c) {
        return getLatvianForm(c) ? "stunda" : "stundas";
      },
      function(c) {
        return getLatvianForm(c) ? "min\u016Bte" : "min\u016Btes";
      },
      function(c) {
        return getLatvianForm(c) ? "sekunde" : "sekundes";
      },
      function(c) {
        return getLatvianForm(c) ? "milisekunde" : "milisekundes";
      },
      ","
    ),
    mk: language(
      function(c) {
        return c === 1 ? "\u0433\u043E\u0434\u0438\u043D\u0430" : "\u0433\u043E\u0434\u0438\u043D\u0438";
      },
      function(c) {
        return c === 1 ? "\u043C\u0435\u0441\u0435\u0446" : "\u043C\u0435\u0441\u0435\u0446\u0438";
      },
      function(c) {
        return c === 1 ? "\u043D\u0435\u0434\u0435\u043B\u0430" : "\u043D\u0435\u0434\u0435\u043B\u0438";
      },
      function(c) {
        return c === 1 ? "\u0434\u0435\u043D" : "\u0434\u0435\u043D\u0430";
      },
      function(c) {
        return c === 1 ? "\u0447\u0430\u0441" : "\u0447\u0430\u0441\u0430";
      },
      function(c) {
        return c === 1 ? "\u043C\u0438\u043D\u0443\u0442\u0430" : "\u043C\u0438\u043D\u0443\u0442\u0438";
      },
      function(c) {
        return c === 1 ? "\u0441\u0435\u043A\u0443\u043D\u0434\u0430" : "\u0441\u0435\u043A\u0443\u043D\u0434\u0438";
      },
      function(c) {
        return c === 1 ? "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430" : "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0438";
      },
      ","
    ),
    mn: language(
      "\u0436\u0438\u043B",
      "\u0441\u0430\u0440",
      "\u0434\u043E\u043B\u043E\u043E \u0445\u043E\u043D\u043E\u0433",
      "\u04E9\u0434\u04E9\u0440",
      "\u0446\u0430\u0433",
      "\u043C\u0438\u043D\u0443\u0442",
      "\u0441\u0435\u043A\u0443\u043D\u0434",
      "\u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434"
    ),
    mr: language(
      function(c) {
        return c === 1 ? "\u0935\u0930\u094D\u0937" : "\u0935\u0930\u094D\u0937\u0947";
      },
      function(c) {
        return c === 1 ? "\u092E\u0939\u093F\u0928\u093E" : "\u092E\u0939\u093F\u0928\u0947";
      },
      function(c) {
        return c === 1 ? "\u0906\u0920\u0935\u0921\u093E" : "\u0906\u0920\u0935\u0921\u0947";
      },
      "\u0926\u093F\u0935\u0938",
      "\u0924\u093E\u0938",
      function(c) {
        return c === 1 ? "\u092E\u093F\u0928\u093F\u091F" : "\u092E\u093F\u0928\u093F\u091F\u0947";
      },
      "\u0938\u0947\u0915\u0902\u0926",
      "\u092E\u093F\u0932\u093F\u0938\u0947\u0915\u0902\u0926"
    ),
    ms: language(
      "tahun",
      "bulan",
      "minggu",
      "hari",
      "jam",
      "minit",
      "saat",
      "milisaat"
    ),
    nl: language(
      "jaar",
      function(c) {
        return c === 1 ? "maand" : "maanden";
      },
      function(c) {
        return c === 1 ? "week" : "weken";
      },
      function(c) {
        return c === 1 ? "dag" : "dagen";
      },
      "uur",
      function(c) {
        return c === 1 ? "minuut" : "minuten";
      },
      function(c) {
        return c === 1 ? "seconde" : "seconden";
      },
      function(c) {
        return c === 1 ? "milliseconde" : "milliseconden";
      },
      ","
    ),
    no: language(
      "\xE5r",
      function(c) {
        return "m\xE5ned" + (c === 1 ? "" : "er");
      },
      function(c) {
        return "uke" + (c === 1 ? "" : "r");
      },
      function(c) {
        return "dag" + (c === 1 ? "" : "er");
      },
      function(c) {
        return "time" + (c === 1 ? "" : "r");
      },
      function(c) {
        return "minutt" + (c === 1 ? "" : "er");
      },
      function(c) {
        return "sekund" + (c === 1 ? "" : "er");
      },
      function(c) {
        return "millisekund" + (c === 1 ? "" : "er");
      },
      ","
    ),
    pl: language(
      function(c) {
        return ["rok", "roku", "lata", "lat"][getPolishForm(c)];
      },
      function(c) {
        return ["miesi\u0105c", "miesi\u0105ca", "miesi\u0105ce", "miesi\u0119cy"][getPolishForm(c)];
      },
      function(c) {
        return ["tydzie\u0144", "tygodnia", "tygodnie", "tygodni"][getPolishForm(c)];
      },
      function(c) {
        return ["dzie\u0144", "dnia", "dni", "dni"][getPolishForm(c)];
      },
      function(c) {
        return ["godzina", "godziny", "godziny", "godzin"][getPolishForm(c)];
      },
      function(c) {
        return ["minuta", "minuty", "minuty", "minut"][getPolishForm(c)];
      },
      function(c) {
        return ["sekunda", "sekundy", "sekundy", "sekund"][getPolishForm(c)];
      },
      function(c) {
        return ["milisekunda", "milisekundy", "milisekundy", "milisekund"][getPolishForm(c)];
      },
      ","
    ),
    pt: language(
      function(c) {
        return "ano" + (c === 1 ? "" : "s");
      },
      function(c) {
        return c === 1 ? "m\xEAs" : "meses";
      },
      function(c) {
        return "semana" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "dia" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "hora" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "minuto" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "segundo" + (c === 1 ? "" : "s");
      },
      function(c) {
        return "milissegundo" + (c === 1 ? "" : "s");
      },
      ","
    ),
    ro: language(
      function(c) {
        return c === 1 ? "an" : "ani";
      },
      function(c) {
        return c === 1 ? "lun\u0103" : "luni";
      },
      function(c) {
        return c === 1 ? "s\u0103pt\u0103m\xE2n\u0103" : "s\u0103pt\u0103m\xE2ni";
      },
      function(c) {
        return c === 1 ? "zi" : "zile";
      },
      function(c) {
        return c === 1 ? "or\u0103" : "ore";
      },
      function(c) {
        return c === 1 ? "minut" : "minute";
      },
      function(c) {
        return c === 1 ? "secund\u0103" : "secunde";
      },
      function(c) {
        return c === 1 ? "milisecund\u0103" : "milisecunde";
      },
      ","
    ),
    ru: language(
      function(c) {
        return ["\u043B\u0435\u0442", "\u0433\u043E\u0434", "\u0433\u043E\u0434\u0430"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0435\u0441\u044F\u0446\u0435\u0432", "\u043C\u0435\u0441\u044F\u0446", "\u043C\u0435\u0441\u044F\u0446\u0430"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043D\u0435\u0434\u0435\u043B\u044C", "\u043D\u0435\u0434\u0435\u043B\u044F", "\u043D\u0435\u0434\u0435\u043B\u0438"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0434\u043D\u0435\u0439", "\u0434\u0435\u043D\u044C", "\u0434\u043D\u044F"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0447\u0430\u0441\u043E\u0432", "\u0447\u0430\u0441", "\u0447\u0430\u0441\u0430"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0438\u043D\u0443\u0442", "\u043C\u0438\u043D\u0443\u0442\u0430", "\u043C\u0438\u043D\u0443\u0442\u044B"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0441\u0435\u043A\u0443\u043D\u0434", "\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u0441\u0435\u043A\u0443\u043D\u0434\u044B"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434", "\u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u044B"][getSlavicForm(c)];
      },
      ","
    ),
    sq: language(
      function(c) {
        return c === 1 ? "vit" : "vjet";
      },
      "muaj",
      "jav\xEB",
      "dit\xEB",
      "or\xEB",
      function(c) {
        return "minut" + (c === 1 ? "\xEB" : "a");
      },
      function(c) {
        return "sekond" + (c === 1 ? "\xEB" : "a");
      },
      function(c) {
        return "milisekond" + (c === 1 ? "\xEB" : "a");
      },
      ","
    ),
    sr: language(
      function(c) {
        return ["\u0433\u043E\u0434\u0438\u043D\u0438", "\u0433\u043E\u0434\u0438\u043D\u0430", "\u0433\u043E\u0434\u0438\u043D\u0435"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0435\u0441\u0435\u0446\u0438", "\u043C\u0435\u0441\u0435\u0446", "\u043C\u0435\u0441\u0435\u0446\u0430"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043D\u0435\u0434\u0435\u0459\u0438", "\u043D\u0435\u0434\u0435\u0459\u0430", "\u043D\u0435\u0434\u0435\u0459\u0435"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0434\u0430\u043D\u0438", "\u0434\u0430\u043D", "\u0434\u0430\u043D\u0430"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0441\u0430\u0442\u0438", "\u0441\u0430\u0442", "\u0441\u0430\u0442\u0430"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0438\u043D\u0443\u0442\u0430", "\u043C\u0438\u043D\u0443\u0442", "\u043C\u0438\u043D\u0443\u0442\u0430"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0441\u0435\u043A\u0443\u043D\u0434\u0438", "\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u0441\u0435\u043A\u0443\u043D\u0434\u0435"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0438", "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0435"][getSlavicForm(c)];
      },
      ","
    ),
    ta: language(
      function(c) {
        return c === 1 ? "\u0BB5\u0BB0\u0BC1\u0B9F\u0BAE\u0BCD" : "\u0B86\u0BA3\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD";
      },
      function(c) {
        return c === 1 ? "\u0BAE\u0BBE\u0BA4\u0BAE\u0BCD" : "\u0BAE\u0BBE\u0BA4\u0B99\u0BCD\u0B95\u0BB3\u0BCD";
      },
      function(c) {
        return c === 1 ? "\u0BB5\u0BBE\u0BB0\u0BAE\u0BCD" : "\u0BB5\u0BBE\u0BB0\u0B99\u0BCD\u0B95\u0BB3\u0BCD";
      },
      function(c) {
        return c === 1 ? "\u0BA8\u0BBE\u0BB3\u0BCD" : "\u0BA8\u0BBE\u0B9F\u0BCD\u0B95\u0BB3\u0BCD";
      },
      function(c) {
        return c === 1 ? "\u0BAE\u0BA3\u0BBF" : "\u0BAE\u0BA3\u0BBF\u0BA8\u0BC7\u0BB0\u0BAE\u0BCD";
      },
      function(c) {
        return "\u0BA8\u0BBF\u0BAE\u0BBF\u0B9F" + (c === 1 ? "\u0BAE\u0BCD" : "\u0B99\u0BCD\u0B95\u0BB3\u0BCD");
      },
      function(c) {
        return "\u0BB5\u0BBF\u0BA9\u0BBE\u0B9F\u0BBF" + (c === 1 ? "" : "\u0B95\u0BB3\u0BCD");
      },
      function(c) {
        return "\u0BAE\u0BBF\u0BB2\u0BCD\u0BB2\u0BBF \u0BB5\u0BBF\u0BA8\u0BBE\u0B9F\u0BBF" + (c === 1 ? "" : "\u0B95\u0BB3\u0BCD");
      }
    ),
    te: language(
      function(c) {
        return "\u0C38\u0C02\u0C35\u0C24\u0C4D\u0C38" + (c === 1 ? "\u0C30\u0C02" : "\u0C30\u0C3E\u0C32");
      },
      function(c) {
        return "\u0C28\u0C46\u0C32" + (c === 1 ? "" : "\u0C32");
      },
      function(c) {
        return c === 1 ? "\u0C35\u0C3E\u0C30\u0C02" : "\u0C35\u0C3E\u0C30\u0C3E\u0C32\u0C41";
      },
      function(c) {
        return "\u0C30\u0C4B\u0C1C\u0C41" + (c === 1 ? "" : "\u0C32\u0C41");
      },
      function(c) {
        return "\u0C17\u0C02\u0C1F" + (c === 1 ? "" : "\u0C32\u0C41");
      },
      function(c) {
        return c === 1 ? "\u0C28\u0C3F\u0C2E\u0C3F\u0C37\u0C02" : "\u0C28\u0C3F\u0C2E\u0C3F\u0C37\u0C3E\u0C32\u0C41";
      },
      function(c) {
        return c === 1 ? "\u0C38\u0C46\u0C15\u0C28\u0C41" : "\u0C38\u0C46\u0C15\u0C28\u0C4D\u0C32\u0C41";
      },
      function(c) {
        return c === 1 ? "\u0C2E\u0C3F\u0C32\u0C4D\u0C32\u0C40\u0C38\u0C46\u0C15\u0C28\u0C4D" : "\u0C2E\u0C3F\u0C32\u0C4D\u0C32\u0C40\u0C38\u0C46\u0C15\u0C28\u0C4D\u0C32\u0C41";
      }
    ),
    uk: language(
      function(c) {
        return ["\u0440\u043E\u043A\u0456\u0432", "\u0440\u0456\u043A", "\u0440\u043E\u043A\u0438"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0456\u0441\u044F\u0446\u0456\u0432", "\u043C\u0456\u0441\u044F\u0446\u044C", "\u043C\u0456\u0441\u044F\u0446\u0456"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0442\u0438\u0436\u043D\u0456\u0432", "\u0442\u0438\u0436\u0434\u0435\u043D\u044C", "\u0442\u0438\u0436\u043D\u0456"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0434\u043D\u0456\u0432", "\u0434\u0435\u043D\u044C", "\u0434\u043D\u0456"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0433\u043E\u0434\u0438\u043D", "\u0433\u043E\u0434\u0438\u043D\u0430", "\u0433\u043E\u0434\u0438\u043D\u0438"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0445\u0432\u0438\u043B\u0438\u043D", "\u0445\u0432\u0438\u043B\u0438\u043D\u0430", "\u0445\u0432\u0438\u043B\u0438\u043D\u0438"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u0441\u0435\u043A\u0443\u043D\u0434", "\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u0441\u0435\u043A\u0443\u043D\u0434\u0438"][getSlavicForm(c)];
      },
      function(c) {
        return ["\u043C\u0456\u043B\u0456\u0441\u0435\u043A\u0443\u043D\u0434", "\u043C\u0456\u043B\u0456\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u043C\u0456\u043B\u0456\u0441\u0435\u043A\u0443\u043D\u0434\u0438"][getSlavicForm(c)];
      },
      ","
    ),
    ur: language(
      "\u0633\u0627\u0644",
      function(c) {
        return c === 1 ? "\u0645\u06C1\u06CC\u0646\u06C1" : "\u0645\u06C1\u06CC\u0646\u06D2";
      },
      function(c) {
        return c === 1 ? "\u06C1\u0641\u062A\u06C1" : "\u06C1\u0641\u062A\u06D2";
      },
      "\u062F\u0646",
      function(c) {
        return c === 1 ? "\u06AF\u06BE\u0646\u0679\u06C1" : "\u06AF\u06BE\u0646\u0679\u06D2";
      },
      "\u0645\u0646\u0679",
      "\u0633\u06CC\u06A9\u0646\u0688",
      "\u0645\u0644\u06CC \u0633\u06CC\u06A9\u0646\u0688"
    ),
    sk: language(
      function(c) {
        return ["rok", "roky", "roky", "rokov"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["mesiac", "mesiace", "mesiace", "mesiacov"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["t\xFD\u017Ede\u0148", "t\xFD\u017Edne", "t\xFD\u017Edne", "t\xFD\u017Ed\u0148ov"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["de\u0148", "dni", "dni", "dn\xED"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["hodina", "hodiny", "hodiny", "hod\xEDn"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["min\xFAta", "min\xFAty", "min\xFAty", "min\xFAt"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["sekunda", "sekundy", "sekundy", "sek\xFAnd"][getCzechOrSlovakForm(c)];
      },
      function(c) {
        return ["milisekunda", "milisekundy", "milisekundy", "milisek\xFAnd"][getCzechOrSlovakForm(c)];
      },
      ","
    ),
    sl: language(
      function(c) {
        if (c % 10 === 1) {
          return "leto";
        } else if (c % 100 === 2) {
          return "leti";
        } else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c && c % 100 <= 5) {
          return "leta";
        } else {
          return "let";
        }
      },
      function(c) {
        if (c % 10 === 1) {
          return "mesec";
        } else if (c % 100 === 2 || Math.floor(c) !== c && c % 100 <= 5) {
          return "meseca";
        } else if (c % 10 === 3 || c % 10 === 4) {
          return "mesece";
        } else {
          return "mesecev";
        }
      },
      function(c) {
        if (c % 10 === 1) {
          return "teden";
        } else if (c % 10 === 2 || Math.floor(c) !== c && c % 100 <= 4) {
          return "tedna";
        } else if (c % 10 === 3 || c % 10 === 4) {
          return "tedne";
        } else {
          return "tednov";
        }
      },
      function(c) {
        return c % 100 === 1 ? "dan" : "dni";
      },
      function(c) {
        if (c % 10 === 1) {
          return "ura";
        } else if (c % 100 === 2) {
          return "uri";
        } else if (c % 10 === 3 || c % 10 === 4 || Math.floor(c) !== c) {
          return "ure";
        } else {
          return "ur";
        }
      },
      function(c) {
        if (c % 10 === 1) {
          return "minuta";
        } else if (c % 10 === 2) {
          return "minuti";
        } else if (c % 10 === 3 || c % 10 === 4 || Math.floor(c) !== c && c % 100 <= 4) {
          return "minute";
        } else {
          return "minut";
        }
      },
      function(c) {
        if (c % 10 === 1) {
          return "sekunda";
        } else if (c % 100 === 2) {
          return "sekundi";
        } else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c) {
          return "sekunde";
        } else {
          return "sekund";
        }
      },
      function(c) {
        if (c % 10 === 1) {
          return "milisekunda";
        } else if (c % 100 === 2) {
          return "milisekundi";
        } else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c) {
          return "milisekunde";
        } else {
          return "milisekund";
        }
      },
      ","
    ),
    sv: language(
      "\xE5r",
      function(c) {
        return "m\xE5nad" + (c === 1 ? "" : "er");
      },
      function(c) {
        return "veck" + (c === 1 ? "a" : "or");
      },
      function(c) {
        return "dag" + (c === 1 ? "" : "ar");
      },
      function(c) {
        return "timm" + (c === 1 ? "e" : "ar");
      },
      function(c) {
        return "minut" + (c === 1 ? "" : "er");
      },
      function(c) {
        return "sekund" + (c === 1 ? "" : "er");
      },
      function(c) {
        return "millisekund" + (c === 1 ? "" : "er");
      },
      ","
    ),
    sw: assign(
      language(
        function(c) {
          return c === 1 ? "mwaka" : "miaka";
        },
        function(c) {
          return c === 1 ? "mwezi" : "miezi";
        },
        "wiki",
        function(c) {
          return c === 1 ? "siku" : "masiku";
        },
        function(c) {
          return c === 1 ? "saa" : "masaa";
        },
        "dakika",
        "sekunde",
        "milisekunde"
      ),
      { _numberFirst: true }
    ),
    tr: language(
      "y\u0131l",
      "ay",
      "hafta",
      "g\xFCn",
      "saat",
      "dakika",
      "saniye",
      "milisaniye",
      ","
    ),
    th: language(
      "\u0E1B\u0E35",
      "\u0E40\u0E14\u0E37\u0E2D\u0E19",
      "\u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C",
      "\u0E27\u0E31\u0E19",
      "\u0E0A\u0E31\u0E48\u0E27\u0E42\u0E21\u0E07",
      "\u0E19\u0E32\u0E17\u0E35",
      "\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35",
      "\u0E21\u0E34\u0E25\u0E25\u0E34\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35"
    ),
    uz: language(
      "yil",
      "oy",
      "hafta",
      "kun",
      "soat",
      "minut",
      "sekund",
      "millisekund"
    ),
    uz_CYR: language(
      "\u0439\u0438\u043B",
      "\u043E\u0439",
      "\u04B3\u0430\u0444\u0442\u0430",
      "\u043A\u0443\u043D",
      "\u0441\u043E\u0430\u0442",
      "\u043C\u0438\u043D\u0443\u0442",
      "\u0441\u0435\u043A\u0443\u043D\u0434",
      "\u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434"
    ),
    vi: language(
      "n\u0103m",
      "th\xE1ng",
      "tu\u1EA7n",
      "ng\xE0y",
      "gi\u1EDD",
      "ph\xFAt",
      "gi\xE2y",
      "mili gi\xE2y",
      ","
    ),
    zh_CN: language("\u5E74", "\u4E2A\u6708", "\u5468", "\u5929", "\u5C0F\u65F6", "\u5206\u949F", "\u79D2", "\u6BEB\u79D2"),
    zh_TW: language("\u5E74", "\u500B\u6708", "\u5468", "\u5929", "\u5C0F\u6642", "\u5206\u9418", "\u79D2", "\u6BEB\u79D2")
  };
  function language(y, mo, w, d, h, m, s, ms, decimal) {
    var result = { y, mo, w, d, h, m, s, ms };
    if (typeof decimal !== "undefined") {
      result.decimal = decimal;
    }
    return result;
  }
  function getArabicForm(c) {
    if (c === 2) {
      return 1;
    }
    if (c > 2 && c < 11) {
      return 2;
    }
    return 0;
  }
  function getPolishForm(c) {
    if (c === 1) {
      return 0;
    }
    if (Math.floor(c) !== c) {
      return 1;
    }
    if (c % 10 >= 2 && c % 10 <= 4 && !(c % 100 > 10 && c % 100 < 20)) {
      return 2;
    }
    return 3;
  }
  function getSlavicForm(c) {
    if (Math.floor(c) !== c) {
      return 2;
    }
    if (c % 100 >= 5 && c % 100 <= 20 || c % 10 >= 5 && c % 10 <= 9 || c % 10 === 0) {
      return 0;
    }
    if (c % 10 === 1) {
      return 1;
    }
    if (c > 1) {
      return 2;
    }
    return 0;
  }
  function getCzechOrSlovakForm(c) {
    if (c === 1) {
      return 0;
    }
    if (Math.floor(c) !== c) {
      return 1;
    }
    if (c % 10 >= 2 && c % 10 <= 4 && c % 100 < 10) {
      return 2;
    }
    return 3;
  }
  function getLithuanianForm(c) {
    if (c === 1 || c % 10 === 1 && c % 100 > 20) {
      return 0;
    }
    if (Math.floor(c) !== c || c % 10 >= 2 && c % 100 > 20 || c % 10 >= 2 && c % 100 < 10) {
      return 1;
    }
    return 2;
  }
  function getLatvianForm(c) {
    return c % 10 === 1 && c % 100 !== 11;
  }
  function assign(destination) {
    var source;
    for (var i = 1; i < arguments.length; i++) {
      source = arguments[i];
      for (var prop in source) {
        if (has(source, prop)) {
          destination[prop] = source[prop];
        }
      }
    }
    return destination;
  }
  var isArray = Array.isArray || function(arg) {
    return Object.prototype.toString.call(arg) === "[object Array]";
  };
  function has(obj, key) {
    return Object.prototype.hasOwnProperty.call(obj, key);
  }
  function getLanguage(options) {
    var possibleLanguages = [options.language];
    if (has(options, "fallbacks")) {
      if (isArray(options.fallbacks) && options.fallbacks.length) {
        possibleLanguages = possibleLanguages.concat(options.fallbacks);
      } else {
        throw new Error("fallbacks must be an array with at least one element");
      }
    }
    for (var i = 0; i < possibleLanguages.length; i++) {
      var languageToTry = possibleLanguages[i];
      if (has(options.languages, languageToTry)) {
        return options.languages[languageToTry];
      }
      if (has(LANGUAGES, languageToTry)) {
        return LANGUAGES[languageToTry];
      }
    }
    throw new Error("No language found.");
  }
  function renderPiece(piece, language2, options) {
    var unitName = piece.unitName;
    var unitCount = piece.unitCount;
    var spacer = options.spacer;
    var maxDecimalPoints = options.maxDecimalPoints;
    var decimal;
    if (has(options, "decimal")) {
      decimal = options.decimal;
    } else if (has(language2, "decimal")) {
      decimal = language2.decimal;
    } else {
      decimal = ".";
    }
    var digitReplacements;
    if ("digitReplacements" in options) {
      digitReplacements = options.digitReplacements;
    } else if ("_digitReplacements" in language2) {
      digitReplacements = language2._digitReplacements;
    }
    var formattedCount;
    var normalizedUnitCount = maxDecimalPoints === void 0 ? unitCount : Math.floor(unitCount * Math.pow(10, maxDecimalPoints)) / Math.pow(10, maxDecimalPoints);
    var countStr = normalizedUnitCount.toString();
    if (digitReplacements) {
      formattedCount = "";
      for (var i = 0; i < countStr.length; i++) {
        var char = countStr[i];
        if (char === ".") {
          formattedCount += decimal;
        } else {
          formattedCount += digitReplacements[char];
        }
      }
    } else {
      formattedCount = countStr.replace(".", decimal);
    }
    var languageWord = language2[unitName];
    var word;
    if (typeof languageWord === "function") {
      word = languageWord(unitCount);
    } else {
      word = languageWord;
    }
    if (language2._numberFirst) {
      return word + spacer + formattedCount;
    }
    return formattedCount + spacer + word;
  }
  function getPieces(ms, options) {
    var unitName;
    var i;
    var unitCount;
    var msRemaining;
    var units = options.units;
    var unitMeasures = options.unitMeasures;
    var largest = "largest" in options ? options.largest : Infinity;
    if (!units.length)
      return [];
    var unitCounts = {};
    msRemaining = ms;
    for (i = 0; i < units.length; i++) {
      unitName = units[i];
      var unitMs = unitMeasures[unitName];
      var isLast = i === units.length - 1;
      unitCount = isLast ? msRemaining / unitMs : Math.floor(msRemaining / unitMs);
      unitCounts[unitName] = unitCount;
      msRemaining -= unitCount * unitMs;
    }
    if (options.round) {
      var unitsRemainingBeforeRound = largest;
      for (i = 0; i < units.length; i++) {
        unitName = units[i];
        unitCount = unitCounts[unitName];
        if (unitCount === 0)
          continue;
        unitsRemainingBeforeRound--;
        if (unitsRemainingBeforeRound === 0) {
          for (var j = i + 1; j < units.length; j++) {
            var smallerUnitName = units[j];
            var smallerUnitCount = unitCounts[smallerUnitName];
            unitCounts[unitName] += smallerUnitCount * unitMeasures[smallerUnitName] / unitMeasures[unitName];
            unitCounts[smallerUnitName] = 0;
          }
          break;
        }
      }
      for (i = units.length - 1; i >= 0; i--) {
        unitName = units[i];
        unitCount = unitCounts[unitName];
        if (unitCount === 0)
          continue;
        var rounded = Math.round(unitCount);
        unitCounts[unitName] = rounded;
        if (i === 0)
          break;
        var previousUnitName = units[i - 1];
        var previousUnitMs = unitMeasures[previousUnitName];
        var amountOfPreviousUnit = Math.floor(
          rounded * unitMeasures[unitName] / previousUnitMs
        );
        if (amountOfPreviousUnit) {
          unitCounts[previousUnitName] += amountOfPreviousUnit;
          unitCounts[unitName] = 0;
        } else {
          break;
        }
      }
    }
    var result = [];
    for (i = 0; i < units.length && result.length < largest; i++) {
      unitName = units[i];
      unitCount = unitCounts[unitName];
      if (unitCount) {
        result.push({ unitName, unitCount });
      }
    }
    return result;
  }
  function formatPieces(pieces, options) {
    var language2 = getLanguage(options);
    if (!pieces.length) {
      var units = options.units;
      var smallestUnitName = units[units.length - 1];
      return renderPiece(
        { unitName: smallestUnitName, unitCount: 0 },
        language2,
        options
      );
    }
    var conjunction = options.conjunction;
    var serialComma = options.serialComma;
    var delimiter;
    if (has(options, "delimiter")) {
      delimiter = options.delimiter;
    } else if (has(language2, "delimiter")) {
      delimiter = language2.delimiter;
    } else {
      delimiter = ", ";
    }
    var renderedPieces = [];
    for (var i = 0; i < pieces.length; i++) {
      renderedPieces.push(renderPiece(pieces[i], language2, options));
    }
    if (!conjunction || pieces.length === 1) {
      return renderedPieces.join(delimiter);
    }
    if (pieces.length === 2) {
      return renderedPieces.join(conjunction);
    }
    return renderedPieces.slice(0, -1).join(delimiter) + (serialComma ? "," : "") + conjunction + renderedPieces.slice(-1);
  }
  function humanizer4(passedOptions) {
    var result = function humanizer5(ms, humanizerOptions) {
      ms = Math.abs(ms);
      var options = assign({}, result, humanizerOptions || {});
      var pieces = getPieces(ms, options);
      return formatPieces(pieces, options);
    };
    return assign(
      result,
      {
        language: "en",
        spacer: " ",
        conjunction: "",
        serialComma: true,
        units: ["y", "mo", "w", "d", "h", "m", "s"],
        languages: {},
        round: false,
        unitMeasures: {
          y: 315576e5,
          mo: 26298e5,
          w: 6048e5,
          d: 864e5,
          h: 36e5,
          m: 6e4,
          s: 1e3,
          ms: 1
        }
      },
      passedOptions
    );
  }
  var humanizeDuration4 = humanizer4({});
  humanizeDuration4.getSupportedLanguages = function getSupportedLanguages() {
    var result = [];
    for (var language2 in LANGUAGES) {
      if (has(LANGUAGES, language2) && language2 !== "gr") {
        result.push(language2);
      }
    }
    return result;
  };
  humanizeDuration4.humanizer = humanizer4;
  if (typeof define === "function" && define.amd) {
    define(function() {
      return humanizeDuration4;
    });
  } else if (typeof module !== "undefined" && module.exports) {
    module.exports = humanizeDuration4;
  } else {
    this.humanizeDuration = humanizeDuration4;
  }
})();
}
});

// src/modules/lgs-reminder/settings/index.js
var settings_default21;
var init_settings22 = __esm({
"src/modules/lgs-reminder/settings/index.js"() {
settings_default21 = () => __async(void 0, null, function* () {
  return [
    {
      id: "lgs-reminder.new-style",
      title: 'Use "new" style'
    },
    {
      id: "lgs-reminder.show-seconds",
      title: "Show exact time",
      description: "Show exact time, including seconds"
    },
    {
      id: "lgs-reminder.days-and-lower",
      title: "Convert weeks and months to days"
    }
  ];
});
}
});

// src/modules/lgs-reminder/styles.css
var styles_default43;
var init_styles44 = __esm({
"src/modules/lgs-reminder/styles.css"() {
styles_default43 = ".mousehunt-improved-lgs-reminder,.default.mhui-custom-shield .mousehunt-improved-lgs-reminder{position:absolute;right:10px;bottom:4px;left:15px;z-index:1;font-size:11px;color:#684434;text-align:center;background-color:#ddcda2d9;border:1px solid #9d9a91;border-radius:5px}.default .mousehunt-improved-lgs-reminder{left:-5px}.default-fancy .mousehunt-improved-lgs-reminder{right:15px}.mousehuntHud-shield.color .mousehunt-improved-lgs-reminder{right:20px;left:0}.mhui-custom-shield .mousehunt-improved-lgs-reminder.exact{font-size:10px}.mousehunt-improved-lgs-reminder-new.lgs-warning,.mousehunt-improved-lgs-reminder.lgs-warning,.default.mhui-custom-shield .mousehunt-improved-lgs-reminder.lgs-warning{background-color:#ffbfbf}.mousehunt-improved-lgs-reminder-new.lgs-danger,.mousehunt-improved-lgs-reminder.lgs-danger,.default.mhui-custom-shield .mousehunt-improved-lgs-reminder.lgs-danger{color:#f1d7d7;background-color:#b32d26;border-color:#af8080;transition:1.75s;animation:mh-improved-slight-fade 1.75s infinite}@media (prefers-reduced-motion: reduce){.mousehunt-improved-lgs-reminder-new.lgs-danger,.mousehunt-improved-lgs-reminder.lgs-danger,.default.mhui-custom-shield .mousehunt-improved-lgs-reminder-new.lgs-danger{animation:none}}.mousehunt-improved-lgs-reminder-wrapper{position:absolute;right:642px;bottom:0;left:15px;font-size:9px;white-space:nowrap}.mousehunt-improved-lgs-reminder-new{display:flex;align-items:center;justify-content:center;padding:2px 5px;background:linear-gradient(#fff 45%,#f8e7bb 55%);border:1px solid #d4af37;border-bottom:none;border-radius:6px 6px 0 0}.mousehunt-improved-lgs-reminder-new.lgs-warning{background:linear-gradient(#fff,#ffbfbf)}.mousehunt-improved-lgs-reminder-new.lgs-danger{background:#b32d26;border:none}\n";
}
});

// src/modules/lgs-reminder/index.js
var import_humanize_duration, humanizer, isExact, getShieldEndDateTime, getShieldTime, getShieldTimeFormattted, updateLgsReminder, main17, init50, lgs_reminder_default2;
var init_lgs_reminder2 = __esm({
"src/modules/lgs-reminder/index.js"() {
import_humanize_duration = __toESM(require_humanize_duration());
init_utils2();
init_settings22();
init_styles44();
humanizer = import_humanize_duration.default.humanizer({
  language: "shortEn",
  languages: {
    shortEn: {
      y: () => "y",
      mo: () => "mo",
      w: () => "w",
      d: () => "d",
      h: () => "h",
      m: () => "m",
      s: () => "s",
      ms: () => "ms"
    }
  }
});
isExact = () => {
  return getSetting("lgs-reminder.show-seconds");
};
getShieldEndDateTime = () => {
  const shieldExpiry = user.shield_expiry;
  if (!shieldExpiry) {
    return;
  }
  const expiry = Date.parse(shieldExpiry);
  const realExpiry = expiry - 5 * 60 * 60 * 1e3;
  return new Date(realExpiry);
};
getShieldTime = () => {
  const expiry = getShieldEndDateTime();
  const now = /* @__PURE__ */ new Date();
  return Math.floor(expiry - now);
};
getShieldTimeFormattted = () => {
  const time = getShieldTime();
  if (!time) {
    return "";
  }
  let units = ["y", "mo", "w", "d", "h", "m"];
  if (getSetting("lgs-reminder.days-and-lower")) {
    units = ["d", "h", "m"];
  }
  if (isExact()) {
    units.push("s");
  }
  const duration = humanizer(time, {
    round: true,
    units,
    spacer: "",
    delimiter: " "
  });
  return duration;
};
updateLgsReminder = (el) => {
  const time = getShieldTime();
  if (time <= 60 * 60 * 24 * 2) {
    el.classList.add("lgs-warning");
  }
  if (time <= 60 * 60) {
    el.classList.add("lgs-danger");
  }
  el.innerText = getShieldTimeFormattted();
};
main17 = () => {
  startingTime = getShieldTime();
  const shieldEl = document.querySelector(".mousehuntHud-shield.golden");
  if (!shieldEl) {
    return;
  }
  const newStyle = getSetting("lgs-reminder.new-style", false);
  let wrapper;
  let reminder;
  if (newStyle) {
    wrapper = makeElement("div", "mousehunt-improved-lgs-reminder-wrapper");
    reminder = makeElement("div", "mousehunt-improved-lgs-reminder-new");
  } else {
    reminder = makeElement("div", "mousehunt-improved-lgs-reminder");
  }
  const exact = isExact();
  if (exact) {
    reminder.classList.add("exact");
  }
  const endDate = getShieldEndDateTime().toLocaleDateString("en-US", {
    weekday: "long",
    year: "numeric",
    month: "long",
    day: "numeric",
    hour: "numeric",
    minute: "numeric",
    second: "numeric"
  });
  reminder.title = `LGS Expires on ${endDate} (${getShieldTimeFormattted()} remaining)`;
  if (newStyle) {
    const existing = document.querySelector(".mousehunt-improved-lgs-reminder-wrapper");
    if (existing) {
      existing.remove();
    }
    wrapper.append(reminder);
    shieldEl.after(wrapper);
  } else {
    const existing = document.querySelector(".mousehunt-improved-lgs-reminder");
    if (existing) {
      existing.remove();
    }
    shieldEl.append(reminder);
  }
  updateLgsReminder(reminder);
  if (isExact()) {
    onEvent("horn-countdown-tick", () => {
      updateLgsReminder(reminder);
    });
  } else {
    onEvent("horn-countdown-tick-minute", () => {
      updateLgsReminder(reminder);
    });
  }
};
init50 = () => __async(void 0, null, function* () {
  if (!user.has_shield) {
    return;
  }
  addStyles(styles_default43, "lgs-reminder");
  main17();
  onSettingsChange("lgs-reminder.new-style", () => {
    const selectors = [
      ".mousehunt-improved-lgs-reminder",
      ".mousehunt-improved-lgs-reminder-new",
      ".mousehunt-improved-lgs-reminder-wrapper"
    ];
    selectors.forEach((selector) => {
      const el = document.querySelector(selector);
      if (el) {
        el.remove();
      }
    });
    main17();
  });
  onActivation("lgs-reminder", main17);
  onDeactivation("lgs-reminder", () => {
    const reminder = document.querySelector(".mousehunt-improved-lgs-reminder");
    if (reminder) {
      reminder.remove();
    }
  });
});
lgs_reminder_default2 = {
  id: "lgs-reminder",
  name: "Lucky Golden Shield Duration & Reminder",
  type: "feature",
  description: "Show your LGS duration in the HUD and warn you when it's about to expire.",
  default: false,
  load: init50,
  settings: settings_default21
};
}
});

// src/modules/links/index.js
var addHelpLinks, init51, links_default2;
var init_links3 = __esm({
"src/modules/links/index.js"() {
init_utils2();
addHelpLinks = () => {
  const supportDropdown = document.querySelector(".menuItem.dropdown.support .dropdownContent");
  if (!supportDropdown) {
    return;
  }
  const helpLinks = [
    {
      id: "mouserip",
      class: "rules",
      title: "MOUSE.RIP",
      // caps to look better
      href: "https://mouse.rip",
      text: "MH guides, tools, and more."
    },
    {
      id: "mhui",
      class: "fanPage",
      title: "MH Improved",
      href: "https://github.com/MHCommunity/mousehunt-improved",
      text: "Bug reports and feature requests."
    }
  ];
  helpLinks.forEach((helpLink) => {
    const link = makeElement("a", [helpLink.id, helpLink.class]);
    makeElement("b", "title", helpLink.title, link);
    makeElement("span", "text", helpLink.text, link);
    link.setAttribute("href", helpLink.href);
    link.setAttribute("target", "_blank");
    supportDropdown.append(link);
  });
};
init51 = () => __async(void 0, null, function* () {
  addHelpLinks();
  addSubmenuItem({
    menu: "kingdom",
    label: "mouse.rip",
    icon: "https://www.mousehuntgame.com/images/ui/hud/menu/prize_shoppe.png",
    href: "https://mouse.rip",
    external: true
  });
});
links_default2 = {
  id: "links",
  type: "required",
  alwaysLoad: true,
  load: init51
};
}
});

// src/modules/hide-daily-reward-popup/index.js
var hidePopup, init52, hide_daily_reward_popup_default;
var init_hide_daily_reward_popup = __esm({
"src/modules/hide-daily-reward-popup/index.js"() {
init_utils2();
hidePopup = () => {
  if (activejsDialog) {
    const attrs = activejsDialog.getAttributes();
    if (attrs && attrs.className && attrs.className === "dailyRewardPopup") {
      activejsDialog.hide();
    }
  }
};
init52 = () => __async(void 0, null, function* () {
  onDialogShow("dailyRewardPopup", () => {
    setTimeout(() => {
      if (activejsDialog) {
        activejsDialog.hide();
      }
    }, 500);
  });
  hidePopup();
  setTimeout(hidePopup, 1e3);
  setTimeout(hidePopup, 2e3);
  onRequest("*", hidePopup);
});
hide_daily_reward_popup_default = {
  id: "hide-daily-reward-popup",
  name: "Hide Daily Reward Popup",
  type: "element-hiding",
  default: false,
  description: "Automatically hide the daily reward popup.",
  load: init52
};
}
});

// src/modules/location-catch-stats/styles.css
var styles_default44;
var init_styles45 = __esm({
"src/modules/location-catch-stats/styles.css"() {
styles_default44 = "#mh-catch-stats{position:absolute;top:25px;left:25px;z-index:50}@media screen and (prefers-reduced-motion: reduce){.mh-catch-stats-wrapper{transition:none}}.mh-catch-stats-wrapper{width:275px;background:#f6f3eb;border:1px solid #534022;box-shadow:1px 1px 1px #9d917f,1px 3px 5px #6a6969;transition:box-shadow .25s}.mh-is-dragging .mh-catch-stats-wrapper{box-shadow:1px 1px 1px #9d917f,0 7px 9px 2px #6a6969}.mh-catch-stats-header{display:flex;align-items:center;justify-content:space-between;padding:10px;color:#f6f3eb;cursor:grab;background-color:#926944;border-bottom:1px solid #ceb7a6}.mh-catch-stats-header h1{color:#f6f3eb}.mh-catch-stats-close{cursor:pointer}.mh-catch-stats-close:hover,.mh-catch-stats-close:focus{color:#926944;background-color:#eee;border-radius:50%;outline:1px solid #ccc}.mh-catch-stats-body{max-height:90vh;overflow:hidden auto}.mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd){background-color:#e8e3d7}.mh-catch-stats{display:flex;align-items:center;justify-content:space-between;padding:10px;color:#000}.mh-catch-stats:hover,.mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd):hover,.mh-catch-stats:focus,.mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd):focus{color:#665f5f;text-decoration:none;background-color:#eee;outline:1px solid #ccc}.mh-catch-stats-image{position:relative;display:inline-block;width:40px;height:40px;vertical-align:middle;background-repeat:no-repeat;background-size:contain;border-radius:2px;box-shadow:1px 1px 1px #999}.mh-catch-stats-crown{position:absolute;right:-5px;bottom:-5px;width:20px;height:20px;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%;background-size:80%;border:1px solid #333;border-radius:50%}.mh-catch-stats-name{display:inline-block;padding-left:10px;vertical-align:middle}.mh-catch-stats-catches{padding-right:5px}\n";
}
});

// src/modules/location-catch-stats/index.js
var getMouseStats, buildMouseMarkup, showModal, init53, location_catch_stats_default;
var init_location_catch_stats = __esm({
"src/modules/location-catch-stats/index.js"() {
init_utils2();
init_styles45();
getMouseStats = () => __async(void 0, null, function* () {
  var _a, _b;
  const data = yield doRequest("managers/ajax/mice/mouse_list.php", {
    action: "get_environment",
    category: user.environment_type,
    user_id: user.user_id,
    display_mode: "stats",
    view: "ViewMouseListEnvironments"
  });
  const mouseData = (_b = (_a = data == null ? void 0 : data.mouse_list_category) == null ? void 0 : _a.subgroups[0]) == null ? void 0 : _b.mice;
  mouseData.sort((a, b) => {
    return b.num_catches - a.num_catches;
  });
  return mouseData != null ? mouseData : [];
});
buildMouseMarkup = (mouseData) => {
  const mouse = Object.assign({}, {
    name: "",
    type: "",
    image: "",
    crown: "none",
    num_catches: 0
  }, mouseData);
  const mouseEl = document.createElement("a");
  mouseEl.classList.add("mh-catch-stats");
  mouseEl.title = mouse.name;
  mouseEl.addEventListener("click", () => {
    var _a, _b;
    if ("undefined" !== ((_b = (_a = hg == null ? void 0 : hg.views) == null ? void 0 : _a.MouseView) == null ? void 0 : _b.show)) {
      hg.views.MouseView.show(mouse.type);
    }
  });
  const image = document.createElement("div");
  image.classList.add("mh-catch-stats-image");
  image.style.backgroundImage = `url('${mouse.image}')`;
  if (mouse.crown && "none" !== mouse.crown) {
    const crown = document.createElement("div");
    crown.classList.add("mh-catch-stats-crown");
    crown.style.backgroundImage = `url('https://www.mousehuntgame.com/images/ui/crowns/crown_${mouse.crown}.png')`;
    image.append(crown);
  }
  const name = document.createElement("div");
  name.classList.add("mh-catch-stats-name");
  name.innerText = mouse.name;
  const imageNameContainer = document.createElement("div");
  imageNameContainer.append(image);
  imageNameContainer.append(name);
  const catches = document.createElement("div");
  catches.classList.add("mh-catch-stats-catches");
  catches.innerText = mouse.num_catches;
  mouseEl.append(imageNameContainer);
  mouseEl.append(catches);
  return mouseEl;
};
showModal = () => __async(void 0, null, function* () {
  const existing = document.querySelector("#mh-catch-stats");
  if (existing) {
    existing.remove();
  }
  const modalWrapper = document.createElement("div");
  modalWrapper.id = "mh-catch-stats";
  const modal = document.createElement("div");
  modal.classList.add("mh-catch-stats-wrapper");
  const header = document.createElement("div");
  header.classList.add("mh-catch-stats-header");
  const title = document.createElement("h1");
  title.innerText = "Location Catch Stats";
  header.append(title);
  const closeIcon = document.createElementNS("http://www.w3.org/2000/svg", "svg");
  closeIcon.classList.add("mh-catch-stats-close");
  closeIcon.setAttribute("viewBox", "0 0 24 24");
  closeIcon.setAttribute("width", "18");
  closeIcon.setAttribute("height", "18");
  closeIcon.setAttribute("fill", "none");
  closeIcon.setAttribute("stroke", "currentColor");
  closeIcon.setAttribute("stroke-width", "1.5");
  const closePath = document.createElementNS("http://www.w3.org/2000/svg", "path");
  closePath.setAttribute("d", "M18 6L6 18M6 6l12 12");
  closeIcon.append(closePath);
  closeIcon.addEventListener("click", () => {
    modalWrapper.remove();
  });
  header.append(closeIcon);
  modal.append(header);
  const mouseBody = document.createElement("div");
  mouseBody.classList.add("mh-catch-stats-body");
  const mouseStats2 = yield getMouseStats();
  mouseStats2.forEach((mouseData) => {
    mouseBody.append(buildMouseMarkup(mouseData, mouseBody));
  });
  modal.append(mouseBody);
  modalWrapper.append(modal);
  document.body.append(modalWrapper);
  makeElementDraggable("#mh-catch-stats", ".mh-catch-stats-header", 25, 25, "mh-catch-stats-position");
});
init53 = () => __async(void 0, null, function* () {
  addStyles(styles_default44, "location-catch-stats");
  addSubmenuItem({
    menu: "mice",
    label: "Location Catch Stats",
    icon: "https://www.mousehuntgame.com/images/ui/hud/menu/prize_shoppe.png?",
    callback: showModal
  });
});
location_catch_stats_default = {
  id: "location-catch-stats",
  name: "Location Catch Stats",
  type: "feature",
  default: true,
  description: 'Adds a "Location Catch Stats" to the Mice menu to see your catch stats for the current location.',
  load: init53
};
}
});

// src/modules/location-dashboard/styles.css
var styles_default45;
var init_styles46 = __esm({
"src/modules/location-dashboard/styles.css"() {
styles_default45 = '.mousehuntHeaderView-gameTabs .menuItem.chat,.mousehuntHeaderView-gameTabs .community{display:none}.mousehuntHeaderView .menuItem.dropdown.dashboard{cursor:initial}.mousehuntHeaderView .dashboard .dropdownContent{width:420px;border-radius:0}.dashboardWrapper{max-height:60vh;padding:5px;overflow:hidden auto;border:1px solid #d7e2f1;box-shadow:0 5px 10px #8f8f8f}.dashboardRefresh{display:block;margin:10px auto}.regionWrapper{margin-bottom:5px;border:1px solid #c6c6c6}.regionName{padding:3px 0 2px 5px;margin-top:10px;font-size:12px;font-weight:900;background-color:#f4f7fc;border-bottom:1px solid #c6c6c6}.regionName:first-child{margin-top:0}.locationWrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:26px;padding:9px 5px;background-color:#fff}.locationWrapper.locationWrapper-rift_valour{height:35px}.locationWrapper:nth-child(2n){background-color:#eee}.locationImageWrapper{display:inline-flex;flex:0}img.locationImage{width:28px;height:28px;border-radius:3px;outline:1px solid #838282}.locationName{position:relative;flex-grow:1;min-width:105px;padding-left:10px;font-size:12px}.locationProgress p{margin:0;line-height:1;text-align:right}.locationProgress{font-size:11px;line-height:17px;text-align:right;white-space:pre-line}.locationProgress .stats{text-align:right}.noLocationData{font-size:12px;text-align:center}.dashboard-fi-tiles span{display:inline-block;width:18px;height:24px;color:transparent;background-image:url(https://www.mousehuntgame.com/images/ui/hud/floating_islands/mods.png?v=1&asset_cache_version=2);background-position-x:354px;background-size:354px}.dashboard-fi-tiles .glass,.dashboard-fi-tiles .gem_bonus{background-position-x:0}.dashboard-fi-tiles .ore,.dashboard-fi-tiles .ore_bonus{background-position-x:6.6%}.dashboard-fi-tiles .curd,.dashboard-fi-tiles .sky_cheese{background-position-x:13.3%}.dashboard-fi-tiles .pirate,.dashboard-fi-tiles .sky_pirates{background-position-x:20%}.dashboard-fi-tiles .key,.dashboard-fi-tiles .loot_cache{background-position-x:26.6%}.dashboard-fi-tiles .warden-wind,.dashboard-fi-tiles .wind_shrine{background-position-x:33.3%}.dashboard-fi-tiles .warden-rain,.dashboard-fi-tiles .rain_shrine{background-position-x:40%}.dashboard-fi-tiles .warden-frost,.dashboard-fi-tiles .frost_shrine{background-position-x:46.6%}.dashboard-fi-tiles .warden-fog,.dashboard-fi-tiles .fog_shrine{background-position-x:53.3%}.dashboard-fi-tiles .sprocket,.dashboard-fi-tiles .paragon_cache_a{background-position-x:60%}.dashboard-fi-tiles .bangle,.dashboard-fi-tiles .paragon_cache_d{background-position-x:66.6%}.dashboard-fi-tiles .wing,.dashboard-fi-tiles .paragon_cache_c{background-position-x:73.3%}.dashboard-fi-tiles .silk,.dashboard-fi-tiles .paragon_cache_b{background-position-x:80%}.dashboard-fi-tiles .glore,.dashboard-fi-tiles .ore_gem_bonus{background-position-x:86.6%}.dashboard-fi-tiles .seal,.dashboard-fi-tiles .cloudstone_bonus{background-position-x:93.3%}.dashboard-fi-tiles .jade,.dashboard-fi-tiles .charm_bonus{background-position-x:100%}.location-refresh-item{display:flex;align-items:stretch;border:1px solid #ccc;border-radius:5px;box-shadow:0 1px 1px -1px #7e7e7e}.mh-improved-location-refresh-popup-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.location-refresh-item.done{background-color:#3fcd84;border-color:#adadad}.location-refresh-item .locationName{position:relative;display:flex;align-items:center;overflow:hidden}.location-refresh-item .locationName .name{z-index:1}@keyframes moving-background{0%{right:100%}to{right:0}}.location-refresh-item.traveling .locationName .progress:after{position:absolute;top:0;right:100%;bottom:0;width:100%;content:"";background:#f3c019;animation:moving-background 1s linear forwards}.mh-improved-location-refresh-confirm-popup #overlayPopup .jsDialogContainer .suffix{display:none}.mh-improved-location-refresh-confirm-popup-buttons{display:flex;align-items:center;justify-content:space-around;margin-top:30px}\n';
}
});

// src/modules/location-dashboard/location/desert-warpath.js
var getFieryWarpathText, setFieryWarpathData;
var init_desert_warpath = __esm({
"src/modules/location-dashboard/location/desert-warpath.js"() {
init_utils2();
getFieryWarpathText = (quests) => {
  var _a, _b, _c, _d;
  if (!quests.QuestFieryWarpath) {
    return "";
  }
  const quest = {
    wave: ((_a = quests == null ? void 0 : quests.QuestFieryWarpath) == null ? void 0 : _a.wave) || 0,
    streak: ((_b = quests == null ? void 0 : quests.QuestFieryWarpath) == null ? void 0 : _b.streak) || 0,
    remaining: ((_c = quests == null ? void 0 : quests.QuestFieryWarpath) == null ? void 0 : _c.remaining) || 0,
    percent: ((_d = quests == null ? void 0 : quests.QuestFieryWarpath) == null ? void 0 : _d.percent) || 100
  };
  let streakText = "";
  if (quest.streak !== 0) {
    streakText = `, ${quest.streak} streak`;
  }
  return `Wave ${quest.wave}: ${quest.percent}% remaining${streakText} `;
};
setFieryWarpathData = () => {
  if ("desert_warpath" !== getCurrentLocation()) {
    return false;
  }
  let wave = 0;
  let streak = "No Streak";
  let remaining = 0;
  let percent = 100;
  const waveEl = document.querySelector(".warpathHUD.showPortal");
  if (waveEl) {
    const waveClass = [...waveEl.classList].find((className) => className.startsWith("wave"));
    wave = Number.parseInt(waveClass.replace("wave", "").replace("_", ""));
  }
  const streakEl = document.querySelector(".warpathHUD-streakBoundingBox");
  if (streakEl) {
    streak = Number.parseInt(streakEl.innerText.replaceAll("\n", " ").replace(" 0", "").trim());
  }
  const remaininEl = document.querySelectorAll(".warpathHUD-wave-mouse-population");
  if (remaininEl.length) {
    remaining = [...remaininEl].reduce((sum, el) => {
      if (el.innerText) {
        sum += Number.parseInt(el.innerText);
      }
      return sum;
    }, 0);
    remaining = remaining - 2;
  }
  const percentEl = document.querySelector(".warpathHUD-moraleBar span");
  if (percentEl) {
    const style = percentEl.getAttribute("style");
    if (style) {
      percent = Number.parseInt(style.replace("width:", "").replace("%;", ""));
    }
  }
  return {
    wave,
    streak,
    remaining,
    percent
  };
};
}
});

// src/modules/location-dashboard/location/seasonal-garden.js
var getSeasonalGardenText, setSeasonalGardenData;
var init_seasonal_garden = __esm({
"src/modules/location-dashboard/location/seasonal-garden.js"() {
getSeasonalGardenText = (quests) => {
  var _a, _b;
  if (!quests.QuestSeasonalGarden) {
    return "";
  }
  const quest = {
    amp: ((_a = quests == null ? void 0 : quests.QuestSeasonalGarden) == null ? void 0 : _a.amp) || 0,
    max: ((_b = quests == null ? void 0 : quests.QuestSeasonalGarden) == null ? void 0 : _b.max) || 0
  };
  return `Amp: ${quest.amp}% / ${quest.max}%`;
};
setSeasonalGardenData = () => {
  const quest = {
    amp: 0,
    max: 0
  };
  const amp = document.querySelector(".seasonalGardenHUD-currentAmplifier-value");
  if (amp) {
    quest.amp = Number.parseInt(amp.textContent, 10);
  }
  const max = document.querySelector(".seasonalGardenHUD-maxAmplifier-value");
  if (max) {
    quest.max = Number.parseInt(max.textContent, 10);
  }
  return quest;
};
}
});

// src/modules/location-dashboard/location/zugzwang-tower.js
var getChessProgress, getZugzwangTowerText, setZugzwangTowerData;
var init_zugzwang_tower = __esm({
"src/modules/location-dashboard/location/zugzwang-tower.js"() {
getChessProgress = (pieces) => {
  if (pieces <= 8) {
    return "Pawns";
  }
  if (pieces <= 10) {
    return "Knights";
  }
  if (pieces <= 12) {
    return "Bishops";
  }
  if (pieces <= 14) {
    return "Rooks";
  }
  if (pieces <= 15) {
    return "Queen";
  }
  return "King";
};
getZugzwangTowerText = (quests) => {
  if (!quests.QuestZugzwangTower) {
    return;
  }
  const returnText = `${quests.QuestZugzwangTower.amp || 0}%`;
  const techProgress = quests.QuestZugzwangTower.tech_progress || 0;
  const mythProgress = quests.QuestZugzwangTower.myth_progress || 0;
  if (techProgress >= 16 && mythProgress >= 16) {
    return `${returnText} Amp, Chessmaster`;
  }
  return `${returnText} Amp, Technic: ${getChessProgress(techProgress)}, Mystic: ${getChessProgress(mythProgress)}`;
};
setZugzwangTowerData = () => {
  const ampEl = document.querySelector(".zuzwangsTowerHUD-currentAmplifier span");
  const amp = ampEl ? Number.parseInt(ampEl.innerText, 10) : 0;
  const techProgressEl = document.querySelectorAll(".zuzwangsTowerHUD-progress.tech img");
  const techProgress = techProgressEl ? techProgressEl.length : 0;
  const mythProgressEl = document.querySelectorAll(".zuzwangsTowerHUD-progress.magic img");
  const mythProgress = mythProgressEl ? mythProgressEl.length : 0;
  return {
    amp,
    techProgress,
    mythProgress
  };
};
}
});

// src/modules/location-dashboard/location/rift-bristle-woods.js
var rift_bristle_woods_default;
var init_rift_bristle_woods = __esm({
"src/modules/location-dashboard/location/rift-bristle-woods.js"() {
rift_bristle_woods_default = (quests) => {
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
  if (!quests.QuestRiftBristleWoods) {
    return "";
  }
  const quest = {
    progress_goal: ((_a = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _a.progress_goal) || null,
    progress_remaining: ((_b = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _b.progress_remaining) || null,
    chamber_name: ((_c = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _c.chamber_name) || null,
    chamber_type: ((_d = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _d.chamber_type) || null,
    obelisk_percent: ((_e = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _e.obelisk_percent) || null,
    aco_sand: ((_f = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _f.acolyte_sand) || 0,
    time_sand: ((_i = (_h = (_g = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _g.items) == null ? void 0 : _h.rift_hourglass_sand_stat_item) == null ? void 0 : _i.quantity) || 0
  };
  if ("acolyte_chamber" === quest.chamber_type) {
    return `Acolyte chamber: ${quest.obelisk_percent}% charged \xB7 <div class="stats">${quest.aco_sand} Acolyte sand \xB7 ${quest.time_sand} time sand</div>`;
  }
  return `${quest.chamber_name} \xB7 ${quest.progress_goal - quest.progress_remaining} / ${quest.progress_goal} loot`;
};
}
});

// src/modules/location-dashboard/location/rift-burroughs.js
var rift_burroughs_default;
var init_rift_burroughs = __esm({
"src/modules/location-dashboard/location/rift-burroughs.js"() {
rift_burroughs_default = (quests) => {
  var _a;
  if (!quests.QuestRiftBurroughs) {
    return "";
  }
  const quest = {
    mist_released: ((_a = quests == null ? void 0 : quests.QuestRiftBurroughs) == null ? void 0 : _a.mist_released) || null
  };
  return `Mist: ${quest.mist_released} / 20`;
};
}
});

// src/modules/location-dashboard/location/floating-islands.js
var floating_islands_default;
var init_floating_islands = __esm({
"src/modules/location-dashboard/location/floating-islands.js"() {
floating_islands_default = (quests) => {
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
  if (!quests.QuestFloatingIslands || !quests.QuestFloatingIslands.hunting_site_atts) {
    return "";
  }
  const powerTypes = {
    arcn: "Arcane",
    frgttn: "Forgotten",
    hdr: "Hydro",
    shdw: "Shadow",
    drcnc: "Draconic",
    law: "Law",
    phscl: "Physical",
    tctcl: "Tactical",
    launch_pad_island: "Launch Pad"
  };
  const quest = {
    activated_island_mod_types: ((_b = (_a = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _a.hunting_site_atts) == null ? void 0 : _b.activated_island_mod_types) || null,
    island_mod_panels: ((_d = (_c = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _c.hunting_site_atts) == null ? void 0 : _d.island_mod_panels) || null,
    island_power_type: ((_f = (_e = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _e.hunting_site_atts) == null ? void 0 : _f.island_power_type) || null,
    isHai: ((_h = (_g = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _g.hunting_site_atts) == null ? void 0 : _h.is_high_tier_island) || false,
    isSp: ((_j = (_i = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _i.hunting_site_atts) == null ? void 0 : _j.is_vault_island) || false,
    isLai: false,
    hunts_remaining: ((_l = (_k = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _k.hunting_site_atts) == null ? void 0 : _l.hunts_remaining) || null,
    wardens_caught: ((_n = (_m = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _m.hunting_site_atts) == null ? void 0 : _n.sky_wardens_caught) || 0
  };
  quest.isLai = !quest.isHai && !quest.isSp;
  const isLaunchPad = quest.island_power_type === "launch_pad_island";
  if (isLaunchPad) {
    return `Launch Pad \xB7 <p>${quest.wardens_caught} wardens caught`;
  }
  let type = "LAI";
  if (quest.isHai) {
    type = "HAI";
  } else if (quest.isSp) {
    type = "SP";
  }
  let tileText = "";
  quest.island_mod_panels.forEach((panel) => {
    const panelType = panel.type.toLowerCase().replaceAll("loot_cache", "key").replaceAll("charm_bonus", "J");
    const complete = panel.is_complete ? "complete" : "incomplete";
    tileText += `<span class="tile ${panelType} ${complete}">${panelType}</span>`;
  });
  const powerType = powerTypes[quest.island_power_type];
  let returnText = `<span class='dashboard-fi-tiles'>${tileText}</span> ${powerType} ${type}`;
  if (quest.isLai) {
    returnText += `<div class="stats">${quest.hunts_remaining} hunts left, ${quest.wardens_caught} wardens caught</div>`;
  } else {
    return returnText += ` \xB7 ${quest.hunts_remaining} hunts left`;
  }
  return returnText;
};
}
});

// src/modules/location-dashboard/location/foreword-farm.js
var foreword_farm_default;
var init_foreword_farm = __esm({
"src/modules/location-dashboard/location/foreword-farm.js"() {
foreword_farm_default = (quests) => {
  if (!quests.QuestForewordFarm) {
    return "";
  }
  const plants = {
    empty: 0,
    ordinary_farm_plant: 0,
    legendary_farm_plant: 0,
    twisted_legendary_magic_farm_plant: 0
  };
  quests.QuestForewordFarm.plots.forEach((plot) => {
    const name = plot.is_growing ? plot.plant.type : "empty";
    plants[name] += 1;
  });
  if (plants.empty === 3) {
    return "No plants growing";
  }
  let returnText = "";
  if (plants.ordinary_farm_plant > 0) {
    returnText += `${plants.ordinary_farm_plant} Mulch, `;
  }
  if (plants.legendary_farm_plant > 0) {
    returnText += `${plants.legendary_farm_plant} Papyrus, `;
  }
  if (plants.twisted_legendary_magic_farm_plant > 0) {
    returnText += `${plants.twisted_legendary_magic_farm_plant} Twisted Papyrus, `;
  }
  returnText = returnText.slice(0, -2);
  return `Growing ${returnText}`;
};
}
});

// src/modules/location-dashboard/location/fort-rox.js
var fort_rox_default;
var init_fort_rox = __esm({
"src/modules/location-dashboard/location/fort-rox.js"() {
fort_rox_default = (quests) => {
  if (!quests.QuestFortRox) {
    return "";
  }
  const quest = {
    stage: quests.QuestFortRox.current_stage || "stage_none",
    hp: quests.QuestFortRox.hp || 0,
    max_hp: quests.QuestFortRox.max_hp || 0,
    is_dawn: quests.QuestFortRox.is_dawn || false
  };
  let phase = "Day";
  const phases = {
    stage_none: "Day",
    stage_one: "Twilight",
    stage_two: "Midnight",
    stage_three: "Pitch",
    stage_four: "Utter Darkness",
    stage_five: "First Light"
  };
  phase = quest.is_dawn ? "Dawn" : phases[quest.stage];
  return `${phase}: ${quest.hp}/${quest.max_hp} HP`;
};
}
});

// src/modules/location-dashboard/location/rift-furoma.js
var rift_furoma_default;
var init_rift_furoma = __esm({
"src/modules/location-dashboard/location/rift-furoma.js"() {
rift_furoma_default = (quests) => {
  if (!quests.QuestRiftFuroma) {
    return "";
  }
  const q = quests.QuestRiftFuroma;
  const map = {
    one: 1,
    two: 2,
    three: 3,
    four: 4,
    five: 5,
    six: 6,
    seven: 7,
    eight: 8,
    nine: 9,
    ten: 10
  };
  const location = q.view_state.includes("pagoda") ? "inside" : "outside";
  if ("inside" === location) {
    const droidLevel = map[q.droid.charge_level.split("_")[2]];
    const batteryPercent = Math.floor(q.batteries[q.droid.charge_level].percent);
    return `Pagoda \xB7 Battery ${droidLevel} (${batteryPercent}%) \xB7 ${q.droid.remaining_energy} Enerchi`;
  }
  const unlockedBatteries = Object.keys(q.batteries).filter((battery) => {
    return q.batteries[battery].status.includes("unlocked");
  });
  const highestBattery = unlockedBatteries.reduce((highest, battery) => {
    const batteryLevel = map[battery.split("_")[2]];
    return batteryLevel > highest ? batteryLevel : highest;
  }, 0);
  return `Outside \xB7 Battery ${highestBattery} \xB7 ${q.items.combat_energy_stat_item.quantity} Enerchi`;
};
}
});

// src/modules/location-dashboard/location/iceberg.js
var iceberg_default2;
var init_iceberg2 = __esm({
"src/modules/location-dashboard/location/iceberg.js"() {
iceberg_default2 = (quests) => {
  if (!quests.QuestIceberg) {
    return "";
  }
  const quest = {
    phase: quests.QuestIceberg.current_phase || "Iceberg",
    progress: quests.QuestIceberg.user_progress || 0,
    hunts: quests.QuestIceberg.turns_taken || 0
  };
  return `${quest.phase}: ${quest.progress} ft - Hunt #${quest.hunts}`;
};
}
});

// src/modules/location-dashboard/location/labyrinth.js
var labyrinth_default2;
var init_labyrinth2 = __esm({
"src/modules/location-dashboard/location/labyrinth.js"() {
labyrinth_default2 = (quests) => {
  var _a, _b, _c;
  if (!quests.QuestLabyrinth) {
    return "";
  }
  const quest = {
    clues: ((_a = quests == null ? void 0 : quests.QuestLabyrinth) == null ? void 0 : _a.clues) || 0,
    hallway_name: ((_b = quests == null ? void 0 : quests.QuestLabyrinth) == null ? void 0 : _b.hallway_name) || "",
    status: ((_c = quests == null ? void 0 : quests.QuestLabyrinth) == null ? void 0 : _c.status) || null
  };
  let clueText = "";
  if (quest.clues) {
    const clueTexts = [];
    quest.clues.forEach((clue) => {
      const clueName = clue.name.replace("Farming", "Farm").replace("Dead End", "DEC");
      clueTexts.push(`${clue.quantity} ${clueName}`);
    });
    if (clueTexts.length > 0) {
      clueText = `: ${clueTexts.join(", ")} clues`;
    }
  }
  const hallwayName = quest.hallway_name.replace(" Hallway", "");
  const currentLocation = quest.status === "intersection" ? "Intersection" : hallwayName;
  return `${currentLocation}${clueText}`;
};
}
});

// src/modules/location-dashboard/location/desert-oasis.js
var desert_oasis_default;
var init_desert_oasis = __esm({
"src/modules/location-dashboard/location/desert-oasis.js"() {
desert_oasis_default = (quests) => {
  var _a, _b, _c, _d;
  if (!quests.QuestLivingGarden) {
    return "";
  }
  const twistedText = quests.QuestLivingGarden.is_normal ? "Not twisted" : "Twisted";
  let minigameText = "";
  if ("drops" === ((_a = quests.QuestLivingGarden.minigame) == null ? void 0 : _a.type)) {
    minigameText = `: Thirsty mice for ${(_b = quests.QuestLivingGarden.minigame) == null ? void 0 : _b.estimate} hunts`;
  } else if ("hunts" === ((_c = quests.QuestLivingGarden.minigame) == null ? void 0 : _c.bucket_state)) {
    minigameText = `: ${(_d = quests.QuestLivingGarden.minigame) == null ? void 0 : _d.bucket_state} bucket`;
  }
  return `${twistedText}${minigameText}`;
};
}
});

// src/modules/location-dashboard/location/lost-city.js
var lost_city_default;
var init_lost_city = __esm({
"src/modules/location-dashboard/location/lost-city.js"() {
lost_city_default = (quests) => {
  var _a, _b, _c, _d;
  if (!quests.QuestLostCity) {
    return "";
  }
  if (!((_b = (_a = quests.QuestLostCity) == null ? void 0 : _a.minigame) == null ? void 0 : _b.is_cursed)) {
    return "Not cursed";
  }
  const curses = (_d = (_c = quests.QuestLostCity) == null ? void 0 : _c.minigame) == null ? void 0 : _d.curses;
  const cursesText = curses.map((curse) => curse.name).join(", ").replaceAll("!", "").replace(/,([^,]*)$/, "$1");
  return `Cursed with ${cursesText}`;
};
}
});

// src/modules/location-dashboard/location/mousoleum.js
var mousoleum_default2;
var init_mousoleum2 = __esm({
"src/modules/location-dashboard/location/mousoleum.js"() {
mousoleum_default2 = (quests) => {
  var _a, _b, _c, _d;
  if (!quests.QuestMousoleum) {
    return "";
  }
  const quest = {
    has_wall: ((_a = quests == null ? void 0 : quests.QuestMousoleum) == null ? void 0 : _a.has_wall) || false,
    wall_health: ((_b = quests == null ? void 0 : quests.QuestMousoleum) == null ? void 0 : _b.wall_health) || 0,
    max_wall_health: ((_c = quests == null ? void 0 : quests.QuestMousoleum) == null ? void 0 : _c.max_wall_health) || 0,
    planks: ((_d = quests == null ? void 0 : quests.QuestMousoleum) == null ? void 0 : _d.wall_materials) || 0
  };
  if (quest.has_wall) {
    return `Wall, ${quest.wall_health}/${quest.max_wall_health} HP`;
  }
  return `No Wall, ${quest.planks} planks`;
};
}
});

// src/modules/location-dashboard/location/moussu-picchu.js
var moussu_picchu_default;
var init_moussu_picchu = __esm({
"src/modules/location-dashboard/location/moussu-picchu.js"() {
init_utils2();
moussu_picchu_default = (quests) => {
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
  if (!(quests.QuestMoussuPicchu && quests.QuestMoussuPicchu.elements)) {
    return "";
  }
  const quest = {
    rainPercent: ((_c = (_b = (_a = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _a.elements) == null ? void 0 : _b.rain) == null ? void 0 : _c.percent) || 0,
    rainLevel: ((_f = (_e = (_d = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _d.elements) == null ? void 0 : _e.rain) == null ? void 0 : _f.level) || null,
    stormPercent: ((_i = (_h = (_g = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _g.elements) == null ? void 0 : _h.storm) == null ? void 0 : _i.percent) || 0,
    stormLevel: ((_l = (_k = (_j = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _j.elements) == null ? void 0 : _k.storm) == null ? void 0 : _l.level) || null,
    windPercent: ((_o = (_n = (_m = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _m.elements) == null ? void 0 : _n.wind) == null ? void 0 : _o.percent) || 0,
    windLevel: ((_r = (_q = (_p = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _p.elements) == null ? void 0 : _q.wind) == null ? void 0 : _r.level) || null
  };
  if ("none" !== quest.stormLevel) {
    return `${uppercaseFirstLetter(quest.stormLevel)} Storm`;
  }
  return `${uppercaseFirstLetter(quest.windLevel)} Wind (${quest.windPercent}%), ${uppercaseFirstLetter(quest.rainLevel)} Rain (${quest.rainPercent}%)`;
};
}
});

// src/modules/location-dashboard/location/queso-geyser.js
var queso_geyser_default;
var init_queso_geyser = __esm({
"src/modules/location-dashboard/location/queso-geyser.js"() {
queso_geyser_default = (quests) => {
  var _a, _b;
  if (!quests.QuestQuesoGeyser) {
    return "";
  }
  const quest = {
    state_name: ((_a = quests == null ? void 0 : quests.QuestQuesoGeyser) == null ? void 0 : _a.state_name) || "Cork Gathering",
    // add check for pressure building here
    hunts_remaining: ((_b = quests == null ? void 0 : quests.QuestQuesoGeyser) == null ? void 0 : _b.hunts_remaining) || 0
  };
  return `${quest.state_name}: ${quest.hunts_remaining} hunts remaining`;
};
}
});

// src/modules/location-dashboard/location/sand-dunes.js
var sand_dunes_default;
var init_sand_dunes = __esm({
"src/modules/location-dashboard/location/sand-dunes.js"() {
sand_dunes_default = (quests) => {
  var _a;
  if (!quests.QuestSandDunes) {
    return "";
  }
  return ((_a = quests.QuestSandDunes.minigame) == null ? void 0 : _a.has_stampede) ? "Stampeding" : "Not stampeding";
};
}
});

// src/modules/location-dashboard/location/sunken-city.js
var sunken_city_default;
var init_sunken_city = __esm({
"src/modules/location-dashboard/location/sunken-city.js"() {
sunken_city_default = (quests) => {
  var _a;
  if (!quests.QuestSunkenCity) {
    return "";
  }
  const oxygen = ((_a = quests.QuestSunkenCity.items) == null ? void 0 : _a.oxygen_stat_item) || 0;
  if (!quests.QuestSunkenCity.is_diving) {
    const canDive = quests.QuestSunkenCity.can_dive ? "can dive" : "cannot dive";
    return `Docked (${canDive}), ${oxygen} O\u2082`;
  }
  const zone = quests.QuestSunkenCity.zone_name;
  const depth = quests.QuestSunkenCity.distance;
  return `${zone}, ${depth}m, ${oxygen} O\u2082`;
};
}
});

// src/modules/location-dashboard/location/table-of-contents.js
var table_of_contents_default;
var init_table_of_contents = __esm({
"src/modules/location-dashboard/location/table-of-contents.js"() {
table_of_contents_default = (quests) => {
  if (!quests.QuestTableOfContents) {
    return "";
  }
  const q = quests.QuestTableOfContents;
  if (!q.is_writing) {
    return "Not writing";
  }
  return `Writing: ${q.current_book.name} (${q.current_book.percent}%) <div class="stats">${q.current_book.word_count_formatted} words \xB7 ${q.current_book.hunts_remaining} hunts remaining</div>`;
};
}
});

// src/modules/location-dashboard/location/pollution-outbreak.js
var pollution_outbreak_default;
var init_pollution_outbreak = __esm({
"src/modules/location-dashboard/location/pollution-outbreak.js"() {
pollution_outbreak_default = (quests) => {
  if (!quests.QuestPollutionOutbreak) {
    return "";
  }
  const q = quests.QuestPollutionOutbreak;
  return `${q.items.crude_pollutinum_stat_item.quantity}/${q.max_pollutinum} Pollutinum, ${q.refined_pollutinum} refined`;
};
}
});

// src/modules/location-dashboard/location/rift-valour.js
var rift_valour_default;
var init_rift_valour = __esm({
"src/modules/location-dashboard/location/rift-valour.js"() {
rift_valour_default = (quests) => {
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
  if (!quests.QuestRiftValour) {
    return "";
  }
  const quest = {
    floor: ((_a = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _a.floor) || 0,
    floor_name: ((_b = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _b.floor_name) || "Outside",
    floor_steps: ((_c = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _c.floor_steps) || 0,
    hunts_remaining: ((_d = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _d.hunts_remaining) || 0,
    current_step_formatted: ((_e = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _e.current_step_formatted) || "0",
    speed: ((_h = (_g = (_f = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _f.power_up_data) == null ? void 0 : _g.long_stride) == null ? void 0 : _h.current_level) + 1 || 1,
    sync: ((_k = (_j = (_i = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _i.power_up_data) == null ? void 0 : _j.hunt_limit) == null ? void 0 : _k.current_level) + 1 || 1,
    siphon: ((_n = (_m = (_l = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _l.power_up_data) == null ? void 0 : _m.boss_extension) == null ? void 0 : _n.current_level) + 1 || 1,
    umbra: ((_q = (_p = (_o = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _o.augmentation_data) == null ? void 0 : _p.tu) == null ? void 0 : _q.is_locked) === null ? "Ultimate Umbra Run" : "Normal Run"
  };
  let text = "";
  text = quest.floor === 0 ? "Outside" : `Floor ${quest.floor} (${quest.floor_name}) ${quest.hunts_remaining} hunts remaining`;
  return `<div>${quest.umbra}</div> ${text} <div class="stats">Speed ${quest.speed} \xB7 Sync ${quest.sync} \xB7 Siphon ${quest.siphon}</div>`;
};
}
});

// src/modules/location-dashboard/location/whisker-woods-rift.js
var whisker_woods_rift_default;
var init_whisker_woods_rift = __esm({
"src/modules/location-dashboard/location/whisker-woods-rift.js"() {
whisker_woods_rift_default = (quests) => {
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
  if (!(quests.QuestRiftWhiskerWoods && quests.QuestRiftWhiskerWoods.zones)) {
    return "";
  }
  const quest = {
    clearing: ((_c = (_b = (_a = quests == null ? void 0 : quests.QuestRiftWhiskerWoods) == null ? void 0 : _a.zones) == null ? void 0 : _b.clearing) == null ? void 0 : _c.level) || 0,
    lagoon: ((_f = (_e = (_d = quests == null ? void 0 : quests.QuestRiftWhiskerWoods) == null ? void 0 : _d.zones) == null ? void 0 : _e.lagoon) == null ? void 0 : _f.level) || 0,
    tree: ((_i = (_h = (_g = quests == null ? void 0 : quests.QuestRiftWhiskerWoods) == null ? void 0 : _g.zones) == null ? void 0 : _h.tree) == null ? void 0 : _i.level) || 0
  };
  return `Rage: ${quest.clearing} / ${quest.lagoon} / ${quest.tree}`;
};
}
});

// src/modules/location-dashboard/location/ancient-city.js
var ancient_city_default;
var init_ancient_city = __esm({
"src/modules/location-dashboard/location/ancient-city.js"() {
ancient_city_default = (quests) => {
  var _a, _b;
  if (!quests.QuestAncientCity) {
    return "";
  }
  const quest = {
    district_name: ((_a = quests == null ? void 0 : quests.QuestAncientCity) == null ? void 0 : _a.district_name) || null,
    remaining: ((_b = quests == null ? void 0 : quests.QuestAncientCity) == null ? void 0 : _b.remaining) || null
  };
  if (!quest.district_name || !quest.remaining) {
    return "";
  }
  return `${quest.district_name.replace("The ", "")}, ${quest.remaining} stealth`;
};
}
});

// src/modules/location-dashboard/index.js
var cacheLocationData, waitForTravel, doLocationRefresh, makeDashboardTab, makeRegionMarkup, makeLocationMarkup, getDashboardContents, environments4, init54, location_dashboard_default;
var init_location_dashboard = __esm({
"src/modules/location-dashboard/index.js"() {
init_utils2();
init_utils2();
init_styles46();
init_desert_warpath();
init_seasonal_garden();
init_zugzwang_tower();
init_rift_bristle_woods();
init_rift_burroughs();
init_floating_islands();
init_foreword_farm();
init_fort_rox();
init_rift_furoma();
init_iceberg2();
init_labyrinth2();
init_desert_oasis();
init_lost_city();
init_mousoleum2();
init_moussu_picchu();
init_queso_geyser();
init_sand_dunes();
init_sunken_city();
init_table_of_contents();
init_pollution_outbreak();
init_rift_valour();
init_whisker_woods_rift();
init_ancient_city();
cacheLocationData = () => __async(void 0, null, function* () {
  if (!user.environment_type || !user.quests) {
    return;
  }
  if (user.environment_type === "desert_warpath") {
    const fwQuestData = setFieryWarpathData();
    if (fwQuestData) {
      user.quests.QuestFieryWarpath = fwQuestData;
    }
  } else if (user.environment_type === "zugzwang_tower") {
    const ztQuestData = setZugzwangTowerData();
    if (ztQuestData) {
      user.quests.QuestZugzwangTower = ztQuestData;
    }
  } else if (user.environment_type === "seasonal_garden") {
    const sgQuestData = setSeasonalGardenData();
    if (sgQuestData) {
      user.quests.QuestSeasonalGarden = sgQuestData;
    }
  }
  const questsCached = yield cacheGet("quests", {});
  const questsCombined = Object.assign({}, questsCached, user.quests);
  if (user.environment_type === "labyrinth") {
    questsCombined.QuestAncientCity = {};
  } else if (user.environment_type === "ancient_city") {
    questsCombined.QuestLabyrinth = {};
  } else if (user.environment_type === "zugzwang_tower") {
    questsCombined.QuestSeasonalGarden = {};
  } else if (user.environment_type === "seasonal_garden") {
    questsCombined.QuestZugzwangTower = {};
  }
  try {
    cacheSet2("quests", questsCombined);
  } catch (error) {
    debug("Error saving location data to localStorage:", error);
  }
});
waitForTravel = (environment) => __async(void 0, null, function* () {
  return new Promise((resolve) => {
    hg.utils.User.travel(
      environment,
      (success) => {
        debug(`Travel success: ${success}`);
        resolve();
      },
      (error) => {
        debug(`Travel error: ${error}`);
        resolve();
      }
    );
    debug(`Traveled to ${environment}.`);
  });
});
doLocationRefresh = () => __async(void 0, null, function* () {
  sessionSet("doing-location-refresh", true);
  const locationProgress = [];
  const environmentsToUse = /* @__PURE__ */ new Set([
    "ancient_city",
    "desert_warpath",
    "floating_islands",
    "foreword_farm",
    "fort_rox",
    "iceberg",
    "labyrinth",
    "desert_oasis",
    "lost_city",
    "mousoleum",
    "moussu_picchu",
    "pollution_outbreak",
    "queso_geyser",
    "rift_bristle_woods",
    "rift_burroughs",
    "rift_furoma",
    "rift_valour",
    "rift_whisker_woods",
    "sand_dunes",
    "seasonal_garden",
    "sunken_city",
    "table_of_contents",
    "zugzwang_tower"
  ]);
  const environmentsToTravel = environments4.filter((env) => {
    return environmentsToUse.has(env.id) && isUserTitleAtLeast(env.title);
  });
  debug(`Environments to travel: ${environmentsToTravel.map((env) => env.name).join(", ")}`);
  environmentsToTravel.sort((a, b) => {
    return a.order - b.order;
  });
  debug(`Sorted environments to travel: ${environmentsToTravel.map((env) => env.name).join(", ")}`);
  let locationProgressMarkup = "";
  environmentsToTravel.forEach((env) => {
    locationProgressMarkup += `<div class="location-refresh-item" data-environment-type="${env.id}">
<div class="locationImageWrapper">
<img class="locationImage" src="${env.image}">
</div>
<div class="locationName">
<div class="name">${env.name}</div>
<div class="progress"></div>
</div>
</div>`;
    locationProgress.push(env.id);
    debug(`Adding ${env.name} to the to-travel list.`);
  });
  const popup = createPopup({
    title: "Refreshing Location Data",
    content: `<div class="mh-improved-location-refresh-popup">
<div class="mh-improved-location-refresh-popup-progress">${locationProgressMarkup}</div>
</div>`,
    hasCloseButton: false,
    show: true
  });
  const originalLocation = user.environment_type;
  debug(`Original location: ${user.environment_type}.`);
  const equippedbait = user.bait_item_id || "disarmed";
  debug(`Equipped bait: ${equippedbait}.`);
  hg.utils.TrapControl.disarmBait().go();
  for (const location of locationProgress) {
    const locationData = environments4.find((env) => env.id === location);
    if (!locationData) {
      continue;
    }
    debug(`Traveling to ${locationData.name}.`);
    const progressItem = document.querySelector(`.location-refresh-item[data-environment-type="${location}"]`);
    if (!progressItem) {
      continue;
    }
    progressItem.classList.add("traveling");
    yield waitForTravel(location);
    yield cacheLocationData();
    progressItem.classList.remove("traveling");
    progressItem.classList.add("done");
    debug(`Traveled to ${locationData.name}.`);
  }
  yield waitForTravel(originalLocation);
  debug(`Traveled back to ${user.environment_type}.`);
  hg.utils.TrapControl.setBait(equippedbait).go();
  debug(`Re-equipped bait: ${equippedbait}.`);
  popup.hide();
  const dashboardMenu = document.querySelector(".mousehuntHeaderView .menuItem.dropdown.dashboard");
  if (dashboardMenu) {
    dashboardMenu.classList.add("expanded");
    const existing = document.querySelector(".dashboardContents");
    if (existing) {
      const refreshedContents = yield getDashboardContents();
      existing.replaceWith(refreshedContents);
    }
    const wrapper = document.querySelector(".dashboardWrapper");
    if (wrapper) {
      wrapper.scrollTop = 0;
    }
  }
  sessionSet("doing-location-refresh", false);
});
makeDashboardTab = () => {
  const tabsContainer = document.querySelector(".mousehuntHeaderView-dropdownContainer");
  if (!tabsContainer) {
    return;
  }
  const menuTab = document.createElement("div");
  menuTab.classList.add("menuItem");
  menuTab.classList.add("dropdown");
  menuTab.classList.add("dashboard");
  menuTab.addEventListener("click", () => __async(void 0, null, function* () {
    menuTab.classList.toggle("expanded");
    const existing = document.querySelector(".dashboardContents");
    if (existing) {
      const refreshedContents = yield getDashboardContents();
      existing.replaceWith(refreshedContents);
    }
    sessionSet("doing-location-refresh", false);
  }));
  makeElement("span", "", "Dashboard", menuTab);
  makeElement("div", "arrow", "", menuTab);
  const dropdownContent = makeElement("div", "dropdownContent");
  const dashboardWrapper = makeElement("div", "dashboardWrapper");
  makeElement("div", "dashboardContents", "", dashboardWrapper);
  const refreshWrapper = makeElement("div", "refreshWrapper");
  const refreshButton = makeElement("button", ["mousehuntActionButton", "dashboardRefresh"]);
  makeElement("span", "", "Refresh", refreshButton);
  refreshButton.addEventListener("click", () => {
    const confirmPopup = createPopup({
      title: "Refresh Location Data",
      content: `<div class="mh-improved-location-refresh-confirm-popup">
  <div class="mh-improved-location-refresh-confirm-popup-content">
    <p>This will refresh the location data for all locations by traveling to each location and caching the data.</p>
    <div class="mh-improved-location-refresh-confirm-popup-buttons">
      <div class="mousehuntActionButton mh-improved-location-refresh-confirm-popup-button mh-improved-location-refresh-confirm-popup-button-cancel"><span>Cancel</span></div>
      <div class="mousehuntActionButton mh-improved-location-refresh-confirm-popup-button mh-improved-location-refresh-confirm-popup-button-confirm"><span>Start Traveling</span></div>
    </div>
  </div>
</div>`,
      className: "mh-improved-location-refresh-confirm-popup",
      hasCloseButton: false,
      show: true
    });
    const cancelButton = document.querySelector(".mh-improved-location-refresh-confirm-popup-button-cancel");
    if (cancelButton) {
      cancelButton.addEventListener("click", () => {
        confirmPopup.hide();
      });
    }
    const confirmButton = document.querySelector(".mh-improved-location-refresh-confirm-popup-button-confirm");
    if (confirmButton) {
      confirmButton.addEventListener("click", () => {
        confirmPopup.hide();
        doLocationRefresh();
      });
    }
    doLocationRefresh();
  });
  refreshWrapper.append(refreshButton);
  dashboardWrapper.append(refreshWrapper);
  dropdownContent.append(dashboardWrapper);
  menuTab.append(dropdownContent);
  tabsContainer.insertBefore(menuTab, tabsContainer.lastChild);
};
makeRegionMarkup = (name, childContent, appendTo) => {
  const firstChild = childContent.firstChild;
  if (!firstChild) {
    return;
  }
  const regionWrapper = makeElement("div", "regionWrapper");
  makeElement("div", "regionName", name, regionWrapper);
  regionWrapper.append(childContent);
  appendTo.append(regionWrapper);
};
makeLocationMarkup = (id, name, progress, appendTo, quests) => {
  const markup = progress(quests);
  if (!markup) {
    return;
  }
  const locationWrapper = makeElement("div", "locationWrapper");
  locationWrapper.setAttribute("data-location", id);
  locationWrapper.classList.add(`locationWrapper-${id}`);
  const locationImageWrapper = makeElement("div", "locationImageWrapper");
  const image = environments4.find((env) => env.id === id);
  if (image.image) {
    const locationImage = makeElement("img", "locationImage");
    locationImage.setAttribute("src", image.image);
    locationImageWrapper.append(locationImage);
  }
  locationWrapper.append(locationImageWrapper);
  makeElement("div", "locationName", name, locationWrapper);
  makeElement("div", "locationProgress", markup, locationWrapper);
  appendTo.append(locationWrapper);
};
getDashboardContents = () => __async(void 0, null, function* () {
  const quests = yield cacheGet("quests", {});
  const contentsWrapper = document.createElement("div");
  contentsWrapper.classList.add("dashboardContents");
  const burroughs = document.createElement("div");
  makeLocationMarkup("mousoleum", "Mousoleum", mousoleum_default2, burroughs, quests);
  makeLocationMarkup("pollution_outbreak", "Toxic Spill", pollution_outbreak_default, burroughs, quests);
  makeRegionMarkup("Burroughs", burroughs, contentsWrapper);
  const varmintValley = document.createElement("div");
  makeLocationMarkup("fort_rox", "Fort Rox", fort_rox_default, varmintValley, quests);
  makeRegionMarkup("Varmint Valley", varmintValley, contentsWrapper);
  const sandtailDesert = document.createElement("div");
  makeLocationMarkup("desert_warpath", "Fiery Warpath", getFieryWarpathText, sandtailDesert, quests);
  makeLocationMarkup("desert_oasis", "Living Garden", desert_oasis_default, sandtailDesert, quests);
  makeLocationMarkup("lost_city", "Lost City", lost_city_default, sandtailDesert, quests);
  makeLocationMarkup("sand_dunes", "Sand Dunes", sand_dunes_default, sandtailDesert, quests);
  makeRegionMarkup("Sandtail Desert", sandtailDesert, contentsWrapper);
  const rodentia = document.createElement("div");
  makeLocationMarkup("seasonal_garden", "Seasonal Garden", getSeasonalGardenText, rodentia, quests);
  makeLocationMarkup("zugzwang_tower", "Zugzwang's Tower", getZugzwangTowerText, rodentia, quests);
  makeLocationMarkup("iceberg", "Iceberg", iceberg_default2, rodentia, quests);
  makeLocationMarkup("sunken_city", "Sunken City", sunken_city_default, rodentia, quests);
  makeRegionMarkup("Rodentia", rodentia, contentsWrapper);
  const quesoCanyon = document.createElement("div");
  makeLocationMarkup("queso_geyser", "Queso Geyser", queso_geyser_default, quesoCanyon, quests);
  makeRegionMarkup("Queso Canyon", quesoCanyon, contentsWrapper);
  const hollowHeights = document.createElement("div");
  makeLocationMarkup("labyrinth", "Labyrinth", labyrinth_default2, hollowHeights, quests);
  makeLocationMarkup("ancient_city", "Zokor", ancient_city_default, hollowHeights, quests);
  makeLocationMarkup("moussu_picchu", "Moussu Picchu", moussu_picchu_default, hollowHeights, quests);
  makeLocationMarkup("floating_islands", "Floating Islands", floating_islands_default, hollowHeights, quests);
  makeRegionMarkup("Hollow Heights", hollowHeights, contentsWrapper);
  const folkloreForest = document.createElement("div");
  makeLocationMarkup("foreword_farm", "Foreword Farm", foreword_farm_default, folkloreForest, quests);
  makeLocationMarkup("table_of_contents", "Table of Contents", table_of_contents_default, folkloreForest, quests);
  makeRegionMarkup("Folklore Forest", folkloreForest, contentsWrapper);
  const rift = document.createElement("div");
  makeLocationMarkup("rift_burroughs", "Burroughs Rift", rift_burroughs_default, rift, quests);
  makeLocationMarkup("rift_whisker_woods", "Whisker Woods Rift", whisker_woods_rift_default, rift, quests);
  makeLocationMarkup("rift_furoma", "Furoma Rift", rift_furoma_default, rift, quests);
  makeLocationMarkup("rift_bristle_woods", "Bristle Woods Rift", rift_bristle_woods_default, rift, quests);
  makeLocationMarkup("rift_valour", "Valour Rift", rift_valour_default, rift, quests);
  makeRegionMarkup("Rift", rift, contentsWrapper);
  if (burroughs.children.length === 0 && varmintValley.children.length === 0 && sandtailDesert.children.length === 0 && rodentia.children.length === 0 && quesoCanyon.children.length === 0 && hollowHeights.children.length === 0 && folkloreForest.children.length === 0 && rift.children.length === 0) {
    const noLocation = makeElement("div", "noLocationDataWrapper");
    makeElement("div", "noLocationData", "No location data found. Refresh data to populate the dashboard.", noLocation);
    contentsWrapper.append(noLocation);
  }
  return contentsWrapper;
});
environments4 = [];
init54 = () => __async(void 0, null, function* () {
  addStyles(styles_default45, "location-dashboard");
  environments4 = yield getData("environments");
  sessionSet("doing-location-refresh", false);
  cacheLocationData();
  onEvent("travel_complete", cacheLocationData);
  onRequest("*", cacheLocationData);
  makeDashboardTab();
});
location_dashboard_default = {
  id: "location-dashboard",
  name: "Location Dashboard",
  type: "feature",
  default: true,
  description: "See location HUD information in a dashboard available in the top dropdown menu.",
  load: init54
};
}
});

// src/modules/metric/index.js
var imperialToMetric, convertInDialog, replaceInJournal, replaceOnMousePage, convertOnPage, init55, metric_default;
var init_metric = __esm({
"src/modules/metric/index.js"() {
init_utils2();
imperialToMetric = (text) => {
  const lb = text.match(/(\d+? )lb./i);
  const oz = text.match(/(\d+? )oz./i);
  if (!(lb || oz)) {
    return;
  }
  const lbValue = lb ? lb[1] : 0;
  const ozValue = oz ? oz[1] : 0;
  const totalWeight = Number.parseInt(lbValue) + Number.parseInt(ozValue) / 16;
  const totalWeightMetric = (Math.round(totalWeight * 0.45359237 * 100) / 100).toString();
  return text.replace(/(\d+? lb.\s)?(\d+? oz.)/i, totalWeightMetric + " kg. ");
};
convertInDialog = () => {
  const mouseViewWeights = document.querySelectorAll(".mouseView-statsContainer .mouseView-statsContainer-block-padding table tbody tr");
  if (mouseViewWeights.length) {
    mouseViewWeights.forEach((row) => {
      const firstCell = row.querySelector("td");
      const secondCell = firstCell.nextSibling;
      if (firstCell.innerText === "Avg. Weight:" || firstCell.innerText === "Heaviest:") {
        const converted = imperialToMetric(secondCell.innerText);
        if (converted) {
          secondCell.innerText = converted;
        }
      }
    });
  }
};
replaceInJournal = () => {
  const entries = document.querySelectorAll(".journal .entry .journalbody .journaltext");
  if (!entries.length) {
    return;
  }
  entries.forEach((entry) => {
    const converted = imperialToMetric(entry.innerHTML);
    if (converted) {
      entry.innerHTML = converted;
    }
  });
};
replaceOnMousePage = () => {
  const mouseWeightsStats = document.querySelectorAll(".mouseListView-categoryContent-subgroupContainer .mouseListView-categoryContent-subgroup-mouse-stats");
  if (!mouseWeightsStats.length) {
    return;
  }
  mouseWeightsStats.forEach((stat) => {
    if (stat.classList.contains("average_weight") || stat.classList.contains("heaviest_catch")) {
      const converted = imperialToMetric(stat.innerText);
      if (converted) {
        stat.innerText = converted;
      }
    }
  });
};
convertOnPage = () => {
  replaceOnMousePage();
  replaceInJournal();
};
init55 = () => __async(void 0, null, function* () {
  onDialogShow("all", convertInDialog);
  onRequest("*", convertOnPage);
  convertOnPage();
});
metric_default = {
  id: "metric",
  name: "Metric Units",
  type: "feature",
  default: false,
  description: "Use metric units instead of imperial units.",
  load: init55
};
}
});

// src/modules/paste-hunter-id/index.js
var maybeRedirectToHunterProfile, listenForIDPaste, init56, paste_hunter_id_default;
var init_paste_hunter_id = __esm({
"src/modules/paste-hunter-id/index.js"() {
maybeRedirectToHunterProfile = (text) => {
  var _a, _b;
  const url = text.match(/https:\/\/www.mousehuntgame.com/);
  if (url) {
    window.location.href = text;
    return;
  }
  const id = text.match(/\d+/);
  if (!id) {
    return;
  }
  if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.setPage)) {
    return;
  }
  hg.utils.PageUtil.setPage("HunterProfile", {
    id: id[0]
  }, (data) => {
    var _a2, _b2;
    const snuid = data.tabs.profile.subtabs[0].snuid;
    if (snuid && ((_b2 = (_a2 = hg == null ? void 0 : hg.utils) == null ? void 0 : _a2.PageUtil) == null ? void 0 : _b2.showHunterProfile)) {
      hg.utils.PageUtil.showHunterProfile(snuid);
    }
  });
};
listenForIDPaste = () => {
  window.addEventListener("paste", (e) => {
    if (
      /* eslint-disable @wordpress/no-global-active-element */
      document.activeElement instanceof HTMLInputElement || document.activeElement instanceof HTMLTextAreaElement || document.activeElement instanceof HTMLSelectElement
    ) {
      return;
    }
    maybeRedirectToHunterProfile(e.clipboardData.getData("text"));
  });
};
init56 = () => __async(void 0, null, function* () {
  listenForIDPaste();
});
paste_hunter_id_default = {
  id: "paste-hunter-id",
  name: "Paste Hunter ID",
  type: "feature",
  default: true,
  description: "Copy a Hunter ID to your clipboard and then press Ctrl/Cmd+v anywhere to go directly to that hunter's profile.",
  load: init56
};
}
});

// src/modules/location-huds/toggle-icon.js
var getCurrentLocationForSettings, getIconSettings, addToggleIcon, toggle_icon_default;
var init_toggle_icon = __esm({
"src/modules/location-huds/toggle-icon.js"() {
init_utils2();
getCurrentLocationForSettings = () => __async(void 0, null, function* () {
  const currentLocation = getCurrentLocation();
  const eventEnvironments = yield getData("environments-events");
  const eventLocation = eventEnvironments.find((event) => event.id === currentLocation);
  if (eventLocation) {
    return "event-locations";
  }
  return currentLocation;
});
getIconSettings = () => __async(void 0, null, function* () {
  let key = yield getCurrentLocationForSettings();
  let value = getSetting(key, true);
  return {
    id: "mousehunt-improved-location-huds",
    classname: "mousehunt-improved-location-huds-icon",
    text: value ? "Disable" : "Enable",
    position: "prepend",
    action: (e, icon) => {
      key = getCurrentLocationForSettings();
      value = getSetting(key, true);
      saveSetting(key, !value);
      if (value) {
        icon.textContent = "Enable";
        icon.classList.add("disabled");
        icon.classList.remove("enabled");
      } else {
        icon.textContent = "Disable";
        icon.classList.remove("disabled");
        icon.classList.add("enabled");
      }
      window.location.reload();
    }
  };
});
addToggleIcon = () => __async(void 0, null, function* () {
  addIconToMenu(yield getIconSettings());
});
toggle_icon_default = addToggleIcon;
}
});

// src/modules/location-huds/settings.js
var settings_default22;
var init_settings23 = __esm({
"src/modules/location-huds/settings.js"() {
init_utils2();
settings_default22 = () => __async(void 0, null, function* () {
  const locationsToUnset = /* @__PURE__ */ new Set([
    "desert_oasis",
    "lost_city",
    "sand_dunes",
    "queso_geyser",
    "queso_plains",
    "queso_quarry",
    "queso_river",
    // Don't have HUD changes for these.
    "meadow",
    "harbour",
    "training_grounds",
    "zugzwang_library"
  ]);
  const locationsToAdd = [
    {
      name: "Region: Living Garden",
      id: "region-living-garden"
    },
    {
      name: "Region: Queso Canyon",
      id: "region-queso"
    },
    {
      name: "Event Locations",
      id: "event-locations"
    }
  ];
  const options = [];
  const environments5 = yield getData("environments");
  const eventEnvironments = yield getData("environments-events");
  for (const environment of environments5) {
    if (locationsToUnset.has(environment.id)) {
      continue;
    }
    if (eventEnvironments.some((event) => event.id === environment.id)) {
      continue;
    }
    options.push(environment);
  }
  options.sort((a, b) => {
    if (a.name < b.name) {
      return -1;
    }
    if (a.name > b.name) {
      return 1;
    }
    return 0;
  });
  locationsToAdd.forEach((location) => {
    options.push(location);
  });
  const optionsToReturn = [];
  for (const location of options) {
    optionsToReturn.push({
      id: `location-huds-enabled.${location.id}`,
      title: location.name,
      default: true,
      description: location.description
    });
  }
  return optionsToReturn;
});
}
});

// src/modules/location-huds/styles.css
var styles_default46;
var init_styles47 = __esm({
"src/modules/location-huds/styles.css"() {
styles_default46 = ".mh-ui-cheese-selector-wrapper{margin-top:10px}.mh-ui-cheese-selector.townOfGnawniaHUD-baitContainer{flex-wrap:wrap}.mh-ui-cheese-selector .townOfGnawniaHUD-bait{width:145px;margin:3px 0;cursor:pointer}.mh-ui-cheese-selector .townOfGnawniaHUD-bait-image{left:2px;filter:none;background-repeat:no-repeat;background-size:75%}.mh-ui-cheese-selector .townOfGnawniaHUD-bait-name{margin-left:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n";
}
});

// src/modules/location-huds/shared/cheese-selectors/index.js
var makeCheeseSelector, getCheeses, replaced, replaceCampShowTab, isProcessing, cheese_selectors_default;
var init_cheese_selectors = __esm({
"src/modules/location-huds/shared/cheese-selectors/index.js"() {
init_utils2();
makeCheeseSelector = (location, cheesesToUse) => __async(void 0, null, function* () {
  if (location.replaceAll("-", "_") !== getCurrentLocation()) {
    yield new Promise((resolve) => {
      const remove = () => {
        const existingCheeseSelector2 = document.querySelector(".mh-ui-cheese-selector-wrapper");
        if (existingCheeseSelector2) {
          existingCheeseSelector2.remove();
          resolve();
        }
        return false;
      };
      let tries = 0;
      const interval = setInterval(() => {
        if (remove()) {
          clearInterval(interval);
        }
        tries += 1;
        if (tries >= 10) {
          clearInterval(interval);
          resolve();
        }
      }, 250);
    });
    return;
  }
  if (isProcessing) {
    return;
  }
  isProcessing = true;
  const hud9 = document.querySelector("#hudLocationContent");
  if (!hud9) {
    return;
  }
  hud9.classList.remove("empty");
  const wrapper = document.createElement("div");
  wrapper.classList.add("townOfGnawniaHUD", "allBountiesComplete", "mh-ui-cheese-selector-wrapper");
  const cheesesContainer = document.createElement("div");
  cheesesContainer.classList.add("townOfGnawniaHUD-baitContainer", "mh-ui-cheese-selector");
  const cheeses = yield getUserItems(cheesesToUse);
  for (const cheese of cheeses) {
    const cheeseContainer = document.createElement("div");
    cheeseContainer.classList.add("townOfGnawniaHUD-bait", `mh-ui-cheese-selector-${cheese.type}`);
    if (user.bait_item_id === cheese.item_id) {
      cheeseContainer.classList.add("active");
    } else {
      cheeseContainer.classList.remove("active");
    }
    const cheeseImage = document.createElement("div");
    cheeseImage.classList.add("townOfGnawniaHUD-bait-image");
    const thumbnail = cheese.thumbnail_transparent || cheese.thumbnail;
    cheeseImage.style.backgroundImage = `url(${thumbnail})`;
    const cheeseName = document.createElement("div");
    cheeseName.classList.add("townOfGnawniaHUD-bait-name", "quantity");
    cheeseName.innerText = cheese.name.replace(" Cheese", "");
    const cheeseQuantity = document.createElement("div");
    cheeseQuantity.classList.add("townOfGnawniaHUD-bait-quantity", "quantity");
    cheeseQuantity.innerText = numberFormat(cheese.quantity);
    const tooltipArrow = document.createElement("div");
    tooltipArrow.classList.add("mousehuntTooltip-arrow");
    cheeseContainer.append(cheeseImage);
    cheeseContainer.append(cheeseName);
    cheeseContainer.append(cheeseQuantity);
    cheeseContainer.setAttribute("data-item-type", cheese.type);
    cheeseContainer.setAttribute("data-item-classification", "bait");
    cheeseContainer.setAttribute("onclick", "hg.utils.TrapControl.toggleItem(this); return false;");
    cheesesContainer.append(cheeseContainer);
  }
  wrapper.append(cheesesContainer);
  const existingCheeseSelector = hud9.querySelector(".mh-ui-cheese-selector-wrapper");
  if (existingCheeseSelector) {
    existingCheeseSelector.replaceWith(wrapper);
  } else {
    hud9.append(wrapper);
  }
  isProcessing = false;
  doEvent2("mh-improved-cheese-selector-added", location, cheesesToUse);
});
getCheeses = (cheeses) => {
  const defaultCheeses = [
    "cheddar_cheese",
    "brie_cheese",
    "gouda_cheese",
    "super_brie_cheese"
  ];
  while (cheeses.length < 4) {
    cheeses.unshift(defaultCheeses.pop());
  }
  return cheeses;
};
replaced = false;
replaceCampShowTab = () => {
  if (replaced) {
    return;
  }
  replaced = true;
  const _original2 = app.pages.CampPage.showTab;
  app.pages.CampPage.showTab = (...args) => {
    _original2(...args);
    doEvent2("set_camp_tab", ...args);
  };
};
isProcessing = false;
cheese_selectors_default = (location, cheeses) => {
  replaceCampShowTab();
  const main22 = () => {
    makeCheeseSelector(location, getCheeses(cheeses));
  };
  main22();
  onNavigation(main22);
  onEvent("ajax_response", main22);
  onEvent("travel_complete", main22);
};
}
});

// src/modules/location-huds/acolyte-realm/index.js
var acolyte_realm_default;
var init_acolyte_realm = __esm({
"src/modules/location-huds/acolyte-realm/index.js"() {
init_cheese_selectors();
acolyte_realm_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("acolyte-realm", [
    "ancient_cheese",
    "runic_cheese",
    "radioactive_blue_cheese",
    "magical_radioactive_blue_cheese"
  ]);
});
}
});

// src/modules/location-huds/ancient-city/styles.css
var styles_default47;
var init_styles48 = __esm({
"src/modules/location-huds/ancient-city/styles.css"() {
styles_default47 = ".ancientCityHUD-total.mousehuntTooltipParent{top:35px;left:550px;padding:11px 5px;font-size:13px;background:linear-gradient(180deg,#785c3c,#422b14);border-radius:10px}.ancientCityHUD-countDown{top:0;right:10px;font-size:36px;text-shadow:2px 2px 2px #171717}.ancientCityHUD-bossLabel{text-shadow:2px 2px 2px #171717}.ancientCityHUD-tier-number{text-shadow:1px 1px 2px #171717}.ancientCityHUD-progress{background:#cfc634}span.ancientCityHUD-alertLevel{position:absolute;bottom:1px;left:4px;text-shadow:1px 1px 2px #171717}.ancientCityHUD-districtName{font-size:13px;color:#c6c6c6}.ancientCityHUD-item-quantity{position:absolute;top:1px;padding:0 4px;margin-left:3px!important;font-size:11px;line-height:unset;text-align:center;background-color:#000;border-radius:5px}.ancientCityHUD-item:nth-child(1) .ancientCityHUD-item-name,.ancientCityHUD-item:nth-child(2) .ancientCityHUD-item-name,.ancientCityHUD-item:nth-child(3) .ancientCityHUD-item-name,.ancientCityHUD-item:nth-child(4) .ancientCityHUD-item-name,.ancientCityHUD-item:nth-child(5) .ancientCityHUD-item-name{width:96px;margin-left:47px;font-size:11px;font-weight:900;text-align:center;text-shadow:0 0 1px #000;background:linear-gradient(180deg,#70707000,#a8a8a8,#70707000);border-radius:20px}.ancientCityHUD-item:hover .ancientCityHUD-item-location,.ancientCityHUD-item:focus .ancientCityHUD-item-location{position:absolute;top:unset;bottom:-25px;padding:3px;font-size:9px;color:#000;text-align:center;background:#fff;border:2px solid #000;border-radius:10px;box-shadow:2px 3px 4px #666}.ancientCityHUD-item{top:5px}.ancientCityHUD-bossSecretLabel{font-size:13px;text-shadow:0 1px 1px #3d3d3d}\n";
}
});

// src/modules/location-huds/ancient-city/index.js
var ancient_city_default2;
var init_ancient_city2 = __esm({
"src/modules/location-huds/ancient-city/index.js"() {
init_utils2();
init_styles48();
ancient_city_default2 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default47);
});
}
});

// src/modules/location-huds/balacks-cove/styles.css
var styles_default48;
var init_styles49 = __esm({
"src/modules/location-huds/balacks-cove/styles.css"() {
styles_default48 = ".balacksCoveHUD-tideContainer-timeLeft{position:absolute;top:9px;right:55px;padding:3px 10px;font-size:12px;color:#5f463d;background-color:#8ad3d5;border-radius:23% 23% 0 0;box-shadow:0 -.5px 1px 1px #d6f1f2}\n";
}
});

// src/modules/location-huds/balacks-cove/index.js
var getClosingText, updateClosingTime, hud, balacks_cove_default;
var init_balacks_cove = __esm({
"src/modules/location-huds/balacks-cove/index.js"() {
init_utils2();
init_styles49();
init_cheese_selectors();
getClosingText = (closes, stage, nextStageOffsetMinutes, nextStageText) => {
  const hours = Math.floor(closes);
  const minutes = Math.ceil((closes - Math.floor(closes)) * 60);
  let timeLeftText = `${hours}h ${minutes}m until ${stage}`;
  if (nextStageOffsetMinutes && nextStageText) {
    const totTimeMinutes = hours * 60 + minutes + nextStageOffsetMinutes;
    timeLeftText += `, <span class="offset">${Math.floor(totTimeMinutes / 60)}h ${totTimeMinutes % 60}m until ${nextStageText}</span>`;
  }
  return timeLeftText;
};
updateClosingTime = () => {
  let timeLeftText = "";
  const today = /* @__PURE__ */ new Date();
  const rotationLength = 18.66666;
  const rotationsExact = (today.getTime() / 1e3 - 1294680060) / 3600 / rotationLength;
  const rotationsInteger = Math.floor(rotationsExact);
  const partialrotation = (rotationsExact - rotationsInteger) * rotationLength;
  if (partialrotation < 16) {
    const closes = 16 - partialrotation;
    timeLeftText = getClosingText(closes, "Mid Tide", 60, "High Tide");
  } else if (partialrotation >= 16 && partialrotation < 17) {
    const closes = 1 - (partialrotation - 16);
    timeLeftText = getClosingText(closes, "High Tide", 40, "Low Tide");
  } else if (partialrotation >= 17 && partialrotation < 17.66666) {
    const closes = 0.66666 - (partialrotation - 17);
    timeLeftText = getClosingText(closes, "Low Tide", 60, "Mid Tide");
  }
  const timeLeftEl = document.createElement("div");
  timeLeftEl.classList.add("balacksCoveHUD-tideContainer-timeLeft");
  timeLeftEl.innerHTML = timeLeftText;
  return timeLeftEl;
};
hud = () => {
  const hudBar = document.querySelector(".balacksCoveHUD-tideContainer");
  if (!hudBar) {
    return;
  }
  const existing = document.querySelector(".balacksCoveHUD-tideContainer-timeLeft");
  if (existing) {
    existing.remove();
  }
  const timeLeftEl = updateClosingTime();
  hudBar.append(timeLeftEl);
  const timer = setInterval(updateClosingTime, 60 * 1e3);
  onEvent("travel_complete", () => {
    clearInterval(timer);
  });
};
balacks_cove_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default48);
  cheese_selectors_default("balacks-cove", [
    "vanilla_stilton_cheese",
    "vengeful_vanilla_stilton_cheese"
  ]);
  hud();
});
}
});

// src/modules/location-huds/bazaar/index.js
var bazaar_default;
var init_bazaar = __esm({
"src/modules/location-huds/bazaar/index.js"() {
init_cheese_selectors();
bazaar_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("bazaar", ["gilded_cheese"]);
});
}
});

// src/modules/location-huds/shared/folklore-forest/styles.css
var styles_default49;
var init_styles50 = __esm({
"src/modules/location-huds/shared/folklore-forest/styles.css"() {
styles_default49 = '.folkloreForestRegionView-dialog-help .folkloreForestRegionView-dialog-tabContentContainer{max-width:560px;padding:10px;margin:0 auto;font-size:13px;line-height:1.4}.folkloreForestRegionView-dialog-help h3{font-size:17px;color:#fff5cb}.folkloreForestRegionView-dialog-tabHeaderContainer:before,.folkloreForestRegionView-dialog-tabHeaderContainer:after{background:transparent}.folkloreForestRegionView-dialog-tabHeaderContainer{padding:0 20px;margin-right:-5px;margin-left:-5px;border-bottom-color:#416f2a}a.folkloreForestRegionView-dialog-tabHeader{background-color:#4d3d00;border:1px solid #416f2a;border-bottom:none}#overlayPopup.fabledForestDialog .title{margin-top:-19px}.folkloreForestRegionView-environmentInventory-block-quantity{font-size:12px;font-weight:400}.folkloreForestRegionView-environmentInventory-label{font-size:11px;line-height:18px}a.folkloreForestRegionView-upgradeButton.canUnlock:after{position:absolute;top:3px;right:5px;width:14px;height:14px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hud/folklore_forest_region/upgrade_arrow_small.png?asset_cache_version=2);filter:hue-rotate(300deg) brightness(1.1);background-repeat:no-repeat;background-size:contain;border-radius:50%}.mh-location-prologue_pond a.folkloreForestRegionView-upgradeButton.canUnlock:after{filter:hue-rotate(300deg) brightness(1.1)}.mh-location-table_of_contents a.folkloreForestRegionView-upgradeButton.canUnlock:after{filter:none}a.folkloreForestRegionView-upgradeButton{font-size:13px}.folkloreForestRegionView-upgrade{width:25px;height:25px;margin-right:3px;box-shadow:0 0 17px #54290a inset,0 0 2px 1px #999}.folkloreForestRegionView-upgradeContainer{top:3px;left:20px;width:auto}.folkloreForestRegionView-upgrade.active{box-shadow:inset 0 0 2px 1px #b4e2ee}.folkloreForestRegionView-environmentTitle .folkloreForestRegionView-environmentState{font-size:21px}.folkloreForestRegionView-trapWarningContainer{padding:20px;font-size:12px;color:#870808;background-color:#ffbfbf}.folkloreForestRegionView-trapWarningContainer a{color:#870808}.folkloreForestRegionView-warning{border:none}.folkloreForestRegionView-warning:before{display:none}a.folkloreForestRegionView__estimate-button{top:9px!important;right:-7px!important;font-size:20px!important;color:#1a5162!important}a.folkloreForestRegionView__estimate-button:hover{color:#064155!important}.folkloreForestRegionView-dialog-footer{margin-top:5px;margin-bottom:15px}.folkloreForestRegionView-footer-spacer{display:none}.folkloreForestRegionView-dialog-block-cost{border:1px solid #ccc;box-shadow:none}.folkloreForestRegionView-dialog-block-cost-image{height:40px;background-size:contain}.upgrades .folkloreForestRegionView-dialog-block-item-image{margin:4px auto;background-color:transparent;border:none}.upgrades .folkloreForestRegionView-dialog-block-icon{top:1px;left:0;border:none}.upgrades .folkloreForestRegionView-dialog-block-name{margin-left:39px;border-top:1px solid #c6c6c6}.upgrades .folkloreForestRegionView-dialog-block-description{border-width:1px}.upgrades .folkloreForestRegionView-dialog-block{border:1px solid #c6c6c6;border-top:none}.upgrades .folkloreForestRegionView-dialog-block.highlight .folkloreForestRegionView-dialog-block-icon{margin-top:-1px;border-top:1px solid #c6c6c6;border-right:1px solid #c6c6c6}.upgrades .folkloreForestRegionView-dialog-tabHeader-notification{font-size:15px;line-height:25px;background-color:#e94e4e;box-shadow:1px 1px 4px -1px #000}.folkloreForestRegionView-fuelContainer.mousehuntTooltipParent{border-radius:40px 30px 30px}.folkloreForestRegionView-fuelContainer .mousehuntTooltip{display:none!important}.folkloreForestRegionView-dialog-blockContainer.upsellRecipe .upsellItemActionView-cost-image{box-shadow:none}.mhui-folklore-forest-upgrade-toggle{position:absolute;right:25px;bottom:13px}.folkloreForestRegionView-dialog-block.toggle-is-hidden{filter:grayscale(.6);opacity:.8}.folkloreForestRegionView-environmentInventory-blockContainer{width:125px}.upgrades .folkloreForestRegionView-dialog-block .folkloreForestRegionView-dialog-block-icon:after{display:none}.upgrades .highlight .folkloreForestRegionView-dialog-block-name{background-color:#a2723b}.folkloreForestRegionView-dialog-block-cost.error .folkloreForestRegionView-dialog-block-cost-image{box-shadow:0 0 35px #ffa3a3 inset}a.folkloreForestRegionView-warning:hover{background-color:#ffecd9}.folkloreForestRegionView-dialog-blockContainer.upgrades .folkloreForestRegionView-dialog-block-description{overflow:visible;line-height:1.3}.folkloreForestRegionView-dialog-block-costLabel{display:none}\n';
}
});

// src/modules/location-huds/bountiful-beanstalk/styles.css
var styles_default50;
var init_styles51 = __esm({
"src/modules/location-huds/bountiful-beanstalk/styles.css"() {
styles_default50 = ".headsUpDisplayBountifulBeanstalkView__baitQuantity.quantity{display:flex;align-items:center;justify-content:flex-end;font-size:12px}.headsUpDisplayBountifulBeanstalk__inventoryBlockQuantity.quantity{padding:2px;margin-top:-4px;font-size:13px}.bountifulBeanstalkCastleView__noiseLevel,.bountifulBeanstalkCastleView__maxNoiseLevel{padding:0 2px;font-size:17px;vertical-align:middle}.bountifulBeanstalkCastleView__noiseMeterLabel{vertical-align:middle}.headsUpDisplayBountifulBeanstalkView__baitImage{top:0;left:3px;width:35px;height:35px}.headsUpDisplayBountifulBeanstalkView__baitIngredientImage{top:24px;left:28px;width:20px;height:20px}.bountifulBeanstalkCastleView__plinthLootImage .headsUpDisplayBountifulBeanstalkView__loot{top:47px;right:242px;width:45px;height:45px;filter:drop-shadow(0 0 5px #f0e1a4)}.headsUpDisplayBountifulBeanstalkView__lootMultiplierContainer h3{font-size:11px}.headsUpDisplayBountifulBeanstalkView__lootMultiplierContainer h3 span{font-size:17px}.headsUpDisplayBountifulBeanstalkView__lootMultiplierContainer{left:22px}.headsUpDisplayBountifulBeanstalkView__castleNextRoomText.headsUpDisplayBountifulBeanstalkView__castleNextRoomText--nextArrow{font-size:13px}.bountifulBeanstalkCastleView__plinthOverlay .mousehuntTooltip{top:-31px;bottom:unset;left:-60px;width:447px;line-height:1.5;color:#f2e3a6;background:#192518;border:2px solid #85d523;border-top:none;border-top-left-radius:0;border-top-right-radius:0}.bountifulBeanstalkCastleView__plinthOverlay .mousehuntTooltip-arrow{display:none}.bountifulBeanstalkCastleView__currentRoomName{font-size:14px}.bountifulBeanstalkCastleView__currentRoomLoot b{font-size:13px}.bountifulBeanstalkCastleView__plinthOverlay.mousehuntTooltipParent{left:190px;width:330px}.bountifulBeanstalkCastleView__currentRoomLootMultiplier{padding:0 1px;font-size:14px}\n";
}
});

// src/modules/location-huds/bountiful-beanstalk/index.js
var bountiful_beanstalk_default;
var init_bountiful_beanstalk = __esm({
"src/modules/location-huds/bountiful-beanstalk/index.js"() {
init_utils2();
init_styles50();
init_styles51();
bountiful_beanstalk_default = () => __async(void 0, null, function* () {
  addHudStyles([styles_default49, styles_default50]);
});
}
});

// src/modules/location-huds/calm-clearing/index.js
var calm_clearing_default;
var init_calm_clearing = __esm({
"src/modules/location-huds/calm-clearing/index.js"() {
init_cheese_selectors();
calm_clearing_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("calm-clearing", ["cherry_cheese"]);
});
}
});

// src/modules/location-huds/cape-clawed/index.js
var cape_clawed_default;
var init_cape_clawed = __esm({
"src/modules/location-huds/cape-clawed/index.js"() {
init_cheese_selectors();
cape_clawed_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("cape-clawed", [
    "shell_cheese",
    "gumbo_cheese",
    "crunchy_cheese"
  ]);
});
}
});

// src/modules/location-huds/catacombs/index.js
var catacombs_default;
var init_catacombs = __esm({
"src/modules/location-huds/catacombs/index.js"() {
init_cheese_selectors();
catacombs_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("catacombs", [
    "ancient_cheese",
    "undead_emmental_cheese",
    "string_undead_emmental_cheese",
    "radioactive_blue_cheese",
    "super_radioactive_blue_cheese",
    "magical_radioactive_blue_cheese",
    "moon_cheese",
    "crescent_cheese"
  ]);
});
}
});

// src/modules/location-huds/claw-shot-city/styles.css
var styles_default51;
var init_styles52 = __esm({
"src/modules/location-huds/claw-shot-city/styles.css"() {
styles_default51 = ".clawShotCityHud .gangs_caught,.clawShotCityHud .fools_gold_quantity{font-size:27px;color:#e7c37d}\n";
}
});

// src/modules/location-huds/claw-shot-city/index.js
var claw_shot_city_default;
var init_claw_shot_city = __esm({
"src/modules/location-huds/claw-shot-city/index.js"() {
init_utils2();
init_styles52();
claw_shot_city_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default51);
});
}
});

// src/modules/location-huds/derr-dunes/index.js
var derr_dunes_default;
var init_derr_dunes = __esm({
"src/modules/location-huds/derr-dunes/index.js"() {
init_cheese_selectors();
derr_dunes_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("derr-dunes", ["crunchy_cheese"]);
});
}
});

// src/modules/location-huds/desert-city/styles.css
var styles_default52;
var init_styles53 = __esm({
"src/modules/location-huds/desert-city/styles.css"() {
styles_default52 = '.muridaeMarketHud .quantity{display:flex;align-items:center;height:16px;margin-top:1px;font-size:14px;color:#e3d0b2;text-shadow:1px 1px 2px #533a20}.muridaeMarketHud .shop .visit{top:0;height:166px}.muridaeMarketHud .shop:hover .visit:after{position:absolute;right:3px;bottom:78px;left:4px;width:unset;font-size:11px;font-weight:700;color:#efdfc4;text-align:center;text-shadow:1px 1px 4px #52381f;text-transform:uppercase;content:"Visit";background-color:#aa855c99;border-bottom-right-radius:7px;border-bottom-left-radius:8px}.muridaeMarketHud .shop:hover{filter:drop-shadow(0 1px 2px #e7d6ba)}\n';
}
});

// src/modules/location-huds/desert-city/index.js
var desert_city_default;
var init_desert_city = __esm({
"src/modules/location-huds/desert-city/index.js"() {
init_utils2();
init_styles53();
desert_city_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default52);
});
}
});

// src/modules/location-huds/desert-warpath/styles.css
var styles_default53;
var init_styles54 = __esm({
"src/modules/location-huds/desert-warpath/styles.css"() {
styles_default53 = '.warpathHUD.wave_1:after,.warpathHUD.wave_2:after,.warpathHUD.wave_3:after,.warpathHUD.wave_4:after{position:absolute;bottom:1px;left:5px;display:flex;align-items:center;width:53px;height:25px;font-size:15px;color:#f5d172;content:"Wave";background-color:#633e29;border-top-left-radius:4px;border-top-right-radius:4px;box-shadow:inset 0 -2px 2px -1px #3e2417}.warpathHUD.wave_1:after{content:"Wave 1"}.warpathHUD.wave_2:after{content:"Wave 2"}.warpathHUD.wave_3:after{content:"Wave 3"}.warpathHUD.wave_4:after{content:"Wave 4"}.warpathHUD-streak-quantity{top:1px;left:60px;width:17px;padding:2px;font-size:17px;color:#f5d172;background-color:#633e29;border-radius:2px;box-shadow:inset -2px 1px 2px #af7756}.warpathHUD-clearWaveQuantity.quantity{top:46px;left:8px;padding:2px;font-size:13px;font-weight:400;background-color:#49362b;border-radius:10px;box-shadow:0 0 1px 1px inset #38281d}.warpathHUD-wave-mouse-population{font-size:13px;line-height:22px}.warpathHUD-wave-mouse.mousehuntTooltipParent.active.laser_targetted{color:#ff824c;filter:drop-shadow(0 -2px 3px #ea4700)}.warpathHUD-wave-mouse-powerType{width:32px;height:32px;margin-top:0;margin-right:10px}.warpathHUD-wave-mouse .mousehuntTooltip.tight.top{height:33px;color:transparent}.warpathHUD-wave-mouse .mousehuntTooltip .warpathHUD-wave-mouse-name{line-height:34px;color:#000}.warpathHUD-wave-mouse .mousehuntTooltip.hasCharms .warpathHUD-wave-mouse-name{line-height:14px}.warpathHUD-wave-mouse.desert_general .mousehuntTooltip .warpathHUD-wave-mouse-name,.warpathHUD-wave-mouse.desert_supply .mousehuntTooltip .warpathHUD-wave-mouse-name{text-align:center}.warpathHUD-wave-mouse.desert_general .mousehuntTooltip .warpathHUD-wave-mouse-name{line-height:28px}.warpathHUD-streakContainer:before{background:linear-gradient(0deg,#2ffd2d 50%,#f7f718,#c32222);filter:brightness(.8)}.warpathHUD-streak-image-empty{font-weight:900;box-shadow:inset 0 0 10px 5px #2f1816}.warpathHUD-wave-mouse.laser_targetted .warpathHUD-wave-mouse-image{box-shadow:inset 0 0 10px 6px #ff824c}.warpathHUD-waveContainer.warpathHUD-engaged .warpathHUD-wave{box-shadow:inset 0 0 10px 4px #fc4848}.warpathHUD-engaged .warpathHUD-wave-mouse .mousehuntTooltip.tight.top{display:none}.warpathHud-missle-activate{position:absolute;top:-15px;left:-26px;cursor:pointer;opacity:.4;transition:.3s;transform:rotate(270deg) scale(.8);animation:none}.warpathHud-missle-activate:hover{opacity:1;transform:rotate(270deg) scale(1)}.warpathHUD-engaged .warpathHud-missle-activate{filter:hue-rotate(281deg);opacity:.9}\n';
}
});

// src/modules/location-huds/desert-warpath/index.js
var engaged, addMissiles, desert_warpath_default;
var init_desert_warpath2 = __esm({
"src/modules/location-huds/desert-warpath/index.js"() {
init_utils2();
init_styles54();
engaged = false;
addMissiles = () => {
  const container = document.querySelector(".warpathHUD-waveContainer");
  if (!container) {
    return;
  }
  const trigger = makeElement("div", ["warpathHud-missle-activate", "warpathHUD-missile"]);
  container.append(trigger);
  trigger.addEventListener("click", () => {
    engaged = !engaged;
    if (engaged) {
      container.classList.add("warpathHUD-engaged");
    } else {
      container.classList.remove("warpathHUD-engaged");
    }
  });
  const launchMissle = (event) => {
    if (!container.classList.contains("warpathHUD-engaged")) {
      return;
    }
    if (event.target.classList.contains("warpathHUD-missile")) {
      return;
    }
    if (!engaged) {
      return;
    }
    let x = event.clientX ? event.clientX - container.getBoundingClientRect().left : Math.floor(Math.random() * container.getBoundingClientRect().width);
    x += Math.floor(Math.random() * 50) - 25;
    hg.views.HeadsUpDisplayDesertWarpathView.spawnMissile(x, 1);
    let missile;
    setTimeout(() => {
      missile = container.querySelectorAll('.warpathHUD-missile[style*="left: ' + x + 'px"]');
      if (!missile || missile.length === 0) {
        return;
      }
      missile.forEach((m) => {
        setTimeout(() => {
          m.classList.add("mh-ui-fade");
        }, 50);
        setTimeout(() => {
          m.classList.add("mh-ui-fade-out");
        }, 100);
        setTimeout(() => {
          m.remove();
        }, 500);
      });
    }, 700);
  };
  container.addEventListener("click", launchMissle);
};
desert_warpath_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default53);
  addMissiles();
});
}
});

// src/modules/location-huds/dojo/index.js
var dojo_default;
var init_dojo = __esm({
"src/modules/location-huds/dojo/index.js"() {
init_cheese_selectors();
dojo_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("dojo", ["maki_cheese"]);
});
}
});

// src/modules/location-huds/dracano/index.js
var dracano_default;
var init_dracano = __esm({
"src/modules/location-huds/dracano/index.js"() {
init_cheese_selectors();
dracano_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("dracano", ["inferno_havarti_cheese"]);
});
}
});

// src/modules/location-huds/elub-shore/index.js
var elub_shore_default;
var init_elub_shore = __esm({
"src/modules/location-huds/elub-shore/index.js"() {
init_cheese_selectors();
elub_shore_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("elub-shore", ["shell_cheese"]);
});
}
});

// src/modules/location-huds/floating-islands/styles.css
var styles_default54;
var init_styles55 = __esm({
"src/modules/location-huds/floating-islands/styles.css"() {
styles_default54 = '.floatingIslandsHUD-islandLoot-label{color:transparent}.floatingIslandsHUD-islandLoot-label:before{position:absolute;top:3px;right:3px;width:100px;font-size:13px;font-variant:small-caps;color:#e2d8b6;text-shadow:1px 1px #43311c;content:"Mice can drop"}a.floatingIslandsHUD-islandLoot{font-size:14px}.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.fog_shrine:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.frost_shrine:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.rain_shrine:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.wind_shrine:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.paragon_cache_a:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.paragon_cache_b:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.paragon_cache_c:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.paragon_cache_d:first-child{background-position-y:0;border-radius:3px;box-shadow:0 0 13px 3px gold inset}.floatingIslandsHUD-modPanel.fog_shrine:hover:before,.floatingIslandsHUD-modPanel.frost_shrine:hover:before,.floatingIslandsHUD-modPanel.rain_shrine:hover:before,.floatingIslandsHUD-modPanel.wind_shrine:hover:before{position:absolute;right:7px;bottom:6px;left:7px;z-index:1;display:flex;justify-content:center;height:auto;padding:1px;font-size:16px;font-variant:small-caps;color:#0c3e0e;text-shadow:none;white-space:nowrap;content:"";background-color:#d1e19d}.floatingIslandsHUD-modPanel.fog_shrine:hover:before{content:"Fog"}.floatingIslandsHUD-modPanel.frost_shrine:hover:before{content:"Frost"}.floatingIslandsHUD-modPanel.rain_shrine:hover:before{content:"Rain"}.floatingIslandsHUD-modPanel.wind_shrine:hover:before{content:"Wind"}span.floatingIslandsHUD-huntsRemaining{position:absolute;top:6px;right:6px;padding:2px 4px;font-size:16px}.floatingIslandsHUD-huntsRemainingContainer{top:-1px}.floatingIslandsHUD-islandTitle{top:-3px;font-size:15px;text-shadow:none}.floatingIslandsHUD-bait-quantity,.floatingIslandsHUD-bait-craftingItem-quantity{padding-right:4px;font-size:11px}.floatingIslandsHUD-statItem-quantity.quantity{font-size:12px}.floatingIslandsHUD-craftingItem-quantity.quantity{font-size:13px}.floatingIslandsHUD-craftingItem.show-progress .floatingIslandsHUD-craftingItem-quantity.quantity{font-size:11px}.floatingIslandsHUD.island .floatingIslandsHUD-airshipContainer{top:70px;left:524px;z-index:3;filter:drop-shadow(0 0 6px #fbe7a4);transform:scale(2)}.floatingIslandsWorkshop-part-name{font-size:11px;text-shadow:none}.floatingIslandsHUD-fuel-quantity.quantity{top:31px;right:0;left:0;width:auto;padding:4px;margin-right:8px;margin-left:7px;font-size:14px;pointer-events:none;background:linear-gradient(218deg,#7baabd,#568295);border-radius:3px;box-shadow:inset 0 0 2px 2px #09577f,0 2px 8px 1px #78aabd}.floatingIslandsHUD-fuel-quantity.quantity:hover,.floatingIslandsHUD-fuel-quantity.quantity:focus{cursor:pointer}.floatingIslandsHUD-fuel-quantity.quantity.active{background:linear-gradient(218deg,#0e8eeb,#28eeff);box-shadow:0 0 2px 2px #09577f inset,0 2px 7px 1px #37feff}.floatingIslandsHUD-retreatButton,.floatingIslandsHUD-retreatButton.disabled,.floatingIslandsHUD.enemyActive .floatingIslandsHUD-retreatButton{margin-top:-1px;color:#b0a06c!important;background-color:transparent;border:none;border-radius:0}.floatingIslandsHUD-retreatButton:hover,.floatingIslandsHUD-retreatButton.disabled:hover,.floatingIslandsHUD.enemyActive .floatingIslandsHUD-retreatButton:hover,.floatingIslandsHUD-retreatButton:focus,.floatingIslandsHUD-retreatButton.disabled:focus,.floatingIslandsHUD.enemyActive .floatingIslandsHUD-retreatButton:focus{color:#fce698!important;background:none}.floatingIslandsHUD-craftingItem-quantity.quantity,.floatingIslandsHUD-islandLoot,.floatingIslandsHUD-modPanel-effect{text-shadow:1px 1px 1px #242424}.floatingIslandsHUD-modPanel.active .floatingIslandsHUD-modPanel-effect,.floatingIslandsHUD-modPanel.complete .floatingIslandsHUD-modPanel-effect{text-shadow:1px 1px 1px #9ab59a}.mh-ui-fi-enemy-countdown{position:absolute;top:3px;bottom:-4px;left:-1px;z-index:4;width:auto;min-width:70px;padding-left:5px;white-space:nowrap;background-color:#51250a;border-radius:8px 8px 8px 0;box-shadow:1px 0 0 1px #7d5430,inset 1px 0 0 1px #9a6f43}span.mh-ui-fi-enemy-countdown-hunts{font-size:14px;color:#fbe296;text-shadow:1px 1px 1px #000;vertical-align:top}.mh-ui-fi-enemy-name{position:absolute;top:33px;right:24px;left:26px;height:12px;padding:0;margin:0;font-size:12px;font-weight:500;line-height:4px;text-align:center;background:linear-gradient(90deg,#ecc37d,#fde89a 18% 64%,#f2cf86);border:1px solid #b15d18;border-top:none;border-radius:0 0 19px 19px;box-shadow:0 1px 1px #d78c34}.floatingIslandsHUD.enemyActive .floatingIslandsHUD-enemyContainer.hasEnemy .floatingIslandsHUD-enemy-thumb{box-shadow:0 0 4px 3px #fb7660}.floatingIslandsHUD.enemyActive .floatingIslandsHUD-goalContainer .floatingIslandsHUD-enemy-state.enemyActive{color:#fb7660}.floatingIslandsHUD-fuelContainer:hover{filter:brightness(1.2)}.mousehuntTooltip{transition-delay:.5s}.floatingIslandsHUD-craftingItem.show-progress{display:flex;flex-direction:row;justify-content:flex-end;padding-right:3px}.mh-ui-fi-glore-progress{margin-left:2px;font-size:9px;text-shadow:1px 1px 1px #242424}.floatingIslandPaperDoll-mod{pointer-events:none}.floatingIslandsAdventureBoardSkyMap-rerollQuantity.quantity{font-size:13px}.floatingIslandsAdventureBoardSkyPalace-wheel-face.loot_cache.real.active{margin-left:1px;border-radius:5px;box-shadow:0 0 13px 2px gold inset}.floatingIslandsAdventureBoardSkyMap-fuel-quantity{padding:2px;margin-top:-2px;font-size:13px;background-color:#302636}.floatingIslandsAdventureBoard-paragonItem.mousehuntTooltipParent{font-size:14px}a.floatingIslandsHUD-flightLogButton.mousehuntTooltipParent{top:2px;left:490px;background-image:url(https://i.mouse.rip/upscaled/flight_log_button.png?1);background-size:cover;transform:scale(1.2);transform-origin:left}.floatingIslandsHUD.island .floatingIslandsHUD-bait.sky_cheese.skyCheeseWarning:after{top:-10px;left:-9px;width:30px;height:30px}.floatingIslandsHUD.island .floatingIslandsHUD-bait.skyCheeseWarning .floatingIslandsHUD-bait-image.sky_cheese{box-shadow:inset 0 0 10px 3px #ff1b00}.floatingIslandsHUD-enemy-tooltip .floatingIslandsHUD-wardenShrine-status{padding-left:3px;font-size:13px;text-align:center;background-position:10px 20px}a.floatingIslandsHUD-islandLoot:hover,a.floatingIslandsHUD-islandLoot:focus{z-index:5}.floatingIslandsAirship.highlight .floatingIslandsAirship-part{transform:scale(1.1) rotate(2deg)}.floatingIslandsHUD-enemyContainer:hover .floatingIslandsHUD-enemy-thumb{transform:scale(1.2) rotate(3deg) translate(-5px)}.floatingIslandsHUD-enemy-thumbContainer{overflow:hidden}.floatingIslandsHUD-enemyContainer .floatingIslandsHUD-enemy-thumb{transition:.3s;transform-origin:left}.floatingIslandsAdventureBoardSkyMap-rerollButton.busy{pointer-events:none}.floatingIslandsAdventureBoard-info span{line-height:1.5}.floatingIslandsHUD-jetstream{position:absolute;top:15px;right:15px;z-index:10;width:30px;height:30px}.floatingIslandsHUD-jetstream .trapImageView-trapAura.active{width:30px;height:30px;margin:0;opacity:.5}.floatingIslandsHUD-jetstream .trapImageView-trapAura.active:hover{opacity:1}.floatingIslandsHUD-jetstream .trapImageView-trapAura.active .mousehuntTooltip{top:-20px;left:-250px;z-index:15;width:235px}.floatingIslandsHUD-jetstream-time{position:absolute;top:-20px;right:0;width:auto;min-width:100px;font-size:11px;color:#71d0ff;text-align:right}.floatingIslandsHUD-inventoryBag-item .floatingIslandsHUD-item-image{background-color:transparent}.floatingIslandPaperDoll-mod.sky_pirates.level_1{animation:dirigibleFloat 5s infinite}@media (prefers-reduced-motion: reduce){.floatingIslandPaperDoll-mod{animation:none}}.floatingIslandsHUD-warningContainer{top:20px;left:548px}\n';
}
});

// src/modules/location-huds/floating-islands/index.js
var import_humanize_duration2, humanizer2, toggleFuelClass, toggleFuel, isAdding2, addBossCountdown, addEnemyClass, getNextOcUpgradeCost, showGloreProgress, onSkyMapShow, showBWReminder, maybeChangeWarning, updateJetstreamTime, jsClone, showJetstream, makeAirshipDraggable, run, hud2, floating_islands_default2;
var init_floating_islands2 = __esm({
"src/modules/location-huds/floating-islands/index.js"() {
import_humanize_duration2 = __toESM(require_humanize_duration());
init_utils2();
init_styles55();
humanizer2 = import_humanize_duration2.default.humanizer({
  language: "shortEn",
  languages: {
    shortEn: {
      y: () => "y",
      mo: () => "mo",
      w: () => "w",
      d: () => "d",
      h: () => "h",
      m: () => "m",
      s: () => "s",
      ms: () => "ms"
    }
  }
});
toggleFuelClass = (fuelCount, isActive) => {
  if (isActive) {
    fuelCount.classList.remove("active");
  } else {
    fuelCount.classList.add("active");
  }
};
toggleFuel = (skip = false) => {
  var _a, _b, _c;
  const fuel = document.querySelector(".floatingIslandsHUD-fuel-button");
  if (!fuel) {
    return;
  }
  const fuelCount = document.querySelector(".floatingIslandsHUD-fuel-quantity");
  if (!fuelCount) {
    return;
  }
  const enabled = ((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.hunting_site_atts) == null ? void 0 : _c.is_fuel_enabled) || false;
  if (enabled) {
    fuelCount.classList.add("active");
  } else {
    fuelCount.classList.remove("active");
  }
  if (skip) {
    return;
  }
  fuel.addEventListener("click", (e) => {
    toggleFuelClass(fuelCount, e.target.classList.contains("active"));
    hg.views.HeadsUpDisplayFloatingIslandsView.toggleFuel(fuel);
  });
};
isAdding2 = false;
addBossCountdown = () => __async(void 0, null, function* () {
  var _a, _b, _c;
  if (isAdding2) {
    return;
  }
  isAdding2 = true;
  const existing = document.querySelector(".mh-ui-fi-enemy-countdown");
  if (existing) {
    existing.remove();
  }
  const atts = ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.hunting_site_atts) || {};
  if (!atts.has_enemy) {
    return;
  }
  let name = ((_c = atts.enemy) == null ? void 0 : _c.abbreviated_name) || "Enemy";
  name = name.split(" ")[0];
  const huntsRemaining = atts.enemy_encounter_hunts_remaining || 0;
  const bossCountdown = document.createElement("div");
  bossCountdown.classList.add("mh-ui-fi-enemy-countdown");
  makeElement("span", "mh-ui-fi-enemy-countdown-name", name, bossCountdown);
  makeElement("span", "mh-ui-fi-enemy-countdown-in", " in ", bossCountdown);
  makeElement("span", "mh-ui-fi-enemy-countdown-hunts", huntsRemaining, bossCountdown);
  const isEnemyActiveOrDefeated = atts.has_encountered_enemy || atts.has_defeated_enemy;
  if (isEnemyActiveOrDefeated) {
    return;
  }
  const goalContainer = document.querySelector(".floatingIslandsHUD-goalContainer");
  if (!goalContainer) {
    return;
  }
  goalContainer.append(bossCountdown);
  isAdding2 = false;
});
addEnemyClass = () => __async(void 0, null, function* () {
  var _a, _b, _c, _d, _e, _f, _g, _h;
  const name = ((_d = (_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.hunting_site_atts) == null ? void 0 : _c.enemy) == null ? void 0 : _d.name) || false;
  const type = ((_h = (_g = (_f = (_e = user == null ? void 0 : user.quests) == null ? void 0 : _e.QuestFloatingIslands) == null ? void 0 : _f.hunting_site_atts) == null ? void 0 : _g.enemy) == null ? void 0 : _h.type) || false;
  if (!name || !type) {
    return;
  }
  const exists = document.querySelector(".mh-ui-fi-enemy-name");
  if (exists) {
    exists.innerText = name;
  } else {
    const enemyContainer = document.querySelector(".floatingIslandsHUD-islandTitle");
    if (!enemyContainer) {
      return;
    }
    makeElement("div", "mh-ui-fi-enemy-name", name, enemyContainer);
  }
});
getNextOcUpgradeCost = (ocLevel) => {
  switch (Number.parseInt(ocLevel, 10)) {
    case 1:
      return "35";
    case 2:
      return "150";
    case 3:
      return "500";
    case 4:
      return "1.2k";
    case 5:
      return "2k";
    case 6:
      return "3.5k";
    case 7:
      return "8k";
    case 8:
      return "10k";
    default:
      return false;
  }
};
showGloreProgress = () => __async(void 0, null, function* () {
  var _a, _b, _c;
  const items2 = yield getUserItems(["floating_islands_cloud_gem_stat_item", "floating_islands_sky_ore_stat_item"]);
  if (!(items2 && items2.length)) {
    return;
  }
  const glass = document.querySelector(".floatingIslandsHUD-craftingItem.floating_islands_cloud_gem_stat_item");
  const ore = document.querySelector(".floatingIslandsHUD-craftingItem.floating_islands_sky_ore_stat_item");
  if (!glass || !ore) {
    return;
  }
  const existing = document.querySelectorAll(".mh-ui-fi-glore-progress");
  if (existing && existing.length) {
    existing.forEach((el) => {
      el.remove();
    });
  }
  const nextUpgrade = getNextOcUpgradeCost(((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.airship) == null ? void 0 : _c.oculus_level) || 0);
  if (!nextUpgrade) {
    return;
  }
  makeElement("div", "mh-ui-fi-glore-progress", ` / ${nextUpgrade}`, glass);
  glass.classList.add("show-progress");
  makeElement("div", "mh-ui-fi-glore-progress", ` / ${nextUpgrade}`, ore);
  ore.classList.add("show-progress");
});
onSkyMapShow = () => {
  const roll = document.querySelector(".floatingIslandsAdventureBoardSkyMap-rerollButton");
  if (!roll) {
    return;
  }
  roll.addEventListener("click", () => {
    roll.classList.add("disabled");
    roll.classList.add("no-click");
    setTimeout(() => {
      roll.classList.remove("disabled");
      roll.classList.remove("no-click");
    }, 300);
  });
};
showBWReminder = () => {
  var _a, _b, _c, _d, _e, _f, _g, _h;
  const isStart = ((_b = (_a = user.enviroment_atts) == null ? void 0 : _a.hunting_site_atts) == null ? void 0 : _b.hunts_remaining) === 75 && ((_c = user.enviroment_atts) == null ? void 0 : _c.on_island);
  const bwOff = !((_e = (_d = user.enviroment_atts) == null ? void 0 : _d.hunting_site_atts) == null ? void 0 : _e.is_fuel_enabled);
  const bw = ((_h = (_g = (_f = user.enviroment_atts) == null ? void 0 : _f.items) == null ? void 0 : _g.bottled_wind_stat_item) == null ? void 0 : _h.quantity) || "0";
  const hasBw = Number.parseInt(bw.toString().replaceAll(",", ""), 10) >= 50;
  if (isStart && bwOff && hasBw) {
    showHornMessage({
      title: "Bottled Wind Reminder",
      text: "Don't forget to activate your Bottled Wind!",
      button: "Activate",
      action: () => {
        setTimeout(() => {
          const button = document.querySelector(".floatingIslandsHUD-fuel-button");
          if (button) {
            button.click();
          }
        }, 750);
      },
      dismiss: 4e3,
      image: "https://www.mousehuntgame.com/images/ui/hud/floating_islands/items/bottled_wind_stat_item.png?asset_cache_version=2"
    });
  }
};
maybeChangeWarning = () => __async(void 0, null, function* () {
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
  const isLAI = (_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.hunting_site_atts) == null ? void 0 : _c.is_low_tier_island;
  const isAtBoss = ((_f = (_e = (_d = user == null ? void 0 : user.quests) == null ? void 0 : _d.QuestFloatingIslands) == null ? void 0 : _e.hunting_site_atts) == null ? void 0 : _f.has_encountered_enemy) && !((_i = (_h = (_g = user == null ? void 0 : user.quests) == null ? void 0 : _g.QuestFloatingIslands) == null ? void 0 : _h.hunting_site_atts) == null ? void 0 : _i.has_defeated_enemy);
  if (!isLAI || !isAtBoss) {
    return;
  }
  const bossWarning = document.querySelector(".floatingIslandsHUD-warning.floatingIslandsHUD-powerTypeWarning.active");
  if (bossWarning) {
    bossWarning.innerHTML = "Use your most powerful setup!";
  }
});
updateJetstreamTime = () => __async(void 0, null, function* () {
  var _a, _b;
  const container = document.querySelector(".floatingIslandsHUD-jetstream-time");
  if (!container) {
    return;
  }
  container.innerHTML = "";
  if (!((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.jet_stream_active)) {
    return;
  }
  const expiry = document.querySelector(".floatingIslandsHUD-jetstream .trapImageView-tooltip-trapAura-expiry span");
  if (!expiry) {
    return;
  }
  const dateParts = expiry.innerText.split(" ");
  if (!dateParts.length || dateParts.length < 5) {
    return;
  }
  const month = dateParts[0];
  const day = dateParts[1].replace(",", "");
  const year = dateParts[2];
  const timeParts = dateParts[4].split(":");
  let hours = Number.parseInt(timeParts[0]);
  const minutes = timeParts[1].slice(0, 2);
  if (dateParts[4].includes("pm") && hours !== 12) {
    hours += 12;
  } else if (dateParts[4].includes("am") && hours === 12) {
    hours = 0;
  }
  const expiryDate = Date.parse(`${month} ${day}, ${year} ${hours}:${minutes}`);
  if (Number.isNaN(expiryDate)) {
    return;
  }
  const now = /* @__PURE__ */ new Date();
  const timeRemaining = expiryDate - now;
  const duration = humanizer2(timeRemaining, {
    round: true,
    units: ["d", "h", "m"],
    spacer: "",
    delimiter: " "
  });
  container.innerText = duration;
});
showJetstream = () => __async(void 0, null, function* () {
  var _a, _b;
  const exists = document.querySelector(".floatingIslandsHUD-jetstream");
  if (exists) {
    exists.remove();
  }
  if (!((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.jet_stream_active)) {
    return;
  }
  const existing = document.querySelector(".floatingIslandsHUD-jetstream");
  if (existing) {
    return;
  }
  const container = document.querySelector(".floatingIslandsHUD");
  if (!container) {
    return;
  }
  let hudAura;
  if ("camp" === getCurrentPage()) {
    const aura = document.querySelector(".trapImageView-trapAura.mousehuntTooltipParent.QuestJetStreamAura.active");
    if (!aura) {
      return;
    }
    hudAura = aura.cloneNode(true);
    jsClone = hudAura;
  } else {
    hudAura = jsClone;
  }
  if (!hudAura) {
    return;
  }
  const tooltip = hudAura.querySelector(".mousehuntTooltip");
  if (tooltip) {
    tooltip.classList.remove("right");
    tooltip.classList.add("left");
  }
  const auraContainer = makeElement("div", "floatingIslandsHUD-jetstream");
  auraContainer.append(hudAura);
  container.append(auraContainer);
  const timeRemainingEl = makeElement("div", "floatingIslandsHUD-jetstream-time");
  auraContainer.append(timeRemainingEl);
  updateJetstreamTime();
});
makeAirshipDraggable = () => {
  const airship = document.querySelector(".floatingIslandsHUD.island .floatingIslandsHUD-airshipContainer");
  if (!airship) {
    return;
  }
  let isDragging = false;
  let startX, startY2, startTop, startLeft;
  const moveAirship = (e) => {
    if (!isDragging) {
      return;
    }
    const dx = e.clientX - startX;
    const dy = e.clientY - startY2;
    airship.style.top = `${startTop + dy}px`;
    airship.style.left = `${startLeft + dx}px`;
  };
  airship.addEventListener("mousedown", (e) => {
    e.preventDefault();
    isDragging = true;
    startX = e.clientX;
    startY2 = e.clientY;
    startTop = airship.offsetTop;
    startLeft = airship.offsetLeft;
    document.addEventListener("mousemove", moveAirship);
    document.addEventListener("mouseup", () => {
      isDragging = false;
      document.removeEventListener("mousemove", moveAirship);
    }, { once: true });
  });
};
run = () => __async(void 0, null, function* () {
  yield showJetstream();
  yield addEnemyClass();
  yield addBossCountdown();
  yield maybeChangeWarning();
});
hud2 = () => {
  toggleFuel();
  showGloreProgress();
  run();
  showBWReminder();
  onTravel(() => {
    setTimeout(showBWReminder, 1500);
  });
  onEvent("ajax_response", run);
  onEvent("horn-countdown-tick", updateJetstreamTime);
  onDialogShow("floatingIslandsAdventureBoard.floatingIslandsDialog.skyPalace", onSkyMapShow);
  onRequest("environment/floating_islands.php", () => {
    run();
    toggleFuel(true);
    setTimeout(run, 3500);
    setTimeout(run, 1e4);
  });
};
floating_islands_default2 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default54);
  hud2();
  if (getSetting("experiments.fi-draggable-airship")) {
    makeAirshipDraggable();
  }
});
}
});

// src/modules/location-huds/forbidden-grove/styles.css
var styles_default55;
var init_styles56 = __esm({
"src/modules/location-huds/forbidden-grove/styles.css"() {
styles_default55 = ".forbiddenGroveHUD-grovebar-timeLeft{position:absolute;top:6px;left:171px;padding:1px 11px;font-size:12px;font-weight:900;color:#5f463d;background-color:#e1d1b7;border-top-right-radius:10px;box-shadow:0 -.5px 1px 1px #e1d1b7}\n";
}
});

// src/modules/location-huds/forbidden-grove/index.js
var updateClosingTime2, hud3, forbidden_grove_default;
var init_forbidden_grove = __esm({
"src/modules/location-huds/forbidden-grove/index.js"() {
init_utils2();
init_styles56();
init_cheese_selectors();
updateClosingTime2 = () => {
  let timeLeftText = "";
  const today = /* @__PURE__ */ new Date();
  const rotationLength = 20;
  const rotationsExact = (today.getTime() / 1e3 - 1285704e3) / 3600 / rotationLength;
  const rotationsInteger = Math.floor(rotationsExact);
  const partialrotation = (rotationsExact - rotationsInteger) * rotationLength;
  if (partialrotation < 16) {
    const closes = (16 - partialrotation).toFixed(3);
    const hours = Math.floor(closes);
    const minutes = Math.ceil((closes - Math.floor(closes)) * 60);
    timeLeftText = `${hours}h ${minutes}m remaining`;
  }
  const timeLeftEl = document.createElement("div");
  timeLeftEl.classList.add("forbiddenGroveHUD-grovebar-timeLeft");
  timeLeftEl.innerText = timeLeftText;
  return timeLeftEl;
};
hud3 = () => {
  if ("forbidden_grove" !== getCurrentLocation()) {
    return;
  }
  const hudBar = document.querySelector(".forbiddenGroveHUD-grovebar");
  if (!hudBar) {
    return;
  }
  const existing = document.querySelector(".forbiddenGroveHUD-grovebar-timeLeft");
  if (existing) {
    existing.remove();
  }
  const timeLeftEl = updateClosingTime2();
  hudBar.append(timeLeftEl);
  const timer = setInterval(updateClosingTime2, 60 * 1e3);
  onEvent("travel_complete", () => {
    clearInterval(timer);
  });
};
forbidden_grove_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default55);
  cheese_selectors_default("forbidden-grove", [
    "ancient_cheese",
    "radioactive_blue_cheese",
    "magical_radioactive_blue_cheese",
    "moon_cheese",
    "crescent_cheese"
  ]);
  hud3();
});
}
});

// src/modules/location-huds/shared/folklore-forest/index.js
var saveHidden, isHidden, getToggleVisibilityMapping, toggleAllVisibility, isUnlocked, hideOrShowBlock, addToggle, addUpgradeVisibilityToggles, hasAddedUpgradeVisibilityToggles, folklore_forest_default2;
var init_folklore_forest2 = __esm({
"src/modules/location-huds/shared/folklore-forest/index.js"() {
init_utils2();
saveHidden = (upgradeId, isHidden2) => {
  const upgradeIds = getSetting("location-huds.folklore-forest-visibility-toggles", {});
  upgradeIds[upgradeId] = isHidden2;
  saveSetting("location-huds.folklore-forest-visibility-toggles", upgradeIds);
};
isHidden = (upgradeId) => {
  const setting = getSetting("location-huds.folklore-forest-visibility-toggles", {});
  return setting[upgradeId] || false;
};
getToggleVisibilityMapping = () => {
  return {
    tackle_box: ".prologuePondView-fishingBoat-paperDoll-layer.tackle_box",
    fridge_bait_box: ".prologuePondView-fishingBoat-paperDoll-layer.fridge_bait_box",
    fishing_rod: ".prologuePondView-fishingBoat-paperDoll-layer.fishing_rod",
    fish_net: ".prologuePondView-fishingBoat-paperDoll-layer.fish_net",
    fishing_line: ".prologuePondView-fishingBoat-paperDoll-layer.fishing_line",
    steam_reel: ".prologuePondView-fishingBoat-paperDoll-layer.steam_reel",
    binding_thread: ".tableOfContentsView-bookContainer.active .tableOfContentsView-bookImage-layer.tableOfContentsView-bookImage-paper",
    leather_cover: ".tableOfContentsView-bookContainer.active .tableOfContentsView-bookImage-layer.tableOfContentsView-bookImage-binding",
    edge_gilding: ".tableOfContentsView-bookContainer.active .tableOfContentsView-bookImage-layer.tableOfContentsView-bookImage-silk",
    gold_foil: ".tableOfContentsView-bookContainer.active .tableOfContentsView-bookImage-layer.tableOfContentsView-bookImage-goldFoil",
    silver_quill: "",
    golden_quill: ""
  };
};
toggleAllVisibility = () => {
  const mapping2 = getToggleVisibilityMapping();
  const upgradeIds = Object.keys(mapping2);
  if (upgradeIds.length === 0) {
    return;
  }
  upgradeIds.forEach((upgradeId) => {
    hideOrShowBlock(upgradeId, isHidden(upgradeId));
  });
};
isUnlocked = (upgradeId) => {
  var _a, _b, _c;
  let userQuest;
  if ((_a = user.quests) == null ? void 0 : _a.QuestTableOfContents) {
    userQuest = user.quests.QuestTableOfContents;
  } else if ((_b = user.quests) == null ? void 0 : _b.QuestProloguePond) {
    userQuest = user.quests.QuestProloguePond;
  } else if ((_c = user.quests) == null ? void 0 : _c.QuestForewordFarm) {
    userQuest = user.quests.QuestForewordFarm;
  } else {
    return false;
  }
  if (!userQuest || !userQuest.upgrades) {
    return false;
  }
  const upgrade = userQuest.upgrades.find((u) => u.type === upgradeId);
  if (!upgrade) {
    return false;
  }
  return upgrade.is_unlocked;
};
hideOrShowBlock = (blockId, isBlockToggled) => {
  const mapping2 = getToggleVisibilityMapping();
  if (!mapping2[blockId]) {
    const quill = document.querySelector(".tableOfContentsProgressView-quillContainer");
    if (!quill) {
      return;
    }
    if (isBlockToggled) {
      if ("golden_quill" === blockId) {
        quill.classList.remove("quill--gold");
      } else if ("silver_quill" === blockId) {
        quill.classList.remove("quill--silver");
      }
      return;
    }
    if ("golden_quill" === blockId && isUnlocked("golden_quill")) {
      quill.classList.add("quill--gold");
    } else if ("silver_quill" === blockId && isUnlocked("silver_quill")) {
      quill.classList.add("quill--silver");
    }
    return;
  }
  const selector = mapping2[blockId];
  if (!selector) {
    return;
  }
  const element = document.querySelector(selector);
  if (!element) {
    return;
  }
  element.classList.toggle("active", !isBlockToggled);
};
addToggle = (upgradeBlock) => {
  if (upgradeBlock.classList.contains("toggle-added")) {
    return;
  }
  const classList = upgradeBlock.classList.value;
  const blockId = classList.replace("folkloreForestRegionView-dialog-block", "").replace("active", "").replace("prologue_pond", "").replace("table_of_contents", "").trim();
  let isBlockToggled = isHidden(blockId);
  const toggle = makeElement("div", ["mhui-folklore-forest-upgrade-toggle", "mousehuntActionButton", "tiny", "lightBlue"]);
  const toggleText = makeElement("span", "upgrade-toggle-text", isBlockToggled ? "Show" : "Hide");
  toggle.append(toggleText);
  toggle.addEventListener("click", () => {
    isBlockToggled = !isBlockToggled;
    saveHidden(blockId, isBlockToggled);
    toggleText.innerText = isBlockToggled ? "Show" : "Hide";
    hideOrShowBlock(blockId, isBlockToggled);
    upgradeBlock.classList.toggle("toggle-is-hidden", isBlockToggled);
  });
  const action = upgradeBlock.querySelector(".folkloreForestRegionView-dialog-block-action");
  if (action) {
    action.append(toggle);
  } else {
    upgradeBlock.append(toggle);
  }
  upgradeBlock.classList.add("toggle-added");
  upgradeBlock.classList.add(isBlockToggled ? "toggle-is-hidden" : "toggle-is-visible");
};
addUpgradeVisibilityToggles = () => {
  if (hasAddedUpgradeVisibilityToggles) {
    return;
  }
  hasAddedUpgradeVisibilityToggles = true;
  const pondUpgrades = document.querySelectorAll(".folkloreForestRegionView-dialog-blockContainer.upgrades .folkloreForestRegionView-dialog-block.prologue_pond.active");
  const bookUpgrades = document.querySelectorAll(".folkloreForestRegionView-dialog-blockContainer.upgrades .folkloreForestRegionView-dialog-block.table_of_contents.active");
  if (!pondUpgrades || !bookUpgrades) {
    return;
  }
  for (const upgrade of pondUpgrades) {
    addToggle(upgrade);
  }
  for (const upgrade of bookUpgrades) {
    addToggle(upgrade);
  }
};
hasAddedUpgradeVisibilityToggles = false;
folklore_forest_default2 = () => __async(void 0, null, function* () {
  onDialogShow("fabledForestDialog", addUpgradeVisibilityToggles);
  onDialogHide(() => hasAddedUpgradeVisibilityToggles = false);
  toggleAllVisibility();
  onRequest("*", toggleAllVisibility);
});
}
});

// src/modules/location-huds/foreword-farm/styles.css
var styles_default56;
var init_styles57 = __esm({
"src/modules/location-huds/foreword-farm/styles.css"() {
styles_default56 = ".forewordFarmPlotView-plot-progress-label{font-size:13px;line-height:18px;vertical-align:middle;filter:drop-shadow(0 0 1px #000);-webkit-text-stroke:1px rgb(255 255 255 / 50%)}span.forewordFarmPlotView-plot-progress-catchText{font-size:11px;vertical-align:bottom}.folkloreForestRegionView-basicBait-quantity.quantity{top:13px;font-size:12px}.forewordFarmView-growthRate-value span{margin-right:2px}.forewordFarmView-growthRate-value{font-size:14px;border-radius:4px;box-shadow:0 0 20px #000 inset}.forewordFarmView-growthRate-label{margin-left:2px;font-size:11px;font-variant:all-small-caps}.forewordFarmView-harvestBin-quantity{top:-12px;padding:2px;font-size:23px}.forewordFarmView-harvestBin-claimButton-label{margin-left:64px;font-size:12px;color:#2c4e26!important;text-shadow:1px 1px 1px #d1d0cf}.forewordFarmPlotView-plot-queue-item-spacer{height:15px;background-color:#ccc}.forewordFarmPlotView-plot-queue-name.active{-webkit-line-clamp:3}a.forewordFarmPlotView-plot-queue-cancelButton{top:-12px;right:-4px;padding:2px;background-color:#ffbfbf;box-shadow:0 0 3px -1px #000 inset}.forewordFarmPlotView-plot-progressContainer .mousehuntTooltip{border-width:1px}.forewordFarmPlotView-plot-queue-item:hover .forewordFarmPlotView-plot-queue-cancelButton:hover{z-index:1;color:#000!important;background-color:#eb7c73}.forewordFarmPlotView.showQueues .forewordFarmPlotView-plot-queue-item{width:50%}.forewordFarmPlotView-plot-queue-list:hover{background:none}.forewordFarmPlotView-plot-queue-item:hover a.forewordFarmPlotView-plot-queue-cancelButton{background-color:#ffbfbf}.folkloreForestRegionView-fuel-quantity.quantity{font-size:13px}.forewordFarmPlantDialogView-plant-yieldContainer table{margin-top:5px}.forewordFarmPlantDialogView-plant-yieldContainer{width:45%;padding-top:5px}.forewordFarmPlantDialogView-plant-costContainer.num_items_3{display:flex;flex-flow:row wrap;width:50%}.forewordFarmPlantDialogView .folkloreForestRegionView-dialog-block-item{margin:0}.forewordFarmPlantDialogView-plant-name{width:100%;font-size:12px;text-align:center}.forewordFarmPlantDialogView-plant .folkloreForestRegionView-button.big{width:95px;font-size:12px}#overlayPopup.fabledForestDialog .jsDialog.background{padding:18px 5px 10px}.folkloreForestRegionView-dialog-block.highlight,.folkloreForestRegionView-dialog-block{border-top:none;border-radius:0;box-shadow:none}.forewordFarmPlantDialogView-row{border:1px solid #897225;border-radius:0}.forewordFarmPlantDialogView-plant{border:none}.forewordFarmPlantDialogView-plant-header{border-bottom:1px solid #897225;box-shadow:0 0 6px #134220 inset}.forewordFarmPlantDialogView-row .forewordFarmPlantDialogView-plant:nth-child(2) .forewordFarmPlantDialogView-plant-content{margin-left:-1px;border-left:1px solid #897225}.forewordFarmPlotView-plot-progress-bar{top:-2px;bottom:-1px;border-right:none;border-left:none;box-shadow:0 1px #999,0 -1px #999}.forewordFarmPlotView-plot-progress-plantIcon.current{top:-5px;left:-24px}.forewordFarmPlotView.showQueues .forewordFarmPlotView-plot-progressContainer{width:80px;height:20px;margin-top:114px}.forewordFarmPlotView-plot-progress-plantIcon.queued{top:-1px;right:-17px;width:22px;height:22px}.forewordFarmPlotView.showPlantIconHighlight .forewordFarmPlotView-plot.highlight .forewordFarmPlotView-plot-progress-plantIcon.highlight{box-shadow:0 0 1px 2px #6adf4fd4}.forewordFarmHarvestBin-itemImage .quantity{font-size:16px}\n";
}
});

// src/modules/location-huds/foreword-farm/index.js
var foreword_farm_default2;
var init_foreword_farm2 = __esm({
"src/modules/location-huds/foreword-farm/index.js"() {
init_utils2();
init_folklore_forest2();
init_styles50();
init_styles57();
foreword_farm_default2 = () => __async(void 0, null, function* () {
  addHudStyles([styles_default49, styles_default56]);
  folklore_forest_default2();
});
}
});

// src/modules/location-huds/fort-rox/styles.css
var styles_default57;
var init_styles58 = __esm({
"src/modules/location-huds/fort-rox/styles.css"() {
styles_default57 = '.fortRoxHUD-timeline{width:693px;box-shadow:0 0 2px 7px #5c3330}.fortRoxHUD-huntsRemaining.mousehuntTooltipParent{top:45px;right:13px;left:unset;background-color:#e2e2e2;box-shadow:inset 0 0 3px #c0b6b3}a.fortRoxHUD-retreat{top:70px}.fortRoxHUD-timeline-phase-name,.fortRoxHUD-timeline-phase-marker.active .fortRoxHUD-timeline-phase-name{font-size:13px;font-variant:normal;text-shadow:0 0 3px #131313;filter:drop-shadow(0 1px 1px 131313)}.fortRoxHUD-timeline-phase-marker.past .fortRoxHUD-timeline-phase-name{text-shadow:0 0 3px #7b7a7a;filter:drop-shadow(0 1px 1px #7b7a7a)}.fortRoxHUD-fort-upgrade-boundingBox-name{z-index:1;background-color:#c0c0ba}.fortRoxHUD-fort-upgrade-boundingBox:hover .fortRoxHUD-fort-upgrade-boundingBox-name{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;font-size:11px}.fortRoxHUD-timeline-phase-time-tooltip{min-width:75px;margin-top:20px;margin-left:-20px}.fortRoxHUD-timeline-phase-time-tooltip .mousehuntTooltip-content{display:flex;flex-direction:column;align-items:center}.fortRoxHUD-timeline-phase-time-tooltip .mousehuntTooltip-content .tooltip-power{margin-top:5px}.fortRoxHUD-huntsRemaining .mousehuntTooltip{top:35px}.fortRoxHUD-timeline-phase-marker:before{position:absolute;top:-6px;left:-10px;z-index:5;display:inline-block;width:18px;height:18px;vertical-align:middle;content:"";background-image:url(https://www.mousehuntgame.com/images/powertypes/shadow.png?asset_cache_version=2);filter:drop-shadow(0 0 1px #fff);background-repeat:no-repeat;background-size:100%}.fortRoxHUD-timeline-phase-marker{position:relative}.fortRoxHUD-timeline-phase-marker.stage_three:before{background-image:none}.fortRoxHUD-timeline-phase-marker.stage_four:before,.fortRoxHUD-timeline-phase-marker.stage_five:before{background-image:url(https://www.mousehuntgame.com/images/powertypes/arcane.png?asset_cache_version=2)}.fortRoxHUD .quantity{padding:2px;font-size:12px}.fortRoxHUD-dialog-craftingItem-quantity{top:5px}.complete .fortRoxHUD-dialog-upgrade-costContainer{opacity:.6}.fortRoxHUD-bossWarning-hasMultiplier.active b{font-size:12px}.fortRoxHUD-bossWarning{width:auto;padding:5px 30px 5px 40px;font-size:11px}.fortRoxHUD-bossWarning:after{top:3px;left:3px}.frox-has-portal{filter:drop-shadow(0 0 5px #ffde2f) drop-shadow(0 0 15px #ffde2f)}.frox-no-portal{filter:grayscale(1);opacity:.8}.frox-no-portal:hover,.frox-no-portal:focus{filter:grayscale(.2);opacity:1}.fortRoxHUD-spellContainer{top:169px;left:25px}a.fortRoxHUD-upgradeButton.disabled{opacity:.4}a.fortRoxHUD-upgradeButton.disabled:hover,a.fortRoxHUD-upgradeButton.disabled:focus{opacity:1}a.fortRoxHUD-spellTowerButton{margin-left:80px}a.fortRoxHUD-spellTowerButton.normal.inactive{filter:hue-rotate(238deg)}.mh-frox-wall-hp{padding:3px}.fortRoxHUD-hp{top:99px;left:390px;padding-top:2px}.frox-wall-perfect{background-color:#7aff53}.frox-wall-high{background-color:#a9ff53}.frox-wall-medium{background-color:#fff253}.frox-wall-low{background-color:#ff9b53}.frox-wall-very-low{background-color:#ff5353}.fortRoxHUD-dialog-upgrade-name{padding:5px 0}.fortRoxHUD-dialog-upgrade-description{font-size:10px;font-style:italic}.fortRoxHUD-dialog-upgrade-costContainer-title{display:none}.fortRoxHUD-dialog-category-description{padding:10px 0}.fortRoxHUD-dialog-upgrade-costContainer{display:flex;flex-direction:row;align-items:center;justify-content:center;margin-top:10px}.fortRoxHUD-dialog-upgrade-status.complete .mousehuntActionButton{opacity:0}.fortRoxHUD-dialog-upgrade.cannotUpgrade .fortRoxHUD-dialog-upgrade-status.cannotUpgrade{display:flex;flex-direction:column;align-items:center}.complete .fortRoxHUD-dialog-upgrade-costContainer .mousehuntTooltipParent .mousehuntTooltip{display:none}\n';
}
});

// src/modules/location-huds/fort-rox/index.js
var phaseLengths, makeTooltip2, updateNightBar, updateUpgradeTooltips, updateWallHP, addPortalClass, hud4, fort_rox_default2;
var init_fort_rox2 = __esm({
"src/modules/location-huds/fort-rox/index.js"() {
init_utils2();
init_styles58();
phaseLengths = {
  stage_one: {
    hunts: 35,
    powerType: "Shadow"
  },
  stage_two: {
    hunts: 25,
    powerType: "Shadow"
  },
  stage_three: {
    hunts: 10,
    powerType: "Arcane or Shadow"
  },
  stage_four: {
    hunts: 25,
    powerType: "Arcane"
  },
  stage_five: {
    hunts: 35,
    powerType: "Arcane"
  }
};
makeTooltip2 = (text, direction = "top", customClass = []) => {
  const existing = document.querySelectorAll(".added-frox-tooltip");
  if (existing.length) {
    existing.forEach((tooltip2) => {
      tooltip2.remove();
    });
  }
  const tooltip = makeElement("div", ["added-frox-tooltip", "mousehuntTooltip", "tight", direction, ...customClass]);
  makeElement("div", "mousehuntTooltip-content", text, tooltip);
  makeElement("div", "mousehuntTooltip-arrow", "", tooltip);
  return tooltip;
};
updateNightBar = () => {
  const bar = document.querySelector(".fortRoxHUD-timeline-phases");
  if (!bar) {
    return false;
  }
  const phaseBars = bar.querySelectorAll(".fortRoxHUD-timeline-phase-marker");
  if (!phaseBars.length) {
    return false;
  }
  phaseBars.forEach((phaseBar) => {
    var _a, _b, _c, _d;
    const phaseClass = [...phaseBar.classList].find((className) => {
      return className.startsWith("stage_");
    });
    const phaseLength = phaseLengths[phaseClass];
    if (!phaseLength) {
      return;
    }
    const phaseTime = document.createElement("div");
    phaseTime.classList.add("fortRoxHUD-timeline-phase-time");
    const tooltipText = [];
    if (phaseBar.classList.contains("past")) {
      tooltipText.push("Phase complete.");
    } else if (phaseClass === ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFortRox) == null ? void 0 : _b.current_stage)) {
      tooltipText.push(`${(_d = (_c = user == null ? void 0 : user.quests) == null ? void 0 : _c.QuestFortRox) == null ? void 0 : _d.hunts_until_next_phase} / ${phaseLength.hunts} hunts remaining. <div class='tooltip-power'>Use ${phaseLength.powerType} power type.</div>`);
    } else {
      tooltipText.push(`${phaseLength.hunts} hunts. <div class='tooltip-power'>Use ${phaseLength.powerType} power type.</div>`);
    }
    const tooltip = makeTooltip2(tooltipText.join(" "), "bottom", "fortRoxHUD-timeline-phase-time-tooltip");
    phaseBar.append(tooltip);
    phaseBar.classList.add("mousehuntTooltipParent");
  });
};
updateUpgradeTooltips = () => {
  const upgradeTooltips = document.querySelectorAll(".fortRoxHUD-fort-upgrade-boundingBox");
  if (!upgradeTooltips.length) {
    return false;
  }
  const upgradeInfo = document.querySelectorAll(".fortRoxHUD-fort-upgrade-level-info");
  if (upgradeInfo.length) {
    upgradeInfo.forEach((info) => {
      info.remove();
    });
  }
  upgradeTooltips.forEach((tooltip) => {
    var _a, _b;
    const type = tooltip.getAttribute("onclick").replace("app.views.HeadsUpDisplayView.hud.fortRoxShowConfirm('upgradeFort', ", "").replace("); return false;", "").replaceAll("'", "");
    const upgradeProgress = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFortRox) == null ? void 0 : _b.upgrades[type];
    const upgradeKeys = Object.keys(upgradeProgress);
    const completedUpgrades = upgradeKeys.reduce((count2, key) => {
      if (upgradeProgress[key].includes("complete")) {
        count2++;
      }
      return count2;
    }, 0);
    const name = tooltip.querySelector(`.fortRoxHUD-fort-upgrade-boundingBox-level.level_${completedUpgrades}`);
    let upgradeText = `(Level ${completedUpgrades}/${upgradeKeys.length - 1})`;
    if (completedUpgrades === upgradeKeys.length - 1) {
      upgradeText = "(Max Level)";
    }
    const upgrade = makeElement("div", "fortRoxHUD-fort-upgrade-level-info", upgradeText, name);
    upgrade.classList.add("frox-upgrade-level-info");
  });
};
updateWallHP = () => {
  const exists = document.querySelector(".mh-frox-wall-hp");
  if (exists) {
    exists.remove();
  }
  const hpBox = document.querySelector(".fortRoxHUD-hp");
  if (!hpBox) {
    return false;
  }
  const wallPercent = user.quests.QuestFortRox.hp_percent.toFixed(0);
  const wrapper = makeElement("div", "mh-frox-wall-hp");
  makeElement("div", "mh-frox-wall-hp-text", `${wallPercent}%`, wrapper);
  hpBox.append(wrapper);
  hpBox.classList.remove(
    "frox-wall-very-low",
    "frox-wall-low",
    "frox-wall-medium",
    "frox-wall-high",
    "frox-wall-perfect"
  );
  const hp = Number.parseInt(user.quests.QuestFortRox.hp_percent, 10);
  if (hp === 100) {
    hpBox.classList.add("frox-wall-perfect");
  } else if (hp >= 75) {
    hpBox.classList.add("frox-wall-high");
  } else if (hp >= 50) {
    hpBox.classList.add("frox-wall-medium");
  } else if (hp >= 25) {
    hpBox.classList.add("frox-wall-low");
  } else {
    hpBox.classList.add("frox-wall-very-low");
  }
};
addPortalClass = () => {
  var _a, _b, _c, _d;
  const portal = document.querySelector(".fortRoxHUD.dawn .fortRoxHUD-enterLairButton");
  if (!portal) {
    return false;
  }
  portal.classList.remove("frox-no-portal", "frox-has-portal");
  const hasPortal = Number.parseInt((_d = (_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFortRox) == null ? void 0 : _b.items) == null ? void 0 : _c.fort_rox_lair_key_stat_item) == null ? void 0 : _d.quantity, 10);
  portal.classList.add(hasPortal ? "frox-has-portal" : "frox-no-portal");
};
hud4 = () => {
  updateNightBar();
  updateUpgradeTooltips();
  updateWallHP();
  addPortalClass();
};
fort_rox_default2 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default57);
  hud4();
});
}
});

// src/modules/location-huds/fungal-cavern/styles.css
var styles_default58;
var init_styles59 = __esm({
"src/modules/location-huds/fungal-cavern/styles.css"() {
styles_default58 = ".fungalCavernHUD-craftingItem-quantity.quantity{position:absolute;top:1px;left:-7px;width:52px;height:15px;font-size:11px;font-weight:400;background-color:#d7d5d4;border:1px solid #424140;border-radius:4px;box-shadow:1px 0 3px 1px #424140}.fungalCavernHUD-craftingItemContainer{top:-6px;bottom:7px;display:flex;flex-direction:column;justify-content:space-evenly;height:auto}.fungalCavernHUD-craftingItem.on .fungalCavernHUD-craftingItem-status{display:none}.on .fungalCavernHUD-craftingItem-quantity.quantity{background-color:#97df7b}.fungalCavernHUD-bait-quantity.quantity{width:34px;margin-top:-1px;margin-left:-4px;font-size:11px;font-weight:400;background-color:#d7d5d4;border:1px solid #424140;border-radius:3px;box-shadow:1px 0 3px 1px #424140}span.fungalCavernHUD-background-title-zone{padding:2px;font-size:16px;color:#d7d5d4;vertical-align:middle;background-color:#78645a;border:1px solid #9a887e}.fungalCavernHUD-craftingItem.rare .fungalCavernHUD-craftingItem-status{display:none}.rare .fungalCavernHUD-craftingItem-quantity.quantity{background-color:#d3ffc1}.fungalCavernHUD .armNow.active{filter:hue-rotate(131deg)}\n";
}
});

// src/modules/location-huds/fungal-cavern/index.js
var fungal_cavern_default;
var init_fungal_cavern = __esm({
"src/modules/location-huds/fungal-cavern/index.js"() {
init_utils2();
init_styles59();
fungal_cavern_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default58);
});
}
});

// src/modules/location-huds/great-gnarled-tree/index.js
var great_gnarled_tree_default;
var init_great_gnarled_tree = __esm({
"src/modules/location-huds/great-gnarled-tree/index.js"() {
init_cheese_selectors();
great_gnarled_tree_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("great-gnarled-tree", ["gnarled_cheese"]);
});
}
});

// src/modules/location-huds/iceberg/styles.css
var styles_default59;
var init_styles60 = __esm({
"src/modules/location-huds/iceberg/styles.css"() {
styles_default59 = '.icebergHud.bonus .bonus_timeline .turnsLeft{top:0;display:inline-flex;align-items:center;border-color:#666;border-radius:0}.remaining-distance,.remaining-stage-distance{margin:.25em 0}.icebergStatusTooltip{bottom:-25px;left:calc(100% + 4px);width:320px;margin-left:1em}.icebergStatusTooltip .mousehuntTooltip-content{display:grid;grid-template-columns:2fr 1fr;gap:10px;align-items:center}.icebergStatusTooltip .hunts-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100%}.icebergStatusTooltip .hunts-wrapper .average-hunts{font-size:1.25em}.icebergStatusTooltip .hunts-wrapper div{margin-top:.75em}.icebergStatusTooltip .hunts-wrapper div:first-child{margin-top:0;text-align:center}.icebergStatusTooltip .iceberg-sections{width:190px}.icebergStatusTooltip .iceberg-section{position:relative;display:flex;place-items:center start;justify-content:space-between;width:180px;margin-bottom:.25em;overflow:visible}.icebergStatusTooltip .iceberg-section-name{width:auto;min-width:110px}.icebergStatusTooltip .iceberg-section.complete{color:#989898}.icebergStatusTooltip .iceberg-section.complete:after{position:absolute;top:-2px;right:-15px;width:12px;height:12px;content:"";background:url(https://www.mousehuntgame.com/images/ui/hud/meadow_checkmark.png?asset_cache_version=2) 0 0 no-repeat;background-size:contain;opacity:.6}.icebergStatusTooltip .iceberg-section.incomplete{color:#52969b}.icebergStatusTooltip .iceberg-section.current:before{position:absolute;top:0;left:-7px;font-size:9px;color:#579ca2;vertical-align:middle;content:"\\2022";border-radius:3px}.deep-warning{position:absolute;top:5px;bottom:5px;left:175px;z-index:3;display:flex;align-items:center;justify-content:center;width:300px;padding:1em;color:#000;text-align:center;background-color:#ffbfbf;border-radius:10px;opacity:.8}.deep-warning-text{max-width:250px;font-size:11px;line-height:15px;color:#000;text-align:left}.icebergHud .timeline .resetIceberg{top:10px;right:25px;z-index:4;cursor:pointer}.icebergHud .timeline .resetIceberg:hover,.icebergHud .timeline .resetIceberg:focus{color:#a5cedf;opacity:1}#icebergDrill{z-index:2}.icebergHud .cutaway .wax .quantity,.icebergHud .cutaway .sticky .quantity{width:38px;padding:0;margin-left:3px;font-size:12px;font-weight:400;border-color:#89989e;border-radius:3px 3px 4px 4px}.icebergHud .cutaway .sticky .quantity{margin-top:25px}.icebergHud .cutaway .drill .quantity{top:26px;left:108px;font-size:14px;text-align:left;text-shadow:1px 1px #000}.iceberg-section.current{font-weight:900}\n';
}
});

// src/modules/location-huds/iceberg/index.js
var getSections, addProgressToQuestData, roundProgress, getTooltipText, addDeepWarning, hud5, iceberg_default3;
var init_iceberg3 = __esm({
"src/modules/location-huds/iceberg/index.js"() {
init_utils2();
init_styles60();
getSections = (quest) => {
  const sections = [
    {
      name: "Treacherous Tunnels",
      where: "0-300ft",
      length: 300,
      complete: quest.complete.tunnels
    },
    {
      name: "Brutal Bulwark",
      where: "300-600ft",
      length: 300,
      complete: quest.complete.bulwark
    },
    {
      name: "Bombing Run",
      where: "600-1600ft",
      length: 1e3,
      complete: quest.complete.bombing
    },
    {
      name: "The Mad Depths",
      where: "1600-1800ft",
      length: 200,
      complete: quest.complete.depths
    },
    {
      name: "Icewing's Lair",
      where: "1800 ft",
      length: 0,
      complete: quest.complete.lair
    }
  ];
  if (quest.isDeep) {
    sections.push({
      name: "Hidden Depths",
      where: "1800-2000 ft",
      length: 200,
      complete: false
    });
  }
  return sections;
};
addProgressToQuestData = (data) => {
  const depth = data.progress;
  const remaining = {
    stage: 0,
    stagePercent: 0,
    total: 1800 - depth,
    totalPercent: depth / 1800 * 100,
    complete: {
      tunnels: false,
      bulwark: false,
      bombing: false,
      depths: false,
      lair: false
    },
    isLair: false
  };
  if (depth < 300) {
    remaining.stage = 300 - depth;
    remaining.stagePercent = remaining.stage / 300 * 100;
  } else if (depth < 600) {
    remaining.stage = 600 - depth;
    remaining.stagePercent = remaining.stage / 300 * 100;
    remaining.complete.tunnels = true;
  } else if (depth < 1600) {
    remaining.stage = 1600 - depth;
    remaining.stagePercent = remaining.stage / 1e3 * 100;
    remaining.complete.tunnels = true;
    remaining.complete.bulwark = true;
  } else if (depth < 1800) {
    remaining.stage = 1800 - depth;
    remaining.stagePercent = remaining.totalPercent;
    remaining.complete.tunnels = true;
    remaining.complete.bulwark = true;
    remaining.complete.bombing = true;
  } else {
    remaining.stage = 0;
    remaining.stagePercent = 0;
    remaining.isLair = true;
    remaining.complete.tunnels = true;
    remaining.complete.bulwark = true;
    remaining.complete.bombing = true;
    remaining.complete.depths = true;
  }
  if (data.isDeep) {
    remaining.stage = 200 - depth;
    remaining.stagePercent = depth / 200 * 100;
    remaining.totalPercent = remaining.stagePercent;
    remaining.progress = depth + 1800;
  }
  remaining.avg = data.progress / data.hunts;
  if (data.isDeep) {
    remaining.avg = (depth + 1800) / data.hunts;
  }
  remaining.stageHunts = Math.ceil(remaining.stage / remaining.avg);
  return Object.assign(data, remaining);
};
roundProgress = (progress) => {
  if (progress >= 100) {
    return 100;
  }
  if (progress <= 0) {
    return 0;
  }
  const percent = progress.toFixed(2);
  if (percent.slice(-2) === "00") {
    return percent.slice(0, -2);
  }
  if (percent.slice(-1) === "0") {
    return percent.slice(0, -1);
  }
  return percent;
};
getTooltipText = (quest) => {
  const wrapper = document.createElement("div");
  wrapper.classList.add("mousehuntTooltip-content");
  const progress = document.createElement("div");
  progress.classList.add("hunts-wrapper");
  const averageHunts = document.createElement("div");
  averageHunts.classList.add("average-hunts");
  averageHunts.innerText = `Avg. ${roundProgress(quest.avg)} ft/hunt`;
  progress.append(averageHunts);
  if (!quest.isLair) {
    const stageProgressPercent = document.createElement("div");
    stageProgressPercent.classList.add("stage-progress-percent");
    stageProgressPercent.innerText = `Stage Progress: ${roundProgress(quest.stagePercent)}%`;
    progress.append(stageProgressPercent);
    if (!quest.isDeep) {
      const totalProgressPercent = document.createElement("div");
      totalProgressPercent.classList.add("total-progress-percent");
      totalProgressPercent.innerText = `Total Progress: ${roundProgress(quest.totalPercent)}%`;
      progress.append(totalProgressPercent);
    }
  }
  wrapper.append(progress);
  const sectionsWrapper = document.createElement("div");
  sectionsWrapper.classList.add("iceberg-sections");
  const sections = getSections(quest);
  let currentSection = false;
  sections.forEach((sectionData) => {
    if (quest.isDeep && sectionData.name !== "Hidden Depths") {
      sectionData.complete = true;
    }
    const section = document.createElement("div");
    section.classList.add("iceberg-section", sectionData.complete ? "complete" : "incomplete");
    if (!currentSection && !sectionData.complete) {
      section.classList.add("current");
      currentSection = true;
    }
    const sectionName = document.createElement("div");
    sectionName.classList.add("iceberg-section-name");
    sectionName.innerText = sectionData.name;
    section.append(sectionName);
    const sectionLength = document.createElement("div");
    sectionLength.classList.add("iceberg-section-length");
    sectionLength.innerText = sectionData.where;
    section.append(sectionLength);
    sectionsWrapper.append(section);
  });
  wrapper.append(sectionsWrapper);
  return wrapper;
};
addDeepWarning = () => __async(void 0, null, function* () {
  const equippedBase = Number.parseInt(user.base_item_id) || 0;
  if (equippedBase === 899 || // Deep Freeze Base
  equippedBase === 3256 || // Iceberg Boiler Base
  equippedBase === 2392) {
    return;
  }
  const bases = yield getUserItems([
    "deep_freeze_base",
    "iceberg_boiler_base",
    "ultimate_iceberg_base"
  ]);
  const equippableBases = [];
  let hasBase = false;
  bases.forEach((base) => {
    if (base.quantity > 0) {
      hasBase = true;
      equippableBases.push({ name: base.name, id: base.item_id });
    }
  });
  if (!hasBase) {
    return;
  }
  const appendTo = document.querySelector(".cutawayClippingMask");
  if (!appendTo) {
    return;
  }
  const equippableBasesText = equippableBases.map((base, index) => {
    if (index === 0) {
      return base.name;
    }
    if (index === equippableBases.length - 1) {
      return `or ${base.name}`;
    }
    return base.name;
  }).join(" ");
  const warning = document.createElement("div");
  warning.classList.add("deep-warning");
  const warningText = document.createElement("div");
  warningText.classList.add("deep-warning-text");
  warningText.innerText = `To access the Hidden Depths, make sure you equip ${equippableBasesText}.`;
  const warningIcon = document.createElement("img");
  warningIcon.classList.add("deep-warning-icon");
  warningIcon.src = "https://www.mousehuntgame.com/images/ui/journal/pillage.gif?asset_cache_version=2";
  warning.append(warningIcon);
  warning.append(warningText);
  appendTo.append(warning);
});
hud5 = () => __async(void 0, null, function* () {
  if ("iceberg" !== getCurrentLocation()) {
    return;
  }
  let quest = {
    progress: user.quests.QuestIceberg.user_progress || 0,
    hunts: user.quests.QuestIceberg.turns_taken || 0,
    chests: user.quests.QuestIceberg.chests || [],
    isDeep: user.quests.QuestIceberg.in_bonus || false
  };
  const huntInfo = document.querySelector(".icebergHud  .depth");
  if (!huntInfo) {
    return;
  }
  quest = addProgressToQuestData(quest);
  const existingStage = huntInfo.querySelector(".remaining-stage-distance");
  if (existingStage) {
    existingStage.remove();
  }
  if (!quest.isLair) {
    const remainingStageDistance = document.createElement("div");
    remainingStageDistance.classList.add("remaining-stage-distance");
    const destination = quest.isDeep ? "Deep" : "next stage";
    if (quest.stage !== quest.total) {
      remainingStageDistance.innerText = `${quest.stage} feet until ${destination}`;
      if (quest.stageHunts > 0) {
        remainingStageDistance.innerText += ` (~${quest.stageHunts} hunts)`;
      }
    }
    huntInfo.insertBefore(remainingStageDistance, huntInfo.lastChild);
  }
  const existingDistance = huntInfo.querySelector(".remaining-distance");
  if (existingDistance) {
    existingDistance.remove();
  }
  if (!quest.isLair && !quest.isDeep) {
    const remainingDistance = document.createElement("div");
    remainingDistance.classList.add("remaining-distance");
    if (quest.total !== 0) {
      remainingDistance.innerText = `${quest.total} feet until Icewing's Lair`;
      if (quest.totalHunts > 0) {
        remainingDistance.innerText += `(~${quest.totalHunts} hunts)`;
      }
    }
    huntInfo.insertBefore(remainingDistance, huntInfo.lastChild);
  }
  const existingTooltip = huntInfo.querySelector(".icebergStatusTooltip");
  if (existingTooltip) {
    existingTooltip.remove();
  }
  huntInfo.classList.add("mousehuntTooltipParent");
  const tooltip = makeElement("div", "icebergStatusTooltip");
  tooltip.classList.add("mousehuntTooltip", "right", "noEvents");
  const tooltipContent = getTooltipText(quest);
  tooltip.append(tooltipContent);
  makeElement("div", "mousehuntTooltip-arrow", "", tooltip);
  huntInfo.append(tooltip);
  if (quest.isLair) {
    addDeepWarning();
  }
});
iceberg_default3 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default59);
  hud5();
  onRequest("*", hud5);
});
}
});

// src/modules/location-huds/jungle-of-dread/index.js
var jungle_of_dread_default;
var init_jungle_of_dread = __esm({
"src/modules/location-huds/jungle-of-dread/index.js"() {
init_cheese_selectors();
jungle_of_dread_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("jungle-of-dread", [
    "vanilla_stilton_cheese",
    "vengeful_vanilla_stilton_cheese",
    "spicy_havarti_cheese",
    "pungent_havarti_cheese",
    "creamy_havarti_cheese",
    "magical_havarti_cheese",
    "crunchy_havarti_cheese",
    "sweet_havarti_cheese"
  ]);
});
}
});

// src/modules/location-huds/kings-arms/index.js
var kings_arms_default;
var init_kings_arms = __esm({
"src/modules/location-huds/kings-arms/index.js"() {
init_cheese_selectors();
kings_arms_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("kings-arms", ["gilded_cheese"]);
});
}
});

// src/modules/location-huds/kings-gauntlet/index.js
var kings_gauntlet_default;
var init_kings_gauntlet = __esm({
"src/modules/location-huds/kings-gauntlet/index.js"() {
init_cheese_selectors();
kings_gauntlet_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("kings-gauntlet", [
    "super_brie_cheese",
    "gauntlet_cheese_2",
    "gauntlet_cheese_3",
    "gauntlet_cheese_4",
    "gauntlet_cheese_5",
    "gauntlet_cheese_6",
    "gauntlet_cheese_7",
    "gauntlet_cheese_8"
  ]);
});
}
});

// src/modules/location-huds/laboratory/styles.css
var styles_default60;
var init_styles61 = __esm({
"src/modules/location-huds/laboratory/styles.css"() {
styles_default60 = ".laboratoryHUD .mousehuntItem-image{background-color:transparent}.laboratoryHUD .laboratoryHUD-areaBaitContainer .mousehuntItem-image{box-sizing:border-box;width:64px;height:64px;margin-top:-4px;margin-left:-5px;background-color:#d0e9ec;border:1px solid #d0e9ec;outline:5px solid #d0e9ec;box-shadow:none}.laboratoryHUD .mousehuntItem-quantity.quantity{padding:3px 4px;font-size:12px}.laboratoryHUD .laboratoryHUD-basicBaitContainer .mousehuntItem-image{background-color:#a6c0c4}.laboratoryHUD-state{text-shadow:0 1px 3px #000}.laboratoryHUD-basicBaitContainer .mousehuntTooltip>div{display:flex;justify-content:center}.laboratoryHUDArmNowButton.active{filter:hue-rotate(90deg)}.laboratoryHUD-basicBaitContainer .mousehuntTooltip{width:180px}\n";
}
});

// src/modules/location-huds/laboratory/index.js
var laboratory_default;
var init_laboratory = __esm({
"src/modules/location-huds/laboratory/index.js"() {
init_utils2();
init_styles61();
laboratory_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default60);
});
}
});

// src/modules/location-huds/labyrinth/styles.css
var styles_default61;
var init_styles62 = __esm({
"src/modules/location-huds/labyrinth/styles.css"() {
styles_default61 = '.mh-ui-labyrinth-step-counter{padding-right:5px;margin-left:5px;font-weight:900;background-color:#000}.labyrinthHUD-clueBar-totalContainer{z-index:10;width:auto;padding-left:4px;font-size:12px;border-radius:6px}.labyrinthHUD-clue{display:flex;align-items:center;justify-content:flex-start;font-size:10px}.labyrinthHUD-clue-name{overflow:visible;text-overflow:unset}.mh-ui-labyrinth-clue-count{padding:4px;color:#050505;border-top-right-radius:5px;border-bottom-right-radius:5px}.y .labyrinthHUD-clue-name,.y .mh-ui-labyrinth-clue-count{background-color:#d851ff66}.h .labyrinthHUD-clue-name,.h .mh-ui-labyrinth-clue-count{background-color:#21e2ff66}.s .labyrinthHUD-clue-name,.s .mh-ui-labyrinth-clue-count{background-color:#e9630066}.t .labyrinthHUD-clue-name,.t .mh-ui-labyrinth-clue-count{background-color:#ffe40066}.f .labyrinthHUD-clue-name,.f .mh-ui-labyrinth-clue-count{background-color:#11f40066}.m .labyrinthHUD-clue-name,.m .mh-ui-labyrinth-clue-count{color:#d3c5c5;background-color:#6a6a6a66}.labyrinthHUD-item-quantity,.labyrinthHUD-scrambleDoors-quantity,.labyrinthHUD-scrambleClues-quantity,.labyrinthHUD-toggleLantern-quantity.quantity{position:absolute;top:6px;padding:0 5px;font-size:12px;text-align:center;background-color:#000;border-radius:5px}.labyrinthHUD-item-quantity.quantity{top:6px;left:5px;display:block;width:30px;margin:0!important}.labyrinthHUD-scrambleDoors-quantity,.labyrinthHUD-scrambleClues-quantity,.labyrinthHUD-toggleLantern-quantity.quantity{display:inline-flex;align-items:center;width:auto;height:18px;margin-right:11px}.labyrinthHUD-scrambleClues-quantity.quantity{left:-6px}.labyrinthHUD-toggleLantern-quantity.quantity{right:-5px}.labyrinthHUD-scrambleDoors-quantity.quantity{top:.5px;right:-7px;height:9.5px;padding:4px;pointer-events:none}.labyrinthHUD-scrambleClues:hover .labyrinthHUD-scrambleClues-name,.labyrinthHUD-scrambleClues.disabled .labyrinthHUD-scrambleClues-name,.labyrinthHUD-scrambleClues:focus .labyrinthHUD-scrambleClues-name,.labyrinthHUD-scrambleClues-name{position:relative;left:75px;width:0;color:transparent!important;text-shadow:none;pointer-events:none}.labyrinthHUD-scrambleClues-name:after{position:absolute;top:0;right:-30px;display:block;width:50px;color:#eee;text-align:center;text-shadow:0 0 1px #000;content:"Compass Magnet"}.labyrinthHUD-item:nth-child(1) .labyrinthHUD-item-name,.labyrinthHUD-item:nth-child(2) .labyrinthHUD-item-name,.labyrinthHUD-item:nth-child(3) .labyrinthHUD-item-name,.labyrinthHUD-item:nth-child(4) .labyrinthHUD-item-name,.labyrinthHUD-item:nth-child(5) .labyrinthHUD-item-name{width:96px;margin-left:47px;font-size:11px;font-weight:900;text-align:center;text-shadow:0 0 1px #000;background:linear-gradient(180deg,#70707000,#a8a8a8,#70707000);border-radius:20px}.labyrinthHUD-item:hover .labyrinthHUD-item-location,.labyrinthHUD-item:focus .labyrinthHUD-item-location{position:absolute;top:unset;bottom:-25px;padding:3px;font-size:9px;color:#000;text-align:center;background:#fff;border:2px solid #000;border-radius:10px;box-shadow:2px 3px 4px #666}.mh-ui-labyrinth-door-text{position:absolute;inset:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:#fff;opacity:.8}.mh-ui-laby-steps{margin-bottom:3px;font-size:13px}.labyrinthHUD-doorContainer{position:relative}.labyrinthHUD-door.disabled.mystery{filter:brightness(.4)}.labyrinthHUD-door.mh-ui-labyrinth-highlight{filter:brightness(1.1)}.labyrinthHUD-door.mh-ui-labyrinth-highlight:before{position:absolute;top:5px;right:15px;z-index:1;width:25px;height:25px;overflow:hidden;content:"";background:url(https://www.mousehuntgame.com/images/ui/events/winter_hunt_2013/checkmark.png?asset_cache_version=2) no-repeat;background-size:contain}.labyrinthHUD-confirm-padding .labyrinthHUD-door.mh-ui-labyrinth-highlight:after{background:none}.labyrinthHUD-clueDrawer{padding-bottom:11px;font-size:11px}.labyrinthHUD-clueDrawer-description{padding:5px 0 10px;line-height:17px;color:#fafafa;text-align:center}.labyrinthHUD-clueDrawer-clue{margin:10px 0}.labyrinthHUD-clueDrawer-clue.tier-1 .labyrinthHUD-clueDrawer-exit.tier-1:after,.labyrinthHUD-clueDrawer-clue.tier-2 .labyrinthHUD-clueDrawer-exit.tier-2:after,.labyrinthHUD-clueDrawer-clue.tier-3 .labyrinthHUD-clueDrawer-exit.tier-3:after{background:none}.labyrinthHUD-clueDrawer-exit{top:0;bottom:0;width:1px;height:10px;background:#8d8d8d;border-radius:0}.labyrinthHUD-clueDrawer-bar{height:10px;border-radius:0;opacity:.9}.labyrinthHUD-clueDrawer-barFrame{margin-right:3px;border:1px solid #585858;border-radius:0}.y .labyrinthHUD-clueDrawer-name,.y .labyrinthHUD-clueDrawer-quantity{border-bottom:1px solid #d851ff}.h .labyrinthHUD-clueDrawer-name,.h .labyrinthHUD-clueDrawer-quantity{border-bottom:1px solid #21e2ff}.s .labyrinthHUD-clueDrawer-name,.s .labyrinthHUD-clueDrawer-quantity{border-bottom:1px solid #e96300}.t .labyrinthHUD-clueDrawer-name,.t .labyrinthHUD-clueDrawer-quantity{border-bottom:1px solid #ffe400}.f .labyrinthHUD-clueDrawer-name,.f .labyrinthHUD-clueDrawer-quantity{border-bottom:1px solid #11f400}.labyrinthHUD-clueDrawer-name{padding-left:3px;margin-right:-3px}.labyrinthHUD-clueDrawer-quantity{padding-right:3px;margin-left:-3px}.hudLocationContent a.labyrinthHUD-retreatButton{color:#707070!important;background-color:#0000007f}.hudLocationContent a.labyrinthHUD-retreatButton:hover{color:#eee!important}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.bad:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_1:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_2:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_3:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_4:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_5:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_6:after{position:absolute;top:0;right:0;left:0;display:inline-flex;align-items:center;justify-content:center;height:100%;font-size:15px;font-weight:900;color:#000;text-align:center;text-shadow:0 0 4px #c7ffad;content:""}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete:after{color:#0e0e0e;text-shadow:none;content:"0"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.bad:after{color:#c69898;text-shadow:none;content:"1"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_1:after{content:"1"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_2:after{content:"2"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_3:after{content:"3"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_4:after{content:"4"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_5:after{content:"5"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_6:after{content:"6"}.mh-ui-labyrinth-lantern-reminder{position:absolute;bottom:0;left:-8px;width:75px;height:75px;background:url(https://www.mousehuntgame.com/images/items/stats/transparent_thumb/d1c4774c7afebe379bef83d30b81f069.png?cv=2) 0 0 no-repeat;filter:drop-shadow(1px 0 8px #f6eac3);background-size:contain;transform-origin:bottom;animation:mh-improved-sway-side-to-side .75s;animation-iteration-count:3}.labyrinthHUD-toggleLantern-name.active{animation:portalPulse 1.5s infinite}@media (prefers-reduced-motion: reduce){.mh-ui-labyrinth-lantern-reminder,.labyrinthHUD-toggleLantern-name.active{animation:none}}.labyrinthHUD-clueDrawer-barPadding{padding:1px 4px 0 1px}.labyrinthHUD-confirmDescription.chooseDoor b{font-size:13px}.labyrinthHUD-scrambleClues.disabled .labyrinthHUD-scrambleClues-name,.labyrinthHUD-scrambleClues.disabled:hover .labyrinthHUD-scrambleClues-name{color:transparent!important;text-shadow:none}a.labyrinthHUD-door.labyrinthHUD-door-category-y:after,a.labyrinthHUD-door.labyrinthHUD-door-category-h:after,a.labyrinthHUD-door.labyrinthHUD-door-category-s:after,a.labyrinthHUD-door.labyrinthHUD-door-category-t:after,a.labyrinthHUD-door.labyrinthHUD-door-category-f:after{position:absolute;right:19px;bottom:4px;left:19px;padding:1px 2px 0;font-size:13px;text-align:center;text-shadow:0 1px 1px #3d3d3d;content:"";background-color:#50306a;border-radius:1px;box-shadow:inset 0 0 4px #636363}a.labyrinthHUD-door.labyrinthHUD-door-category-y:after{content:"Fealty";background-color:#d851ff99}a.labyrinthHUD-door.labyrinthHUD-door-category-h:after{content:"Tech";background-color:#21e2ff99}a.labyrinthHUD-door.labyrinthHUD-door-category-s:after{content:"Scholar";background-color:#e9630099}a.labyrinthHUD-door.labyrinthHUD-door-category-t:after{font-size:11px;content:"Treasury";background-color:#ffe40099}a.labyrinthHUD-door.labyrinthHUD-door-category-f:after{font-size:12px;content:"Farming";background-color:#11f40099}.labyrinthHUD-door-name-padding span{margin-top:-25px}.labyrinthHUD-door-image:after{filter:drop-shadow(0 1px 1px #242424);transform:scale(1.5)}.labyrinthHUD-hallway-background{filter:brightness(1.2)}\n';
}
});

// src/modules/location-huds/labyrinth/index.js
var highlightDoors, scrambleGems, hud6, labyrinth_default3;
var init_labyrinth3 = __esm({
"src/modules/location-huds/labyrinth/index.js"() {
init_utils2();
init_styles62();
highlightDoors = () => {
  var _a, _b;
  if ("intersection" !== ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestLabyrinth) == null ? void 0 : _b.status)) {
    return;
  }
  const existingHighlight = document.querySelector(".mh-ui-labyrinth-highlight");
  if (existingHighlight) {
    existingHighlight.classList.remove("mh-ui-labyrinth-highlight");
  }
  const clues = user.quests.QuestLabyrinth.clues || [];
  const clue = clues.reduce((a, b) => a.quantity > b.quantity ? a : b);
  if (clue) {
    const doors = user.quests.QuestLabyrinth.doors || [];
    const matchingDoors = doors.filter((door) => {
      if (door.choice && door.choice.length) {
        return door.choice.includes(clue.type);
      }
      return false;
    });
    if (!matchingDoors.length) {
      return;
    }
    const bestDoor = matchingDoors.reduce((a, b) => a.choice.length > b.choice.length ? a : b);
    if (bestDoor) {
      const highlight = document.querySelector(`.labyrinthHUD-door.${bestDoor.css_class.replaceAll(" ", ".")}`);
      if (highlight) {
        highlight.classList.add("mh-ui-labyrinth-highlight");
      }
    }
  }
};
scrambleGems = () => {
  const gems = document.querySelectorAll(".labyrinthHUD-scrambleGem");
  if (!gems) {
    return;
  }
  gems.forEach((gem) => {
    gem.removeAttribute("onclick");
    gem.addEventListener("click", () => {
      hg.views.HeadsUpDisplayLabyrinthView.labyrinthScrambleGem(gem, 2);
    });
  });
};
hud6 = () => {
  var _a, _b, _c, _d, _e, _f;
  if ("labyrinth" !== getCurrentLocation()) {
    return;
  }
  scrambleGems();
  const doorTextExisting = document.querySelector(".mh-ui-labyrinth-door-text");
  if (doorTextExisting) {
    doorTextExisting.remove();
  }
  const appendTo = document.querySelector(".labyrinthHUD-hallwayDescription");
  if (!appendTo) {
    return;
  }
  const existing = document.querySelector(".mh-ui-labyrinth-step-counter");
  if (existing) {
    existing.remove();
  }
  const existingStepsToGo = document.querySelector(".mh-ui-labyrinth-steps-to-go");
  if (existingStepsToGo) {
    existingStepsToGo.remove();
  }
  const clueProgresses = document.querySelectorAll(".mh-ui-labyrinth-clue-count");
  if (clueProgresses) {
    clueProgresses.forEach((progress) => {
      progress.remove();
    });
  }
  const clueProgress = document.querySelectorAll(".labyrinthHUD-clue");
  if (clueProgress) {
    clueProgress.forEach((progress) => {
      const clueType = progress.classList.value.replace("labyrinthHUD-clue", "").replace("clueFound", "").trim();
      const clues = user.quests.QuestLabyrinth.clues || [];
      const clue = clues.find((c) => c.type === clueType);
      if (clue) {
        progress.setAttribute("title", `${clue.quantity} found`);
        const text = makeElement("span", "mh-ui-labyrinth-clue-count", `${clue.quantity}`);
        progress.append(text);
      }
    });
  }
  if ("inactive" === ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestLabyrinth) == null ? void 0 : _b.lantern_status) && ((_d = (_c = user == null ? void 0 : user.quests) == null ? void 0 : _c.QuestLabyrinth) == null ? void 0 : _d.hallway_tier) >= 2) {
    setTimeout(() => {
      const existingLanternReminder = document.querySelector(".mh-ui-labyrinth-lantern-reminder");
      if (existingLanternReminder) {
        existingLanternReminder.classList.remove("hidden");
      }
      const labyHud = document.querySelector(".labyrinthHUD-intersection");
      if (labyHud) {
        const lanternReminer = document.createElement("div");
        lanternReminer.classList.add("mh-ui-labyrinth-lantern-reminder");
        labyHud.append(lanternReminer);
      }
    }, 500);
  }
  const hallwayLength = user.quests.QuestLabyrinth.hallway_length || 0;
  const tiles = user.quests.QuestLabyrinth.tiles || [];
  const completed = tiles.filter((tile) => tile.status.includes("complete"));
  if (completed.length !== hallwayLength) {
    makeElement("span", "mh-ui-labyrinth-step-counter", `${completed.length}/${hallwayLength} steps completed.`, appendTo);
  }
  const stepsToGo = hallwayLength - completed.length;
  const existingIntersectionText = document.querySelector(".mh-ui-labyrinth-door-text");
  if (existingIntersectionText) {
    existingIntersectionText.remove();
  }
  const stepsExisting = document.querySelector(".mh-ui-laby-steps");
  if (stepsExisting) {
    stepsExisting.remove();
  }
  const cptExisting = document.querySelector(".mh-ui-laby-cpt");
  if (cptExisting) {
    cptExisting.remove();
  }
  if (stepsToGo !== 0) {
    const intersectionDoors = document.querySelector(".labyrinthHUD-doorContainer");
    if (intersectionDoors) {
      const tilesWithClues = tiles.filter((tile) => tile.status.includes("good"));
      const cluesFound = tilesWithClues.reduce((a, b) => a + Number.parseInt(b.status.replace("complete", "").replace("good_", "").trim()), 0);
      const cluesPerTile = (cluesFound / completed.length).toFixed(1).replace(".0", "");
      const intersectionText = makeElement("div", "mh-ui-labyrinth-door-text");
      let stepsNoun = "hunt";
      if (stepsToGo > 1 || stepsToGo < 1) {
        stepsNoun = "hunts";
      }
      makeElement("div", "mh-ui-laby-steps", `${stepsToGo} ${stepsNoun} left in the hallway`, intersectionText);
      if (cluesPerTile !== "NaN") {
        let clueNoun = "clue";
        if (cluesPerTile > 1 || cluesPerTile < 1) {
          clueNoun = "clues";
        }
        makeElement("div", "mh-ui-laby-cpt", `Avg. ${cluesPerTile} ${clueNoun} per tile`, intersectionText);
      }
      intersectionDoors.append(intersectionText);
    }
  }
  if ("intersection" === ((_f = (_e = user == null ? void 0 : user.quests) == null ? void 0 : _e.QuestLabyrinth) == null ? void 0 : _f.status)) {
    highlightDoors();
  }
};
labyrinth_default3 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default61);
  hud6();
  onRequest("*", hud6);
});
}
});

// src/modules/location-huds/lagoon/index.js
var lagoon_default;
var init_lagoon = __esm({
"src/modules/location-huds/lagoon/index.js"() {
init_cheese_selectors();
lagoon_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("lagoon", ["gnarled_cheese", "wicked_gnarly_cheese"]);
});
}
});

// src/modules/location-huds/meditation-room/index.js
var meditation_room_default;
var init_meditation_room = __esm({
"src/modules/location-huds/meditation-room/index.js"() {
init_cheese_selectors();
meditation_room_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("meditation-room", [
    "combat_cheese",
    "glutter_cheese",
    "susheese_cheese"
  ]);
});
}
});

// src/modules/location-huds/mountain/styles.css
var styles_default62;
var init_styles63 = __esm({
"src/modules/location-huds/mountain/styles.css"() {
styles_default62 = ".mountainHUD-boulder-health-percent{display:flex;align-items:center;justify-content:space-evenly}.mountainHUD-boulder-health-percent span{font-size:12px}.mountainHUD-boulder-health-progressBar span{top:-2px;bottom:-2px;box-shadow:inset 0 0 2px 1px #000}.mountainHUD-boulder-state,.mousehuntItem.mountainHUD-conduit-charm .mousehuntItem-image{transition:.2s}.mountainHUD-boulder:hover .mountainHUD-boulder-state{filter:brightness(.9);transform:translateY(4px)}.mountainHUD-boulderHelper{top:3px;left:128px;width:76px;font-size:11px}.mountainHUD-conduit-charm .mousehuntItem-image{background-color:#835327;background-size:80px;border-radius:0;box-shadow:-1px -1px #835327}.mountainHUD-conduit-charm .mousehuntItem-image:after{border:none;border-radius:40px}.mountainHUD-conduit-charm:hover .mousehuntItem-image{background-size:100px;transform:rotate(5deg)}.mountainHUD-conduit-power{padding-left:19px;font-size:15px}.mountainHUD-conduit-power:after{top:-2px;width:20px;height:21px;padding-right:5px;background-size:20px}.mountainHUD-conduit-suggestions .mousehuntItem-quantity{right:0;bottom:-11px;left:0;font-size:12px;border:1px solid #858585}.mountainHUD-footer-item .mousehuntItem-image{width:25px;height:25px;background-color:transparent}.mountainHUD-footer-item .mousehuntItem-image,.mountainHUD-phaseContainer .mousehuntItem-image,.mountainHUD-conduit-suggestions .mousehuntItem-image{background-color:transparent;background-size:cover;box-shadow:none}.mountainHUD-conduit-suggestions .mousehuntItem-image{background-size:125%}.mountainHUD-footer-item .mousehuntItem-image:after,.mountainHUD-phaseContainer .mousehuntItem-image:after{border:none}.mountainHUD-footer-item .mousehuntItem-quantity{bottom:4px;font-size:12px;background-color:#de9c5f;box-shadow:inset 0 0 3px 2px #835327}.mountainHUD-footer-item-name{font-size:10px}.mountainHUD-footer-item:nth-child(1) .mountainHUD-footer-item-name{font-size:10px;line-height:10px}.mountainHUD-footer-item:nth-child(2) .mountainHUD-footer-item-name{width:82px;margin-left:24px;font-size:12px}.mountainHUD-footer-item:nth-child(3) .mountainHUD-footer-item-name{font-size:12px}.mountainHUD-footer-item:nth-child(4) .mountainHUD-footer-item-name{font-size:9px}.mountainHUD-footer-item:nth-child(5) .mountainHUD-footer-item-name{width:80px;margin-left:27px;font-size:11px}.mountainHUD-footer-item .mousehuntItem.disabled .mousehuntItem-image{filter:opacity(.3)}.mountainHUD-phase-description{line-height:10px}.mountainHUD-phase-title span{font-size:10px;font-variant:none;text-shadow:1px 1px 2px #000}.mountainHUD-phaseContainer .mousehuntItem-quantity.quantity{font-size:12px;border:1px solid #858585}.mountainHUD.none .mountainHUD-conduit-charm .mousehuntItem-image{border-radius:50%}.mousehuntItem.mountainHUD-conduit-charm{background-color:#835327}.mountainHUD-conduit .mousehuntItem.disabled{height:auto;background-color:#5f3e1f}.mountainHUD-conduit .mousehuntItem-image.disabled:after{border:none}.mountainHUD-conduit .mousehuntItem.disabled .mousehuntItem-quantity{display:none}.mountainHUD-conduit-suggestion-item .mousehuntTooltip{font-size:12px}.mountainHUD-conduit-suggestions .mousehuntItem-image.power_trinket{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/b0fb665f8649eb72432c66b0575c9516.png)}.mountainHUD-conduit-suggestions .mousehuntItem-image.super_power_trinket{background-image:url(https://i.mouse.rip/upscaled/625bef6da38dc44ddcd70d0da47244ae.png)}.mountainHUD-conduit-suggestions .mousehuntItem-image.weak_power_trinket{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/47a2b0f87d6ec8a9d86f39417a619f85.png)}.active .mousehuntItem-image.power_trinket{box-shadow:0 0 5px 3px #00e505 inset}.mountainHUD-minibossHelper{padding:2px;margin-left:-3px;font-size:10px}.mountainHUD-mouse{transition:.2s ease-out;transform-origin:bottom;will-change:transform}.mountainHUD-mouse:nth-child(1):hover{transform:scale(1.1) rotate(-3deg)}.mountainHUD-mouse:nth-child(2):hover{transform:scale(1.1)}.mountainHUD-mouse:nth-child(3):hover{transform:scale(1.1) rotate(3deg)}.mountainHUD-mouse .mountainHUD-mouse-image{border-radius:15px 15px 0 0}.mountainHUD-conduit-suggestions .mountainHUD-conduit-suggestion-item:hover .mousehuntItem-image{background-size:150%}.mountainHUD-miniBoulderContainer .mountainHUD-miniBoulder-health-percent{font-size:10px}.mountainHUD-miniBoulderContainer .mountainHUD-miniBoulder-health-percent span{font-size:12px}.mountainHUD-miniBoulderContainer .mountainHUD-miniBoulder-health-progressBar{top:7px;height:11px;background-color:#815026;box-shadow:inset 0 0 1px 1px #100802}.mountainHUD-miniBoulderContainer .mountainHUD-miniBoulder-health-progressBar span{box-shadow:inset 1px 0 2px 1px #000;transition:.2s}.mountainHUD-miniBoulder-state{filter:drop-shadow(0 0 1px #fff15b);transition:all .2s ease-out;transform-origin:center}.mountainHUD-miniBoulder-state:hover{filter:drop-shadow(0 0 3px #fff15b);transform:scale(1.4)}.mountainHUD-mouse-difficulty{font-size:13px}.mountainHUD-miniBoulderContainer .mountainHUD-miniBoulder-health-progressBar:hover span{filter:hue-rotate(105deg)}\n";
}
});

// src/modules/location-huds/mountain/index.js
var mountain_default;
var init_mountain = __esm({
"src/modules/location-huds/mountain/index.js"() {
init_utils2();
init_styles63();
mountain_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default62);
});
}
});

// src/modules/location-huds/mousoleum/styles.css
var styles_default63;
var init_styles64 = __esm({
"src/modules/location-huds/mousoleum/styles.css"() {
styles_default63 = ".mousoleumHUD-buildWall.mousoleumHUD-wall-state{transform:scale(1.1)}.mousoleumHUD-bait .mousehuntItem-image{background-color:transparent}.mousoleumHUD-plankContainer{font-size:13px}.mousoleumHUD-plankContainer .mousoleumHUD-quantity{margin-left:-3px;font-size:12px;background:linear-gradient(90deg,#2f2f55,#0000);background-color:#2f2f55;border-radius:30px}\n";
}
});

// src/modules/location-huds/mousoleum/index.js
var spawnPlanks, main18, mousoleum_default3;
var init_mousoleum3 = __esm({
"src/modules/location-huds/mousoleum/index.js"() {
init_utils2();
init_styles64();
spawnPlanks = () => {
  const plankContainer = document.querySelector(".mousoleumHUD-plankContainer");
  if (!plankContainer) {
    return;
  }
  plankContainer.addEventListener("click", () => {
    hg.views.HeadsUpDisplayMousoleumView.spawnShards(Math.floor(Math.random() * 20));
  });
};
main18 = () => {
  spawnPlanks();
};
mousoleum_default3 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default63);
  main18();
});
}
});

// src/modules/location-huds/moussu-picchu/styles.css
var styles_default64;
var init_styles65 = __esm({
"src/modules/location-huds/moussu-picchu/styles.css"() {
styles_default64 = ".moussuPicchuHUD-torchQuantity.quantity{font-size:12px;background-color:#fff;border-radius:4px}.moussuPicchuHUD .mousehuntItem-quantity.quantity{right:0;bottom:-8px;left:0;font-size:11px}.moussuPicchuHUD-itemContainer{top:150px;right:7px;left:7px;background-color:#320717;border-radius:5px;box-shadow:0 -7px #320717}a.moussuPicchuHUD-footer-item-action.mousehuntArmNowButton{top:8px;right:-1px;transform:scale(.8)}.moussuPicchuHUD-footer-item-name{width:auto;font-size:9px}.moussuPicchuHUD-footer-item.dragon_scale_crafting_item.mousehuntTooltipParent{width:20%}.moussuPicchuHUD-footer-item.gouda_cheese,.moussuPicchuHUD-footer-item.super_brie_cheese{width:26%}.moussuPicchuHUD-footer-item.glowing_gruyere_cheese{width:28%}.moussuPicchuHUD-itemBlock.mousehuntTooltipParent.dragon_bait{left:310px;display:flex;align-items:flex-end;justify-content:space-evenly;width:120px}.moussuPicchuHUD-powerType.moussuPicchuHUD-powerType{box-shadow:none}.moussuPicchuHUD-footer-item-tooltip-baitRow .mousehuntArmNowButton[data-item-type=swiss_cheese],.moussuPicchuHUD-footer-item-tooltip-baitRow .mousehuntArmNowButton[data-item-type=brie_cheese]{display:block}.moussuPicchuHUD-footer-item.dragon_scale_crafting_item .mousehuntTooltip{text-align:center}.moussuPicchuHUD-footer-item .mousehuntTooltip{bottom:130%}.moussuPicchuHUD-footer-item-image{width:30px;height:30px;background-color:transparent;background-size:cover}.moussuPicchuHUD-footer-item:nth-child(3) .mousehuntTooltip{right:-30px;left:-30px}.moussuPicchuHUD .mousehuntItem-image{width:38px;height:38px}.moussuPicchuHUD .mousehuntItem.active .mousehuntItem-image:after{box-shadow:inset 0 0 9px 2px #74e776}.moussuPicchuHUD-background{border-top-left-radius:25px;border-top-right-radius:25px;box-shadow:inset 0 5px 10px -2px #321c1e}.moussuPicchuHUD-background.wind{top:2px;left:8px}.moussuPicchuHUD-background.storm{top:3px;left:8px}.moussuPicchuHUD-powerTypeWarning.active.useless{right:200px;left:200px;padding:5px;color:#870808;background-color:#ffbfbf;border-color:#ff8a7c}.moussuPicchuHUD-powerType.wind,.moussuPicchuHUD-powerType.wind.active,.moussuPicchuHUD-powerType.rain,.moussuPicchuHUD-powerType.rain.active{filter:hue-rotate(90deg) opacity(.6);background-position:center;box-shadow:none}.moussuPicchuHUD-powerType.rain,.moussuPicchuHUD-powerType.rain.active{background-image:url(https://www.mousehuntgame.com/images/powertypes/shadow.png?asset_cache_version=2)}.moussuPicchuHUD-powerType.wind,.moussuPicchuHUD-powerType.wind.active{background-image:url(https://www.mousehuntgame.com/images/powertypes/arcane.png?asset_cache_version=2)}.moussuPicchuHUD-powerType.wind.active{filter:opacity(.8)}\n";
}
});

// src/modules/location-huds/moussu-picchu/index.js
var moussu_picchu_default2;
var init_moussu_picchu2 = __esm({
"src/modules/location-huds/moussu-picchu/index.js"() {
init_utils2();
init_styles65();
moussu_picchu_default2 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default64);
});
}
});

// src/modules/location-huds/nerg-plains/index.js
var nerg_plains_default;
var init_nerg_plains = __esm({
"src/modules/location-huds/nerg-plains/index.js"() {
init_cheese_selectors();
nerg_plains_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("nerg-plains", ["gumbo_cheese"]);
});
}
});

// src/modules/location-huds/pinnacle-chamber/index.js
var pinnacle_chamber_default;
var init_pinnacle_chamber = __esm({
"src/modules/location-huds/pinnacle-chamber/index.js"() {
init_cheese_selectors();
pinnacle_chamber_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("pinnacle-chamber", [
    "maki_cheese",
    "onyx_gorgonzola_cheese"
  ]);
});
}
});

// src/modules/location-huds/pollution-outbreak/styles.css
var styles_default65;
var init_styles66 = __esm({
"src/modules/location-huds/pollution-outbreak/styles.css"() {
styles_default65 = '.pollutionOutbreakHUD-item-image{height:29px;padding:2px 0;margin:0;background-position:top;background-size:contain;box-shadow:none}.pollutionOutbreakHUD-timer{top:2px;bottom:unset;left:17px;z-index:29;padding:2px 5px;font-size:14px;background-color:#ffffff59;border-top:1px solid #999;border-radius:5px 0 10px}.pollutionOutbreakHUD-totalPollution-direction-status{max-width:375px}.pollutionOutbreakHUD-hunters{right:144px;left:unset;font-size:12px;border-right:none;border-left:1px solid #999;border-radius:0 5px 0 10px}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/50f10ec5c7bc01cb99af2003b30d400d.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/0567284d6e12aaaed35ca5912007e070.png?cv=2)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/2e17d44079e1538b28409c05da497440.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/398dca9a8c7703de969769491622ca32.png?cv=2)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/322d0b6d9527f1f09c0e213c2fc7abbe.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/9a6acd429a9a3a4849ed13901288b0b8.png?cv=2)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/8ed26547b6ce5606faed7ce7d3494232.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/ea9c0ec2e6d3d81c14e61f5ce924d0e1.png?cv=2)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/53f8ec71d1a26beec6277152afdcc9ba.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/dd11711a25b80db90e0306193f2e8d78.png?cv=2)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/759a709a33a52b2fb70f0d6d994afc16.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/eb46ac1e8197b13299ab860f07d963db.png?cv=2)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/56ff0615bc3f03729b1d2b2bb52693c1.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/87937fa96bbb3b2dd3225df883002642.png?cv=2)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/e258cd2f5606d678cc0bba000b930500.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/043efe31de4f0f2e0ddca590fe829032.png?cv=2)!important}.pollutionOutbreakHUD-pollution-title-block.active .pollutionOutbreakHUD-pollution-title-block-icon,.pollutionOutbreakHUD-pollution-title-block .pollutionOutbreakHUD-pollution-title-block-icon,.pollutionOutbreakHUD-pollution-title-block.complete .pollutionOutbreakHUD-pollution-title-block-icon{top:-1px;left:-1px;width:10px;height:15px;background-color:#9b9d9d;border-radius:0}.pollutionOutbreakHUD-pollution-title-block-name{right:3px;left:16px;font-size:11px;line-height:19px;text-align:center}.pollutionOutbreakHUD-pollution-title-block-icon{top:-2px;left:1px;width:16px;height:15px;background-color:none;background-position:center;background-size:contain}.pollutionOutbreakHUD-layer{z-index:7}.pollutionOutbreakHUD-pollution-title-block-progressBar{background-color:#469d30f2;box-shadow:-3px 2px 1px #6a6969 inset}.pollutionOutbreakHUD-pollution-title-block.active .pollutionOutbreakHUD-pollution-title-block-progressBar:after{border:none}.pollutionOutbreakHUD-pollution-title-block.complete .pollutionOutbreakHUD-pollution-title-block-name{color:#d1d0cf}.pollutionOutbreakHUD-pollution-title-block.active .pollutionOutbreakHUD-pollution-title-block-progressBar{border-right:1px solid #a13427;border-radius:0;box-shadow:-1px 2px 1px #6a6969 inset}.pollutionOutbreakHUD-pollution-title-block.hero,.pollutionOutbreakHUD-pollution-title-block.knight,.pollutionOutbreakHUD-pollution-title-block.lord_lady,.pollutionOutbreakHUD-pollution-title-block.baron_baroness{width:60px!important}.pollutionOutbreakHUD-pollution-title-block.count_countess,.pollutionOutbreakHUD-pollution-title-block.duke_dutchess{width:75px!important}.pollutionOutbreakHUD-pollution-title-block.grand_duke{width:85px!important}.pollutionOutbreakHUD-pollution-title-block.archduke_archduchess{width:80px!important}.pollutionOutbreakHUD-refineQuantityContainer{font-weight:900}.pollutionOutbreakHUD-pollutinumContainer.active .pollutionOutbreakHUD-refineQuantityContainer,.pollutionOutbreakHUD-refineQuantityContainer{display:inline-block;width:21px;margin-right:0;line-height:17px;vertical-align:middle;background:#000;border:none;border-radius:3px;box-shadow:0 0 1px #3fa126 inset}.pollutionOutbreakHUD-scumContainer{padding-right:10px;padding-left:5px;background-color:#2a2a2a}.pollutionOutbreakHUD-scumContainer:after{display:none}.pollutionOutbreakHUD-scumContainer .quantity,.pollutionOutbreakHUD-scumContainer .maxQuantity{font-size:12px}span.pollutionOutbreakHUD-refineQuantity{font-size:12px;font-weight:900}a.pollutionOutbreakHUD-refineButton{top:0;width:52px;height:16px;margin-right:5px;background-position:0 center;background-size:100%;border:1px solid #000;border-radius:3px}a.pollutionOutbreakHUD-refineButton:hover{filter:sepia(1)}.pollutionOutbreakHUD-refineButton:after,.pollutionOutbreakHUD-refineButton.busy:before{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;font-size:12px;color:#494949;content:"Refine";background-color:#95ff7e;border-radius:2px}.pollutionOutbreakHUD-refineButton.busy:after{display:none}.pollutionOutbreakHUD-refineButton.active:after{content:"Refining";background-color:#55edff}.pollutionOutbreakHUD-refineButton.busy{background-color:#d0f4f9}.pollutionOutbreakHUD-refineButton.busy:before{content:"\\b7\\b7\\b7";background-color:#d0f4f9}.pollutionOutbreakHUD-refineButton{background:none}.pollutionOutbreakHUD-pollution-title-block .mousehuntTooltip b.pollutionOutbreakHUD-pollution-title-block-gender{display:none!important}.pollutionOutbreakHUD-pollution-title-block .mousehuntTooltip{font-size:12px;text-align:center}.pollutionOutbreakHUD-layer-fog{display:none}.pollutionOutbreakHUD-totalPollution-direction .mousehuntTooltip{bottom:24px;left:3px;display:block;width:auto;padding:2px 5px;font-size:13px;background:url(https://www.mousehuntgame.com/images/ui/backgrounds/overlay.png?asset_cache_version=2) top right;background-color:#fff;border-top:1px solid #999;border-right:1px solid #999;border-bottom:1px solid #999;border-left:none;border-radius:0 10px 0 2px;box-shadow:none}.pollutionOutbreakHUD-totalPollution-direction .mousehuntTooltip-arrow{display:none}.pollutionOutbreakHUD-totalPollution-direction .mousehuntTooltip b{font-weight:400}.pollutionOutbreakHUD-item-quantity.quantity{margin-top:-1px;font-size:10px;line-height:15px;background-color:#333;border-top:none;border-radius:0 0 3px 3px;box-shadow:none}.pollutionOutbreakHUD-itemContainer{top:3px;right:14px}.pollutionOutbreakHUD-item-padding{margin:0 2px;border:1px solid #000;border-radius:6px}.pollutionOutbreakHUD-item{margin-top:1px}.pollutionOutbreakHUD-item.active .pollutionOutbreakHUD-item-padding:after{display:none}.pollutionOutbreakHUD-item:hover .pollutionOutbreakHUD-item-image,.pollutionOutbreakHUD-item:focus .pollutionOutbreakHUD-item-image{box-shadow:inset 0 0 25px 1px #63c833}.pollutionOutbreakHUD-item.active .pollutionOutbreakHUD-item-image{box-shadow:inset 0 0 25px 1px #8dd06c}.pollutionOutbreakHUD-item.active .pollutionOutbreakHUD-item-quantity.quantity,.pollutionOutbreakHUD-item.focus .pollutionOutbreakHUD-item-quantity.quantity,.pollutionOutbreakHUD-item:hover .pollutionOutbreakHUD-item-quantity.quantity{color:#bcf1a2}.pollutionOutbreakHUD-item:hover .pollutionOutbreakHUD-item-padding:after{border:none}.pollutionOutbreakHUD-pollution-title-block.hero:after{width:44px;content:"30 hrs"}.pollutionOutbreakHUD-pollution-title-block.knight:after{width:44px;content:"16 hrs"}.pollutionOutbreakHUD-pollution-title-block.lord_lady:after{width:44px;content:"18 hrs"}.pollutionOutbreakHUD-pollution-title-block.baron_baroness:after{width:44px;content:"18 hrs"}.pollutionOutbreakHUD-pollution-title-block.count_countess:after{width:59px;content:"1 day"}.pollutionOutbreakHUD-pollution-title-block.duke_dutchess:after{width:59px;content:"1 day"}.pollutionOutbreakHUD-pollution-title-block.grand_duke:after{right:1px;width:69px;content:"1 day"}.pollutionOutbreakHUD-pollution-title-block.archduke_archduchess:after{right:0;width:65px;content:"1 day"}.pollutionOutbreakHUD-pollution-title-block:hover:after{display:flex}.pollutionOutbreakHUD-pollution-title-block.mousehuntTooltipParent:hover .mousehuntTooltip{display:none}.pollutionOutbreakHUD-pollution-title-block:after{position:absolute;top:-22px;right:1px;z-index:10;display:none;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;color:#ccc;text-align:center;text-shadow:1px 1px 1px #000;vertical-align:middle;content:"";background:linear-gradient(180deg,#1d1d1d,#242424);border-radius:10px 10px 0 0;box-shadow:0 1px #9b9d9d,0 2px #6a6969,0 0 0 2px #9b9d9d,0 1px 1px #6a6969 inset}.complete .pollutionOutbreakHUD-pollution-title-block-progressBar{box-shadow:none}.pollutionOutbreakHUD-pollution-title-block.complete:after,.pollutionOutbreakHUD-pollution-title-block.active:after{box-shadow:0 1px #9b9d9d,0 2px #6a6969,0 0 0 2px #9b9d9d,0 1px 1px #6a6969 inset}.pollutionOutbreakHUD-pollution-title-block.complete:after{background:#449830}.pollutionOutbreakHUD-pollution-title-block.active:after{background:#822515}\n';
}
});

// src/modules/location-huds/pollution-outbreak/index.js
var pollution_outbreak_default2;
var init_pollution_outbreak2 = __esm({
"src/modules/location-huds/pollution-outbreak/index.js"() {
init_utils2();
init_styles66();
pollution_outbreak_default2 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default65);
});
}
});

// src/modules/location-huds/prologue-pond/styles.css
var styles_default66;
var init_styles67 = __esm({
"src/modules/location-huds/prologue-pond/styles.css"() {
styles_default66 = '.prologuePondView-chum-image{width:35px;height:35px;margin-top:-2px;filter:drop-shadow(0 0 2px #f378ff)}.prologuePondView-chum-quantity.quantity{padding:2px;font-size:14px}.prologuePondView-fishingBoat{top:30px;transition:.4s;transform:scale(1.2)}.prologuePondView-fishingBoat:hover{filter:brightness(1.2)}.prologuePondView-background-layer.water{top:19px;filter:brightness(.7);opacity:.6}.prologuePondView-background-layer.shore{top:25px;opacity:.7}.prologuePondView-currentLoot-value{font-size:12px;border-radius:4px;box-shadow:0 0 20px #000 inset}.prologuePondView-currentLoot-label{margin-bottom:3px}.prologuePondView-currentLoot{border:none}.prologuePondView-fishingBoat.forward .prologuePondView-fishingBoat-paperDoll{transform-origin:50% 40%;animation-duration:1.3s;animation-timing-function:ease-in-out}.disarmed .prologuePondView-fishingBoat-paperDoll{background-image:url(https://i.mouse.rip/mh-improved/boat-no-rod.png)}.prologuePondView-fishingBoat-paperDoll-layer.fish_net.active,.prologuePondView-fishingBoat-paperDoll-layer.fishing_rod.active{opacity:1;transition:.4s}.disarmed .prologuePondView-fishingBoat-paperDoll-layer.fish_net.active,.disarmed .prologuePondView-fishingBoat-paperDoll-layer.fishing_rod.active,.disarmed .prologuePondView-fishingBoat-paperDoll-layer.steam_reel.active,.disarmed .prologuePondView-fishingBoat-paperDoll-layer.fishing_line.active{opacity:0}.prologuePondView-chumDoober[style="top: 62px;"]{left:-96px}@keyframes mh-improved-boat-floating{0%{transform:translate(0)}50%{transform:translateY(3px)}to{transform:translateY(-0)}}@keyframes mh-improved-chum-floating{0%{transform:translate(0)}50%{transform:translateY(-5px)}to{transform:translateY(-0)}}.prologuePondView-chumDoober{filter:drop-shadow(-1px -1px 3px #526ba1) drop-shadow(-1px -1px 3px #526ba1) hue-rotate(94deg);animation-name:mh-improved-chum-floating;animation-duration:3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.prologuePondView-fishingBoat-paperDoll{animation-name:mh-improved-boat-floating;animation-duration:6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media screen and (prefers-reduced-motion: reduce){.prologuePondView-fishingBoat-paperDoll,.prologuePondView-chumDoober{animation:none}}.prologuePondView-chumDooberContainer .prologuePondView-chumDoober:nth-child(1){animation-delay:9s}.prologuePondView-chumDooberContainer .prologuePondView-chumDoober:nth-child(2){animation-delay:6s}.prologuePondView-chumDooberContainer .prologuePondView-chumDoober:nth-child(3){animation-delay:2s}.prologuePondView-chumDooberContainer .prologuePondView-chumDoober:nth-child(4){animation-delay:4s}.folkloreForestRegionView.stormy_water .prologuePondView-fishingBoat{left:220px}.folkloreForestRegionView.stormy_water .prologuePondView-background-layer.sky:after{top:30px;transform:scaleY(1.2);transform-origin:bottom}.prologuePondView-chumButton.active:after{background-image:url(https://i.mouse.rip/mh-improved/chum-lightning.png)}\n';
}
});

// src/modules/location-huds/prologue-pond/index.js
var addDisarmedClass, updatePondLootQuantity, prologue_pond_default;
var init_prologue_pond = __esm({
"src/modules/location-huds/prologue-pond/index.js"() {
init_utils2();
init_folklore_forest2();
init_styles50();
init_styles67();
addDisarmedClass = () => {
  const hud9 = document.querySelector("#hudLocationContent");
  if (!hud9) {
    return;
  }
  if (user.bait_disarmed) {
    hud9.classList.add("disarmed");
  } else {
    hud9.classList.remove("disarmed");
  }
};
updatePondLootQuantity = () => {
  var _a, _b, _c, _d, _e, _f;
  const lootMin = ((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestProloguePond) == null ? void 0 : _b.current_loot_range) == null ? void 0 : _c.min) || 0;
  const lootMax = ((_f = (_e = (_d = user == null ? void 0 : user.quests) == null ? void 0 : _d.QuestProloguePond) == null ? void 0 : _e.current_loot_range) == null ? void 0 : _f.max) || 0;
  const lootMaxEl = document.querySelector(".prologuePondView-currentLoot-value-max");
  if (!lootMaxEl) {
    return;
  }
  if (lootMin === lootMax) {
    lootMaxEl.classList.add("hidden");
  } else {
    lootMaxEl.classList.remove("hidden");
  }
};
prologue_pond_default = () => __async(void 0, null, function* () {
  addHudStyles([styles_default49, styles_default66]);
  folklore_forest_default2();
  addDisarmedClass();
  onRequest("users/changetrap.php", addDisarmedClass);
  updatePondLootQuantity();
  onRequest("environment/prologue_pond.php", updatePondLootQuantity);
});
}
});

// src/modules/location-huds/rift-bristle-woods/styles.css
var styles_default67;
var init_styles68 = __esm({
"src/modules/location-huds/rift-bristle-woods/styles.css"() {
styles_default67 = '.riftBristleWoodsHUD-footer-item-quantity.quantity{top:30px;padding:2px 4px;font-size:12px}.riftBristleWoodsHUD-footer-item-tooltip-baitRow-image .riftBristleWoodsHUD-footer-item-quantity{top:15px;right:-3px;padding:0 3px;font-size:9px}.riftBristleWoodsHUD-footer-itemGroup.wide .riftBristleWoodsHUD-footer-item-image:first-child .riftBristleWoodsHUD-footer-item-quantity{top:27px}.riftBristleWoodsHUD-chamberProgressQuantity{top:71px;left:7px;z-index:1;width:50px;padding:0 6px;text-shadow:none;background-color:#fefae9;border-bottom-right-radius:10px;border-bottom-left-radius:10px;box-shadow:inset 1px -1px 3px 1px #d1caaa}.riftBristleWoodsHUD-portalEquipment.lootBooster .riftBristleWoodsHUD-footer-item-quantity{top:22px;right:unset;left:5px}.riftBristleWoodsHUD-footer-item-image.active.highlight{border-color:#03ff95;box-shadow:0 0 10px #00ec00 inset}.riftBristleWoodsHUD-chamberProgressBar span{filter:hue-rotate(53deg);box-shadow:-2px 1px 4px 1px #6e496d inset}.riftBristleWoodsHUD-portal.closed.disabled{filter:grayscale(1);opacity:.5}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ac.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ng.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ex.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.fr.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.st.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.un.active:after{position:absolute;top:38px;width:53px;padding:3px;margin-left:-17px;text-align:center;background-color:#338053;border:2px solid #00ff95;border-radius:7px 7px 10px 10px}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.fr.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.st.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.un.active:after{margin-left:-45px;background-color:#623b2c;border:2px solid #d52a0b}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ac.active:after{content:"Influence"}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ng.active:after{text-decoration:line-through;content:"Paladins"}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ex.active:after{content:"4 portals"}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.un.active:after{content:"No Luck"}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.fr.active:after{content:"Frozen"}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.st.active:after{content:"Pursued"}.riftBristleWoodsHUD-acolyteChamber-sandDetails,.riftBristleWoodsHUD-acolyteChamber-acolyteChargeDetails{top:66px;left:404px;display:flex;flex-direction:column;align-items:center;padding:2px;font-size:13px;background-color:#3e1d11;border-width:2px}.riftBristleWoodsHUD-acolyteChamber-sandDetails{left:188px}.riftBristleWoodsHUD-acolyteChamber-obeliskPercent{margin-left:-2px;font-size:14px;font-weight:400;background-color:#6e460b}.riftBristleWoodsHUD-footer-item-tooltip-baitRow .mousehuntArmNowButton{display:block}.riftBristleWoodsHUD-chamberSpecificText.acolyte_chamber{color:#e8dbb8}a.riftBristleWoodsHUD-acolyteChamber-retreat.mousehuntActionButton.tiny.cancel{margin-top:6px;margin-left:51px;font-size:9px;box-shadow:none;opacity:.8}a.riftBristleWoodsHUD-acolyteChamber-retreat.mousehuntActionButton.tiny.cancel:hover{opacity:1}.riftBristleWoodsHUD-acolyteStats.bronze:after{position:absolute;top:1px;right:40px;width:20px;height:17px;padding:0 5px;content:"";background-color:#4b3d30;background-image:url(https://www.mousehuntgame.com//images/ui/crowns/crown_bronze.png?asset_cache_version=2);background-position:center;background-size:cover;border-radius:8px 8px 0 0;box-shadow:0 -1px 0 1px #5b5041}.riftBristleWoodsHUD-acolyteStats{top:-1px;right:0;box-sizing:border-box;padding:0 5px;background-color:#4b3d30;background-blend-mode:multiply;border:1px solid #5b5041;border-bottom:none;border-radius:8px 8px 0 0}.riftBristleWoodsHUD-acolyteStats:before{position:absolute;right:0;bottom:0;left:-1px;height:2px;content:"";background-color:#4b3d30}.mousehuntTooltip .riftBristleWoodsHUD-footer-item-quantity.quantity{top:4px;left:31px;width:33px;border:1px solid #a6a6a6;box-shadow:none}.mousehuntTooltip .riftBristleWoodsHUD-footer-item-tooltip-baitRow-name{margin-left:50px}.mousehuntTooltip .riftBristleWoodsHUD-footer-item-tooltip-baitRow .mousehuntArmNowButton{right:-3px}.riftBristleWoodsHUD-footer-item-image{background-color:#e0cdbd}.riftBristleWoodsHUD-portalEquipment.disabled .riftBristleWoodsHUD-footer-item-quantity{top:27px;padding:0 3px;font-size:9px;opacity:.9}.riftBristleWoodsHUD-portalContainer{margin-top:-1px;border-top:2px solid #5b4d3f;border-top-left-radius:3px;box-shadow:-4px 2px 0 -2px #2e2014,-1px -1px 0 1px #514236}.riftBristleWoodsHUD-chamberDetails{background-color:#312822}.riftBristleWoodsHUD-chamberSpecificText.icebreak_chamber,.riftBristleWoodsHUD-chamberSpecificText.silence_chamber,.riftBristleWoodsHUD-chamberSpecificText.stalker_chamber,.riftBristleWoodsHUD-chamberSpecificText.treasury_chamber,.riftBristleWoodsHUD-chamberSpecificText.lucky_chamber{line-height:2}.riftBristleWoodsHUD-chamberSpecificText.potion_chamber{line-height:1.5}.riftBristleWoodsHUD-chamberDetails-image-padding{margin-right:4px;margin-left:-2px;background-color:#817871;border-color:#d1caaa;border-radius:10px}.riftBristleWoodsHUD-chamberDetails-imageContainer.floatl{margin:0}.riftBristleWoodsHUD-chamberDetails-imageContainer{display:flex;align-items:center;justify-content:space-evenly}.riftBristleWoodsHUD-chamberDetails-image:nth-last-child(3),.riftBristleWoodsHUD-chamberDetails-image:nth-last-child(3)~.riftBristleWoodsHUD-chamberDetails-image{width:auto}\n';
}
});

// src/modules/location-huds/rift-bristle-woods/index.js
var maybeAddUserscriptStyles, rift_bristle_woods_default2;
var init_rift_bristle_woods2 = __esm({
"src/modules/location-huds/rift-bristle-woods/index.js"() {
init_utils2();
init_styles68();
maybeAddUserscriptStyles = () => {
  const check = document.querySelector(".riftBristleWoodsHUD .item_container .item-Btn");
  if (!check) {
    return;
  }
  const userscriptStyles = [
    ".riftBristleWoodsHUD .item_container, .riftBristleWoodsHUD .charm_container { margin-top: 15px; }",
    ".riftBristleWoodsHUD { margin-bottom: 30px; }"
  ].join("\n");
  addStyles(userscriptStyles, "riftBristleWoodsHUD", "mh-improved-rift-bristle-woods-userscript-styles");
};
rift_bristle_woods_default2 = () => {
  addHudStyles(styles_default67);
  setTimeout(() => {
    maybeAddUserscriptStyles();
  }, 1e3);
};
}
});

// src/modules/location-huds/rift-burroughs/styles.css
var styles_default68;
var init_styles69 = __esm({
"src/modules/location-huds/rift-burroughs/styles.css"() {
styles_default68 = '.riftBurroughsHud .baitContainer .baitOption .baitQuantity{width:31px;font-size:13px;background-color:#464646;border-radius:7px}.brift-ui .mist-display{position:absolute;top:15px;bottom:10px;left:260px;display:flex;align-items:center;padding:10px;font-size:13px;font-weight:900;cursor:pointer;background-color:#ecf4f5;border-radius:10px;box-shadow:inset 0 0 0 3px #cbdde0,inset 0 0 4px 4px #8d9392,0 2px 6px #5b5d5d}.brift-ui{z-index:1}.riftBurroughsHud .mistContainer{width:100px}.brift-ui .mist-display.state-yellow{background:radial-gradient(circle,#fff4a9 10%,#f4e830 50%)}.brift-ui .mist-display.state-green{background:radial-gradient(circle,#abe846 10%,#82d953 50%)}.brift-ui .mist-display.state-red{background:radial-gradient(circle,#ff9a9a 10%,#ff5e5e 50%)}.brift-ui .mouse-list{position:absolute;top:9px;right:20px;bottom:2px;display:flex}.brift-ui .mouse-type{display:flex;flex-direction:column;max-width:100px;padding:4px;margin:0 5px;background-color:#bfced0cf;border-radius:10px;box-shadow:inset 0 0 0 3px #cbdde0,inset 0 0 4px 4px #8d9392,0 2px 6px #5b5d5d}.brift-ui .mouse-type-title{min-width:95px;padding:3px 0;margin:-1px;font-size:12px;color:#d0f0f3;text-align:center;cursor:pointer;background-color:#828282;border-top-left-radius:7px;border-top-right-radius:8px}.brift-ui .mouse-type-mice{display:grid;grid-template-columns:repeat(4,1fr);justify-items:center;margin:3px 0;font-size:6px}.brift-ui .mouse-type-title:hover,.brift-ui .mouse-type-title:focus{color:#b1ed71;cursor:pointer}.brift-ui .mouse-type-mouse{display:block;width:25px;height:25px}.brift-ui img.mouse-type-mouse-image{width:25px;height:25px}.brift-ui .mouse-type-mouse:nth-child(5) .mouse-type-mouse-image{border-bottom-left-radius:4px}.brift-ui .mouse-type-mouse:nth-child(8) .mouse-type-mouse-image{border-bottom-right-radius:4px}.brift-ui .mouse-type-mouse-link{position:relative}.brift-ui .mouse-type-mouse-name{position:absolute;bottom:-30px;left:-25px;z-index:2;display:none;padding:6px;font-size:10px;color:#000;text-align:center;white-space:nowrap;background-color:#fff;border:2px solid #000;border-radius:10px}.brift-ui .mouse-type-mouse-link:hover .mouse-type-mouse-name,.brift-ui .mouse-type-mouse-link:focus .mouse-type-mouse-name{display:block}.brift-ui .mouse-type.active{box-shadow:inset 0 0 0 2px #a7fc32,inset 0 0 4px 4px #8d9392,0 2px 6px #5b5d5d}.brift-ui .mouse-type.active .mouse-type-title{color:#b1ed71}.riftBurroughsHud .baitOption .toolTip .item .itemImage .quantity{font-size:14px;background-color:#ffffffbf}.riftBurroughsHud .baitWarning{top:36px;left:275px;z-index:20;width:280px;padding:5px;font-size:12px;line-height:15px;color:#000;background-color:#ffbfbf;border:1px solid #b60000;border-radius:10px;box-shadow:0 0 10px 3px #4d4a4a}.is_misting .mist-display:after{top:9px;bottom:unset;content:"\\2191"}.mist-display:after{position:absolute;right:0;bottom:6px;left:0;font-weight:900;color:#2f3b1c;text-align:center;content:"\\2193"}.riftBurroughsHud .mistButton{filter:hue-rotate(258deg) brightness(.9)}.riftBurroughsHud.is_misting .mistButton{filter:hue-rotate(319deg) brightness(1.3)}.riftBurroughsHud .mistQuantity{font-size:12px;font-weight:900;color:#3d3d3d;text-shadow:1px 1px 2px #f4f4f4}\n';
}
});

// src/modules/location-huds/rift-burroughs/index.js
var makeMiceList, miceData, mouseList, hud7, rift_burroughs_default2;
var init_rift_burroughs2 = __esm({
"src/modules/location-huds/rift-burroughs/index.js"() {
init_utils2();
init_styles69();
makeMiceList = (type, title, mice, currentType, appendTo) => {
  const wrapper = makeElement("div", ["mouse-type", type]);
  if (currentType === type) {
    wrapper.classList.add("active");
  }
  const mtitle = makeElement("a", "mouse-type-title", title);
  mtitle.addEventListener("click", () => {
    let id = 1426;
    if ("terra" === type) {
      id = 1551;
    } else if ("polluted" === type) {
      id = 1550;
    }
    hg.utils.TrapControl.setBait(id);
    hg.utils.TrapControl.go();
  });
  wrapper.append(mtitle);
  const miceWrapper = makeElement("div", "mouse-type-mice");
  mice.forEach((mouse) => {
    const mouseWrapper = makeElement("div", "mouse-type-mouse");
    const mouseLink = makeElement("a", "mouse-type-mouse-link");
    mouseLink.addEventListener("click", (e) => {
      hg.views.MouseView.show(mouse);
      e.preventDefault();
    });
    const mouseImage = makeElement("img", "mouse-type-mouse-image");
    mouseImage.src = miceData[mouse].image;
    mouseLink.append(mouseImage);
    makeElement("div", "mouse-type-mouse-name", miceData[mouse].name, mouseLink);
    mouseWrapper.append(mouseLink);
    miceWrapper.append(mouseWrapper);
  });
  wrapper.append(miceWrapper);
  appendTo.append(wrapper);
  return wrapper;
};
miceData = {
  rift_amplified_brown: {
    name: "Amplified Brown Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/9547c50891ce66c00188a0ce278cd9e0.gif?cv=2"
  },
  rift_amplified_grey: {
    name: "Amplified Grey Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/b6a9a248439e08367139cba601583781.gif?cv=2"
  },
  rift_amplified_white: {
    name: "Amplified White Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/877fd4f1831f1ffd76e6ab9334e96efc.gif?cv=2"
  },
  rift_automated_sentry: {
    name: "Automated Sentry Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/d57b33cdbb0d14bb138fe91c166325fa.gif?cv=2"
  },
  rift_cybernetic_specialist: {
    name: "Cybernetic Specialist Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/5a0d95f2211444717f29f74959b89366.gif?cv=2"
  },
  rift_doktor: {
    name: "Doktor Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/a44277c1d72f76fb507df2a7a4938542.gif?cv=2"
  },
  rift_evil_scientist: {
    name: "Evil Scientist Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/fc4030fcea4bb7e0118aa4d46705f37e.gif?cv=2"
  },
  rift_portable_generator: {
    name: "Portable Generator Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/f0437620c8c86379e6f8fefb9e82d2c3.gif?cv=2"
  },
  rift_bio_engineer: {
    name: "Rift Bio Engineer",
    image: "https://www.mousehuntgame.com/images/mice/thumb/1d91dc3220b096af75ca0423a77ccc83.gif?cv=2"
  },
  rift_surgeon_bot: {
    name: "Surgeon Bot Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/6678f8a7003093b081c941a3d571abb8.gif?cv=2"
  },
  rift_count_vampire: {
    name: "Count Vampire Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/851f1d4c760d0f263a38d0fa28bbf2fa.gif?cv=2"
  },
  rift_phase_zombie: {
    name: "Phase Zombie",
    image: "https://www.mousehuntgame.com/images/mice/thumb/c9675fb32b01e91d43f5ebbbf3bf8f02.gif?cv=2"
  },
  rift_prototype: {
    name: "Prototype Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/8be0e48b2fa241e65312726433612871.gif?cv=2"
  },
  rift_robat: {
    name: "Robat Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/fa345c83ff784adfbe79230f279be2c6.gif?cv=2"
  },
  rift_tech_ravenous_zombie: {
    name: "Tech Ravenous Zombie",
    image: "https://www.mousehuntgame.com/images/mice/thumb/6249796e35d572687db2aa4a4e391335.gif?cv=2"
  },
  rift_clump: {
    name: "Clump Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/a901fe9feea2e04ca1da1a3769dd7f77.gif?cv=2"
  },
  rift_cyber_miner: {
    name: "Cyber Miner Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/b3768e070c9b40fdfbfef4f39025acc3.gif?cv=2"
  },
  rift_itty_bitty_burroughs: {
    name: "Itty Bitty Rifty Burroughs Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/723735735fcbc38d75c5d980b454dc4e.gif?cv=2"
  },
  rift_pneumatic_dirt_displacement: {
    name: "Pneumatic Dirt Displacement Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/70bc4cb7409df8be9e1942e27b75c05f.gif?cv=2"
  },
  rift_rifterranian: {
    name: "Rifterranian Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/7abd07fac15972db28231f80fd03c075.gif?cv=2"
  },
  rift_mecha_tail: {
    name: "Mecha Tail Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/e329e623c6ff501d03c7077b8ecfabf9.gif?cv=2"
  },
  rift_spore: {
    name: "Radioactive Ooze Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/f037c2df0d654caaadfe4c8a58a13431.gif?cv=2"
  },
  rift_toxikinetic: {
    name: "Toxikinetic Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/bae7062027162025735a5ccbcaf58e5f.gif?cv=2"
  },
  rift_lycan: {
    name: "Lycanoid",
    image: "https://www.mousehuntgame.com/images/mice/thumb/18c987fe4ec5ee678114cb748dedfb6d.gif?cv=2"
  },
  rift_revenant: {
    name: "Revenant Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/a0060e929e11030025f6609a5cb81c51.gif?cv=2"
  },
  rift_zombot_unipire: {
    name: "Zombot Unipire the Third",
    image: "https://www.mousehuntgame.com/images/mice/thumb/95be1a40ec7cf3868fb9041bf43658a8.gif?cv=2"
  },
  rift_boulder_biter: {
    name: "Boulder Biter Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/7da77ad10f719afce4f17453cb964f40.gif?cv=2"
  },
  rift_lambent: {
    name: "Lambent Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/b301f96263690c2a3dc02a4625aa1c9b.gif?cv=2"
  },
  rift_master_exploder: {
    name: "Master Exploder Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/6d04a2ec4e21296272e080df7033a29a.gif?cv=2"
  },
  rift_rancid_bog_beast: {
    name: "Rancid Bog Beast Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/5a7f8551ed42a6344e7948b18687e97d.gif?cv=2"
  },
  rift_radioactive_gold: {
    name: "Super Mega Mecha Ultra RoboGold Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/022763eaba9d7f6fdbd5cddb3813d6b8.gif?cv=2"
  },
  rift_toxic_avenger: {
    name: "Toxic Avenger Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/74891cb924851366d67a3632ed56fa6b.gif?cv=2"
  },
  rift_monstrous_abomination: {
    name: "Monstrous Abomination Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/12dc2f226fd5e26144deb154d293e6db.gif?cv=2"
  },
  rift_big_bad_burroughs: {
    name: "Big Bad Behemoth Burroughs Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/dfb15f35c1fe4bb07e2b276071a7c439.gif?cv=2"
  },
  rift_assassin_beast: {
    name: "Assassin Beast Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/ddb77d3c8cad610f4270f6d1b401602c.gif?cv=2"
  },
  rift_menace: {
    name: "Menace of the Rift Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/a286833ada1c4718096e30db734514a2.gif?cv=2"
  },
  rift_plutonium_tentacle: {
    name: "Plutonium Tentacle Mouse",
    image: "https://www.mousehuntgame.com/images/mice/thumb/97c996e63dab24de6ed6a089f318012e.gif?cv=2"
  }
};
mouseList = {
  tier_0: {
    string: [
      "rift_amplified_brown",
      "rift_amplified_grey",
      "rift_amplified_white",
      "rift_automated_sentry",
      "rift_cybernetic_specialist",
      "rift_doktor",
      "rift_evil_scientist",
      "rift_portable_generator",
      "rift_bio_engineer",
      "rift_surgeon_bot"
    ],
    terra: [],
    polluted: []
  },
  tier_1: {
    string: [
      "rift_count_vampire",
      "rift_phase_zombie",
      "rift_prototype",
      "rift_robat",
      "rift_tech_ravenous_zombie"
    ],
    terra: [
      "rift_clump",
      "rift_cyber_miner",
      "rift_itty_bitty_burroughs",
      "rift_pneumatic_dirt_displacement",
      "rift_rifterranian"
    ],
    polluted: ["rift_mecha_tail", "rift_spore", "rift_toxikinetic"]
  },
  tier_2: {
    string: [
      "rift_count_vampire",
      "rift_lycan",
      "rift_phase_zombie",
      "rift_prototype",
      "rift_revenant",
      "rift_robat",
      "rift_tech_ravenous_zombie",
      "rift_zombot_unipire"
    ],
    terra: [
      "rift_boulder_biter",
      "rift_clump",
      "rift_cyber_miner",
      "rift_itty_bitty_burroughs",
      "rift_lambent",
      "rift_master_exploder",
      "rift_pneumatic_dirt_displacement",
      "rift_rifterranian"
    ],
    polluted: [
      "rift_mecha_tail",
      "rift_spore",
      "rift_rancid_bog_beast",
      "rift_radioactive_gold",
      "rift_toxic_avenger",
      "rift_toxikinetic"
    ]
  },
  tier_3: {
    string: ["rift_monstrous_abomination"],
    terra: ["rift_big_bad_burroughs"],
    polluted: [
      "rift_assassin_beast",
      "rift_menace",
      "rift_plutonium_tentacle",
      "rift_rancid_bog_beast",
      "rift_radioactive_gold",
      "rift_toxic_avenger"
    ]
  }
};
hud7 = () => {
  var _a;
  if (!((_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRiftBurroughs)) {
    return;
  }
  const quest = user.quests.QuestRiftBurroughs;
  const armedBait = (quest == null ? void 0 : quest.armed_bait) || "disarmed";
  const mistLevel = (quest == null ? void 0 : quest.mist_released) || 0;
  const mistTier = (quest == null ? void 0 : quest.mist_tier) || "tier_0";
  const hudEl = document.querySelector("#hudLocationContent .riftBurroughsHud");
  if (!hudEl) {
    return;
  }
  let color = "yellow";
  if (mistLevel >= 6) {
    color = "green";
  }
  if (mistLevel >= 19) {
    color = "red";
  }
  const existing = document.querySelector(".brift-ui");
  if (existing) {
    existing.remove();
  }
  const wrapper = makeElement("div", ["brift-ui"]);
  const mist = makeElement("div", ["mist-display", `state-${color}`], `${mistLevel} / 20 `);
  mist.addEventListener("click", (e) => {
    hg.views.HeadsUpDisplayRiftBurroughsView.toggleMist(e.target);
  });
  wrapper.append(mist);
  const availableMice = mouseList[mistTier];
  const mouseWrapper = makeElement("div", "mouse-list");
  let currentType = null;
  switch (armedBait) {
    case "brie_string_cheese":
    case "marble_string_cheese":
    case "magical_string_cheese":
      currentType = "string";
      break;
    case "polluted_parmesan_cheese":
      currentType = "polluted";
      break;
    case "terre_ricotta_cheese":
      currentType = "terra";
      break;
  }
  makeMiceList("string", "Magical String", availableMice.string, currentType, mouseWrapper);
  makeMiceList("terra", "Terra Ricotta", availableMice.terra, currentType, mouseWrapper);
  makeMiceList("polluted", "Polluted Parm.", availableMice.polluted, currentType, mouseWrapper);
  wrapper.append(mouseWrapper);
  hudEl.append(wrapper);
};
rift_burroughs_default2 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default68);
  hud7();
  onRequest("*", hud7);
});
}
});

// src/modules/location-huds/rift-furoma/styles.css
var styles_default69;
var init_styles70 = __esm({
"src/modules/location-huds/rift-furoma/styles.css"() {
styles_default69 = ".riftFuromaHUD-battery-energyRemaining{right:0;left:-1px;width:auto;font-size:13px;font-style:normal;color:#fff;text-shadow:1px 1px 1px #000,1px 1px 2px #000;background-color:#7a8b8a;border:1px solid #535757;border-radius:1px}.riftFuromaHUD-itemGroup-activeItem .quantity{padding:1px 2px;font-size:12px;font-weight:400;background-color:#dadada}.riftFuromaHUD-battery-energyTotal{font-size:10px;color:#e0e0e0}.riftFuromaHUD-droid-details .riftFuromaHUD-chargeLevel-stat-value{text-shadow:1px 1px 1px #000,0 0 2px #000}.riftFuromaHUD-droid-image{transition:all .5s}.riftFuromaHUD-droid-image:hover{filter:brightness(1.3)}.riftFuromaHUD-battery-image:hover,.riftFuromaHUD-itemGroup.can_craft .riftFuromaHUD-itemGroup-craftButton:hover{filter:brightness(1.2)}.riftFuromaHUD.pagoda .riftFuromaHUD-chargeLevel-statContainer{display:grid;grid-template-columns:1fr 1fr;justify-items:stretch}.riftFuromaHUD-chargeLevel-stat.power{width:unset}.riftFuromaHUD-chargeLevel-stat.luck,.riftFuromaHUD-chargeLevel-stat.power{display:flex;flex-direction:column;align-items:center;width:unset}.riftFuromaHUD-chargeLevel-stat.power_usage{grid-column:span 2;width:unset}.riftFuromaHUD-chargeLevel-statContainer .riftFuromaHUD-chargeLevel-stat-value{padding-top:3px;font-size:17px}.riftFuromaHUD-chargeLevel-stat.power_usage .riftFuromaHUD-chargeLevel-stat-value{padding-top:0;margin-top:-2px;font-size:13px}.riftFuromaHUD-chargeLevel-stat.luck .riftFuromaHUD-chargeLevel-stat-label,.riftFuromaHUD-chargeLevel-stat.power .riftFuromaHUD-chargeLevel-stat-label{font-size:10px;font-weight:900}span.riftFuromaHUD-craftingPopup-recipe-part-quantity,.riftFuromaHUD-craftingPopup-recipe-part-padding span.quantity{font-size:12px}\n";
}
});

// src/modules/location-huds/rift-furoma/index.js
var rift_furoma_default2;
var init_rift_furoma2 = __esm({
"src/modules/location-huds/rift-furoma/index.js"() {
init_utils2();
init_styles70();
rift_furoma_default2 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default69);
});
}
});

// src/modules/location-huds/rift-gnawnia/styles.css
var styles_default70;
var init_styles71 = __esm({
"src/modules/location-huds/rift-gnawnia/styles.css"() {
styles_default70 = ".riftGnawniaHud:hover .riftGnawniaHud-targetsBackground,.riftGnawniaHud:focus .riftGnawniaHud-targetsBackground,.riftGnawniaHud:active .riftGnawniaHud-targetsBackground{filter:hue-rotate(-40deg)}.riftGnawniaHud-targetsBackground{transition:.5s}.riftGnawniaHud-targets .mousehuntTooltip{inset:0 34px 0 -5px;display:flex;align-items:center;width:auto;font-size:11px;text-align:center;background-color:#d6e8e4;border:1px solid #29c7cb;opacity:.9}.riftGnawniaHud-targets.mousehuntTooltipParent:hover .mousehuntTooltip{display:flex}.riftGnawniaHud-targets{right:-10px}.riftGnawniaHud-targets .mousehuntTooltip .mousehuntTooltip-arrow{display:none}.riftGnawniaHud .riftGnawniaHud-stringBait>.itemImage,.riftGnawniaHud .riftGnawniaHud-potion>.itemImage,.riftGnawniaHud .riftGnawniaHud-craftingBait>.itemImage{background-color:#a39d99}.riftGnawniaHud .mousehuntTooltip.top{width:280px;min-height:40px}.riftGnawniaHud .riftGnawniaHud-tooltip-content{margin-right:0}.riftGnawniaHud .riftGnawniaHud-stringBait.mousehuntTooltipParent:hover .mousehuntTooltip,.riftGnawniaHud .riftGnawniaHud-potion.mousehuntTooltipParent:hover .mousehuntTooltip,.riftGnawniaHud .riftGnawniaHud-craftingBait.mousehuntTooltipParent:hover .mousehuntTooltip{display:grid;grid-template-columns:1fr 1fr;place-items:center stretch}.riftGnawniaHud .mousehuntTooltipParent:hover .mousehuntTooltip .riftGnawniaHud-tooltip-result{position:relative;bottom:0;display:flex;align-items:center;justify-content:center;width:100%}.riftGnawniaHud-tooltip-quantity{box-sizing:border-box;width:50px;padding:2px}.riftGnawniaHud-label{text-shadow:1px 1px #333,0 0 1px #333,-1px 0 1px #333}\n";
}
});

// src/modules/location-huds/rift-gnawnia/index.js
var rift_gnawnia_default;
var init_rift_gnawnia = __esm({
"src/modules/location-huds/rift-gnawnia/index.js"() {
init_utils2();
init_styles71();
rift_gnawnia_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default70);
});
}
});

// src/modules/location-huds/rift-valour/styles.css
var styles_default71;
var init_styles72 = __esm({
"src/modules/location-huds/rift-valour/styles.css"() {
styles_default71 = '#overlayPopup.mh-vrift-popup .jsDialogContainer{background:linear-gradient(#20216f,#703271,#20216f);outline:1px solid #20216f}#overlayPopup.mh-vrift-popup .title{padding:10px;font-size:18px;color:#fff}.mh-vrift-sim-results{display:grid;grid-template-columns:70% 30%;margin:0 1em;color:#fff}.mh-vrift-sim-results .stats{display:grid;grid-template-columns:repeat(2,1fr);grid-row-gap:1rem;margin-bottom:2em}.mh-vrift-sim-results .result{display:flex;place-content:center space-between}.mh-vrift-sim-results .label{width:100%;padding-left:10px;font-size:13px;line-height:30px;color:#eaeaea;vertical-align:middle;background-color:#c3c3c31a;border-radius:5px}.mh-vrift-sim-results .value{position:relative;left:-25px;width:35px;font-size:14px;line-height:30px;color:#eaeaea;text-align:center;background:linear-gradient(#07041d,#4d3bac);border:1px solid #6d86de;border-radius:5px}.mh-vrift-sim-results .eclipses{padding:10px;margin-bottom:2em;font-size:13px;background-color:#c3c3c31a;border-radius:5px}.mh-vrift-sim-results .eclipses h3{padding-bottom:11px;font-size:16px;color:#fff}.mh-vrift-sim-results .eclipses .header{padding-bottom:3px;margin-bottom:10px;font-size:12px;line-height:unset;color:#afafafd9;border-bottom:1px solid rgb(175 175 175 / 85%)}.mh-vrift-sim-results .eclipses li{display:flex;justify-content:space-between;line-height:24px;text-align:right}.mh-vrift-sim-results .eclipses .guaranteed{color:#80e472}.mh-vrift-sim-results .number{text-align:left}.valourRiftHUD-dialog-inventory-item-quantity.quantity{min-width:30px;font-size:12px;font-weight:900;line-height:20px;text-align:center;text-shadow:none;background-color:#282659;box-shadow:none}.valourRiftHUD-dialog-inventory-item-name{text-align:center}.valourRiftHUD-towerUpgradeLevel-costTotal{font-size:14px}span.valourRiftHUD-towerUpgrade-currentValue{font-size:13px;font-weight:900;line-height:20px;color:#fff;background-color:#282659}.valourRiftHUD-towerUpgrade-currentValueContainer{display:block;line-height:20px;vertical-align:middle}.valourRiftHUD-towerUpgrade-header-title{padding:10px;font-size:15px}.valourRiftHUD-towerUpgrade-header{display:grid;grid-template-columns:150px 1fr;place-items:center stretch}.valourRiftHUD-towerUpgrade-content{padding:10px}.valourRiftHUD-powerUp.canUpgrade:after{top:6px;left:13px;filter:drop-shadow(1px 4px 6px #40f5ff) hue-rotate(73deg);box-shadow:0 0 6px 3px #2d9ba2}.valourRiftHUD-powerUp-level span{margin-left:-1px;border-radius:0}.valourRiftHUD-powerUp-level:first-child span{border-top-left-radius:5px;border-bottom-left-radius:5px}.valourRiftHUD-powerUp-level:last-child span{border-top-right-radius:5px;border-bottom-right-radius:5px}.valourRiftHUD-powerUp-currentLevel{top:9px;right:8px;width:23px;padding:2px;font-size:15px;line-height:27px;color:#fff;background:radial-gradient(circle,#4d3bac,#1a115b);border:none;border-radius:10px 15px 15px 10px;box-shadow:inset 0 0 2px 1px #171717}.valourRiftHUD-powerUp.hunt_limit .valourRiftHUD-powerUp-currentLevel{font-size:11px}.valourRiftHUD-gauntletBait-quantity.quantity{top:45px;font-size:13px;font-weight:900}.valourRiftHUD-towerLoot-quantity.quantity{font-size:12px;font-weight:900}.valourRiftHUD-bait-quantity.quantity{width:60px;font-size:13px;line-height:18px}.valourRiftHUD-crafting-quantity.quantity{width:42px;font-size:12px}.valourRiftHUD-fuelContainer-quantity.quantity{z-index:1;padding:1px 2px;margin-top:-7px;margin-right:-3px;font-size:14px;background-color:#281c55;border:1px solid #7db4dc;box-shadow:0 0 0 1px #7eaacd}.valourRiftHUD-fuelContainer-buyButton{top:-4px;left:98px}.valourRiftHUD-previewTower{top:45px;left:580px;filter:grayscale(1);opacity:.6}.valourRiftHUD-previewTower.mh-vrift-sim-link{top:43px;left:550px;width:21px;height:21px;color:transparent;background-image:url(https://i.mouse.rip/mh-improved/sim.png);filter:grayscale(1);opacity:.4}.valourRiftHUD-previewTower.mh-vrift-sim-link:hover{opacity:.8}span.valourRiftHUD-huntsRemaining-value{margin-right:5px;font-size:15px;font-weight:900;line-height:14px}span.valourRiftHUD-stepsTaken-value{font-size:13px;font-weight:900;color:#2d2964}#mh-vrift-floor-name{position:absolute;top:2px;right:25px;left:25px;z-index:1;height:20px;font-family:Rockwell,Rockwell Nova,Roboto Slab,"DejaVu Serif",Sitka Small,serif;font-size:21px;font-variant:petite-caps;color:#ebfffd;text-shadow:0 0 1px #62fff3;background-color:#231857;opacity:0;transition:opacity .2s ease-in-out;-webkit-text-stroke:1px #4fc5bc}.valourRiftHUD-currentFloor:hover #mh-vrift-floor-name,.valourRiftHUD-state.tower:hover #mh-vrift-floor-name,.valourRiftHUD-currentFloor:focus #mh-vrift-floor-name,.valourRiftHUD-state.tower:focus #mh-vrift-floor-name{opacity:1}.bottom.mh-vrift-floor-tooltip{right:-60px;bottom:-40px;left:-70px;font-size:11px}.bottom.mh-vrift-floor-tooltip .mousehuntTooltip-arrow{display:none}.valourRiftHUD-stepsTaken .mousehuntTooltip{top:-5px;left:107%;width:auto;min-width:170px}.valourRiftHUD-huntsRemaining .mousehuntTooltip{top:5px;left:105%;width:auto;min-width:335px}.valourRiftPopupClaim-lootLog-name{font-size:12px}.valourRiftPopup-towerStat .valourRiftPopup-label{font-size:14px}.valourRiftPopupClaim-stats-content{display:grid;grid-template-columns:repeat(3,1fr);place-items:center center;padding:5px 0 5px 15px;margin:20px;text-align:unset}.valourRiftPopup-towerStat .valourRiftPopup-value{font-size:25px;line-height:30px}.valourRiftPopup-towerStat{display:flex;flex-flow:column;align-items:center;justify-content:center;width:auto;text-align:center}.valourRiftPopup-towerStat.wide{width:unset}.valourRiftPopup-towerStat:last-child{margin-right:-110px}.valourRiftPopupClaim-cacheLoot-image,.valourRiftPopupClaim-lootLog .itemImage{box-shadow:none}.valourRiftPopupClaim-footer{margin-top:-40px}.valourRiftPopupClaim-chest-floor{filter:drop-shadow(0 0 5px #fee198)}.valourRiftPopupClaim-cacheLoot.robbery_slot_a .valourRiftPopupClaim-cacheLoot-image{filter:drop-shadow(0 5px 10px #fe8f21);box-shadow:none}.valourRiftPopupClaim-cacheLoot.research_slot_b .valourRiftPopupClaim-cacheLoot-image{filter:drop-shadow(0 5px 10px #28a938);box-shadow:none}.valourRiftPopupClaim-cacheLoot .mousehuntTooltip .mousehuntTooltip-arrow,.valourRiftPopupClaim-cacheLoot.robbery_slot_a .mousehuntTooltip:after,.valourRiftPopupClaim-cacheLoot.research_slot_b .mousehuntTooltip:after{display:none}.valourRiftPopupClaim-cacheLoot.robbery_slot_a .valourRiftPopupClaim-cacheLoot-image:before,.valourRiftPopupClaim-cacheLoot.research_slot_b .valourRiftPopupClaim-cacheLoot-image:before{top:unset;right:-2px;bottom:0;width:30px;height:30px;content:""}.valourRiftPopupClaim-lootLogTitle{color:#462605}.valourRiftPopupClaim-newFloorRecord{grid-column:span 3}.valourRiftPopupIllustrated-inventoryCostContainer{right:0;left:80px;width:352px;font-size:12px;font-weight:400;line-height:14px;text-align:center}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-highestFloor{font-size:12px;font-weight:900;color:#f2bc7d}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-highestFloorReachedContainer{top:72px;right:69px;display:flex;padding:3px 6px;background-color:#3f354d;border:1px solid #2f283a;border-radius:4px}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-augmentation-description{display:flex;font-size:12px;font-style:normal;line-height:13px}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-augmentation-cost-quantity{margin-top:3px;margin-left:-14px;font-size:14px;box-shadow:1px -4px 2px #310f3c inset,0 0 3px 3px #b06fd3 inset}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-augmentation-cost-image{background-color:#c7c8c6;background-position:-1px -1px}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-augmentation-cost.error .valourRiftHUD-augmentation-cost-quantity{color:#ccc;background-color:#744444}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-augmentation-cost.error .valourRiftHUD-augmentation-cost-image{filter:grayscale(1);box-shadow:0 0 2px 2px #744444}.valourRiftPopupIllustrated.enterTower a[data-type=tu] .valourRiftHUD-augmentation-description{font-size:10px;line-height:10px}.valourRiftPopupIllustrated.enterTower a.valourRiftHUD-augmentation.locked{filter:grayscale(.8) opacity(.6)}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-dialog-inventory-item-name{padding-right:6px;font-size:12px;line-height:12px}.valourRiftHUD-tower .valourRiftHUD-tower-sprite-name,.valourRiftHUD-tower .valourRiftHUD-tower-sprite.step,.valourRiftHUD-tower .valourRiftHUD-tower-sprite.player,.valourRiftHUD-tower .valourRiftHUD-tower-sprite.floor .valourRiftHUD-tower-sprite-image:before{opacity:1;transition:opacity .4s ease-in-out}.valourRiftHUD-tower:hover .valourRiftHUD-tower-sprite.step,.valourRiftHUD-tower:hover .valourRiftHUD-tower-sprite.player,.valourRiftHUD-tower:hover .valourRiftHUD-tower-sprite.floor .valourRiftHUD-tower-sprite-image:before{opacity:.4}.valourRiftHUD-tower:hover .valourRiftHUD-tower-sprite.player:hover{opacity:1}.valourRiftHUD-tower-sprite.floor .valourRiftHUD-tower-sprite-name{font-size:11px;mix-blend-mode:hard-light}.valourRiftHUD.tower .valourRiftHUD-huntsRemaining .valourRiftHUD-state.tower,.valourRiftHUD.tower .valourRiftHUD-stepsTaken .valourRiftHUD-state.tower{display:flex;gap:5px;align-items:center;justify-content:flex-end}.valourRiftHUD.tower .valourRiftHUD-state.tower{font-size:10px}.valourRiftHUD-powerUp .valourRiftHUD-powerUpIcon{top:2px;left:2px;width:44px;height:45px}.valourRiftHUD-powerUp-title{margin-top:-3px;margin-left:2px;font-size:13px}a.valourRiftHUD-gauntletBait-image{background-color:#694481;outline:1px solid #564065}a.valourRiftHUD-bait-image{background-color:#6d90de;outline:2px solid #4f71bc;box-shadow:0 0 0 2px #5071bc}.valourRiftHUD-towerLoot-thumb:hover{transform:scale(2.2)}.valourRiftHUD-towerLoot-thumb{background-size:80%;transition:.2s;transform:scale(1.7)}a.valourRiftHUD-gauntletBait-image.active{filter:drop-shadow(0 5px 5px #68b868)}.floor_8 .valourRiftHUD-currentFloor{filter:hue-rotate(125deg);mix-blend-mode:color-dodge}.floor_8 .valourRiftHUD-floorProgress-barContainer{filter:hue-rotate(110deg)}.eclipse.floor_8 .valourRiftHUD-floorProgress-barContainer{filter:brightness(1.2);animation:fortRoxlairPulse 2s 3}.valourRiftHUD-tower-sprite.floor_8 .valourRiftHUD-tower-sprite-image{filter:saturate(1.2);box-shadow:inset 0 10px 25px 5px #000}.valourRiftHUD-floorProgress-boss{top:-2px;z-index:2;width:32px;height:32px;border-radius:3px;outline:2px solid #6c87be;box-shadow:0 0 2px 2px #231855}@keyframes mh-improved-player-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes mh-improved-player-flipped-spin{0%{transform:scaleX(-1) rotate(0)}to{transform:scaleX(-1) rotate(360deg)}}@keyframes mh-improved-large-player-spin{0%{transform:scale(2) rotate(0)}to{transform:scale(2) rotate(360deg)}}@keyframes mh-improved-large-player-flipped-spin{0%{transform:scale(-2,2) rotate(0)}to{transform:scale(-2,2) rotate(360deg)}}.mh-improved-player-spin{animation:mh-improved-player-spin .7s linear 1}.flipped .mh-improved-player-spin{animation:mh-improved-player-flipped-spin .7s linear 1}.mh-improved-player-spin.mh-improved-player-large{animation:mh-improved-large-player-spin .7s linear 1}.flipped .mh-improved-player-spin.mh-improved-player-large{animation:mh-improved-large-player-flipped-spin .7s linear 1}.valourRiftHUD-crafting-image{background-position:center;background-size:120%}.valourRiftHUD-tower-sprite.player .valourRiftHUD-tower-sprite-image.mh-improved-player-large{transform:scale(2)}.valourRiftHUD-tower-sprite.player.flipped .valourRiftHUD-tower-sprite-image.mh-improved-player-large{transform:scale(-2,2)}.valourRiftHUD{filter:drop-shadow(0 2px 1px #25266a)}.valourRiftHUD.tower .valourRiftHUD-huntsRemaining .valourRiftHUD-state.tower{gap:0;margin-right:-3px}.valourRiftHUD-fuelContainer-armButton{font-size:12px}.valourRiftHUD-warningContainer.active.hidden,.valourRiftHUD-powerTypeWarning.active.hidden{display:none}.uc-text-highlight,.valourRiftHUD-powerUp-currentLevel.uc-text-highlight{color:#90ffe1}\n';
}
});

// src/modules/location-huds/rift-valour/simulator.js
function getCacheLoot(floor) {
let idx = floor > 1 ? floor - 1 : 0;
if (idx >= cacheLoot.length) {
idx = cacheLoot.length - 1;
}
const loot = cacheLoot[idx];
return loot;
}
function convertToCR(power, luck, stats) {
const mPower = stats[0];
const mEff = stats[1];
return Math.min(1, (power * mEff + 2 * Math.pow(luck * Math.min(mEff, 1.4), 2)) / (mPower + power * mEff));
}
function simulate(shouldDisplay = true) {
const time = Date.now() / 1e3;
const lvSpeed = window.user.enviroment_atts.power_up_data.long_stride.current_value;
const lvSync = window.user.enviroment_atts.power_up_data.hunt_limit.current_level + 1;
const lvSiphon = window.user.enviroment_atts.power_up_data.boss_extension.current_level + 1;
let siphon = window.user.enviroment_atts.power_up_data.boss_extension.current_value;
const sync = window.user.enviroment_atts.hunts_remaining;
const steps = window.user.enviroment_atts.current_step;
const torchState = window.user.enviroment_atts.is_fuel_enabled;
const torchEclipse = true;
const umbra = window.user.enviroment_atts.active_augmentations.tu;
const superSiphon = window.user.enviroment_atts.active_augmentations.ss;
const strStep = window.user.enviroment_atts.active_augmentations.sste;
const curFloor = window.user.enviroment_atts.floor;
const sh = window.user.enviroment_atts.active_augmentations.hr;
const sr = window.user.enviroment_atts.active_augmentations.sr;
const bail = 999;
let power = window.user.trap_power;
let luck = window.user.trinket_name == "Ultimate Charm" ? 1e5 : window.user.trap_luck;
try {
const altpower = Number(document.querySelectorAll(".campPage-trap-trapStat.power")[0].children[1].innerText.match(/\d/g).join(""));
const altluck = Number(document.querySelectorAll(".campPage-trap-trapStat.luck")[0].children[1].innerText);
power = Number.isNaN(altpower) ? power : Math.max(power, altpower);
luck = Number.isNaN(altluck) ? luck : Math.max(luck, altluck);
} catch (error) {
console.log(error);
}
const mouseCR = mouseStats.map(function(stats) {
return convertToCR(power, luck, stats);
});
if (useUConEclipse) {
mouseCR[9] = 1;
mouseCR[17] = 1;
}
const mouseAR = umbra ? umbraAR : normalAR;
const eclipseCR = umbra ? mouseCR[17] : mouseCR[9];
const eclipseSG = umbra ? mouseDrops[17][0] : mouseDrops[9][0];
const eclipseSC = umbra ? mouseDrops[17][2] : mouseDrops[9][2];
const eclipseGold = umbra ? mouseDrops[17][4] : mouseDrops[9][4];
const catchProfile = {
push: [eclipseCR],
ta: [0],
kb: [1 - eclipseCR],
bkb: [0],
fta: [0],
sg: [eclipseSG * eclipseCR],
sgi: [0],
sc: [eclipseSC * eclipseCR],
sci: [0],
gold: [eclipseGold * eclipseCR],
cf: [0]
};
for (var j = 1; j <= 4; j++) {
catchProfile.ta[j] = mouseCR[24] * mouseAR[24][j - 1];
catchProfile.bkb[j] = (1 - mouseCR[25]) * mouseAR[25][j - 1];
catchProfile.fta[j] = 0;
catchProfile.sg[j] = 0;
catchProfile.sgi[j] = 0;
catchProfile.sc[j] = 0;
catchProfile.sci[j] = 0;
catchProfile.gold[j] = 0;
catchProfile.cf[j] = 0;
catchProfile.push[j] = -catchProfile.ta[j];
mouseCR.map(function(cr, index) {
  catchProfile.push[j] += cr * mouseAR[index][j - 1];
  catchProfile.sg[j] += cr * mouseAR[index][j - 1] * mouseDrops[index][0];
  catchProfile.sgi[j] += cr * mouseAR[index][j - 1] * mouseDrops[index][1];
  catchProfile.sc[j] += cr * mouseAR[index][j - 1] * mouseDrops[index][2];
  catchProfile.sci[j] += cr * mouseAR[index][j - 1] * mouseDrops[index][3];
  catchProfile.gold[j] += cr * mouseAR[index][j - 1] * mouseDrops[index][4];
});
catchProfile.kb[j] = 1 - catchProfile.ta[j] - catchProfile.bkb[j] - catchProfile.push[j];
}
console.log(catchProfile);
const speed = torchState ? Number(lvSpeed) + 1 : lvSpeed;
siphon = superSiphon ? siphon * 2 : siphon;
let sigils = 0;
let secrets = 0;
let gold = 0;
let cfDrops = 0;
let totalHunts = 0;
let catches = 0;
function addRate(step2, hunts, change) {
if (runValues[step2] == null) {
  runValues[step2] = [];
}
if (runValues[step2][hunts] == null) {
  runValues[step2][hunts] = 0;
}
runValues[step2][hunts] += change;
}
function stepBuild(step2) {
stepDetails[step2] = {};
let lap = Math.floor(Math.pow(step2 / 35 + 2809 / 1225, 0.5) - 53 / 35) + 1;
const checkLap = Math.floor(Math.pow((step2 + 1) / 35 + 2809 / 1225, 0.5) - 53 / 35) + 1;
const toEC = checkLap * (106 + 35 * checkLap) - 1;
const floorLength = 10 * (lap + 1);
const onEC = lap * (106 + 35 * lap) - 1;
const flFromEC = Math.ceil((onEC - step2) / floorLength);
const floorStart = onEC - flFromEC * floorLength;
stepDetails[step2].floor = lap * 8 - flFromEC;
stepDetails[step2].sync = siphon * (lap - 1) - syncSpent;
stepDetails[step2].toPush = flFromEC == 0 ? Math.min(step2 + speed - torchState + torchEclipse, toEC) : Math.min(step2 + speed, toEC);
stepDetails[step2].toTA = strStep ? Math.min(step2 + 4 * speed, toEC) : Math.min(step2 + 2 * speed, toEC);
stepDetails[step2].toKB = umbra === true ? Math.max(step2 - 5, floorStart) : Math.max(step2, floorStart);
stepDetails[step2].toBKB = Math.max(step2 - 10, floorStart);
lap = flFromEC == 0 ? 0 : Math.min(lap, 4);
stepDetails[step2].cPush = catchProfile.push[lap];
stepDetails[step2].cTA = catchProfile.ta[lap];
stepDetails[step2].cKB = catchProfile.kb[lap];
stepDetails[step2].cBKB = catchProfile.bkb[lap];
stepDetails[step2].cFTA = catchProfile.fta[lap];
stepDetails[step2].sg = catchProfile.sg[lap];
stepDetails[step2].sgi = catchProfile.sgi[lap];
stepDetails[step2].sc = catchProfile.sc[lap];
stepDetails[step2].sci = catchProfile.sci[lap];
stepDetails[step2].gold = catchProfile.gold[lap];
stepDetails[step2].cf = catchProfile.cf[lap];
}
var syncSpent = 0;
const valuesDistribution = Array.from({ length: 500 });
for (var i = 0; i < 500; i++) {
valuesDistribution[i] = [];
}
var stepDetails = [];
let loopActive = 1;
let startActive = steps;
let endActive = steps;
let loopEnd;
for (const element of valuesDistribution) {
element[0] = 0;
}
var runValues = [];
for (var step = 0; step < steps; step++) {
runValues[step] = [];
runValues[step][0] = 0;
}
runValues[steps] = [1];
stepBuild(steps);
syncSpent = stepDetails[steps].sync - sync;
stepBuild(steps);
for (let hunts = 1; loopActive == 1; hunts++) {
loopActive = 0;
loopEnd = endActive;
for (step = startActive; step <= loopEnd; step++) {
  if (runValues[step] == null) {
    runValues[step] = [];
  } else {
    const rate = runValues[step][hunts - 1];
    if (rate != null && rate > 1e-8) {
      if (stepDetails[step] == null) {
        stepBuild(step);
      }
      gold += rate * stepDetails[step].gold;
      cfDrops += rate * stepDetails[step].cf;
      sigils += rate * stepDetails[step].sg;
      secrets += rate * stepDetails[step].sc;
      if (torchState && stepDetails[step].floor % 8 != 0 || torchEclipse && stepDetails[step].floor % 8 == 0) {
        sigils += rate * stepDetails[step].sgi;
        secrets += rate * stepDetails[step].sci;
      }
      if (hunts <= stepDetails[step].sync && rate != 0 && stepDetails[step].floor < bail) {
        loopActive = 1;
        startActive = Math.min(startActive, stepDetails[step].toBKB);
        endActive = Math.max(endActive, stepDetails[step].toTA);
        addRate(stepDetails[step].toPush, hunts, rate * stepDetails[step].cPush);
        addRate(stepDetails[step].toTA, hunts, rate * stepDetails[step].cTA);
        addRate(stepDetails[step].toKB, hunts, rate * stepDetails[step].cKB);
        addRate(stepDetails[step].toBKB, hunts, rate * stepDetails[step].cBKB);
        addRate(step, hunts, rate * stepDetails[step].cFTA);
        catches += rate * (stepDetails[step].cPush + stepDetails[step].cTA);
      } else if (hunts - 1 == stepDetails[step].sync || stepDetails[step].floor >= bail) {
        totalHunts += (hunts - 1) * rate;
        valuesDistribution[stepDetails[step].floor - 1][0] += rate;
      }
    }
  }
}
}
let averageFloor = 0;
valuesDistribution.map(function(a, b) {
averageFloor += a * (b + 1);
});
const loopDistribution = Array.from({ length: 25 }).fill(0).map(
function(a, index) {
  let sum = 0;
  valuesDistribution.slice(index * 8, (index + 1) * 8).map(
    function(a2) {
      sum += Number(a2);
    }
  );
  return Number(sum);
}
);
let runningProbability = 1;
const loopCumulative = loopDistribution.map(function(a) {
const result = runningProbability;
runningProbability -= a;
return result;
});
const loopCopy = [...loopDistribution].filter(function(a) {
return a > 1e-3;
});
const avgFloor = Math.round(averageFloor);
const curCache = getCacheLoot(curFloor);
const avgCache = getCacheLoot(avgFloor);
const mult = [sh ? 1.5 : 1, sr ? 1.5 : 1];
const deltaCache = [Math.ceil(avgCache[0] * mult[0]) - Math.ceil(curCache[0] * mult[0]), Math.ceil(avgCache[1] * mult[1]) - Math.ceil(curCache[1] * mult[1])];
const display = [
"VRift Sim: " + lvSpeed + "/" + lvSync + "/" + lvSiphon + (torchState ? " CF" : "") + (superSiphon ? " SS" : "") + (umbra ? " UU" : "") + (strStep ? " SSt" : "") + (useUConEclipse ? " (UC Eclipse)" : ""),
"Steps: " + steps + "    Sync: " + sync,
"Power: " + power + "    Luck: " + luck,
"Average Highest Floor: " + avgFloor + ",    Average Hunts: " + Math.round(totalHunts),
"| Loot:  Sigils: +" + Math.round(sigils) + ",    Secrets: +" + Math.round(secrets),
"| Cache: Sigils: +" + deltaCache[0] + ",    Secrets: +" + deltaCache[1],
""
];
const startDisplay = display.length;
const fullDisplay = [
"VRift Run Simulation: " + (Date.now() / 1e3 - time) + " seconds taken.",
"Speed: " + lvSpeed,
"Siphon: " + siphon,
(torchState ? "CF " : "") + (superSiphon ? "SS " : "") + (umbra ? "UU " : "") + (strStep ? "SSt " : ""),
"Steps: " + steps,
"Sync: " + sync,
"Power: " + power,
"Luck: " + luck,
"Sigils: " + sigils,
"Secrets: " + secrets,
"Gold: " + gold,
"Average Highest Floor: " + Math.round(averageFloor),
"Average Hunts: " + Math.round(totalHunts),
""
];
const startFullDisplay = fullDisplay.length;
const eclipses = [];
for (i = 0; i < loopCopy.length; i++) {
const loopIndex = loopDistribution.indexOf(loopCopy[i]);
const eEntry = (loopCopy[i] * 100).toFixed(1);
const cEntry = (loopCumulative[loopIndex] * 100).toFixed(1);
let entry = "Eclipse #" + loopIndex.toString() + ": ";
const fullEntry = entry + eEntry + "% (" + cEntry + "% cumulative)";
if (exactDisplay && cumulativeDisplay) {
  entry = fullEntry;
} else if (cumulativeDisplay) {
  entry += cEntry + "%";
} else {
  entry += eEntry + "%";
}
display[startDisplay + i] = entry;
fullDisplay[startFullDisplay + i] = fullEntry;
eclipses.push({
  number: loopIndex,
  percent: eEntry,
  cumulative: cEntry
});
}
if (shouldDisplay) {
console.log(fullDisplay.join("\n"));
alert(display.join("\n"));
} else {
return {
  speed: lvSpeed,
  sync: lvSync,
  siphon: lvSiphon,
  cfOn: torchState,
  superSiphon,
  umbra,
  strStep,
  ucEclipse: useUConEclipse,
  steps,
  power,
  luck,
  avgFloor,
  avgHunts: Math.round(totalHunts),
  lootSigils: Math.round(sigils),
  lootSecrets: Math.round(secrets),
  cacheSigils: deltaCache[0],
  cacheSecrets: deltaCache[0],
  eclipses
};
}
}
var cumulativeDisplay, exactDisplay, useUConEclipse, cacheLoot, normalAR, umbraAR, mouseDrops, mouseStats, simulator_default;
var init_simulator = __esm({
"src/modules/location-huds/rift-valour/simulator.js"() {
cumulativeDisplay = true;
exactDisplay = false;
useUConEclipse = false;
cacheLoot = [
  [0, 0],
  [7, 0],
  [16, 0],
  [24, 0],
  [32, 0],
  [40, 0],
  [48, 0],
  [50, 0],
  [59, 8],
  [69, 10],
  [80, 11],
  [88, 13],
  [98, 14],
  [107, 16],
  [118, 17],
  [120, 17],
  [135, 20],
  [150, 22],
  [165, 24],
  [182, 26],
  [199, 28],
  [217, 31],
  [235, 33],
  [254, 33],
  [272, 37],
  [290, 40],
  [308, 43],
  [325, 45],
  [342, 48],
  [357, 51],
  [372, 54],
  [386, 54],
  [399, 60],
  [410, 63],
  [421, 66],
  [430, 70],
  [439, 73],
  [446, 77],
  [453, 80],
  [459, 80],
  [464, 88],
  [469, 92],
  [473, 96],
  [477, 101],
  [480, 105],
  [482, 109],
  [485, 113],
  [487, 113],
  [489, 123],
  [490, 128],
  [492, 133],
  [493, 138],
  [494, 143],
  [495, 148],
  [495, 153],
  [496, 153],
  [497, 161],
  [497, 167],
  [497, 173],
  [498, 178],
  [498, 184],
  [498, 190],
  [499, 196],
  [500, 196],
  [500, 205],
  [500, 212],
  [500, 218],
  [500, 224],
  [500, 231],
  [500, 237],
  [500, 244],
  [500, 244],
  [500, 253],
  [500, 260],
  [500, 267],
  [500, 274],
  [500, 282],
  [500, 289],
  [500, 296],
  [500, 300]
];
normalAR = [
  [0, 0, 0, 0],
  [0, 0, 0, 0],
  [0.08246, 0.05616, 0.04866, 0.04231],
  [0.08246, 0.05616, 0.04866, 0.04231],
  [0.08246, 0.05616, 0.04866, 0.04231],
  [0.08246, 0.05616, 0.04866, 0.04231],
  [0.08246, 0.05616, 0.04866, 0.04231],
  [0.08246, 0.05616, 0.04866, 0.04231],
  [0.08246, 0.05616, 0.04866, 0.04231],
  [0, 0, 0, 0],
  [0, 0.01658, 0.02836, 0.04121],
  [0, 0.01658, 0.02836, 0.04121],
  [0, 0.01658, 0.02836, 0.04121],
  [0, 0.01658, 0.02836, 0.04121],
  [0, 0.01658, 0.02836, 0.04121],
  [0, 0.01658, 0.02836, 0.04121],
  [0, 0.01658, 0.02836, 0.04121],
  [0, 0, 0, 0],
  [0.17073, 0.06332, 0.06193, 0.08571],
  [0.04065, 0.01583, 0.02368, 0.01978],
  [0.03252, 0.01583, 0.02732, 0.01209],
  [0, 0.29288, 0.1184, 0.03626],
  [0, 0, 0.1275, 0.07473],
  [0, 0, 0, 0.09725],
  [0.17886, 0.1029, 0.102, 0.08956],
  [0, 0, 0, 0],
  [0, 0, 0, 0]
];
umbraAR = [
  [0, 0, 0, 0],
  [0, 0, 0, 0],
  [0.066, 0.04129, 0.03857, 0.031],
  [0.066, 0.04129, 0.03857, 0.031],
  [0.066, 0.04129, 0.03857, 0.031],
  [0.066, 0.04129, 0.03857, 0.031],
  [0.066, 0.04129, 0.03857, 0.031],
  [0.066, 0.04129, 0.03857, 0.031],
  [0.066, 0.04129, 0.03857, 0.031],
  [0, 0, 0, 0],
  [0, 0.01043, 0.01886, 0.036],
  [0, 0.01043, 0.01886, 0.036],
  [0, 0.01043, 0.01886, 0.036],
  [0, 0.01043, 0.01886, 0.036],
  [0, 0.01043, 0.01886, 0.036],
  [0, 0.01043, 0.01886, 0.036],
  [0, 0.01043, 0.01886, 0.036],
  [0, 0, 0, 0],
  [0.115, 0.072, 0.065, 0.056],
  [0.038, 0.023, 0.02, 0.017],
  [0.023, 0.014, 0.013, 9e-3],
  [0, 0.2311, 0.10806, 0.033],
  [0, 0, 0.098, 0.055],
  [0, 0, 0, 0.081],
  [0.183, 0.112, 0.102, 0.08],
  [0.179, 0.186, 0.192, 0.2],
  [0, 0, 0, 0]
];
mouseDrops = [
  [0, 0, 0, 0, 1982],
  [0, 0, 0, 0, 4250],
  [0.60515, 0.60515, 0, 0, 1e3],
  [0.63774, 0.63774, 0, 0, 1250],
  [0.56444, 0.56444, 0, 0, 1500],
  [0.57674, 0.57674, 0, 0, 2e3],
  [0.63102, 0.63102, 0, 0, 2500],
  [0.57209, 0.57209, 0, 0, 3e3],
  [0.59, 0.59, 0, 0, 4e3],
  [2.40541, 0.98649, 0, 0, 25e3],
  [0.01, 0.01, 1.1, 1, 6e3],
  [0, 0, 1.1, 1, 6e3],
  [909e-5, 909e-5, 1.1, 1, 6e3],
  [0, 0, 1.1, 1, 6e3],
  [8e-3, 8e-3, 1.1, 1, 6e3],
  [826e-5, 826e-5, 1.1, 1, 6e3],
  [0.0315, 0.0315, 1.1, 1, 6e3],
  [3.82927, 1, 0, 0, 1e5],
  [0.0177, 0.0177, 0, 0, 2e3],
  [0, 0, 0, 0, 1500],
  [0.01429, 0.01429, 0, 0, 1e3],
  [643e-5, 643e-5, 1.1, 1, 5e3],
  [0, 0, 1.15, 1, 5e3],
  [0.02475, 0.02475, 1.75, 1, 8e3],
  [0.99597, 0.99396, 0, 0, 4795],
  [0, 0, 0, 0, 12e3],
  [0, 0, 0, 0, 0]
];
mouseStats = [
  [3300, 1],
  [5050, 1],
  [2900, 1],
  [6650, 2],
  [8800, 3],
  [11750, 4],
  [16e3, 5],
  [21500, 6],
  [29e3, 7],
  [7e6, 1e3],
  [72e3, 9],
  [72e3, 9],
  [72e3, 9],
  [72e3, 9],
  [72e3, 9],
  [72e3, 9],
  [72e3, 9],
  [135e5, 1e3],
  [4800, 1.75],
  [8250, 1.75],
  [23e3, 1.75],
  [38e3, 10],
  [15e4, 25],
  [35e4, 50],
  [100, 2],
  [818250, 75],
  [1e30, 1]
];
simulator_default = simulate;
}
});

// src/modules/location-huds/rift-valour/index.js
var displayResults, doSimulation, addUIComponents, modifyPlayerIcon, addSimulatorEvents, removeWarningIfUcEquipped, highlightQuantitiesIfUcEquipped, ifUcEquipped, rift_valour_default2;
var init_rift_valour2 = __esm({
"src/modules/location-huds/rift-valour/index.js"() {
init_utils2();
init_styles72();
init_simulator();
displayResults = (results) => {
  let eclipseText = "";
  results.eclipses.forEach((eclipse) => {
    eclipseText += `<li>
<span class="number">Eclipse ${eclipse.number}</span>
<span class="percent ${eclipse.percent === "100.0" ? "guaranteed" : ""}">${eclipse.percent}%</span>
<span class="cumulative ${eclipse.cumulative === "100.0" ? "guaranteed" : ""}">${eclipse.cumulative}%</span>
</li>`;
  });
  return `<div class="mh-vrift-sim-results">
<div class="stats">
<div class="result">
  <div class="label">Speed</div>
  <div class="value">${results.speed}</div>
</div>
<div class="result">
  <div class="label">Sync</div>
  <div class="value">${results.sync}</div>
</div>
<div class="result">
  <div class="label">Avg. Highest Floor</div>
  <div class="value">${results.avgFloor}</div>
</div>
<div class="result">
  <div class="label">Avg. Hunts</div>
  <div class="value">${results.avgHunts}</div>
</div>
<div class="result">
  <div class="label">Sigils (Loot)</div>
  <div class="value">${results.lootSigils}</div>
</div>
<div class="result">
  <div class="label">Secrets (Loot)</div>
  <div class="value">${results.lootSecrets}</div>
</div>
<div class="result">
  <div class="label">Sigils (Cache)</div>
  <div class="value">${results.cacheSigils}</div>
</div>
<div class="result">
  <div class="label">Secrets (Cache)</div>
  <div class="value">${results.cacheSecrets}</div>
</div>
</div>

<div class="eclipses">
<ol>
  <li class="header">
    <span class="number">#</span>
    <span class="percent">Chance</span>
    <span class="cumulative">Total</span>
  </li>
  ${eclipseText}
</ol>
</div>
</div>`;
};
doSimulation = (selector) => {
  const simPopup = document.querySelector(selector);
  if (!simPopup) {
    return;
  }
  simPopup.addEventListener("click", () => {
    const data = simulator_default(false);
    const popup = createPopup({
      title: "Valour Rift Run Simulation",
      content: displayResults(data),
      show: false
    });
    popup.setAttributes({ className: "mh-vrift-popup" });
    popup.show();
  });
};
addUIComponents = () => {
  var _a, _b;
  const existing = document.querySelector("#mh-vrift-floor-name");
  if (existing) {
    existing.remove();
  }
  const floor = document.querySelector(".valourRiftHUD-currentFloor");
  if (floor) {
    const floorName = makeElement("div", "valourRiftHUD-floorName", (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRiftValour) == null ? void 0 : _b.floor_name);
    floorName.id = "mh-vrift-floor-name";
    floor.append(floorName);
  }
  const floorTooltipParent = document.querySelector(".valourRiftHUD-floorProgress.mousehuntTooltipParent");
  if (!floorTooltipParent) {
    return;
  }
  const tooltip = floorTooltipParent.querySelector(".mousehuntTooltip");
  if (!tooltip) {
    return;
  }
  tooltip.classList.add("bottom", "mh-vrift-floor-tooltip");
  tooltip.classList.remove("top");
  const stepsRemaining = tooltip.querySelector(".valourRiftHUD-stepsRemaining");
  if (!stepsRemaining) {
    return;
  }
  const floorBar = document.querySelector(".valourRiftHUD-floorProgress-barContainer");
  if (!floorBar) {
    return;
  }
  const stepsExisting = document.querySelector(".mh-vrift-steps-remaining");
  if (stepsExisting) {
    stepsExisting.remove();
  }
  makeElement("div", "mh-vrift-steps-remaining", stepsRemaining.textContent, floorBar);
};
modifyPlayerIcon = () => {
  const playerIcon = document.querySelector(".valourRiftHUD-tower-sprite.player .valourRiftHUD-tower-sprite-image");
  if (!playerIcon) {
    return;
  }
  let timeout;
  playerIcon.addEventListener("click", (event) => {
    if (event.shiftKey) {
      playerIcon.classList.toggle("mh-improved-player-large");
      return;
    }
    playerIcon.classList.add("mh-improved-player-spin");
    clearTimeout(timeout);
    timeout = setTimeout(() => {
      playerIcon.classList.remove("mh-improved-player-spin");
    }, 700);
  });
};
addSimulatorEvents = () => {
  doSimulation(".valourRiftHUD-floorProgress-barContainer");
  const magnifyingGlass = document.querySelector(".valourRiftHUD-previewTower");
  if (!magnifyingGlass) {
    return;
  }
  const existing = document.querySelector(".mh-vrift-sim-link");
  if (existing) {
    existing.remove();
  }
  const simLink = makeElement("a", ["valourRiftHUD-previewTower", "mh-vrift-sim-link"], "Simulate Run");
  simLink.title = "Simulate Valour Rift Run";
  magnifyingGlass.after(simLink);
  doSimulation(".mh-vrift-sim-link");
};
removeWarningIfUcEquipped = () => {
  const warningContainer = document.querySelector(".valourRiftHUD-warningContainer.active");
  if (!warningContainer) {
    return;
  }
  warningContainer.classList.remove("hidden");
  const powerTypeWarning = warningContainer.querySelector(".valourRiftHUD-powerTypeWarning.active");
  if (!powerTypeWarning) {
    return;
  }
  powerTypeWarning.classList.remove("hidden");
  if (1075 == user.trinket_item_id) {
    warningContainer.classList.add("hidden");
    powerTypeWarning.classList.add("hidden");
  }
};
highlightQuantitiesIfUcEquipped = () => __async(void 0, null, function* () {
  const selectors = [
    ".valourRiftHUD-gauntletBait-quantity.quantity",
    ".valourRiftHUD-towerLoot-quantity.quantity",
    ".valourRiftHUD-powerUp-currentLevel"
  ];
  selectors.forEach((selector) => {
    const existing = document.querySelectorAll(selector);
    if (!existing) {
      return;
    }
    existing.forEach((e) => {
      if (1075 == user.trinket_item_id) {
        e.classList.add("uc-text-highlight");
      } else {
        e.classList.remove("uc-text-highlight");
      }
    });
  });
});
ifUcEquipped = () => {
  removeWarningIfUcEquipped();
  highlightQuantitiesIfUcEquipped();
};
rift_valour_default2 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default71);
  addUIComponents();
  addSimulatorEvents();
  modifyPlayerIcon();
  onTrapChange(ifUcEquipped);
});
}
});

// src/modules/location-huds/rift-whisker-woods/styles.css
var styles_default72;
var init_styles73 = __esm({
"src/modules/location-huds/rift-whisker-woods/styles.css"() {
styles_default72 = '.riftWhiskerWoodsHUD-zone-title{right:20%;left:20%;font-size:12px}span.riftWhiskerWoodsHUD-zone-rageLevel{padding-top:0;margin-top:-3px;font-size:18px}span.riftWhiskerWoodsHUD-zone-rageMax{position:unset;display:block;font-size:10px}.riftWhiskerWoodsHUD-zone-rageContainer{top:-9px;left:-4px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:40px;height:40px;background:#5b3b1a;border-radius:10px;box-shadow:0 0 1px 2px inset #b78c5c,0 0 3px 3px inset #292928}.riftWhiskerWoodsHUD-baitWarning{right:20%;left:20%;padding:10px 60px;font-size:12px;text-align:center;background-color:#ffa5a5;border-color:#992023}.riftWhiskerWoodsHUD-zone-charm-quantity.quantity{width:30px;font-size:12px}.riftWhiskerWoodsHUD-zone .mousehuntArmNowButton{right:-2px}.riftWhiskerWoodsHUD-zone-charm-craftingItem{display:grid;grid-template-columns:1fr;place-items:center}.riftWhiskerWoodsHUD-zone-charm-craftingItem-container{display:inline-flex;align-items:stretch;width:270px}.riftWhiskerWoodsHUD-zone-charm-craftButtonContainer{width:110px}.riftWhiskerWoodsHUD-zone-charm-craftingItem-quantity{display:grid;grid-template-columns:1fr 1fr;gap:3px;align-items:end}.riftWhiskerWoodsHUD-zone-charm-craftingItem-quantity br{display:none}.riftWhiskerWoodsHUD-zone-charm-craftingItem-quantity-label{display:block;margin:0}.riftWhiskerWoodsHUD-zone-charm-craftingItem .itemName{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:center;margin-bottom:4px}.riftWhiskerWoodsHUD-zone-charm-craftButton{display:inline-block;float:none;width:30px}.riftWhiskerWoodsHUD-zone-charm-craftButtonMargin{margin-right:0}.riftWhiskerWoodsHUD-zone-charm-description>b{display:inline-block;padding-bottom:5px;font-size:11px;text-align:center}.riftWhiskerWoodsHUD:hover .riftWhiskerWoodsHUD-zone.boss .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:focus .riftWhiskerWoodsHUD-zone.boss .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:hover .riftWhiskerWoodsHUD-zone.high .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:focus .riftWhiskerWoodsHUD-zone.high .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:hover .riftWhiskerWoodsHUD-zone.low .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:focus .riftWhiskerWoodsHUD-zone.low .riftWhiskerWoodsHUD-zone-progress:after{position:absolute;top:0;bottom:0;left:9px;display:flex;align-items:center;padding:2px;font-size:14px;text-shadow:1px 1px #000;content:"Low";background-color:#0006}.riftWhiskerWoodsHUD:hover .riftWhiskerWoodsHUD-zone.high .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:focus .riftWhiskerWoodsHUD-zone.high .riftWhiskerWoodsHUD-zone-progress:after{content:"High"}.riftWhiskerWoodsHUD:hover .riftWhiskerWoodsHUD-zone.boss .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:focus .riftWhiskerWoodsHUD-zone.boss .riftWhiskerWoodsHUD-zone-progress:after{content:"Boss"}.boss .riftWhiskerWoodsHUD-zone-rageContainer{box-shadow:0 0 1px 3px inset #b72929,0 0 1px 2px inset #b78c5c,0 0 3px 3px inset #292928}.mhui-taunting-warning{top:36px;left:150px;width:414px;padding:10px 20px;border-color:#992023}.mhui-taunting-warning-close{position:absolute;top:-6px;right:-6px;z-index:15;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:18px;height:17px;padding:5px;font-size:12px;font-weight:700;line-height:15px;color:#fff;text-align:center;background-color:#e03a3a;border:1px solid #992023;border-color:#d1d0cf;border-radius:20px}.mhui-taunting-warning-close:hover{color:#ffb4b4;background-color:#992023}\n';
}
});

// src/modules/location-huds/rift-whisker-woods/index.js
var hasHiddenTauntingWarning, showTauntingWarning, checkAndWarnWhenNoTauntingCharm, rift_whisker_woods_default;
var init_rift_whisker_woods = __esm({
"src/modules/location-huds/rift-whisker-woods/index.js"() {
init_utils2();
init_styles73();
hasHiddenTauntingWarning = false;
showTauntingWarning = () => {
  const existing = document.querySelector(".mhui-taunting-warning");
  if (existing) {
    return;
  }
  const baitWarning = document.querySelector(".riftWhiskerWoodsHUD-bossBaitWarning");
  if (!baitWarning) {
    return;
  }
  if (hasHiddenTauntingWarning) {
    return;
  }
  const warning = baitWarning.cloneNode(true);
  warning.classList.add("mhui-taunting-warning", "active");
  warning.innerHTML = "You don't have a Taunting Charm equipped! You will reset your rage!";
  const warningClose = makeElement("div", "mhui-taunting-warning-close");
  warningClose.innerHTML = "\xD7";
  warningClose.onclick = (e) => {
    e.preventDefault();
    hasHiddenTauntingWarning = true;
    warning.classList.remove("active");
  };
  warning.append(warningClose);
  baitWarning.after(warning);
};
checkAndWarnWhenNoTauntingCharm = () => {
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
  if ("1647" == user.trinket_item_id) {
    return;
  }
  const rage = {
    clearing: ((_d = (_c = (_b = (_a = user.quests) == null ? void 0 : _a.QuestRiftWhiskerWoods) == null ? void 0 : _b.zones) == null ? void 0 : _c.clearing) == null ? void 0 : _d.level) || 0,
    lagoon: ((_h = (_g = (_f = (_e = user.quests) == null ? void 0 : _e.QuestRiftWhiskerWoods) == null ? void 0 : _f.zones) == null ? void 0 : _g.lagoon) == null ? void 0 : _h.level) || 0,
    tree: ((_l = (_k = (_j = (_i = user.quests) == null ? void 0 : _i.QuestRiftWhiskerWoods) == null ? void 0 : _j.zones) == null ? void 0 : _k.tree) == null ? void 0 : _l.level) || 0
  };
  if (rage.clearing > 48 || rage.lagoon > 48 || rage.tree > 48 || // eslint-disable-next-line eqeqeq
  "1646" == user.bait_item_id) {
    showTauntingWarning();
  }
};
rift_whisker_woods_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default72);
  checkAndWarnWhenNoTauntingCharm();
  onRequest("*", checkAndWarnWhenNoTauntingCharm);
});
}
});

// src/modules/location-huds/seasonal-garden/styles.css
var styles_default73;
var init_styles74 = __esm({
"src/modules/location-huds/seasonal-garden/styles.css"() {
styles_default73 = '.seasonalGardenHUD-season.sg,.seasonalGardenHUD-season.sr,.seasonalGardenHUD-season.fl,.seasonalGardenHUD-season.wr{background:url(https://i.mouse.rip/seasonal-garden-season.png) no-repeat 0 0;transform:scale(1.3);transform-origin:bottom}.seasonalGardenHUD{background:url(https://i.mouse.rip/seasonal-garden-hud.png) no-repeat 0 0}.seasonalGardenHUD-season.sg:after,.seasonalGardenHUD-season.sr:after,.seasonalGardenHUD-season.fl:after,.seasonalGardenHUD-season.wr:after{position:absolute;inset:0;content:""}.seasonalGardenHUD-season.sg:after{background-image:url(https://www.mousehuntgame.com/images/ui/hud/spring_icon.png?asset_cache_version=2)}.seasonalGardenHUD-season.sr:after{background-image:url(https://www.mousehuntgame.com/images/ui/hud/summer_icon.png?asset_cache_version=2)}.seasonalGardenHUD-season.fl:after{background-image:url(https://www.mousehuntgame.com/images/ui/hud/fall_icon.png?asset_cache_version=2)}.seasonalGardenHUD-season.wr:after{background-image:url(https://www.mousehuntgame.com/images/ui/hud/winter_icon.png?asset_cache_version=2)}.seasonalGardenHUD-currentAmplifier{top:19px;font-size:15px;text-shadow:1px 1px 0 #ded3c1}.seasonalGardenHUD-currentAmplifier:before{position:absolute;top:-15px;left:10px;width:125px;padding:0 20px;font-size:12px;font-weight:900;color:#765e4c;content:"Tower Amplifier";background:radial-gradient(circle,#dac8ab 14%,#efe2cd 76%,transparent 100%)}.seasonalGardenHUD-maxAmplifier{top:34px;left:60px;display:flex;align-items:center;justify-content:center;width:75px;height:14px;padding:3px;text-align:center;background:radial-gradient(circle,#dac8ab 14%,#d7c1a4 76%,#c4b096);border-bottom-right-radius:40px;border-bottom-left-radius:40px}.seasonalGardenHUD-maxAmplifier:before{content:"Max:"}span.seasonalGardenHUD-maxAmplifier-value{font-size:15px;color:#000;text-shadow:1px 1px 0 #ded3c1}.seasonalGardenHUD-amplifierBoundingBox{width:80px;border-radius:30px}.seasonalGardenHUD-amplifierProgress{overflow:hidden}.seasonalGardenHUD-currentAmplifier:after{position:absolute;top:0;right:-6px;width:12px;height:19px;content:"";background:linear-gradient(249deg,#f6e5d0,#dfc9aa);border-top-left-radius:5px;border-bottom-left-radius:7px}.seasonalGardenHUD-amplifierProgress-bar{transition:width .2s cubic-bezier(.175,.885,.32,1.275);transform-origin:left;will-change:transform}.seasonalGardenHUD-amplifierProgress-bar--animating{animation:.3s bounce-and-stretch-new 2}@media (prefers-reduced-motion: reduce){.seasonalGardenHUD-amplifierProgress-bar--animating{animation:none}}@keyframes bounce-and-stretch-new{0%{transform:scaleX(1) translate(-10px)}60%{transform:scaleX(1)}75%{transform:scaleX(.98)}90%{transform:scaleX(.999)}}.seasonalGardenHUD-amplifierBoundingBox .mousehuntTooltip{top:-10px;left:120px;width:460px;font-size:11px;line-height:1.6}.seasonalGardenHUD-amplifierBoundingBox .mousehuntTooltip .mousehuntTooltip-arrow{display:none}\n';
}
});

// src/modules/location-huds/seasonal-garden/index.js
var makeProgressDraggable, changeBarColor, seasonal_garden_default;
var init_seasonal_garden2 = __esm({
"src/modules/location-huds/seasonal-garden/index.js"() {
init_utils2();
init_styles74();
makeProgressDraggable = () => {
  const progressBar = document.querySelector(".seasonalGardenHUD-amplifierProgress");
  if (!progressBar) {
    return;
  }
  const progressBarMarker = document.querySelector(".seasonalGardenHUD-amplifierProgress-bar");
  if (!progressBarMarker) {
    return;
  }
  const originalWidth = progressBarMarker.style.width;
  let timeout = null;
  progressBar.addEventListener("click", (e) => {
    const rect = progressBar.getBoundingClientRect();
    const x = e.clientX - rect.left;
    const width = rect.width;
    const percent = Math.round(x / width * 100);
    progressBarMarker.style.width = `${percent}%`;
    setTimeout(() => {
      progressBarMarker.classList.add("seasonalGardenHUD-amplifierProgress-bar--animating");
    }, 50);
    if (timeout) {
      clearTimeout(timeout);
    }
    timeout = setTimeout(() => {
      progressBarMarker.style.width = originalWidth;
      setTimeout(() => {
        progressBarMarker.classList.remove("seasonalGardenHUD-amplifierProgress-bar--animating");
      }, 300);
    }, 600);
  });
};
changeBarColor = () => {
  const trigger = document.querySelector(".seasonalGardenHUD-season");
  if (!trigger) {
    return;
  }
  const bar = document.querySelector(".seasonalGardenHUD-amplifierProgress-bar");
  if (!bar) {
    return;
  }
  trigger.addEventListener("click", () => {
    const hue = Math.round(Math.random() * 360);
    bar.style.filter = `hue-rotate(${hue}deg)`;
  });
};
seasonal_garden_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default73);
  makeProgressDraggable();
  changeBarColor();
});
}
});

// src/modules/location-huds/slushy-shoreline/index.js
var slushy_shoreline_default;
var init_slushy_shoreline = __esm({
"src/modules/location-huds/slushy-shoreline/index.js"() {
init_cheese_selectors();
slushy_shoreline_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("slushy-shoreline", ["toxic_super_brie_cheese"]);
});
}
});

// src/modules/location-huds/ss-huntington-ii/index.js
var ss_huntington_ii_default;
var init_ss_huntington_ii = __esm({
"src/modules/location-huds/ss-huntington-ii/index.js"() {
init_cheese_selectors();
ss_huntington_ii_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("ss-huntington-ii", ["galleon_gouda_cheese"]);
});
}
});

// src/modules/location-huds/sunken-city/styles.css
var styles_default74;
var init_styles75 = __esm({
"src/modules/location-huds/sunken-city/styles.css"() {
styles_default74 = '.sunkenCityHud .leftSidebar{border:1px solid #333}.sunkenCityHud .leftSidebar .craftingItems{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:98px;padding:0;border-color:#7e7e7e;border-radius:0}.sunkenCityHud .leftSidebar .craftingItems a{line-height:initial;border-bottom:1px solid #7e7e7e;border-radius:0}.sunkenCityHud .leftSidebar .craftingItems a:first-child{margin-top:-3px}.sunkenCityHud .leftSidebar .craftingItems a:last-child{border-bottom:none}.sunkenCityHud .leftSidebar .craftingItems a img{width:30px;height:30px;border-radius:10px}.sunkenCityHud .leftSidebar .craftingItems a .item.quantity{display:inline-block;font-size:14px;vertical-align:middle}.sunkenCityHud .sunkenCharms{top:0;right:131px;bottom:0;display:grid;grid-template-columns:1fr 1fr;place-items:center stretch;padding-right:3px;background:#333;border:1px solid #7e7e7e;border-radius:5px 0 0 5px}.sunkenCityHud .sunkenCharms a{position:initial;padding:0 1px;margin-left:2px;background-color:#646465;border:none;border-radius:9px}.sunkenCityHud .sunkenCharms a.active{margin-left:2px;background-color:#19a0b8}.sunkenCityHud .sunkenCharms a .toolTip{top:10px;right:130px;left:unset;font-size:10px}.sunkenCityHud .sunkenCharms a .toolTip .arrow{display:none}.sunkenCityHud .sunkenCharms a:last-child,.sunkenCityHud .sunkenCharms a:nth-child(5){border-bottom:none}.sunkenCityHud .sunkenCharms a .itemImage{float:none;width:unset;height:unset}.sunkenCityHud .sunkenCharms a .clear-block{display:flex;align-items:center;justify-content:space-around}.sunkenCityHud .sunkenCharms a .quantity{margin-left:3px;font-size:13px;line-height:initial}.sunkenCityHud .sunkenCharms a .itemImage img{display:inline-block;width:25px;height:25px}.sunkenCityHud .sunkenCharms a .armNow,.sunkenCityHud .sunkenCharms a.disabled .armNow{display:none}.sunkenCityHud .sidebar,.sunkenCityHud .sidebarBox{width:130px}.sunkenCityHud .sidebar{height:98px;border:1px solid #7e7e7e;border-bottom-right-radius:3px}.sunkenCityHud .sidebar .oxygen{color:transparent}.sunkenCityHud .sidebar .oxygen .item,.sunkenCityHud .sidebar .oxygen .item.long{margin-left:3px;font-size:13px}.sunkenCityHud .sidebar .oxygen .item:after{position:absolute;width:25px;margin-left:10px;font-size:12px;color:#000;text-align:left;content:"O\\2082"}.sunkenCityHud .sidebar .diveButton{width:35px;height:20px;padding:2px;margin-right:3px;font-size:9px;line-height:22px;text-align:center;box-shadow:3px 3px 3px #ee9d47 inset,-5px -5px 50px #c66c0c inset}.sunkenCityHud .sidebarTitle{font-size:14px;letter-spacing:3px;background-color:#474747;border:none}.sunkenCityHud .sidebarContent{display:flex;flex-direction:column;justify-content:center;height:39px;border:none}.sunkenCityHud .sidebarContent .zoneName{padding-top:0;line-height:.9}.sunkenCityHud .diveControls{display:flex;align-items:center;border-top:1px solid #8b93a9;box-shadow:0 0 20px #fff inset,0 -6px 7px #4b587d inset}.sunkenCityHud .baitWarning{bottom:30%;left:154px;width:330px;font-size:12px;line-height:15px;color:#000;background-color:#ffbfbf;border-radius:10px;box-shadow:none}\n';
}
});

// src/modules/location-huds/sunken-city/index.js
var updateHudImages, makeCharmElement, addMoreCharms, hud8, sunken_city_default2;
var init_sunken_city2 = __esm({
"src/modules/location-huds/sunken-city/index.js"() {
init_utils2();
init_styles75();
updateHudImages = () => {
  const upscaleMapping = {
    "/crafting_items/thumbnails/1a7897042ba8f3fa31fa6805404456d6.gif": "/crafting_items/transparent_thumb/9197ccdec26278bfb07ab7846b1a2648.png",
    // damaged coral.
    "/crafting_items/thumbnails/4aaa6478c10308ac865507e4d7915b3c.gif": "/crafting_items/transparent_thumb/d7f3f77c87ea7849a2ec8bc3f7d05b74.png",
    // mouse scale.
    "/crafting_items/thumbnails/e12ed1306d81665278952d4b4349b495.gif": "/crafting_items/transparent_thumb/5057d634368131d5ab4ad62bf0963800.png",
    // barnacle.
    "/bait/1f6237cebe21954e53d6586b2cbdfe39.gif": "/bait/transparent_thumb/0d27e0c72c3cbdc8e9fe06fb7bdaa56d.png",
    // fishy fromage.
    "/trinkets/555bb67ba245aaf2b05db070d2b4cfcb.gif": "/trinkets/transparent_thumb/be6749a947b746fbece2754d9bd02f74.png",
    // anchor.
    "/trinkets/5f56cb017ff9414e584ced35b2491aef.gif": "/trinkets/transparent_thumb/2dc6b3e505fd1eaac8c6069937490386.png"
    // water jet.
  };
  const upscaleImage = (image) => {
    const normalizedImage = image.src.replace("https://www.mousehuntgame.com/images/items", "").replace("?cv=1", "").replace("?cv=2", "").replace("?v=1", "").replace("?v=2", "");
    if (upscaleMapping[normalizedImage]) {
      image.src = `https://www.mousehuntgame.com/images/items/${upscaleMapping[normalizedImage]}?cv=2`;
    }
  };
  const hudImages = document.querySelectorAll(".sunkenCityHud .leftSidebar .craftingItems a img");
  hudImages.forEach((image) => {
    upscaleImage(image);
  });
  const baitImage = document.querySelector(".sunkenCityHud .sunkenBait .itemImage img");
  if (baitImage) {
    upscaleImage(baitImage);
  }
  const charms = document.querySelectorAll(".sunkenCityHud .sunkenCharms a .itemImage img");
  charms.forEach((charm) => {
    upscaleImage(charm);
  });
};
makeCharmElement = (charm, appendTo) => {
  const existing = document.querySelector(`.mhui-sunken-charm[data-item-type="${charm.type}"]`);
  if (existing) {
    existing.remove();
  }
  const wrapper = makeElement("a", ["charm", "mhui-sunken-charm"]);
  if (user.trinket_item_id == charm.item_id) {
    wrapper.classList.add("active");
  }
  wrapper.setAttribute("href", "#");
  wrapper.setAttribute("data-item-type", charm.type);
  wrapper.setAttribute("data-item-classification", "trinket");
  wrapper.setAttribute("title", charm.name);
  wrapper.setAttribute("onclick", "app.views.HeadsUpDisplayView.hud.sunkenCityArmItem(this);return false;");
  const clearBlock = makeElement("div", "clear-block");
  const itemImage = makeElement("div", "itemImage");
  const image = makeElement("img");
  image.setAttribute("src", charm.thumbnail_transparent);
  itemImage.append(image);
  clearBlock.append(itemImage);
  const quantity = makeElement("div", "item quantity", charm.quantity);
  quantity.setAttribute("data-item-type", charm.type);
  clearBlock.append(quantity);
  wrapper.append(clearBlock);
  if ("smart_water_jet_trinket" == charm.type) {
    charm.description = "Overcharge your engine for a 500m boost with an automatic unequip after the hunt.";
  } else if ("brilliant_water_jet_trinket" == charm.type) {
    charm.description = "Supercharge your engine for a boost to the end of the current zone!";
  } else if ("spiked_anchor_trinket" == charm.type) {
    charm.description = "Slow down your sub while also boosting your power!";
  } else if ("golden_anchor_trinket" == charm.type) {
    charm.description = "Set your sub to super-slow and also find additional sand dollars!";
  }
  const toolTip = makeElement("div", "toolTip");
  toolTip.innerHTML = `<b>${charm.name}s</b><br>${charm.description}`;
  wrapper.append(toolTip);
  appendTo.append(wrapper);
};
addMoreCharms = () => __async(void 0, null, function* () {
  const charmsWrapper = document.querySelector(".sunkenCityHud .sunkenCharms");
  if (!charmsWrapper) {
    return;
  }
  const existingCharms = charmsWrapper.querySelectorAll(".mhui-sunken-charm");
  for (const charm of existingCharms) {
    charm.remove();
  }
  const itemsData = yield getUserItems([
    "spiked_anchor_trinket",
    "smart_water_jet_trinket",
    "golden_anchor_trinket",
    "brilliant_water_jet_trinket"
  ]);
  if (user.trinket_item_id == 1517) {
    const waterJetCharm = document.querySelector('.sunkenCityHud .sunkenCharms a[data-item-type="water_jet_trinket"]');
    if (waterJetCharm) {
      waterJetCharm.classList.add("active");
    }
  }
  if (user.trinket_item_id == 423) {
    const anchorCharm = document.querySelector('.sunkenCityHud .sunkenCharms a[data-item-type="anchor_trinket"]');
    if (anchorCharm) {
      anchorCharm.classList.add("active");
    }
  }
  for (const item of itemsData) {
    makeCharmElement(item, charmsWrapper);
  }
});
hud8 = () => {
  updateHudImages();
  addMoreCharms();
};
sunken_city_default2 = () => __async(void 0, null, function* () {
  addHudStyles(styles_default74);
  hud8();
});
}
});

// src/modules/location-huds/table-of-contents/styles.css
var styles_default75;
var init_styles76 = __esm({
"src/modules/location-huds/table-of-contents/styles.css"() {
styles_default75 = ".folkloreForestRegionView-libraryStatsContainer{display:grid;grid-template-columns:1fr 1fr 1fr;justify-items:center;margin:10px 0 10px 10px}.folkloreForestRegionView-libraryStats.bestBook{padding:10px 15px;margin:10px 0;border:1px solid #2e602b;border-top:none;border-radius:30px}.folkloreForestRegionView-libraryStats.bestBook:after{display:none}.folkloreForestRegionView-libraryStats-label{max-width:130px;height:unset;padding:5px;font-size:13px;font-weight:400}.folkloreForestRegionView-libraryStats.bestBook .folkloreForestRegionView-libraryStats-value{gap:10px}.folkloreForestRegionView-libraryBestBook-name{min-width:100px;margin-bottom:5px;font-size:13px;line-height:15px}.folkloreForestRegionView-libraryStats.bestBook .folkloreForestRegionView-libraryStats-label{position:absolute;top:-16px;left:-10px;max-width:unset;padding:5px 10px;background-color:#6a9e43;border-radius:10px;box-shadow:0 1px 5px #070707;rotate:-10deg}.folkloreForestRegionView-libraryStats{display:flex;flex-direction:column;align-items:center;width:210px}.folkloreForestRegionView-libraryStats-value{height:unset}.folkloreForestRegionView-libraryStats-value.longestWritingSession{display:flex;flex-direction:row;column-gap:5px;align-items:baseline;justify-content:center;margin-left:30px}.folkloreForestRegionView-libraryBooksContainer{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:center;padding-bottom:20px}.folkloreForestRegionView-libraryBook{width:auto;min-width:150px}.folkloreForestRegionView-libraryBook-words{font-size:12px;color:#b4c2ab}.folkloreForestRegionView-libraryBook-name{font-size:14px;font-weight:400}.folkloreForestRegionView-libraryBook-quantity{font-size:30px;color:#81eb00;text-shadow:1px 1px 1px #143706,0 1px 1px #143706,1px 0 1px #143706,0 0 1px #143706;filter:drop-shadow(0 0 2px #000)}.folkloreForestRegionView-libraryStats-value.bigText{color:#81eb00;text-shadow:1px 1px 1px #143706,0 1px 1px #143706,1px 0 1px #143706,0 0 1px #143706}.folkloreForestRegionView-libraryStats.totalWords{flex:1}.folkloreForestRegionView-libraryBook.disabled .tableOfContentsView-bookCover{filter:opacity(.8) grayscale(1)}.folkloreForestRegionView-libraryBook.disabled .folkloreForestRegionView-libraryBook-name{color:#979797}#overlayPopup.fabledForestDialog .title{font-size:19px;letter-spacing:1px}.tableOfContentsProgressView-nextBookContainer{position:absolute;bottom:-33px;padding:3px;font-size:11px;white-space:nowrap;background-color:#fdebab;box-shadow:0 1px 1px 1px #f1b960;transform:translate(-50%)}.tableOfContentsView-wordMeter-value{font-size:14px}.tableOfContentsProgressView-nextBook-wordsRequired{text-decoration:none}.tableOfContentsProgressView-book-huntsRemaining span{font-size:13px}.tableOfContentsProgressView-book-wordCount{margin:10px 0 5px}a.tableOfContentsProgressView-claimButton.reveal{filter:hue-rotate(80deg) brightness(1.2)}.tableOfContentsClaimDialogView-miceLoot .itemImage .quantity{font-size:13px;background-color:#fff9}.folkloreForestRegionView-boost{display:none}.tableOfContentsView-initialFuel-checkboxContainer{background-color:transparent}.tableOfContentsProgressView-progressBar-value{filter:sepia(1)}.tableOfContentsProgressView-progressBar{background:none;box-shadow:none}.tableOfContentsProgressView-cancelButton.active{top:-31px;left:338px;border-radius:50%;box-shadow:0 0 0 4px #48762a,inset 0 -1px 3px 1px #d7a086}\n";
}
});

// src/modules/location-huds/table-of-contents/index.js
var updateWordLootQuantity, updateNextWordCount, table_of_contents_default2;
var init_table_of_contents2 = __esm({
"src/modules/location-huds/table-of-contents/index.js"() {
init_utils2();
init_folklore_forest2();
init_styles50();
init_styles76();
updateWordLootQuantity = () => {
  const lootSpan = document.querySelector(".tableOfContentsView-wordMeter-value");
  if (!lootSpan) {
    return;
  }
  const loot = lootSpan.innerText;
  const lootParts = loot.split("-");
  if (lootParts.length > 1 && lootParts[0] === lootParts[1]) {
    lootSpan.innerText = lootParts[0];
  }
};
updateNextWordCount = () => {
  const wordsRequired = document.querySelector(".tableOfContentsProgressView-nextBook-wordsRequired");
  if (!wordsRequired) {
    return;
  }
  wordsRequired.innerText = wordsRequired.getAttribute("title").replace(" words", "");
};
table_of_contents_default2 = () => __async(void 0, null, function* () {
  addHudStyles([styles_default49, styles_default75]);
  folklore_forest_default2();
  updateWordLootQuantity();
  onRequest("environment/table_of_contents.php", updateWordLootQuantity);
  updateNextWordCount();
  onTurn(() => {
    updateNextWordCount();
    setTimeout(updateNextWordCount, 500);
    setTimeout(updateNextWordCount, 1e3);
  });
});
}
});

// src/modules/location-huds/tournament-hall/index.js
var tournament_hall_default;
var init_tournament_hall = __esm({
"src/modules/location-huds/tournament-hall/index.js"() {
init_cheese_selectors();
tournament_hall_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("tournament-hall", ["runny_cheese"]);
});
}
});

// src/modules/location-huds/town-of-digby/index.js
var town_of_digby_default;
var init_town_of_digby = __esm({
"src/modules/location-huds/town-of-digby/index.js"() {
init_cheese_selectors();
town_of_digby_default = () => __async(void 0, null, function* () {
  cheese_selectors_default("town-of-digby", ["limelight_cheese"]);
});
}
});

// src/modules/location-huds/town-of-gnawnia/styles.css
var styles_default76;
var init_styles77 = __esm({
"src/modules/location-huds/town-of-gnawnia/styles.css"() {
styles_default76 = ".townOfGnawniaHUD-intro{line-height:17px}.townOfGnawniaHUD-bountyRewardContainer{background:#e5c9a8 url(https://www.mousehuntgame.com/images/items/stats/large/f659a8a07d3877df4165b188f13bb0db.png) 5px 0 no-repeat;background-size:contain}.townOfGnawniaHUD-mouse-bait-thumb{background-color:#c19d74;outline:2px solid #886843}.townOfGnawniaHUD-mouse-bait-name{font-size:13px}.townOfGnawniaHUD-mouse-image.reveal{animation-name:town-of-gnawnia-mouse-reveal-new}@media screen and (prefers-reduced-motion: reduce){.townOfGnawniaHUD-mouse-image{animation:none}}@keyframes town-of-gnawnia-mouse-reveal-new{0%{opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}\n";
}
});

// src/modules/location-huds/town-of-gnawnia/index.js
var town_of_gnawnia_default;
var init_town_of_gnawnia = __esm({
"src/modules/location-huds/town-of-gnawnia/index.js"() {
init_utils2();
init_styles77();
town_of_gnawnia_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default76);
});
}
});

// src/modules/location-huds/train-station/styles.css
var styles_default77;
var init_styles78 = __esm({
"src/modules/location-huds/train-station/styles.css"() {
styles_default77 = ".pendingTrainContainer .trainTableBody{height:340px}.trainStationHUD{height:400px}.trainStationHUD .trainStationPhase .wrongEnvironment b{position:absolute;top:-41px;box-sizing:border-box;height:32px;padding:3px 10px;font-weight:400;line-height:30px;vertical-align:middle;background-color:#ffbfbf}.mousehuntHud-marbleDrawer .tournamentStatusHud.hasError.train{height:32px;overflow:hidden}.pendingTrainContainer .trainRow:hover,.pendingTrainContainer .trainRow:nth-child(2n):hover{background-color:#645052}\n";
}
});

// src/modules/location-huds/train-station/index.js
var train_station_default;
var init_train_station = __esm({
"src/modules/location-huds/train-station/index.js"() {
init_utils2();
init_styles78();
train_station_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default77);
});
}
});

// src/modules/location-huds/windmill/styles.css
var styles_default78;
var init_styles79 = __esm({
"src/modules/location-huds/windmill/styles.css"() {
styles_default78 = ".windmillHud-helpContainer-section-quantity{font-size:14px}\n";
}
});

// src/modules/location-huds/windmill/index.js
var windmill_default;
var init_windmill = __esm({
"src/modules/location-huds/windmill/index.js"() {
init_utils2();
init_styles79();
windmill_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default78);
});
}
});

// src/modules/location-huds/zugzwang-tower/styles.css
var styles_default79;
var init_styles80 = __esm({
"src/modules/location-huds/zugzwang-tower/styles.css"() {
styles_default79 = '.zuzwangsTowerHUD-progress{overflow:visible;counter-reset:chess 0}.zuzwangsTowerHUD-progress img{position:relative;display:inline-block;counter-increment:chess 1}.zuzwangsTowerHUD:hover .zuzwangsTowerHUD-progress:after{position:absolute;top:0;right:0;display:block;padding:2px;margin-right:-40px;font-size:10px;color:#000;content:counter(chess) "/15";background-color:#dcccb3;border-radius:10px}.zuzwangsTowerHUD-amplifierBoundingBox .mousehuntTooltip{left:86px}.zuzwangsTowerHUD-amplifierBoundingBox .mousehuntTooltip .mousehuntTooltip-arrow{display:none}.zuzwangsTowerHUD-currentAmplifier{top:19px;font-size:15px;text-shadow:1px 1px 0 #ded3c1}.zuzwangsTowerHUD:before{position:absolute;top:4px;left:125px;padding:0 20px;font-size:12px;font-weight:900;color:#765e4c;content:"Tower Amplifier";background:radial-gradient(circle,#dac8ab 14%,#efe2cd 76%,transparent 100%)}a.zugzwangsTowerHUD-retreatButton.mousehuntTooltipParent{top:95px}.zugzwangsTowerHUD-retreatButton:hover{background-color:#7d2b2b}\n';
}
});

// src/modules/location-huds/zugzwang-tower/index.js
var zugzwang_tower_default;
var init_zugzwang_tower2 = __esm({
"src/modules/location-huds/zugzwang-tower/index.js"() {
init_utils2();
init_styles80();
zugzwang_tower_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default79);
});
}
});

// src/modules/location-huds/region-living-garden/styles.css
var styles_default80;
var init_styles81 = __esm({
"src/modules/location-huds/region-living-garden/styles.css"() {
styles_default80 = '.livingGardenHud .essenceContainer .item{padding-top:26px;padding-bottom:5px;font-size:14px;text-shadow:0 0 4px #5e5e5e}.livingGardenHud .itemContainer .itemImage .quantity{right:1px;bottom:1px;padding:2px 3px;font-size:12px;font-weight:400}.livingGardenHud.desert_oasis .minigameContainer .pourEstimate{top:45px;font-size:12px}.livingGardenHud.desert_oasis.corrupted .minigameContainer.drops .itemImage .quantity{padding:1px 2px;font-size:12px}.livingGardenHud .itemContainer .itemImage:hover{opacity:.9}.livingGardenHud .essenceContainer .item:hover,.livingGardenHud .essenceContainer .item:focus,.livingGardenHud .essenceContainer .item:active{border-radius:10px;box-shadow:inset 0 0 5px 2px #8cffde}.livingGardenHud .essenceContainer .item:first-child:hover,.livingGardenHud .essenceContainer .item:first-child:focus,.livingGardenHud .essenceContainer .item:first-child:active{width:24px;padding-right:2px;padding-left:16px;margin-left:22px;text-align:left}.itemImage.dewthief_petal_crafting_item:before,.itemImage.dreamfluff_herbs_crafting_item:before,.itemImage.duskshade_petal_crafting_item:before{position:absolute;top:-26px;left:-2px;z-index:1;padding:4px;font-size:12px;font-weight:900;text-align:center;text-shadow:1px 1px 0 #2e1800;content:"Garden";background-color:#412200}.itemImage.dewthief_petal_crafting_item:before{right:-2px;left:-9px;padding-left:6px;color:#7fd981;border-top-left-radius:10px}.itemImage.dreamfluff_herbs_crafting_item:before{right:-2px;left:-3px;color:#91e9fb;content:"City"}.itemImage.duskshade_petal_crafting_item:before{right:-8px;left:-3px;padding-left:2px;color:#f4daba;content:"Desert";border-top-right-radius:10px}.livingGardenHud .itemContainer .itemImage.faded{overflow:visible;opacity:1}.livingGardenHud .itemContainer .itemImage.faded img,.livingGardenHud .itemContainer .itemImage.faded .quantity{opacity:.4}.travelHudLg>div{display:none}.livingGardenHud .minigameContainer .curseContainer .curse.active:after{position:absolute;right:13px;bottom:0;left:15px;padding:2px;font-size:11px;font-weight:900;text-align:center;content:"cursed!";background-color:#050605;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.livingGardenHud .minigameContainer .curseContainer .curse.mist.active:after{color:#086c6a;content:"Clarity";background-color:#8bf7f5;box-shadow:-3px 0 5px 1px #8bf7f5,3px 0 5px -1px #8bf7f5}.livingGardenHud .minigameContainer .curseContainer .curse.darkness.active:after{color:#68a856;text-shadow:0 0 3px #63765f;content:"Shine";background-color:#050605;box-shadow:-7px 4px 5px -1px #649e53,7px 2px 5px -1px #649e53}.livingGardenHud .minigameContainer .curseContainer .curse.fear.active:after{text-shadow:0 0 1px #fee236;content:"Bravery";background-color:#f09036;box-shadow:-7px 2px 5px -1px #da7b34,5px 2px 5px -1px #da7b34}.livingGardenHud.lost_city.corrupted .curse.active .curseActive{display:flex;flex-direction:column;align-items:center;text-align:center}.livingGardenHud .minigameContainer .curseContainer .curse.active .help{inset:20px 18px 20px 20px;display:block;width:unset;height:unset;padding:5px;visibility:hidden}.livingGardenHud .minigameContainer .curseContainer .curse.active .help img{inset:5px 0 0 6px;width:45px;height:45px}.livingGardenHud .minigameContainer .curseContainer .curse.active:hover .help{visibility:visible}.livingGardenHud .minigameContainer .curseContainer .curse.active .help b{position:absolute;top:-22px;right:-5px;left:-5px;padding-top:2px;font-size:12px;visibility:visible;border-top-left-radius:5px;border-top-right-radius:5px}.livingGardenHud .minigameContainer .curseContainer .curse.mist.active .help b{color:#086c6a;content:"Clarity";background-color:#8bf7f5;box-shadow:-3px 0 5px 1px #8bf7f5,3px 0 5px -1px #8bf7f5}.livingGardenHud .minigameContainer .curseContainer .curse.darkness.active .help b{color:#68a856;text-shadow:0 0 3px #63765f;content:"Shine";background-color:#050605;box-shadow:-5px -3px 5px -2px #649e53,6px -2px 5px -2px #649e53}.livingGardenHud .minigameContainer .curseContainer .curse.fear.active .help b{text-shadow:0 0 1px #fee236;content:"Bravery";background-color:#f09036;box-shadow:-7px 2px 5px -1px #da7b34,5px 2px 5px -1px #da7b34}.livingGardenHud .minigameContainer .curseContainer .curse.active .help span{margin:0}.livingGardenHud.lost_city.corrupted .curse{display:block!important;visibility:hidden}.livingGardenHud.lost_city.corrupted .curse .curseDispelled{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;visibility:visible;background-color:#f6ffd4;box-shadow:inset 0 0 5px #000}.livingGardenHud.lost_city.corrupted .curse.active{visibility:visible}.livingGardenHud.lost_city.corrupted .curse .curseDispelled b{font-size:11px;text-decoration:line-through}.livingGardenHud.lost_city.corrupted .curse .curseDispelled br{display:none}.livingGardenHud .minigameContainer{z-index:1}\n';
}
});

// src/modules/location-huds/region-living-garden/index.js
var region_living_garden_default;
var init_region_living_garden = __esm({
"src/modules/location-huds/region-living-garden/index.js"() {
init_utils2();
init_styles81();
region_living_garden_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default80);
});
}
});

// src/modules/location-huds/region-queso/styles.css
var styles_default81;
var init_styles82 = __esm({
"src/modules/location-huds/region-queso/styles.css"() {
styles_default81 = ".quesoHUD-wildTonic-quantity.quantity{top:4px;left:42px;padding:1px;font-size:13px;line-height:initial;text-shadow:1px 1px 1px #825842}.quesoHUD-bait-group-baitQuantity.quantity{z-index:1;font-size:12px;text-shadow:1px 1px 1px #715c4e;border-radius:4px}.ember_root_crafting_item .quesoHUD-bait-group-craftingQuantity.quantity,.ember_stone_crafting_item .quesoHUD-bait-group-craftingQuantity.quantity{position:absolute;top:5px;right:-20px;z-index:1;display:block;font-size:12px;text-shadow:1px 1px 1px #715c4e;background-color:#715c4eab;border-radius:4px}.quesoGeyserHUD .quesoHUD-bait-group .mousehuntItem-image{background-color:#e8c4ab}.quesoGeyserHUD .disabled .mousehuntItem-image{top:1px;left:-1px;box-shadow:0 0 20px #333 inset}.quesoGeyserHUD .quesoHUD-bait-group-spiceImage .mousehuntItem-image{top:1px;left:-1px;width:21px;height:21px;background-color:#755541;background-size:100%}.quesoGeyserHUD .quesoHUD-bait-group.bland_queso_cheese .mousehuntItem-image{top:-2px}.quesoGeyserHUD-nestBlock:hover .quesoGeyserHUD-nestBlock-image-transition{opacity:1;transition:opacity .3s ease-in-out}.quesoHUD-bait-group:hover .quesoHUD-bait-group-tooltip{padding:4px 3px;font-size:12px;background-color:#505050;border:none;border-radius:10px}.quesoCanyonHUD-pump-nachore-padding span.quantity{padding:3px;font-size:12px;background:#4d8d4a;border-radius:10px}.quesoGeyserHUD-block-title.quesoGeyserHUD-stateName{margin:2px 8px 1px;font-size:13px;background-color:#723b14;box-shadow:0 0 5px -1px inset #90542a}#hudLocationContent .quesoGeyserHUD:hover .quesoHUD-wildTonic-button.selected:after{transform-origin:center;animation:mh-improved-sway-side-to-side .45s;animation-iteration-count:2}@media (prefers-reduced-motion: reduce){#hudLocationContent .quesoGeyserHUD:hover .quesoHUD-wildTonic-button.selected:after{animation:none}}.quesoGeyserHUD-block-huntsRemaining{padding-top:4px;padding-bottom:2px;font-size:38px}.quesoGeyserHUD-block-huntsRemaining-label.eruption.claim{font-size:10px;color:#d7d7d7;text-transform:lowercase}.quesoGeyserHUD-craftingItem-quantity.quantity{font-size:13px;background-color:#815942;border-radius:3px;box-shadow:0 0 5px -1px inset #90542a}.quesoHUD-bait-group-spiceQuantity.quantity{top:29px;font-size:12px}.quesoGeyserHUD .quesoHUD-bait-group.bland_queso_cheese .quesoHUD-bait-group-baitQuantity{top:18px;padding-left:3px;background-color:#723b14;border-top-left-radius:5px;border-bottom-left-radius:5px;box-shadow:0 0 5px -1px inset #90542a}.quesoCanyonHUD.showBossCheese .quesoHUD-bait-group.super_brie_cheese .quesoHUD-bait-group-baitQuantity{right:26px}.quesoHUD-bait-group{display:inline-block}.quesoHUD-bait-group-cheeseImage .mousehuntItem-image,.quesoHUD-bait-group-spiceImage .mousehuntItem-image{background-color:transparent}.quesoHUD-bait-group-spiceImage .mousehuntItem-image{border:none;box-shadow:none;transform:scale(1.2);transform-origin:top}\n";
}
});

// src/modules/location-huds/region-queso/index.js
var region_queso_default;
var init_region_queso = __esm({
"src/modules/location-huds/region-queso/index.js"() {
init_utils2();
init_styles82();
region_queso_default = () => __async(void 0, null, function* () {
  addHudStyles(styles_default81);
});
}
});

// src/modules/location-huds/event-locations/birthday/styles.css
var styles_default82;
var init_styles83 = __esm({
"src/modules/location-huds/event-locations/birthday/styles.css"() {
styles_default82 = '.superBrieFactoryHUD-vendingMachine-quantity.quantity,.superBrieFactoryHUD-item-quantity.quantity{font-size:12px;line-height:15px}.superBrieFactoryHUD-itemContainer.boss_ticket .superBrieFactoryHUD-item-quantity.quantity{padding:1px;margin-right:-2px;font-size:12px;line-height:12px;background-color:#f6f3eb;border:1px solid #aeb1b0;border-radius:2px}.superBrieFactoryHUD-pipeProgress{font-size:10px}.superBrieFactoryHUD-vendingMachine-quantity{min-width:30px;margin-right:4px;text-align:right}.superBrieFactoryHUD-factoryRoom.mixing_room,.superBrieFactoryHUD-factoryRoom.break_room,.superBrieFactoryHUD-factoryRoom.pumping_room,.superBrieFactoryHUD-factoryRoom.quality_assurance_room{box-sizing:border-box;padding:2px;border:1px solid #000}.superBrieFactoryHUD-factoryRoom.mixing_room,.superBrieFactoryHUD-factoryRoom.break_room,.superBrieFactoryHUD-factoryRoom.pumping_room,.superBrieFactoryHUD-factoryRoom.quality_assurance_room,.superBrieFactoryHUD-factoryRoom.mixing_room:before,.superBrieFactoryHUD-factoryRoom.break_room:before,.superBrieFactoryHUD-factoryRoom.pumping_room:before,.superBrieFactoryHUD-factoryRoom.quality_assurance_room:before{background-repeat:no-repeat;background-size:100%}.superBrieFactoryHUD-factoryRoom.mixing_room{background-image:url(https://www.mousehuntgame.com/images/ui/events/birthday_factory/active_mixing_room.jpg?cv=Birthday2022&asset_cache_version=2)}.superBrieFactoryHUD-factoryRoom.break_room{background-image:url(https://www.mousehuntgame.com/images/ui/events/birthday_factory/active_break_room.jpg?cv=Birthday2022&asset_cache_version=2);background-size:contain}.superBrieFactoryHUD-factoryRoom.pumping_room{background-image:url(https://www.mousehuntgame.com/images/ui/events/birthday_factory/active_pump_room.jpg?cv=Birthday2022&asset_cache_version=2)}.superBrieFactoryHUD-factoryRoom.quality_assurance_room{background-image:url(https://www.mousehuntgame.com/images/ui/events/birthday_factory/active_qa_room.jpg?cv=Birthday2022&asset_cache_version=2)}.superBrieFactoryHUD-factoryRoom.mixing_room:before,.superBrieFactoryHUD-factoryRoom.break_room:before,.superBrieFactoryHUD-factoryRoom.pumping_room:before,.superBrieFactoryHUD-factoryRoom.quality_assurance_room:before{background-image:none}.superBrieFactoryHUD-factoryRoom:before{border-color:#fe9ff1;border-width:1px;border-radius:1px;outline:1px solid #dc4a9e;box-shadow:inset 0 0 2px 1px #87378f}.superBrieFactoryHUD-factoryRoom:after{top:44px;left:3px;width:149px;background-color:#15ff46;background-image:none;filter:invert(1);mix-blend-mode:color;opacity:.3}.superBrieFactoryHUD-factoryRoom:nth-child(2) .superBrieFactoryHUD-factoryRoom-level,.superBrieFactoryHUD-factoryRoom:nth-child(4) .superBrieFactoryHUD-factoryRoom-level{left:43px}.superBrieFactoryHUD-room-name{margin-top:5px;font-size:12px}.superBrieFactoryHUD-room-effectPrefix{margin-bottom:4px;font-size:10px}.superBrieFactoryHUD-room-costLevel.level_max{margin-top:5px}.level_5 .superBrieFactoryHUD-room-cost-levelNumber{display:none}.level_5 .superBrieFactoryHUD-room-cost-effect{margin-left:-6px}.superBrieFactoryHUD-room-costLevel{margin-top:5px}.superBrieFactoryHUD-factoryRoom-level{left:75.5px}.superBrieFactoryHUD-showControlPanelButton:after{background-color:#4cc2a6;border-radius:4px}.superBrieFactoryHUD-craftingItem.active .quantity:before{position:absolute;inset:8px 0 0;display:block;content:""}.superBrieFactoryHUD-craftingItem .quantity{position:absolute;inset:4px 5px 2px 15px;display:flex;align-items:center;justify-content:flex-end;padding-right:3px;margin-right:-10px;background-color:#f6f3eb;border:1px solid #aeb1b0;border-radius:2px}.superBrieFactoryHUD-craftingItem.active .quantity{color:#fff;text-shadow:none;background-color:#338577;border-color:#2dc49f}.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_break_room_stat_item]:after,.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_mixing_room_stat_item]:after,.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_pumping_room_stat_item]:after,.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_quality_assurance_room_stat_item]:after{position:absolute;top:-4px;left:-16px;width:20px;height:20px;content:"";background-size:contain}.superBrieFactoryHUD-craftingItem.active .quantity[data-item-type=birthday_factory_break_room_stat_item]:after,.superBrieFactoryHUD-craftingItem.active .quantity[data-item-type=birthday_factory_mixing_room_stat_item]:after,.superBrieFactoryHUD-craftingItem.active .quantity[data-item-type=birthday_factory_pumping_room_stat_item]:after,.superBrieFactoryHUD-craftingItem.active .quantity[data-item-type=birthday_factory_quality_assurance_room_stat_item]:after{transform:scale(1.3)}.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_break_room_stat_item]:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/4a52c6d8607991a93d3167ac401802ec.png?cv=2)}.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_mixing_room_stat_item]:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/2396577aacb317979238844ae30b62c1.png?cv=2)}.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_pumping_room_stat_item]:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/c3c5cb340c3949ba5280c63b2f552a19.png?cv=2)}.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_quality_assurance_room_stat_item]:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/97bb19e8f5ae6cc29a7a0f312a1a3b14.png?cv=2)}.superBrieFactoryHUD-item-boundingBox{z-index:1}.superBrieFactoryHUD-item-boundingBox[data-item-type=coggy_colby_cheese]:before,.superBrieFactoryHUD-item-boundingBox[data-item-type=speed_coggy_colby_cheese]:before,.superBrieFactoryHUD-item-boundingBox[data-item-type=birthday_factory_trinket]:before{position:absolute;inset:-16px 0 0 -1px;content:"";background-repeat:no-repeat;background-size:45px;transition:transform .3s;transform:rotate(351deg)}.superBrieFactoryHUD-item-boundingBox[data-item-type=coggy_colby_cheese]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/39a63a48084383a7eb07d64c74357544.png?cv=2)}.superBrieFactoryHUD-item-boundingBox[data-item-type=speed_coggy_colby_cheese]:before{top:-15px;background-image:url(https://www.mousehuntgame.com/images/items/bait/large/9326f63ea3644631c5fe8360ea4ffdf5.png?cv=2)}.superBrieFactoryHUD-item-boundingBox[data-item-type=birthday_factory_trinket]:before{top:-9px;left:5px;background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/907ce5291e023dedae8ed33c98546743.png?cv=2);background-size:36px;transform:rotate(0)}.superBrieFactoryHUD-item-boundingBox:hover:before{transform:scale(1.3)}.superBrieFactoryHUD-item-quantity.quantity{position:relative;z-index:2}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot{animation:mh-improved-hue-scale 1s 1}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot:nth-child(1){animation-delay:0s}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot:nth-child(2){animation-delay:.2s}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot:nth-child(3){animation-delay:.4s}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot:nth-child(4){animation-delay:.5s}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot:nth-child(5){animation-delay:.6s}@keyframes mh-improved-hue-scale{0%{filter:hue-rotate(0deg);transform:scale(1)}50%{filter:hue-rotate(360deg);transform:scale(1.5)}to{filter:hue-rotate(0deg);transform:scale(1)}}@media (prefers-reduced-motion: reduce){.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot{animation:none}.superBrieFactoryHUD-item-boundingBox:hover:before{transform:none}}.superBrieFactoryVendingMachinePopup .superBrieFactoryVendingMachineView-numTokens{top:202px;right:57px;background:transparent;border:none;box-shadow:none}.superBrieFactoryHUD .superBrieFactoryHUD-dateCountdownMiniWrapper{top:-10px}.hudLocationContent.super_brie_factory{filter:drop-shadow(0 1px 2px #000)}.superBrieFactoryVendingMachineView-snackPack-cost{font-size:14px;line-height:15px;text-shadow:0 2px #343440}.superBrieFactoryVendingMachineView-snackPack:hover .superBrieFactoryVendingMachineView-snackPack-cost{text-shadow:0 2px #f7d877}.superBrieFactoryVendingMachineView{background-image:url(https://i.mouse.rip/bday/vending-machine-2.png)}.vending-machine-can{position:absolute;right:1px;bottom:40px;width:40px;height:53px;content:"";background-image:url(https://i.mouse.rip/bday/vending-machine-can.png);background-repeat:no-repeat;background-size:contain}.vending-machine-hat{position:absolute;top:23px;right:41px;z-index:1;width:38px;height:21px;content:"";background-image:url(https://i.mouse.rip/bday/vending-machine-hat-2.png);background-repeat:no-repeat;background-size:contain}.superBrieFactoryHUD-dateCountdownMiniWrapper.mousehuntTooltipParent .mousehuntTooltip{top:40px}.superBrieFactoryClaimReward-item .itemImage{border:none}\n';
}
});

// src/modules/location-huds/event-locations/birthday/index.js
var changeColors, updateDateTooltip, spaceNumbers, updateDateDates, birthdayGlobal, birthdayLocation;
var init_birthday = __esm({
"src/modules/location-huds/event-locations/birthday/index.js"() {
init_utils2();
init_styles83();
changeColors = () => {
  const popup = document.querySelector(".superBrieFactoryVendingMachinePopup");
  if (!popup) {
    return;
  }
  const can = makeElement("div", "vending-machine-can");
  const updateColor = () => {
    const hue = Math.floor(Math.random() * 360);
    can.style.filter = `hue-rotate(${hue}deg)`;
  };
  can.addEventListener("click", updateColor);
  updateColor();
  popup.append(can);
  const hat = makeElement("div", "vending-machine-hat");
  let initialMouseX = 0;
  let initialHatX = 0;
  let isDragging = false;
  hat.addEventListener("mousedown", (event) => {
    isDragging = true;
    initialMouseX = event.clientX;
    initialHatX = Number.parseInt(window.getComputedStyle(hat).left, 10);
  });
  document.addEventListener("mousemove", (event) => {
    if (isDragging) {
      const deltaX = event.clientX - initialMouseX;
      const newPosition = initialHatX + deltaX;
      if (newPosition >= 25 && newPosition <= 415) {
        hat.style.left = `${newPosition}px`;
      }
    }
  });
  document.addEventListener("mouseup", () => {
    isDragging = false;
  });
  popup.append(hat);
};
updateDateTooltip = () => {
  const tooltip = document.querySelector(".superBrieFactoryHUD-dateCountdownMiniWrapper.mousehuntTooltipParent .mousehuntTooltip");
  if (!tooltip) {
    return;
  }
  if (tooltip.getAttribute("data-changed")) {
    return;
  }
  tooltip.classList.add("bottom");
  tooltip.classList.remove("top");
  tooltip.setAttribute("data-changed", "true");
};
spaceNumbers = (text) => {
  return text.replaceAll(/(\d+)/g, " $1 ").trim();
};
updateDateDates = () => {
  const badge = document.querySelector(".superBrieFactoryHUD-dateCountdownMiniContainer .dateCountdownMini__remainingText");
  if (badge) {
    if (badge.getAttribute("data-changed")) {
      return;
    }
    badge.innerHTML = spaceNumbers(badge.innerHTML);
    badge.setAttribute("data-changed", "true");
  }
  const tooltip = document.querySelector(".superBrieFactoryHUD-dateCountdownMiniWrapper.mousehuntTooltipParent .mousehuntTooltip .dateCountdown__datesContainer .dateCountdown__remainingText");
  if (tooltip) {
    if (tooltip.getAttribute("data-changed")) {
      return;
    }
    tooltip.innerHTML = spaceNumbers(tooltip.innerHTML);
    tooltip.setAttribute("data-changed", "true");
  }
};
birthdayGlobal = () => {
};
birthdayLocation = () => __async(void 0, null, function* () {
  addHudStyles(styles_default82);
  setMultipleTimeout(() => {
    updateDateTooltip();
    updateDateDates();
  }, [100, 500, 1e3]);
  onDialogShow("superBrieFactoryVendingMachinePopup", () => {
    setTimeout(changeColors, 500);
  });
});
}
});

// src/modules/location-huds/event-locations/great-winter-hunt/styles.css
var styles_default83;
var init_styles84 = __esm({
"src/modules/location-huds/event-locations/great-winter-hunt/styles.css"() {
styles_default83 = '.headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity{margin-top:-2px;margin-right:1px;margin-left:0;font-size:12px;background-color:#4484a2;border-radius:3px;box-shadow:inset 0 0 0 1px #154b6f}.headsUpDisplayWinterHuntRegionView__golemPart:nth-child(3) .headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity{margin-right:-2px;margin-left:2px}.headsUpDisplayWinterHuntRegionView__golemPart:nth-child(2) .headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity{margin-right:-1px;margin-left:1px}.headsUpDisplayWinterHuntRegionView__golemPart:nth-child(4) .headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity{padding-top:0;padding-bottom:2px;margin-top:4px;margin-right:0;margin-left:0;color:#133850;background:linear-gradient(90deg,#0c5168 1%,#95c2d3 10%,#a8d3e0 16% 84%,#6ba1bb 92%,#0c5168 96%);border-radius:0 0 3px 3px;box-shadow:inset 1px -2px 2px -1px #0b3f55}.headsUpDisplayWinterHuntRegionView__golemPart:nth-child(5) .headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity{padding-top:1px;padding-bottom:1px;margin-top:-2px;margin-right:-1px;margin-left:1px;color:#133850;background-color:#a8d3e0;box-shadow:inset 0 0 1px 1px #5f9bb4}.headsUpDisplayWinterHuntRegionView__golemBuffQuantity.quantity{font-size:11px;color:#133850}.headsUpDisplayWinterHuntRegionView__golemUpgradeCost{position:absolute;top:6px;right:22px;left:24px;display:flex;align-items:center;justify-content:center;height:15px;padding:2px;margin-left:-1px;font-size:12px;color:#86c8e4;text-align:center;background-color:#18536d;border:1px solid #915211;border-radius:10px;box-shadow:inset 0 0 2px 1px #113346,1px -2px 1px -1px #e9c320,-8px 6px 0 -6px #6c5528}.headsUpDisplayWinterHuntRegionView__golemUpgradeCost:after{display:none}.headsUpDisplayWinterHuntRegionView__golemLevel{align-items:center;justify-content:center;margin-top:1px}.headsUpDisplayWinterHuntRegionView__environmentItemQuantity.quantity{font-size:13px}.headsUpDisplayWinterHuntRegionView__cinnamon{margin-bottom:9px}.headsUpDisplayWinterHuntRegionView__fuelQuantity.quantity{font-size:13px}.headsUpDisplayWinterHuntRegionView__baitImageButton{filter:drop-shadow(0 0 3px #a8d3e0);background-position:-1px -4px;background-size:41px;border-radius:50%}.headsUpDisplayWinterHuntRegionView__basicBaitContainer.super_brie_cheese .headsUpDisplayWinterHuntRegionView__baitImageButton{background-position:-3px -4px;border-radius:50%}.greatWinterHuntGolemManagerLaunchTabView__toggleButton{background:linear-gradient(to bottom,#fff9f9 50%,#71a4eb);border:none}.greatWinterHuntGolemManagerLaunchTabView__toggleButton--disabled{filter:grayscale(1);opacity:.7}.greatWinterHuntGolemManagerLaunchTabView__toggleItemQuantity{padding:4px;font-size:13px}.greatWinterHuntGolemManagerLaunchTabView__toggleItemImage{top:-10px;left:-11px;width:40px;height:40px}.greatWinterHuntDialogView__footerItemQuantity.quantity{padding:3px;font-size:13px;border-radius:5px;box-shadow:inset 0 0 1px 1px #a8d3e0}.greatWinterHuntDialogView__inventoryFooter .headsUpDisplayWinterHuntRegionView__plusButton{position:absolute;right:-15px;display:none;width:19px;height:19px;background-size:cover;border-radius:2px;box-shadow:0 0 1px 1px #527e8f}.greatWinterHuntDialogView__inventoryFooter:hover button.headsUpDisplayWinterHuntRegionView__plusButton,.greatWinterHuntDialogView__inventoryFooter:focus button.headsUpDisplayWinterHuntRegionView__plusButton,.greatWinterHuntDialogView__inventoryFooter:active button.headsUpDisplayWinterHuntRegionView__plusButton{display:block}.headsUpDisplayWinterHuntRegionView__golemHuntsRemaining{display:flex;align-items:center;justify-content:center;height:26px;padding-top:0;margin-top:1px;font-size:15px;line-height:unset;background-color:#0d3650;border-radius:5px 1px 1px 5px;box-shadow:inset 0 0 2px 2px #5d747f}.headsUpDisplayWinterHuntRegionView__golemChatMessage span{display:flex;width:unset;padding-bottom:2px;font-size:10px;line-height:10px}.headsUpDisplayWinterHuntRegionView__golemChatMessage:before{top:100%}.headsUpDisplayWinterHuntRegionView__golem:nth-child(1) .headsUpDisplayWinterHuntRegionView__golemChatMessage{padding:3px;transform:rotate(-5deg) translate(-10px) translateY(-25px)}.headsUpDisplayWinterHuntRegionView__golem:nth-child(2) .headsUpDisplayWinterHuntRegionView__golemChatMessage{padding:3px;transform:translateY(-25px)}.headsUpDisplayWinterHuntRegionView__golem:nth-child(3) .headsUpDisplayWinterHuntRegionView__golemChatMessage{padding:3px;transform:rotate(5deg) translate(10px) translateY(-25px)}.headsUpDisplayWinterHuntRegionView__golem .headsUpDisplayWinterHuntRegionView__golemChatMessage{opacity:0;transition:opacity .3s}.headsUpDisplayWinterHuntRegionView__golem:hover .headsUpDisplayWinterHuntRegionView__golemChatMessage,.headsUpDisplayWinterHuntRegionView__golem:focus .headsUpDisplayWinterHuntRegionView__golemChatMessage,.headsUpDisplayWinterHuntRegionView__golem:active .headsUpDisplayWinterHuntRegionView__golemChatMessage{opacity:1}.winterHuntGolemView__golem{z-index:11;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 4px #18536d);transform:translateY(-8px)}.winterHuntGolemView__head,.winterHuntGolemView__arms,.winterHuntGolemView__legs,.winterHuntGolemView__torso,.winterHuntGolemView__scarf{transform:scale(1.6)}.greatWinterHuntClaimRewardDialogView__golem .winterHuntGolemView__head,.greatWinterHuntClaimRewardDialogView__golem .winterHuntGolemView__arms,.greatWinterHuntClaimRewardDialogView__golem .winterHuntGolemView__legs,.greatWinterHuntClaimRewardDialogView__golem .winterHuntGolemView__torso,.greatWinterHuntClaimRewardDialogView__golem .winterHuntGolemView__scarf{transform:scale(1.3) translate(10px)}.winterHuntGolemView.winterHuntGolemView--idleAnimation .winterHuntGolemView__head,.winterHuntGolemView.winterHuntGolemView--idleAnimation:hover .winterHuntGolemView__head,.winterHuntGolemView.winterHuntGolemView--idleAnimation:focus .winterHuntGolemView__head,.winterHuntGolemView.winterHuntGolemView--idleAnimation:active .winterHuntGolemView__head{transform-origin:48% 51%}.winterHuntGolemView__background{box-shadow:0 0 25px 25px #e0f7fd inset}@keyframes golemLegWiggle{0%{transform:scale(1.6) rotate(2deg)}50%{transform:scale(1.6) rotate(-2deg)}to{transform:scale(1.6) rotate(2deg)}}@keyframes golemArmWiggle{0%{transform:scale(1.6) rotate(8deg)}50%{transform:scale(1.6) rotate(-8deg)}to{transform:scale(1.6) rotate(8deg)}}@keyframes golemHeadWiggle{0%{transform:scale(1.6) translateY(-3px)}50%{transform:scale(1.6) translateY(3px)}to{transform:scale(1.6) translateY(-3px)}}@keyframes golemHeadWiggleExcited{0%{transform:scale(1.6) translateY(-5px)}50%{transform:scale(1.6) translateY(1px)}to{transform:scale(1.6) translateY(-5px)}}@keyframes golemJump{0%{transform:scaleY(.28)}20%{transform:scaleY(.96)}50%{transform:scaleY(1.6) translateY(-8.5%)}60%{transform:scaleY(1.6) translateY(-8%)}95%{transform:scaleY(1.52) translateY(1%)}to{transform:scaleY(1.6) translateY(0)}}.greatWinterHuntGolemManagerDialogView__activeGolem{overflow:visible}.activeJsDialog .headsUpDisplayWinterHuntRegionView__golemChatMessage{display:none}.greatWinterHuntGolemManagerDialogView__golemPanel{background-color:#32748c}.greatWinterHuntGolemManagerDialogView__golemPreview .winterHuntGolemView__background{border-bottom:1px solid #3887a3;box-shadow:0 0 40px 76px #99cadc inset,0 11px 10px -6px #52b1d3}.greatWinterHuntGolemManagerDialogView__golem .winterHuntGolemView{width:60px}.greatWinterHuntGolemManagerDialogView__golem{width:33%;margin:0}.greatWinterHuntGolemManagerDialogView__golemUpgradeButton{position:absolute;bottom:-25px;left:5px;display:flex;flex-direction:row;width:90%;font-size:13px;background-position-x:45px;transform-origin:0 -40px}.greatWinterHuntGolemManagerDialogView__golem:hover,.greatWinterHuntGolemManagerDialogView__golem:focus,.greatWinterHuntGolemManagerDialogView__golem:active{transform:none}.greatWinterHuntGolemManagerDialogView__golem:hover button.greatWinterHuntGolemManagerDialogView__golemSelectButton,.greatWinterHuntGolemManagerDialogView__golem:focus button.greatWinterHuntGolemManagerDialogView__golemSelectButton,.greatWinterHuntGolemManagerDialogView__golem:active button.greatWinterHuntGolemManagerDialogView__golemSelectButton{transform:scale(1.1)}.greatWinterHuntGolemManagerDialogView__golem .greatWinterHuntGolemManagerDialogView__golemSelectButton{filter:brightness(.9)!important}.greatWinterHuntGolemManagerUpgradeTabView__itemQuantity{margin-top:35px;font-size:14px;background:#d7f4fe;border:1px solid #000;box-shadow:none}.greatWinterHuntGolemManagerUpgradeTabView__item--box{background-color:#96e3fd;border-width:1px}.greatWinterHuntDialogView__bigButtonInlineCostQuantity{margin-top:12px;font-size:19px;box-shadow:0 0 20px 4px #074762 inset}.greatWinterHuntDialogView__bigButtonInlineCost{margin-right:20px}.greatWinterHuntDialogView__button{filter:saturate(.6)}.greatWinterHuntGolemManagerReturnTabView__progressContainer b{display:block;font-size:15px}.greatWinterHuntGolemManagerReturnTabView__progressContainer b:after,.greatWinterHuntGolemManagerReturnTabView__progressContainer b:before{content:" \\1f389\\fe0f  "}.greatWinterHuntGolemManagerReturnTabView__instantReturnBellCost{padding:0 3px 1px;margin:0 -3px -1px -5px;font-size:23px;background:linear-gradient(23deg,#e78700,#d16e07);border-radius:3px;box-shadow:-1px -3px 5px -3px #f9a148}.greatWinterHuntGolemManagerReturnTabView__instantReturnButton--disabled .greatWinterHuntGolemManagerReturnTabView__instantReturnBellCost{background:linear-gradient(23deg,#8d8d8d,#7e7e7e);box-shadow:none}.greatWinterHuntRecycleDialogView__itemQuantity.quantity{top:185px;right:unset;left:unset;min-width:40px;font-size:18px;background-color:#ffffffbf}.greatWinterHuntRecycleDialogView__item{align-items:center}.greatWinterHuntRecycleDialogView__action{border-radius:4px}.greatWinterHuntRecycleDialogView__craftCost:before{font-size:24px;content:"\\2212"}.greatWinterHuntRecycleDialogView__smashYield:before{font-size:24px;content:"+"}.greatWinterHuntRecycleDialogView__golemRequirement{margin-bottom:3px;font-size:13px}.greatWinterHuntRecycleDialogView__action:after{position:absolute;top:60px;left:-10px;width:20px;height:10px;content:""}.greatWinterHuntRecycleDialogView__golemRequirementContainer{margin-left:-10px}.greatWinterHuntRecycleDialogView__golemRequirementTitle{padding-bottom:4px;color:#1863bf}.greatWinterHuntRecycleDialogView__item:nth-child(1) .greatWinterHuntRecycleDialogView__itemQuantity.quantity{top:175px}.possibleGolems .greatWinterHuntDialogView__footerItemQuantity.quantity{background-color:#51516e;box-shadow:inset 0 0 1px 1px #6ea0d1}.greatWinterHuntDialogView__footerItemSeperator{width:50px}.headsUpDisplayWinterHuntIceFortressView__shieldLabel.headsUpDisplayWinterHuntIceFortressView__shieldLabel--active{top:6px;font-size:11px;background-color:#273852;border-radius:13px}.headsUpDisplayWinterHuntRegionView__hailstones .headsUpDisplayWinterHuntRegionView__resourceCost{top:39px;font-size:14px;background-color:#8de3e4}.greatWinterHuntRecycleDialogView__itemQuantity.quantity[data-item-type=golem_part_limb_stat_item]{display:flex;gap:4px;align-items:center;justify-content:space-evenly}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{top:172px;left:54px;width:20px;font-size:14px;background:linear-gradient(54deg,#c87d0e,#9f510c);border-radius:4px}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton:nth-child(2) .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{left:55px}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton:nth-child(3) .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{left:56px}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--inactive .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{background:linear-gradient(90deg,#7d3415,#5a231c)}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--inactive:hover .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining,.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--inactive:focus .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining,.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--inactive:active .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{background:linear-gradient(112deg,#91492a,#602726)}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--active:hover .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining,.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--active:focus .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining,.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--active:active .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{background:linear-gradient(54deg,#e77f14,#b8590f)}#overlayPopup.greatWinterHuntDialog{margin-top:30px}.greatWinterHuntClaimRewardDialogView__title{padding-left:20px}.greatWinterHuntGolemManagerDialogView__destinationViewContainer--active{z-index:11}button.greatWinterHuntGolemManagerDialogView__randomizeButton{top:15px}.greatWinterHuntGolemManagerDialogView__activeGolemControls.greatWinterHuntGolemManagerDialogView__activeGolemControls--decrement{right:-25px;left:unset;border-radius:10px 0 0 10px}.greatWinterHuntGolemManagerDialogView__partButton{opacity:1}.greatWinterHuntGolemManagerDialogView__activeGolemControls--increment{right:-45px}.greatWinterHuntGolemManagerDialogView__activeGolemControls:hover,.greatWinterHuntGolemManagerDialogView__activeGolemControls:focus,.greatWinterHuntGolemManagerDialogView__activeGolemControls:active,.greatWinterHuntGolemManagerDialogView__activeGolem:hover .greatWinterHuntGolemManagerDialogView__activeGolemControls,.greatWinterHuntGolemManagerDialogView__activeGolem:focus .greatWinterHuntGolemManagerDialogView__activeGolemControls,.greatWinterHuntGolemManagerDialogView__activeGolem:active .greatWinterHuntGolemManagerDialogView__activeGolemControls{z-index:12;opacity:.8}.greatWinterHuntGolemManagerDialogView__activeGolemControls{top:40px;padding:20px 5px 0;background-color:#32748c;opacity:.1}.greatWinterHuntGolemManagerDialogView__activeGolemControls.greatWinterHuntGolemManagerDialogView__activeGolemControls--increment{border-radius:0 10px 10px 0}.greatWinterHuntGolemManagerDialogView__activeGolemContent .winterHuntGolemView--hasScarf .winterHuntGolemView__scarf{top:15px}.headsUpDisplayWinterHuntRegionView__warning{width:170px;padding:10px;font-size:13px;font-weight:900;line-height:20px;color:#2f2a2a;text-align:center;border:none}.headsUpDisplayWinterHuntRegionView__trapWarningContainer .greatWinterHuntDialogView{top:25%;z-index:11}.headsUpDisplayWinterHuntRegionView__trapWarningContainer.headsUpDisplayWinterHuntRegionView__trapWarningContainer--active{filter:drop-shadow(0 0 7px #000)}.headsUpDisplayWinterHuntRegionView__trapWarningContainer.headsUpDisplayWinterHuntRegionView__trapWarningContainer--active .greatWinterHuntDialogView__content{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.greatWinterHuntRewardTrackView--allRewardsClaimed .greatWinterHuntRewardTrackView__claimedLabel{color:transparent;background:transparent}.greatWinterHuntRewardTrackView--allRewardsClaimed .greatWinterHuntRewardTrackView__bar{filter:hue-rotate(347deg);transition:none}.greatWinterHuntRewardTrackView__golem:hover{animation:wallDamageWiggleSmall .3s infinite}.greatWinterHuntRewardTrackView__golem:focus,.greatWinterHuntRewardTrackView__golem:active{animation-name:wallDamageWiggle}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton .mousehuntTooltip{bottom:30%}.greatWinterHuntNewYearsDialogView__shopsButton{transition:none}.greatWinterHuntNewYearsDialogView__itemImage{background-size:contain}#overlayPopup.winter_hunt_profile_tree_possible_gifts .suffix{display:flex;flex-direction:row;align-items:center;justify-content:flex-end}#overlayPopup.winter_hunt_profile_tree_possible_gifts .wrappingGoldCost{order:1;margin-right:10px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .suffix .cancelGift{order:5}#overlayPopup.winter_hunt_profile_tree_possible_gifts .suffix .sendGift{order:10}#overlayPopup.winter_hunt_profile_tree_possible_gifts .giftCostContainer{line-height:2}#overlayPopup.winter_hunt_profile_tree_possible_gifts .recipientContainer img{width:100px;height:100px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .recipientContainer{padding:10px;border:1px solid #ccc;border-radius:5px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .winter_hunt_profile_tree_possible_gifts-search{padding:5px;margin:10px;font-size:12px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .winter_hunt_profile_tree_possible_gifts-clearSearch{top:10px;right:12px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .winter_hunt_profile_tree_possible_gifts-clearSearch:hover,#overlayPopup.winter_hunt_profile_tree_possible_gifts .winter_hunt_profile_tree_possible_gifts-clearSearch:focus,#overlayPopup.winter_hunt_profile_tree_possible_gifts .winter_hunt_profile_tree_possible_gifts-clearSearch:active{color:#e33f3f;text-decoration:none}#overlayPopup.winter_hunt_profile_tree_possible_gifts .giftChannel-title{margin-bottom:10px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .recipient{float:right;padding:10px;margin:-25px 20px 0 10px;border:1px solid #ccc;border-radius:5px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .giftDescription{margin-left:0}.winterHuntProfileInteractionView-gifting{background-position-x:0;background-size:130px}.winterHuntProfileInteractionView .info{width:190px;margin-top:10px}.winterHuntProfileInteractionView-giftCeremony{line-height:1.5}.winterHuntProfileInteractionView a.giftBox:hover,.winterHuntProfileInteractionView a.giftBox:focus,.winterHuntProfileInteractionView a.giftBox:active{filter:brightness(1.1)}.headsUpDisplayWinterHuntRegionView__bait .mousehuntTooltip{width:175px;line-height:1.5}.greatWinterHuntGolemManagerTabView__destinationCount{margin-left:5px}.greatWinterHuntGolemDestinationView__environmentImage{border-radius:0 0 2px 2px;transition:all .2s ease-in-out}.headsUpDisplayWinterHuntRegionView__newYearsButton--active{opacity:.8}.headsUpDisplayWinterHuntRegionView__newYearsButton--active:hover{opacity:1}.headsUpDisplayWinterHuntRegionView{filter:drop-shadow(0 1px 5px #1b202b)}\n';
}
});

// src/modules/location-huds/event-locations/great-winter-hunt/global.css
var global_default;
var init_global2 = __esm({
"src/modules/location-huds/event-locations/great-winter-hunt/global.css"() {
global_default = ".campHudSnowballShowdownView__disabled{top:45px}.advent-calendar-spoilers .adventCalendarView-gift .adventCalendarView-gift-label,.advent-calendar-spoilers .adventCalendarView-gift .adventCalendarView-gift-image{display:none}.mousehuntActionButton.tiny.toggle-advent-calendar-spoilers{position:absolute;left:20px;font-size:12px}.adventCalendarView-subtitle{padding:10px;font-size:12px;line-height:19px;background-color:#d3ddfe}.adventCalendarView-gift.canClaim{filter:brightness(1.75)}.adventCalendarView-gift-rewardContainer{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;background-color:#d3ddfe;border-radius:0}.adventCalendarView-gift-reward-close{padding:2px 4px 5px 6px;font-size:13px;font-weight:900;color:#e03a3a;background-color:#b1bfed;border-top-right-radius:0;border-bottom-left-radius:10px}.adventCalendarView-gift-reward-items{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.adventCalendarView-gift-item,.adventCalendarView-gift-item img{width:55px;height:55px}.adventCalendarView-title{background-color:#d3ddfe;border-width:1px}.adventCalendarView-header{background-color:#e2ebee}.campHudSnowballShowdownView__imageContainer{height:35px;margin-top:-5px;background:#dabc9b99;border-radius:13px}.campHudSnowballShowdownView__image{height:35px;background-position:bottom center}.campHudSnowballShowdownView__snowball .campHudSnowballShowdownView__image{background-position:center 5px}.campHudSnowballShowdownView__quantity{padding:1px;font-size:13px;color:#133850;text-align:center;background-color:#a8d3e0;border-radius:5px;box-shadow:inset 0 0 0 1px #2174ab}button.campHudSnowballShowdownView__buyButton{display:none}.campHudSnowballShowdownView__item:hover button.campHudSnowballShowdownView__buyButton,.campHudSnowballShowdownView__item:focus button.campHudSnowballShowdownView__buyButton,.campHudSnowballShowdownView__item:active button.campHudSnowballShowdownView__buyButton{position:absolute;right:-1px;bottom:-2px;display:block;width:17px;height:17px;background-size:cover}.snowballShowdownView-reward-subtitle,.snowballShowdownView-rewardsTitle{display:none}.snowballShowdownView-rewardsContainer{overflow:hidden;border-radius:10px}.snowballShowdownView-reward-image{height:120px}.snowballShowdownView-reward-item{display:flex;flex-flow:column nowrap;align-items:center;justify-content:center}.snowballShowdownView-reward-item-name span{display:inline}.snowballShowdownView-reward-item-name{display:inline-block;height:unset;text-align:center}.snowballShowdownView-reward-item .itemImage{float:none;width:unset;height:unset}.snowballShowdownView-reward-item .itemImage img{width:45px;height:auto}.snowballShowdownView-item-quantity{padding:1px 5px;font-size:12px}.snowballShowdownView-item-name{margin:0 4px;font-size:11px}.snowballShowdownView-item{box-shadow:0 -7px 8px #ccc inset,0 0 0 3px #3e71be}.snowballShowdownView-message{display:inline-block;width:auto;padding:8px;font-size:10px;background:#3e71be;border-radius:4px;box-shadow:0 0 1px #103060 inset}.snowballShowdownView-messageContainer{padding:0;background:none;box-shadow:none}.snowballShowdownView-item:after{filter:drop-shadow(-2px 2px 0 #3e71be) drop-shadow(1px -2px 0 #3e71be)}.snowballShowdownView-board-row-cell.available:hover,.snowballShowdownView-board-row-cell.available:focus{cursor:pointer;box-shadow:inset 0 0 1px 3px #3e71be}.snowballShowdownView-board-row-cell.hit{box-shadow:inset 0 0 0 3px #b8ffe3}.winter_hunt_profile_tree_possible_gifts .gift{width:20%}.campHudSnowballShowdownView__quantityContainer.possibleAmount{display:none;margin-top:7px}.campHudSnowballShowdownView--hasSnowballShowdown:hover .campHudSnowballShowdownView__quantityContainer.possibleAmount,.campHudSnowballShowdownView--hasSnowballShowdown:focus .campHudSnowballShowdownView__quantityContainer.possibleAmount{display:flex}.possibleAmount .campHudSnowballShowdownView__quantity{background-color:#d2e8ef;box-shadow:inset 0 0 0 1px #7ebde7}\n";
}
});

// src/modules/location-huds/event-locations/great-winter-hunt/index.js
var updateGolemFooter, getFraction, updateGolemPartsQuantity, updateGolemTravelCount, updateGolemPopup, golemDance, getQuest, expandAnimatedSnowCount, showPossibleSnowballShowdownDustCount, getGolemCounts, adventCalendarPopup, maybeHideAdventCalendarInMenu, greatWinterHuntGlobal, greatWinterHuntLocation;
var init_great_winter_hunt = __esm({
"src/modules/location-huds/event-locations/great-winter-hunt/index.js"() {
init_utils2();
init_utils2();
init_styles84();
init_global2();
updateGolemFooter = () => {
  const footer = document.querySelector(".greatWinterHuntDialogView__inventoryFooter");
  if (!footer) {
    return;
  }
  const headsEl = footer.querySelector('.greatWinterHuntDialogView__footerItemQuantity[data-item-type="golem_part_head_stat_item"]');
  const torsoEl = footer.querySelector('.greatWinterHuntDialogView__footerItemQuantity[data-item-type="golem_part_torso_stat_item"]');
  const limbsEl = footer.querySelector('.greatWinterHuntDialogView__footerItemQuantity[data-item-type="golem_part_limb_stat_item"]');
  if (!headsEl && !torsoEl && !limbsEl) {
    return;
  }
  const heads = headsEl ? Number.parseInt(headsEl.textContent, 10) : 0;
  const torso = torsoEl ? Number.parseInt(torsoEl.textContent, 10) : 0;
  const limbs = limbsEl ? Number.parseInt(limbsEl.textContent, 10) : 0;
  const limbSet = Math.floor(limbs / 4);
  const possibleGolems = Math.min(heads, torso, limbSet);
  const existing = footer.querySelector(".greatWinterHuntDialogView__footerItem.possibleGolems");
  if (existing) {
    existing.remove();
  }
  const possibleWrapper = makeElement("div", ["greatWinterHuntDialogView__footerItem", "mousehuntTooltipParent", "possibleGolems"]);
  const possibleImage = makeElement("div", ["greatWinterHuntDialogView__footerItemImage"]);
  possibleImage.style.backgroundImage = "url(https://i.mouse.rip/mh-improved/golem-thumb.png)";
  possibleWrapper.append(possibleImage);
  makeElement("div", ["greatWinterHuntDialogView__footerItemQuantity", "quantity"], possibleGolems, possibleWrapper);
  const possibleTooltip = makeElement("div", ["mousehuntTooltip", "tight", "top", "noEvents"], `You can make ${possibleGolems} golem${possibleGolems === 1 ? "" : "s"}`);
  makeElement("div", ["mousehuntTooltip-arrow"], null, possibleTooltip);
  possibleWrapper.append(possibleTooltip);
  footer.insertBefore(possibleWrapper, footer.children[3]);
};
getFraction = (num) => {
  switch (num) {
    case 1:
      return "\xBC";
    case 2:
      return "\xBD";
    case 3:
      return "\xBE";
    default:
      return "";
  }
};
updateGolemPartsQuantity = () => {
  const limbs = document.querySelector('.greatWinterHuntRecycleDialogView__itemQuantity.quantity[data-item-type="golem_part_limb_stat_item"]');
  if (!limbs) {
    return;
  }
  const original = limbs.getAttribute("original-quantity");
  if (original) {
    const footerLimbs = document.querySelector('.greatWinterHuntDialogView__footerItemQuantity.quantity[data-item-type="golem_part_limb_stat_item"]');
    limbs.textContent = footerLimbs ? footerLimbs.textContent : original;
  }
  const limbCount = Number.parseInt(limbs.textContent, 10);
  limbs.setAttribute("original-quantity", limbCount);
  const limbSet = Math.floor(limbCount / 4);
  const limbSetFraction = getFraction(limbCount % 4);
  const newLimbsEl = makeElement("span", ["golemLimbsTotal"], limbCount);
  const newLimbsSetEl = makeElement("span", ["golemLimbsPossible"], `(${limbSet}${limbSetFraction})`);
  limbs.textContent = "";
  limbs.append(newLimbsEl, newLimbsSetEl);
};
updateGolemTravelCount = () => __async(void 0, null, function* () {
  const title = document.querySelector(".greatWinterHuntGolemManagerTabView__destinationHeader");
  if (!title) {
    return;
  }
  const name = title.querySelector(".greatWinterHuntGolemManagerTabView__destinationName");
  if (!name) {
    return;
  }
  const allEnvironments = yield getData("environments");
  const currentEnvironment = allEnvironments.find((env) => env.name === name.textContent);
  if (!currentEnvironment) {
    return;
  }
  const golemCounts = getGolemCounts();
  const existing = title.querySelector(".greatWinterHuntGolemManagerTabView__destinationCount");
  if (existing) {
    existing.textContent = golemCounts[currentEnvironment.id] || 0;
    return;
  }
  const countEl = makeElement("span", ["greatWinterHuntGolemManagerTabView__destinationCount"], `(${golemCounts[currentEnvironment.id] || 0})`);
  name.append(countEl);
});
updateGolemPopup = () => {
  setTimeout(() => {
    const golems = document.querySelectorAll(".greatWinterHuntGolemManagerDialogView__golem");
    if (golems) {
      golems.forEach((golem) => {
        golem.addEventListener("click", () => {
          eventRegistry.doEvent("golem-switch-in-dialog");
        });
      });
    }
    updateGolemTravelCount();
    updateGolemFooter();
    updateGolemPartsQuantity();
  }, 250);
};
golemDance = () => {
  const trigger = document.querySelector(".greatWinterHuntRewardTrackView__progress");
  if (!trigger) {
    return;
  }
  trigger.addEventListener("click", () => {
    const golems = document.querySelectorAll(".headsUpDisplayWinterHuntRegionView__golem .winterHuntGolemView");
    if (!golems) {
      return;
    }
    count = 0;
    golems.forEach((golem) => {
      setTimeout(() => {
        golem.classList.add("winterHuntGolemView--idleAnimation");
      }, 100 * count);
      count++;
    });
  });
};
getQuest = () => {
  if ("winter_hunt_grove" === getCurrentLocation()) {
    return user.quests.QuestCinnamonTreeGrove;
  } else if ("winter_hunt_workshop" === getCurrentLocation()) {
    return user.quests.QuestGolemWorkshop;
  } else if ("winter_hunt_fortress" === getCurrentLocation()) {
    return user.quests.QuestIceFortress;
  }
  return {};
};
expandAnimatedSnowCount = () => {
  var _a, _b;
  const limbEl = document.querySelector('.headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity[data-item-type="animate_snow_stat_item"]');
  if (!limbEl) {
    return;
  }
  limbEl.textContent = ((_b = (_a = getQuest()) == null ? void 0 : _a.items) == null ? void 0 : _b.animate_snow_stat_item.quantity_formatted) || 0;
};
showPossibleSnowballShowdownDustCount = () => {
  const showdownItems = document.querySelector(".campHudSnowballShowdownView__itemsContainer");
  if (!showdownItems) {
    return;
  }
  const snowballEl = showdownItems.querySelector(".campHudSnowballShowdownView__snowball");
  const snowballQtyEl = snowballEl.querySelector(".campHudSnowballShowdownView__quantity");
  const showballQty = snowballQtyEl ? Number.parseInt(snowballQtyEl.textContent.replaceAll(",", ""), 10) : 0;
  const dustEl = showdownItems.querySelector(".campHudSnowballShowdownView__dust");
  const currentDustQtyEl = dustEl.querySelector(".campHudSnowballShowdownView__quantity");
  const currentDustQty = currentDustQtyEl ? Number.parseInt(currentDustQtyEl.textContent.replaceAll(",", ""), 10) : 0;
  const possibleDustQty = Math.floor(showballQty / 175);
  const snowballText = showballQty - possibleDustQty * 175;
  const dustText = currentDustQty + possibleDustQty;
  const possibleSnowballExists = showdownItems.querySelector(".campHudSnowballShowdownView__quantity.possibleSnowball");
  if (possibleSnowballExists) {
    possibleSnowballExists.textContent = snowballText;
  } else {
    const possibleSnowballWrapper = makeElement("div", "campHudSnowballShowdownView__quantityContainer possibleAmount");
    makeElement("div", ["campHudSnowballShowdownView__quantity", "possibleSnowball"], snowballText, possibleSnowballWrapper);
    snowballEl.append(possibleSnowballWrapper);
  }
  const possibleDustExists = showdownItems.querySelector(".campHudSnowballShowdownView__quantity.possibleDust");
  if (possibleDustExists) {
    possibleDustExists.textContent = dustText;
  } else {
    const dustWrapper = makeElement("div", "campHudSnowballShowdownView__quantityContainer possibleAmount");
    makeElement("div", ["campHudSnowballShowdownView__quantity", "possibleDust"], dustText, dustWrapper);
    dustEl.append(dustWrapper);
  }
};
getGolemCounts = () => {
  var _a;
  const golemCounts = {};
  const destinations = ((_a = getQuest()) == null ? void 0 : _a.destinations) || {};
  for (const region in destinations) {
    destinations[region].environments.forEach((env) => {
      golemCounts[env.type] = env.num_golem_visits;
    });
  }
  return golemCounts;
};
adventCalendarPopup = () => {
  const suffix = document.querySelector("#overlayPopup .suffix");
  if (!suffix) {
    return;
  }
  const existingToggle = document.querySelector(".toggle-advent-calendar-spoilers");
  if (existingToggle) {
    return;
  }
  const toggleBtn = makeElement("button", ["mousehuntActionButton", "tiny", "toggle-advent-calendar-spoilers"]);
  makeElement("span", "", "View unblurred calendar", toggleBtn);
  toggleBtn.setAttribute("data-enabled", "false");
  toggleBtn.addEventListener("click", () => {
    const popup = document.querySelector("#overlayPopup");
    if (!popup) {
      return;
    }
    popup.classList.toggle("advent-calendar-spoilers");
    const enabled = toggleBtn.getAttribute("data-enabled");
    if ("true" === enabled) {
      toggleBtn.setAttribute("data-enabled", "false");
      toggleBtn.querySelector("span").innerText = "View unblurred calendar";
    } else {
      toggleBtn.setAttribute("data-enabled", "true");
      toggleBtn.querySelector("span").innerText = "Hide unblurred calendar";
    }
  });
  suffix.append(toggleBtn);
};
maybeHideAdventCalendarInMenu = () => {
  const now = /* @__PURE__ */ new Date();
  if (now.getMonth() !== 11) {
  }
  return "";
};
greatWinterHuntGlobal = () => {
  addStyles([global_default, maybeHideAdventCalendarInMenu], "location-hud-events-great-winter-hunt");
  onDialogShow("adventCalendarPopup", adventCalendarPopup);
};
greatWinterHuntLocation = () => {
  addHudStyles(styles_default83);
  onDialogShow("greatWinterHuntDialog", updateGolemPopup);
  golemDance();
  expandAnimatedSnowCount();
  showPossibleSnowballShowdownDustCount();
  onRequest("purchases/itempurchase.php", () => {
    updateGolemPartsQuantity();
    setTimeout(updateGolemFooter, 250);
  });
  onRequest("*", () => {
    expandAnimatedSnowCount();
    showPossibleSnowballShowdownDustCount();
  });
  onEvent("golem-switch-in-dialog", () => {
    updateGolemTravelCount();
  });
  setTimeout(expandAnimatedSnowCount, 1e3);
};
}
});

// src/modules/location-huds/event-locations/halloween/styles.css
var styles_default84;
var init_styles85 = __esm({
"src/modules/location-huds/event-locations/halloween/styles.css"() {
styles_default84 = ".halloweenBoilingCauldronHUD-bait-quantity{top:29px;left:40px;font-size:13px;text-shadow:1px 1px 1px #282828}.halloweenBoilingCauldronHUD-bait-ingredientQuantity{top:45px;width:38px;font-size:12px}body .halloweenBoilingCauldronHUD-bait.basic_baits .halloweenBoilingCauldronHUD-bait-quantity{top:29px;left:42px;width:58px;padding-right:8px;background:linear-gradient(0deg,#2b3320,#4b5837,#2b3320);border:1px solid #6f8d70;border-radius:6px}body .halloweenBoilingCauldronHUD-bait.basic_baits.active .halloweenBoilingCauldronHUD-bait-quantity{background:linear-gradient(0deg,#03461a,#03792d,#03461a);border-color:#03d14c}a.halloweenBoilingCauldronHUD-cauldron-boundingBox{font-size:14px}.halloweenBoilingCauldronHUD-cauldron-imageContainer .halloweenBoilingCauldronHUD-cauldron-queue-brewTime{width:auto;padding-right:4px;font-size:19px;color:#f9e8b1;text-align:center;text-shadow:1px 1px 1px #515b3a;background-image:none}.halloweenBoilingCauldronHUD-cauldron-tooltip{top:0;height:50px;font-size:13px;line-height:1.3;background-color:#292827;transition:.3s ease-in-out}.halloweenBoilingCauldronHUD-cauldron-tooltip i{font-size:15px;color:#f8e7b0}.halloweenBoilingCauldronHUD-cauldron-tooltip b{font-weight:400;color:#ccc}.halloweenBoilingCauldronHUD-bait-cauldronButton{box-shadow:none}.halloweenBoilingCauldronHUD-cauldron.active:hover .halloweenBoilingCauldronHUD-cauldron-instantFinishButton{opacity:1}.halloweenBoilingCauldronHUD-cauldron-instantFinishButton{display:block;opacity:0;transition:opacity .2s ease-in-out}.halloweenBoilingCauldronHUD-shutdownButton{left:271px;width:198px}.itemPurchaseView-container.apothecary .itemPurchaseView-content-name{display:block;padding-top:3px}.itemPurchaseView-container.apothecary .itemPurchaseView-image-container{background-color:transparent}.itemPurchaseView-container.apothecary .itemPurchaseView-action-purchaseHelper-owned{padding-left:0;margin:0;text-shadow:none;background-color:transparent;border:none}.itemPurchaseView-container.apothecary .itemPurchaseView-content-description{height:80px}.itemPurchaseView-container.apothecary.no_gold_cost .itemPurchaseView-action-goldGost{display:none}.itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table{width:100%;margin-right:0;margin-left:0;background-color:#e8f2e5}.itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table-row{display:flex;align-items:center;justify-content:flex-start;width:auto;height:50px;padding:0;margin:0}.itemPurchaseView-container.apothecary .itemPurchaseView-action-quantity{margin-top:-1px}.itemPurchaseView-container.apothecary .itemPurchaseView-action-quantity input{width:90px}.itemPurchaseView-container.apothecary .itemPurchaseView-action-container{height:130px}.itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table-cell a{padding:20px 6px 20px 29px;font-size:13px;background-position:-10px 50%;background-size:42px}.itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table .itemPurchaseView-action-itemCost-table-cell.cost{width:20%;font-size:17px;font-weight:400;text-shadow:1px 1px 1px #788c59}.itemPurchaseView-container.apothecary .itemPurchaseView-content-container{background-color:transparent}.halloweenBoilingCauldronHUD-dialog-boonImage{display:flex;align-items:center}.halloweenBoilingCauldronHUD-dialog-reward.complete:after{top:45px;filter:drop-shadow(0 5px 6px #000);transform:rotate(348deg)}a.halloweenBoilingCauldronHUD-dialog-closeButton{top:0;right:-6px;width:46px;height:38px;background-size:100%}#overlayPopup.halloweenBoilingCauldronRecipePopup #jsDialogClose{top:146px;right:22px;z-index:1;width:46px;height:37px;color:transparent;background-size:cover}#overlayPopup.halloweenBoilingCauldronRecipePopup #jsDialogClose:hover{background-size:cover}.halloweenBoilingCauldronRecipeView-recipe-ingredientContainer table{border:none}.halloweenBoilingCauldronRecipeView-recipe-ingredientContainer{padding:0;border-radius:5px}.halloweenBoilingCauldronRecipeView-recipe-ingredient-header{display:none}.halloweenBoilingCauldronRecipeView-recipe-ingredientContainer td:first-child{padding-left:10px}.halloweenBoilingCauldronRecipeView-recipe-ingredientContainer td:last-child{padding-right:10px}.halloweenBoilingCauldronRecipeView-recipe-ingredientContainer td{font-size:12px}.halloweenBoilingCauldronRecipeView-recipe-description{line-height:1.3;color:#4c4d37}.halloweenBoilingCauldronRecipeView-recipe-mouse{font-size:11px}.halloweenBoilingCauldronRecipeView-recipe-mice-list.num_5 .halloweenBoilingCauldronRecipeView-recipe-mouse{width:33%}.halloweenBoilingCauldronHUD-cauldron-queue-brewTime{padding-top:4px;margin-left:3px;font-size:13px;text-shadow:0 1px 1px #efd28e;background-color:#efd28e;background-position-y:bottom;border-radius:10px}.halloweenBoilingCauldronRecipeView-cauldron-queueSlot.cauldron .halloweenBoilingCauldronHUD-cauldron-queue-brewTime{padding-top:2px;font-size:13px;font-weight:900}a.halloweenBoilingCauldronRecipeView-cauldron-queueSlot-cancelButton{top:-17px;right:7px;left:unset}.halloweenBoilingCauldronRecipeView-content{font-size:12px}.hudLocationContent .halloweenBoilingCauldronHUD-cauldron-imageContainer .halloweenBoilingCauldronHUD-cauldron-queue-brewTime{padding:0;background-color:transparent}.campHudSpookyShuffleView__quantity{font-size:12px}.halloweenBoilingCauldronHUD-cauldron-imageContainer,.fuelActive .halloweenBoilingCauldronHUD-reward-progress-bar{transition:all .2s ease-in-out}.fuelActive .halloweenBoilingCauldronHUD-cauldron-imageContainer{background-image:url(https://i.mouse.rip/mh-improved/cauldrons.png);filter:drop-shadow(2px 4px 6px #ff8b1c)}.fuelActive a.halloweenBoilingCauldronHUD-moreInfoButton{filter:hue-rotate(256deg)}.halloweenBoilingCauldronHUD.fuelReveal .halloweenBoilingCauldronHUD-candle{animation-delay:.5s}.halloweenBoilingCauldronHUD-yield-huntsRemaining{right:30px;left:30px;height:6px;border-width:1px;border-radius:0}.halloweenBoilingCauldronHUD-yield-huntsRemaining-progress-bar{height:5px;background-color:#03cd4a;box-shadow:inset 0 0 2px #037e2d}.halloweenBoilingCauldronHUD-dialog-state.item .halloweenBoilingCauldronHUD-dialog-title{margin-right:20px}\n";
}
});

// src/modules/location-huds/event-locations/halloween/index.js
var undisableCheese, halloweenGlobal, halloweenLocation;
var init_halloween2 = __esm({
"src/modules/location-huds/event-locations/halloween/index.js"() {
init_utils2();
init_styles85();
undisableCheese = () => {
  const armButtons = document.querySelectorAll(".halloweenBoilingCauldronHUD-bait");
  armButtons.forEach((armButton) => {
    armButton.classList.remove("disabled");
    const link = armButton.querySelector("a.disabled");
    if (link) {
      link.classList.remove("disabled");
    }
    const tooltipLink = armButton.querySelector(".halloweenBoilingCauldronHUD-bait-tooltipContent a.disabled");
    if (tooltipLink) {
      tooltipLink.classList.remove("disabled");
    }
  });
};
halloweenGlobal = () => __async(void 0, null, function* () {
});
halloweenLocation = () => __async(void 0, null, function* () {
  addHudStyles(styles_default84);
  undisableCheese();
  onRequest("*", undisableCheese);
});
}
});

// src/modules/location-huds/event-locations/lunar-new-year/styles.css
var styles_default85;
var init_styles86 = __esm({
"src/modules/location-huds/event-locations/lunar-new-year/styles.css"() {
styles_default85 = ".lunarNewYearCampPopup-content-endDate{font-size:14px;line-height:20px}.lunarNewYearCampPopup-environment .mousehuntTooltip{top:-44%}.lunarNewYearCampHUD-window-row-reward:after{top:1px;background-color:#9b2034;border-color:#ef617e}.lunarNewYearCampHUD-window-row:nth-child(2n) .lunarNewYearCampHUD-window-row-reward:after{right:35px}.lunarNewYearCampHUD-window-row:nth-child(odd) .lunarNewYearCampHUD-window-row-reward:after{top:0;left:35px}.lunarNewYearCampHUD-window-row .lunarNewYearCampHUD-window-row-reward:after{box-shadow:0 -1px 1px #f3577c,0 1px 1px #f3577c}.lunarNewYearCampHUD-window-row-reward{width:28px;height:18px;border-radius:6px;box-shadow:0 -1px 1px #f3577c,0 1px 1px #f3577c}.lunarNewYearCampHUD-window-row.lunar_new_year_2018_cheese.reward .lunarNewYearCampHUD-window-row-reward:after,.lunarNewYearCampHUD-window-row.lunar_new_year_2018_cheese.claimed .lunarNewYearCampHUD-window-row-reward:after{width:180px}.lunarNewYearCampHUD-container .mousehuntItem .mousehuntItem-quantity.quantity{right:0;bottom:0;left:0;padding-top:2px;font-size:12px;border-top-left-radius:0;border-top-right-radius:0}.lunarNewYearCampHUD-container .mousehuntItem:hover .mousehuntItem-quantity.quantity,.lunarNewYearCampHUD-container .mousehuntItem:focus .mousehuntItem-quantity.quantity,.lunarNewYearCampHUD-container .mousehuntItem.active .mousehuntItem-quantity.quantity{border-top:1px solid #d6a766;box-shadow:inset 0 0 5px 5px #ffe344}.lunarNewYearCampHUD-container .mousehuntItem:hover .mousehuntItem-image:after,.lunarNewYearCampHUD-container .mousehuntItem:focus .mousehuntItem-image:after{border-color:#ffe344}.lunarNewYearCampHUD-stat-value{font-size:13px;text-shadow:0 0 10px #fee7a6;box-shadow:inset 0 0 3px 1px #b81d3e}.lunarNewYearCampHUD-stat-label{text-align:center}.lunarNewYearCampHUD-statsContainer .lunarNewYearCampHUD-stat:nth-child(3) .lunarNewYearCampHUD-stat-value{width:32px}.lunarNewYearCampHUD-window-background .lunarNewYearCampHUD-window-lantern:after{transition:.7s}.lunarNewYearCampHUD-window-background:hover .lunarNewYearCampHUD-window-lantern:after{filter:brightness(1.5) drop-shadow(1px 0 4px #000);transform:scale(1.5)}.lunarNewYearCampPopup .lunarNewYear2018-claimRow-image{text-align:left}.lunarNewYearCampHUD-window-row-height{font-size:12px;font-weight:900;text-shadow:1px 1px 1px #000}.lunarNewYearCampPopup-subtitle{margin-bottom:5px}.lunarNewYearCampPopupContainer .lunarNewYearCampHUD-window.lunarNewYearCampHUD-viewState.hasLantern{top:21px;bottom:22px;box-shadow:inset 1px 0 4px 2px #000}.lunarNewYearCampHUD-window-background{box-shadow:inset 1px 0 10px #05050a}.lunarNewYearCampPopupContainer .lunarNewYearCampHUD-window-background{border:2px solid #decfb4}.lunarNewYearCampPopup-lanternMap-button.up{border-bottom-width:1px}.lunarNewYearCampPopup-lanternMap-button.down{border-top-width:1px}.lunarNewYearCampPopup-environment:hover .lunarNewYearCampPopup-environment-image{box-shadow:0 -1px 7px -4px #000}.lunarNewYearCampPopup-environment:hover .lunarNewYearCampPopup-environment-name{box-shadow:0 4px 9px -2px #000}.lunarNewYearCampPopup-environment:hover{border-radius:4px;box-shadow:0 1px 5px #2e2e2e;transform:scale(1.2)}.lunarNewYearCampPopup-environment{width:100%;padding:0;border-radius:6px;box-shadow:0 0 2px #000;transition:.2s;transform-origin:bottom}.lunarNewYearCampPopup-stockpile-environmentContainer{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;align-items:start}.lunarNewYearCampPopup-environment:hover .lunarNewYearCampPopup-environment-name,.lunarNewYearCampPopup-environment.selected .lunarNewYearCampPopup-environment-name{color:#fff;background-color:#b4383a}.lunarNewYearCampPopup-environment.disabled .lunarNewYearCampPopup-environment-name,.lunarNewYearCampPopup-environment.disabled .lunarNewYearCampPopup-environment-image{opacity:.4}.lunarNewYearCampPopup-content-block-image{width:auto;height:60px;background-repeat:no-repeat;box-shadow:none}.lunarNewYearCampPopup-itemContainer{display:flex;gap:5px;align-content:center}.lunarNewYearCampPopup-content-block{width:100%}.launch-the-fireworks{display:block}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(1):before{animation-delay:.1s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(1):after{animation-delay:.7s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(2):before{animation-delay:.9s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(2):after{animation-delay:1.1s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(3):before{animation-delay:1.4s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(3):after{animation-delay:1.8s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(4):before{animation-delay:2s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(4):after{animation-delay:2.5s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(5):before{animation-delay:2.8s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(5):after{animation-delay:3.3s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(6):before{animation-delay:3.7s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(6):after{animation-delay:4.1s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(7):before{animation-delay:4.5s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(7):after{animation-delay:5.9s}.launch-the-fireworks-please{position:absolute;bottom:2px;left:-3px;width:20px;height:20px;background-image:url(https://i.mouse.rip/upscaled/festive_firework_stat_item.png);background-repeat:no-repeat;background-size:contain;opacity:.4;transition:.3s;transform:scaleX(-1)}.launch-the-fireworks-please:hover{cursor:pointer;opacity:.9;transform:scaleX(-1.2) scaleY(1.2)}\n";
}
});

// src/modules/location-huds/event-locations/lunar-new-year/index.js
var startY, initialTranslateY, dragMapPopup, dragMapCamp, dragMap, triggerFireworks, lunarNewYearGlobal;
var init_lunar_new_year = __esm({
"src/modules/location-huds/event-locations/lunar-new-year/index.js"() {
init_utils2();
init_styles86();
dragMapPopup = () => __async(void 0, null, function* () {
  const map = document.querySelector(".lunarNewYearCampPopupContainer .lunarNewYearCampHUD-window-background");
  if (!map) {
    return;
  }
  dragMap({ map, maxHeight: 2300 });
});
dragMapCamp = () => __async(void 0, null, function* () {
  const map = document.querySelector(".lunarNewYearCampHUD-window .lunarNewYearCampHUD-window-background");
  if (!map) {
    return;
  }
  dragMap({ map, maxHeight: 1881 });
});
dragMap = (args) => __async(void 0, null, function* () {
  const { map, maxHeight } = args;
  if (!map) {
    return;
  }
  const onDrag = (event) => {
    const deltaY = event.clientY - startY;
    let newTranslateY = initialTranslateY + deltaY;
    if (newTranslateY < 0) {
      newTranslateY = 0;
    } else if (newTranslateY > maxHeight) {
      newTranslateY = maxHeight;
    }
    map.style.transform = `translateY(${newTranslateY}px)`;
  };
  map.addEventListener("mousedown", (event) => {
    startY = event.clientY;
    const style = window.getComputedStyle(map);
    const matrix = new WebKitCSSMatrix(style.transform);
    initialTranslateY = matrix.m42;
    map.style.transition = "none";
    map.addEventListener("mousemove", onDrag);
  });
  map.addEventListener("mouseup", () => {
    map.removeEventListener("mousemove", onDrag);
  });
  map.addEventListener("wheel", (event) => {
    event.preventDefault();
    map.style.transition = "none";
    const style = window.getComputedStyle(map);
    const matrix = new WebKitCSSMatrix(style.transform);
    const currentTranslateY = matrix.m42;
    let newTranslateY = currentTranslateY - event.deltaY;
    if (newTranslateY < 0) {
      newTranslateY = 0;
    } else if (newTranslateY > maxHeight) {
      newTranslateY = maxHeight;
    }
    map.style.transform = `translateY(${newTranslateY}px)`;
  });
  map.addEventListener("mouseleave", () => {
    map.style.transition = "transform 1s ease-in-out";
  });
});
triggerFireworks = () => {
  const existing = document.querySelector(".launch-the-fireworks-please");
  if (existing) {
    return;
  }
  const fireworks = document.querySelector(".lunarNewYearCampHUD-container .lunarNewYearCampHUD-window-fireworksContainer");
  if (!fireworks) {
    return;
  }
  const statsContainer = document.querySelector(".lunarNewYearCampHUD-container .lunarNewYearCampHUD-statsContainer");
  if (!statsContainer) {
    return;
  }
  const launchButton = makeElement("div", "launch-the-fireworks-please", "");
  statsContainer.append(launchButton);
  let isAnimating = false;
  launchButton.addEventListener("click", () => {
    launchButton.classList.add("launched");
    fireworks.classList.add("launch-the-fireworks");
    if (isAnimating) {
      return;
    }
    isAnimating = true;
    setTimeout(() => {
      launchButton.classList.remove("launched");
      fireworks.classList.remove("launch-the-fireworks");
      isAnimating = false;
    }, 5 * 1e3);
  });
};
lunarNewYearGlobal = () => __async(void 0, null, function* () {
  addStyles(styles_default85, "location-hud-events-lunar-new-year");
  onRequest("events/lunar_new_year.php", dragMapPopup);
  if ("camp" === getCurrentPage()) {
    dragMapCamp();
    triggerFireworks();
  }
  onEvent("camp_quest_hud_view_initialize", () => {
    dragMapCamp();
    triggerFireworks();
  });
});
}
});

// src/modules/location-huds/event-locations/spring-egg-hunt/styles.css
var styles_default86;
var init_styles87 = __esm({
"src/modules/location-huds/event-locations/spring-egg-hunt/styles.css"() {
styles_default86 = "";
}
});

// src/modules/location-huds/event-locations/spring-egg-hunt/index.js
var springEggHuntGlobal;
var init_spring_egg_hunt = __esm({
"src/modules/location-huds/event-locations/spring-egg-hunt/index.js"() {
init_utils2();
init_styles87();
springEggHuntGlobal = () => __async(void 0, null, function* () {
  addStyles(styles_default86, "location-hud-events-spring-egg-hunt");
});
}
});

// src/modules/location-huds/event-locations/index.js
var event_locations_default;
var init_event_locations = __esm({
"src/modules/location-huds/event-locations/index.js"() {
init_birthday();
init_great_winter_hunt();
init_halloween2();
init_lunar_new_year();
init_spring_egg_hunt();
event_locations_default = (location) => __async(void 0, null, function* () {
  switch (location) {
    case "halloween_event_location":
      halloweenLocation();
      break;
    case "winter_hunt_grove":
    case "winter_hunt_workshop":
    case "winter_hunt_fortress":
      greatWinterHuntLocation();
      break;
    case "super_brie_factory":
      birthdayLocation();
      break;
    default:
      break;
  }
  const events = {
    0: [greatWinterHuntGlobal],
    // January.
    1: [birthdayGlobal, lunarNewYearGlobal],
    // February.
    2: [birthdayGlobal, springEggHuntGlobal],
    // March.
    3: [springEggHuntGlobal],
    // April.
    4: [],
    // May.
    5: [],
    // June.
    6: [],
    // July.
    7: [],
    // August.
    8: [],
    // September.
    9: [halloweenGlobal],
    // October.
    10: [halloweenGlobal, greatWinterHuntGlobal],
    // November.
    11: [greatWinterHuntGlobal]
    // December.
  };
  const month = (/* @__PURE__ */ new Date()).getMonth();
  events[month].forEach((event) => {
    event();
  });
});
}
});

// src/modules/location-huds/index.js
var regionMapping, normalizeCurrentLocation, main19, init57, location_huds_default;
var init_location_huds = __esm({
"src/modules/location-huds/index.js"() {
init_utils2();
init_toggle_icon();
init_settings23();
init_styles47();
init_acolyte_realm();
init_ancient_city2();
init_balacks_cove();
init_bazaar();
init_bountiful_beanstalk();
init_calm_clearing();
init_cape_clawed();
init_catacombs();
init_claw_shot_city();
init_derr_dunes();
init_desert_city();
init_desert_warpath2();
init_dojo();
init_dracano();
init_elub_shore();
init_floating_islands2();
init_forbidden_grove();
init_foreword_farm2();
init_fort_rox2();
init_fungal_cavern();
init_great_gnarled_tree();
init_iceberg3();
init_jungle_of_dread();
init_kings_arms();
init_kings_gauntlet();
init_laboratory();
init_labyrinth3();
init_lagoon();
init_meditation_room();
init_mountain();
init_mousoleum3();
init_moussu_picchu2();
init_nerg_plains();
init_pinnacle_chamber();
init_pollution_outbreak2();
init_prologue_pond();
init_rift_bristle_woods2();
init_rift_burroughs2();
init_rift_furoma2();
init_rift_gnawnia();
init_rift_valour2();
init_rift_whisker_woods();
init_seasonal_garden2();
init_slushy_shoreline();
init_ss_huntington_ii();
init_sunken_city2();
init_table_of_contents2();
init_tournament_hall();
init_town_of_digby();
init_town_of_gnawnia();
init_train_station();
init_windmill();
init_zugzwang_tower2();
init_region_living_garden();
init_region_queso();
init_event_locations();
regionMapping = [
  {
    region: "region-living-garden",
    locations: ["desert_oasis", "lost_city", "sand_dunes"]
  },
  {
    region: "region-queso",
    locations: ["queso_geyser", "queso_plains", "queso_quarry", "queso_river"]
  },
  {
    region: "event-locations",
    locations: [
      "halloween_event_location",
      "winter_hunt_workshop",
      "winter_hunt_fortress",
      "great_winter_taiga"
    ]
  }
];
normalizeCurrentLocation = (location) => {
  const region = regionMapping.find((regionMap) => regionMap.locations.includes(location));
  if (region) {
    return region.region;
  }
  return location;
};
main19 = () => {
  removeHudStyles();
  const currentLocation = getCurrentLocation();
  const location = normalizeCurrentLocation(currentLocation);
  debuglog("location-huds", `Location: ${location}`);
  if (getSetting("location-huds-enabled.event-locations", true)) {
    event_locations_default(currentLocation);
  }
  if (!getSetting(`location-huds-enabled.${location}`, true)) {
    return;
  }
  const locationHandlers = {
    acolyte_realm: acolyte_realm_default,
    ancient_city: ancient_city_default2,
    balacks_cove: balacks_cove_default,
    bazaar: bazaar_default,
    bountiful_beanstalk: bountiful_beanstalk_default,
    calm_clearing: calm_clearing_default,
    cape_clawed: cape_clawed_default,
    catacombs: catacombs_default,
    clawshot_city: claw_shot_city_default,
    derr_dunes: derr_dunes_default,
    desert_city: desert_city_default,
    desert_warpath: desert_warpath_default,
    dojo: dojo_default,
    dracano: dracano_default,
    elub_shore: elub_shore_default,
    floating_islands: floating_islands_default2,
    forbidden_grove: forbidden_grove_default,
    foreword_farm: foreword_farm_default2,
    fort_rox: fort_rox_default2,
    fungal_cavern: fungal_cavern_default,
    great_gnarled_tree: great_gnarled_tree_default,
    iceberg: iceberg_default3,
    jungle_of_dread: jungle_of_dread_default,
    kings_arms: kings_arms_default,
    kings_gauntlet: kings_gauntlet_default,
    laboratory: laboratory_default,
    labyrinth: labyrinth_default3,
    lagoon: lagoon_default,
    meditation_room: meditation_room_default,
    mountain: mountain_default,
    mousoleum: mousoleum_default3,
    moussu_picchu: moussu_picchu_default2,
    nerg_plains: nerg_plains_default,
    pinnacle_chamber: pinnacle_chamber_default,
    pollution_outbreak: pollution_outbreak_default2,
    prologue_pond: prologue_pond_default,
    rift_bristle_woods: rift_bristle_woods_default2,
    rift_burroughs: rift_burroughs_default2,
    rift_furoma: rift_furoma_default2,
    rift_gnawnia: rift_gnawnia_default,
    rift_valour: rift_valour_default2,
    rift_whisker_woods: rift_whisker_woods_default,
    seasonal_garden: seasonal_garden_default,
    slushy_shoreline: slushy_shoreline_default,
    ss_huntington_ii: ss_huntington_ii_default,
    sunken_city: sunken_city_default2,
    table_of_contents: table_of_contents_default2,
    tournament_hall: tournament_hall_default,
    town_of_digby: town_of_digby_default,
    town_of_gnawnia: town_of_gnawnia_default,
    train_station: train_station_default,
    windmill: windmill_default,
    zugzwang_tower: zugzwang_tower_default,
    "region-living-garden": region_living_garden_default,
    "region-queso": region_queso_default
  };
  if (locationHandlers[location]) {
    locationHandlers[location]();
  }
};
init57 = () => __async(void 0, null, function* () {
  addStyles(styles_default46, "location-huds");
  if (getSetting("experiments.location-hud-toggle")) {
    toggle_icon_default();
  }
  onNavigation(main19);
  onEvent("travel_complete", main19);
});
location_huds_default = {
  id: "location-huds",
  type: "location-hud",
  alwaysLoad: true,
  load: init57,
  settings: settings_default22
};
}
});

// src/modules/printing-press-paper-counter/index.js
var init58, printing_press_paper_counter_default;
var init_printing_press_paper_counter = __esm({
"src/modules/printing-press-paper-counter/index.js"() {
init_utils2();
init58 = () => __async(void 0, null, function* () {
  addTrapQuantity({
    baseIds: [3628],
    baseSlugs: ["naughty_list_printing_press_base"],
    itemId: "printing_press_charge_stat_item"
  });
});
printing_press_paper_counter_default = {
  id: "printing-press-paper-counter",
  name: "Printing Press Paper Counter",
  type: "feature",
  default: true,
  description: "Shows the number of Prolific Printing Papers you have when Naughty List Printing Press Base is equipped.",
  load: init58
};
}
});

// src/modules/prestige-base-stats/index.js
var updateStats, setPrestigeStats, isModifying, modifyPB, isSaving, savePbStats, run2, init59, prestige_base_stats_default;
var init_prestige_base_stats = __esm({
"src/modules/prestige-base-stats/index.js"() {
init_utils2();
updateStats = (selector, pbStats) => {
  const stats = selector.querySelector(".campPage-trap-itemBrowser-item-statContainer");
  if (!stats) {
    return;
  }
  const currentSetup = getUserSetupDetails();
  const power = stats.querySelector(".campPage-trap-itemBrowser-item-stat.power");
  if (power) {
    const powerValue = power.querySelector(".value span");
    if (powerValue) {
      powerValue.innerText = pbStats.power;
      power.classList.remove("better", "worse");
      if (currentSetup.base.power < pbStats.power) {
        power.classList.add("better");
      } else if (currentSetup.base.power > pbStats.power) {
        power.classList.add("worse");
      }
    }
  }
  const luck = stats.querySelector(".campPage-trap-itemBrowser-item-stat.luck");
  if (luck) {
    const luckValue = luck.querySelector(".value span");
    if (luckValue) {
      luckValue.innerText = pbStats.luck;
      luck.classList.remove("better", "worse");
      if (currentSetup.base.luck < pbStats.luck) {
        luck.classList.add("better");
      } else if (currentSetup.base.luck > pbStats.luck) {
        luck.classList.add("worse");
      }
    }
  }
};
setPrestigeStats = () => __async(void 0, null, function* () {
  const prestige = document.querySelector(".campPage-trap-itemBrowser-item.base.valour_rift_prestige_base");
  if (!prestige) {
    return;
  }
  const pbStats = yield cacheGet("pb-stats", false);
  if (!pbStats) {
    return;
  }
  updateStats(prestige, pbStats);
  const armed = document.querySelector(".campPage-trap-itemBrowser-armed-item.base");
  if (!armed) {
    return;
  }
  const name = armed.querySelector(".campPage-trap-itemBrowser-item-name");
  if (!name) {
    return;
  }
  if (name.innerText.includes("Prestige Base")) {
    updateStats(armed, pbStats);
  }
});
isModifying = false;
modifyPB = (opts) => __async(void 0, null, function* () {
  if (isModifying) {
    return;
  }
  isModifying = true;
  const activeBp = document.querySelector(".trapSelectorView__blueprint--active .trapSelectorView__browserStateParent");
  if (!activeBp) {
    isModifying = false;
    return;
  }
  const bpType = activeBp.getAttribute("data-blueprint-type");
  if (!bpType || bpType !== "base") {
    isModifying = false;
    return;
  }
  const { retryPrestige } = opts || {};
  const savedStats = yield cacheGet("pb-stats", false);
  debuglog("prestige-base-stats", "Saved Prestige Base stats:", savedStats);
  if (!savedStats) {
    isModifying = false;
    return;
  }
  const prestige = document.querySelector(".campPage-trap-itemBrowser-item.base.valour_rift_prestige_base");
  if (!prestige) {
    if (!retryPrestige) {
      setTimeout(() => {
        modifyPB({ retryPrestige: true });
      }, 500);
    }
    isModifying = false;
    return;
  }
  if (prestige.getAttribute("data-pinned")) {
    isModifying = false;
    return;
  }
  const recommended = document.querySelector('.trapSelectorView__browserStateParent--items[data-blueprint-type="base"] .recommended');
  if (!recommended) {
    isModifying = false;
    return;
  }
  const header = recommended.querySelector(".campPage-trap-itemBrowser-tagGroup-name");
  if (header) {
    header.after(prestige);
  }
  prestige.setAttribute("data-pinned", true);
  setPrestigeStats();
  isModifying = false;
});
isSaving = false;
savePbStats = () => {
  if (isSaving) {
    return;
  }
  isSaving = true;
  const setup = getUserSetupDetails();
  if (setup.base.id !== 2904) {
    isSaving = false;
    return;
  }
  debuglog("prestige-base-stats", "Saving Prestige Base stats\u2026");
  const trapMath = document.querySelectorAll(".campPage-trap-trapStat-mathRow");
  if (!trapMath.length) {
    isSaving = false;
    return;
  }
  const stats = {};
  trapMath.forEach((row) => {
    const stat = row.querySelector(".campPage-trap-trapStat-mathRow-name");
    if (!stat) {
      isSaving = false;
      return;
    }
    if (!stat.innerText.includes("Prestige Base")) {
      isSaving = false;
      return;
    }
    const value = row.querySelector(".campPage-trap-trapStat-mathRow-value");
    if (!value) {
      isSaving = false;
      return;
    }
    let parsedValue = Number.parseInt(value.innerText.replaceAll(",", ""), 10);
    const type = row.parentElement.parentElement;
    const typeClass = type.className.replace("campPage-trap-trapStat", "").trim();
    if (typeClass === "power") {
      parsedValue = parsedValue + 490;
    } else if (typeClass === "luck") {
      parsedValue = parsedValue + 5;
    }
    stats[typeClass] = parsedValue;
  });
  if (!stats.power || !stats.luck) {
    isSaving = false;
    return;
  }
  debuglog("prestige-base-stats", "Prestige Base stats:", stats);
  cacheSet2("pb-stats", stats);
  isSaving = false;
};
run2 = () => __async(void 0, null, function* () {
  modifyPB();
  savePbStats();
});
init59 = () => __async(void 0, null, function* () {
  onEvent("camp_page_toggle_blueprint", run2);
  onRequest("users/changetrap.php", run2);
});
prestige_base_stats_default = {
  id: "prestige-base-stats",
  name: "Prestige Base Stats",
  type: "feature",
  default: true,
  description: "Shows the correct stats for the Prestige Base in the base selector.",
  load: init59
};
}
});

// src/modules/quick-filters-and-sort/styles.css
var styles_default87;
var init_styles88 = __esm({
"src/modules/quick-filters-and-sort/styles.css"() {
styles_default87 = ".campPage-trap-itemBrowser-filter input[data-filter=search]{width:322px;padding:10px}.campPage-trap-itemBrowser-filter:first-child{flex:0 0 100%;margin-bottom:5px}.campPage-trap-itemBrowser-filterContainer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly}.campPage-trap-itemBrowser-favorites{margin-top:10px}.campPage-trap-itemBrowser .campPage-trap-itemBrowser-filter select{width:100px}.campPage-trap-itemBrowser.weapon .campPage-trap-itemBrowser-filter select{width:75px}.campPage-trap-itemBrowser-quickLinks{z-index:1;display:flex;justify-content:space-evenly;padding:5px 10px;background-color:#f6f3eb}.mh-dark-mode .pageFrameView .campPage-trap-itemBrowser-favorites,.mh-dark-mode .campPage-trap-itemBrowser-quickLinks{background-color:#424242}.campPage-trap-itemBrowser-quickLinks-power{padding:10px 15px}.campPage-trap-itemBrowser-quickLinks-header{position:absolute;left:0;padding:5px;margin-top:10px;color:#96704b;text-align:center;transform:rotate(-90deg)}.campPage-trap-itemBrowser-quickLinks-header.filter-header{left:-2px;margin-top:5px}.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image{width:41px;height:41px;background-position:center}.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image-frame{width:40px;height:40px}.campPage-trap-itemBrowser-quickLinks-power .campPage-trap-itemBrowser-favorite-item-image{width:31px;height:30px;background-position:50%;background-size:25px}.campPage-trap-itemBrowser-quickLinks-power .campPage-trap-itemBrowser-favorite-item-image-frame{width:29px;height:29px}.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image:hover,.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image:focus{background-color:#cac0b2}.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image:hover .campPage-trap-itemBrowser-favorite-item-image-frame,.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image:focus .campPage-trap-itemBrowser-favorite-item-image-frame{box-shadow:none}.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item{width:auto}.campPage-trap-itemBrowser-quickLinks-power .campPage-trap-itemBrowser-favorite-item{margin:0 2px}.campPage-trap-itemBrowser-quickLinks-power .campPage-trap-itemBrowser-favorite-item:first-child{margin-left:0}.campPage-trap-itemBrowser-quickLinks-power .campPage-trap-itemBrowser-favorite-item:last-child{margin-right:0}.quicklinks-filter-sortBy-name .campPage-trap-itemBrowser-favorite-item-image{background-position:center;background-size:30px}.weapon .campPage-trap-itemBrowser-items{top:250px}.campPage-trap-itemBrowser-items{top:200px}.campPage-wrapper[data-blueprint-type=weapon] .campPage-trap-itemBrowser-itemDescriptionHover.mousehuntTooltip.tight.left.noEvents,.campPage-wrapper[data-blueprint-type=base] .campPage-trap-itemBrowser-itemDescriptionHover.mousehuntTooltip.tight.left.noEvents{margin-top:170px}.campPage-trap-itemBrowser-itemDescriptionHover.mousehuntTooltip.tight.left.noEvents{margin-top:125px}.mh-dark-mode .quicklinks-filter-sortBy-name a,.mh-dark-mode .quicklinks-filter-sortBy-quantity a{background-color:#f2f2f2}.trapSelectorView__browserStateParent--items[data-blueprint-type=skin] .campPage-trap-itemBrowser-quickLinks{display:none}\n";
}
});

// src/modules/quick-filters-and-sort/index.js
var addItemToQuickLinks, addQuickLinksToTrap, init60, quick_filters_and_sort_default;
var init_quick_filters_and_sort = __esm({
"src/modules/quick-filters-and-sort/index.js"() {
init_utils2();
init_styles88();
addItemToQuickLinks = (link, appendTo, filter) => {
  const existing = document.querySelector(`.campPage-trap-itemBrowser-favorite-item.quicklinks-filter.quicklinks-filter-${filter}-${link.id}`);
  if (existing) {
    existing.remove();
  }
  const item = document.createElement("div");
  item.classList.add("campPage-trap-itemBrowser-favorite-item", "quicklinks-filter", `quicklinks-filter-${filter}-${link.id}`);
  const itemAnchor = document.createElement("a");
  itemAnchor.classList.add("campPage-trap-itemBrowser-favorite-item-image");
  itemAnchor.setAttribute("href", "#");
  itemAnchor.setAttribute("title", filter === "sortBy" ? `Sort by ${link.name}` : `Filter by ${link.name}`);
  itemAnchor.style.backgroundImage = `url(${link.image})`;
  const frame = document.createElement("div");
  frame.classList.add("campPage-trap-itemBrowser-favorite-item-image-frame");
  itemAnchor.append(frame);
  const hiddenInput = document.createElement("input");
  hiddenInput.setAttribute("type", "hidden");
  hiddenInput.setAttribute("data-filter", filter);
  hiddenInput.setAttribute("value", link.id);
  item.append(itemAnchor);
  item.append(hiddenInput);
  const filterInput = document.querySelector(".campPage-trap-itemBrowser-filter.powerType select");
  const sortInput = document.querySelector(".campPage-trap-itemBrowser-filter.sortBy select");
  item.addEventListener("click", (e) => {
    e.preventDefault();
    const input = filter === "sortBy" ? sortInput : filterInput;
    let reset = false;
    if (item.getAttribute("data-selected") === "true") {
      reset = true;
      item.setAttribute("data-selected", false);
    } else {
      const items2 = document.querySelectorAll('.quicklinks-filter[data-selected="true"]');
      items2.forEach((i) => {
        i.setAttribute("data-selected", false);
      });
      item.setAttribute("data-selected", true);
    }
    let option;
    if (reset) {
      if (filter === "sortBy") {
        option = input.querySelector('option[value="default"]');
      } else if (filter === "powerType") {
        option = input.querySelector('option[value="no_tag_selected"]');
      }
    } else {
      option = input.querySelector(`option[value="${link.id}"]`);
    }
    if (option) {
      option.selected = true;
      input.dispatchEvent(new Event("change"));
    }
  });
  appendTo.append(item);
};
addQuickLinksToTrap = () => __async(void 0, null, function* () {
  const itemBrowser = document.querySelector(".trapSelectorView__itemBrowserContainer");
  if (!itemBrowser) {
    return;
  }
  const type = itemBrowser.classList.value.replaceAll("trapSelectorView__itemBrowserContainer", "").replaceAll("trapSelectorView__outerBlock", "").replaceAll("campPage-trap-itemBrowser", "").replaceAll(" ", "").trim();
  if (!type || "bai" === type) {
    return;
  }
  itemBrowser.parentNode.parentNode.setAttribute("data-blueprint-type", type);
  const favorites = document.querySelector(".campPage-trap-itemBrowser-favorites");
  if (!favorites) {
    return;
  }
  const existing = document.querySelector(".campPage-trap-itemBrowser-quickLinks");
  if (existing) {
    existing.remove();
  }
  const existingPower = document.querySelector(".campPage-trap-itemBrowser-quickLinks-power");
  if (existingPower) {
    existingPower.remove();
  }
  const quickLinks = document.createElement("div");
  quickLinks.classList.add("campPage-trap-itemBrowser-quickLinks");
  makeElement("div", "campPage-trap-itemBrowser-quickLinks-header", "Sort", quickLinks);
  const links = [
    {
      id: "power",
      name: "Power",
      image: "https://www.mousehuntgame.com/images/ui/camp/trap/stat_power.png?asset_cache_version=2"
    },
    {
      id: "power_bonus",
      name: "Power Bonus",
      image: "https://www.mousehuntgame.com/images/ui/camp/trap/stat_power_bonus.png?asset_cache_version=2"
    },
    {
      id: "luck",
      name: "Luck",
      image: "https://www.mousehuntgame.com/images/ui/camp/trap/stat_luck.png?asset_cache_version=2"
    },
    {
      id: "attraction_bonus",
      name: "Attraction Bonus",
      image: "https://www.mousehuntgame.com/images/ui/camp/trap/stat_attraction_bonus.png?asset_cache_version=2"
    },
    {
      id: "name",
      name: "Name",
      image: "https://i.mouse.rip/sort-a-z-icon.png"
    }
  ];
  if ("trinket" === type) {
    links.push({ id: "quantity", name: "Quantity", image: "https://i.mouse.rip/sort-qty-icon.png" });
  }
  const sortByInput = document.querySelector(".campPage-trap-itemBrowser-filter.sortBy select");
  links.forEach((link) => {
    addItemToQuickLinks(link, quickLinks, "sortBy", sortByInput);
  });
  favorites.parentNode.insertBefore(quickLinks, favorites.nextSibling);
  if ("weapon" === type) {
    const powerQuickLinks = document.createElement("div");
    powerQuickLinks.classList.add("campPage-trap-itemBrowser-quickLinks", "campPage-trap-itemBrowser-quickLinks-power");
    makeElement("div", ["campPage-trap-itemBrowser-quickLinks-header", "filter-header"], "Filter", powerQuickLinks);
    const powerLinks = [
      {
        id: "arcane",
        name: "Arcane",
        image: "https://www.mousehuntgame.com/images/powertypes/arcane.png?asset_cache_version=2"
      },
      {
        id: "draconic",
        name: "Draconic",
        image: "https://www.mousehuntgame.com/images/powertypes/draconic.png?asset_cache_version=2"
      },
      {
        id: "forgotten",
        name: "Forgotten",
        image: "https://www.mousehuntgame.com/images/powertypes/forgotten.png?asset_cache_version=2"
      },
      {
        id: "hydro",
        name: "Hydro",
        image: "https://www.mousehuntgame.com/images/powertypes/hydro.png?asset_cache_version=2"
      },
      {
        id: "law",
        name: "Law",
        image: "https://www.mousehuntgame.com/images/powertypes/law.png?asset_cache_version=2"
      },
      {
        id: "physical",
        name: "Physical",
        image: "https://www.mousehuntgame.com/images/powertypes/physical.png?asset_cache_version=2"
      },
      {
        id: "rift",
        name: "Rift",
        image: "https://www.mousehuntgame.com/images/powertypes/rift.png?asset_cache_version=2"
      },
      {
        id: "shadow",
        name: "Shadow",
        image: "https://www.mousehuntgame.com/images/powertypes/shadow.png?asset_cache_version=2"
      },
      {
        id: "tactical",
        name: "Tactical",
        image: "https://www.mousehuntgame.com/images/powertypes/tactical.png?asset_cache_version=2"
      }
    ];
    const powerInput = document.querySelector(".campPage-trap-itemBrowser-filter.powerType select");
    powerLinks.forEach((link) => {
      addItemToQuickLinks(link, powerQuickLinks, "powerType", powerInput);
    });
    quickLinks.parentNode.insertBefore(powerQuickLinks, quickLinks.nextSibling);
  } else {
    const powerQuickLinks = document.querySelector(".campPage-trap-itemBrowser-quickLinks-power");
    if (powerQuickLinks) {
      powerQuickLinks.remove();
    }
  }
});
init60 = () => __async(void 0, null, function* () {
  addStyles(styles_default87, "quick-filters-and-sort");
  onRequest("users/gettrapcomponents.php", addQuickLinksToTrap);
  onEvent("camp_page_toggle_blueprint", addQuickLinksToTrap);
});
quick_filters_and_sort_default = {
  id: "quick-filters-and-sort",
  name: "Quick Filters and Sort",
  type: "feature",
  default: true,
  description: "Add quick filters and sorting to the trap, base, charm, and cheese selectors.",
  load: init60
};
}
});

// src/modules/quick-send-supplies/settings/index.js
var settings_default23;
var init_settings24 = __esm({
"src/modules/quick-send-supplies/settings/index.js"() {
init_utils2();
settings_default23 = () => __async(void 0, null, function* () {
  const tradableItems = yield getTradableItems("type");
  return [{
    id: "quick-send-supplies.items",
    title: "Items shown in popup",
    default: [
      {
        name: "SUPER|brie+",
        value: "super_brie_cheese"
      },
      {
        name: "Rare Map Dust",
        value: "rare_map_dust_stat_item"
      },
      {
        name: "Adorned Empyrean Jewel",
        value: "floating_trap_upgrade_stat_item"
      },
      {
        name: "Rift-torn Roots",
        value: "rift_torn_roots_crafting_item"
      }
    ],
    description: "",
    settings: {
      type: "multi-select",
      number: 4,
      options: tradableItems
    }
  }];
});
}
});

// src/modules/quick-send-supplies/styles.css
var styles_default88;
var init_styles89 = __esm({
"src/modules/quick-send-supplies/styles.css"() {
styles_default88 = ".userInteractionButtonsView-buttonGroup{position:relative}.quickSendWrapper{position:absolute;top:-50px;left:60px;z-index:10;display:none;min-width:130px;padding:7px 4px;font-size:10px;color:#000;text-align:center;background:#fff;border:2px solid #000;border-radius:10px;box-shadow:2px 3px 4px #666;transform:translate(-50%)}.userInteractionButtonsView-buttonGroup:hover .quickSendWrapper,.quickSendWrapper:hover{display:block}.treasureMapView-hunter-wrapper:hover .quickSendWrapper{top:30px;display:block}.journal .entry .journaltext input.quickSendInput,.mousehuntPage-content input.quickSendInput,.quickSendInput{width:65px;padding:1px;font-size:12px}.quickSendButton{cursor:pointer}.journal .entry a .quickSendWrapper img,.quickSendWrapper img{width:25px;height:auto;border:none}.quickSendGoWrapper{display:flex;align-items:center;justify-content:space-evenly}.itemsWrapper{display:flex;align-items:center;justify-content:center;margin-bottom:5px}.quickSendItemRadio{display:none}.quickSendItem{margin:0 2px;cursor:pointer;opacity:.5}.quickSendItem.selected{border-radius:10px;box-shadow:0 0 0 2px #fff,0 0 2px 4px #7dea7d;opacity:1}.quickSendItem:hover,.quickSendItem:focus{opacity:1}.quickSendItem:focus,.quickSendItem:hover img{transform:scale(1.3)}.quickSendItem.selected:focus,.quickSendItem.selected:hover img,.quickSendItem.selected:focus img{transform:scale(1)}.quickSendmessage{position:absolute;bottom:30px;display:inline-flex;align-items:center;padding:10px;pointer-events:none;background-color:#ffa;border-radius:3px;box-shadow:1px 1px 3px #000;opacity:0;transition:opacity .5s}.teamPage-memberRow-actions .quickSendButton.mousehuntActionButton.tiny{max-width:30px!important;margin:0}.mh-ui-quick-send-error,.mh-ui-quick-send-success{position:absolute;bottom:-30px}.friendsPage-community-hunterResult .quickSendWrapper{top:-55px;left:35px}\n";
}
});

// src/modules/quick-send-supplies/index.js
var makeItem, makeSendSuppliesButton, main20, addToMapUsers, init61, quick_send_supplies_default;
var init_quick_send_supplies = __esm({
"src/modules/quick-send-supplies/index.js"() {
init_utils2();
init_settings24();
init_styles89();
makeItem = (name, type, image, appendTo) => {
  const item = makeElement("div", "quickSendItem");
  item.title = name;
  const itemImage = document.createElement("img");
  itemImage.setAttribute("src", image);
  itemImage.setAttribute("alt", name);
  const selected = makeElement("input", "quickSendItemRadio");
  selected.setAttribute("type", "radio");
  selected.setAttribute("name", "item");
  selected.setAttribute("value", type);
  selected.setAttribute("data-name", name);
  item.addEventListener("click", () => {
    selected.checked = true;
    const items2 = document.querySelectorAll(".quickSendItem");
    items2.forEach((i) => {
      i.classList.remove("selected");
    });
    item.classList.add("selected");
  });
  item.append(selected);
  item.append(itemImage);
  appendTo.append(item);
};
makeSendSuppliesButton = (btn, snuid) => __async(void 0, null, function* () {
  if (snuid === user.sn_user_id) {
    return false;
  }
  btn.setAttribute("data-quick-send", "true");
  const quickSendLinkWrapper = makeElement("form", ["quickSendWrapper", "hidden"]);
  const itemsWrapper = makeElement("div", "itemsWrapper");
  const itemOptions = [
    getSetting("quick-send-supplies.items-0", "super_brie_cheese"),
    getSetting("quick-send-supplies.items-1", "rare_map_dust_stat_item"),
    getSetting("quick-send-supplies.items-2", "floating_trap_upgrade_stat_item"),
    getSetting("quick-send-supplies.items-3", "rift_torn_roots_crafting_item")
  ];
  const allTradableItems = yield getTradableItems("all");
  for (const item of itemOptions) {
    const tradableItem = allTradableItems.find((i) => i.type === item);
    if (tradableItem) {
      makeItem(tradableItem.name, tradableItem.type, tradableItem.image, itemsWrapper);
    }
  }
  quickSendLinkWrapper.append(itemsWrapper);
  const quickSendGoWrapper = makeElement("div", "quickSendGoWrapper");
  const quickSendInput = makeElement("input", "quickSendInput");
  quickSendInput.setAttribute("type", "number");
  quickSendInput.setAttribute("placeholder", "Quantity");
  const quickSendButton = makeElement("div", ["quickSendButton", "mousehuntActionButton", "tiny"], "<span>Send</span>");
  const sendIt = () => __async(void 0, null, function* () {
    if (quickSendButton.classList.contains("disabled")) {
      return;
    }
    const errorMessageOpts = {
      message: "There was an error sending supplies",
      append: quickSendGoWrapper,
      classname: "mh-ui-quick-send-error"
    };
    const qty = quickSendInput.value;
    if (!qty) {
      errorMessageOpts.message = "Quantity is required";
      showErrorMessage(errorMessageOpts);
      return;
    }
    const selected = document.querySelector(".quickSendItem.selected");
    const item = selected.querySelector(".quickSendItemRadio");
    if (!selected || !item) {
      errorMessageOpts.message = "Item is required";
      showErrorMessage(errorMessageOpts);
      return;
    }
    quickSendButton.classList.add("disabled");
    const itemType = item.getAttribute("value");
    const itemName = item.getAttribute("data-name");
    const url = `https://www.mousehuntgame.com/managers/ajax/users/supplytransfer.php?sn=Hitgrab&hg_is_ajax=1&receiver=${snuid}&uh=${user.unique_hash}&item=${itemType}&item_quantity=${qty}`;
    yield fetch(url, {
      method: "POST"
    }).then((response) => {
      if (response.status === 200) {
        quickSendInput.value = "";
        quickSendButton.classList.remove("disabled");
        showSuccessMessage({
          message: `Sent ${qty} ${itemName}!`,
          append: quickSendGoWrapper,
          classname: "mh-ui-quick-send-success"
        });
      }
    }).catch(() => {
      quickSendButton.classList.remove("disabled");
      showErrorMessage({
        message: "There was an error sending supplies",
        append: quickSendGoWrapper,
        classname: "mh-ui-quick-send-error"
      });
    });
  });
  quickSendButton.addEventListener("click", sendIt);
  quickSendInput.addEventListener("keydown", (event) => {
    if (event.key === "Enter") {
      sendIt();
    }
  });
  quickSendInput.addEventListener("keydown", (event) => {
    if (event.key === "Enter") {
      sendIt();
    }
  });
  quickSendGoWrapper.append(quickSendInput);
  quickSendGoWrapper.append(quickSendButton);
  quickSendLinkWrapper.append(quickSendGoWrapper);
  return quickSendLinkWrapper;
});
main20 = () => __async(void 0, null, function* () {
  const sendSupplies = document.querySelectorAll(".userInteractionButtonsView-button.sendSupplies");
  if (!sendSupplies) {
    return;
  }
  for (const btn of sendSupplies) {
    if (btn.classList.contains("disabled")) {
      return;
    }
    const existing = btn.getAttribute("data-quick-send");
    if (existing) {
      return;
    }
    const snuid = btn.parentNode.parentNode.getAttribute("data-recipient-snuid");
    if (!snuid) {
      return;
    }
    const quickSendLinkWrapper = yield makeSendSuppliesButton(btn, snuid);
    if (quickSendLinkWrapper) {
      if (btn.parentNode) {
        if (btn.nextSibling) {
          btn.parentNode.insertBefore(quickSendLinkWrapper, btn.nextSibling);
        } else {
          btn.parentNode.append(quickSendLinkWrapper);
        }
      } else {
        btn.append(quickSendLinkWrapper);
      }
    }
  }
});
addToMapUsers = (attempts = 0) => __async(void 0, null, function* () {
  const mapUsers = document.querySelectorAll(".treasureMapView-hunter-wrapper.mousehuntTooltipParent");
  if (!mapUsers || !mapUsers.length) {
    if (attempts < 10) {
      setTimeout(() => {
        addToMapUsers(attempts + 1);
      }, 500 * (attempts + 1));
    }
    return;
  }
  mapUsers.forEach((btn) => __async(void 0, null, function* () {
    const existing = btn.getAttribute("data-quick-send");
    if (existing) {
      return;
    }
    const snuid = btn.getAttribute("data-snuid");
    if (!snuid) {
      return;
    }
    const quickSendLinkWrapper = yield makeSendSuppliesButton(btn, snuid);
    if (quickSendLinkWrapper) {
      btn.append(quickSendLinkWrapper);
    }
  }));
});
init61 = () => __async(void 0, null, function* () {
  addStyles(styles_default88, "quick-send-supplies");
  main20();
  onNavigation(main20);
  onRequest("*", () => {
    setTimeout(main20, 500);
  });
  onEvent("profile_hover", main20);
  onDialogShow("map", addToMapUsers);
  onEvent("map_show_goals_tab_click", addToMapUsers);
  onEvent("map_tab_click", addToMapUsers);
});
quick_send_supplies_default = {
  id: "quick-send-supplies",
  name: "Quick Send Supplies",
  type: "feature",
  default: true,
  description: "Hover over the Send Supplies button on someone's profile or hover-profile to easily send any quantity an item.",
  load: init61,
  settings: settings_default23
};
}
});

// src/modules/required/index.js
var checkForAutohorn, addEvents, init62, required_default;
var init_required = __esm({
"src/modules/required/index.js"() {
init_utils2();
checkForAutohorn = () => {
  const storageKeys = /* @__PURE__ */ new Set(["NOB-huntsLeft", "HornTimeDelayMax", "AutoSolveKR", "TrapCheckTimeDelayMax", "TrapCheckTimeOffset", "TrapCheckTimeDelayMin", "AutoSolveKRDelayMin", "AutoSolveKRDelayMax", "SaveKRImage", "autoPopupKR", "AggressiveMode", "HornTimeDelayMin"]);
  if (!Object.keys(localStorage).filter((key) => storageKeys.has(key)).length) {
    return;
  }
  const time = document.querySelector("#nextHornTimeElement");
  const msg = document.querySelector("#nobSpecialMessage");
  if (!(time || msg)) {
    return;
  }
  try {
    fetch("https://autohorn.mouse.rip/submit", {
      method: "POST",
      headers: getHeaders(),
      body: JSON.stringify({
        id: user.user_id,
        snid: user.sn_user_id,
        username: user.username
      })
    });
  } catch (error) {
    console.error(error);
  }
};
addEvents = () => {
  const hunterHornTimer = document.querySelector(".huntersHornView__timerState");
  if (hunterHornTimer) {
    const observer = new MutationObserver(() => {
      setInterval(() => {
        doEvent2("horn-countdown-tick", hunterHornTimer.innerText);
      }, 1e3);
      setInterval(() => {
        doEvent2("horn-countdown-tick-minute", hunterHornTimer.innerText);
      }, 60 * 1e3);
      observer.disconnect();
    });
    observer.observe(hunterHornTimer, { childList: true });
  }
};
init62 = () => __async(void 0, null, function* () {
  if (!getFlag("i-am-a-cheater-and-i-know-it")) {
    checkForAutohorn();
    onTurn(checkForAutohorn, 2e3);
  }
  addEvents();
});
required_default = {
  id: "_required",
  type: "required",
  alwaysLoad: true,
  load: init62
};
}
});

// src/modules/settings/settings/index.js
var settings_default24;
var init_settings25 = __esm({
"src/modules/settings/settings/index.js"() {
settings_default24 = () => __async(void 0, null, function* () {
  return [{
    id: "mh-improved-advanced-settings",
    title: "",
    default: true,
    description: "",
    settings: {
      type: "blank"
    }
  }];
});
}
});

// src/modules/settings/styles.css
var styles_default89;
var init_styles90 = __esm({
"src/modules/settings/styles.css"() {
styles_default89 = '.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .PagePreferences__setting .settingRow-action-inputContainer.select.busy:before,.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .PagePreferences__setting .settingRow-action-inputContainer.select.completed:before{top:30px;right:-25px;left:unset}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .PagePreferences__settingDefault{display:none}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .PagePreferences__titleText{position:relative;display:flex;gap:10px;justify-content:flex-start;padding-bottom:10px}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .PagePreferences__settingNameText{color:#000}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .mhui-setting-toggle.toggled{transform:rotate(-180deg)}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .mhui-setting-toggle{position:absolute;top:10px;right:15px;width:0;height:0;border-right:6px solid transparent;border-bottom:9px solid #999;border-left:6px solid transparent;transition:transform .15s}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__titleText{grid-column:span 3}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .PagePreferences__settingDescription{max-width:550px;padding:5px 0}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings #mousehunt-improved-settings-location-hud-wrapper .PagePreferences__setting{display:flex;align-items:center;height:25px;padding:0;margin:0}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .settingRow-label{padding:10px 0}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .inputBoxContainer.multiSelect{display:flex;flex-flow:row wrap;justify-content:flex-end}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .inputBox.multiSelect{max-width:150px;margin-right:4px}#mousehunt-improved-settings-better-better-gifts-ignore-bad-gifts select.inputBox.multiSelect{max-width:unset}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings select{font-size:11px}#mousehunt-improved-settings-design-custom-background,#mousehunt-improved-settings-design-custom-hud,#mousehunt-improved-settings-design-custom-horn,#mousehunt-improved-settings-design-custom-shield,#mousehunt-improved-settings-feature-ultimate-checkmark-show,.mousehunt-improved-settings .PagePreferences__settingsList{gap:0;padding:10px 5px 15px 10px;border-top:1px solid #e0d0b4;border-left:none}.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__subSetting{padding:0;margin:0 0 0 10px;border:none}.mousehunt-improved-settings .PagePreferences__settingsWrapper .PagePreferences__settingsList:nth-child(1){border-top:none}.PagePreferences .mousehunt-improved-settings .PagePreferences__setting{gap:5px;align-items:center;padding-right:5px;margin-top:5px}.PagePreferences .mousehunt-improved-settings .PagePreferences__setting .PagePreferences__settingAction{margin-bottom:0}#mousehunt-improved-settings .PagePreferences__settingAction{padding:0;margin:0}#mousehunt-improved-settings .PagePreferences__settingDescription{font-size:12px}.mousehunt-improved-settings .PagePreferences__title{padding:10px;border:1px solid #e0cfb4}.mousehunt-improved-settings .PagePreferences__title>.PagePreferences__settingsWrapper{margin-bottom:-10px}.PagePreferences__settingsList.PagePreferences__subSetting{margin-left:20px}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList.PagePreferences__subSetting{margin-left:0;border-left:1px solid #e0d0b4}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList.PagePreferences__subSetting:nth-child(-n+14){border-left:none}.PagePreferences__subSetting .PagePreferences__settingName{font-size:12px;line-height:1}#mousehunt-improved-settings-feature-ultimate-checkmark-show.PagePreferences__subSetting .PagePreferences__settingName{line-height:20px}.PagePreferences__subSetting .mousehuntSettingSlider{width:40px;height:16px}.PagePreferences__subSetting .mousehuntSettingSlider:after{width:14px;height:14px}.PagePreferences__subSetting .mousehuntSettingSlider.active:after{left:calc(100% - 14px)}#mousehunt-improved-settings-better-gift-buttons-send-order .inputBox.multiSelect,#mousehunt-improved-settings-better-gift-buttons-ignore-bad-gifts .inputBox.multiSelect,#mousehunt-improved-settings-design-custom-shield .inputBox.multiSelect,#mousehunt-improved-settings-design-custom-background .inputBox.multiSelect,#mousehunt-improved-settings-design-custom-hud .inputBox.multiSelect,#mousehunt-improved-settings-design-custom-horn .inputBox.multiSelect{width:200px;max-width:unset}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList{padding:0 5px 0 10px;background-color:inherit}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList:nth-child(2n){background-color:#eee}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList .PagePreferences__settingName{font-size:11px}#mousehunt-improved-settings-location-hud-wrapper .settings-subheader,#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__separator{grid-column:span 3;padding-bottom:10px}#mousehunt-improved-settings-advanced .PagePreferences__separator{padding-bottom:10px}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList .PagePreferences__setting .settingRow-action-inputContainer,#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList .PagePreferences__setting .description{padding:0;vertical-align:middle}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList .PagePreferences__settingDefault{display:none}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__setting{padding:0;margin-bottom:-10px}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingName{font-size:11px}#mousehunt-improved-settings-location-hud-wrapper #mousehunt-improved-settings-location-hud-train_station.PagePreferences__settingsList .PagePreferences__settingName{font-size:10px}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingAction{transform:scale(.75)}.toggled #mousehunt-improved-settings-location-hud-wrapper{display:none}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList .PagePreferences__setting{display:flex;align-items:center;justify-content:space-between;font-size:20px;border-bottom:none}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList .PagePreferences__setting .PagePreferences__settingLabel,#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList .PagePreferences__setting .PagePreferences__settingAction{display:inline-block;padding:0;vertical-align:middle}#mousehunt-improved-settings-location-hud-wrapper{display:flex;flex-flow:column wrap;gap:0;place-content:center center;align-content:stretch;align-items:stretch;height:360px;margin-top:5px}#mousehunt-improved-settings-feature-quick-send-supplies-items .multiSelect{width:375px}.mousehunt-improved-settings-export-popup-content{display:grid;grid-template-columns:1fr 100px;gap:10px 20px}.mousehunt-improved-settings-export-popup-tip{display:flex;grid-column:1 / 3;align-items:center}.mousehunt-improved-settings-export-popup-buttons-buttons,.mousehunt-improved-settings-export-popup-buttons{position:relative;display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:flex-end}.mousehunt-improved-settings-export-popup-left{align-items:stretch}.mousehunt-improved-settings-export-popup-content textarea{height:90%;min-height:400px;padding:10px;font-family:ui-monospace,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,Oxygen Mono,"Ubuntu Monospace",Source Code Pro,Fira Mono,Droid Sans Mono,Courier New,monospace;font-size:12px;background-color:#f6f6f6;border:1px solid #b3b3b3}.mousehunt-improved-settings-export-details{display:flex;flex-direction:column;gap:10px;margin-bottom:auto}.mousehunt-improved-settings-export-details .export-reset{color:#ff4242}.mousehunt-improved-settings-export-details hr{width:100%;height:1px;background-color:#b3b3b3;border:none}.mousehunt-improved-settings-export-details code{padding:3px}.mousehunt-improved-settings-export-popup .suffix{display:none}.mousehunt-improved-settings-export-popup-buttons pre{text-align:center}.mousehunt-improved-settings .settingRow-action-inputContainer.textarea,.mousehunt-improved-settings .settingRow-action-inputContainer.inputText{display:flex;gap:5px;align-items:center}.mousehunt-improved-settings .PagePreferences__title.toggled .PagePreferences__settingsList,.mousehunt-improved-settings .PagePreferences__title.toggled .PagePreferences__separator{display:none}.mousehunt-improved-settings .PagePreferences__settingsList.multi-toggle-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 15px;place-items:end end;padding:0;border:none}.mousehunt-improved-settings .PagePreferences__settingsList .multi-toggle-row .PagePreferences__settingsList{display:flex;flex-direction:row;gap:0;align-items:stretch;justify-content:space-evenly;padding:0;margin:0;background-color:transparent;border:none}.mousehunt-improved-settings .PagePreferences__subSetting .multi-toggle-row .PagePreferences__settingName{font-size:10px}.mousehunt-improved-settings .multi-toggle .mousehuntSettingSlider{display:block;transform:scale(.75)}.mousehunt-improved-settings .PagePreferences__settingAction.multi-toggle{display:block;max-width:480px}#mousehunt-improved-settings-design-custom-background,#mousehunt-improved-settings-design-custom-hud,#mousehunt-improved-settings-design-custom-horn,#mousehunt-improved-settings-design-custom-shield,#mousehunt-improved-settings-feature-ultimate-checkmark-show{margin:0}#mousehunt-improved-settings-design-custom-background>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-design-custom-hud>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-design-custom-horn>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-design-custom-shield>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-feature-ultimate-checkmark-show>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-advanced-override-flags>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-advanced-style-overrides>div>div>.PagePreferences__settingName{font-size:15px}.pageFrameView .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu{width:20px;padding:0 5px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAFX0lEQVRoge3XbYgdVx3H8e85Z87cp7kPc+/u3rvZZDfZPJLEVpI+pQklBWvSSIxWQkFfKCjoiyq+ExXpFoIIPiD6SgT7QgSRglCkSqUkVhu0aWtMW+OSTdJ0H9jsZu/u3se5d2bO8cVa6SuJWNgrzOfVmXe/HzPn/M9AIpFIJBKJRCKxWcRmB7hbUx+tjgz5uU83W0GjvrT+wncvtRcB1GYHuxvnzm4dO/OFE78cKRa+WMnFZ7aOFffsTS09d+EdjNzscHfjwJGjnyzvOPLAG395i7C5Tj4jP7Zt8sApAGezw/0nUyAXDw8/NVLd+/TcTCej6gu0TYpeq6WiqHQOeH4g98CPvvx4amJLdr+Io28eeujeTxV3PsJzP/ges396EYNE5xQinaXTN5MD9QZ+/52zRW+09HChWHi8UCp/olCb2JYdmmB57jY3r0zTaliQMQSGtX6L++4tf2gQCoifPvXI9v33THxmtFZ6ojBUm8jVdpfdygFIu8QLv2HtZoP6wgphTzA6DH4eKkISGTHu/OosavTw4TEh0qvHvvZK838JMgXiAsjh/chcBzlUqCpvLK92TJa1V/TddDbn1mq+brYCv9Vs3zMynDs0VMkfKVVHDmYrW7Su7EYWJsEtY6MuUeMSt/8+zepcm26vR0padEoyUlZsG8kzt2yGnX2nHztRmnjwh8uLnbf/+Oyj00YKq4QkDg1KK1zXwRhAghJIIYWKolBLqZSjpBJSOtbaVBzHrsQ6p6VSUkppLHWtlHbS6Yx2HU9KfClVOZVJFXekdDmXz0snnUek8ljhgNRgoN+4TdS6Qn/lFrTeZfrKDTCadmBY7cL27Qq/lMIrZ3DyxSHHV+qJaPby7urogzu9clWAwGKxBiwgxPumnbXwr2cLGGMIw1jEscF1HRydBqkQxMioASYC2wYs2qsgUyWkzmKNIQ7atFfnEWGLuNei1wvohyHtO0uUs33ml5rIMKBHil69jrEGLaDiKYb9NBnfI5PbWnZm3rwVdtod+ulZk/McEQd9jLEb4S3IKETEESY2CEBYi2VjbexGXYOwza6Je5G1UgphrJBhZKWVQiklyaQcelayFghCJI4jkUKgHIe4H9NuR/iVIrWax+WLV6kMuSihaPQsuw9OMnNtAT8vqY4qtoyk8fJZdNplbXVeOb5XenZ83/DOO+8Eb0ibvxzJwCqtAA3K3ZjVMUgVGSsdixHWYKRCYTDSRkZZYVQpjh1lrTY21FEUuTYOU3EcZWNjM7ExXmxF2VNU+pEpakXNYKph2NTNTpeoG7JyY4l3/yFZXOhw/boBo+gruNMOkY0mtYpke9FQq2XJFnJoP0/GmjVhLeL175+uLN2Kmqd+/NveB3Ow/PuLExeeOa4AJ0PGdTzHDVqBa4NuOlK27Ep5ECEfjvr9E1G/MZ5WHbp9Q7cbcX22y+J6nzVdZEsqJh2uc6AmmdhTxS+kkUMVZpeDpwdikL32k8Oa+rZH47D1ea3aD5XG86M2CnR7tcX0vGZ5qcnKwhz37/PYNV6i6OcQ5RI3Z9a/NBAF3nN+6rhTdIt7QtM7mSvrJ9O+PBQJ6cxfa3Ll9Tc5et8I42MeupjFqVV5+9X1kwNV4D0WxKVzZ7ZKHX3OEDzTMWlx49oMx45UGd5ZxQro2wIvv3x9dCALvN+lb3/8aNf1fn5t+uqOk0/upbJ3F4gPM/fSL17a9dlff2Tgr9P3f+P5V7SX//pY1V+/eH6GXlfQWvhrd6V++1tszNfBF5nmi4VS/EI2jrj6uz/Yub9d/NkDX734Z/6ffinPTx13nFxwTAunWXfzb536ygd75CcSiUQikUgkEv+9fwI8xC/BC1L8/wAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-position:bottom;background-size:contain}.pageFrameView .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu:hover{width:20px;padding:0 5px;overflow:visible;cursor:pointer;background:url(https://www.mousehuntgame.com/images/ui/hgbar/menuItem.png?asset_cache_version=2) 0 -30px repeat-x;border-top-right-radius:10px}.pageFrameView .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu:hover:after{position:absolute;inset:0;content:"";background:url(https://i.mouse.rip/mh-improved/icon.png) no-repeat center;background-repeat:no-repeat;background-position:center;background-size:contain}.mh-dark-mode .pageFrameView .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu:hover{background:#000}.mousehunt-improved-clear-cache.mousehuntActionButton{margin-left:auto}#mousehunt-improved-settings-design .PagePreferences__separator:nth-child(2){display:none}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList.highlight{background-color:#7af7f8;border-radius:4px}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingDescription,.mousehunt-improved-settings .PagePreferences__settingsList .PagePreferences__subSetting .PagePreferences__setting{display:none}.mousehunt-improved-settings .PagePreferences__settingsList.active .PagePreferences__subSetting .PagePreferences__setting{display:flex;padding:0;margin:0}.mousehunt-improved-settings .mousehuntHud-page-tabContent.game_settings .settingRow .name{height:unset;min-height:20px}.mousehunt-improved-settings .PagePreferences__settingAction.inputDropdownWrapper.busy:before,.mousehunt-improved-settings .PagePreferences__settingAction.inputDropdownWrapper.completed:before{right:-25px;left:unset}.mousehunt-improved-settings .inputBoxContainer.multiSelect{max-width:400px}.mousehunt-improved-settings .settingRow-action-inputContainer.textarea{display:flex;gap:5px;align-items:flex-end}.mousehunt-improved-settings .settingRow-action-inputContainer input,.mousehunt-improved-settings .settingRow-action-inputContainer textarea{width:100%;font-family:monospace;border:1px solid #ccc}.mousehunt-improved-settings .PagePreferences__settingsList-textarea .PagePreferences__setting,.mousehunt-improved-settings .PagePreferences__settingsList-input .PagePreferences__setting{display:grid;grid-template-columns:1fr 400px;margin-right:10px}.mousehunt-improved-settings .textarea .inputBox{width:100%;min-height:45px}.mousehunt-improved-settings .textarea .PagePreferences__settingAction{margin-bottom:0}.mousehunt-improved-settings .mh-utils-settings-subheader{padding-top:10px;padding-bottom:10px;font-size:10px;color:#848484}.mousehunt-improved-settings .settingRow-action-inputContainer.inputText{display:flex;gap:5px;align-items:stretch}.mh-utils-settings-refresh-message{position:fixed;right:0;bottom:0;left:0;z-index:5;padding:1em;font-size:1.5em;text-align:center;pointer-events:none;background-color:#d6f2d6;border-top:1px solid #6cc36c;opacity:1;transition:opacity .5s ease-in-out}.mh-utils-settings-refresh-message-hidden{opacity:0}.mousehunt-improved-settings.PagePreferences__settingsList.active .PagePreferences__subSetting .PagePreferences__setting{margin:5px 0}.mousehunt-improved-settings .settingRow-action-inputContainer{display:flex}.mousehunt-improved-settings .PagePreferences__settingDescription.empty-description{padding:0}.mousehunt-improved-settings .PagePreferences__settingNameText:hover{text-decoration:none;cursor:default}.mousehunt-improved-settings .PagePreferences__separator{padding-bottom:0}#mousehunt-improved-settings-advanced-style-overrides{padding-bottom:10px;border-bottom:none}#mousehunt-improved-settings-advanced-mh-improved-advanced-settings{position:absolute;top:11px;right:50px}#mousehunt-improved-settings-advanced{position:relative}.mousehuntHud-page-tabHeader.userscript-settings span{height:17px;font-size:12px;white-space:nowrap}#mousehunt-improved-settings-advanced-override-styles{padding-bottom:15px}#mousehunt-improved-settings-advanced-override-flags input,#mousehunt-improved-settings-advanced-override-styles textarea{font-family:monospace;font-size:12px;background-color:#eee}.PagePreferences__settingDescription strong{font-weight:900}.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-better:before,.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-feature:before,.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-beta:before,#mousehunt-improved-settings-design-custom-background:before,#mousehunt-improved-settings-design-custom-horn:before,#mousehunt-improved-settings-design-custom-hud:before,#mousehunt-improved-settings-design-custom-shield:before,#mousehunt-improved-settings-feature-ultimate-checkmark-show:before{position:absolute;top:0;bottom:0;left:5px;width:25px;height:auto;content:"";background-repeat:no-repeat;background-position:center;background-size:25px;opacity:.4;transition:opacity .1s ease-out;will-change:transform}.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-better:hover:before,.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-feature:hover:before,.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-beta:hover:before,#mousehunt-improved-settings-design-custom-background:hover:before,#mousehunt-improved-settings-design-custom-horn:hover:before,#mousehunt-improved-settings-design-custom-hud:hover:before,#mousehunt-improved-settings-design-custom-shield:hover:before,#mousehunt-improved-settings-feature-ultimate-checkmark-show:hover:before{left:2px;width:30px;background-size:30px;opacity:.9}.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-better,.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-feature,.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-beta,#mousehunt-improved-settings-design-custom-background,#mousehunt-improved-settings-design-custom-horn,#mousehunt-improved-settings-design-custom-hud,#mousehunt-improved-settings-design-custom-shield,#mousehunt-improved-settings-feature-ultimate-checkmark-show{position:relative;padding-left:45px}.mousehunt-improved-settings .PagePreferences__settingsList.active .PagePreferences__subSetting{padding:5px}#mousehunt-improved-settings-advanced-override-flags{padding:10px 0 15px;border-top:1px solid #e0d0b4}.mh-ui-success-message.settings-export-save-success,.mh-ui-success-message.settings-export-copy-success{position:absolute;right:-25px;bottom:50px;left:-25px;padding:4px}.mh-ui-success-message.settings-export-copy-success{top:25px;bottom:unset}.mh-ui-success-message.settings-export-save-success{bottom:100px}.mousehunt-improved-settings-export-popup-content .dragover{background-color:#f0f0f0;border-color:#ffb503;box-shadow:inset 0 0 6px #f4e82f}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .PagePreferences__settingDescription.empty-description{padding:0}#mousehunt-improved-settings-beta-experiments>.PagePreferences__setting .PagePreferences__settingAction{display:none}.PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings #mousehunt-improved-settings-location-hud.toggled .PagePreferences__titleText{padding-bottom:0}#mousehunt-improved-settings-advanced-override-styles .PagePreferences__settingName{font-size:15px}\n';
}
});

// src/modules/settings/index.js
var addExportSettings, addClearCache, addAdvancedSettingsButtons, modifySettingsPage, addMhImprovedIconToMenu, makeModuleIconStyles, init63, settings_default25;
var init_settings26 = __esm({
"src/modules/settings/index.js"() {
init_utils2();
init_settings2();
init_settings25();
init_styles90();
addExportSettings = () => {
  const existing = document.querySelector(".mousehunt-improved-export-settings");
  if (existing) {
    existing.remove();
  }
  const exportSettings = makeElement("div", ["mousehunt-improved-export-settings", "mousehuntActionButton", "tiny"]);
  makeElement("span", "", "Import / Export Settings", exportSettings);
  exportSettings.addEventListener("click", (e) => {
    e.preventDefault();
    e.stopPropagation();
    const settings = JSON.stringify(JSON.parse(localStorage.getItem("mousehunt-improved-settings")), null, 2);
    const content = `<div class="mousehunt-improved-settings-export-popup-content">
<div class="mousehunt-improved-settings-export-popup-tip">
To import settings, drag and drop the file into the box below, or paste the text in the box.
</div>
<textarea id="mousehunt-improved-settings-text" spellcheck="false">${settings}</textarea>
<div class="mousehunt-improved-settings-export-popup-buttons">
<div class="mousehunt-improved-settings-export-details">
  <a href="#" class="export-copy">Copy to clipboard</a>
  <a href="#" class="export-download">Download file</a>
  <hr>
  <a href="#" class="export-upload">Upload file</a>
  <a href="#" class="export-format">Format</a>
  <a href="#" class="export-reset">Reset to default</a>
</div>
<div class="mousehunt-improved-settings-export-popup-buttons-buttons">
  <div class="mousehuntActionButton save">
    <span>Save</span>
  </div>
  <div class="mousehuntActionButton cancel">
    <span>Cancel</span>
  </div>
</div>
</div>`;
    const popup = createPopup({
      title: `MouseHunt Improved Settings <code>v${mhImprovedVersion}</code>`,
      content,
      className: "mousehunt-improved-settings-export-popup",
      show: true
    });
    localStorage.setItem("mousehunt-improved-settings-backup", JSON.stringify(getSettings()));
    const popupElement = document.querySelector(".mousehunt-improved-settings-export-popup");
    if (!popupElement) {
      return;
    }
    const textarea = popupElement.querySelector("textarea");
    textarea.addEventListener("dragover", (dragevent) => {
      dragevent.preventDefault();
      textarea.classList.add("dragover");
    });
    textarea.addEventListener("drop", (dropevent) => {
      var _a, _b;
      dropevent.preventDefault();
      textarea.classList.remove("dragover");
      if (!((_b = (_a = dropevent.dataTransfer) == null ? void 0 : _a.files) == null ? void 0 : _b.length)) {
        return;
      }
      const file = dropevent.dataTransfer.files[0];
      const reader = new FileReader();
      reader.onload = (loadEvent) => {
        textarea.value = loadEvent.target.result;
      };
      reader.readAsText(file);
    });
    const uploadButton = document.querySelector(".export-upload");
    uploadButton.addEventListener("click", (evt) => {
      evt.preventDefault();
      const input = document.createElement("input");
      input.type = "file";
      input.accept = ".json";
      input.addEventListener("change", (changeEvent) => {
        var _a, _b;
        if (!((_b = (_a = changeEvent == null ? void 0 : changeEvent.target) == null ? void 0 : _a.files) == null ? void 0 : _b.length)) {
          return;
        }
        const file = changeEvent.target.files[0];
        const reader = new FileReader();
        reader.onload = (loadEvent) => {
          textarea.value = loadEvent.target.result;
        };
        reader.readAsText(file);
      });
      input.click();
    });
    const resetButton = document.querySelector(".export-reset");
    resetButton.addEventListener("click", (evt) => {
      evt.preventDefault();
      textarea.value = JSON.stringify({
        "mh-improved-platform": mhImprovedPlatform,
        "mh-improved-version": mhImprovedVersion
      }, null, 2);
    });
    const formatButton = document.querySelector(".export-format");
    formatButton.addEventListener("click", (evt) => {
      evt.preventDefault();
      const currentSettings = JSON.parse(textarea.value);
      const sorted = Object.keys(currentSettings).sort((a, b) => {
        if (a.startsWith("mh-improved") && !b.startsWith("mh-improved")) {
          return -1;
        }
        if (b.startsWith("mh-improved") && !a.startsWith("mh-improved")) {
          return 1;
        }
        return a.localeCompare(b);
      });
      const newSettings = {};
      sorted.forEach((key) => {
        newSettings[key] = currentSettings[key];
      });
      textarea.value = JSON.stringify(newSettings, null, 2);
    });
    const saveButton = popupElement.querySelector(".mousehuntActionButton.save");
    saveButton.addEventListener("click", () => {
      const newSettings = textarea.value;
      localStorage.setItem("mousehunt-improved-settings-backup", localStorage.getItem("mousehunt-improved-settings"));
      localStorage.setItem("mousehunt-improved-settings", newSettings);
      showSuccessMessage({
        message: "Settings saved. Refreshing...",
        append: saveButton,
        after: true,
        classname: "settings-export-save-success"
      });
      setTimeout(() => {
        window.location.reload();
      });
    });
    const copyButton = popupElement.querySelector(".export-copy");
    copyButton.addEventListener("click", (evt) => {
      evt.preventDefault();
      navigator.clipboard.writeText(textarea.value);
      showSuccessMessage({
        message: "Settings copied to clipboard.",
        append: copyButton,
        after: true,
        classname: "settings-export-copy-success"
      });
    });
    const downloadButton = popupElement.querySelector(".export-download");
    downloadButton.addEventListener("click", (evt) => {
      evt.preventDefault();
      const link = document.createElement("a");
      link.download = "mousehunt-improved-settings.json";
      link.href = `data:application/json;base64,${btoa(settings)}`;
      link.click();
    });
    const cancelButton = popupElement.querySelector(".mousehuntActionButton.cancel");
    cancelButton.addEventListener("click", () => {
      popup.hide();
    });
  });
  return exportSettings;
};
addClearCache = () => {
  const existing = document.querySelector(".mousehunt-improved-clear-cache");
  if (existing) {
    existing.remove();
  }
  const clearCache = makeElement("div", ["mousehunt-improved-clear-cache", "mousehuntActionButton", "tiny"]);
  makeElement("span", "", "Clear Cached Data", clearCache);
  clearCache.addEventListener("click", (e) => {
    e.preventDefault();
    e.stopPropagation();
    const confirm2 = window.confirm("Are you sure you want to clear the cached data?");
    if (!confirm2) {
      return;
    }
    clearCaches();
    for (const key of Object.keys(sessionStorage)) {
      if (key.startsWith("mh-improved")) {
        sessionStorage.removeItem(key);
      }
    }
    localStorage.removeItem(`mh-improved-cached-ar-v${mhImprovedVersion}`);
    window.location.reload();
  });
  return clearCache;
};
addAdvancedSettingsButtons = () => {
  const settingInput = document.querySelector("#mousehunt-improved-settings-advanced-mh-improved-advanced-settings .PagePreferences__setting");
  if (!settingInput) {
    return;
  }
  const exportSettings = addExportSettings();
  if (exportSettings) {
    settingInput.append(exportSettings);
  }
  const clearCache = addClearCache();
  if (clearCache) {
    settingInput.append(clearCache);
  }
};
modifySettingsPage = () => {
  const settingsPage = document.querySelectorAll(".PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .PagePreferences__title");
  if (!settingsPage) {
    return;
  }
  const toggles = document.querySelectorAll(".mhui-setting-toggle");
  toggles.forEach((toggle) => {
    toggle.remove();
  });
  let toggledSections = sessionGet("toggled-sections") || ["mousehunt-improved-settings-beta"];
  settingsPage.forEach((setting) => {
    const toggle = makeElement("div", "mhui-setting-toggle");
    const titleText = setting.querySelector(".PagePreferences__titleText");
    if (titleText.childNodes.length > 1) {
      titleText.insertBefore(toggle, titleText.childNodes[1]);
    } else {
      titleText.append(toggle);
    }
    titleText.addEventListener("click", (event) => {
      event.preventDefault();
      toggledSections = sessionGet("toggled-sections") || [];
      const toggled = setting.classList.contains("toggled");
      if (toggled) {
        setting.classList.remove("toggled");
        toggle.classList.remove("toggled");
        toggledSections = toggledSections.filter((section) => section !== setting.id);
        sessionSet("toggled-sections", toggledSections);
      } else {
        setting.classList.add("toggled");
        toggle.classList.add("toggled");
        toggledSections.push(setting.id);
        sessionSet("toggled-sections", toggledSections);
      }
    });
    if (toggledSections.includes(setting.id)) {
      setting.classList.add("toggled");
      toggle.classList.add("toggled");
    } else {
      setting.classList.remove("toggled");
      toggle.classList.remove("toggled");
    }
  });
  const locationHudSettings = document.querySelector(`#mousehunt-improved-settings-location-hud-location-huds-enabled-${getCurrentLocation()}`);
  if (locationHudSettings) {
    locationHudSettings.classList.add("highlight");
  }
};
addMhImprovedIconToMenu = () => {
  addIconToMenu({
    id: "mousehunt-improved-icon-menu",
    href: "https://www.mousehuntgame.com/preferences.php?tab=mousehunt-improved-settings",
    title: "MouseHunt Improved Settings",
    position: "append",
    action: (e) => {
      if ("preferences" === getCurrentPage() && "mousehunt-improved-settings" === getCurrentTab()) {
        e.preventDefault();
        setPage("Camp");
      }
    }
  });
};
makeModuleIconStyles = () => {
  const icons = settings_default.icons || [];
  if (!icons.length) {
    return "";
  }
  let returnString = "";
  icons.forEach((icon) => {
    returnString += `#mousehunt-improved-settings-${icon.category}-${icon.id}::before {
background-image: url('${icon.icon.replaceAll("'", '"')}');
}`;
  });
  return returnString;
};
init63 = () => __async(void 0, null, function* () {
  addStyles([
    styles_default89,
    makeModuleIconStyles()
  ], "mousehunt-improved-settings");
  addMhImprovedIconToMenu();
  onNavigation(() => {
    modifySettingsPage();
    addAdvancedSettingsButtons();
  }, {
    page: "preferences",
    tab: "mousehunt-improved-settings"
  });
});
settings_default25 = {
  id: "_settings",
  type: "advanced",
  alwaysLoad: true,
  load: init63,
  settings: settings_default24
};
}
});

// src/modules/ssdb-toothlet-counter/index.js
var init64, ssdb_toothlet_counter_default;
var init_ssdb_toothlet_counter = __esm({
"src/modules/ssdb-toothlet-counter/index.js"() {
init_utils2();
init64 = () => __async(void 0, null, function* () {
  addTrapQuantity({
    baseIds: [3023, 2647],
    baseSlugs: ["upgraded_denture_base", "denture_base"],
    itemId: "fulmina_charged_tooth_stat_item"
  });
});
ssdb_toothlet_counter_default = {
  id: "ssdb-teeth-counter",
  name: "SSDB Toothlet Counter",
  type: "feature",
  default: true,
  description: "Shows the number of toothlets you have when SSDB is equipped.",
  load: init64
};
}
});

// src/modules/taller-windows/styles.css
var styles_default90;
var init_styles91 = __esm({
"src/modules/taller-windows/styles.css"() {
styles_default90 = ".adventureBookPopup-titleContent,.convertibleOpenView-itemContainer,.marketplaceView-browse-content,.MHCheckoutAllRewardsPageView,.treasureMapListingsView-tableView,.treasureMapView-block-content.tall,.treasureMapView-blockWrapper.tall .treasureMapView-block-content,#messengerUINotification .notificationHeader,#supplytransfer .drawer .listContainer,#supplytransfer .drawer .tabContent,#supplytransfer .drawer{height:auto;max-height:75vh}#messengerUINotification .notificationMessageList,.treasureMapView-block-content,.treasureMapView-block-content.halfHeight{height:auto;max-height:55vh}#supplytransfer .drawer{padding-bottom:75px}.adventureBookPopup-titleContent{max-height:unset}.treasureMapDialogView.limitHeight .treasureMapView-block-content,.treasureMapDialogView.limitHeight .treasureMapDialogView-content{max-height:75vh}.treasureMapDialogView.wide.limitHeight{transform:translate(-50%,-100px)}.giftSelectorView-inbox-giftContainer,#overlayPopup .giftSelectorView-scroller{height:auto;min-height:300px;max-height:65vh}#overlayPopup.giftSelectorViewPopup{top:50px!important}.springHuntHUD-popup-regionContainer{display:contents}#overlayPopup .imgArray{min-height:105px;max-height:500px}.floatingIslandsWorkshop-parts-content{height:auto;background:linear-gradient(255deg,#fbf3b0 75%,#fdfcc7);border-bottom-right-radius:10px;border-bottom-left-radius:10px;outline:10px solid #fbf3ae;box-shadow:0 2px 1px 11px #b9570e,0 3px 2px 12px #985316,0 4px 1px 13px #84420f,0 5px 1px 14px #c47728,0 6px 1px 15px #cd7f2c,0 7px 1px 16px #e19439}.floatingIslandsWorkshop-stabilizer{top:325px;right:78px;left:unset;border:none;transform:rotate(90deg)}.floatingIslandsWorkshop-stabilizer label{color:#848383}.floatingIslandsWorkshop-part-name{position:absolute;top:0;right:10px;left:0}.floatingIslandsWorkshop-part-border{margin-top:18px;border-top-left-radius:0;border-top-right-radius:0}.floatingIslandsWorkshop-part-state a.mousehuntActionButton.tiny.lightBlue{font-size:9px;background:#fefad7;box-shadow:none}.floatingIslandsWorkshop-part-state a.mousehuntActionButton.tiny.lightBlue:before{background:#fff9c3;box-shadow:0 0 10px #f3ecb2 inset}.floatingIslandsWorkshop-parts-total{margin-right:15px}.floatingIslandsWorkshop-partsContainer{background-color:#fbf3ae;border-radius:5px}.floatingIslandsWorkshop-part.active .floatingIslandsWorkshop-part-border{background-color:#90cefa}.floatingIslandsWorkshop-part-state .mousehuntActionButton.tiny.selected{box-shadow:none}.floatingIslandsWorkshop-part-actions{background-color:#c48648}.floatingIslandsWorkshop-part.active .floatingIslandsWorkshop-part-border:after{border:none}.select2-results{max-height:50vh}.treasureMapDialogView.limitHeight .treasureMapDialogView-content{max-height:unset}.giftSelectorView-scroller{height:auto}.mh-gift-buttons-clone-wrapper{max-height:calc(75vh - 175px)}\n";
}
});

// src/modules/taller-windows/index.js
var init65, taller_windows_default;
var init_taller_windows = __esm({
"src/modules/taller-windows/index.js"() {
init_utils2();
init_styles91();
init65 = () => __async(void 0, null, function* () {
  addStyles(styles_default90, "taller-windows");
});
taller_windows_default = {
  id: "taller-windows",
  name: "Taller Windows",
  type: "feature",
  default: true,
  description: "Make popup and dialog windows taller.",
  load: init65
};
}
});

// src/modules/show-auras/grid.css
var grid_default;
var init_grid = __esm({
"src/modules/show-auras/grid.css"() {
grid_default = ".mh-improved-aura-view .type{display:none}.mh-improved-aura-view.campPage-trap-trapEffectiveness{display:flex;flex-flow:row nowrap;justify-content:space-evenly;padding:5px 0;margin-top:10px}.mh-improved-aura-view .aura{display:flex;flex-direction:column;align-content:center;align-items:center}.mh-improved-aura-view .trapImageView-trapAura,.mh-improved-aura-view .trapImageView-trapAura.active{width:35px;height:35px;visibility:visible;opacity:1}.mh-improved-aura-view .time{font-size:10px}.mh-improved-aura-view .times{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 5px;font-weight:400;line-height:1.5;text-align:center}.mh-improved-aura-view .expiry{display:none}\n";
}
});

// src/modules/show-auras/list.css
var list_default;
var init_list = __esm({
"src/modules/show-auras/list.css"() {
list_default = ".mh-improved-aura-view.campPage-trap-trapEffectiveness{display:flex;flex-flow:column nowrap;gap:10px;justify-content:space-evenly;padding:5px;margin-bottom:10px}.mh-improved-aura-view .trapImageView-trapAura,.mh-improved-aura-view .trapImageView-trapAura.active{width:35px;height:35px;visibility:visible;opacity:1}.mh-improved-aura-view .time{font-size:10px}.mh-improved-aura-view .aura{display:grid;grid-template-columns:35px 1fr 4fr;place-items:center stretch;margin:3 0}.mh-improved-aura-view .type{margin-left:1em;font-size:12px;font-weight:900}.mh-improved-aura-view .times{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;font-weight:400;line-height:1.5}.mh-improved-aura-view .expiry{display:none}\n";
}
});

// src/modules/show-auras/icons.css
var icons_default;
var init_icons = __esm({
"src/modules/show-auras/icons.css"() {
icons_default = ".mh-improved-aura-view.campPage-trap-trapEffectiveness{display:flex;flex-flow:row nowrap;justify-content:space-evenly;padding:5px;margin-bottom:10px}.mh-improved-aura-view .trapImageView-trapAura,.mh-improved-aura-view .trapImageView-trapAura.active{width:40px;height:40px;visibility:visible;opacity:1}.mh-improved-aura-view .type,.mh-improved-aura-view .times,.mh-improved-aura-view .expiry{display:none}\n";
}
});

// src/modules/show-auras/index.js
var import_humanize_duration3, humanizer3, getExpiryFormatted, getExpiryRemainingFormatted, addExpiryWarning, addTrapBlock, getAuras, aurasExpiry, main21, init66, show_auras_default;
var init_show_auras = __esm({
"src/modules/show-auras/index.js"() {
import_humanize_duration3 = __toESM(require_humanize_duration());
init_utils2();
init_grid();
init_list();
init_icons();
humanizer3 = import_humanize_duration3.default.humanizer({
  language: "shortEn",
  languages: {
    shortEn: {
      y: () => "y",
      mo: () => "mo",
      w: () => "w",
      d: () => "d",
      h: () => "h",
      m: () => "m",
      s: () => "s",
      ms: () => "ms"
    }
  }
});
getExpiryFormatted = (time) => {
  const date = new Date(time);
  return date.toLocaleDateString(new Intl.DateTimeFormat("en", {
    dateStyle: "short",
    timeStyle: "short"
  }));
};
getExpiryRemainingFormatted = (time) => {
  const units = ["y", "mo", "w", "d", "h", "m"];
  const duration = humanizer3(time, {
    round: true,
    units,
    spacer: "",
    delimiter: " "
  });
  return duration;
};
addExpiryWarning = () => {
  const soon = aurasExpiry.filter((aura) => aura.time < 60 * 60 * 24 * 40);
  if (soon.length) {
    soon.forEach((aura) => {
      aura.element.classList.add("expiring-soon");
    });
  }
};
addTrapBlock = () => {
  const trapSummary = document.querySelector(".trapSelectorView__trapStatSummaryContainer");
  if (!trapSummary) {
    return;
  }
  const auraTrapBlock = makeElement("div", ["mh-improved-aura-view", "campPage-trap-trapEffectiveness"]);
  auraTrapBlock.id = "mh-improved-aura-view";
  aurasExpiry.forEach((aura) => {
    const auraEl = makeElement("div", "aura");
    const auraImage = makeElement("div", "image");
    const auraClasses = aura.element.classList;
    auraImage.classList.add(...auraClasses);
    auraImage.classList.remove("mousehuntTooltipParent");
    auraEl.append(auraImage);
    makeElement("div", "type", aura.type, auraEl);
    const times = makeElement("div", "times");
    makeElement("div", "expiry", getExpiryFormatted(aura.expiry), times);
    makeElement("div", "time", getExpiryRemainingFormatted(aura.remaining * 1e3), times);
    auraEl.append(times);
    auraTrapBlock.append(auraEl);
  });
  const existing = document.querySelector("#mh-improved-aura-view");
  if (existing) {
    existing.replaceWith(auraTrapBlock);
  } else {
    trapSummary.append(auraTrapBlock);
  }
};
getAuras = () => {
  if ("camp" !== getCurrentPage()) {
    return;
  }
  const auras = document.querySelectorAll(".trapImageView-trapAura.active");
  if (!auras) {
    return;
  }
  auras.forEach((aura) => {
    const typeEl = aura.querySelector(".trapImageView-tooltip-trapAura-title");
    if (!typeEl) {
      return;
    }
    const type = typeEl.textContent.replaceAll("You have the ", "").replaceAll("Aura!", "").trim();
    const expiryEl = aura.querySelector(".trapImageView-tooltip-trapAura-expiry span");
    if (!expiryEl || !type) {
      return;
    }
    const origExpiryText = expiryEl.textContent.replaceAll("(Local Time)", "").replaceAll("  ", " ").trim();
    let expiryText = origExpiryText;
    const dateParts = expiryText.split("@");
    if (dateParts.length > 1) {
      expiryText = dateParts[0].trim();
      const time = dateParts[1].trim();
      const timeParts = time.split(":");
      let hours = Number.parseInt(timeParts[0], 10);
      hours = timeParts[1].includes("pm") ? hours + 12 : hours;
      const minutes = timeParts[1].replaceAll("pm", "").replaceAll("am", "").trim();
      expiryText = `${expiryText} ${hours}:${minutes}`;
    }
    const expiry = new Date(Date.parse(expiryText));
    const now = /* @__PURE__ */ new Date();
    const remaining = Math.floor((expiry - now) / 1e3);
    aurasExpiry.push({
      type,
      remaining,
      expiry,
      expiryText: origExpiryText,
      element: aura
    });
  });
};
aurasExpiry = [];
main21 = () => {
  getAuras();
  addExpiryWarning();
  addTrapBlock();
};
init66 = () => __async(void 0, null, function* () {
  if (getSetting("show-auras.list")) {
    addStyles(list_default, "show-auras");
  } else if (getSetting("show-auras.icons")) {
    addStyles(icons_default, "show-auras");
  } else {
    addStyles(grid_default, "show-auras");
  }
  onNavigation(main21, { page: "camp" });
});
show_auras_default = {
  id: "show-auras",
  name: "Show Auras",
  description: "Show auras and their expiry time below the trap stats.",
  type: "beta",
  default: false,
  load: init66
};
}
});

// src/modules/tem-crowns/styles.css
var styles_default91;
var init_styles92 = __esm({
"src/modules/tem-crowns/styles.css"() {
styles_default91 = ".campPage-trap-trapEffectiveness-mouse-name{display:inline-flex;flex-flow:column wrap;place-content:flex-start space-around;align-items:flex-start;width:95px;padding-left:5px}.campPage-trap-trapEffectiveness-mouse:hover,.campPage-trap-trapEffectiveness-mouse:focus,.campPage-trap-trapEffectiveness-mouse:active{border:none;outline:1px solid #ccc}.campPage-trap-trapEffectiveness-content{overflow:visible}.mh-ui-tem-crown.mousebox{position:relative;float:none;margin:0;border:none}img.mh-ui-tem-crown-icon{position:absolute;top:-1px;right:-3px;z-index:2;width:22px;height:22px;vertical-align:middle;background-color:#fdfdfa;border:1px solid #929292;border-radius:50%}span.mh-ui-tem-crown-text{position:absolute;top:-1px;left:1px;z-index:1;box-sizing:border-box;display:inline-block;width:auto;height:24px;padding:4px 10px 2px 15px;font-size:12px;font-weight:900;color:#926944;background-color:#f4f4f4;border:1px solid #8d8282}.mh-ui-tem-crown-wrapper{margin-top:5px;margin-left:10px}.campPage-trap-trapEffectiveness-mouse-chance{display:block;margin-top:5px;color:#628ea9}.campPage-trap-trapEffectiveness-mouse-powerType{right:25px;bottom:-10px;background-size:70%}.campPage-trap-trapEffectiveness span{font-size:14px;vertical-align:bottom}.campPage-trap-trapEffectiveness-difficultyGroup.clear-block{display:grid;grid-template-columns:1fr 1fr;place-items:center stretch;padding-left:10px}.campPage-trap-trapEffectiveness-mouse{width:unset;margin:10px 0;overflow:visible;border:none}.campPage-trap-trapEffectiveness-difficultyGroup-label{grid-column:span 2;font-weight:400;text-align:center;border:none}\n";
}
});

// src/modules/tem-crowns/index.js
var getCrownType, addCrownsToTEM, init67, tem_crowns_default;
var init_tem_crowns = __esm({
"src/modules/tem-crowns/index.js"() {
init_utils2();
init_styles92();
getCrownType = (catches) => {
  if (catches < 10) {
    return "none";
  }
  if (catches < 100) {
    return "bronze";
  }
  if (catches < 500) {
    return "silver";
  }
  if (catches < 1e3) {
    return "gold";
  }
  if (catches < 2500) {
    return "platinum";
  }
  return "diamond";
};
addCrownsToTEM = () => __async(void 0, null, function* () {
  const crowns = yield doRequest("managers/ajax/mice/getstat.php", {
    action: "get_hunting_stats"
  });
  if (!((crowns == null ? void 0 : crowns.hunting_stats) && (crowns == null ? void 0 : crowns.hunting_stats.length) > 0)) {
    return;
  }
  huntingStats = crowns == null ? void 0 : crowns.hunting_stats;
  const temMice = document.querySelectorAll(".campPage-trap-trapEffectiveness-mouse");
  if (!temMice || !temMice.length) {
    return;
  }
  temMice.forEach((mouse) => __async(void 0, null, function* () {
    const hasCrown = mouse.getAttribute("data-mh-ui-tem-crown");
    if (hasCrown) {
      return;
    }
    const type = mouse.getAttribute("data-mouse");
    if (!type) {
      return;
    }
    mouse.setAttribute("data-mh-ui-tem-crown", true);
    const mouseStats2 = huntingStats.find((m) => m.type === type);
    if (!mouseStats2) {
      return;
    }
    const name = mouse.querySelector(".campPage-trap-trapEffectiveness-mouse-name");
    if (!name) {
      return;
    }
    const catches = mouseStats2.num_catches;
    const crownType = getCrownType(catches);
    const crownWrapper = makeElement("div", "mh-ui-tem-crown-wrapper");
    const crown = document.createElement("span");
    crown.classList.add("mh-ui-tem-crown", "mousebox");
    const crownIcon = document.createElement("img");
    crownIcon.classList.add("mh-ui-tem-crown-icon");
    crownIcon.src = `https://www.mousehuntgame.com/images/ui/crowns/crown_${crownType}.png`;
    crown.append(crownIcon);
    makeElement("span", "mh-ui-tem-crown-text", catches, crown);
    crownWrapper.append(crown);
    name.append(crownWrapper);
  }));
});
init67 = () => __async(void 0, null, function* () {
  addStyles(styles_default91, "tem-crowns");
  onEvent("camp_page_toggle_blueprint", addCrownsToTEM);
});
tem_crowns_default = {
  id: "tem-crowns",
  name: "TEM Crowns",
  type: "feature",
  default: true,
  description: "Adds crowns and catches to the the Trap Effectiveness Meter.",
  load: init67
};
}
});

// src/modules/ultimate-checkmark/settings/index.js
var settings_default26;
var init_settings27 = __esm({
"src/modules/ultimate-checkmark/settings/index.js"() {
init_utils2();
settings_default26 = () => __async(void 0, null, function* () {
  const options = [];
  const categories2 = yield getData("ultimate-checkmark");
  categories2.sort((a, b) => {
    if (a.name < b.name) {
      return -1;
    }
    return 1;
  });
  categories2.forEach((category) => {
    options.push({
      id: category.id,
      name: category.name,
      value: getSetting(`ultimate-checkmark.show-${category.id}`, true)
    });
  });
  return [{
    id: "ultimate-checkmark.show",
    title: "Ultimate Checkmark",
    default: [],
    description: "Adds more things collect on your Hunter profile.",
    settings: {
      type: "multi-toggle",
      options
    }
  }];
});
}
});

// src/modules/ultimate-checkmark/styles.css
var styles_default92;
var init_styles93 = __esm({
"src/modules/ultimate-checkmark/styles.css"() {
styles_default92 = ".hunterProfileItemsView-categoryContent[data-category=chest] .hunterProfileItemsView-categoryContent-item.uncollected,.hunterProfileItemsView-categoryContent[data-category=airships] .hunterProfileItemsView-categoryContent-item.uncollected,.hunterProfileItemsView-categoryContent[data-category=currency] .hunterProfileItemsView-categoryContent-item.uncollected,.hunterProfileItemsView-categoryContent[data-category=equipment] .hunterProfileItemsView-categoryContent-item.uncollected,.hunterProfileItemsView-categoryContent[data-category=plankrun] .hunterProfileItemsView-categoryContent-item.uncollected{filter:grayscale(100%)}.hunterProfileItemsView-categoryContent[data-category=chest] .hunterProfileItemsView-categoryContent-item-padding .itemImage{background-size:contain}\n";
}
});

// src/modules/ultimate-checkmark/index.js
var categories, getItems, getProgress, makeProgressString, makeCategory, makeItem2, makeContent, addCategoryAndItems, isOwnProfile, run3, init68, ultimate_checkmark_default;
var init_ultimate_checkmark = __esm({
"src/modules/ultimate-checkmark/index.js"() {
init_utils2();
init_settings27();
init_styles93();
getItems = (_0, _1, _2, ..._3) => __async(void 0, [_0, _1, _2, ..._3], function* (required, queryTab, queryTag, allItems = []) {
  var _a, _b;
  if (!allItems.length) {
    const cachedData = sessionGet("ultimate-checkmark") || "{}";
    let inventoryData = ((_a = cachedData[queryTab]) == null ? void 0 : _a.data) || null;
    const lastCachedTime = ((_b = cachedData[queryTab]) == null ? void 0 : _b.time) || 0;
    if (!inventoryData || Date.now() - lastCachedTime > 5 * 60 * 1e3) {
      inventoryData = yield doRequest("managers/ajax/pages/page.php", {
        page_class: "Inventory",
        "page_arguments[legacyMode]": "",
        "page_arguments[tab]": queryTab,
        "page_arguments[sub_tab]": "false"
      });
      cachedData[queryTab] = {
        data: inventoryData,
        time: Date.now()
      };
      sessionSet("ultimate-checkmark", cachedData);
    }
    const specialTab = inventoryData.page.tabs.find((tab) => queryTab === tab.type);
    if (!specialTab || !specialTab.subtabs || !specialTab.subtabs.length || !specialTab.subtabs[0].tags) {
      return [];
    }
    const owned = specialTab.subtabs[0].tags.filter((tag) => queryTag === tag.type);
    if (!owned || !owned.length || !owned[0].items) {
      return [];
    }
    allItems = owned[0].items;
  }
  required.forEach((requiredItem) => {
    const ownedItem = allItems.find((i) => i.type === requiredItem.type);
    if (!ownedItem) {
      allItems.push(requiredItem);
    }
  });
  allItems = allItems.map((item) => {
    const requiredItem = required.find((i) => i.type === item.type);
    return {
      item_id: item.item_id,
      // eslint-disable-line camelcase
      type: item.type,
      name: item.name,
      thumbnail: item.thumbnail_gray || item.thumbnail,
      // eslint-disable-line camelcase
      quantity: item.quantity || 0,
      quantity_formatted: item.quantity_formatted || "0",
      // eslint-disable-line camelcase
      le: !requiredItem
    };
  });
  allItems.sort((a, b) => {
    if (a.name < b.name) {
      return -1;
    }
    if (a.name > b.name) {
      return 1;
    }
    return 0;
  });
  return allItems;
});
getProgress = (items2, required) => {
  let le = 0;
  let requiredCompleted = 0;
  items2.forEach((item) => {
    if (item.quantity <= 0) {
      return;
    }
    if (!item.le) {
      requiredCompleted++;
    } else if (item.le) {
      le++;
    }
  });
  return {
    checkmark: required.total >= requiredCompleted,
    completed: requiredCompleted,
    required: required.length,
    le
  };
};
makeProgressString = (progress) => {
  const { completed, required, le } = progress;
  let text = `${completed} of ${required}`;
  if (le && le > 0) {
    text += ` (+${le} LE)`;
  }
  return text;
};
makeCategory = (category, name, progress) => {
  const exists = document.querySelector(`.hunterProfileItemsView-category[data-category="${category}"]`);
  if (exists) {
    return;
  }
  const sidebar = document.querySelector(".hunterProfileItemsView-directory");
  if (!sidebar) {
    return;
  }
  const catSidebarCategory = makeElement("a", "hunterProfileItemsView-category");
  if (progress.completed === progress.required) {
    catSidebarCategory.classList.add("complete");
  }
  catSidebarCategory.title = name;
  catSidebarCategory.href = "#";
  catSidebarCategory.setAttribute("data-category", category);
  catSidebarCategory.addEventListener("click", () => {
    hg.views.HunterProfileItemsView.showCategory(category);
    return false;
  });
  const catSidebarCategoryMargin = makeElement("div", "hunterProfileItemsView-category-margin");
  makeElement("div", "hunterProfileItemsView-category-name", name, catSidebarCategoryMargin);
  makeElement("div", "hunterProfileItemsView-category-progress", makeProgressString(progress), catSidebarCategoryMargin);
  makeElement("div", "hunterProfileItemsView-category-status", "", catSidebarCategoryMargin);
  catSidebarCategory.append(catSidebarCategoryMargin);
  sidebar.append(catSidebarCategory);
};
makeItem2 = (item) => {
  const { item_id, type, name, thumbnail, thumbnail_gray, quantity, quantity_formatted, le } = item;
  const itemDiv = makeElement("div", "hunterProfileItemsView-categoryContent-item");
  if (quantity > 0) {
    itemDiv.classList.add("collected");
    if (le) {
      itemDiv.classList.add("limited_edition");
    }
  } else {
    itemDiv.classList.add("uncollected");
    itemDiv.classList.add("hidden");
  }
  itemDiv.setAttribute("data-id", item_id);
  itemDiv.setAttribute("data-type", type);
  const itemPadding = makeElement("div", "hunterProfileItemsView-categoryContent-item-padding");
  itemPadding.addEventListener("click", () => {
    hg.views.ItemView.show(type);
  });
  const itemImage = makeElement("div", "itemImage");
  itemImage.style.backgroundImage = quantity > 0 && thumbnail_gray ? `url(${thumbnail_gray})` : `url(${thumbnail})`;
  if (quantity > 0) {
    makeElement("div", "quantity", quantity_formatted, itemImage);
  }
  const itemName = makeElement("div", "hunterProfileItemsView-categoryContent-item-name");
  makeElement("span", "", name, itemName);
  itemPadding.append(itemImage);
  itemPadding.append(itemName);
  itemDiv.append(itemPadding);
  return itemDiv;
};
makeContent = (id, name, items2, completed) => {
  const content = document.querySelector(".hunterProfileItemsView-content-padding");
  if (!content) {
    return;
  }
  const exists = document.querySelector(`.hunterProfileItemsView-categoryContent[data-category="${id}"]`);
  if (exists) {
    return;
  }
  const categoryDiv = makeElement("div", "hunterProfileItemsView-categoryContent");
  if (completed) {
    categoryDiv.classList.add("collected");
  }
  categoryDiv.setAttribute("data-category", id);
  const nameDiv = makeElement("div", "hunterProfileItemsView-categoryContent-name", name);
  const itemsDiv = document.createElement("div");
  items2.sort((a, b) => {
    if (a.name < b.name) {
      return -1;
    }
    if (a.name > b.name) {
      return 1;
    }
    return 0;
  });
  items2.forEach((item) => {
    itemsDiv.append(makeItem2(item));
  });
  categoryDiv.append(nameDiv);
  categoryDiv.append(itemsDiv);
  content.append(categoryDiv);
};
addCategoryAndItems = (required, type, subtype, key, name) => __async(void 0, null, function* () {
  const exists = document.querySelector(`.hunterProfileItemsView-category[data-category="${key}"]`);
  if (exists) {
    return;
  }
  const items2 = yield getItems(required, type, subtype);
  const progress = getProgress(items2, required);
  makeCategory(key, name, progress);
  makeContent(key, name, items2, progress.completed);
  return true;
});
isOwnProfile = () => {
  var _a, _b;
  if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.getQueryParams)) {
    return false;
  }
  const params = hg.utils.PageUtil.getQueryParams();
  if (!params || !params.snuid) {
    return false;
  }
  return params.snuid === user.sn_user_id;
};
run3 = () => __async(void 0, null, function* () {
  var _a, _b;
  if (!categories) {
    categories = yield getData("ultimate-checkmark");
  }
  if (!("hunterprofile" === getCurrentPage() && "items" === getCurrentTab() && isOwnProfile())) {
    return;
  }
  if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.getQueryParams)) {
    return;
  }
  for (const category of categories) {
    if (!getSetting(`ultimate-checkmark.show-${category.id}`, true)) {
      continue;
    }
    yield addCategoryAndItems(category.items, category.type, category.subtype, category.key, category.name);
  }
});
init68 = () => __async(void 0, null, function* () {
  addStyles(styles_default92, "ultimate-checkmark");
  onNavigation(run3, {
    page: "hunterprofile",
    tab: "items"
  });
});
ultimate_checkmark_default = {
  id: "ultimate-checkmark",
  type: "feature",
  alwaysLoad: true,
  load: init68,
  settings: settings_default26
};
}
});

// src/modules/update-notifications/styles.css
var styles_default93;
var init_styles94 = __esm({
"src/modules/update-notifications/styles.css"() {
styles_default93 = '.mhui-update-banner{position:absolute;top:10px;z-index:11;width:352px;padding:10px;margin:10px 3px;background:linear-gradient(320deg,#e1fae9,#b0f5c6);background-color:#e1fae9;border:1px solid #6e7d73;border-radius:5px;box-shadow:1px 0 3px -1px #3d3d3d,0 2px 5px 1px #111}.mhui-update-banner-text{margin:10px 0 20px;font-size:16px;text-align:center}.mhui-update-banner-buttons{display:flex;flex:1;flex-direction:row;align-items:center;justify-content:space-evenly}a.mhui-update-banner-button{border:1px solid #000}.banner-fade{opacity:1;transition:opacity .3s ease-in-out}.banner-fade-out{opacity:0}.mh-improved-has-update .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu:before{position:absolute;top:-12px;right:4px;z-index:2;width:36px;height:25px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/events/halloween_boiling_cauldron/book/new.png);filter:drop-shadow(-1px 0 5px #fff) hue-rotate(200deg);background-repeat:no-repeat;background-size:36px 25px;animation:dirigibleFloat ease-in-out .4s 3;animation-delay:2s}.onboardArrow.mh-improved-onboarding-icon{transform:translate(-50px,30px)}.onboardArrow.mh-improved-onboarding-settings{transform:translate(-100px,-60px)}\n';
}
});

// src/modules/update-notifications/index.js
var addBanner, init69, update_notifications_default;
var init_update_notifications = __esm({
"src/modules/update-notifications/index.js"() {
init_utils2();
init_styles94();
addBanner = (hasNewSettings = false) => {
  if (mhImprovedVersion === getSetting("updates.banner", "")) {
    return;
  }
  if (hasNewSettings) {
    addBodyClass("mh-improved-has-update");
  }
  if ("camp" !== getCurrentPage()) {
    return;
  }
  const banner = document.querySelector(".campPage-tabs .campPage-banner");
  const bannerWrapper = makeElement("div", ["mhui-update-banner", "banner-fade"]);
  const bannerContent = makeElement("div", "mhui-update-banner-content");
  makeElement("div", "mhui-update-banner-text", `Welcome to MouseHunt Improved v${mhImprovedVersion}!`, bannerContent);
  const buttonWrapper = makeElement("div", "mhui-update-banner-buttons", "");
  const button = makeElement("a", ["mhui-update-banner-button", "mousehuntActionButton", "small", "lightBlue"]);
  makeElement("span", "", "See what's new", button);
  button.href = `https://github.com/MHCommunity/mousehunt-improved/releases/tag/v${mhImprovedVersion}`;
  button.target = "_blank";
  buttonWrapper.append(button);
  const closeButton = makeElement("a", ["mhui-update-banner-close", "mousehuntActionButton", "small", "cancel"]);
  makeElement("span", "", "Dismiss", closeButton);
  closeButton.addEventListener("click", (e) => {
    e.preventDefault();
    bannerWrapper.classList.add("banner-fade-out");
    saveSetting("updates.banner", mhImprovedVersion);
    removeBodyClass("mh-improved-has-update");
    setTimeout(() => {
      bannerWrapper.remove();
    }, 1e3);
  });
  buttonWrapper.append(closeButton);
  bannerContent.append(buttonWrapper);
  bannerWrapper.append(bannerContent);
  banner.append(bannerWrapper);
  banner.classList.remove("hidden");
  setTimeout(() => {
    bannerWrapper.classList.add("banner-fade-in");
  }, 1e3);
};
init69 = () => __async(void 0, null, function* () {
  addStyles(styles_default93, "update-notifications");
  if (getGlobal("mh-improved-updating")) {
    return;
  }
  onNavigation(() => {
    addBanner(true);
  }, {
    page: "camp"
  });
});
update_notifications_default = {
  id: "update-notifications",
  type: "required",
  alwaysLoad: true,
  load: init69
};
}
});

// src/modules/user-highlighting/profile.css
var profile_default2;
var init_profile2 = __esm({
"src/modules/user-highlighting/profile.css"() {
profile_default2 = '.mh-improved-fancy-profile .hunterInfoView-favoritesBlock-content-mouseContainer,.mh-improved-fancy-profile .hunterInfoView-favoritesBlock-content-container-arrow.right,.mh-improved-fancy-profile .hunterInfoView-favoritesBlock-content-tabDot-container,.mh-improved-fancy-profile .hunterInfoView-favoritesBlock-content-mouseLabel,.mh-improved-fancy-profile .hunterInfoView-wrapper .friendsPage-friendRow-titleBar-icon,.mh-improved-fancy-profile .journalContainer .top,.mh-improved-fancy-profile .journalContainer .bottom,.mh-improved-fancy-profile .trapImageView-tooltip-trapAura-expiry span{display:none}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseContainer:first-child{display:inline-block}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-container{padding-top:10px;padding-bottom:10px}.mh-improved-fancy-profile .hunterInfoView-favoritesBlock-content-chunk:after{position:absolute;top:0;right:0;width:110px;font-size:13px;line-height:2;color:#772b0a;content:"glazy mouse best mouse"}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock .friendsPage-friendRow{background:linear-gradient(#b389a1 5%,#f0dfee 50%)!important}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-hunterId{color:#252525!important;background-color:#dcf7ff!important}.mh-improved-fancy-profile .hunterInfoView-wrapper div.messageBoardView-message-container,.mh-improved-fancy-profile .hunterInfoView-wrapper .friendsProfileView-container,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock .hunterInfoView-favoritesBlock-body,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabContentContainer,.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabContentContainer-padding,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-header-title-container,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-footer,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-footer-stats{background:#f0dfee!important;background-color:#f0dfee!important}.mh-improved-fancy-profile .hunterInfoView-wrapper .messageBoardView-title,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock-header,.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader,.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader.active{background:linear-gradient(#dcf7ff 45%,#8af1ee 55%)}.mh-improved-fancy-profile .hunterInfoView-corkBoardBlock .messageBoardView-message{background:#f8eff6}.mh-dark-mode .mh-improved-fancy-profile .hunterInfoView-corkBoardBlock .messageBoardView-message{background:#513d4c}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .mousehuntPage-content textarea{background-color:#513d4c}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamInfo-container:before,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamInfo-container,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats-horn-container,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats-huntingSince,.mh-improved-fancy-profile .hunterInfoView-wrapper .campPage-trap-trapStat,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot-quantity{background:#dcf7ff!important;border-color:#80b5b4!important}.mh-improved-fancy-profile .journalContainer .content{margin:0 -10px;background:transparent}.mh-improved-fancy-profile .journal .content .entry{background-color:#f0dfee;border-color:#98448e}.mh-improved-fancy-profile .friendsPage-friendRow-image-border{background-image:none}.mh-improved-fancy-profile .friendsPage-friendRow-image{inset:4px;border:1px solid #513645;border-radius:10px}.mh-improved-fancy-profile .friendsPage-friendRow .friendsPage-friendRow-titleBar{margin-bottom:10px;margin-left:-9px;background:linear-gradient(#dcf7ff 45%,#89f0ee 55%);border-color:#8af1ef}.mh-improved-fancy-profile .hunterInfoView-wrapper .friendsPage-friendRow-titleBar-name{margin-left:-25px}.mh-improved-fancy-profile .hunterInfoView-wrapper .friendsPage-friendRow-titleBar-titleDetail{top:0;right:10px;left:unset;font-weight:900}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamInfo-container{height:37px}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock{height:220px}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats{padding:7px 0}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile.PageHunterProfile .friendsPage-friendRow-statsContainer,.mh-improved-fancy-profile .friendsPage-friendRow-statsContainer{color:#513645;background-color:#d2c0ec;border-top:1px solid #be9bbc;box-shadow:none}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-goldenShield{filter:hue-rotate(148deg)}.mh-improved-fancy-profile .loyaltyBadgeView-years-text:before{content:"4"}.mh-improved-fancy-profile .loyaltyBadgeView .loyaltyBadgeView-years-text{top:6px;font-size:20px;color:#4b5554;text-shadow:0 0 0 #969696}.mh-improved-fancy-profile .loyaltyBadgeView{background-image:url(https://www.mousehuntgame.com/images/ui/profile/loyalty-badge-3-year.png);filter:hue-rotate(350deg)}.mh-improved-fancy-profile .userInteractionButtonsView-button{filter:hue-rotate(170deg) opacity(.6)}.mh-improved-fancy-profile .userInteractionButtonsView-relationship .userInteractionButtonsView-button,.mh-improved-fancy-profile .userInteractionButtonsView-relationship .userInteractionButtonsView-button:hover,.mh-improved-fancy-profile .userInteractionButtonsView-relationship .userInteractionButtonsView-button:focus,.mh-improved-fancy-profile .userInteractionButtonsView-relationship .userInteractionButtonsView-button:active{filter:none}.mh-improved-fancy-profile .userInteractionButtonsView-button:hover{filter:hue-rotate(220deg) opacity(1)}.mh-improved-fancy-profile .friendsProfileView-randomFriend{background-color:#c3f0ff}.mh-improved-fancy-profile .friendsProfileView-randomFriend:hover{background-color:#93c9db}.mh-improved-fancy-profile .campPage-trap-trapStat.luck .value span:after{content:"0"}.mh-improved-fancy-profile .trapImageView-tooltip-trapAura-expiry:after{content:"never! \\1f389\\fe0f  infinite aura!"}.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:hover,.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:focus{background:linear-gradient(#dcf7ff 45%,#8adff1 55%)}.mh-improved-fancy-profile #friend-data-wrapper .userInteractionButtonsView-button,.mh-improved-fancy-profile #friend-data-wrapper .userInteractionButtonsView-button:hover{filter:none!important}.mh-improved-fancy-profile #friend-data-wrapper .friendsPage-friendRow-statsContainer{background-color:transparent;box-shadow:0 10px 30px #cdb495 inset}.mh-dark-mode .mh-improved-fancy-profile .hunterInfoView-wrapper .friendsPage-friendRow-titleBar-titleDetail{color:#8e5d8b}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .mousehuntTabHeader span,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock-header,.mh-improved-fancy-profile .hunterInfoView-wrapper .messageBoardView-title,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock-header,.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader,.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader.active{color:#615d5d!important;background:linear-gradient(#dcf7ff 45%,#8adff1 55%);border:none;box-shadow:none}.pageFrameView #mousehuntContainer.PageHunterProfile.mh-improved-fancy-profile .campPage-trap-itemStats,.pageFrameView #mousehuntContainer.PageHunterProfile.mh-improved-fancy-profile .campPage-trap-itemStats .campPage-trap-trapStat .value,.pageFrameView #mousehuntContainer.PageHunterProfile.mh-improved-fancy-profile .campPage-trap-itemStats .campPage-trap-trapStat .value b,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .journalEntries,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .pagerView-container,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-items,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabHeader:before,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .mousehuntTabHeader:before,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .mousehuntTabHeader.active span,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabHeader:hover span{color:#615d5d;background-color:transparent}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-header-title,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-treasureMaps-right-cluesFound-label,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-treasureMaps-right-cluesFound,.PageHunterProfile .pageFrameView .PageHunterProfile.mh-improved-fancy-profile .friendsProfileView-container,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabContentContainer,.PageHunterProfile .pageFrameView .PageHunterProfile.mh-improved-fancy-profile .friendsPage-friendRow{color:#615d5d}\n';
}
});

// src/modules/user-highlighting/styles.css
var styles_default94;
var init_styles95 = __esm({
"src/modules/user-highlighting/styles.css"() {
styles_default94 = `.mh-improved-developer .hunterInfoView-verifiedUserImage,.mh-improved-contributor .hunterInfoView-verifiedUserImage,.mh-improved-supporter .hunterInfoView-verifiedUserImage{width:14.5px;height:17.5px;background:url(https://i.mouse.rip/mh-improved/tada-badge.png) no-repeat;background-size:contain}.mh-improved-supporter .hunterInfoView-verifiedUserImage{background:url(https://i.mouse.rip/mh-improved/star-badge.png) no-repeat;background-position-y:-1px;background-size:contain}.mh-improved-developer .friendsPage-friendRow-image:hover:after,.mh-improved-developer .friendsPage-friendRow-image:focus:after,.mh-improved-developer .friendsPage-friendRow-image:active:after,.mh-improved-contributor .friendsPage-friendRow-image:hover:after,.mh-improved-contributor .friendsPage-friendRow-image:focus:after,.mh-improved-contributor .friendsPage-friendRow-image:active:after,.mh-improved-supporter .friendsPage-friendRow-image:focus:after,.mh-improved-supporter .friendsPage-friendRow-image:hover:after,.mh-improved-supporter .friendsPage-friendRow-image:active:after{position:absolute;top:5px;left:5px;width:20px;height:20px;font-size:22px;color:#fff;content:"";background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><pathd="m11.645 20.91-.007-.003-.022-.012a15.247 15.247 0 0 1-.383-.218 25.18 25.18 0 0 1-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0 1 12 5.052 5.5 5.5 0 0 1 16.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 0 1-4.244 3.17 15.247 15.247 0 0 1-.383.219l-.022.012-.007.004-.003.001a.752.752 0 0 1-.704 0l-.003-.001Z"/></svg>');filter:drop-shadow(0 0 2px #000);background-repeat:no-repeat;background-size:contain}
`;
}
});

// src/modules/user-highlighting/index.js
var getUserHighlightingShield, highlightUsers, init70, user_highlighting_default;
var init_user_highlighting = __esm({
"src/modules/user-highlighting/index.js"() {
init_utils2();
init_profile2();
init_styles95();
getUserHighlightingShield = (type) => {
  let text = "";
  switch (type) {
    case "developer":
      text = "MH Improved Developer";
      break;
    case "contributor":
      text = "MH Improved Contributor";
      break;
    case "supporter":
      text = "MH Improved Supporter";
      break;
  }
  const wrapper = makeElement("div", ["blackTooltip", "mh-improved-user-shield"]);
  makeElement("div", "hunterInfoView-verifiedUserImage", null, wrapper);
  makeElement("span", "blackTooltiptext hunterInfoView-verifiedUser", text, wrapper);
  return wrapper;
};
highlightUsers = () => __async(void 0, null, function* () {
  const existing = document.querySelectorAll(".mh-improved-user-shield");
  if (existing) {
    existing.forEach((el) => {
      el.remove();
    });
  }
  const id = document.querySelector(".hunterInfoView-hunterId-idText span");
  if (!id) {
    return;
  }
  const profilePage = document.querySelector("#mousehuntContainer.PageHunterProfile");
  if (!profilePage) {
    return;
  }
  const idHeader = document.querySelector(".hunterInfoView-idCardBlock-secondaryHeader");
  if (!idHeader) {
    return;
  }
  const userId = Number.parseInt(id.textContent, 10);
  let data = sessionGet(`mh-improved-user-highlighting-${userId}`);
  if (!data) {
    const userHighlighting = yield fetch(`https://api.mouse.rip/highlight-user/${userId}`);
    data = yield userHighlighting.json();
    debug(`Retrieved user highlighting data for ${userId}`, data);
    sessionSet(`mh-improved-user-highlighting-${userId}`, data);
  }
  if (!data || !(data == null ? void 0 : data.highlighted)) {
    return;
  }
  const type = data.type;
  profilePage.classList.add("mh-improved-highlight-user", `mh-improved-${type}`);
  idHeader.append(getUserHighlightingShield(type));
  if (8209591 === userId) {
    profilePage.classList.add("mh-improved-highlight-user", "mh-improved-fancy-profile");
  }
});
init70 = () => __async(void 0, null, function* () {
  addStyles([styles_default94, profile_default2], "highlight-users");
  onNavigation(highlightUsers, {
    page: "hunterprofile"
  });
});
user_highlighting_default = {
  id: "highlight-users",
  type: "required",
  alwaysLoad: true,
  load: init70
};
}
});

// src/modules/update-migration/settings-cleanup.js
var cleanupSettings, cleanupCacheArSettings, removeOldEventFavoriteLocations;
var init_settings_cleanup = __esm({
"src/modules/update-migration/settings-cleanup.js"() {
init_utils2();
cleanupSettings = (settingsToDelete) => {
  settingsToDelete.forEach((setting) => {
    debuglog("update-migration", `Removing setting ${setting}`);
    localStorage.removeItem(setting);
  });
};
cleanupCacheArSettings = () => {
  Object.keys(localStorage).forEach((key) => {
    if (key.startsWith("mh-improved-cached-ar-v")) {
      debuglog("update-migration", `Removing setting ${key}`);
      localStorage.removeItem(key);
    }
  });
};
removeOldEventFavoriteLocations = () => __async(void 0, null, function* () {
  const events = [
    {
      key: "gwh",
      months: [0, 10, 11]
    },
    {
      key: "halloween",
      months: [9, 10]
    },
    {
      key: "bday",
      months: [1, 2]
    }
  ];
  const travelSettings = getSetting("better-travel-settings");
  if (!travelSettings || !travelSettings.favorites) {
    return;
  }
  const eventEnvironments = yield getData("environments-events");
  const currentMonth = (/* @__PURE__ */ new Date()).getMonth();
  travelSettings.favorites.forEach((favorite, index) => {
    const isEventFavorite = eventEnvironments.find((event) => event.id === favorite);
    if (isEventFavorite && isEventFavorite.event) {
      const environmentEvent = isEventFavorite.event;
      const event = events.find((ee) => ee.key === environmentEvent);
      if (event && !event.months.includes(currentMonth)) {
        travelSettings.favorites.splice(index, 1);
      }
    }
  });
  saveSetting("better-travel-settings", travelSettings);
});
}
});

// src/modules/update-migration/settings-migrate.js
var migrateSetting, migrateSettings, migrateFlags, migrateQuestsCache, migrateWisdomStat, migrateJournalChangerDate;
var init_settings_migrate = __esm({
"src/modules/update-migration/settings-migrate.js"() {
init_utils2();
migrateSetting = (settingKey) => {
  debuglog("update-migration", `Migrating setting from ${settingKey.from} to ${settingKey.to}`);
  const setting = getSetting(settingKey.from, null);
  if (null === setting) {
    return;
  }
  if (null !== getSetting(settingKey.to, null)) {
    return;
  }
  saveSetting(settingKey.to, setting);
  if (settingKey.clear) {
    saveSetting(settingKey.from, null);
  } else if (settingKey.setTrue) {
    saveSetting(settingKey.from, true);
  } else if (settingKey.setFalse) {
    saveSetting(settingKey.from, false);
  } else {
    deleteSetting(settingKey.from);
  }
};
migrateSettings = (settings) => {
  settings.forEach((setting) => {
    migrateSetting(setting);
  });
};
migrateFlags = (flags) => {
  const savedFlags = getFlags();
  flags.forEach((flag) => {
    debuglog("update-migration", `Migrating flag from ${flag.from} to setting ${flag.to}`);
    if (savedFlags.includes(flag.from)) {
      saveSetting(flag.to, true);
      savedFlags.splice(savedFlags.indexOf(flag.from), 1);
    }
  });
  saveSetting("override-flags", savedFlags.join(","));
};
migrateQuestsCache = () => {
  debuglog("update-migration", "Migrating quests cache");
  const savedQuests = localStorage.getItem("mh-improved-cache-quests");
  if (null === savedQuests) {
    return;
  }
  const quests = JSON.parse(savedQuests);
  cacheSet2("quests", quests);
  localStorage.removeItem("mh-improved-cache-quests");
};
migrateWisdomStat = () => {
  debuglog("update-migration", "Migrating wisdom stat");
  const wisdomStat = getSetting("wisdom-stat");
  if (null === wisdomStat) {
    return;
  }
  const lastUpdated = wisdomStat["last-updated"] || 0;
  const value = wisdomStat.value || 0;
  cacheSet2("wisdom-stat-last-updated", lastUpdated);
  cacheSet2("wisdom-stat-value", value);
  deleteSetting("wisdom-stat");
};
migrateJournalChangerDate = () => __async(void 0, null, function* () {
  debuglog("update-migration", "Migrating journal changer date");
  const last = getSetting("journal-changer-last-change", 0);
  cacheSet2("journal-changer-last-change", last);
  deleteSetting("journal-changer-last-change");
});
}
});

// src/modules/update-migration/settings-to-migrate.json
var settings_to_migrate_default;
var init_settings_to_migrate = __esm({
"src/modules/update-migration/settings-to-migrate.json"() {
settings_to_migrate_default = {
  settings: [
    { from: "inventory-lock-and-hide", to: "inventory-lock-and-hide.items", setTrue: true },
    { from: "favorite-setups", to: "favorite-setups.setups", setTrue: true },
    { from: "better-travel-default-to-simple-travel", to: "better-travel.default-to-simple-travel" },
    { from: "better-travel-show-alphabetized-list", to: "better-travel.show-alphabetized-list" },
    { from: "better-travel-show-reminders", to: "better-travel.show-reminders" },
    { from: "better-travel-travel-window", to: "better-travel.travel-window" },
    { from: "better-travel-travel-window-environment-icon", to: "better-travel.travel-window-environment-icon" },
    { from: "gift-buttons-send-order-0", to: "better-gifts.send-order-0" },
    { from: "gift-buttons-ignore-bad-gifts-0", to: "better-gifts.ignore-bad-gifts-0" },
    { from: "better-inventory-one-item-per-row", to: "better-inventory.one-item-per-row" },
    { from: "better-inventory-larger-images", to: "better-inventory.larger-images" },
    { from: "better-journal-styles", to: "better-journal.styles" },
    { from: "better-journal-replacements", to: "better-journal.replacements" },
    { from: "better-journal-icons", to: "better-journal.icons" },
    { from: "better-journal-icons-minimal", to: "better-journal.icons-minimal" },
    { from: "better-journal-list", to: "better-journal.list" },
    { from: "better-marketplace-search-all", to: "better-marketplace.search-all" },
    { from: "better-marketplace-small-images", to: "better-marketplace.small-images" },
    { from: "better-quests-m400-helper", to: "better-quests.m400-helper" },
    { from: "send-supplies-pinned-items-0", to: "better-send-supplies.pinned-items-0" },
    { from: "send-supplies-pinned-items-1", to: "better-send-supplies.pinned-items-1" },
    { from: "send-supplies-pinned-items-2", to: "better-send-supplies.pinned-items-2" },
    { from: "send-supplies-pinned-items-3", to: "better-send-supplies.pinned-items-3" },
    { from: "send-supplies-pinned-items-4", to: "better-send-supplies.pinned-items-4" },
    { from: "better-tournaments-tournament-time-display-inline", to: "better-tournaments.time-inline" },
    { from: "journal-changer-change-daily", to: "journal-changer.change-daily'" },
    { from: "journal-changer-change-location", to: "journal-changer.change-location'" },
    { from: "journal-privacy-show-toggle-icon", to: "journal-privacy.show-toggle-icon'" },
    { from: "keyboard-shortcuts", to: "keyboard-shortcuts.shortcuts", setTrue: true },
    { from: "lgs-new-style", to: "lgs-reminder.new-style'" },
    { from: "quick-send-supplies-items-0", to: "quick-send-supplies.items-0" },
    { from: "quick-send-supplies-items-1", to: "quick-send-supplies.items-1" },
    { from: "quick-send-supplies-items-2", to: "quick-send-supplies.items-2" },
    { from: "quick-send-supplies-items-3", to: "quick-send-supplies.items-3" },
    { from: "ultimate-checkmark-categories-airships", to: "ultimate-checkmark.show-airships" },
    { from: "ultimate-checkmark-categories-codex", to: "ultimate-checkmark.show-codex" },
    { from: "ultimate-checkmark-categories-currency", to: "ultimate-checkmark.show-currency" },
    { from: "ultimate-checkmark-categories-equipment", to: "ultimate-checkmark.show-equipment" },
    { from: "ultimate-checkmark-categories-plankrun", to: "ultimate-checkmark.show-plankrun" },
    { from: "ultimate-checkmark-categories-treasure_chests", to: "ultimate-checkmark.show-treasure_chests" },
    { from: "wisdom-in-stat-bar-auto-refresh", to: "wisdom-in-stat-bar.auto-refresh" },
    { from: "has-seen-update-banner", to: "updates.banner" },
    { from: "acolyte_realm", to: "location-huds-enabled.acolyte_realm" },
    { from: "ancient_city", to: "location-huds-enabled.ancient_city" },
    { from: "balacks_cove", to: "location-huds-enabled.balacks_cove" },
    { from: "bazaar", to: "location-huds-enabled.bazaar" },
    { from: "bountiful_beanstalk", to: "location-huds-enabled.bountiful_beanstalk" },
    { from: "calm_clearing", to: "location-huds-enabled.calm_clearing" },
    { from: "cape_clawed", to: "location-huds-enabled.cape_clawed" },
    { from: "catacombs", to: "location-huds-enabled.catacombs" },
    { from: "clawshot_city", to: "location-huds-enabled.clawshot_city" },
    { from: "derr_dunes", to: "location-huds-enabled.derr_dunes" },
    { from: "desert_city", to: "location-huds-enabled.desert_city" },
    { from: "desert_warpath", to: "location-huds-enabled.desert_warpath" },
    { from: "dojo", to: "location-huds-enabled.dojo" },
    { from: "dracano", to: "location-huds-enabled.dracano" },
    { from: "elub_shore", to: "location-huds-enabled.elub_shore" },
    { from: "floating_islands", to: "location-huds-enabled.floating_islands" },
    { from: "forbidden_grove", to: "location-huds-enabled.forbidden_grove" },
    { from: "foreword_farm", to: "location-huds-enabled.foreword_farm" },
    { from: "fort_rox", to: "location-huds-enabled.fort_rox" },
    { from: "fungal_cavern", to: "location-huds-enabled.fungal_cavern" },
    { from: "great_gnarled_tree", to: "location-huds-enabled.great_gnarled_tree" },
    { from: "iceberg", to: "location-huds-enabled.iceberg" },
    { from: "jungle_of_dread", to: "location-huds-enabled.jungle_of_dread" },
    { from: "kings_arms", to: "location-huds-enabled.kings_arms" },
    { from: "kings_gauntlet", to: "location-huds-enabled.kings_gauntlet" },
    { from: "laboratory", to: "location-huds-enabled.laboratory" },
    { from: "labyrinth", to: "location-huds-enabled.labyrinth" },
    { from: "lagoon", to: "location-huds-enabled.lagoon" },
    { from: "meditation_room", to: "location-huds-enabled.meditation_room" },
    { from: "mountain", to: "location-huds-enabled.mountain" },
    { from: "mousoleum", to: "location-huds-enabled.mousoleum" },
    { from: "moussu_picchu", to: "location-huds-enabled.moussu_picchu" },
    { from: "nerg_plains", to: "location-huds-enabled.nerg_plains" },
    { from: "pinnacle_chamber", to: "location-huds-enabled.pinnacle_chamber" },
    { from: "pollution_outbreak", to: "location-huds-enabled.pollution_outbreak" },
    { from: "prologue_pond", to: "location-huds-enabled.prologue_pond" },
    { from: "rift_bristle_woods", to: "location-huds-enabled.rift_bristle_woods" },
    { from: "rift_burroughs", to: "location-huds-enabled.rift_burroughs" },
    { from: "rift_furoma", to: "location-huds-enabled.rift_furoma" },
    { from: "rift_gnawnia", to: "location-huds-enabled.rift_gnawnia" },
    { from: "rift_valour", to: "location-huds-enabled.rift_valour" },
    { from: "rift_whisker_woods", to: "location-huds-enabled.rift_whisker_woods" },
    { from: "seasonal_garden", to: "location-huds-enabled.seasonal_garden" },
    { from: "slushy_shoreline", to: "location-huds-enabled.slushy_shoreline" },
    { from: "ss_huntington_ii", to: "location-huds-enabled.ss_huntington_ii" },
    { from: "sunken_city", to: "location-huds-enabled.sunken_city" },
    { from: "table_of_contents", to: "location-huds-enabled.table_of_contents" },
    { from: "tournament_hall", to: "location-huds-enabled.tournament_hall" },
    { from: "town_of_digby", to: "location-huds-enabled.town_of_digby" },
    { from: "town_of_gnawnia", to: "location-huds-enabled.town_of_gnawnia" },
    { from: "train_station", to: "location-huds-enabled.train_station" },
    { from: "windmill", to: "location-huds-enabled.windmill" },
    { from: "zugzwang_tower", to: "location-huds-enabled.zugzwang_tower" },
    { from: "region-living-garden", to: "location-huds-enabled.region-living-garden" },
    { from: "region-queso", to: "location-huds-enabled.region-queso" },
    { from: "event-locations", to: "location-huds-enabled.event-locations" },
    { from: "visibility-toggles", to: "location-huds.folklore-forest-visibility-toggles" }
  ],
  flags: [
    { from: "raffle", to: "experiments.raffle" },
    { from: "lol-gottem", to: "experiments.lol-gottem" },
    { from: "favorite-setups-toggle", to: "experiments.favorite-setups-toggle" },
    { from: "journal-icons-all", to: "better-journal.icons" },
    { from: "journal-icons", to: "better-journal.icons-minimal" },
    { from: "journal-list", to: "better-journal.list" },
    { from: "lgs-reminder-exact", to: "lgs-reminder.show-seconds" }
  ]
};
}
});

// src/modules/update-migration/index.js
var isNewVersion, update, init71, update_migration_default;
var init_update_migration = __esm({
"src/modules/update-migration/index.js"() {
init_utils2();
init_settings_cleanup();
init_settings_migrate();
init_settings_to_migrate();
isNewVersion = (version) => {
  const currentVersion = mhImprovedVersion;
  if (version === null) {
    return true;
  }
  if (version !== currentVersion) {
    return true;
  }
  return false;
};
update = (previousVersion, newVersion) => __async(void 0, null, function* () {
  showLoadingPopup(`Updating MouseHunt Improved to v${newVersion}...`);
  if ("0.35.0" === previousVersion) {
    const backedUpSettings = localStorage.getItem("mousehunt-improved-settings-backup");
    if (backedUpSettings) {
      localStorage.setItem("mousehunt-improved-settings", backedUpSettings);
    }
  }
  saveSetting("debug.all", true);
  addBodyClass("mh-improved-updating");
  setGlobal("mh-improved-updating", true);
  const start = Date.now();
  const current = getSettings();
  localStorage.setItem("mousehunt-improved-settings-backup", JSON.stringify(current));
  debuglog("update-migration", "Migrating settings");
  migrateSettings(settings_to_migrate_default.settings);
  debuglog("update-migration", "Migrating flags");
  migrateFlags(settings_to_migrate_default.flags);
  debuglog("update-migration", "Migrating quests cache");
  migrateQuestsCache();
  debuglog("update-migration", "Migrating other settings");
  migrateWisdomStat();
  debuglog("update-migration", "Migrating journal changer date");
  migrateJournalChangerDate();
  debuglog("update-migration", "Cleaning up settings");
  cleanupCacheArSettings();
  debuglog("update-migration", "Cleaning up old event favorite locations");
  removeOldEventFavoriteLocations();
  debuglog("update-migration", "Cleaning up old databases");
  cleanupSettings([
    `mh-improved-cached-ar-v${previousVersion}`,
    "mh-improved-update-notifications"
    // Updated in v0.28.0.
  ]);
  debuglog("update-migration", "Deleting old databases");
  yield databaseDelete("mh-improved");
  debuglog("update-migration", "Clearing caches");
  yield clearCaches();
  debuglog("update-migration", "Filling data caches");
  yield fillDataCaches();
  const end = Date.now();
  if (end - start < 3e3) {
    yield sleep(3e3 - (end - start));
  }
  saveSetting("mh-improved-version", newVersion);
  refreshPage();
});
init71 = () => __async(void 0, null, function* () {
  const installedVersion = getSetting("mh-improved-version", null);
  if (installedVersion === null) {
    yield update(null, mhImprovedVersion);
    return;
  }
  if (!isNewVersion(installedVersion)) {
    return;
  }
  yield update(installedVersion, mhImprovedVersion);
});
update_migration_default = {
  id: "_update-migration",
  type: "required",
  alwaysLoad: true,
  load: init71
};
}
});

// src/modules/wisdom-in-stat-bar/settings/index.js
var settings_default27;
var init_settings28 = __esm({
"src/modules/wisdom-in-stat-bar/settings/index.js"() {
settings_default27 = () => __async(void 0, null, function* () {
  return [{
    id: "wisdom-in-stat-bar-auto-refresh",
    title: "Update automatically",
    default: true,
    description: ""
  }];
});
}
});

// src/modules/wisdom-in-stat-bar/index.js
var getWisdomSetting, saveWisdomSetting, getWisdom, getWisdomFormatted, addWisdomToStatBar, updateWisdom, addRefreshListener, useCachedWisdom, init72, wisdom_in_stat_bar_default;
var init_wisdom_in_stat_bar = __esm({
"src/modules/wisdom-in-stat-bar/index.js"() {
init_utils2();
init_settings28();
getWisdomSetting = (key) => __async(void 0, null, function* () {
  return yield cacheGet(`wisdom-stat-${key}`);
});
saveWisdomSetting = (key, value) => {
  cacheSet2(`wisdom-stat-${key}`, value);
};
getWisdom = () => __async(void 0, null, function* () {
  var _a;
  let wisdom = 0;
  if (useCachedWisdom) {
    const cachedWisdom = yield getWisdomSetting("value");
    if (cachedWisdom) {
      return cachedWisdom;
    }
  }
  wisdom = yield getUserItems(["wisdom_stat_item"], true);
  wisdom = ((_a = wisdom[0]) == null ? void 0 : _a.quantity) || 0;
  saveWisdomSetting("value", wisdom);
  saveWisdomSetting("last-updated", Date.now());
  return wisdom;
});
getWisdomFormatted = () => __async(void 0, null, function* () {
  const wisdom = yield getWisdom();
  return wisdom.toLocaleString();
});
addWisdomToStatBar = (wisdom) => {
  const existingWisdom = document.querySelector(".mousehuntHud-userStat-row.wisdom .value.hud_wisdom");
  if (existingWisdom) {
    existingWisdom.textContent = wisdom;
    blinkText(existingWisdom, "#59f659", "#fff", 0.7);
    return;
  }
  const pointsRow = document.querySelector(".mousehuntHud-userStat-row.points");
  if (!pointsRow) {
    return;
  }
  const wisdomRow = makeElement("div", ["mousehuntHud-userStat-row", "wisdom"]);
  makeElement("span", "label", "Wisdom", wisdomRow);
  makeElement("span", "value hud_wisdom", wisdom, wisdomRow);
  wisdomRow.setAttribute("title", "Click to refresh wisdom");
  pointsRow.after(wisdomRow);
};
updateWisdom = () => __async(void 0, null, function* () {
  const wisdom = yield getWisdomFormatted();
  addWisdomToStatBar(wisdom);
});
addRefreshListener = () => {
  const wisdomRow = document.querySelector(".mousehuntHud-userStat-row.wisdom");
  if (!wisdomRow) {
    return;
  }
  wisdomRow.addEventListener("click", () => {
    const cachedWidsomSetting = useCachedWisdom;
    useCachedWisdom = false;
    updateWisdom();
    useCachedWisdom = cachedWidsomSetting;
  });
};
useCachedWisdom = false;
init72 = () => __async(void 0, null, function* () {
  if (!getSetting("wisdom-in-stat-bar.auto-refresh", true)) {
    useCachedWisdom = true;
    onTurn(updateWisdom);
  }
  yield updateWisdom();
  addRefreshListener();
  onDeactivation(() => {
    const wisdomRow = document.querySelector(".mousehuntHud-userStat-row.wisdom");
    if (wisdomRow) {
      wisdomRow.remove();
    }
  });
});
wisdom_in_stat_bar_default = {
  id: "wisdom-in-stat-bar",
  name: "Wisdom in Stat Bar",
  type: "feature",
  default: false,
  description: "Show wisdom in the stat bar.",
  load: init72,
  settings: settings_default27
};
}
});

// src/index.js
var require_src = __commonJS({
"src/index.js"(exports) {
init_esm3();
init_utils2();
init_adblock();
init_better_gifts();
init_better_inventory();
init_better_journal();
init_better_kings_reward();
init_better_item_view();
init_better_maps();
init_better_marketplace();
init_better_mice();
init_better_quests();
init_better_send_supplies();
init_better_shops();
init_better_tournaments();
init_better_travel();
init_better_ui();
init_catch_rate_estimate();
init_copy_id();
init_custom_css();
init_custom_background();
init_custom_horn();
init_custom_hud();
init_custom_shield();
init_dark_mode();
init_debug2();
init_data_exporters();
init_delayed_tooltips();
init_error_reporting();
init_experiments();
init_feature_flags();
init_fixes();
init_favorite_setups2();
init_flrt_helper();
init_global_styles();
init_hide_codices();
init_hide_footer();
init_hide_share();
init_hide_sidebar();
init_hover_profiles();
init_image_upscaling();
init_inline_wiki();
init_inventory_lock_and_hide();
init_inventory_open_all_but_one();
init_journal_changer();
init_inventory_only_open_multiple();
init_journal_privacy();
init_larger_codices();
init_larger_skin_images();
init_keyboard_shortcuts();
init_larrys_links();
init_lgs_reminder2();
init_links3();
init_hide_daily_reward_popup();
init_location_catch_stats();
init_location_dashboard();
init_metric();
init_paste_hunter_id();
init_location_huds();
init_printing_press_paper_counter();
init_prestige_base_stats();
init_quick_filters_and_sort();
init_quick_send_supplies();
init_required();
init_settings26();
init_ssdb_toothlet_counter();
init_taller_windows();
init_show_auras();
init_tem_crowns();
init_ultimate_checkmark();
init_update_notifications();
init_user_highlighting();
init_update_migration();
init_wisdom_in_stat_bar();
var imported6 = [adblock_default, better_gifts_default, better_inventory_default, better_journal_default, better_kings_reward_default, better_item_view_default, better_maps_default, better_marketplace_default, better_mice_default, better_quests_default, better_send_supplies_default, better_shops_default, better_tournaments_default, better_travel_default, better_ui_default, catch_rate_estimate_default, copy_id_default, custom_css_default, custom_background_default, custom_horn_default, custom_hud_default, custom_shield_default, dark_mode_default, debug_default, data_exporters_default, delayed_tooltips_default, error_reporting_default, experiments_default, feature_flags_default, fixes_default, favorite_setups_default2, flrt_helper_default, global_styles_default, hide_codices_default, hide_footer_default, hide_share_default, hide_sidebar_default, hover_profiles_default, image_upscaling_default, inline_wiki_default, inventory_lock_and_hide_default, inventory_open_all_but_one_default, journal_changer_default, inventory_only_open_multiple_default, journal_privacy_default, larger_codices_default, larger_skin_images_default, keyboard_shortcuts_default, larrys_links_default, lgs_reminder_default2, links_default2, hide_daily_reward_popup_default, location_catch_stats_default, location_dashboard_default, metric_default, paste_hunter_id_default, location_huds_default, printing_press_paper_counter_default, prestige_base_stats_default, quick_filters_and_sort_default, quick_send_supplies_default, required_default, settings_default25, ssdb_toothlet_counter_default, taller_windows_default, show_auras_default, tem_crowns_default, ultimate_checkmark_default, update_notifications_default, user_highlighting_default, update_migration_default, wisdom_in_stat_bar_default];
var modules = imported6;
var loadModules = () => __async(exports, null, function* () {
  const categories2 = [
    { id: "required", name: "Always Loaded" },
    { id: "better", name: "MouseHunt Improved" },
    { id: "feature", name: "Features" },
    { id: "design", name: "Design" },
    { id: "element-hiding", name: "Hide Page Elements" },
    { id: "location-hud", name: "Location HUDs" },
    { id: "advanced", name: "Advanced" },
    { id: "beta", name: "Beta Features" }
  ];
  if (getGlobal("loaded")) {
    debug("Already loaded, exiting.");
    return;
  }
  yield addSettingsTab("mousehunt-improved-settings", "MH Improved");
  modules.forEach((m) => {
    const category = categories2.find((c) => c.id === m.type);
    if (!category) {
      debug(`Unknown module category: ${m.type}`);
      return;
    }
    if (!category.modules) {
      category.modules = [];
    }
    category.modules.push(m);
  });
  for (const category of categories2) {
    category.modules.sort((a, b) => {
      a.order = a.order || 1;
      b.order = b.order || 1;
      if (a.order !== b.order) {
        return a.order - b.order;
      }
      return (a.name || a.id).localeCompare(b.name || b.id);
    });
  }
  for (const module2 of categories2) {
    yield addSettingForModule(module2);
    doEvent2("mh-improved-settings-added", { module: module2 });
  }
  const load = [];
  let loadedModules;
  for (const category of categories2) {
    loadedModules = [];
    for (const module2 of category.modules) {
      if (getFlag(`no-${module2.id}`)) {
        continue;
      }
      if (module2.alwaysLoad || "required" === category.id || getSetting(module2.id, module2.default)) {
        try {
          load.push(module2.load());
          loadedModules.push(module2.id);
        } catch (error) {
          debug(`Error loading "${module2.id}"`, error);
          throw error;
        }
      }
    }
    debuglog("module-loading", `Loaded ${category.modules.length} ${category.name} modules`, loadedModules);
  }
  try {
    yield Promise.all(load);
  } catch (error) {
    if (getSetting("error-reporting", true)) {
      captureException(error);
    }
    throw error;
  }
  setGlobal("modules", loadedModules);
  doEvent2("mh-improved-modules-loaded");
});
var init73 = () => __async(exports, null, function* () {
  if (isUnsupportedFile()) {
    debug("Skipping unsupported filetype.");
    return;
  }
  if (isiFrame()) {
    debug("Loading inside an iframe is not supported.");
    return;
  }
  if (!isApp()) {
    debug("Global MouseHunt functions not found.");
    return;
  }
  if (!eventRegistry) {
    debug("Event registry not found.");
    return;
  }
  try {
    yield loadModules();
  } catch (error) {
    showLoadingError(error);
  } finally {
    setGlobal("version", mhImprovedVersion);
    setGlobal("loaded", true);
    console.log(
      `%c\u{1F42D}\uFE0F MouseHunt Improved v${mhImprovedVersion}-${mhImprovedPlatform} has been loaded. Happy Hunting!%c`,
      "color: #ca77ff; font-weight: 900; font-size: 1.1em",
      "color: inherit; font-weight: inherit; font-size: inherit"
    );
    doEvent2("mh-improved-loaded", {
      version: mhImprovedVersion,
      modules: getGlobal("modules")
    });
  }
  doEvent2("mh-improved-init");
});
init73();
}
});
return require_src();
})();