Files
my_openplace/frontend-backup/_app/immutable/chunks/DffDvEhl.js
T
2025-10-02 02:40:11 -07:00

1490 lines
79 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var be = Object.defineProperty;
var re = (a) => {
throw TypeError(a);
};
var ye = (a, e, t) => (e in a ? be(a, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : (a[e] = t));
var _ = (a, e, t) => ye(a, typeof e != "symbol" ? e + "" : e, t),
Se = (a, e, t) => e.has(a) || re("Cannot " + t);
var u = (a, e, t) => (Se(a, e, "read from private field"), t ? t.call(a) : e.get(a)),
h = (a, e, t) => (e.has(a) ? re("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(a) : e.set(a, t));
import { au as y, av as Z, g as p, aw as w, z as se, u as P } from "./BDALf20I.js";
import { g } from "./DklPLC_x.js";
import { s as Te } from "./DM9nRpoa.js";
(function () {
try {
var a = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
a.SENTRY_RELEASE = { id: "35111e7039e8c68cc677344b7f7c6971567f6820" };
} catch {}
})();
try {
(function () {
var a = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {},
e = new a.Error().stack;
e && ((a._sentryDebugIds = a._sentryDebugIds || {}), (a._sentryDebugIds[e] = "787c12f8-0765-444c-9905-69388673c8cc"), (a._sentryDebugIdIdentifier = "sentry-dbid-787c12f8-0765-444c-9905-69388673c8cc"));
})();
} catch {}
const Ee = "true",
oa = "/files",
ia = "0x4AAAAAABpHqZ-6i7uL0nmG",
ue = "",
ca = "0x4AAAAAABpqJe8FO0N84q0F";
function la(...a) {
return a.filter(Boolean).join(" ");
}
const ve = typeof document < "u";
let oe = 0;
var k, L, C;
class Ae {
constructor() {
h(this, k, y(Z([])));
h(this, L, y(Z([])));
h(this, C, (e) => {
const t = this.toasts.findIndex((n) => n.id === e);
return t === -1 ? null : t;
});
_(this, "addToast", (e) => {
ve && this.toasts.unshift(e);
});
_(this, "updateToast", ({ id: e, data: t, type: n, message: s }) => {
const r = this.toasts.findIndex((o) => o.id === e),
l = this.toasts[r];
this.toasts[r] = { ...l, ...t, id: e, title: s, type: n, updated: !0 };
});
_(this, "create", (e) => {
var o;
const { message: t, ...n } = e,
s = typeof (e == null ? void 0 : e.id) == "number" || (e.id && ((o = e.id) == null ? void 0 : o.length) > 0) ? e.id : oe++,
r = e.dismissable === void 0 ? !0 : e.dismissable,
l = e.type === void 0 ? "default" : e.type;
return (
se(() => {
this.toasts.find((c) => c.id === s) ? this.updateToast({ id: s, data: e, type: l, message: t, dismissable: r }) : this.addToast({ ...n, id: s, title: t, dismissable: r, type: l });
}),
s
);
});
_(
this,
"dismiss",
(e) => (
se(() => {
if (e === void 0) {
this.toasts = this.toasts.map((n) => ({ ...n, dismiss: !0 }));
return;
}
const t = this.toasts.findIndex((n) => n.id === e);
this.toasts[t] && (this.toasts[t] = { ...this.toasts[t], dismiss: !0 });
}),
e
)
);
_(this, "remove", (e) => {
if (e === void 0) {
this.toasts = [];
return;
}
const t = u(this, C).call(this, e);
if (t !== null) return this.toasts.splice(t, 1), e;
});
_(this, "message", (e, t) => this.create({ ...t, type: "default", message: e }));
_(this, "error", (e, t) => this.create({ ...t, type: "error", message: e }));
_(this, "success", (e, t) => this.create({ ...t, type: "success", message: e }));
_(this, "info", (e, t) => this.create({ ...t, type: "info", message: e }));
_(this, "warning", (e, t) => this.create({ ...t, type: "warning", message: e }));
_(this, "loading", (e, t) => this.create({ ...t, type: "loading", message: e }));
_(this, "promise", (e, t) => {
if (!t) return;
let n;
t.loading !== void 0 && (n = this.create({ ...t, promise: e, type: "loading", message: typeof t.loading == "string" ? t.loading : t.loading() }));
const s = e instanceof Promise ? e : e();
let r = n !== void 0;
return (
s
.then((l) => {
if (typeof l == "object" && l && "ok" in l && typeof l.ok == "boolean" && !l.ok) {
r = !1;
const o = Pe(l);
this.create({ id: n, type: "error", message: o });
} else if (t.success !== void 0) {
r = !1;
const o = typeof t.success == "function" ? t.success(l) : t.success;
this.create({ id: n, type: "success", message: o });
}
})
.catch((l) => {
if (t.error !== void 0) {
r = !1;
const o = typeof t.error == "function" ? t.error(l) : t.error;
this.create({ id: n, type: "error", message: o });
}
})
.finally(() => {
var l;
r && (this.dismiss(n), (n = void 0)), (l = t.finally) == null || l.call(t);
}),
n
);
});
_(this, "custom", (e, t) => {
const n = (t == null ? void 0 : t.id) || oe++;
return this.create({ component: e, id: n, ...t }), n;
});
_(this, "removeHeight", (e) => {
this.heights = this.heights.filter((t) => t.toastId !== e);
});
_(this, "setHeight", (e) => {
const t = u(this, C).call(this, e.toastId);
if (t === null) {
this.heights.push(e);
return;
}
this.heights[t] = e;
});
_(this, "reset", () => {
(this.toasts = []), (this.heights = []);
});
}
get toasts() {
return p(u(this, k));
}
set toasts(e) {
w(u(this, k), e, !0);
}
get heights() {
return p(u(this, L));
}
set heights(e) {
w(u(this, L), e, !0);
}
}
(k = new WeakMap()), (L = new WeakMap()), (C = new WeakMap());
function Pe(a) {
return a && typeof a == "object" && "status" in a ? `HTTP error! Status: ${a.status}` : `Error! ${a}`;
}
const T = new Ae();
function xe(a, e) {
return T.create({ message: a, ...e });
}
var ee;
class da {
constructor() {
h(
this,
ee,
P(() => T.toasts.filter((e) => !e.dismiss))
);
}
get toasts() {
return p(u(this, ee));
}
}
ee = new WeakMap();
const Ie = xe,
ge = Object.assign(Ie, {
success: T.success,
info: T.info,
warning: T.warning,
error: T.error,
custom: T.custom,
message: T.message,
promise: T.promise,
dismiss: T.dismiss,
loading: T.loading,
getActiveToasts: () => T.toasts.filter((a) => !a.dismiss),
});
let fe = y(void 0);
const me = () => p(fe),
ua = (a) => {
const e = new URL(a, ue),
t = me();
return t && e.searchParams.set("override", t.token), e.toString();
};
function ga() {
try {
Oe();
} catch (a) {
console.error("failed to load override", a);
}
}
function Oe() {
const e = new URL(location.href).searchParams.get("override");
if (!e) return;
const t = e.split(".");
if (t.length !== 2) throw new Error("override token wrong amount of parts");
const [n] = t,
s = JSON.parse(atob(n));
if (Date.now() / 1e3 > s.expiresAt) throw new Error("override token expired");
ge.info(`Currently using the ${s.id} override. Bugs may occur, go back to ${location.protocol}//${location.host} to clear this override.`, { duration: 6e4 }), w(fe, { token: e, payload: s }, !0);
}
const ie = "theme";
var M, q, N, B, D, U, G;
class ke {
constructor() {
h(this, M, y(!1));
h(this, q, y(!1));
h(this, N, y(Z(Ce())));
h(this, B, y(!1));
h(this, D, y("custom-winter"));
h(this, U, y(Z(Date.now())));
h(this, G, y(void 0));
setInterval(() => {
w(u(this, U), Date.now(), !0);
}, 500),
(this.theme = localStorage.getItem(ie) || "custom-winter");
}
get dropletsDialogOpen() {
return p(u(this, M));
}
set dropletsDialogOpen(e) {
w(u(this, M), e, !0);
}
get muted() {
return p(u(this, q));
}
set muted(e) {
w(u(this, q), e, !0);
}
get language() {
return p(u(this, N));
}
set language(e) {
w(u(this, N), e, !0);
}
get turnstatileLoaded() {
return p(u(this, B));
}
set turnstatileLoaded(e) {
w(u(this, B), e, !0);
}
get theme() {
return p(u(this, D));
}
set theme(e) {
w(u(this, D), e, !0), localStorage.setItem(ie, e), document.documentElement.setAttribute("data-theme", e);
}
get now() {
return p(u(this, U));
}
get captcha() {
return Me ? p(u(this, G)) : { token: "turnstile-disabled", time: Date.now() };
}
set captcha(e) {
w(u(this, G), e, !0);
}
}
(M = new WeakMap()), (q = new WeakMap()), (N = new WeakMap()), (B = new WeakMap()), (D = new WeakMap()), (U = new WeakMap()), (G = new WeakMap());
const Le = new ke();
function Ce() {
if (navigator.languages && navigator.languages.length > 0) {
const a = navigator.languages.find((e) => e.length === 2);
if (a) return a;
}
return (navigator.language || navigator.userLanguage || navigator.browserLanguage || "en").substring(0, 2);
}
const Me = Ee.toLowerCase() !== "false";
let m;
function x(a) {
const e = m.__externref_table_alloc();
return m.__wbindgen_export_2.set(e, a), e;
}
function A(a, e) {
try {
return a.apply(this, e);
} catch (t) {
const n = x(t);
m.__wbindgen_exn_store(n);
}
}
const he =
typeof TextDecoder < "u"
? new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 })
: {
decode: () => {
throw Error("TextDecoder not available");
},
};
typeof TextDecoder < "u" && he.decode();
let I = null;
function W() {
return (I === null || I.byteLength === 0) && (I = new Uint8Array(m.memory.buffer)), I;
}
function O(a, e) {
return (a = a >>> 0), he.decode(W().subarray(a, a + e));
}
function H(a) {
return a == null;
}
function fa(a) {
m.set_user_id(a);
}
let Q = 0;
const Y =
typeof TextEncoder < "u"
? new TextEncoder("utf-8")
: {
encode: () => {
throw Error("TextEncoder not available");
},
},
qe =
typeof Y.encodeInto == "function"
? function (a, e) {
return Y.encodeInto(a, e);
}
: function (a, e) {
const t = Y.encode(a);
return e.set(t), { read: a.length, written: t.length };
};
function _e(a, e, t) {
if (t === void 0) {
const o = Y.encode(a),
d = e(o.length, 1) >>> 0;
return (
W()
.subarray(d, d + o.length)
.set(o),
(Q = o.length),
d
);
}
let n = a.length,
s = e(n, 1) >>> 0;
const r = W();
let l = 0;
for (; l < n; l++) {
const o = a.charCodeAt(l);
if (o > 127) break;
r[s + l] = o;
}
if (l !== n) {
l !== 0 && (a = a.slice(l)), (s = t(s, n, (n = l + a.length * 3), 1) >>> 0);
const o = W().subarray(s + l, s + n),
d = qe(a, o);
(l += d.written), (s = t(s, n, l, 1) >>> 0);
}
return (Q = l), s;
}
function ma(a) {
const e = _e(a, m.__wbindgen_malloc, m.__wbindgen_realloc),
t = Q;
m.request_url(e, t);
}
function Ne() {
let a, e;
try {
const t = m.get_load_payload();
return (a = t[0]), (e = t[1]), O(t[0], t[1]);
} finally {
m.__wbindgen_free(a, e, 1);
}
}
function Be(a) {
let e, t;
try {
const n = _e(a, m.__wbindgen_malloc, m.__wbindgen_realloc),
s = Q,
r = m.get_pawtected_endpoint_payload(n, s);
return (e = r[0]), (t = r[1]), O(r[0], r[1]);
} finally {
m.__wbindgen_free(e, t, 1);
}
}
async function De(a, e) {
if (typeof Response == "function" && a instanceof Response) {
if (typeof WebAssembly.instantiateStreaming == "function")
try {
return await WebAssembly.instantiateStreaming(a, e);
} catch (n) {
if (a.headers.get("Content-Type") != "application/wasm")
console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", n);
else throw n;
}
const t = await a.arrayBuffer();
return await WebAssembly.instantiate(t, e);
} else {
const t = await WebAssembly.instantiate(a, e);
return t instanceof WebAssembly.Instance ? { instance: t, module: a } : t;
}
}
function Ue() {
const a = {};
return (
(a.wbg = {}),
(a.wbg.__wbg_buffer_609cc3eee51ed158 = function (e) {
return e.buffer;
}),
(a.wbg.__wbg_call_672a4d21634d4a24 = function () {
return A(function (e, t) {
return e.call(t);
}, arguments);
}),
(a.wbg.__wbg_call_7cccdd69e0791ae2 = function () {
return A(function (e, t, n) {
return e.call(t, n);
}, arguments);
}),
(a.wbg.__wbg_crypto_574e78ad8b13b65f = function (e) {
return e.crypto;
}),
(a.wbg.__wbg_getRandomValues_b8f5dbd5f3995a9e = function () {
return A(function (e, t) {
e.getRandomValues(t);
}, arguments);
}),
(a.wbg.__wbg_msCrypto_a61aeb35a24c1329 = function (e) {
return e.msCrypto;
}),
(a.wbg.__wbg_new_a12002a7f91c75be = function (e) {
return new Uint8Array(e);
}),
(a.wbg.__wbg_newnoargs_105ed471475aaf50 = function (e, t) {
return new Function(O(e, t));
}),
(a.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a = function (e, t, n) {
return new Uint8Array(e, t >>> 0, n >>> 0);
}),
(a.wbg.__wbg_newwithlength_a381634e90c276d4 = function (e) {
return new Uint8Array(e >>> 0);
}),
(a.wbg.__wbg_node_905d3e251edff8a2 = function (e) {
return e.node;
}),
(a.wbg.__wbg_process_dc0fbacc7c1c06f7 = function (e) {
return e.process;
}),
(a.wbg.__wbg_randomFillSync_ac0988aba3254290 = function () {
return A(function (e, t) {
e.randomFillSync(t);
}, arguments);
}),
(a.wbg.__wbg_require_60cc747a6bc5215a = function () {
return A(function () {
return module.require;
}, arguments);
}),
(a.wbg.__wbg_set_65595bdd868b3009 = function (e, t, n) {
e.set(t, n >>> 0);
}),
(a.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07 = function () {
const e = typeof global > "u" ? null : global;
return H(e) ? 0 : x(e);
}),
(a.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0 = function () {
const e = typeof globalThis > "u" ? null : globalThis;
return H(e) ? 0 : x(e);
}),
(a.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819 = function () {
const e = typeof self > "u" ? null : self;
return H(e) ? 0 : x(e);
}),
(a.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40 = function () {
const e = typeof window > "u" ? null : window;
return H(e) ? 0 : x(e);
}),
(a.wbg.__wbg_subarray_aa9065fa9dc5df96 = function (e, t, n) {
return e.subarray(t >>> 0, n >>> 0);
}),
(a.wbg.__wbg_versions_c01dfd4722a88165 = function (e) {
return e.versions;
}),
(a.wbg.__wbindgen_init_externref_table = function () {
const e = m.__wbindgen_export_2,
t = e.grow(4);
e.set(0, void 0), e.set(t + 0, void 0), e.set(t + 1, null), e.set(t + 2, !0), e.set(t + 3, !1);
}),
(a.wbg.__wbindgen_is_function = function (e) {
return typeof e == "function";
}),
(a.wbg.__wbindgen_is_object = function (e) {
const t = e;
return typeof t == "object" && t !== null;
}),
(a.wbg.__wbindgen_is_string = function (e) {
return typeof e == "string";
}),
(a.wbg.__wbindgen_is_undefined = function (e) {
return e === void 0;
}),
(a.wbg.__wbindgen_memory = function () {
return m.memory;
}),
(a.wbg.__wbindgen_string_new = function (e, t) {
return O(e, t);
}),
(a.wbg.__wbindgen_throw = function (e, t) {
throw new Error(O(e, t));
}),
a
);
}
function Ge(a, e) {
return (m = a.exports), (Re.__wbindgen_wasm_module = e), (I = null), m.__wbindgen_start(), m;
}
async function Re(a) {
if (m !== void 0) return m;
typeof a < "u" && (Object.getPrototypeOf(a) === Object.prototype ? ({ module_or_path: a } = a) : console.warn("using deprecated parameters for the initialization function; pass a single object instead")),
typeof a > "u" && (a = new URL("pawtect_wasm_bg.wasm", import.meta.url));
const e = Ue();
(typeof a == "string" || (typeof Request == "function" && a instanceof Request) || (typeof URL == "function" && a instanceof URL)) && (a = fetch(a));
const { instance: t, module: n } = await De(await a, e);
return Ge(t, n);
}
const $e = () => "Unexpected server error. Try again later.",
je = () => "Erro inesperado do servidor. Tente novamente mais tarde.",
i = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? $e() : je()),
Fe = () => "You need to be logged in to paint",
Je = () => "Você precisa estar conectado para pintar",
Ke = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Fe() : Je()),
ze = (a) => `Error while painting: ${a.err}`,
Ve = (a) => `Erro enquanto pinta: ${a.err}`,
He = (a, e = {}) => ((e.locale ?? g()) === "en" ? ze(a) : Ve(a)),
We = () => "Invalid phone number",
Ye = () => "Número de telefone inválido",
Ze = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? We() : Ye()),
Qe = () => "Phone already used",
Xe = () => "Telefone já usado",
et = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Qe() : Xe()),
tt = () => "You have to wait to resend a code",
nt = () => "Você tem de esperar para reenviar um código",
at = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? tt() : nt()),
rt = () => "Invalid code",
st = () => "Código inválido",
ot = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? rt() : st()),
it = () => "Operation not allowed. Maybe you have too many favorite locations.",
ct = () => "Operação não permitida. Talvez você tenha muitos locais favoritos.",
lt = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? it() : ct()),
dt = () => "Location name is too big (max. 128 characters)",
ut = () => "Nome da localização é grande demais (max. 128 caracteres)",
gt = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? dt() : ut()),
ft = () => "Couldn't complete the purchase. This item does not exist.",
mt = () => "Não foi possível concluir a compra. Este item não existe.",
ht = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? ft() : mt()),
_t = () => "You do not have enough droplets to buy this item.",
pt = () => "Você não tem gotas suficientes para comprar este item.",
wt = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? _t() : pt()),
bt = () => "You already have this item. Please refresh the page.",
yt = () => "Você já possui este item. Atualize a página.",
St = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? bt() : yt()),
Tt = () => "Alliance name exceeded the maximum number of characters",
Et = () => "O nome da aliança excedeu o número máximo de caracteres",
vt = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Tt() : Et()),
At = () => "Alliance name already taken",
Pt = () => "Já possui uma aliança com esse nome",
xt = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? At() : Pt()),
It = () => "Alliance with empty name",
Ot = () => "Aliança com nome vazio",
kt = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? It() : Ot()),
Lt = () => "You are already in an alliance",
Ct = () => "Você já está em uma aliança",
Mt = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Lt() : Ct()),
qt = () => "You are not allowed to do this",
Nt = () => "Você não tem permissão para fazer isso",
E = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? qt() : Nt()),
Bt = () => "Can't reach the server. Maybe you are without internet connection or the server is down. Try again later",
Dt = () => "Não é possível acessar o servidor. Talvez você esteja sem conexão com a internet ou o servidor esteja fora do ar. Tente novamente mais tarde.",
Ut = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Bt() : Dt()),
Gt = () => "You or someone in your network is making a lot of requests to the server. Try again later.",
Rt = () => "Você ou alguém na sua rede está fazendo muitas solicitações ao servidor. Tente novamente mais tarde.",
ce = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Gt() : Rt()),
$t = () => "No internet access or the servers are offline. Try again later.",
jt = () => "Sem acesso à internet ou os servidores estão fora do ar. Tente novamente mais tarde.",
Ft = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? $t() : jt()),
Jt = () => "Were currently experiencing high traffic. Some requests may not be processed at this time—please try again later. Thank you for your patience.",
Kt = () => "Estamos enfrentando um volume alto de acessos no momento. Algumas solicitações podem não ser processadas agora — por favor, tente novamente mais tarde. Agradecemos a sua compreensão.",
zt = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Jt() : Kt()),
Vt = () => "Refresh your page to get the latest update",
Ht = () => "Recarregue sua página para obter as últimas atualizações",
Wt = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Vt() : Ht()),
Yt = () => "Inappropriate content",
Zt = () => "Conteúdo inapropriado",
Qt = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Yt() : Zt()),
Xt = () => "Botting",
en = () => "Uso de bots",
tn = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Xt() : en()),
nn = () => "Hate speech",
an = () => "Discurso de Ódio",
rn = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? nn() : an()),
sn = () => "Griefing",
on = () => "Griefing",
cn = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? sn() : on()),
ln = () => "Doxxing",
dn = () => "Doxxing",
un = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? ln() : dn()),
gn = () => "Leaderboard is temporarily disabled",
fn = () => "O ranking está temporariamente desativado",
v = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? gn() : fn()),
mn = () => "Multi-accounting",
hn = () => "Múltiplas contas",
_n = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? mn() : hn()),
pn = () => "Breaking the rules",
wn = () => "Quebrar as regras",
bn = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? pn() : wn()),
yn = () => "Your account has been suspended for breaking the rules",
Sn = () => "Sua conta foi suspensa por quebrar as regras",
Tn = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? yn() : Sn()),
En = () => "Your account has been banned for violating the rules",
vn = () => "A sua conta foi banida por quebrar as regras",
An = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? En() : vn()),
Pn = (a) => `Your account has been suspended out until ${a.until}`,
xn = (a) => `A sua conta está suspensa até ${a.until}`,
In = (a, e = {}) => ((e.locale ?? g()) === "en" ? Pn(a) : xn(a)),
On = () => "You are trying to paint with a color you do not own",
kn = () => "Você está tentando pintar com uma cor que não possui",
Ln = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? On() : kn()),
Cn = () => "The new leader must be a member of the alliance",
Mn = () => "O novo líder deve ser um membro da aliança",
qn = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Cn() : Mn()),
Nn = () => "The name contains disallowed characters or words. Please choose a different name.",
Bn = () => "O nome contém caracteres ou palavras não permitidas. Por favor, escolha outro nome.",
Dn = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Nn() : Bn()),
Un = () => "Invalid discord.",
Gn = () => "Discord inválido.",
Rn = (a = {}, e = {}) => ((e.locale ?? g()) === "en" ? Un() : Gn()),
ha = { griefing: cn(), "multi-accounting": _n(), "hate-speech": rn(), bot: tn(), doxxing: un(), "inappropriate-content": Qt(), other: bn() },
_a = { doxxing: "text-red-600", "hate-speech": "text-red-600", "inappropriate-content": "text-amber-600", "multi-accounting": "text-amber-600", bot: "text-amber-600", griefing: "text-amber-600", other: "text-blue-600" },
le = { doxxing: 0, "hate-speech": 1, "inappropriate-content": 2, bot: 3, "multi-accounting": 4, other: 5, griefing: 6 };
function $n(a) {
const e = atob(a),
t = new Uint8Array(e.length);
for (let n = 0; n < e.length; n++) t[n] = e.charCodeAt(n);
return t;
}
class jn {
constructor(e) {
_(this, "bytes");
this.bytes = e ?? new Uint8Array();
}
set(e, t) {
const n = Math.floor(e / 8),
s = e % 8;
if (n >= this.bytes.length) {
const l = new Uint8Array(n + 1),
o = l.length - this.bytes.length;
for (let d = 0; d < this.bytes.length; d++) l[d + o] = this.bytes[d];
this.bytes = l;
}
const r = this.bytes.length - 1 - n;
t ? (this.bytes[r] = this.bytes[r] | (1 << s)) : (this.bytes[r] = this.bytes[r] & ~(1 << s));
}
get(e) {
const t = Math.floor(e / 8),
n = e % 8,
s = this.bytes.length;
return t > s ? !1 : (this.bytes[s - 1 - t] & (1 << n)) !== 0;
}
}
var R, $, j, F, J, K, z;
class Fn {
constructor() {
_(this, "channel", new BroadcastChannel("user-channel"));
h(this, R, y());
h(this, $, y(!0));
h(this, j, y(Date.now()));
h(
this,
F,
P(() => {
if (!this.data) return;
const e = this.data.charges;
if (e.count > e.max) return e.count;
const t = e.count + Math.max((Le.now - this.lastFetch) / e.cooldownMs, 0);
return Math.min(e.max, t);
})
);
h(
this,
J,
P(() => (this.charges !== void 0 && this.data ? (1 - (this.charges % 1)) * this.data.charges.cooldownMs : void 0))
);
h(
this,
K,
P(() => {
var e;
return new jn($n(((e = this.data) == null ? void 0 : e.flagsBitmap) ?? "AA=="));
})
);
h(
this,
z,
P(() => {
var t;
if (!((t = this.data) != null && t.timeoutUntil)) return;
const e = new Date(this.data.timeoutUntil);
if (!(e.getTime() < Date.now())) return e;
})
);
this.channel.onmessage = (e) => {
const t = JSON.parse(e.data);
t.type === "refresh" ? ((this.data = t.data), (this.lastFetch = Date.now())) : t.type === "logout" && (this.data = void 0);
};
}
get data() {
return p(u(this, R));
}
set data(e) {
w(u(this, R), e, !0);
}
get loading() {
return p(u(this, $));
}
set loading(e) {
w(u(this, $), e, !0);
}
get lastFetch() {
return p(u(this, j));
}
set lastFetch(e) {
w(u(this, j), e);
}
get charges() {
return p(u(this, F));
}
set charges(e) {
w(u(this, F), e);
}
get cooldown() {
return p(u(this, J));
}
set cooldown(e) {
w(u(this, J), e);
}
get flagsBitmap() {
return p(u(this, K));
}
set flagsBitmap(e) {
w(u(this, K), e);
}
get timeoutUntil() {
return p(u(this, z));
}
set timeoutUntil(e) {
w(u(this, z), e);
}
async refresh() {
try {
return (this.loading = !0), (this.data = await de.me()), (this.lastFetch = Date.now()), this.channel.postMessage(JSON.stringify({ type: "refresh", data: this.data })), Te("userId", { id: this.data.id }), !0;
} catch (e) {
return console.error(e), ge.warning(Ft(), { duration: 1e4 }), !1;
} finally {
this.loading = !1;
}
}
async logout() {
await de.logout(), this.channel.postMessage(JSON.stringify({ type: "logout" })), (this.data = void 0);
}
hasColor(e) {
var n;
return e < 32 ? !0 : ((((n = this.data) == null ? void 0 : n.extraColorsBitmap) ?? 0) & (1 << (e - 32))) !== 0;
}
}
(R = new WeakMap()), ($ = new WeakMap()), (j = new WeakMap()), (F = new WeakMap()), (J = new WeakMap()), (K = new WeakMap()), (z = new WeakMap());
const X = new Fn();
class f extends Error {
constructor(e, t) {
super(e), (this.message = e), (this.status = t);
}
}
function Jn(a, e) {
const t = {};
for (const n of a) {
const s = e(n);
let r = t[s];
r ? r.push(n) : (t[s] = [n]);
}
return t;
}
function pa(a, e) {
const t = {};
for (const n of a) {
const s = e(n);
t[s] = n;
}
return t;
}
const Kn = [{ tileSize: 1e3, zoom: 11 }],
zn = 4,
Vn = 6e3,
Hn = [
{ name: "Transparent", rgb: [0, 0, 0] },
{ name: "Black", rgb: [0, 0, 0] },
{ name: "Dark Gray", rgb: [60, 60, 60] },
{ name: "Gray", rgb: [120, 120, 120] },
{ name: "Light Gray", rgb: [210, 210, 210] },
{ name: "White", rgb: [255, 255, 255] },
{ name: "Deep Red", rgb: [96, 0, 24] },
{ name: "Red", rgb: [237, 28, 36] },
{ name: "Orange", rgb: [255, 127, 39] },
{ name: "Gold", rgb: [246, 170, 9] },
{ name: "Yellow", rgb: [249, 221, 59] },
{ name: "Light Yellow", rgb: [255, 250, 188] },
{ name: "Dark Green", rgb: [14, 185, 104] },
{ name: "Green", rgb: [19, 230, 123] },
{ name: "Light Green", rgb: [135, 255, 94] },
{ name: "Dark Teal", rgb: [12, 129, 110] },
{ name: "Teal", rgb: [16, 174, 166] },
{ name: "Light Teal", rgb: [19, 225, 190] },
{ name: "Dark Blue", rgb: [40, 80, 158] },
{ name: "Blue", rgb: [64, 147, 228] },
{ name: "Cyan", rgb: [96, 247, 242] },
{ name: "Indigo", rgb: [107, 80, 246] },
{ name: "Light Indigo", rgb: [153, 177, 251] },
{ name: "Dark Purple", rgb: [120, 12, 153] },
{ name: "Purple", rgb: [170, 56, 185] },
{ name: "Light Purple", rgb: [224, 159, 249] },
{ name: "Dark Pink", rgb: [203, 0, 122] },
{ name: "Pink", rgb: [236, 31, 128] },
{ name: "Light Pink", rgb: [243, 141, 169] },
{ name: "Dark Brown", rgb: [104, 70, 52] },
{ name: "Brown", rgb: [149, 104, 42] },
{ name: "Beige", rgb: [248, 178, 119] },
{ name: "Medium Gray", rgb: [170, 170, 170] },
{ name: "Dark Red", rgb: [165, 14, 30] },
{ name: "Light Red", rgb: [250, 128, 114] },
{ name: "Dark Orange", rgb: [228, 92, 26] },
{ name: "Light Tan", rgb: [214, 181, 148] },
{ name: "Dark Goldenrod", rgb: [156, 132, 49] },
{ name: "Goldenrod", rgb: [197, 173, 49] },
{ name: "Light Goldenrod", rgb: [232, 212, 95] },
{ name: "Dark Olive", rgb: [74, 107, 58] },
{ name: "Olive", rgb: [90, 148, 74] },
{ name: "Light Olive", rgb: [132, 197, 115] },
{ name: "Dark Cyan", rgb: [15, 121, 159] },
{ name: "Light Cyan", rgb: [187, 250, 242] },
{ name: "Light Blue", rgb: [125, 199, 255] },
{ name: "Dark Indigo", rgb: [77, 49, 184] },
{ name: "Dark Slate Blue", rgb: [74, 66, 132] },
{ name: "Slate Blue", rgb: [122, 113, 196] },
{ name: "Light Slate Blue", rgb: [181, 174, 241] },
{ name: "Light Brown", rgb: [219, 164, 99] },
{ name: "Dark Beige", rgb: [209, 128, 81] },
{ name: "Light Beige", rgb: [255, 197, 165] },
{ name: "Dark Peach", rgb: [155, 82, 73] },
{ name: "Peach", rgb: [209, 128, 120] },
{ name: "Light Peach", rgb: [250, 182, 164] },
{ name: "Dark Tan", rgb: [123, 99, 82] },
{ name: "Tan", rgb: [156, 132, 107] },
{ name: "Dark Slate", rgb: [51, 57, 65] },
{ name: "Slate", rgb: [109, 117, 141] },
{ name: "Light Slate", rgb: [179, 185, 209] },
{ name: "Dark Stone", rgb: [109, 100, 63] },
{ name: "Stone", rgb: [148, 140, 107] },
{ name: "Light Stone", rgb: [205, 197, 158] },
],
Wn = { needsPhoneVerification: "needs_phone_verification" },
Yn = { Droplet: {}, "Max. Charge": {}, "Paint Charge": {}, Color: {}, Flag: {}, "Profile Picture": {} },
Zn = {
10: { name: "25,000 Droplets", price: 500, isDollar: !0, lookupKey: "droplets_5", items: [{ name: "Droplet", amount: 25e3 }] },
20: { name: "78,750 Droplets", price: 1500, isDollar: !0, lookupKey: "droplets_15", items: [{ name: "Droplet", amount: 76750 }] },
30: { name: "165,000 Droplets", price: 3e3, isDollar: !0, lookupKey: "droplets_30", items: [{ name: "Droplet", amount: 165e3 }] },
40: { name: "287,500 Droplets", price: 5e3, isDollar: !0, lookupKey: "droplets_50", items: [{ name: "Droplet", amount: 287500 }] },
50: { name: "450,000 Droplets", price: 7500, isDollar: !0, lookupKey: "droplets_75", items: [{ name: "Droplet", amount: 45e4 }] },
60: { name: "625,000 Droplets", price: 1e4, isDollar: !0, lookupKey: "droplets_100", items: [{ name: "Droplet", amount: 625e3 }] },
70: { name: "+5 Max. Charges", price: 500, isDollar: !1, items: [{ name: "Max. Charge", amount: 5 }] },
80: { name: "+30 Paint Charges", price: 500, isDollar: !1, items: [{ name: "Paint Charge", amount: 30 }] },
100: { name: "Unlock Color", price: 2e3, isDollar: !1, items: [{ name: "Color", amount: 1 }] },
110: { name: "Flag", price: 2e4, isDollar: !1, items: [{ name: "Flag", amount: 1 }] },
120: { name: "Profile Picture", price: 2e4, isDollar: !1, items: [{ name: "Profile Picture", amount: 1 }] },
},
Qn = JSON.parse(
`[{"id":1,"name":"Afghanistan","code":"AF","flag":"🇦🇫"},{"id":2,"name":"Albania","code":"AL","flag":"🇦🇱"},{"id":3,"name":"Algeria","code":"DZ","flag":"🇩🇿"},{"id":4,"name":"American Samoa","code":"AS","flag":"🇦🇸"},{"id":5,"name":"Andorra","code":"AD","flag":"🇦🇩"},{"id":6,"name":"Angola","code":"AO","flag":"🇦🇴"},{"id":7,"name":"Anguilla","code":"AI","flag":"🇦🇮"},{"id":8,"name":"Antarctica","code":"AQ","flag":"🇦🇶"},{"id":9,"name":"Antigua and Barbuda","code":"AG","flag":"🇦🇬"},{"id":10,"name":"Argentina","code":"AR","flag":"🇦🇷"},{"id":11,"name":"Armenia","code":"AM","flag":"🇦🇲"},{"id":12,"name":"Aruba","code":"AW","flag":"🇦🇼"},{"id":13,"name":"Australia","code":"AU","flag":"🇦🇺"},{"id":14,"name":"Austria","code":"AT","flag":"🇦🇹"},{"id":15,"name":"Azerbaijan","code":"AZ","flag":"🇦🇿"},{"id":16,"name":"Bahamas","code":"BS","flag":"🇧🇸"},{"id":17,"name":"Bahrain","code":"BH","flag":"🇧🇭"},{"id":18,"name":"Bangladesh","code":"BD","flag":"🇧🇩"},{"id":19,"name":"Barbados","code":"BB","flag":"🇧🇧"},{"id":20,"name":"Belarus","code":"BY","flag":"🇧🇾"},{"id":21,"name":"Belgium","code":"BE","flag":"🇧🇪"},{"id":22,"name":"Belize","code":"BZ","flag":"🇧🇿"},{"id":23,"name":"Benin","code":"BJ","flag":"🇧🇯"},{"id":24,"name":"Bermuda","code":"BM","flag":"🇧🇲"},{"id":25,"name":"Bhutan","code":"BT","flag":"🇧🇹"},{"id":26,"name":"Bolivia","code":"BO","flag":"🇧🇴"},{"id":27,"name":"Bonaire","code":"BQ","flag":"🇧🇶"},{"id":28,"name":"Bosnia and Herzegovina","code":"BA","flag":"🇧🇦"},{"id":29,"name":"Botswana","code":"BW","flag":"🇧🇼"},{"id":30,"name":"Bouvet Island","code":"BV","flag":"🇧🇻"},{"id":31,"name":"Brazil","code":"BR","flag":"🇧🇷"},{"id":32,"name":"British Indian Ocean Territory","code":"IO","flag":"🇮🇴"},{"id":33,"name":"Brunei Darussalam","code":"BN","flag":"🇧🇳"},{"id":34,"name":"Bulgaria","code":"BG","flag":"🇧🇬"},{"id":35,"name":"Burkina Faso","code":"BF","flag":"🇧🇫"},{"id":36,"name":"Burundi","code":"BI","flag":"🇧🇮"},{"id":37,"name":"Cabo Verde","code":"CV","flag":"🇨🇻"},{"id":38,"name":"Cambodia","code":"KH","flag":"🇰🇭"},{"id":39,"name":"Cameroon","code":"CM","flag":"🇨🇲"},{"id":40,"name":"Canada","code":"CA","flag":"🇨🇦"},{"id":41,"name":"Cayman Islands","code":"KY","flag":"🇰🇾"},{"id":42,"name":"Central African Republic","code":"CF","flag":"🇨🇫"},{"id":43,"name":"Chad","code":"TD","flag":"🇹🇩"},{"id":44,"name":"Chile","code":"CL","flag":"🇨🇱"},{"id":45,"name":"China","code":"CN","flag":"🇨🇳"},{"id":46,"name":"Christmas Island","code":"CX","flag":"🇨🇽"},{"id":47,"name":"Cocos (Keeling) Islands","code":"CC","flag":"🇨🇨"},{"id":48,"name":"Colombia","code":"CO","flag":"🇨🇴"},{"id":49,"name":"Comoros","code":"KM","flag":"🇰🇲"},{"id":50,"name":"Congo","code":"CG","flag":"🇨🇬"},{"id":51,"name":"Cook Islands","code":"CK","flag":"🇨🇰"},{"id":52,"name":"Costa Rica","code":"CR","flag":"🇨🇷"},{"id":53,"name":"Croatia","code":"HR","flag":"🇭🇷"},{"id":54,"name":"Cuba","code":"CU","flag":"🇨🇺"},{"id":55,"name":"Curaçao","code":"CW","flag":"🇨🇼"},{"id":56,"name":"Cyprus","code":"CY","flag":"🇨🇾"},{"id":57,"name":"Czechia","code":"CZ","flag":"🇨🇿"},{"id":58,"name":"Côte d'Ivoire","code":"CI","flag":"🇨🇮"},{"id":59,"name":"Denmark","code":"DK","flag":"🇩🇰"},{"id":60,"name":"Djibouti","code":"DJ","flag":"🇩🇯"},{"id":61,"name":"Dominica","code":"DM","flag":"🇩🇲"},{"id":62,"name":"Dominican Republic","code":"DO","flag":"🇩🇴"},{"id":63,"name":"Ecuador","code":"EC","flag":"🇪🇨"},{"id":64,"name":"Egypt","code":"EG","flag":"🇪🇬"},{"id":65,"name":"El Salvador","code":"SV","flag":"🇸🇻"},{"id":66,"name":"Equatorial Guinea","code":"GQ","flag":"🇬🇶"},{"id":67,"name":"Eritrea","code":"ER","flag":"🇪🇷"},{"id":68,"name":"Estonia","code":"EE","flag":"🇪🇪"},{"id":69,"name":"Eswatini","code":"SZ","flag":"🇸🇿"},{"id":70,"name":"Ethiopia","code":"ET","flag":"🇪🇹"},{"id":71,"name":"Falkland Islands (Malvinas)","code":"FK","flag":"🇫🇰"},{"id":72,"name":"Faroe Islands","code":"FO","flag":"🇫🇴"},{"id":73,"name":"Fiji","code":"FJ","flag":"🇫🇯"},{"id":74,"name":"Finland","code":"FI","flag":"🇫🇮"},{"id":75,"name":"France","code":"FR","flag":"🇫🇷"},{"id":76,"name":"French Guiana","code":"GF","flag":"🇬🇫"},{"id":77,"name":"French Polynesia","code":"PF","flag":"🇵🇫"},{"id":78,"name":"French Southern Territories","code":"TF","flag":"🇹🇫"},{"id":79,"name":"Gabon","code":"GA","flag":"🇬🇦"},{"id":80,"name":"Gambia","code":"GM","flag":"🇬🇲"},{"id":81,"name":"Georgia","code":"GE","flag":"🇬🇪"},{"id":82,"name":"Germany","code":"DE","flag":"🇩🇪"},{"id":83,"name":"Ghana","code":"GH","flag":"🇬🇭"},{"id":84,"name":"Gibraltar","code":"GI","flag":"🇬🇮"},{"id":85,"name":"Greece","code":"GR","flag":"🇬🇷"},{"id":86,"name":"Greenland","code":"GL","flag":"🇬🇱"},{"id":87,"name":"Grenada","code":"GD","flag":"🇬🇩"},{"id":88,"name":"Guadeloupe","code":"GP","flag":"🇬🇵"},{"id":89,"name":"Guam","code":"GU","flag":"🇬🇺"},{"id":90,"name":"Guatemala","code":"GT","flag":"🇬🇹"},{"id":91,"name":"Guernsey","code":"GG","flag":"🇬🇬"},{"id":92,"name":"Guinea","code":"GN","flag":"🇬🇳"},{"id":93,"name":"Guinea-Bissau","code":"GW","flag":"🇬🇼"},{"id":94,"name":"Guyana","code":"GY","flag":"🇬🇾"},{"id":95,"name":"Haiti","code":"HT","flag":"🇭🇹"},{"id":96,"name":"Heard Island and McDonald Islands","code":"HM","flag":"🇭🇲"},{"id":97,"name":"Honduras","code":"HN","flag":"🇭🇳"},{"id":98,"name":"Hong Kong","code":"HK","flag":"🇭🇰"},{"id":99,"name":"Hungary","code":"HU","flag":"🇭🇺"},{"id":100,"name":"Iceland","code":"IS","flag":"🇮🇸"},{"id":101,"name":"India","code":"IN","flag":"🇮🇳"},{"id":102,"name":"Indonesia","code":"ID","flag":"🇮🇩"},{"id":103,"name":"Iran","code":"IR","flag":"🇮🇷"},{"id":104,"name":"Iraq","code":"IQ","flag":"🇮🇶"},{"id":105,"name":"Ireland","code":"IE","flag":"🇮🇪"},{"id":106,"name":"Isle of Man","code":"IM","flag":"🇮🇲"},{"id":107,"name":"Israel","code":"IL","flag":"🇮🇱"},{"id":108,"name":"Italy","code":"IT","flag":"🇮🇹"},{"id":109,"name":"Jamaica","code":"JM","flag":"🇯🇲"},{"id":110,"name":"Japan","code":"JP","flag":"🇯🇵"},{"id":111,"name":"Jersey","code":"JE","flag":"🇯🇪"},{"id":112,"name":"Jordan","code":"JO","flag":"🇯🇴"},{"id":113,"name":"Kazakhstan","code":"KZ","flag":"🇰🇿"},{"id":114,"name":"Kenya","code":"KE","flag":"🇰🇪"},{"id":115,"name":"Kiribati","code":"KI","flag":"🇰🇮"},{"id":116,"name":"Kosovo","code":"XK","flag":"🇽🇰"},{"id":117,"name":"Kuwait","code":"KW","flag":"🇰🇼"},{"id":118,"name":"Kyrgyzstan","code":"KG","flag":"🇰🇬"},{"id":119,"name":"Laos","code":"LA","flag":"🇱🇦"},{"id":120,"name":"Latvia","code":"LV","flag":"🇱🇻"},{"id":121,"name":"Lebanon","code":"LB","flag":"🇱🇧"},{"id":122,"name":"Lesotho","code":"LS","flag":"🇱🇸"},{"id":123,"name":"Liberia","code":"LR","flag":"🇱🇷"},{"id":124,"name":"Libya","code":"LY","flag":"🇱🇾"},{"id":125,"name":"Liechtenstein","code":"LI","flag":"🇱🇮"},{"id":126,"name":"Lithuania","code":"LT","flag":"🇱🇹"},{"id":127,"name":"Luxembourg","code":"LU","flag":"🇱🇺"},{"id":128,"name":"Macao","code":"MO","flag":"🇲🇴"},{"id":129,"name":"Madagascar","code":"MG","flag":"🇲🇬"},{"id":130,"name":"Malawi","code":"MW","flag":"🇲🇼"},{"id":131,"name":"Malaysia","code":"MY","flag":"🇲🇾"},{"id":132,"name":"Maldives","code":"MV","flag":"🇲🇻"},{"id":133,"name":"Mali","code":"ML","flag":"🇲🇱"},{"id":134,"name":"Malta","code":"MT","flag":"🇲🇹"},{"id":135,"name":"Marshall Islands","code":"MH","flag":"🇲🇭"},{"id":136,"name":"Martinique","code":"MQ","flag":"🇲🇶"},{"id":137,"name":"Mauritania","code":"MR","flag":"🇲🇷"},{"id":138,"name":"Mauritius","code":"MU","flag":"🇲🇺"},{"id":139,"name":"Mayotte","code":"YT","flag":"🇾🇹"},{"id":140,"name":"Mexico","code":"MX","flag":"🇲🇽"},{"id":141,"name":"Micronesia","code":"FM","flag":"🇫🇲"},{"id":142,"name":"Moldova","code":"MD","flag":"🇲🇩"},{"id":143,"name":"Monaco","code":"MC","flag":"🇲🇨"},{"id":144,"name":"Mongolia","code":"MN","flag":"🇲🇳"},{"id":145,"name":"Montenegro","code":"ME","flag":"🇲🇪"},{"id":146,"name":"Montserrat","code":"MS","flag":"🇲🇸"},{"id":147,"name":"Morocco","code":"MA","flag":"🇲🇦"},{"id":148,"name":"Mozambique","code":"MZ","flag":"🇲🇿"},{"id":149,"name":"Myanmar","code":"MM","flag":"🇲🇲"},{"id":150,"name":"Namibia","code":"NA","flag":"🇳🇦"},{"id":151,"name":"Nauru","code":"NR","flag":"🇳🇷"},{"id":152,"name":"Nepal","code":"NP","flag":"🇳🇵"},{"id":153,"name":"Netherlands","code":"NL","flag":"🇳🇱"},{"id":154,"name":"New Caledonia","code":"NC","flag":"🇳🇨"},{"id":155,"name":"New Zealand","code":"NZ","flag":"🇳🇿"},{"id":156,"name":"Nicaragua","code":"NI","flag":"🇳🇮"},{"id":157,"name":"Niger","code":"NE","flag":"🇳🇪"},{"id":158,"name":"Nigeria","code":"NG","flag":"🇳🇬"},{"id":159,"name":"Niue","code":"NU","flag":"🇳🇺"},{"id":160,"name":"Norfolk Island","code":"NF","flag":"🇳🇫"},{"id":161,"name":"North Korea","code":"KP","flag":"🇰🇵"},{"id":162,"name":"North Macedonia","code":"MK","flag":"🇲🇰"},{"id":163,"name":"Northern Mariana Islands","code":"MP","flag":"🇲🇵"},{"id":164,"name":"Norway","code":"NO","flag":"🇳🇴"},{"id":165,"name":"Oman","code":"OM","flag":"🇴🇲"},{"id":166,"name":"Pakistan","code":"PK","flag":"🇵🇰"},{"id":167,"name":"Palau","code":"PW","flag":"🇵🇼"},{"id":168,"name":"Palestine","code":"PS","flag":"🇵🇸"},{"id":169,"name":"Panama","code":"PA","flag":"🇵🇦"},{"id":170,"name":"Papua New Guinea","code":"PG","flag":"🇵🇬"},{"id":171,"name":"Paraguay","code":"PY","flag":"🇵🇾"},{"id":172,"name":"Peru","code":"PE","flag":"🇵🇪"},{"id":173,"name":"Philippines","code":"PH","flag":"🇵🇭"},{"id":174,"name":"Pitcairn","code":"PN","flag":"🇵🇳"},{"id":175,"name":"Poland","code":"PL","flag":"🇵🇱"},{"id":176,"name":"Portugal","code":"PT","flag":"🇵🇹"},{"id":177,"name":"Puerto Rico","code":"PR","flag":"🇵🇷"},{"id":178,"name":"Qatar","code":"QA","flag":"🇶🇦"},{"id":179,"name":"Republic of the Congo","code":"CD","flag":"🇨🇩"},{"id":180,"name":"Romania","code":"RO","flag":"🇷🇴"},{"id":181,"name":"Russia","code":"RU","flag":"🇷🇺"},{"id":182,"name":"Rwanda","code":"RW","flag":"🇷🇼"},{"id":183,"name":"Réunion","code":"RE","flag":"🇷🇪"},{"id":184,"name":"Saint Barthélemy","code":"BL","flag":"🇧🇱"},{"id":185,"name":"Saint Helena","code":"SH","flag":"🇸🇭"},{"id":186,"name":"Saint Kitts and Nevis","code":"KN","flag":"🇰🇳"},{"id":187,"name":"Saint Lucia","code":"LC","flag":"🇱🇨"},{"id":188,"name":"Saint Martin (French part)","code":"MF","flag":"🇲🇫"},{"id":189,"name":"Saint Pierre and Miquelon","code":"PM","flag":"🇵🇲"},{"id":190,"name":"Saint Vincent and the Grenadines","code":"VC","flag":"🇻🇨"},{"id":191,"name":"Samoa","code":"WS","flag":"🇼🇸"},{"id":192,"name":"San Marino","code":"SM","flag":"🇸🇲"},{"id":193,"name":"Sao Tome and Principe","code":"ST","flag":"🇸🇹"},{"id":194,"name":"Saudi Arabia","code":"SA","flag":"🇸🇦"},{"id":195,"name":"Senegal","code":"SN","flag":"🇸🇳"},{"id":196,"name":"Serbia","code":"RS","flag":"🇷🇸"},{"id":197,"name":"Seychelles","code":"SC","flag":"🇸🇨"},{"id":198,"name":"Sierra Leone","code":"SL","flag":"🇸🇱"},{"id":199,"name":"Singapore","code":"SG","flag":"🇸🇬"},{"id":200,"name":"Sint Maarten (Dutch part)","code":"SX","flag":"🇸🇽"},{"id":201,"name":"Slovakia","code":"SK","flag":"🇸🇰"},{"id":202,"name":"Slovenia","code":"SI","flag":"🇸🇮"},{"id":203,"name":"Solomon Islands","code":"SB","flag":"🇸🇧"},{"id":204,"name":"Somalia","code":"SO","flag":"🇸🇴"},{"id":205,"name":"South Africa","code":"ZA","flag":"🇿🇦"},{"id":206,"name":"South Georgia and the South Sandwich Islands","code":"GS","flag":"🇬🇸"},{"id":207,"name":"South Korea","code":"KR","flag":"🇰🇷"},{"id":208,"name":"South Sudan","code":"SS","flag":"🇸🇸"},{"id":209,"name":"Spain","code":"ES","flag":"🇪🇸"},{"id":210,"name":"Sri Lanka","code":"LK","flag":"🇱🇰"},{"id":211,"name":"Sudan","code":"SD","flag":"🇸🇩"},{"id":212,"name":"Suriname","code":"SR","flag":"🇸🇷"},{"id":213,"name":"Svalbard and Jan Mayen","code":"SJ","flag":"🇸🇯"},{"id":214,"name":"Sweden","code":"SE","flag":"🇸🇪"},{"id":215,"name":"Switzerland","code":"CH","flag":"🇨🇭"},{"id":216,"name":"Syrian Arab Republic","code":"SY","flag":"🇸🇾"},{"id":217,"name":"Taiwan","code":"TW","flag":"🇹🇼"},{"id":218,"name":"Tajikistan","code":"TJ","flag":"🇹🇯"},{"id":219,"name":"Tanzania","code":"TZ","flag":"🇹🇿"},{"id":220,"name":"Thailand","code":"TH","flag":"🇹🇭"},{"id":221,"name":"Timor-Leste","code":"TL","flag":"🇹🇱"},{"id":222,"name":"Togo","code":"TG","flag":"🇹🇬"},{"id":223,"name":"Tokelau","code":"TK","flag":"🇹🇰"},{"id":224,"name":"Tonga","code":"TO","flag":"🇹🇴"},{"id":225,"name":"Trinidad and Tobago","code":"TT","flag":"🇹🇹"},{"id":226,"name":"Tunisia","code":"TN","flag":"🇹🇳"},{"id":227,"name":"Turkmenistan","code":"TM","flag":"🇹🇲"},{"id":228,"name":"Turks and Caicos Islands","code":"TC","flag":"🇹🇨"},{"id":229,"name":"Tuvalu","code":"TV","flag":"🇹🇻"},{"id":230,"name":"Türkiye","code":"TR","flag":"🇹🇷"},{"id":231,"name":"Uganda","code":"UG","flag":"🇺🇬"},{"id":232,"name":"Ukraine","code":"UA","flag":"🇺🇦"},{"id":233,"name":"United Arab Emirates","code":"AE","flag":"🇦🇪"},{"id":234,"name":"United Kingdom","code":"GB","flag":"🇬🇧"},{"id":235,"name":"United States","code":"US","flag":"🇺🇸"},{"id":236,"name":"United States Minor Outlying Islands","code":"UM","flag":"🇺🇲"},{"id":237,"name":"Uruguay","code":"UY","flag":"🇺🇾"},{"id":238,"name":"Uzbekistan","code":"UZ","flag":"🇺🇿"},{"id":239,"name":"Vanuatu","code":"VU","flag":"🇻🇺"},{"id":240,"name":"Vatican City","code":"VA","flag":"🇻🇦"},{"id":241,"name":"Venezuela","code":"VE","flag":"🇻🇪"},{"id":242,"name":"Viet Nam","code":"VN","flag":"🇻🇳"},{"id":243,"name":"Virgin Islands","code":"VG","flag":"🇻🇬"},{"id":244,"name":"Virgin Islands","code":"VI","flag":"🇻🇮"},{"id":245,"name":"Wallis and Futuna","code":"WF","flag":"🇼🇫"},{"id":246,"name":"Western Sahara","code":"EH","flag":"🇪🇭"},{"id":247,"name":"Yemen","code":"YE","flag":"🇾🇪"},{"id":248,"name":"Zambia","code":"ZM","flag":"🇿🇲"},{"id":249,"name":"Zimbabwe","code":"ZW","flag":"🇿🇼"},{"id":250,"name":"Åland Islands","code":"AX","flag":"🇦🇽"},{"id":251,"name":"Canary Islands","code":"IC","flag":"🇮🇨"}]`
),
te = { seasons: Kn, regionSize: zn, refreshIntervalMs: Vn, colors: Hn, errors: Wn, items: Yn, products: Zn, countries: Qn },
Xn = te,
pe = te.seasons.length - 1,
wa = te.seasons[pe].zoom,
ba = te.seasons[pe].tileSize;
function ya(a) {
return Xn.countries[a - 1];
}
function ea(a) {
return X.data ? X.data.experiments[a] ?? null : null;
}
function Sa(a) {
var e, t;
return ((t = (e = X.data) == null ? void 0 : e.experiments[a]) == null ? void 0 : t.enabled) ?? !0;
}
var V;
class ta {
constructor(e) {
h(this, V, y(!0));
this.url = e;
}
get online() {
return p(u(this, V));
}
set online(e) {
w(u(this, V), e, !0);
}
async paint(e, t, n) {
const s = Jn(e, (d) => `t=(${d.tile[0]},${d.tile[1]}),s=${d.season}`),
r = ea("2025-09_pawtect");
if (!r) throw new Error("paint request while pawtect experiment not found");
const o = (
await Promise.all(
Object.values(s).map((d) => {
const [c, S] = d[0].tile,
b = d[0].season,
we = { colors: d.map((ne) => ne.colorIdx), coords: d.flatMap((ne) => ne.pixel), t, fp: n },
ae = JSON.stringify(we);
return this.request(`/s${b}/pixel/${c}/${S}`, { method: "POST", body: ae, headers: { "x-pawtect-token": r.variant !== "disabled" ? Be(ae) : "", "x-pawtect-variant": r.variant }, credentials: "include" });
})
)
).filter((d) => d.status !== 200);
if (o.length) {
const d = o[0];
if (d.status === 401) throw new Error(Ke());
if (d.status === 403) {
if (d.headers.get("cf-mitigated") === "challenge") throw new Error(zt());
const c = await d.json();
if ((c == null ? void 0 : c.error) === "refresh") throw new Error(Wt());
if ((c == null ? void 0 : c.error) === "color-not-owned") throw new Error(Ln());
X.refresh();
} else if (d.status === 451) {
const c = await o[0].json();
c == null || c.err;
const S = c == null ? void 0 : c.suspension;
if (S === "ban") throw new Error(An());
if (S === "timeout") {
const b = new Date(Date.now() + ((c == null ? void 0 : c.durationMs) ?? 0));
throw new Error(In({ until: b.toLocaleString() }));
} else throw new Error(i());
} else throw new Error(i());
}
}
async getPixelInfo({ season: e, tile: [t, n], pixel: [s, r], isModerator: l = !1 }) {
const o = new URLSearchParams();
o.set("x", String(s)), o.set("y", String(r));
const d = await this.request(`${l ? "/moderator" : ""}/s${e}/pixel/${t}/${n}?${o.toString()}`, { credentials: l ? "include" : void 0 });
if (d.status !== 200) {
const c = await d.text();
throw new Error(He({ err: c }));
}
return d.json();
}
async getPixelAreaInfo({ season: e, tile: [t, n], p0: [s, r], p1: [l, o] }) {
const d = await this.request(`/moderator/pixel-area/s${e}/${t}/${n}?x0=${s}&y0=${r}&x1=${l}&y1=${o}`, { credentials: "include" });
if (d.status !== 200) {
const c = await d.text();
throw (console.error("Error while fetching pixel area info", c), new Error(i()));
}
return d.json();
}
async me() {
const e = await this.request("/me", { credentials: "include" });
if (e.status === 200) return await e.json();
}
async logout() {
const e = await this.request("/auth/logout", { method: "POST", credentials: "include" });
if (e.status !== 200) throw new Error(await e.text());
return await e.json();
}
async refreshPaymentSession(e) {
return (await this.request(`/payment/refresh-session/${encodeURIComponent(e)}`, { method: "POST", credentials: "include" })).status === 200;
}
async getOtpCooldown() {
const e = await this.request("/otp/cooldown", { credentials: "include" });
if (e.status !== 200) throw new Error(i());
return await e.json();
}
async sendOtp(e) {
const t = await this.request("/otp/send", { method: "POST", credentials: "include", body: JSON.stringify({ phone: e }) });
if (t.status === 400) throw new Error(Ze());
if (t.status === 403) throw new Error(et());
if (t.status === 429) throw new Error(at());
if (t.status !== 200) throw new Error(i());
return await t.json();
}
async verifyOtp(e) {
const t = await this.request("/otp/verify", { method: "POST", credentials: "include", body: JSON.stringify({ code: e }) });
if (t.status === 400) throw new Error(ot());
if (t.status !== 200) throw new Error(i());
return await t.json();
}
async updateMe(e) {
const t = await this.request("/me/update", { method: "POST", credentials: "include", body: JSON.stringify(e) });
if (t.status === 400) {
const n = await t.json();
throw (n == null ? void 0 : n.error) === "invalid_name" ? new Error(Dn()) : (n == null ? void 0 : n.error) === "invalid_discord" ? new Error(Rn()) : new Error(n == null ? void 0 : n.error);
} else if (t.status !== 200) throw new Error(i());
}
async deleteMe() {
if ((await this.request("/me/delete", { method: "POST", credentials: "include" })).status !== 200) throw new Error(i());
}
async favoriteLocation(e) {
const t = await this.request("/favorite-location", { method: "POST", body: JSON.stringify({ latitude: e[0], longitude: e[1] }), credentials: "include" });
if (t.status === 403) throw new Error(lt());
if (t.status !== 200) throw new Error(i());
}
async deleteFavoriteLocation(e) {
if ((await this.request("/favorite-location/delete", { method: "POST", body: JSON.stringify({ id: e }), credentials: "include" })).status !== 200) throw new Error(i());
}
async updateFavoriteLocation(e, t) {
const n = await this.request("/favorite-location/update", { method: "POST", body: JSON.stringify({ id: e, name: t }), credentials: "include" });
if (n.status === 400) throw new Error(gt());
if (n.status !== 200) throw new Error(i());
}
async leaderboardPlayers(e) {
const t = await this.request(`/leaderboard/player/${e}`);
if (t.status !== 200) throw new Error(v());
return t.json();
}
async leaderboardAlliances(e) {
const t = await this.request(`/leaderboard/alliance/${e}`);
if (t.status !== 200) throw new Error(v());
return t.json();
}
async leaderboardRegions(e, t = 0) {
const n = await this.request(`/leaderboard/region/${e}/${t}`);
if (n.status === 200) return n.json();
throw new Error(v());
}
async leaderboardRegionPlayers(e, t) {
const n = await this.request(`/leaderboard/region/players/${e}/${t}`);
if (n.status === 200) return n.json();
throw new Error(v());
}
async leaderboardRegionAlliances(e, t) {
const n = await this.request(`/leaderboard/region/alliances/${e}/${t}`);
if (n.status === 200) return n.json();
throw new Error(v());
}
async leaderboardCountries(e) {
const t = await this.request(`/leaderboard/country/${e}`, { credentials: "include" });
if (t.status === 200) return t.json();
throw new Error(v());
}
async getRandomTile(e) {
const t = await this.request(`/s${e}/tile/random`);
if (t.status !== 200) throw new Error(i());
return t.json();
}
async purchase(e) {
const t = await this.request("/purchase", { method: "POST", credentials: "include", body: JSON.stringify({ product: e }) });
if (t.status !== 200) throw t.status === 404 ? new Error(ht()) : t.status === 403 ? new Error(wt()) : t.status === 409 ? new Error(St()) : new Error(i());
}
async getAlliance() {
const e = await this.request("/alliance", { credentials: "include" });
if (e.status === 200) return e.json();
if (e.status === 404) return;
throw new Error(i());
}
async createAlliance(e) {
const t = await this.request("/alliance", { method: "POST", credentials: "include", body: JSON.stringify({ name: e }) });
if (t.status === 200) return t.json();
if (t.status === 400) {
const n = await t.json();
throw n.error === "max_characters" ? new Error(vt()) : n.error === "name_taken" ? new Error(xt()) : n.error == "empty_name" ? new Error(kt()) : new Error(i());
} else throw t.status === 403 ? new Error(Mt()) : new Error(i());
}
async leaveAlliance() {
if ((await this.request("/alliance/leave", { method: "POST", credentials: "include" })).status !== 200) throw new Error(i());
}
async updateAllianceDescription(e) {
const t = await this.request("/alliance/update-description", { method: "POST", credentials: "include", body: JSON.stringify({ description: e }) });
if (t.status !== 200) throw t.status === 403 ? new Error(E()) : new Error(i());
}
async updateAllianceHeadquarters(e, t) {
const n = await this.request("/alliance/update-headquarters", { method: "POST", credentials: "include", body: JSON.stringify({ latitude: e, longitude: t }) });
if (n.status !== 200) throw n.status === 403 ? new Error(E()) : new Error(i());
}
async allianceLeaderboard(e) {
const t = await this.request(`/alliance/leaderboard/${e}`, { credentials: "include" });
if (t.status === 200) return t.json();
throw t.status === 403 ? new Error(E()) : new Error(v());
}
async getAllianceInvites() {
const e = await this.request("/alliance/invites", { credentials: "include" });
if (e.status === 200) return e.json();
throw e.status === 403 ? new Error(E()) : new Error(i());
}
async joinAlliance(e) {
switch ((await this.request(`/alliance/join/${e}`, { credentials: "include" })).status) {
case 200:
return "success";
case 208:
return "in-another-alliance";
case 401:
return "not-logged-in";
case 403:
return "banned";
case 400:
case 404:
return "invalid-invite";
default:
return "error";
}
}
async getAllianceMembers(e) {
const t = await this.request(`/alliance/members/${e}`, { credentials: "include" });
if (t.status === 200) return t.json();
throw new Error(i());
}
async getAllianceBannedMembers(e) {
const t = await this.request(`/alliance/members/banned/${e}`, { credentials: "include" });
if (t.status === 200) return t.json();
throw new Error(i());
}
async getAllianceById(e) {
const t = await this.request(`/admin/alliances/${e}`, { method: "GET", credentials: "include" });
if (t.status === 404) return;
if (t.status !== 200) throw new f(i(), t.status);
const n = await t.json();
return { id: Number(n.id), name: String(n.name), pixelsPainted: Number((n == null ? void 0 : n.pixels_painted) ?? 0) };
}
async searchAlliance(e) {
const t = new URLSearchParams({ q: e }),
n = await this.request(`/admin/alliances/search?${t.toString()}`, { method: "GET", credentials: "include" });
if (n.status !== 200) throw new f(i(), n.status);
const s = await n.json();
return (Array.isArray(s) ? s : []).map((r) => ({ id: Number(r.id), name: String(r.name ?? ""), pixelsPainted: Number((r == null ? void 0 : r.pixels_painted) ?? 0) }));
}
async searchAlliances(e) {
return this.searchAlliance(e);
}
async getAllianceFull(e) {
const t = await this.request(`/admin/alliances/${e}/full`, { method: "GET", credentials: "include" });
if (t.status === 404) return null;
if (t.status !== 200) throw new f(i(), t.status);
const n = await t.json(),
s = Array.isArray(n == null ? void 0 : n.members) ? n.members : [];
return {
id: Number(n == null ? void 0 : n.id),
name: String((n == null ? void 0 : n.name) ?? ""),
description: (n == null ? void 0 : n.description) ?? null,
ownerId: Number((n == null ? void 0 : n.ownerId) ?? (n == null ? void 0 : n.created_by)),
ownerName: (n == null ? void 0 : n.ownerName) ?? null,
hqName: (n == null ? void 0 : n.hqName) ?? null,
hqLatitude: (n == null ? void 0 : n.hqLatitude) ?? (n == null ? void 0 : n.hq_latitude) ?? null,
hqLongitude: (n == null ? void 0 : n.hqLongitude) ?? (n == null ? void 0 : n.hq_longitude) ?? null,
pixelsPainted: Number((n == null ? void 0 : n.pixelsPainted) ?? (n == null ? void 0 : n.pixels_painted) ?? 0),
membersCount: Number((n == null ? void 0 : n.membersCount) ?? s.length),
members: s.map((r) => ({
id: Number(r == null ? void 0 : r.id),
name: String((r == null ? void 0 : r.name) ?? `#${r == null ? void 0 : r.id}`),
picture: (r == null ? void 0 : r.picture) ?? null,
pixelsPainted: Number((r == null ? void 0 : r.pixelsPainted) ?? (r == null ? void 0 : r.pixels_painted) ?? 0),
lastPixelLatitude: (r == null ? void 0 : r.lastPixelLatitude) ?? null,
lastPixelLongitude: (r == null ? void 0 : r.lastPixelLongitude) ?? null,
role: (r == null ? void 0 : r.alliance_role) === "admin" || (r == null ? void 0 : r.role) === "admin" ? "admin" : "member",
})),
};
}
async getAdminAllianceMembers(e, t) {
const n = new URLSearchParams({ page: String(t.page), pageSize: String(t.pageSize) }),
s = await this.request(`/admin/alliances/${e}/members?${n.toString()}`, { method: "GET", credentials: "include" });
if (s.status === 404) return { members: [], total: 0 };
if (s.status !== 200) throw new f(i(), s.status);
const r = await s.json(),
l = Array.isArray(r == null ? void 0 : r.members) ? r.members : [];
return {
members: l.map((o) => ({
id: Number(o == null ? void 0 : o.id),
name: String((o == null ? void 0 : o.name) ?? `#${o == null ? void 0 : o.id}`),
picture: (o == null ? void 0 : o.picture) ?? null,
pixelsPainted: Number((o == null ? void 0 : o.pixelsPainted) ?? (o == null ? void 0 : o.pixels_painted) ?? 0),
lastPixelLatitude: (o == null ? void 0 : o.lastPixelLatitude) ?? null,
lastPixelLongitude: (o == null ? void 0 : o.lastPixelLongitude) ?? null,
role: (o == null ? void 0 : o.alliance_role) === "admin" || (o == null ? void 0 : o.role) === "admin" ? "admin" : "member",
})),
total: Number((r == null ? void 0 : r.total) ?? l.length),
};
}
async renameAlliance(e, t) {
const n = await this.request(`/admin/alliances/${e}/rename`, { method: "POST", credentials: "include", body: JSON.stringify({ name: t }) });
if (n.status === 400) {
const s = await n.json().catch(() => ({}));
throw new Error((s == null ? void 0 : s.error) ?? i());
} else if (n.status !== 200) throw new f(i(), n.status);
}
async changeAllianceLeader(e, t) {
const n = await this.request(`/admin/alliances/${e}/leader`, { method: "POST", credentials: "include", body: JSON.stringify({ newLeaderUserId: t }) });
if (n.status === 400) {
const s = await n.json();
throw (s == null ? void 0 : s.error) === "user_not_in_alliance" ? new Error(qn()) : new Error(i());
} else if (n.status !== 200) throw new f(i(), n.status);
}
async banAllAllianceMembers(e, t, n) {
const s = await this.request(`/admin/alliances/${e}/ban-all`, { method: "POST", credentials: "include", body: JSON.stringify({ reason: t, notes: n }) });
if (s.status !== 200) throw new f(i(), s.status);
}
async setAllianceMemberRole(e, t, n) {
const s = await this.request(`/admin/alliances/${e}/members/${t}/role`, { method: "POST", credentials: "include", body: JSON.stringify({ role: n }) });
if (s.status !== 200) throw new f(i(), s.status);
}
async removeAllianceMember(e, t) {
const n = await this.request(`/admin/alliances/${e}/members/${t}/remove`, { method: "POST", credentials: "include" });
if (n.status !== 200) throw new f(i(), n.status);
}
async giveAllianceAdmin(e) {
const t = await this.request("/alliance/give-admin", { body: JSON.stringify({ promotedUserId: e }), method: "POST", credentials: "include" });
if (t.status !== 200) throw t.status === 403 ? new Error(E()) : new Error(i());
}
async banAllianceUser(e) {
const t = await this.request("/alliance/ban", { body: JSON.stringify({ bannedUserId: e }), method: "POST", credentials: "include" });
if (t.status !== 200) throw t.status === 403 ? new Error(E()) : new Error(i());
}
async equipFlag(e) {
if ((await this.request(`/flag/equip/${e}`, { method: "POST", credentials: "include" })).status !== 200) throw new Error(i());
}
async getMyProfilePictures() {
const e = await this.request("/me/profile-pictures", { credentials: "include" });
if (e.status !== 200) throw new Error(i());
return e.json();
}
async changeProfilePicture(e) {
if ((await this.request("/me/profile-picture/change", { method: "POST", credentials: "include", body: JSON.stringify({ pictureId: e }) })).status !== 200) throw new Error(i());
}
async unbanAllianceUser(e) {
const t = await this.request("/alliance/unban", { body: JSON.stringify({ unbannedUserId: e }), method: "POST", credentials: "include" });
if (t.status !== 200) throw t.status === 403 ? new Error(E()) : new Error(i());
}
async health() {
return (await this.request("/health")).json();
}
async generatePixQrCode(e) {
const t = await this.request(`/payment/abacatepay/create/pix/${e}`, { method: "POST", credentials: "include" });
if (t.status === 400) {
const s = await t.json();
throw new Error(s == null ? void 0 : s.error);
} else {
if (t.status === 451) throw new Error(Tn());
if (t.status !== 200) throw new Error(i());
}
return await t.json();
}
async refreshPixPayment(e) {
const t = await this.request(`/payment/abacatepay/refresh/pix/${e}`, { method: "POST", credentials: "include" });
if (t.status === 400) {
const n = await t.json();
throw new Error(n == null ? void 0 : n.error);
} else if (t.status !== 200) throw new Error("Unexpected error on the server. Try again later");
return t.json();
}
async getPixStatus(e) {
const t = await this.request(`/payment/abacatepay/status/pix/${e}`, { method: "GET", credentials: "include" });
if (t.status !== 200) throw new Error("Erro inesperado. Tente atualizar a página.");
return t.json();
}
async getModeratorTickets() {
const e = await this.request("/moderator/tickets", { method: "GET", credentials: "include" });
if (e.status !== 200) throw new f(i(), e.status);
const t = await e.json();
for (const n of t.tickets) n.reports.sort((s, r) => le[s.reason] - le[r.reason]);
return t;
}
async countMyTicketsClosedToday() {
const e = await this.request("/moderator/count-my-tickets", { method: "GET", credentials: "include" });
if (e.status !== 200) throw new f(i(), e.status);
return e.json();
}
async getNonPaidUserOpenTicketsCount() {
const e = await this.request("/moderator/open-tickets-count", { method: "GET", credentials: "include" });
if (e.status !== 200) throw new f(i(), e.status);
const { tickets: t } = await e.json();
return t;
}
async assignNewTickets() {
const e = await this.request("/moderator/assign-new-tickets", { method: "POST", credentials: "include" });
if (e.status !== 200) throw new f(i(), e.status);
return e.json();
}
async setTicketStatus(e, t, n, s) {
const r = await this.request("/moderator/set-ticket-status", { method: "POST", credentials: "include", body: JSON.stringify({ ticketId: e, status: t, selectedReportId: n, assignedReason: s }) });
if (r.status !== 200) throw new f(i(), r.status);
}
async request(e, t) {
let n;
const s = me();
if (s) {
const r = new Headers(t == null ? void 0 : t.headers);
r.set("x-alien-override", s.token), (t = { ...(t ?? {}), headers: r });
}
try {
(n = await fetch(`${this.url}${e}`, t)), (this.online = !0);
} catch (r) {
throw (console.error("Fetch error:", r), (this.online = !1), new Error(Ut(), { cause: r }));
}
if (n.status === 429) throw new Error(ce());
if (n.status === 503 || n.status === 408) throw new Error(ce());
return n;
}
async getOpenTicketsSummary() {
const e = await this.request("/admin/count-all-tickets", { method: "GET", credentials: "include" });
if (e.status !== 200) throw new f(i(), e.status);
return e.json();
}
async getOpenReportsSummary() {
const e = await this.request("/admin/count-all-reports", { method: "GET", credentials: "include" });
if (e.status !== 200) throw new f(i(), e.status);
return e.json();
}
async getClosedTicketsByMod(e, t) {
const n = await this.request(`/admin/closed-tickets?start=${encodeURIComponent(e)}&end=${encodeURIComponent(t)}`, { method: "GET", credentials: "include" });
if (n.status !== 200) throw new f(i(), n.status);
return (await n.json()).items.map((r) => ({ ...r, suspensionRate: (r.ban + r.timeout) / r.total }));
}
async getClosedReportsByMod(e, t) {
const n = await this.request(`/admin/closed-reports?start=${encodeURIComponent(e)}&end=${encodeURIComponent(t)}`, { method: "GET", credentials: "include" });
if (n.status !== 200) throw new f(i(), n.status);
return (await n.json()).items.map((r) => ({ ...r, suspensionRate: (r.ban + r.timeout) / r.total }));
}
async getUserInfoById(e) {
const t = await this.request(`/moderator/user-info/${encodeURIComponent(e)}`, { method: "GET", credentials: "include" });
if (t.status !== 404) {
if (t.status !== 200) throw new f(i(), t.status);
return t.json();
}
}
async getMultipleUsersInfoById(e) {
const t = await this.request(`/moderator/users?ids=${encodeURIComponent(e.join(","))}`, { method: "GET", credentials: "include" });
if (t.status !== 200) throw new f(i(), t.status);
return t.json();
}
async getUserInfoFull(e) {
const t = await this.request(`/admin/users?id=${encodeURIComponent(e)}`, { method: "GET", credentials: "include" });
if (t.status !== 404) {
if (t.status !== 200) throw new f(i(), t.status);
return t.json();
}
}
async removeTimeout(e) {
const t = await this.request("/admin/remove-timeout", { method: "POST", credentials: "include", body: JSON.stringify({ userId: e }) });
if (t.status !== 200) throw new f(i(), t.status);
}
async removeBan(e) {
const t = await this.request("/admin/remove-ban", { method: "POST", credentials: "include", body: JSON.stringify({ userId: e }) });
if (t.status !== 200) throw new f(i(), t.status);
}
async getUserNotes(e) {
const t = await this.request(`/admin/users/notes?userId=${encodeURIComponent(e)}`, { method: "GET", credentials: "include" });
if (t.status !== 200) throw new f(i(), t.status);
return t.json();
}
async addUserNote(e, t) {
const n = await this.request("/admin/users/notes", { method: "POST", credentials: "include", body: JSON.stringify({ userId: e, note: t }) });
if (n.status !== 200) throw new f(i(), n.status);
}
async getUserPurchases(e) {
const t = await this.request(`/admin/users/purchases?userId=${encodeURIComponent(e)}`, { method: "GET", credentials: "include" });
if (t.status !== 200) throw new f(i(), t.status);
const n = await t.json();
return (Array.isArray(n == null ? void 0 : n.purchases) ? n.purchases : []).map((r) => ({
id: String(r.id ?? ""),
product_name: String(r.productName ?? r.product_name ?? ""),
price: Number(r.price ?? 0),
amount: Number(r.amount ?? 0),
createdAt: typeof r.createdAt == "string" ? r.createdAt : r.CreatedAt ? new Date(r.CreatedAt).toISOString() : "",
}));
}
async postSetUserDroplets(e, t) {
const n = await this.request("/admin/users/set-user-droplets", { method: "POST", credentials: "include", body: JSON.stringify({ userId: e, droplets: t }) });
if (n.status !== 200) throw new f(i(), n.status);
}
async getUserTickets(e) {
const { userId: t, kind: n, page: s = 0, pageSize: r = 20 } = e,
l = new URLSearchParams({ userId: String(t), kind: n, page: String(s), pageSize: String(r) }),
o = await this.request(`/moderator/users/tickets?${l.toString()}`, { method: "GET", credentials: "include" });
if (o.status !== 200) throw new f(i(), o.status);
const d = await o.json(),
c = Array.isArray(d == null ? void 0 : d.tickets) ? d.tickets : [];
return c.sort((S, b) => new Date(b.createdAt).getTime() - new Date(S.createdAt).getTime()), c;
}
mapTicketsToReportRows(e, t) {
var s, r, l, o, d;
const n = [];
for (const c of e) {
const S = c.status ?? "open";
if (t === "received") {
for (const b of c.reports)
n.push({
id: String(b.id),
ticketId: String(c.id),
createdAt: b.createdAt ?? c.createdAt,
byUser: { id: Number(b.reportedBy), name: String(b.reportedByName ?? b.reportedBy), picture: b.reportedByPicture ?? null },
reason: String(b.reason),
status: S,
});
continue;
}
if (t === "sent") {
for (const b of c.reports)
n.push({
id: String(b.id),
ticketId: String(c.id),
createdAt: b.createdAt ?? c.createdAt,
toUser: { id: Number(c.reportedUser.id), name: String(c.reportedUser.name), picture: c.reportedUser.picture ?? null },
reason: String(b.reason),
status: S,
});
continue;
}
n.push({
id: String(c.id),
ticketId: String(c.id),
createdAt: c.createdAt,
handledBy:
c.status && c.status !== "open"
? { id: ((s = c.handledBy) == null ? void 0 : s.id) ?? 0, name: ((r = c.handledBy) == null ? void 0 : r.name) ?? "Moderator", picture: ((l = c.handledBy) == null ? void 0 : l.picture) ?? null }
: { id: 0, name: "—", picture: null },
reason: String(((d = (o = c.reports) == null ? void 0 : o[0]) == null ? void 0 : d.reason) ?? "other"),
status: S,
});
}
return n.sort((c, S) => new Date(S.createdAt).getTime() - new Date(c.createdAt).getTime()), n;
}
async getModeratorClosedTicketStats(e) {
const t = new URLSearchParams({ id: String(e) }).toString(),
n = await this.request(`/admin/users/tickets?${t}`, { method: "GET", credentials: "include" });
if (n.status !== 200) throw new f(i(), n.status);
return n.json();
}
async postPawtectLoad() {
const e = await this.request("/pawtect/load", { method: "POST", credentials: "include", body: JSON.stringify({ pawtectMe: Ne(), "paint-the": "world", "but-not": "using-bots", security: "/.well-known/security.txt" }) });
if (e.status !== 204) throw new f(i(), e.status);
}
async unlinkDiscord() {
const e = await this.request("/discord/unlink", { method: "POST", credentials: "include" });
if (e.status !== 204) throw new f(i(), e.status);
}
}
V = new WeakMap();
let de = new ta(ue);
export {
pa as A,
wa as B,
pe as C,
ba as D,
oa as E,
ca as F,
ue as P,
Xn as S,
Re as _,
de as a,
_a as b,
i as c,
Me as d,
ia as e,
un as f,
Le as g,
rn as h,
Qt as i,
tn as j,
cn as k,
T as l,
la as m,
da as n,
ea as o,
fa as p,
ga as q,
ma as r,
ha as s,
ge as t,
X as u,
ya as v,
Sa as w,
ua as x,
An as y,
In as z,
};