@jchat/runtime 1.0.0-alpha.27 → 1.0.0-alpha.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # @jchat/runtime
2
2
 
3
+ ## 1.0.0-alpha.29
4
+
5
+ No changes in this release.
6
+
7
+ ## 1.0.0-alpha.28
8
+
9
+ ### Minor Changes
10
+
11
+ - Enhance license verification security and add offline grace period support
12
+
13
+ ### Patch Changes
14
+
15
+ - Harden public distribution bundle with string encryption and control-flow obfuscation
16
+
17
+ - Enhance feature stage access validation and add runtime feature guard plugin
18
+
19
+ - Harden production licensing against sandbox overrides and localhost spoofing
20
+
21
+ - Isolate runtime data directory in test environments
22
+
23
+ - Enforce signature verification for development multi-site license evaluations
24
+
25
+ - Bumped `@jchat/*` dependencies:
26
+ - [`shared@1.0.0-alpha.26`](https://github.com/jchatcloud/jchat/releases/tag/shared@v1.0.0-alpha.26)
27
+
3
28
  ## 1.0.0-alpha.27
4
29
 
5
30
  ### Patch Changes
@@ -0,0 +1,13 @@
1
+ //#region src/distribution.d.ts
2
+ export declare const APPLICATION_DISTRIBUTIONS: readonly ["production", "developer-sandbox"];
3
+ export type ApplicationDistribution = (typeof APPLICATION_DISTRIBUTIONS)[number];
4
+ /**
5
+ * Authoritatively resolves the application distribution mode. Completely isomorphic with zero
6
+ * Node/Bun built-in dependencies. In production environments, strictly enforces "production"
7
+ * distribution.
8
+ */
9
+ export declare function resolveApplicationDistribution(value?: unknown): ApplicationDistribution;
10
+ export declare function isDeveloperSandbox(): boolean;
11
+ export declare const APPLICATION_DISTRIBUTION: ApplicationDistribution;
12
+ export declare const IS_DEVELOPER_SANDBOX: boolean;
13
+ //#endregion
@@ -0,0 +1,4 @@
1
+ const e=n;(function(e,t){let r=n,i=e();for(;;)try{if(-parseInt(r(289,`C2$E`))/1*(-parseInt(r(270,`FP4P`))/2)+parseInt(r(251,`PBcL`))/3+parseInt(r(309,`g#!Q`))/4*(-parseInt(r(313,`Lt^6`))/5)+-parseInt(r(317,`IZot`))/6*(-parseInt(r(265,`IZot`))/7)+-parseInt(r(297,`Dhxr`))/8+-parseInt(r(299,`Clxy`))/9+parseInt(r(284,`@TN&`))/10===t)break;i.push(i.shift())}catch{i.push(i.shift())}})(i,838631);const t=[e(310,`Ni5x`),e(294,`FP4P`)+e(263,`Lt^6`)];function n(e,t){e-=251;let r=i(),a=r[e];if(n.yCwweR===void 0){var o=function(e){let t=``,n=``,r=t+o,i=(``+function(){return 0}).indexOf(`
2
+ `)!==-1;for(let n=0,a,o,s=0;o=e.charAt(s++);~o&&(a=n%4?a*64+o:o,n++%4)&&(t+=i||r.charCodeAt(s+10)-10!=0?String.fromCharCode(255&a>>(-2*n&6)):n))o=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=`.indexOf(o);for(let e=0,r=t.length;e<r;e++)n+=`%`+(`00`+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)};n.UxzSoe=function(e,t){let n=[],r=0,i,a=``;e=o(e);let s=0;for(;s<256;s++)n[s]=s;for(s=0;s<256;s++)r=(r+n[s]+t.charCodeAt(s%t.length))%256,i=n[s],n[s]=n[r],n[r]=i;s=0,r=0;for(let t=0;t<e.length;t++)s=(s+1)%256,r=(r+n[s])%256,i=n[s],n[s]=n[r],n[r]=i,a+=String.fromCharCode(e.charCodeAt(t)^n[(n[s]+n[r])%256]);return a},n.CRKDfQ={},n.yCwweR=!0}let s=r[0];n.GeUaSp!==s&&(n.CRKDfQ={},n.GeUaSp=s);let c=n.CRKDfQ[e];if(c===void 0){if(n.PwJsdH===void 0){let e=function(e){this.qgWGxm=e,this.iCMtAw=[1,0,0],this.dLCdUG=function(){return`newState`},this.WLvBlG=`\\w+ *\\(\\) *{\\w+ *`,this.iKvqKm=`['|"].+['|"];? *}`};e.prototype.IbvhZk=function(){let e=new RegExp(this.WLvBlG+this.iKvqKm).test(this.dLCdUG.toString())?--this.iCMtAw[1]:--this.iCMtAw[0];return this.poDUgK(e)},e.prototype.poDUgK=function(e){return~e?this.LHAFeO(this.qgWGxm):e},e.prototype.LHAFeO=function(e){for(let e=0,t=this.iCMtAw.length;e<t;e++)this.iCMtAw.push(Math.round(Math.random())),t=this.iCMtAw.length;return e(this.iCMtAw[0])},(``+function(){return 0}).indexOf(`
3
+ `)===-1&&new e(n).IbvhZk(),n.PwJsdH=!0}a=n.UxzSoe(a,t),n.CRKDfQ[e]=a}else a=c;return a}function r(t){let n=e,r={EzKeB:function(e,t){return e!==t},uZFbx:n(271,`Jun5`),fcmVF:function(e,t){return e===t},fqfZk:n(288,`rw5)`)+n(264,`FP4P`),gdSMs:n(282,`d9T)`),SElzF:function(e,t){return e!==t},cYRcq:function(e,t){return e===t},OXMeL:function(e,t){return e===t}};if(r[n(255,`ckH&`)](typeof t,r[n(285,`[F$g`)]))return r[n(291,`EKGH`)](t,r[n(272,`*Blg`)])?n(261,`Clxy`)+`sandbox`:r.gdSMs;let i=r[n(269,`)8(6`)](typeof Bun,`undefined`)&&Bun[n(308,`FP4P`)]?.[n(278,`9sFL`)]===`production`||r[n(279,`d9T)`)](typeof process,`undefined`)&&r[n(273,`0WSK`)](process.env?.NODE_ENV,r[n(274,`#z8R`)]);return r[n(287,`#z8R`)](typeof __JCHAT_DISTRIBUTION__,r[n(302,`SToB`)])&&r[n(303,`Jun5`)](__JCHAT_DISTRIBUTION__,r[n(276,`PBcL`)])?i?r[n(257,`Jun5`)]:r[n(280,`RZko`)]:typeof Bun!==n(315,`VJr(`)&&r.OXMeL(Bun[n(300,`)nIi`)]?.[n(304,`7NDZ`)+`RIBUTION`],n(294,`FP4P`)+n(314,`sMLA`))?i?`production`:n(267,`wrFN`)+`sandbox`:r.gdSMs}function i(){let e=`W4qGW4tcVuidCY3cTs4.WOGcWOvFCCkLlW.o0hdRbZdRCoQBmoHW5m8tmk6WPOZ.WRHRdHxdT8kmW7bfW7aXySoxW6W.gMrcBCoXWRpcHG.pmoQyv/dIuFcI38tW6HspcW.bLpcQa.tKRdRmoTW6C.WOSqfSkDjG.wcPGWQpcHW.W6bStKFcQSonWQVdLmk6W48.emksWPzguWBcVanacq.Fmk9ymoAW4tdTSkFW48nltxcVSkh.W4/dVmoJW4VdRgFcHde.W4uRW4q.CwTXnL0ko8o1.W5eaWPtcJSo/WPboxGr+.WPGEmJhdICkRWQtdLmk8W714Aa.W6ldNCkLcXG.W57dHJRcQmoCWPaym3G5WQSXWQ4.bq5GW45iWQhcKa.bSktWPXqqr3cPWvq.vaVdPW47nConcglcJfmyrq.WQFdRmkkiSkJWRRcSSolWP8.W6tdU8oeW7VdLW99qcFdImkGAW.hCkNqt7cKGdcM8klWQxcNc/dTve.sCkBq8kPWQey.W5ONW7BcJ38.q2yCoSki.sf0pgSkG.FSoUW5hcRxu.ws1EWRJcSG.qs0ej8k4W7xdLCosdvC.W6LjC23dQG.q0hdSG.yCk+jGlcNrhdGNqBWQS.aI9vefbuf8k3uG.WP/cKgpdUCkiW4Hq.W5mKW5ZcVeWdEW.WQFdRSkjvSoSW5pcUSoGWReCvIu.dwbABmo/WRpcJSkEvfm.W6nLsCk8WRpdVSo+W7mBWPS.W6tcKSolW7ZcMHNdOW.chrtWPTI.WPyOW7NcNeyECG.sYDPWPdcP3xcPa3cJW.W4z8WQrZW7i.W6uQzctdRa.y2tdQCk6FG.aCkum8oIWQFdTSkdDvHd.sCoVevtdGa.W6eSyg3cOW.W4pcS8oRW5ZcVrpdI8oz.W60QWQjHxW.W4uQW4FdUmoT.amoYq0eLW7ZcTCkTea.W44DWQf/Bmk0kSk9W4zD.FvuRg8kxW73dLgNcNmkw.W53dPSoab8oRhmkWWORdSx0UyCoMWQO.rCo1W4/cIMC.sCkXpsdcTa.v0xdLSknsW.mKhdLCkpyrJdOmkVW4Gk.WONcOSkeWOJcQtFcOr8sWPRdP8kf.W7mDW4FcLLO.qeZdQCoDW4y.W5DoW7mywW.WQdcM2ddMSkV`.split(`.`);return i=function(){return e},i()}function a(){let t=e,n={nqWIc:function(e,t){return e!==t},vnoiw:t(258,`NK*V`)+`+$`,LjmGE:function(e){return e()},zbDWQ:t(281,`20kj`),NAXEj:t(283,`ckH&`),hehfg:function(e,t){return e===t},SXuNt:t(266,`NK*V`)+t(298,`NK*V`)},i=function(){let e=!0;return function(t,n){let r=e?function(){if(n){let e=n.apply(t,arguments);return n=null,e}}:function(){};return e=!1,r}}()(this,function(){let e=t;if(!n[e(312,`fKXK`)](i.bind()[e(307,`C2$E`)]()[e(268,`9sFL`)](`
4
+ `),-1))return i.toString()[e(252,`Ft4d`)](n[e(292,`fyGs`)]).toString()[e(305,`VJr(`)+`r`](i).search(e(275,`9WK1`)+`+$`)});return n[t(286,`Clxy`)](i),n[t(277,`Dhxr`)](typeof Bun,n[t(253,`FP4P`)])&&Bun[t(260,`EKGH`)]?.NODE_ENV===n[t(254,`ckH&`)]||typeof process!==n[t(259,`@Hh1`)]&&n.hehfg(process.env?.NODE_ENV,n[t(256,`[F$g`)])?!1:n[t(301,`EKGH`)](n[t(293,`Lt^6`)](r),n[t(290,`FP4P`)])}const o=r(),s=a();export{o as APPLICATION_DISTRIBUTION,t as APPLICATION_DISTRIBUTIONS,s as IS_DEVELOPER_SANDBOX,a as isDeveloperSandbox,r as resolveApplicationDistribution};
package/dist/index.d.mts CHANGED
@@ -1,3 +1,4 @@
1
+ import { APPLICATION_DISTRIBUTION, APPLICATION_DISTRIBUTIONS, ApplicationDistribution, IS_DEVELOPER_SANDBOX, isDeveloperSandbox, resolveApplicationDistribution } from "./distribution.mjs";
1
2
  import { Elysia } from "elysia";
2
3
  //#region src/domain.d.ts
3
4
  export type Provider = "envato" | "jchat";
@@ -78,6 +79,42 @@ type CheckInput = {
78
79
  export declare const DEFAULT_LICENSE_SERVER_URL = "https://license.jchatcloud.com";
79
80
  export declare const DEFAULT_LICENSE_ISSUER = "https://license.jchatcloud.com";
80
81
  export declare const DEFAULT_LICENSE_AUDIENCE = "jchat-chat";
82
+ export declare function getOfficialSigningPublicKey(): string;
83
+ export declare const OFFICIAL_SIGNING_PUBLIC_KEY: string;
84
+ //#endregion
85
+ //#region src/feature-crypto.d.ts
86
+ export interface FeatureExecutionContext {
87
+ isValid: boolean;
88
+ featureKey: string;
89
+ stage?: FeatureStage;
90
+ siteId?: string;
91
+ executionToken?: string;
92
+ error?: string;
93
+ }
94
+ /**
95
+ * Derives a cryptographically bound HMAC-SHA256 secret for a specific feature using the verified
96
+ * signature of the instance license token. Throws an Error if the signature is invalid or the token
97
+ * cannot be verified.
98
+ */
99
+ export declare function deriveFeatureKey(token: string, featureKey: string, domain?: string, options?: RuntimeOptions): string;
100
+ /**
101
+ * Checks and returns the allowed feature stages (stable, beta, experimental) for the current
102
+ * instance. The license token MUST have a valid RS256 cryptographic signature against the vendor
103
+ * public key; otherwise, only "stable" is returned.
104
+ */
105
+ export declare function checkAllowedStages(domain?: string, options?: RuntimeOptions): FeatureStage[];
106
+ /**
107
+ * Checks and returns the release channel (stable, lts) for the current instance. Reverts to
108
+ * "stable" if the token has no valid cryptographic signature.
109
+ */
110
+ export declare function checkReleaseChannel(domain?: string, options?: RuntimeOptions): ReleaseChannel;
111
+ /** Verifies that the instance is cryptographically licensed to execute a feature at a given stage. */
112
+ export declare function verifyFeatureStageAccess(stage: FeatureStage, domain?: string, options?: RuntimeOptions): boolean;
113
+ /**
114
+ * Derives a full FeatureExecutionContext. If the feature's required stage is not licensed or the
115
+ * token signature is invalid, isValid is false with an appropriate error message.
116
+ */
117
+ export declare function deriveFeatureExecutionContext(featureKey: string, requiredStage?: FeatureStage, siteId?: string, domain?: string, options?: RuntimeOptions): FeatureExecutionContext;
81
118
  //#endregion
82
119
  //#region src/state.d.ts
83
120
  type LocalState = {
@@ -88,10 +125,12 @@ type LocalState = {
88
125
  lastSuccessfulCheckAt?: string;
89
126
  };
90
127
  export declare function resolveDataDir(): string;
128
+ export declare function getDefaultStatePath(): string;
91
129
  export declare const DEFAULT_STATE_PATH: string;
92
130
  export declare function createIdentity(): {
93
131
  installationId: string;
94
132
  };
133
+ export declare function readStateSync(filePath?: string): LocalState | null;
95
134
  export declare function readTokenSync(filePath?: string): string;
96
135
  export declare function readState(filePath?: string): Promise<LocalState | null>;
97
136
  export declare function writeState(state: LocalState, filePath?: string): Promise<void>;
@@ -148,8 +187,8 @@ export type RuntimePluginOptions = {
148
187
  allowedPaths?: Set<string>;
149
188
  onInvalidate?: () => void;
150
189
  getSiteCount?: () => Promise<number> | number;
190
+ token?: string;
151
191
  };
152
- export declare function startRuntimeSupervisor(options?: RuntimePluginOptions): Promise<void>;
153
192
  export declare function jchatRuntime(options?: RuntimePluginOptions): Elysia<"", {
154
193
  decorator: {};
155
194
  store: {};
@@ -189,6 +228,64 @@ export declare function jchatRuntime(options?: RuntimePluginOptions): Elysia<"",
189
228
  standaloneSchema: {};
190
229
  response: {};
191
230
  }>;
231
+ export declare class FeatureForbiddenError extends Error {
232
+ readonly status = 403;
233
+ readonly responseStatus: string;
234
+ readonly reference: string;
235
+ constructor(message: string, reference?: string, responseStatus?: string);
236
+ }
237
+ export interface FeatureGuardOptions {
238
+ feature: string;
239
+ stage?: FeatureStage;
240
+ domain?: string;
241
+ requiredEntitlement?: string;
242
+ resolveSiteId?: (context: {
243
+ headers: Record<string, string | undefined>;
244
+ authContext?: {
245
+ site?: {
246
+ id: string;
247
+ };
248
+ };
249
+ [key: string]: unknown;
250
+ }) => Promise<string | undefined> | string | undefined;
251
+ isSiteEnabled?: (siteId: string, feature: string) => Promise<boolean> | boolean;
252
+ }
253
+ /**
254
+ * Elysia guard plugin that verifies a feature is active and authorized for the site/instance.
255
+ * Checks cryptographic license stage access, token validity, and site-level overrides.
256
+ */
257
+ export declare function runtimeFeatureGuard(options: FeatureGuardOptions): Elysia<"", {
258
+ decorator: {};
259
+ store: {};
260
+ derive: {};
261
+ resolve: {};
262
+ }, {
263
+ typebox: {};
264
+ error: {};
265
+ }, {
266
+ schema: {};
267
+ standaloneSchema: {};
268
+ macro: {};
269
+ macroFn: {};
270
+ parser: {};
271
+ response: {};
272
+ }, {}, {
273
+ derive: {
274
+ readonly featureContext: FeatureExecutionContext;
275
+ };
276
+ resolve: {};
277
+ schema: {};
278
+ standaloneSchema: {};
279
+ response: {};
280
+ }, {
281
+ derive: {};
282
+ resolve: {};
283
+ schema: {};
284
+ standaloneSchema: {};
285
+ response: {};
286
+ }>;
287
+ export declare function refreshLicenseLease(options?: RuntimePluginOptions): Promise<CheckResult | null>;
288
+ export declare function startRuntimeSupervisor(options?: RuntimePluginOptions): Promise<void>;
192
289
  //#endregion
193
290
  //#region src/server-context.d.ts
194
291
  export interface BaseServerContext {
@@ -198,24 +295,32 @@ export interface BaseServerContext {
198
295
  SYSTEM_BOOTSTRAP_COMPLETE?: boolean;
199
296
  [key: string]: unknown;
200
297
  }
298
+ export interface ServerSchema<T> {
299
+ parse: (data: unknown) => T;
300
+ }
201
301
  /**
202
- * Cryptographically verifies license state, validates production domain rules, salts
203
- * JCHAT_COOKIE_SECRET with the HMAC license signature if verified, or randomizes it and flags
204
- * SYSTEM_BOOTSTRAP_COMPLETE as false if invalid.
302
+ * Validates the server environment against the application schema and seals the server context. In
303
+ * fresh installations or unconfigured bootstrap states where schema parsing fails, it safely falls
304
+ * back to an uninstalled state with a randomized cookie secret and SYSTEM_BOOTSTRAP_COMPLETE =
305
+ * false.
205
306
  */
206
- export declare function sealServerContext<T extends Record<string, unknown>>(environmentOrConfig: T, distribution: "production" | "developer-sandbox" | undefined, publicKeyPem: string): T & {
307
+ export declare function loadServerConfig<T extends Record<string, unknown>>(schema: ServerSchema<T>, environment?: Record<string, unknown>, distribution?: ApplicationDistribution, publicKeyPem?: string): T & {
207
308
  JCHAT_COOKIE_SECRET: string;
208
309
  SYSTEM_BOOTSTRAP_COMPLETE: boolean;
209
310
  };
210
- /** Backwards-compatible alias for `sealServerContext`. */
211
- export declare function loadServerContext<T extends Record<string, unknown>>(environmentOrConfig: T, distribution: "production" | "developer-sandbox" | undefined, publicKeyPem: string): T & {
311
+ /**
312
+ * Cryptographically verifies license state, validates production domain rules, salts
313
+ * JCHAT_COOKIE_SECRET with the HMAC license signature if verified, or randomizes it and flags
314
+ * SYSTEM_BOOTSTRAP_COMPLETE as false if invalid.
315
+ */
316
+ export declare function sealServerContext<T extends Record<string, unknown>>(environmentOrConfig: T, distribution?: ApplicationDistribution, publicKeyPem?: string): T & {
212
317
  JCHAT_COOKIE_SECRET: string;
213
318
  SYSTEM_BOOTSTRAP_COMPLETE: boolean;
214
319
  };
215
320
  //#endregion
216
321
  //#region src/index.d.ts
217
322
  export type RuntimeEnvironment = "production" | "development";
218
- export type FeatureStage = "stable" | "beta" | "experimental";
323
+ export type FeatureStage = "stable" | "beta" | "experimental" | "deprecated";
219
324
  export type ReleaseChannel = "stable" | "lts";
220
325
  export type ConfigPayload = {
221
326
  iss: string;
@@ -240,20 +345,28 @@ export type ConfigPayload = {
240
345
  };
241
346
  };
242
347
  export type RuntimeOptions = {
243
- publicKeyPem: string;
348
+ publicKeyPem?: string;
244
349
  issuer?: string;
245
350
  audience?: string;
351
+ allowOfflineGrace?: boolean;
352
+ lastSuccessfulCheckAt?: string;
353
+ gracePeriodDays?: number;
246
354
  };
247
355
  export type RuntimeStatus = "valid" | "unreachable-fallback" | "invalid" | "unavailable";
248
356
  export declare function parsePayload(token: string): ConfigPayload | null;
249
- export declare function verifySignature(token: string, currentDomain: string, options: RuntimeOptions): boolean;
357
+ export declare function resolveSigningPublicKey(providedPem?: string): string;
358
+ export declare function verifySignature(token: string, currentDomain: string, options?: RuntimeOptions): boolean;
250
359
  export declare function verifyEntitlement(token: string, currentDomain: string, installationId: string, options?: RuntimeOptions): boolean;
251
- export declare function hasEntitlement(token: string, currentDomain: string, entitlement: string, options: RuntimeOptions): boolean;
360
+ export declare function hasEntitlement(token: string, currentDomain: string, entitlement: string, options?: RuntimeOptions): boolean;
252
361
  export declare function isMultiSiteAllowed(token: string | undefined | null, domain?: string, options?: RuntimeOptions): boolean;
253
- export declare function hasCapability(token: string | null | undefined, capability: string): boolean;
254
- export declare function hasStageAccess(token: string | null | undefined, stage: FeatureStage): boolean;
362
+ export declare function hasCapability(token: string | null | undefined, capability: string, domain?: string, options?: RuntimeOptions): boolean;
363
+ export declare function hasStageAccess(token: string | null | undefined, stage: FeatureStage, domain?: string, options?: RuntimeOptions): boolean;
255
364
  export declare function getMaxSites(token: string | null | undefined): number;
256
- export declare function getReleaseChannel(token: string | null | undefined): ReleaseChannel;
365
+ export declare function getReleaseChannel(token: string | null | undefined, domain?: string, options?: RuntimeOptions): ReleaseChannel;
257
366
  export declare function canCreateMultiSite(token: string | null | undefined): boolean;
367
+ export declare function checkHasEntitlement(entitlement: string, domain?: string): boolean;
368
+ export declare function checkMaxSites(domain?: string, options?: RuntimeOptions): number;
369
+ export declare function checkCanCreateMultiSite(domain?: string): boolean;
370
+ export declare function getContextPlan(defaultPlan?: string, domain?: string, options?: RuntimeOptions): string;
258
371
  //#endregion
259
- export type { ActivationInput, ActivationResult, CheckInput, CheckResult, LocalState };
372
+ export { APPLICATION_DISTRIBUTION, APPLICATION_DISTRIBUTIONS, type ActivationInput, type ActivationResult, ApplicationDistribution, type CheckInput, type CheckResult, IS_DEVELOPER_SANDBOX, type LocalState, isDeveloperSandbox, resolveApplicationDistribution };
package/dist/index.mjs CHANGED
@@ -1 +1,9 @@
1
- import e from"node:crypto";import t from"node:net";import n from"node:fs/promises";import r from"node:path";import i from"node:fs";import{Elysia as a}from"elysia";const o=`https://license.jchatcloud.com`,s=`https://license.jchatcloud.com`,c=`jchat-chat`,l=new Set([`localhost`,`127.0.0.1`,`::1`]),u=[`.local`,`.test`,`.invalid`,`.example`];function d(e){let t=e.trim();if(!t)throw Error(`Instance domain is required`);let n=new URL(t.includes(`://`)?t:`https://${t}`).hostname.toLowerCase().replace(/\.$/,``),r=n===`www.localhost`?`localhost`:n.replace(/^www\./,``);if(!r||r.includes(`@`)||/\s/.test(r))throw Error(`Invalid instance domain`);return{host:r,isLocalhost:l.has(r)}}function f(e){let{host:n,isLocalhost:r}=d(e);return!r&&t.isIP(n)===0&&n.includes(`.`)&&!u.some(e=>n.endsWith(e))}function p(e){try{return d(e).isLocalhost||f(e)}catch{return!1}}function m(e){try{return d(e).isLocalhost}catch{return!1}}function h(e){let{host:n,isLocalhost:r}=d(e);if(r||t.isIP(n)!==0)return null;let i=n.split(`.`);if(i.length<=2)return n;let a=new Set([`co`,`com`,`org`,`net`,`gov`,`edu`,`ac`,`sch`]),o=i.at(-1)??``,s=i.at(-2)??``;return a.has(s)&&o.length===2&&i.length>=3?i.slice(-3).join(`.`):i.slice(-2).join(`.`)}function g(e,t){try{let n=d(e).host,r=d(t).host;if(n===r||n.endsWith(`.${r}`))return!0;let i=h(n),a=h(r);return!!(i&&a&&i===a)}catch{return!1}}function _(e,t,n,r=`current-host`){let i=d(e).host;return n===`subdomain`&&t&&r===`parent-domain`?h(i)??i:i}function v(e={}){let t=r.resolve(e.cwd??process.cwd()),n=e.env??Bun.env,i=b(t);return{repoRoot:i,runtimeRoot:t,uploadsDir:x(n.JCHAT_UPLOADS_DIR,t,i,`uploads`,`uploads`),addonBundlesDir:x(n.JCHAT_ADDONS_DIR,t,i,`addons`,`addons`),addonSourceDir:i?r.join(i,`addons`):r.join(t,`addons`),migrationsDir:x(n.JCHAT_MIGRATIONS_DIR,t,i,r.join(`packages`,`db`,`migrations`),`migrations`),dataDir:x(n.JCHAT_DATA_DIR,t,i,`data`,`data`)}}function y(e){return i.existsSync(r.join(e,`package.json`))&&i.existsSync(r.join(e,`apps`))&&i.existsSync(r.join(e,`packages`))}function b(e){let t=r.resolve(e);for(;;){if(y(t))return t;let e=r.dirname(t);if(e===t)return null;t=e}}function x(e,t,n,i,a){return e?r.resolve(e):n?r.join(n,i):r.join(t,a)}function S(){return v().dataDir}const C=r.join(S(),`instance.json`);function w(){return{installationId:Bun.randomUUIDv7()}}function T(e=C){try{if(!i.existsSync(e))return``;let t=i.readFileSync(e,`utf8`);return JSON.parse(t)?.instanceToken??``}catch{return``}}async function E(e=C){try{let t=Bun.file(e);if(!await t.exists())return null;let n=JSON.parse(await t.text());if(!n||typeof n!=`object`)return null;let r=n;return r.version!==1||typeof r.installationId!=`string`||!r.installationId||typeof r.instanceToken!=`string`||!r.instanceToken?null:r}catch{return null}}async function D(e,t=C){let i=r.dirname(t);await n.mkdir(i,{recursive:!0});let a=`${t}.${process.pid}.${Bun.randomUUIDv7()}.tmp`;await Bun.write(a,`${JSON.stringify(e,null,2)}\n`),await n.rename(a,t)}async function ee(e,t=C){let n=await E(t);if(!n)throw Error(`Local license state is missing`);await D({...n,instanceToken:e,lastSuccessfulCheckAt:new Date().toISOString()},t)}function O(e){if(e)return e.length<=8?`redacted`:`${e.slice(0,4)}…${e.slice(-4)}`}async function te(e,t,i=r.join(S(),`license-events.log`)){await n.mkdir(r.dirname(i),{recursive:!0});let a=JSON.stringify({at:new Date().toISOString(),event:e,domain:O(t.domain),installationId:O(t.installationId),reference:O(t.reference)});await n.appendFile(i,`${a}\n`,`utf8`)}let k=`unavailable`,A=`startup`,j;function ne(e){j=e}function M(t,n=e.randomUUID()){k=t,A=n,t===`invalid`&&j?.()}function N(){return{status:k,reference:A}}function P(){return k===`invalid`}function F(e=Bun.env.NODE_ENV===`production`){return!!(k===`invalid`||e&&k===`unavailable`)}function I(){return Bun.env.JCHAT_LICENSE_SERVER_URL||(Bun.env.NODE_ENV===`development`||Bun.env.NODE_ENV===`test`?`http://localhost:4100`:o)}async function L(e){try{let t=e.registryEndpoint??I(),n=await(e.fetchImpl??fetch)(`${t}/api/v1/activate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({purchaseCode:e.purchaseCode,domain:d(e.domain).host,siteSlug:e.siteSlug,domainScope:e.domainScope,provider:e.provider,routingMode:e.routingMode,installationId:e.installationId,environment:d(e.domain).isLocalhost?`development`:`production`})}),r=await n.json();return n.ok===!1||r.status!==`success`||!r.data?.token?{success:!1,message:r.message??`This license is already active on another domain. Please deactivate it first.`}:{success:!0,buyer:r.data.buyer??`Customer`,token:r.data.token,domain:r.data.domain??d(e.domain).host}}catch{return{success:!1,message:`Failed to connect to the central registry. Please try again later.`}}}async function R(e,t,n,r,i,a=`envato`,o=fetch){let s=w();try{let c=await L({purchaseCode:e,domain:t,siteSlug:n,domainScope:r,routingMode:i,provider:a,installationId:s.installationId,fetchImpl:o});return c.success?{valid:!0,buyer:c.buyer,token:c.token,domain:c.domain,state:s}:{valid:!1,error:c.message}}catch{return{valid:!1,error:`Failed to verify license. Check your internet connection.`}}}const z=new Set([`/health`,`/api/v1/license/status`]);async function B(e={}){if(!(e.isPrimaryWorker??(!Bun.env.WORKER_ID||Bun.env.WORKER_ID===`0`)))return;let t=e.domain??`localhost`;if(e.onInvalidate&&ne(e.onInvalidate),m(t)){M(`valid`);return}let n=await E();if(!n?.instanceToken){M(e.isBootstrapComplete?`valid`:`unavailable`);return}if(e.signingKey&&!Z(n.instanceToken,t,{publicKeyPem:e.signingKey})){M(`invalid`,`domain-mismatch`);return}if(await W(e)>(m(t)?1/0:$(n.instanceToken))){M(`invalid`,`multi-site-unauthorized`);return}M(`valid`)}function V(e={}){B(e);let t=e.allowedPaths??z;return new a({name:`jchatRuntime`}).derive({as:`global`},()=>({runtimeStatus:N()})).onBeforeHandle({as:`global`},async({request:n,set:r})=>{if(n.method===`POST`&&n.url.includes(`/owner/sites`)){let t=e.domain??`localhost`,n=await E(),i=m(t)?1/0:$(n?.instanceToken);if(await W(e)>=i)return r.status=403,{status:`license_restricted`,message:`Site creation limit reached (${i} site${i===1?``:`s`} allowed on your license). Please upgrade your license to create additional sites.`,reference:`multi-site-unauthorized`}}return U(n,r,t)})}function H(e,t,n){return n.has(e)?!0:t===`invalid`?e===`/install/upgrade-license`:t===`unavailable`?e===`/install`||e.startsWith(`/install/`)||e.startsWith(`/assets/`)||e.startsWith(`/_`)||e===`/favicon.ico`:!1}function U(e,t,n=z,r=Bun.env.NODE_ENV===`production`){let{status:i,reference:a}=N(),o=e.headers.get(`host`)?.split(`:`)[0]?.toLowerCase();if(o&&f(o)&&m(Bun.env.JCHAT_DOMAIN||`localhost`))return t.status=403,{status:`license_invalid`,message:`Public domain deployment requires a valid license matching this domain.`,reference:`public-host-requires-license`};if(i!==`valid`&&i!==`unreachable-fallback`&&(r||i!==`unavailable`)&&!H(new URL(e.url).pathname.replace(/\/+$/,``)||`/`,i,n))return t.status=503,i===`unavailable`?{status:`license_unavailable`,message:`This JChat installation is not activated. Please complete the installation.`,reference:a}:{status:`license_invalid`,message:`This JChat installation is disabled because its license is invalid.`,reference:a}}async function W(e){let t=Bun.env.DATABASE_URL;if(t&&typeof Bun<`u`&&`SQL`in Bun)try{let e=new Bun.SQL(t),n=await e`SELECT count(*)::int as count FROM sites WHERE deleted_at IS NULL`;if(await e.close(),n?.[0]?.count!==void 0&&n[0].count!==null)return Number(n[0].count)}catch{}if(e.getSiteCount)try{return await e.getSiteCount()}catch{return 0}return 0}function G(t,n=`production`,r){let i={...t},a=!0;typeof i.JCHAT_COOKIE_SECRET!=`string`&&(i.JCHAT_COOKIE_SECRET=``);try{let t=T();if(n===`developer-sandbox`)a=!0;else if(!t)a=!1,n===`production`&&(i.JCHAT_COOKIE_SECRET=e.randomBytes(64).toString(`hex`));else{let o=typeof i.JCHAT_DOMAIN==`string`?i.JCHAT_DOMAIN:void 0,s=typeof i.NODE_ENV==`string`?i.NODE_ENV:void 0;if(!o||!p(o)||s===`production`&&!f(o))throw Error(`A valid installed JChat public domain is required for production deployments.`);if(!Z(t,o||`localhost`,{publicKeyPem:r}))a=!1,n===`production`&&(i.JCHAT_COOKIE_SECRET=e.randomBytes(64).toString(`hex`));else{let r=X(t);if(s===`production`&&r?.environment===`development`)a=!1,n===`production`&&(i.JCHAT_COOKIE_SECRET=e.randomBytes(64).toString(`hex`));else{let n=t.split(`.`),a=n[2]||``;if(a&&r){let t=e.createHmac(`sha256`,a).update(`${n[0]}.${n[1]}:${r.domain}:${r.installationId}`).digest(`hex`);i.JCHAT_COOKIE_SECRET+=t}}}}}catch{a=!1,n===`production`&&(i.JCHAT_COOKIE_SECRET=e.randomBytes(64).toString(`hex`))}return i.SYSTEM_BOOTSTRAP_COMPLETE=a,i}function re(e,t=`production`,n){return G(e,t,n)}function K(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function q(e){return typeof e==`string`&&e.trim().length>0}function J(e){if(!e)return null;try{return JSON.parse(Buffer.from(e,`base64url`).toString(`utf8`))}catch{return null}}function Y(e){let t=e.split(`.`);if(t.length!==3)return null;let n=J(t[0]);return!K(n)||n.alg!==`RS256`||n.typ!==`JWT`?null:{alg:`RS256`,typ:`JWT`}}function ie(e){if(!K(e))return null;let{iss:t,aud:n,licenseId:r,domain:i,buyer:a,installationId:o,plan:s,entitlements:c,purchaseProvider:l,environment:u,routingMode:p,iat:m,exp:h,isTrial:g,stages:_,channel:v,limits:y}=e;if(!q(t)||!q(n)||!q(r)||!q(i)||!q(a)||!q(o)||!q(s)||!Array.isArray(c)||!c.every(q)||l!==`envato`&&l!==`jchat`||u!==`production`&&u!==`development`||p!==`path`&&p!==`subdomain`||typeof m!=`number`||!Number.isSafeInteger(m)||m<0||h!==void 0&&(typeof h!=`number`||!Number.isSafeInteger(h)||h<0)||g!==void 0&&typeof g!=`boolean`)return null;let b=new Set([`stable`,`beta`,`experimental`]),x;if(_!==void 0){if(!Array.isArray(_)||!_.every(e=>typeof e==`string`&&b.has(e)))return null;x=_}let S=new Set([`stable`,`lts`]),C;if(v!==void 0){if(typeof v!=`string`||!S.has(v))return null;C=v}let w;if(y!==void 0){if(!K(y)||typeof y.maxSites!=`number`||!Number.isSafeInteger(y.maxSites))return null;w={maxSites:y.maxSites,...typeof y.maxRoomsPerSite==`number`&&Number.isSafeInteger(y.maxRoomsPerSite)?{maxRoomsPerSite:y.maxRoomsPerSite}:{}}}let T;try{T=d(i)}catch{return null}return u===`development`&&!T.isLocalhost||u===`production`&&!f(i)?null:{iss:t,aud:n,licenseId:r,domain:i,buyer:a,installationId:o,plan:s,entitlements:c,purchaseProvider:l,environment:u,routingMode:p,iat:m,...h===void 0?{}:{exp:h},...g===void 0?{}:{isTrial:g},...x===void 0?{}:{stages:x},...C===void 0?{}:{channel:C},...w===void 0?{}:{limits:w}}}function X(e){let t=e.split(`.`);return t.length!==3||!t.every(Boolean)||!Y(e)?null:ie(J(t[1]))}function Z(t,n,r){if(!t||t===`YOUR_LICENSE_KEY_PLACEHOLDER`)return!1;try{let i=t.split(`.`);if(i.length!==3||!Y(t))return!1;let a=X(t);if(!a)return!1;let o=r.issuer??Bun.env.JCHAT_LICENSE_ISSUER??`https://license.jchatcloud.com`,s=r.audience??Bun.env.JCHAT_LICENSE_AUDIENCE??`jchat-chat`;if(a.iss!==o||a.aud!==s)return!1;let c=d(n).host,l=d(a.domain).host;if(c!==l&&(a.routingMode!==`subdomain`||!c.endsWith(`.${l}`)))return!1;let u=Buffer.from(`${i[0]}.${i[1]}`),f=Buffer.from(i[2].replace(/-/g,`+`).replace(/_/g,`/`),`base64`);return e.verify(`sha256`,u,r.publicKeyPem,f)}catch{return!1}}function ae(e,t,n,r){if(r&&!Z(e,t,r))return!1;let i=X(e);return i?i.installationId===n:!1}function oe(e,t,n,r){return Z(e,t,r)?X(e)?.entitlements?.includes(n)??!1:!1}function se(e,t=`localhost`,n){if(n&&(!e||!Z(e,t,n))||!e)return!1;let r=X(e);return r?r.environment===`development`&&m(t)?!0:$(e)>1||(r.entitlements?.includes(`site.create.multi`)??!1):!1}function Q(e,t){return e?X(e)?.entitlements?.includes(t)??!1:!1}function ce(e,t){return t===`stable`?!0:e?(X(e)?.stages??[`stable`]).includes(t):!1}function $(e){return e?X(e)?.limits?.maxSites??1:1}function le(e){return e?X(e)?.channel??`stable`:`stable`}function ue(e){return $(e)>1||Q(e,`site.create.multi`)}export{c as DEFAULT_LICENSE_AUDIENCE,s as DEFAULT_LICENSE_ISSUER,o as DEFAULT_LICENSE_SERVER_URL,C as DEFAULT_STATE_PATH,L as activateRegistry,ue as canCreateMultiSite,w as createIdentity,b as findRepoRoot,$ as getMaxSites,le as getReleaseChannel,h as getRootDomain,N as getRuntimeStatus,Q as hasCapability,oe as hasEntitlement,ce as hasStageAccess,R as installAndActivate,p as isAllowedConfiguredDomain,P as isApplicationDisabled,m as isLocalhostDomain,g as isMatchingDomain,se as isMultiSiteAllowed,f as isPublicDomain,F as isRuntimeBlocked,V as jchatRuntime,re as loadServerContext,d as normalizeDomain,X as parsePayload,E as readState,T as readTokenSync,te as recordAudit,_ as resolveActivationDomain,S as resolveDataDir,v as resolveRuntimePaths,G as sealServerContext,M as setRuntimeStatus,B as startRuntimeSupervisor,ee as updateInstanceToken,ae as verifyEntitlement,Z as verifySignature,D as writeState};
1
+ const e=K;(function(e,t){let n=K,r=e();for(;;)try{if(-parseInt(n(452,`[FMn`))/1*(parseInt(n(1197,`g[G%`))/2)+parseInt(n(1532,`7#Yu`))/3+-parseInt(n(1054,`6W9l`))/4+-parseInt(n(891,`kobt`))/5*(parseInt(n(947,`tI[S`))/6)+-parseInt(n(1227,`7DZY`))/7+parseInt(n(1506,`g[G%`))/8*(-parseInt(n(610,`&hD&`))/9)+parseInt(n(462,`tI[S`))/10*(parseInt(n(565,`SeOF`))/11)===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(L,269515);import{APPLICATION_DISTRIBUTION as t,APPLICATION_DISTRIBUTIONS as n,IS_DEVELOPER_SANDBOX as r,isDeveloperSandbox as i,resolveApplicationDistribution as a}from"./distribution.mjs";import o from"node:crypto";import s from"node:net";import c from"node:fs";import l from"node:fs/promises";import u from"node:path";import{Elysia as d}from"elysia";const f=`https://li`+e(1511,`s5L$`)+e(1146,`L&vX`),p=e(632,`tI[S`)+e(645,`jRSt`)+`tcloud.com`,m=`jchat-chat`,h=[e(1432,`Fswn`),e(697,`BEaJ`)],g=e(701,`]kS&`),_=e(622,`oqyn`),v=[e(569,`Je()`)+e(1194,`^^j9`)+e(1427,`L&vX`)+e(1413,`U]y(`)+e(675,`Z@ID`)+e(811,`Z@ID`)+e(467,`@oTl`),e(563,`s5L$`)+e(885,`!7Yu`)+e(437,`1Zwv`)+e(1085,`s5L$`)+`8r53RnvS6m`+e(964,`[FMn`)+e(684,`okI)`),`g1SaRCJDoS`+e(879,`jJVg`)+e(527,`Fswn`)+e(1078,`X*[W`)+e(493,`XOpo`)+e(770,`XOpo`)+`ATaj`,`PcjSeprfKQ`+e(1027,`6!o6`)+e(1128,`&hD&`)+e(913,`BEaJ`)+`0edaMhqJi1`+e(1480,`Fswn`)+e(1414,`P50[`),`QRhEQGjqbj`+e(513,`X*[W`)+`z+PRFXiTHg`+e(406,`zh9C`)+e(1398,`sILL`)+e(746,`])wM`)+e(927,`L&vX`),e(722,`XOpo`)+e(779,`BEaJ`)+e(1307,`SeOF`)+`vHarVJXRRq`+e(626,`tI[S`)+e(472,`6!o6`)+e(1042,`L&vX`),`rwIDAQAB`];function y(){let t=e,n={ngjHm:function(e,t){return e!==t},RyTmt:t(834,`ynhv`)+`+$`},r=function(){let e=!0;return function(t,n){let r=e?function(){let e=K;if(n){let r=n[e(1424,`Z@ID`)](t,arguments);return n=null,r}}:function(){};return e=!1,r}}()(this,function(){let e=t;if(!n[e(661,`NMHr`)](r[e(714,`zh9C`)]()[e(1217,`sILL`)]()[e(704,`GD][`)](`
2
+ `),-1))return r[e(1102,`XOpo`)]()[e(1426,`mcuw`)](n[e(1010,`zh9C`)])[e(815,`&G9b`)]().constructor(r)[e(1215,`tycJ`)](n[e(608,`tI[S`)])});r();let i=g+` `+h[t(893,`zh9C`)](` `)+`-----`,a=_+` `+h[t(725,`6!o6`)](` `)+`-----`;return i+`
3
+ `+v[t(388,`n9Aq`)](`
4
+ `)+`
5
+ `+a}const b=y(),ee=new Set([e(669,`s5L$`),e(935,`Z@ID`),`::1`]),x=[e(1491,`jJVg`),e(1140,`Fswn`),e(596,`okI)`),e(1297,`6W9l`)];function S(t){let n=e,r={CnaPF:n(1291,`mcuw`)+n(1468,`sILL`)+n(435,`P50[`),yBuiz:n(1162,`Njfh`),HcvRZ:n(1218,`zdSq`)+n(946,`&G9b`),JnRbx:`localhost`,ywlQA:n(1304,`&hD&`)+n(1185,`dx*c`)+n(1419,`jJVg`)},i=t[n(740,`s5L$`)]();if(!i)throw Error(r[n(1095,`&G9b`)]);let a=new URL(i[n(1421,`])wM`)](r.yBuiz)?i:n(1110,`sILL`)+i)[n(498,`Z@ID`)].toLowerCase().replace(/\.$/,``),o=a===r[n(455,`kYJC`)]?r.JnRbx:a[n(429,`S5Cf`)](/^www\./,``);if(!o||o[n(854,`U]y(`)](`@`)||/\s/[n(1471,`@oTl`)](o))throw Error(r[n(1329,`Njfh`)]);return{host:o,isLocalhost:ee[n(1201,`@oTl`)](o)}}function C(t){let n=e,r={OVjDu:function(e,t){return e(t)},FbSiy:function(e,t){return e===t}},{host:i,isLocalhost:a}=r[n(1507,`7#Yu`)](S,t);return!a&&r[n(1009,`SeOF`)](s[n(543,`!7Yu`)](i),0)&&i[n(529,`kYJC`)](`.`)&&!x[n(1233,`!7Yu`)](e=>i.endsWith(e))}function w(t){let n=e,r={WAjXE:function(e,t){return e(t)}};try{return S(t).isLocalhost||r[n(433,`dx*c`)](C,t)}catch{return!1}}function T(t){let n=e,r={udeER:function(e,t){return e(t)}};try{return r[n(1055,`okI)`)](S,t)[n(1310,`jJVg`)+`t`]}catch{return!1}}function E(t){let n=e,r={UZVkS:function(e,t){return e(t)},nJhoX:function(e,t){return e<=t},Xftiq:n(861,`kYJC`),CxDnI:n(518,`zdSq`),JOLmw:n(1469,`7DZY`),LNwgI:n(948,`BEaJ`),DPeQl:function(e,t){return e===t},wQaLY:function(e,t){return e>=t}},{host:i,isLocalhost:a}=r[n(1418,`kobt`)](S,t);if(a||s.isIP(i)!==0)return null;let o=i[n(1383,`Fswn`)](`.`);if(r[n(1355,`Fswn`)](o.length,2))return i;let c=new Set([`co`,r[n(1137,`[FMn`)],n(870,`jl*C`),r.CxDnI,r.JOLmw,`edu`,`ac`,r[n(932,`&G9b`)]]),l=o.at(-1)??``,u=o.at(-2)??``;return c[n(782,`6W9l`)](u)&&r[n(402,`zdSq`)](l[n(516,`kobt`)],2)&&r.wQaLY(o[n(1131,`])wM`)],3)?o[n(665,`zh9C`)](-3)[n(1365,`mcuw`)](`.`):o.slice(-2)[n(1392,`GD][`)](`.`)}function D(t,n){let r=e,i={kHOJC:function(e,t){return e(t)},NYhYL:function(e,t){return e(t)},cOyOo:function(e,t){return e===t},FIABb:function(e,t){return e(t)},JOWAw:function(e,t){return e===t}};try{let e=i[r(873,`7DZY`)](S,t)[r(926,`Z@ID`)],a=i[r(1168,`ynhv`)](S,n)[r(926,`Z@ID`)];if(i.cOyOo(e,a)||e[r(1294,`HZT$`)](`.`+a))return!0;let o=i[r(1290,`tycJ`)](E,e),s=i[r(912,`Njfh`)](E,a);return!!(o&&s&&i.JOWAw(o,s))}catch{return!1}}function te(t,n,r,i=e(896,`n9Aq`)+`st`){let a=e,o={jnjuh:function(e,t){return e(t)},RVCxW:a(1199,`1Zwv`),NYjvd:`parent-dom`+a(391,`BEaJ`),Rfqfp:function(e,t){return e(t)}},s=o.jnjuh(S,t)[a(1368,`ynhv`)];return r===o[a(952,`1Zwv`)]&&n&&i===o.NYjvd?o[a(376,`GD][`)](E,s)??s:s}function ne(t={}){let n=e,r={quuax:n(1231,`n9Aq`),AJoPo:n(1465,`Fswn`),QJOGV:function(e,t,n,r,i,a){return e(t,n,r,i,a)},vHIwe:n(915,`BEaJ`),WbDRY:function(e,t,n,r,i,a){return e(t,n,r,i,a)},CDScg:`addons`,GzvUe:function(e,t,n,r,i,a){return e(t,n,r,i,a)},fcOYK:n(1050,`g[G%`),ZFVQT:n(1349,`dx*c`),bmiFU:function(e,t,n,r,i,a){return e(t,n,r,i,a)}},i=u.resolve(t[n(1143,`^^j9`)]??process[n(1247,`XOpo`)]()),a=t[n(614,`HZT$`)]??Bun[n(796,`Fswn`)],o=O(i),s=a[n(1410,`mcuw`)]===r.quuax?u[n(725,`6!o6`)](r.AJoPo,r[n(587,`tI[S`)]):r[n(688,`Je()`)];return{repoRoot:o,runtimeRoot:i,uploadsDir:r.QJOGV(k,a[n(1309,`tI[S`)+n(532,`Je()`)],i,o,r[n(819,`Njfh`)],r[n(1139,`&G9b`)]),addonBundlesDir:r[n(1313,`rSET`)](k,a[n(1499,`mcuw`)+n(602,`s5L$`)],i,o,r[n(729,`kobt`)],r[n(384,`HZT$`)]),addonSourceDir:o?u[n(1384,`@oTl`)](o,n(1093,`jJVg`)):u[n(635,`BEaJ`)](i,r.CDScg),migrationsDir:r[n(1101,`Njfh`)](k,a[n(1341,`dx*c`)+n(1391,`1Zwv`)],i,o,u[n(1278,`Njfh`)](r[n(1187,`sILL`)],`db`,r[n(1501,`g[G%`)]),r[n(1259,`BEaJ`)]),dataDir:r[n(1148,`&G9b`)](k,a.JCHAT_DATA_DIR,i,o,s,s)}}function re(t){let n=e,r={FVYah:n(559,`P50[`),arOGP:n(1205,`L&vX`)};return c[n(1234,`])wM`)](u[n(1273,`1Zwv`)](t,n(984,`L&vX`)+`on`))&&c[n(430,`^^j9`)](u.join(t,r[n(576,`zdSq`)]))&&c[n(1077,`oqyn`)](u[n(557,`&hD&`)](t,r[n(1145,`zdSq`)]))}function O(t){let n=e,r={lbvlL:function(e,t){return e(t)},yVkXF:function(e,t){return e===t}},i=u[n(1508,`7Qr(`)](t);for(;;){if(r[n(480,`BEaJ`)](re,i))return i;let e=u[n(1177,`rSET`)](i);if(r[n(450,`sILL`)](e,i))return null;i=e}}function k(t,n,r,i,a){let o=e;return t?u[o(827,`[FMn`)](t):r?u[o(899,`NMHr`)](r,i):u.join(n,a)}function A(){let t=e;return{UiflH:function(e){return e()}}[t(1485,`SeOF`)](ne)[t(1149,`Je()`)]}function j(){let t=e;return u.join({dHkwT:function(e){return e()}}[t(900,`oqyn`)](A),t(507,`SeOF`)+t(849,`@oTl`))}const ie=j();function ae(){let t=e;return{installationId:Bun[t(398,`kYJC`)+`v7`]()}}function M(t=j()){let n=e,r={HVNFK:n(731,`S5Cf`),phVil:function(e,t){return e!==t},argAb:n(660,`$2Ce`),ZkGXq:function(e,t){return e!==t},YHheO:`string`};try{if(!c[n(1277,`n9Aq`)](t))return null;let e=c[n(1161,`SeOF`)+`nc`](t,r[n(390,`Fswn`)]),i=JSON[n(949,`zh9C`)](e);if(!i||r.phVil(typeof i,r.argAb))return null;let a=i;return r.phVil(a[n(1498,`sILL`)],1)||r.ZkGXq(typeof a[n(570,`7DZY`)+n(500,`s5L$`)],r[n(385,`!7Yu`)])||!a.installationId||typeof a[`instanceTo`+n(666,`7DZY`)]!==r[n(483,`^^j9`)]||!a[n(720,`1Zwv`)+n(542,`HZT$`)]?null:a}catch{return null}}function N(t=j()){let n=e,r={WVDQS:function(e,t){return e(t)},nmJPi:n(681,`s5L$`)},i=r[n(1058,`7Qr(`)](M,t);if(i?.[n(1436,`okI)`)+n(546,`7Qr(`)])return i[n(808,`Z@ID`)+n(794,`kYJC`)];try{if(!c.existsSync(t))return``;let e=c[n(1417,`1S73`)+`nc`](t,n(1006,`NMHr`)),i=JSON[n(1106,`jl*C`)](e);return typeof i?.[n(1209,`dx*c`)+`ken`]===r.nmJPi?i[n(757,`]kS&`)+n(1210,`sILL`)]:``}catch{return``}}async function P(t=j()){let n=e,r={tJqZa:function(e,t){return e!==t},OPTfr:n(1038,`GD][`),ntzXT:`string`};try{let e=Bun[n(373,`Z@ID`)](t);if(!await e[n(1044,`oqyn`)]())return null;let i=JSON[n(1047,`1Zwv`)](await e.text());if(!i||r[n(975,`Je()`)](typeof i,r[n(736,`BEaJ`)]))return null;let a=i;return a[n(515,`s5L$`)]!==1||r.tJqZa(typeof a[n(881,`Njfh`)+n(387,`BEaJ`)],r[n(802,`kYJC`)])||!a[n(1040,`SeOF`)+n(1238,`oqyn`)]||typeof a[n(1202,`1S73`)+n(728,`zh9C`)]!==r.ntzXT||!a[n(1065,`[FMn`)+`ken`]?null:a}catch{return null}}async function oe(t,n=j()){let r=e,i=u[r(1281,`6!o6`)](n);await l[r(1029,`dx*c`)](i,{recursive:!0});let a=n+`.`+process[r(698,`Z@ID`)]+`.`+Bun[r(753,`7Qr(`)+`v7`]()+r(917,`jJVg`);await Bun[r(1359,`&hD&`)](a,JSON.stringify(t,null,2)+`
6
+ `),await l[r(1122,`U]y(`)](a,n)}async function F(t,n=j()){let r=e,i={ehXeD:r(830,`Je()`)+r(1124,`kobt`)+r(581,`ynhv`),fuBHs:function(e,t,n){return e(t,n)}},a=await P(n);if(!a)throw Error(i[r(745,`@oTl`)]);await i[r(1169,`&hD&`)](oe,{...a,instanceToken:t,lastSuccessfulCheckAt:new Date()[r(842,`g[G%`)+`g`]()},n)}function I(t){let n=e,r={ATvBY:function(e,t){return e<=t},GgJmf:n(938,`[FMn`)};if(t)return r[n(476,`jJVg`)](t[n(845,`SeOF`)],8)?r[n(1299,`!7Yu`)]:t[n(1473,`1S73`)](0,4)+`…`+t[n(1470,`jRSt`)](-4)}function L(){let e=`W6DTzSkupq.ESoiumkrWR0HEmob.zmo6WQvcWPK.rSkMW4j9W4z6.FSkXW58YW64fWQuOxba.WO/dKGbw.euldSgmw.dIFdMSoudq.ddeDWRJcRWNcNSkyW5lcUa.WRztu8k6oG.WPybWOm.hgPwW43cKa.ASkTW7ebqSk/WQFcLq.W5i3WPS.WQ3dSCkfwCkud8kgctpdGW.vCoZWQlcKmo+.lmo8W5tdOSkgnSkpDa.r8oIDCkMWOem.hrSMiW7dTrVcGmoAeG.rd/dTmoxg1z4W6hcG8kE.W5FcV8ogWPnL.ArtdIq.WPD7Bmk8.y8kdW6rqW7TC.xmobFCkIWQS.BHNdMmkZWOZcUmocW53cUCk5.W6RdMtJcNqS.i8oNW4NdTCktmCkdFWeQ.WQxdQCox.gHmyWP3cIa.W5C1DCozWQW.dxpdT2SDEZVdTmo6WO0.W7CbWRaEW4iJW5m2WPZcOq.g8oIWQlcLCkOp8ognsaH.WPSnWOnNygG.a8ketCoXW4ZdPW.smk1WR58lmoFpSkOWR7cIq.WRZdLmkRhmkb.pJGpWQqx.uSo3WPHtWOa.WRbRF8k7cG.W44ZsCoBWOPAWQT1WOnD.W6ObACoYWOu.CGpdSmk6WP/dTmoBW5RcVmkT.W4vot8k6i8oOW7JdT2ZdMq.WOhdUSkhACkF.W7qfC8o5WRzKWPTFWO95.b1ddMmkivW.W5GgfSouEa.eSoaWQlcM8kurM3dJCkgWQ4.W7efkCkzvW.W64QxSozWPfEW7H0WQvt.xmoWm8oNW70.WQRdL8oTa18.WOqbWPLLoMpdJmoHFmky.WOVdLCk4iCkYWPi.v8k3W5j9.W64+c8on.WPfCWODpg8o0kmkRW53cMa.W4NdKdBcJbmcWOnIW4mn.r8kjyW.gNRdRNOD.kSo+lsm.bay8WQi/.dtGvWR/cJa.cCosWP/cNSkDtMBdMSkgWQ4.eCohWR9BlW.W5yYt8oiWPebW7C/WQXB.WQbZWPPuoG.rdBdOSopf0C4W7ZdHmkd.rCogWOfXWPlcGCoFnuWb.yCkxWOLYWPLtz8oPwmkA.WRRdKSksBmkN.r8oqwSkFWOm.fmoUESkNWPyfwSo7ba8.obWuWPqq.WP/dQSkcvSk5.efBdS8kysa.kJPDWRmuW4JdUCkhmSoc.bCo7W6dcQ8kW.WOldVIffW6i.WPbEs8kAca.W5KeWOjJDwW.W5vsW41jENBdN8oODmki.WRtdKSkTW5RdI3NdNCohW5iA.iqeoWPS2.W6/cJmkzW7NcGua.WQFdKxZcHwSnW5TP.WORdKCo4phS.W5ddMcxcLHrnWOq.FSoexmkvWRy7D8otitq.WQ1pBbBcIa.mrBdLCoOkG.nCkJt8oKW4i.DmoZwW.W5OvEmoYW5O.WPFdJ8kqkmkHWOdcGg3dImkH.wMBdOmoqkx4EW7C.W7KSC8osWOe.W6ywW40JD8otWRe.W5OvESo3WPJdUc1itG.W6uAt8kJFxTgxSkznq.bCkpvCoJW53cPGWApmor.egTQW4C.v8oRWRpcKSoPlmkB.W5lcTCk1W4JcOG.WP3dRqO.WQpdRmkkgSkDnSkoeI7cJa.W7tcL8kqW77cGLTBeW8.cZOyWRNcJWNcNmkyW6u.CSkKW7DjW7y.ow/dJLyF.fCkAv8o5W4W.WPzNyCk0d8ogqdeN.ySoAyd99.umoYoSoyW6S.WRKNWQLfs0xdSmos.fSosWONcQCkBv0hdKa.W4bUyaGeW6dcQc3dQ8k3.W78hW500xG.WQBdRmkhw8kDn8kmcc4.W41cxSk2o8o+.W4hcOmoDWR9DW64.WODil8kGW43cPhPyxeOmW7pdTW.wmoqWPzGWOJcICooiq.uSoQWR7cMq.W5pdKZBcKXXlWOzWWOet.W5HKwmk6ha.nmoWW7pcJmkv.wXVdQSkUWPe.W6mfW7akCW.WRzczXFcQG.FCo2WR/cImoK.zSkTW6qerCk0WQZcI8onvW.rmoZWQzMzCoAm8oPWQpcJW.E8oUW7qcrCkSWQpcLmomxa.FNhdNvhdJG.pSofjCoFW60.W4bKnv4.W7WEgCky.WRdcRCk3WPC.WOmRWQTgEq.E8kaW6HAW7K.W7izpG.fMTaW4/cKCoVpfy.WPbGyqBcHaq+E8knWQS.c8kyDSo8W7i.W7mVpSoIva.kvRdM8kKFa.FKBdK8kBFJbNhghdRa.y8o8qY1iW4GryCkYWPO.DmoZwsbtW4KHwCkEWRa.W58uASoIWPxdVc5AtLS.W5Kuumo4WOldSs5sxLm.W4xcQCkrW4RcIa.eCoMWRRcGmk0.d8o4W6hcHSkqW4tdNmoX.WRVcSSkUWPW9tHRdO8oAdW.W53cSSojWOz4W6KuhaBdUG.rmk6W7OQrW.dg1cWPhdKCk9.W7GLW5W7tW.m14DW7qq.WQ/dKCkBW5tdIq.W5i4uSkQsq.aSo3W7BcIW.W60RhSohumot.dSoMW6pcJmkt.WPpcGCkGkCkIWPpdJg3dGSk0.aCoNWRT7nW.W4BcU8oVWR9AW7qzgq.W4RcV8o0WQ9W.cgpdO3amsdVdTmo3.oSoRmt5EWPe.umoMWQlcJSoIkSkwBIyT.W7GsW404smoqWRDpgW0.WQaNWR9luvldOConwq.W5xdOrzrW7GSW6rEka.n8ochSoU.zstdTCk7WQu.CCoTWRngWRlcNmoLbwOH.WRldOSorjK8oba.W4XFrCkSoCoOW47dKwVdLa.W4zfrSk6lSoV.ncuqeq.pCoMEvaV.BmkpDSk5o2BdK8kzlmoE.WP/dUq1lW74OW6W.xCkIWOy+.kmoNWRT9aCosFCoLWRxcTG.wmoOD8k1WO4mwCoKeq.xmo7AcXO.F8oXWQfrWRBcOmoSfNCN.W7SXcq.qCoPCmkXWOqnwmoYaq.W6TaECkRkW.W6tcM8kKW43cQW.WQNcTSk/WOSNwqVdO8ocaG.rCkTp8oFW5pdQvJcU8ksBa.FColgCo2W5xdQKe1W4FcJG.W7m0g8omtG.iseiWPe0.W5/dQZZcVtS.gSoFWP3cLCkfBeldHCkEWQi.WPeFDCknwxyP.j8ofWQvcea.emo3W67cG8kb.wCo+wXT9.W7Hcxt05W5hcIY/dICks.aZhdSa.WOJcSmk8WOOA.dJpdQa.WPlcTCoFWR9bW6SwcGFdTa.ymk/W5j5WPj8xmoLxCkL.W5JcRNBcIxKYW4z8.W5muBW.e8kesCo1W5NdQW4ynSoC.W6RdSdlcPbC.W5VcU8osW6TbW65xea3dPa.cColo2C.w8oPxCkW.W4usEmkKW4hcPG.eGuNibddSrRcLq.BHNdMmk2WOxdSa.v8oSW6jbWRBcRCoofMCu.gJSrWR3cGa4.gCotyweeW54.dx/dOhWlBa.WRy8WPTctq.W51VxbG.W5qYfmomvG.WO3dU0RcQuiT.W78sjSkqAq.gN/dS3XvFJ/dOCoRWPW.WOfBt8k8ohSpwCkxDW.W7bVrmk6aG.tSoKWR/cKmot.WQpdQmoujfO.WQXztcdcVMefqW.W5ylqSkUBhO.d8kesmoKW5NdPaOyimoz.kL3dL8kvDq.WPbFWPT+gq.WPBdPXTdW6aLW6DbCW.W5NcSmk9W7BcIW.ksmZW7KvW7FcU8kSd8oA.W4f1DaGyW70.o0r3W6lcPSokcMaMWPu.WRjqD8kila.W5BcSCooWQjEW7HxfqFdQq.xmoSWQhcImoPkmkAFW.bcqCWQac.cCkeCSo0.W70dtmo+WOq.ltxdOSonc1yYWRldIa.mZWfaY4.nwldUmk2vG.W606x8oxwCovc0NcVCkR.m8o+WQfEma.WQpdRCkxtSkqmCkahNtdHG.WPr9DmkPia.W47dNcq.thBdULFdUa.WPzeWO1fhSoF.g2PoW4lcJCoL.f8ogWPddJSkdArZdT8k5WQy.W6CvW4SGwmonWRfpft8.emkpsCoJW5hdPWG.WO9SA8k2hCoh.WOZdRxtcS2q.W6/cNmka.W4zOyX0zW6S.W7CFpCkDtmkp.W7yEjmkvuCkncSkECGm.aCo7WR8.WO14qqe.WPRdQLNcTee7.cuRdT8k1AG.oJJdSSoQkq.EmkxWP96W4Plz8kZdCk7.sxpdQw0rBdBdPCoYWOW.EmoZtIvsW4eHrW.omo8W5tdTCkBmSkfvsuX.fCo/W7BcJ8kSW4q.WQnswZRcPw0z.d8oLW5hcI8kdW4xdSmoSW4lcNW.WPhdKmoMkh4.W4Cus8kUCxe.WOmaWOjYFxRdM8oG.W6yEmCkkrmkia8ksDqe.s8kGW797W5W.aSkDW5hcQSkErKxdKmkxW6S.kfrIW5NcIG.WR7dM8kJlSkY.vLddOa.dSo+bmoQ.WO5OFCkdbSoaqYCtya.WO9gBCkAcG.W78wW5a.WPhcR8k1WPSN.WRpdS8oaofOEnJFdTSoc.dCo7WRPGjmoqoSoPWQpcKW.WRZdMSkPW6xdH3NdNCkKW4Kh.r8oZzSk9WOequ8oZ.W48AvCk7s2OfsCktzG.WPVdQ1BcTf0LW7bWWOzF.B8kGC8kfeq.aWy+WQuz.amokW7ldGmkMamkSuXya.DWldKmk6.a8ketq.WPVdUaHr.kcuiace.W4pdKYhcJa9nWOr8WOyr.DCofWQPGWP8.hmkgF8o4WONdGILlBmot.EapdJW.W7VcSmoqcmodACottbJdRYjWsWS.W4fwwZCm.irpdI8o4kNSuW53cPCkH.W5uPACoFWOS.WQ9FqsFcQe4kw8k9WQK.sCkizSkOnhNdMSoyk8os.EmoZxJ1gW4KOvCkpWRC.emo8WQz6zCoym8o4WRVcLq.WPbBWO1afCoknq.wmoSWRhcNCoRiCkyAtC.x8oLWRBcLSof.W4FcR8kTW7RcJa.WP3dJ8kQiW.WQ/dISkVW5pdQxJdMCkvW4ji.dSoJo8oBW47dTvu.hmowWOm.WPThW4jbgCoykmk3W5dcNa.rCofWRfWWRq.W5TYrq4eW6pcRHldVCke.DSkTW7yiuCkYWQZcG8om.wmoSWRhcNCoRhCkyCsyN.W4lcPSotWQ9DW74dfW3dVG.WPJdQ03cOuW.eSoZzhie.W6SXg8oawSoFcKlcTW.W48fxmo6WOW.gJekWRNcHq/cGSkqW6tcRW.WRRdJ3q.WRldOSohl1WidZ3dPW.a8kCxSoIW4e.WRtdQmokl0a.zmoGW5tdT8ktm8kjFG.hmk3W5vVW5DRxCkV.qSohtHXe.eSoaWRdcImkaqL0.fSoqWPnMmW.z8oWvcXp.kmk5zmouW7hdMG.BSkIW6yox8kYWQZcGCkitq.luBdNCksDZS.fCoJW6dcJSkkW43dMmoRW5G.W7xdJtpcVZq.m2XaW4BcISo4paulWQu.WRVdP2ZcRua.kL3dR8keAtCPcW.l17cJmoJW5dcPCkgW7hcQSknoKnW.uSoIymk3WOOTw8oNcq.W6dcICkeW7FcJvfuaGj3.k8oQimonW6m.wfVdUa.WOpdISkSW6BdQa.cCowWOhcLSktqee.CmkLW6CbDmkZWQFcHCodEa.W5C2WPWVW6XqW7igWRpcLG.WOPcWRTlhG.ghCFWRupWO/cKSo3W5FdVG.omoDW5/dHSka.WPr/W5HSWQy1W44N.W4buySk+aW.qmoQWR3cKSkNl8kwCY8S.W5e9WOy1.WPJcSvhcSv8WW71fWRje.W4dcTSovWQ9mW7Gz.W6aemCkqsCkec8otxs4.W4O7WOeK.jmoOv001W7ZdPSop.WRNdHSo9W4/dGxJdISohW4OB.WOhdQKZcSeDYWROqWPPc.dsqqWRxcNq.lSo8imooW7i.W7KFoCks.DCobea.W4OdWOWcW5i.WOHSAW.E8o6WRXrW7FcVSoLbNyN.WPhdJ8kVj8k7WOJcIa.WOddSeVcTfuMW7zAWQje.WOP5EXe.rColC8k9oxNdLmoypmoq.jJ85WPel.cNpdQwODnJddO8o3WOG.ymkhW6O.WQpdT8owd2e.nmoSWP1bpa.aSocCMWpW4VdMW.WOtdJmkGF8kUgSkTlq.BuZdMMFdKa.EmktzmkmeW.DSkUW79wW4m.WOxdSvVcOvGGW7PmWOi.W6eDW4WPFq.gtxdPCoCdee5W7hcJW.WPTYWOCKW7OfW6KrWRZcGa.cCk2W7qIW6m.W7PvqsXn.WPFdG8kZi8k0WPu.h38rW50h.y8o/rc1dW4aQ.W7lcJCkvW6/cKue.FSoaWPRcVCotfSk0vqWc.W4hcUmovWQHn.s8kdEW.n1ZdJ8keEJaKcvtdUG.p0S+W4O5WRlcO8oeW7FdIa.cSkfwmoXW5tdOaKkia.WRNdT8kfwmkDoG.dXGzWP/cMW.WPHZWRH/cG.WQtdTCkfvSkyo8on.W74emSkYCW.DCosWPFcVCo9kmk+vgX4.nZiLhWK.W4NdSLhcO1eMW6zAW5zy.lmktW7OAW5nQWOuNDIC.aSohu8o/W4VdVa.W4JdKIa.fCkEsCo5W5BdRW.aSoMEKmG.zhXuu3ZcHJVcKCoWlw4K.a8omW5FdPq.W5FcUSokWQPCW7i.qmkIW4D7W5DS.fmovWOtcOSkE.WQnCzZxcJG.W7xcO8kUWPb8xg3cPCoxcq.WQNdISkZW4ldH2ddNCkOW5yg.WPfIAqFcJue.lmkPC8orW6ZdLYi2gCoX.bSoiCgKgW5hdH8oQrG.WPqCWOr2DxtdM8kKDmky.W5qLu8ozWPyBWQT1WRje.st7dRCkgWQJdHCoOW7dcL8kb.W5G1cq.rmoQWRy.nmo4nJzeWRC6WRdcGcO.WO7dS8oTiu8.WP8SoffaW4ZcIIFdJCkD.W5VcP8oQWQPeW7qt.W7GwW5aRB8on.d8o4W6BcJ8kDW6/dNW.fmoDWRJcLmkeqKJdISkwWQO.WOVcP8krWPuk.jZ8qWQGfW5W.wmoAWRRcMmoD.W5aFEmoIWOhdOIDKxf0.vSoOWQVcRSoU.WODSC8k0bCoaxJKMAW.W6aAW5eInq.W4S3jCknsq.W5dcVCosWQ8.xfZdOLFdJCk+.WRpdSSockuSEeG.aCoTWRLXn8ovo8oTWRNcJG.Db7dU8k7WOBdOCoeW4FcQSkT.WPGugmoTF8kTWQ3cN0FdTmknhSklWQS.dCo7WRPGjmosnCoTWOpcLq.WRrcr8kLpq.eHWwWRTbW4NcPSkJmCok.W5JdH8k2nmo3WOFcIwxdMmk1.WQZcL8kSWOme.FmoWWRTl.wSkGW5KGyq.uCoTWQq.W5NcSCos.WQbnvSkYdG.ECoBrd9U.WRxdS8ohCG.W6KNWPCTW6itWQahWRBcNG.W7HzCYK0.W4atr8kHDNOk.cSoZW6ZcJCkrW4G.W5WGbmkAvW.W7SQC8koBG.WOddRwVcQuaTW5brWPDj.WQ7dI8k7WO4.eSkyuSo9.W7VcNSkzW7FcSa.amkiESkODxldHmoymCop.fmkVyCoIW44.W6ChW584BSow.o8oZbJj0.BSkwW6G+xCoIWOZcT8oLCW.fhyFW6y9WP7cHCo6.EmoZxJ1gW4SNuCkVWRe.WPmnWPTLEg/dJSoPEmkc.W4Cvd8oIua.W6JcL8kcW7RcIfTr.W4OvrCkJBxSdwq.W6ysW5aODmoiWOf5nZO.BSkmC8kfjG.F8k9vczsW5DKwmksWR0.lCoqWPzhamo/bmonWOm.W5TVzGGmW6dcRaxdKmk8.WOqoWPHSv2JdM8oNDSkT.W68UsSoRWRu.WP4gWP50DwZdKSoLACkf.kmoCW4JcOCkv.WQJcTmk7WOT9.lCoobCo7W7BdG3xcHSk6xG.WRddIZbJW5GsW5H9vCoM.nXeJWO/cRcpcOmk4W5u.WRpdRSovl30bfdK.sCoRj8od.WO3dJ8k9i8kXWOJcGMhdIa.wSkLW6rZW51RxCo0tSkW.CZG/WPa/W5/dU8ktimo2.W50eimksrG.b8ocyhSlW57dJq.W4CkfSoZEW.WOZdRSkYa8k+.vCkuEq.f10WW6qT.dmo1W6RcI8krWOddISoNW4tcJa.dmoDcCo8W68.W71gnCkZq8kkhCk8zWi.hZtdM8oCoW.fG8AlqW.nLpdJW.WQtdKCktAmkl.gSoqWPNcM8kqt0hcJq.ymoBzbbm.kmkLF8ovW6FdJsGV.W5iNsmomWRfoWRTZWQvb.vY7dSCkvWR3dISo0W7ZcL8kh.W4ZcNSktW4/cSa.W4niqCkkoG.qCksymkV.emoZW7dcG8kdW5K.lujBW5VcRG.ESo4qW.W6zQtCkmiG.vSk4W5a.W5xdItBcHXfh.ptCrWQGv.dmkNW4y.WOC2yqVcKLaQECktWQ8.msioWPFcSW.F8oPvXfZ.W7qcyCobWOi.fGKRjbVdQXdcJmowaG.kLFdTCku.kL3dSCkzFa.WPpdKCkrA8kI.xCoTWQhcImoMj8kuFXCM.ECkIECkRaG.W6CjdColDa.yCkSW6FcT8oqjSk7vY4E.k8o8W57dQmkgd8kbBJ0.W7i2hmoauSofaqRcTSk4.W5tdNdNcGrjpWQHOWPCA.BColj8oJW47dRqi/.W5xdJtVcJaK.WPNdKCkmsSki.uCkPECkHWO4qxW.WQ3dT8kuW4hdIW.lmofWObdpW.fSk6W4yYW7y.dSogz2K.WORdU0VcSXq7W6fEWPfo.dGxcVqxcKCkKuSk0gZddS1e.mI4ZeGq.fSkVvmojW64.W5eEvCkGDgKd.WPFdLSk+W5pdGh7dNCohW5qx.WRddTCoolLSoftFdRCoe.WQ55AWtcJqqNFmkCWQS.Fb3dKCk9WORcTCoeW5RcV8kI.W54WW7ynt8o6WPbJmZ8.r8oZDCkGWPCx.W5OCW4Ocw8kcCmo3WPxdKG.c2PWW5FcLSoIn0i.W6aapmkvuq.WOyRWOPcEG.v8oVCCk3WOK7rmoYdX4.gMldPM0nAW.WPFdQt5kW4y.W551zG.hZ/dISoQmxCJW6dcG8ke.WQVdTSka.smotyWHx.WQBdPSkkxCkfnW.WQnDWRfjbq.kmkFW6u.dSohW53dSSkx.lCo0ma.W6RcNmkA.WQzvyJlcTq.W409WP4KW6u.vfVdVuBdImo8smkNhJ4.l8kEW7exW5iJWOm8.dCkpvq.WP/dUCkvW47dGa.d8oLW7hcN8kaW5i.WQhdQ8ojjv0zw2RcS8kA.W4/dKJNcLG.W6RcImkfW5BcRG.CSoYqa.WQNcQ8k5WPC6rdVdGCoteW.WQu7W581iG.dCoEW67cI8kO.WOZcOCkeWOK1.W5itFSoZWOFdPa.W47dKItcKq.WOxdLSkRvSk8.W4WvB8kR.W5e0xa.WQNdQ8kfvmkFoSkp.fCoif8oiW5q.s8kUwSkwfG.W5WihCoUAG.WPzKyqG.W60QhmogwCoffW.WOldNmkwW7VdUa.W6WwDCowWRi.WRSSWOLIC2ZdImk2jCkz.W50Yg8omWO0BWQX4WQus.WRldKCkUW4ldJ2hdLmkgW5iB.lmkPC8orW6ZdLYu2g8o7.n8o1kdzCWOWR.qCo0CCo0WOSqrCk3cri.pCoPpSo9W6FdLNNcM8kotq.gmocDw0yW5ZdHSo6vW.W7KsW4y.W5GWWPKKW69qW6igWRRcKG.lmocCNWFW4VdJCk5ea.WOjvWPbFfq.W5i7mSoNxmkDgXyjDCo+WQNdOq.qmkWW5nWW7f3s8oJv8kq.W5JcU8ovWQu.W4ivsSoIWOBdUsXC.FSo3nZrvWOS8WRVdMG.WRNcT8kSWOS2rcJcP8oEbq.WQRdT0RcThC.W5PKBq.g3CsW7S.W50AWP42W58.cdxdRCokgWq+W6hdISkd.WP4pWOnHyhxdJmoHmW.WPVdU0VcSfSMW6zAWQvF.W5rZEHe.W7VdM8kYW5VdJ2tdLSohW48b.W6OWfmoauG.W58YtSokWOCBWQ51WRjB.j8oOW4ldKSkBk8kfAq.k3SvW7yZ.q8kKW4L4W4D8wSoPu8k/.W4WJsmkyWOmBWQ5XWQXB.WP3dTSkCW7tdJa.W4iMm8k5CSkrdColDsq.zCoYyszqW4a2D8kAWQ0.W6yapmktrmkfha.W6jbymkjaa.W5KCWObW.ASohg8oNW5NdOa.W5jADCo/WPFdTsXixXi.C8oyWQHGWPa.gCoQWRBcRCkz.ddSjWQJcGa7cLCkWW67cPq.W5O8W7OjrmoGWPP6.tmkoW7m+wa.aCoGvx4J.xmoSWQhcIa.nbLuva.uSoyzqzRW6ebzG.sCoDpCoyW5S.aN4oW7KPWP/cLmoXW5NdMW.vfVdVuBdImo+r8kJpJG.vCoQa8oWW7u.omoGA3aG.D3BdHNpdVCopAmkpkri.bCkXW6xdKSk3z8ohnhi.ociCWRueW5W.W7uGW7S/CW.W5eEqSkUE2SdtG.x8oMWRW.i1xdJ1GSrXBdICoCWQW.tmkhzSkObMddLCoAoSoi.WRtdRCk0WOO8ra.gMldPNSuFq.W5bPuColWO1v.W7rKDaGyW7ZcQIBdQ8kH.DSoxaa.W5/dHKlcQLyDW7W.W6atoa.W4lcTCooWRHn.WPfIAqlcHfC.W5ivDmo3WP3dVG.nSodWOPSeG.p8oRlJTzWOyUWQRcNsW.dsaDWQ7cNrpcPCkuW7xcQq.WQXDz8k2gW.dmkZW5O6W7myWQuawbG.W77dIcBcTtS.gCogWOJcN8ka.D8k5W7jXW6G.W4ypD8oxWQ4.WOfvWOXieSoeiW.W4FcMmkDW7FcGvyvaGq4.W4qdsSouWRm.WPeItmkSkKKkzCopva.usvZW4/cGCoQkKbzWQm.dmkZW5O6W7myWQiawHi.amkyvmo9.uSkJW5j0W7fWqmo0wCkP.cmovWOtcLSkXs0hdGmkzWOO.W6ywW40JD8otWRf/fWO.ACofbSoKW5K.WQPbF8kuoa.W4zIErmyW6RdOqpdQ8k+.WR3dPCknW4ldJq.WPzCEt/cGa.W6W6dmovu8oyf0lcGmk6.hSoGW5VcJCkl.d8kuW5CpW4q.tSoQWQn1WPe.e8owWOK.WOJdJx3cS1W.WP/dPG4.WRldRmk6W7ddOa.lcSadI7dKZhdRCoXma.fmkFvCoKW5hdPqm2jmoe.WR4+e8oju8obaupdS8kH.ESoWWRfeWRVcPmoVbhC.ACowg8oZW4NdPXGXW4hcKW.l8oyjCoSW6G.WOr/AWtcLu0KE8oFWQG.dhfcW4hcImoU.xmoCWPPKWOpcK8oeoe4p.DCo6WRXwWRldO8oZa2i6.lCoVpYnfWPy.oXZdHSoToW.jJCfWPmEW4ddVCkhfSov.oCo3WRDeWRVcUmoO.W6yXW7SyCW.WQNdQmopk0jneJFdTSop.uLVdH1y.m8k9rdOhW4SRqmoBWR8.WOvZEG.WPDgWOXjbmklomkXW5dcLq.pt0oWQJcQG.BSodESkDWRy.bgWDWQ0.W6xcNmkeW6NcGvfuaG58.imoiz10e.WOZdOCk3u8ki.W6dcRCoOWQzC.WQvcrmkwaq.e3pdOW.eSoqWPtdLa.W5BdVJJcIa1oWO9LWOy.pmoXrcPcW4S3uq.W4ahW5CBsCkBASkCW4ZcULautq.hsqiWQtcVW.eNCvW7SpWPtcHCkYW4BdTq.ymo+WR5mWRm.WO/dVb4A.W40YsCorWOXCWRf2WRK.WRZdRrLwW7K/W60sjq.wmoyCHPIW6ywCCkV.W7GCW50TD8oXWRThgXa.oSo7W5xdPCkhpmkuCZOR.WO7dGqbTW6K.jCoWWRn8WPpdP8ovj2bH.r8oLWQFcKmoeiCksEsGi.b8omD2ey.W4qPCmoIWPe.WOv7ASk8.WOmDt8k9A2Ti.nsqqes7dMJFcPSopla.W4RdNXtcJJS.cJZdQCoXbG.W6NdRZdcGJe.W6CAW5aRD8oa.cCo0W6JcJ8kgW5q.W60ygmoWuq.WQpdRCkxtSkqm8kpgI7dHq.sCoUimoEW60.fcqUmG.W6qEFCowWPi.W5WQWPWYW78d.WQJdNSk/W5RdI2K.WOlcPSkSWP4L.fmo0WRTNia.wxhdR0VdMG.WPfOA8k1bSocBc03ya.gZhdOmosh0mYW6e.W4utFSo4WP3dVIvWx0S.WRddShBcJh8.WQ7dGmk1l8kZWOdcMgVdNG.zGtcI8ogkgWOpMVdU8o9DG.p8oTW5/dHmkG.gctdOSoEgWKIW7ZcI8kF.ySkWW6qNua.W4mLW7ODsa.WRhdPmkgfCksWQlcVKhdUa.WRldGSo7ofG.WPDmWPi.wmkqtmk7oW.W7zcFYS5.WQJdI8k8W4ldM34.W4OvvCk7Exeft8kIEG.qmorWQDZWOm.W4D1FrmFW6FcTqxdOmoZ.W4/cTSkWW57cU3D7ia.wmoMz8kGWRervCo0aaG.W67cL8k9W78.cCo0WO98dW.W6flFSkUbW.mCoYq2LgW4SRqmktWRS.eSoJlmomW4pdTv3cQmkvCW.EaNcMCk2WPdcTCooW5ZcRCk+.rCosBmkJWOC.W5WQWPWYW78dW5mAWRFcKa.pSoxWRVcQ8oDqrBdUSktWR4.WPqNWPSGW74eW6GmWQVcMG.WPhdJ8kQmSk2WO3cGgxdMmkP.WOzayq.WPRdMSk2EmkH.nSkcW70FW5iKWPiMEd0.FCocs8khWQCNzmosmq.d8k9BSotW7BdPsfijmoN.W4zjBSk6k8o0W6/dJu3dLG.WQJdI8kVW5/dGgO.W57dTbVcIJe.WPldISkTv8kE.wSkLW7v9W5r6z8oUsmk0.WPigWPS.WPJdRqXd.WPymWOLVENm.WQXsAqdcQa.wSokfCohW7O.tLpdU17dQSo4qCkLary.gt/dTSonf0OWW5/cHCko.W6eDW586ESomWRHnhbi.WOVcTSkvWRSu.ocuobcBdMG.WPZdHCkRW6pdIW.pZKUWRudW4BdVSkt.W6HJxJCS.lCoVld5EWOiMWRJcJq.FSoVnJiqWOyQWRdcGde.W44NsColWOC.W4ivCSoZWPO.uCkNBCk7WPCwfSo7dbG.WQ/dSmkOsCkH.W47dIspcLq4yW4u+.WPpcT8kDWO0H.fSoWW6K2.WRldRSohi00mftFdRCoe.lLpdJSkdFG.WR/dMmkRW5hdJa.WPjkCCk0oa.W5BcU8orWQPbW7m.W5fZw8kLiW.cSkfwmoXW5tdNaKsmCoE.WQxdGmoBd2K.k3tdK2el.nmkvW7WAW4OI.eSoJkCoFW4tdTv/cRmkt.WO16ymoXgSoBtYaMjq.gZOk.lWiBjWK.W5OhW7iNEG.lLtdTCkBWRZdNSoDW4BcR8kG.g3NdSM0rDJ3dJCoWWO0.W509WPGGW6iE.B8kMW7Wkq8kZ.gwtdQg8rFd/dSG.WQtdQ8oLi0W.dwPwW5FcJCoLpMGwWQq.c8o3W7RcUCkmW5tdNmoX.WQ7dKCkVW5pdJ27dKmkgW4qE.W7SDuSkMAq.rSk5W5uOEG.B8oSpCoGW5K.hCkIW4nVW4y.fmobWPRcN8ka.hxeyW7aeWOtcLmkYW4hdVW.W4Pqsa.WOz5zqtcIeO.W6dcI8k7W5ZcTa.kcKpcJRdKhRcOmo0lG.j8kPWRfmWOdcLSojeG.E8ojhCorW6K.WOz3FatcPu05.c8kCW6mdW5y.zCo4WPzuWRG.oCoxhCoJW5K.DSoqDSkFWRq.WQZdPSkqwCkzfSkocZy.W7/dUtVcKIO.Bmo6WRy.e1VdKvOa.WPiEWOHYBq.vmoVWPrFWPq.W7lcKmkAW7ZcIfC.WRJdPSkfxSk3nSkphGNdLq.W6hcKmoY.W5FcUSok.WPzvWPzn.chpdTuGm.hx0vW7iEWP8.WPZdHSkZW5/dRW.WRXTWOP1pa.EXJdU8kCWPO.cshdJCoTlq.W63cR8kwW6ZcSa.v1ddRuBdJmo0bmkKe3C.WOf5FqVcLq.jZKEWQaDW7VdV8kFi8oE.rmkdy8k5oxRdHSouoSov.W4fIEGWiW6O.g2XrW43cHCoMpa.m8oUmInzW4G8WRFcGcy.Fmo8vrPoW5eHrW.W7FcRSo7WO5L.imoZW6pcNSkqW5ldNmkIWPq.v8oraCoaW6u.a8ojCgqFW53dJCoQ.FCobbmoLW5NdPW0SW4VcMq.gCotCMyjW5ZcImo9xwO.rCopWOtcS8oH.W4ddNHJcVdy.W4aBDCo/WPa.owCfbcpdMdBcOSo4ka.ocSxba.WOD4FG.kSkrW6epW7qYWOuSCIa.WQJdI8k8W5tdGMG.W4jwrmk0jmoCWQtdNZxdTq.sv1zW4NcHSoEma.iJGyW6HFWO/dGmkyi8or.wgdcSmkorHaHW6dcM8knWQFdNq.i8o5FGTMW4Wl.f8oGWQTWkSorn8oHWRK.iSkMAmoyW5u.nSo6lq.fZOpWQJcIa7cKCkyW5xcRG.omo+pYnfWPCQWOhcKcO.kJ8tW6evW4RdOmkykCoj.lcSadI7dKZhcSa.C8kSW7qAxq.kx1BW47cGa.FGJdL8kNWOZcU8oDW5dcSmkT.a8ojyhWlW5FdI8o8zMG.W43dMdK.zmkMW6y.W5PWySkula.W4dcTCosWQ9hW7a1bXBdTq.lmo6mdnFWOGAWOVcVqC.W606hSoxx8oE.b3NdSa.W5ldKGtcKq9lWOr2.W7BcJSkdWRxcIf1wfWDW.AqldKSkXWOC.eSoDWPlcLSkhr0hdKa.WOZdJSkYi8k5.kCkEW5SF.W4iEqCoZWRe.uCkHW59eW7O.W5W3DCoSWRe.f8k/q8oNW50.fCoxjmoOystdMSoPeSo3WQNcVG.W5a8WPyTW74uW6uq.W48srCkQDMWdDCkeCa.f8k/q8oBW7e.WQ7cP8kTWO0.ntK2WRlcMW.fmoIimoF.zSk7W7SEq8kOWPhcN8ogwG.WOpdSSospKeabcW.kSo0ntjE.lZKqWQayW4e.W5y8WRWL.W4GqeSo1FW.WQhcNSkgW7RcH1CvbG5Q.W7tdLSkZW4xdMMZdLmkl.W5hcNSo5WQvQ.nuzRW6lcSmougMO2WOS.W7GCW50TD8onWRTFcG.W7ehvCocWRe.osqv.kcez.bL0VW6CW.WQ/dLmkCwCks.W4OMWOCOW6ux.f8oHWQHGmmop.Cmk3W7mpw8k+.z8o8qq1gW5W3.W5eZWOfHW7GvW7ivWRdcKa.WRpcRmkOWPG/qZG.WOzBWOLjhG.fCkEwSoKW43dUW.ACowg8oyW70.W4K2bSkTCq.y8o8qY1iW4GgtCkpWRS.W4NdIXBcIdq.WQ7dPfBcG0i.WQ7dT8kCDCk6.ECoYxJ0.aSoJpSoFWOVcSHhcMCkBEG.W4VcUSk8W5RcSg1Xoszz.imo6W5xdRW.WQpdNxdcGwaxW5fWWRTQ.aCoIp8kAW5ldRL7cRCkcFa.e2rqW5FcT8o+oKyCWRm.W5G+fSojwCosrfpcVmoU.W5lcQ8kNW4NcJq.dSo6WQb6.WR7cP8kOWPW/rsZdR8oerW.pmk1W6mxW7y.g8oHW4VdKSkL.WR/cUSk3WOONwq/dS8oycq.WRhdKmk0W5G.WRvzwI7cPhyuxmk7.WPZcP8k/WO0MwdNcQSku.CSo2WQblWRBcOCoL.W5yvqSkQFNyit8ks.WPXrWQvEeCoipG.WQpdTSkrW5NdOG.W7/cSSovdSofBSkpkXFdOcPr.xSoYDt99.uSoIDCkGWPCwu8oiaXq.WOldSmktCCkw.FGxdNmk3WOldNmozW4FcVCk+.W5agf8o8Ca.FCoPz8kGWOmkvCoYrr8.ESo6WRyfWRhcO8oYv3CM.DCk3W49WW5D7dSo0u8oX.wfVdQKhdVSo5umkU.WOrSDW.F8oSWPnxWQxcRCo5.CfFdHmkrDI4Rcq.W603hSkxcCka.imoQb8oxW4q.W5TICfi.mqyBWRVcPq.n0JdMCku.WP8nWOXKCxldJq.vapdJ8k1WOxdVmotWPpcSCkI.W7eFbCkkvW.wmk/ECkzjq.WPpdQ8knumkHkCoss3hcNW.W51izCkmaSoiW6NdMMZdMq.WQpdNxdcGwaxW4bVWRPK.WP4BWQfVD2hdKSoSCSkF.WPrer8k+mW.WQZdPh/cHxK.kgDNW7hcVq.WO8EWRrNEG.E8o+WQP3WRJcO8oTbfmR.WOxdKCkdxCk9.eMOEW7qEWPlcUCo/W5pdUq.WRhdMSk+W4ldI2NcMmkfW59s.mL3dN8krDZyOh3q.gxKpWRuAWOlcK8o+W5VdUq.WQ/cKSkVW5pdN3JdKCkvW4mb.Ct8nbdRdGdZcRmoPkG.CCkeW4rFW7y.W7eyBSo0WPC.uGldOCkIWRm.W7ajF8o9WR1+WPzg.uSkLW4m8W4DVsCoYxCk1.fmoyfHzKWROlWPhcUqi.WQldImkXW6FdRW.W5tdMhRcGrrrWOTZWO8A.yCo0WPRcQCoR.smksyCkSBZRcMCovmmoy.W7dcMmktW43cJG.pZKwWQqF.WQfBz8kslq.WRxdUHLdW78.W6FcSSoXWODz.rxZdGL3dPq.ASoqbSo+W5ldOW.rSk4W4j5W5r2qmoLwa.imoKw0K+W6BdPCoqDvu.WQjUWPHpfa.WQJdRH93W6O.WQpdRCkxtSkqmCkahG7dGW.WPmhWObHFw4.zCoRWRnrWQlcVW.qSofBCkbWPC.W7GvpG.b8ooDhOlW43dGCo2xhq.zSkTW6eigCo7WOhcJSonwG.W40AimoUECoVo3FcN8kp.W6JcJCkeW7NcOW.A8keemo4W5hdPqu2WOddNq.BCoLCmkSWQ4.xCkCW45ZW6O.W4qFBSoXWRO.WOLUtH/cPW.WQhdSCoai0imaZldPW.AH/dKmkGWOW.W5W8WOm.d8kfvCoJ.W4dcTCosWQ9hW7aIkYVdLa.rCoVWRz/WP4.W6eDW5OPFComWRPjgG.xSoOFCk6.nCkeW7mzW4SI.W6Ksc8oeAW.WPPBWPfy.a30iW7OgWOhcLmo2W6hdSW.fSkJWRFcNCo1jCkooIiQ.WR/cRmkO.qmoMWQhcIa.FSoZzc0.jZKEWQaDW4FdV8khmG.WONdVaPlW6iQW6fuFG.WPddPXfm.m08zW548.WORdHmk/i8kLWOtcGMFdIq.W4rsqmkRjmk2W67dGxhdKG.k21kW5ddHmobgK0yWRq.lSoieSoPW6FdN2pcJmkJ.WPilWPLPE27cKa.qmkMW4P1W4y.nmo0nZK.l8kEW6qAW4SUWOi.otitad3dNtNcPSo1nW.WQhdK8kGFmk8.bCo5WQv7mSozmSoyWRBcJG.WPpdJmkXAmkUe8kQob/dOG.hZ/dKmonde05W7u.jCobWObBc8oVcComWP7cQa.dmo5W6VcHa.kmoZW6pdGmkc.W5SOt8olW4XxWRD3.W5xdIsxcJbnf.gCosWOlcN8oefW.sSorg8o4W5e.WPtdHwpdLWvZWOTeWQ49.WR/dRCkax8kxnSknhJ4.ocyrWQGf.W7Svka.WPtdGmkQmSkeWPtcJ2FdICkZ.W4W8WPeKW60zW64gWR0.WR/cRmkOWPaHrtldP8otba.WQJdTCkqW4hdVW.CCkMW7mox8k+WQBdHSka.W6yEiSkzrmkcb8ksDqe.W5ldKJZcGbm`.split(`.`);return L=function(){return e},L()}async function R(t,n,r=u[e(1376,`P50[`)](A(),e(813,`tycJ`)+e(1394,`jl*C`))){let i=e,a={aerQt:function(e,t){return e(t)}};await l[i(448,`tycJ`)](u.dirname(r),{recursive:!0});let o=JSON[i(1104,`@oTl`)]({at:new Date()[i(1308,`^^j9`)+`g`](),event:t,domain:I(n[i(520,`BEaJ`)]),installationId:I(n[i(881,`Njfh`)+i(869,`[FMn`)]),reference:a[i(1165,`jRSt`)](I,n[i(886,`dx*c`)])});await l[i(405,`n9Aq`)](r,o+`
7
+ `,i(1020,`P50[`))}let z=e(1074,`!7Yu`)+`e`,se=`startup`,ce;function le(e){ce=e}function B(t,n=o[e(1214,`@oTl`)]()){let r=e,i={bYGWk:function(e,t){return e===t},PzJYg:`invalid`,cZxEH:function(e){return e?.()}};z=t,se=n,i[r(921,`X*[W`)](t,i.PzJYg)&&i[r(562,`6!o6`)](ce)}function V(){return{status:z,reference:se}}function ue(){let t=e,n={Jmkij:function(e,t){return e===t},VOmPC:t(1255,`n9Aq`)};return n[t(478,`tycJ`)](z,n[t(1239,`tycJ`)])}function de(t=Bun[e(564,`&hD&`)][e(1326,`jl*C`)]===`production`){let n=e;return!!(z===`invalid`||t&&{SLASF:function(e,t){return e===t}}[n(1514,`zdSq`)](z,n(374,`sILL`)+`e`))}function H(){let t=e,n={hAiKJ:function(e,t){return e===t},Ezgoj:function(e,t){return e===t},Ntpnc:t(1332,`7DZY`)+t(858,`S5Cf`)+`0`};return Bun.env[t(940,`jRSt`)+t(668,`NMHr`)+`_URL`]||(n[t(682,`dx*c`)](Bun[t(982,`P50[`)][t(786,`s5L$`)],t(1175,`7DZY`)+`t`)||n.Ezgoj(Bun[t(558,`s5L$`)][t(923,`7Qr(`)],t(1372,`Z@ID`))?n[t(771,`BEaJ`)]:f)}async function U(t){let n=e,r={UfMLq:function(e){return e()},jGZSz:`POST`,hpafv:n(612,`zdSq`)+n(944,`jl*C`),Vunwi:function(e,t){return e(t)},Vxxmd:function(e,t){return e(t)},cptxV:`production`,NuuWY:function(e,t){return e!==t},BFfaz:n(716,`S5Cf`),yGSfL:`This license is already active`+n(1073,`kYJC`)+n(1353,`&G9b`)+n(1460,`jl*C`)+n(694,`jJVg`)+n(1032,`[FMn`),Kmkbt:function(e,t){return e(t)},sGMvZ:n(962,`zdSq`)+n(1018,`NMHr`)+n(1105,`@oTl`)+n(1487,`XOpo`)+n(539,`X*[W`)+`try again later.`};try{let e=t[`registryEn`+n(511,`ynhv`)]??r[n(1337,`zh9C`)](H),i=await(t[n(611,`mcuw`)]??fetch)(e+(n(689,`n9Aq`)+n(519,`]kS&`)),{method:r[n(672,`ynhv`)],headers:{"Content-Type":r[n(415,`GD][`)]},body:JSON[n(1375,`P50[`)]({purchaseCode:t[n(1450,`jl*C`)+`de`],domain:r.Vunwi(S,t[n(535,`[FMn`)]).host,siteSlug:t[n(766,`S5Cf`)],domainScope:t.domainScope,provider:t[n(1132,`jRSt`)],routingMode:t[n(1134,`rSET`)+`e`],installationId:t[n(400,`7#Yu`)+n(1373,`kYJC`)],environment:r[n(1207,`rSET`)](S,t.domain).isLocalhost?n(591,`1S73`)+`t`:r[n(1017,`1S73`)]})}),a=await i.json();return i.ok===!1||r[n(1182,`&G9b`)](a[n(1257,`s5L$`)],r[n(410,`NMHr`)])||!a[n(413,`GD][`)]?.[n(1334,`XOpo`)]?{success:!1,message:a[n(772,`dx*c`)]??r.yGSfL}:{success:!0,buyer:a.data[n(1459,`BEaJ`)]??n(1235,`S5Cf`),token:a[n(1190,`L&vX`)][n(560,`L&vX`)],domain:a[n(822,`dx*c`)].domain??r[n(547,`n9Aq`)](S,t[n(1100,`L&vX`)])[n(1264,`kYJC`)]}}catch{return{success:!1,message:r[n(1523,`kYJC`)]}}}async function fe(t){let n=e,r={MfEeO:n(751,`zdSq`),BWbKV:function(e,t,n,r){return e(t,n,r)},wETrZ:n(838,`mcuw`)+`cted`,qUxKI:function(e,t,n){return e(t,n)},qagVj:`Local license valida`+n(624,`Z@ID`)+`d.`,maFhJ:function(e,t){return e>t},KycSn:function(e,t){return e/t},fEKqG:function(e,t){return e-t},XuqPF:function(e,t,n){return e(t,n)},riSlk:n(1407,`BEaJ`)+n(1189,`L&vX`),ZbKKA:`check_unreachable`,itpbG:function(e,t){return e(t)},pofwj:function(e,t,n){return e(t,n)},wFeln:function(e){return e()},VNuVT:n(953,`@oTl`)+n(942,`n9Aq`),YcKMV:function(e,t){return e(t)},ORggL:n(828,`Njfh`)+n(1318,`Njfh`)+n(695,`jl*C`)+n(1300,`]kS&`),ewYms:function(e,t){return e!==t},ExYJq:`success`,QtKBG:function(e,t,n){return e(t,n)},iMbHZ:function(e,t){return e!==t},mpAGh:`License bi`+n(618,`oqyn`)+`cted by jc`+n(1254,`oqyn`)+`e.`,BbTxs:n(1467,`ynhv`)+`ess`,sHxBF:`valid`,JEyHC:n(434,`7DZY`)+n(393,`Je()`)+n(784,`X*[W`)},i=t[n(1154,`SeOF`)]??fetch,a=t[n(1119,`s5L$`)+`Validator`]??((e,r,i)=>t[n(530,`okI)`)+`ions`]?Q(e,r,i,t[n(985,`s5L$`)+n(859,`sILL`)]):!1),s=(e,i)=>{let a=n,s=o[a(1362,`zh9C`)]();return B(r[a(439,`kYJC`)],s),r[a(1153,`mcuw`)](R,r[a(1248,`NMHr`)],{domain:e,reference:s},t.auditPath),{status:a(1385,`U]y(`),error:i,reference:s}},c=e=>{let i=n,o=S(t[i(1130,`oqyn`)])[i(867,`sILL`)];if(!r[i(1377,`NMHr`)](a,t[i(489,`6W9l`)],o,t.installationId))return r[i(1230,`s5L$`)](s,o,r[i(1333,`zdSq`)]);let c=t[i(1423,`SeOF`)+`dDays`]??30;if(r[i(1071,`1Zwv`)](c,0)&&t[i(941,`7DZY`)+i(1028,`Z@ID`)+`t`]){let e=Date[i(971,`&G9b`)](t[i(1069,`mcuw`)+i(758,`jJVg`)+`t`]);if(!Number[i(623,`^^j9`)](e)){let t=r[i(1454,`SeOF`)](r[i(776,`NMHr`)](Date[i(680,`sILL`)](),e),864e5);if(r[i(840,`P50[`)](t,c))return r[i(957,`sILL`)](s,o,`License ve`+i(1113,`S5Cf`)+i(1240,`zdSq`)+i(620,`NMHr`)+`ed (`+Math.floor(t)+(` days offl`+i(1196,`XOpo`)+i(505,`tycJ`)+i(880,`jl*C`)+i(1142,`NMHr`)+i(762,`n9Aq`)))}}return B(r.riSlk),r[i(874,`tycJ`)](R,r[i(1103,`]kS&`)],{domain:o},t[i(420,`jRSt`)]),{status:i(464,`s5L$`)+i(643,`7DZY`),token:t[i(595,`S5Cf`)],error:e}};try{let e=r[n(1352,`zdSq`)](S,t[n(1117,`zh9C`)])[n(642,`Je()`)],a=await r[n(1206,`])wM`)](i,(t[`registryEn`+n(421,`@oTl`)]??r.wFeln(H))+(n(1442,`Z@ID`)+n(459,`g[G%`)),{method:n(426,`!7Yu`),headers:{"Content-Type":r[n(1066,`6!o6`)]},body:JSON[n(1021,`jl*C`)]({token:t[n(906,`tycJ`)],domain:e,routingMode:t.routingMode,installationId:t[`installati`+n(1e3,`HZT$`)]})});if(!a.ok)return a[n(663,`zdSq`)]>=500?r.YcKMV(c,n(659,`]kS&`)+a[n(1346,`6!o6`)]):s(e,r[n(1036,`sILL`)]);let o=await a[n(1267,`okI)`)](),l=o[n(1164,`ynhv`)]?.[n(852,`oqyn`)];if(r[n(1416,`g[G%`)](o[n(1251,`1Zwv`)],r[n(653,`Fswn`)])||!l)return r[n(979,`6!o6`)](s,e,r[n(1301,`1S73`)]);if(!(t[n(553,`tI[S`)+n(1361,`s5L$`)]&&Q(l,e,t[n(570,`7DZY`)+n(468,`mcuw`)],t[n(690,`Njfh`)+`ions`]))&&!t[n(1174,`XOpo`)+n(1053,`$2Ce`)])return r[n(615,`Njfh`)](s,e,r[n(1316,`SeOF`)]);if(t[n(1024,`7Qr(`)+`Validator`]&&!t[n(585,`Z@ID`)+`Validator`](l,e,t[n(440,`6!o6`)+n(477,`]kS&`)]))return r[n(1099,`n9Aq`)](s,e,n(607,`rSET`)+n(1172,`HZT$`)+n(777,`GD][`)+n(1013,`X*[W`));let u=r[n(726,`])wM`)](Y,l);return!u||r.iMbHZ(u[n(571,`kYJC`)+n(1512,`rSET`)],t[n(760,`jJVg`)+n(1222,`U]y(`)])||u[n(922,`1S73`)+`e`]!==t[n(1527,`]kS&`)+`e`]?r[n(652,`7DZY`)](s,e,r[n(395,`tycJ`)]):(r[n(877,`Njfh`)](B,n(1188,`7#Yu`)),R(r[n(1121,`jRSt`)],{domain:e},t[n(812,`okI)`)]),{status:r[n(1126,`L&vX`)],token:l})}catch{return c(r[n(781,`L&vX`)])}}function W(t,n,r=`localhost`,i){let a=e,s={rBETh:function(e,t,n,r){return e(t,n,r)},uRvOj:function(e,t){return e(t)},OYdsi:a(469,`7#Yu`),wvNFh:`hex`};if(!t||!s[a(998,`7Qr(`)](Z,t,r,i))throw Error(a(1293,`Fswn`)+`derive key`+a(382,`1Zwv`)+a(1112,`1Zwv`)+n+(a(1492,`jJVg`)+a(677,`tI[S`)+a(902,`jJVg`)));let c=s[a(1475,`1Zwv`)](Y,t);if(!c)throw Error(a(1510,`[FMn`)+a(497,`zh9C`)+a(723,`$2Ce`)+a(386,`]kS&`)+n+(`": Invalid`+a(397,`6W9l`)+a(1504,`7#Yu`)));let l=t.split(`.`)[2]||``;return o[a(1317,`NMHr`)](s[a(1500,`Je()`)],l)[a(1412,`Fswn`)](c.domain+`:`+c[a(853,`HZT$`)+a(869,`[FMn`)]+`:`+n)[a(475,`jRSt`)](s[a(378,`7Qr(`)])}function pe(t,n){let r=e,a={XGuql:function(e){return e()},rEZrv:r(1193,`Njfh`),Fzzhe:function(e){return e()},OFfYD:r(1522,`kobt`),QiSeu:function(e,t){return e!==t},bzYAp:r(1244,`7Qr(`)};if(a[r(713,`BEaJ`)](i))return[a[r(600,`1Zwv`)],r(1092,`P50[`),r(1386,`L&vX`)+`al`];let o=M(),s=o?.[r(1033,`L&vX`)+r(850,`zdSq`)]??a[r(541,`$2Ce`)](N);return s?Z(s,t??(typeof Bun===a[r(554,`7DZY`)]?void 0:Bun[r(1125,`1S73`)]?.[r(1266,`zdSq`)+`IN`])??(a[r(846,`ynhv`)](typeof process,a[r(658,`U]y(`)])?process.env?.JCHAT_DOMAIN:void 0)??a[r(1393,`okI)`)],{allowOfflineGrace:!0,lastSuccessfulCheckAt:o?.[r(787,`jl*C`)+r(617,`])wM`)+`t`],...n})?Y(s)?.[r(1464,`$2Ce`)]??[a[r(743,`s5L$`)]]:[a[r(1060,`S5Cf`)]]:[a[r(872,`!7Yu`)]]}function me(t,n){let r=e,a={EzGEM:r(471,`&hD&`),oVoAu:function(e){return e()},RfgUf:function(e,t){return e!==t},SRSRi:r(442,`mcuw`),bwyXH:r(1509,`7#Yu`),DFHxn:function(e,t,n,r){return e(t,n,r)},ebPVO:function(e,t){return e(t)}};if(i())return a[r(1138,`])wM`)];let o=M(),s=o?.[r(748,`kYJC`)+r(939,`Z@ID`)]??a.oVoAu(N);if(!s)return a[r(1312,`tI[S`)];let c=t??(a[r(1343,`P50[`)](typeof Bun,a[r(1272,`zdSq`)])?Bun[r(1437,`S5Cf`)]?.[r(992,`6!o6`)+`IN`]:void 0)??(typeof process<`u`?process.env?.JCHAT_DOMAIN:void 0)??a[r(1224,`Fswn`)];return a[r(856,`Njfh`)](Z,s,c,{allowOfflineGrace:!0,lastSuccessfulCheckAt:o?.[r(423,`7Qr(`)+r(969,`X*[W`)+`t`],...n})?a[r(444,`zdSq`)](Y,s)?.[r(734,`[FMn`)]??a[r(1180,`zh9C`)]:r(1252,`])wM`)}function he(t,n,r){let i=e,a={xYlEp:function(e,t){return e===t},JotUn:i(414,`tycJ`),DLSHm:i(422,`Z@ID`),jPLIq:function(e,t,n){return e(t,n)}};return a[i(1306,`7DZY`)](t,a[i(1008,`dx*c`)])||t===a[i(1200,`s5L$`)]?!0:a[i(1462,`S5Cf`)](pe,n,r)[i(392,`rSET`)](t)}function ge(t,n=e(1366,`U]y(`),r,i,a){let o=e,s={mrMlJ:o(471,`&hD&`),qCgBn:function(e,t){return e!==t},tdXeE:o(1007,`zdSq`),DNyIH:function(e){return e()},NtLka:o(1340,`Fswn`),bkyRi:function(e,t){return e!==t},miDPz:o(1374,`XOpo`),gxASW:function(e,t){return e!==t}};if(n!==s[o(394,`s5L$`)]&&s[o(590,`jl*C`)](n,s[o(780,`g[G%`)])&&!he(n,i,a))return{isValid:!1,featureKey:t,stage:n,siteId:r,error:o(889,`dx*c`)+t+(o(657,`oqyn`)+` "`)+n+(o(1370,`Z@ID`)+o(823,`tI[S`)+o(1445,`1Zwv`)+o(742,`7DZY`)+o(1075,`&hD&`)+o(895,`@oTl`))};let c=M()?.[o(1065,`[FMn`)+`ken`]??s.DNyIH(N),l=i??(s[o(837,`jJVg`)](typeof Bun,s[o(700,`S5Cf`)])?Bun[o(1503,`kYJC`)]?.[o(804,`L&vX`)+`IN`]:void 0)??(s[o(710,`Z@ID`)](typeof process,s[o(1127,`7Qr(`)])?process.env?.JCHAT_DOMAIN:void 0)??s[o(644,`XOpo`)],u;try{c&&(u=W(c,t,l,a))}catch{if(s[o(490,`ynhv`)](n,o(604,`6W9l`))&&s.gxASW(n,s[o(1223,`7#Yu`)]))return{isValid:!1,featureKey:t,stage:n,siteId:r,error:o(502,`g[G%`)+t+(`" cryptogr`+o(831,`&hD&`)+o(907,`jl*C`)+o(990,`Je()`)+o(715,`HZT$`))}}return{isValid:!0,featureKey:t,stage:n,siteId:r,executionToken:u}}async function _e(t,n,r,i,a,o=e(685,`zh9C`),s=fetch){let c=e,l={XPpoc:function(e){return e()}}.XPpoc(ae);try{let e=await U({purchaseCode:t,domain:n,siteSlug:r,domainScope:i,routingMode:a,provider:o,installationId:l[c(1080,`$2Ce`)+c(477,`]kS&`)],fetchImpl:s});return e[c(876,`tycJ`)]?{valid:!0,buyer:e[c(958,`X*[W`)],token:e[c(1221,`$2Ce`)],domain:e.domain,state:l}:{valid:!1,error:e.message}}catch{return{valid:!1,error:c(1271,`tycJ`)+`verify lic`+c(1350,`])wM`)+c(416,`$2Ce`)+c(1003,`ynhv`)+c(1382,`jJVg`)}}}const ve=new Set([e(997,`6!o6`),`/api/v1/li`+e(993,`6!o6`)+`us`]);function ye(t={}){let n=e,r={KMHGh:n(767,`&G9b`),cpwEO:n(1509,`7#Yu`),yVrnH:function(e){return e()},KyUhp:function(e,t){return e!==t},Ldoxv:function(e,t){return e===t},HPCdh:function(e,t){return e(t)},sGgUm:function(e,t){return e>=t},QYrYE:n(1229,`[FMn`)+n(551,`mcuw`),HPIWz:function(e,t){return e===t},OTbgr:n(1178,`@oTl`)+n(1079,`oqyn`)+n(1156,`6!o6`),WQAzn:function(e,t){return e(t)},zEqlQ:`global`};r[n(540,`rSET`)](Se,t);let i=t[n(1388,`1Zwv`)+`hs`]??ve;return new d({name:n(699,`@oTl`)+`me`})[n(1530,`^^j9`)]({as:r[n(1275,`U]y(`)]},()=>({runtimeStatus:V()}))[n(1086,`^^j9`)+`ndle`]({as:r[n(963,`jl*C`)]},async({request:e,set:a})=>{let o=n;if(e.method===r.KMHGh&&e[o(775,`7DZY`)][o(1220,`X*[W`)](o(1428,`g[G%`)+`es`)){let e=t[o(951,`7#Yu`)]??r[o(647,`S5Cf`)],n=await r[o(810,`tycJ`)](P),i=r[o(501,`7#Yu`)](t[o(1236,`@oTl`)],void 0)?t[o(1256,`ynhv`)]:n?.[o(641,`tI[S`)+o(546,`7Qr(`)],s=!r[o(1435,`sILL`)](Bun[o(1163,`zh9C`)][o(630,`dx*c`)],o(1025,`okI)`))&&T(e)?1/0:r.HPCdh($,i);if(r[o(1039,`tycJ`)](await r[o(555,`XOpo`)](Te,t),s))return a[o(833,`mcuw`)]=403,{status:r[o(496,`kobt`)],message:o(461,`Fswn`)+o(1516,`SeOF`)+o(1406,`])wM`)+s+o(1152,`&G9b`)+(r[o(820,`1Zwv`)](s,1)?``:`s`)+(o(986,`tycJ`)+o(755,`kYJC`)+o(1265,`!7Yu`)+o(1327,`Fswn`)+o(1108,`mcuw`)+`ense to create addit`+o(999,`S5Cf`)+`s.`),reference:r[o(955,`kobt`)]}}return we(e,a,i)})}var G=class extends Error{[e(936,`XOpo`)]=403;[e(976,`tycJ`)+`atus`];[e(656,`g[G%`)];constructor(t,n=e(1056,`g[G%`)+e(536,`jJVg`),r=e(709,`7#Yu`)+e(662,`kYJC`)){let i=e;super(t),this.name=i(945,`]kS&`)+`biddenError`,this[i(593,`S5Cf`)]=n,this[i(903,`tI[S`)+i(791,`7DZY`)]=r}};function be(t){let n=e,r={proOA:`x-site-id`,QeOlY:n(1517,`zdSq`),wMtaW:n(1374,`XOpo`),zpCln:function(e,t,n,r,i){return e(t,n,r,i)},AYUDa:n(1434,`&hD&`)+`thorized`,SIttz:n(1287,`mcuw`)+n(627,`zh9C`),tIxOe:function(e,t,n){return e(t,n)},jwuPE:`entitlement-unauthor`+n(1302,`6W9l`),QnvDc:n(481,`jRSt`)+n(1330,`sILL`)+`d`,Gbwbc:n(991,`rSET`),TQbSy:n(918,`&G9b`)},{feature:i,stage:a=r[n(1324,`7#Yu`)],requiredEntitlement:o}=t;return new d({name:`runtimeFea`+n(578,`Njfh`)+i})[n(479,`tI[S`)]({as:r.TQbSy},async e=>{let o=n,{headers:s}=e,c=e[o(968,`Fswn`)+`t`],l;t[o(970,`7Qr(`)+`eId`]&&(l=await t[o(970,`7Qr(`)+o(1081,`kobt`)](e)),l||=e[o(1369,`NMHr`)+o(805,`6W9l`)]??c?.[o(629,`oqyn`)]?.id??s[r[o(1258,`&G9b`)]];let u=t[o(1237,`XOpo`)]??(typeof Bun===r[o(706,`n9Aq`)]?void 0:Bun[o(1191,`Je()`)]?.[o(966,`U]y(`)+`IN`])??r[o(1367,`tycJ`)];return{featureContext:r.zpCln(ge,i,a,l,u)}})[n(1086,`^^j9`)+`ndle`]({as:n(1176,`]kS&`)},async e=>{let a=n,{set:s,featureContext:c}=e;if(!c||!c[a(702,`zh9C`)])throw s[a(744,`7Qr(`)]=403,new G(c?.[a(417,`1Zwv`)]??a(1181,`GD][`)+i+(a(1001,`kYJC`)+a(1067,`]kS&`)+a(631,`Njfh`)+`cense stage.`),r.AYUDa,r.SIttz);if(o&&!r[a(1026,`P50[`)](Le,o,t[a(512,`rSET`)]))throw s[a(839,`jRSt`)]=403,new G(a(1022,`P50[`)+i+(a(446,`!7Yu`)+a(528,`jRSt`)+a(436,`Fswn`))+o+`".`,r[a(449,`XOpo`)],r[a(1502,`s5L$`)]);if(t[a(738,`tI[S`)+a(636,`&G9b`)]&&c.siteId&&!await t.isSiteEnabled(c[a(531,`GD][`)],i))throw s[a(494,`]kS&`)]=403,new G(a(1280,`n9Aq`)+i+(a(482,`[FMn`)+a(1292,`6!o6`)+`is site.`),r.QnvDc,a(1203,`@oTl`)+a(1045,`Njfh`))})}async function xe(t={}){let n=e,r={OoXvZ:function(e,t){return e===t},wtqxI:`production`,RKjtM:function(e,t){return e(t)},ovAmI:function(e,t){return e(t)},xTwzn:`valid`,iSgFN:function(e,t){return e(t)},OPAcN:n(1466,`tycJ`),NJJKp:`unreachabl`+n(643,`7DZY`),FYiqD:function(e,t){return e===t},KmJnr:n(883,`@oTl`),DoTmZ:function(e,t,n){return e(t,n)}},i=t[n(1345,`jJVg`)]??`localhost`,a=r[n(1286,`kYJC`)](Bun[n(727,`Z@ID`)][n(470,`L&vX`)],r[n(508,`kobt`)]);if(r.RKjtM(T,i)&&!a)return r.ovAmI(B,r[n(1118,`^^j9`)]),null;let o=await P();if(!o?.[n(1033,`L&vX`)+n(1348,`BEaJ`)])return r.RKjtM(B,t[n(769,`Fswn`)+`pComplete`]?r[n(588,`dx*c`)]:n(1098,`7Qr(`)+`e`),null;let s=await r[n(983,`Njfh`)](fe,{token:o[n(1344,`SeOF`)+n(1210,`sILL`)],domain:i,routingMode:t[n(1097,`g[G%`)+`e`]??r[n(1472,`XOpo`)],installationId:o[n(440,`6!o6`)+n(1070,`zdSq`)],lastSuccessfulCheckAt:o[`lastSucces`+n(930,`NMHr`)+`t`],gracePeriodDays:30,runtimeOptions:{publicKeyPem:t[n(1051,`7#Yu`)],allowOfflineGrace:!0,lastSuccessfulCheckAt:o[n(1402,`$2Ce`)+n(617,`])wM`)+`t`],gracePeriodDays:30}});return r[n(1325,`&hD&`)](s[n(524,`tI[S`)],r[n(1415,`jRSt`)])?(s[n(1408,`sILL`)]&&await r[n(1261,`sILL`)](F,s[n(1107,`7#Yu`)]),B(n(454,`GD][`))):r[n(1325,`&hD&`)](s[n(994,`@oTl`)],r[n(1409,`^^j9`)])?B(r[n(761,`GD][`)]):r[n(1457,`tycJ`)](s[n(1064,`Njfh`)],r.KmJnr)&&(r[n(959,`Fswn`)](B,r[n(1232,`1S73`)],s[n(1378,`$2Ce`)]),t[n(1505,`$2Ce`)+`te`]&&t[n(401,`7#Yu`)+`te`]()),s}async function Se(t={}){let n=e,r={xILoL:function(e,t){return e(t)},bqNTS:function(e,t){return e===t},EMlAh:n(910,`Fswn`),QhqSW:n(798,`XOpo`),CRwOD:function(e){return e()},AqIhn:`unavailable`,HlRqJ:n(447,`&G9b`)+`match`,dgvgb:function(e,t){return e>t},rewgN:function(e,t,n){return e(t,n)},xdRnl:`invalid`,ZcncY:n(1379,`^^j9`)+n(1322,`L&vX`)+n(1012,`jRSt`),MggTT:function(e,t){return e(t)},HUhVJ:function(e,t){return e*t},XIImo:function(e,t){return e*t}};if(!(t[n(583,`]kS&`)+n(1141,`X*[W`)]??(!Bun[n(1191,`Je()`)][n(424,`jJVg`)]||Bun.env[n(1279,`Je()`)]===`0`)))return;let i=t[n(1144,`Je()`)]??n(491,`P50[`);t[n(705,`X*[W`)+`te`]&&r[n(960,`jl*C`)](le,t[n(1452,`&hD&`)+`te`]);let a=r[n(1225,`jl*C`)](Bun[n(564,`&hD&`)][n(486,`Je()`)],r.EMlAh);if(r[n(1284,`Njfh`)](T,i)&&!a){B(r[n(1276,`okI)`)]);return}let o=await r.CRwOD(P),s=t[n(1219,`&hD&`)]===void 0?o?.[n(667,`6W9l`)+n(855,`s5L$`)]:t[n(852,`oqyn`)];if(!s){r[n(427,`&hD&`)](B,t[n(718,`&hD&`)+n(1014,`sILL`)]?r[n(526,`g[G%`)]:r.AqIhn);return}if(!Z(s,i,{publicKeyPem:t[n(862,`n9Aq`)],allowOfflineGrace:!0,lastSuccessfulCheckAt:o?.[n(1270,`rSET`)+n(892,`Fswn`)+`t`],gracePeriodDays:30})){B(n(579,`!7Yu`),r[n(1072,`^^j9`)]);return}if(r[n(1115,`Njfh`)](await Te(t),!a&&r[n(1338,`HZT$`)](T,i)?1/0:r[n(1088,`sILL`)]($,s))){r[n(1411,`6!o6`)](B,r.xdRnl,r[n(909,`NMHr`)]);return}r[n(789,`zdSq`)](B,r[n(759,`jl*C`)]);let c=t[n(1289,`&hD&`)+n(1253,`kYJC`)]??1,l=r[n(989,`!7Yu`)](r.HUhVJ(r[n(492,`zdSq`)](r[n(1089,`SeOF`)](Math[n(887,`7Qr(`)](1,c),24),60),60),1e3),u=r[n(1356,`7#Yu`)](setInterval,()=>{xe(t)},l);r[n(1170,`g[G%`)](typeof u[n(1447,`XOpo`)],n(1425,`okI)`))&&u[n(655,`7Qr(`)]()}function Ce(t,n,r){let i=e,a={ndPwK:function(e,t){return e===t},YNNAp:function(e,t){return e===t},fvMex:i(1074,`!7Yu`)+`e`,JOqyU:i(1241,`Njfh`),pEoYV:i(425,`P50[`),cJEnB:i(597,`Fswn`),Iumtc:i(1478,`g[G%`)+`co`};return r[i(509,`sILL`)](t)?!0:n===i(640,`$2Ce`)?a[i(825,`L&vX`)](t,`/install/upgrade-lic`+i(577,`$2Ce`)):a[i(844,`kYJC`)](n,a.fvMex)?a.ndPwK(t,a.JOqyU)||t[i(548,`S5Cf`)](a[i(826,`s5L$`)])||t[i(954,`1S73`)](a[i(1242,`zh9C`)])||t[i(445,`n9Aq`)](`/_`)||t===a[i(380,`Z@ID`)]:!1}function we(t,n,r=ve,i=Bun.env.NODE_ENV===e(910,`Fswn`)){let a=e,o={rTeGr:a(383,`])wM`)+a(679,`s5L$`),HswKg:a(432,`L&vX`),jomUw:function(e,t){return e(t)},kxFzF:a(1453,`^^j9`)+a(1019,`6!o6`),VcZpf:a(732,`oqyn`)+a(1204,`XOpo`)+a(639,`6!o6`)+a(911,`jl*C`)+a(919,`7#Yu`)+a(603,`])wM`)+`his domain.`,GQHAe:`public-hos`+a(1321,`Njfh`)+a(1015,`kYJC`),DCjWT:function(e,t){return e===t},Sbzjc:`valid`,Suoom:a(1136,`Njfh`)+`e-fallback`,SZcUc:a(537,`BEaJ`)+`e`},{status:s,reference:c}=V(),l=[t[a(649,`dx*c`)].get(o[a(621,`okI)`)]),t[a(1303,`jJVg`)][a(1211,`])wM`)](o[a(1288,`SeOF`)])].filter(Boolean);for(let e of l){let t=e[a(1521,`s5L$`)](`,`)[0][a(1431,`kobt`)]()[a(633,`1S73`)](`:`)[0][a(914,`kYJC`)+`e`]();if(t&&o.jomUw(C,t)&&o[a(790,`^^j9`)](T,Bun[a(522,`1Zwv`)][a(763,`!7Yu`)+`IN`]||a(438,`mcuw`)))return n[a(1531,`zh9C`)]=403,{status:o[a(676,`L&vX`)],message:o[a(865,`n9Aq`)],reference:o.GQHAe}}if(!(o.DCjWT(s,o[a(1449,`kobt`)])||o[a(851,`Je()`)](s,o[a(1397,`&G9b`)]))&&(i||!o.DCjWT(s,o[a(598,`kYJC`)]))&&!Ce(new URL(t.url).pathname.replace(/\/+$/,``)||`/`,s,r))return n[a(744,`7Qr(`)]=503,o[a(1063,`]kS&`)](s,o[a(582,`6!o6`)])?{status:`license_un`+a(1358,`S5Cf`),message:`This JChat`+a(1483,`mcuw`)+a(466,`zh9C`)+a(460,`zh9C`)+a(965,`rSET`)+a(1493,`Njfh`)+a(800,`Je()`)+a(712,`7Qr(`),reference:c}:{status:o[a(1357,`Je()`)],message:a(1380,`rSET`)+` installation is dis`+a(888,`oqyn`)+a(884,`mcuw`)+a(901,`g[G%`)+a(673,`SeOF`),reference:c}}async function Te(t){let n=e,r={iLBsG:function(e,t){return e in t},ktcxE:n(592,`tI[S`),SpdZI:function(e,t){return e!==t},cihsE:function(e,t){return e(t)}};if(t.getSiteCount)try{return await t[n(550,`Njfh`)+`nt`]()}catch{return 0}let i=Bun[n(1371,`n9Aq`)][n(495,`rSET`)+`RL`];if(i&&typeof Bun!==n(1282,`[FMn`)&&r.iLBsG(r[n(1528,`7Qr(`)],Bun))try{let e=new Bun[n(646,`Fswn`)](i),t=await e`SELECT count(*)::int as count FROM sites WHERE deleted_at IS NULL`;if(await e.close(),r[n(606,`sILL`)](t?.[0]?.[n(485,`S5Cf`)],void 0)&&r[n(1363,`6!o6`)](t[0][n(1420,`rSET`)],null))return r.cihsE(Number,t[0][n(1173,`Je()`)])}catch{}return 0}function Ee(n,r=typeof Bun===e(1518,`1S73`)?process.env:Bun[e(796,`Fswn`)],i=t,a=b){let s=e,c={vvCXo:function(e,t){return e===t},CirtC:s(1083,`U]y(`),PYRBP:function(e,t){return e===t},boUvr:function(e,t){return e!==t},QWGbP:`undefined`,qFIYk:function(e,t){return e===t},lbCkF:function(e,t,n){return e(t,n)},IHzEQ:function(e,t){return e(t)},OvrKZ:function(e,t,n,r){return e(t,n,r)}},l=c.vvCXo(r[s(650,`SeOF`)],c[s(897,`tI[S`)])||c[s(1082,`SeOF`)](typeof r[s(1496,`tI[S`)],s(1364,`7Qr(`))&&(c[s(1305,`BEaJ`)](typeof Bun,c.QWGbP)&&Bun[s(1360,`oqyn`)]?.[s(1068,`zdSq`)]===s(829,`S5Cf`)||c[s(1305,`BEaJ`)](typeof process,c[s(534,`S5Cf`)])&&c[s(785,`kYJC`)](process.env?.NODE_ENV,c[s(1004,`1S73`)]))?`production`:i,u;try{u=n.parse(r)}catch{let e=o[s(1213,`zh9C`)+`s`](64)[s(894,`7#Yu`)](s(898,`]kS&`));return u={...r,JCHAT_PORT:r[s(764,`P50[`)]?c[s(1034,`sILL`)](parseInt,c[s(972,`kobt`)](String,r.JCHAT_PORT),10):3e3,JCHAT_COOKIE_SECRET:e},{...u,JCHAT_COOKIE_SECRET:e,SYSTEM_BOOTSTRAP_COMPLETE:!1}}return c[s(801,`1S73`)](De,u,l,a)}function K(e,t){e-=372;let n=L(),r=n[e];if(K.lxpLAN===void 0){var i=function(e){let t=``,n=``,r=t+i,a=(``+function(){return 0}).indexOf(`
8
+ `)!==-1;for(let n=0,i,o,s=0;o=e.charAt(s++);~o&&(i=n%4?i*64+o:o,n++%4)&&(t+=a||r.charCodeAt(s+10)-10!=0?String.fromCharCode(255&i>>(-2*n&6)):n))o=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=`.indexOf(o);for(let e=0,r=t.length;e<r;e++)n+=`%`+(`00`+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)};K.lOkdZU=function(e,t){let n=[],r=0,a,o=``;e=i(e);let s=0;for(;s<256;s++)n[s]=s;for(s=0;s<256;s++)r=(r+n[s]+t.charCodeAt(s%t.length))%256,a=n[s],n[s]=n[r],n[r]=a;s=0,r=0;for(let t=0;t<e.length;t++)s=(s+1)%256,r=(r+n[s])%256,a=n[s],n[s]=n[r],n[r]=a,o+=String.fromCharCode(e.charCodeAt(t)^n[(n[s]+n[r])%256]);return o},K.nPfuSU={},K.lxpLAN=!0}let a=n[0];K.tQSZqH!==a&&(K.nPfuSU={},K.tQSZqH=a);let o=K.nPfuSU[e];if(o===void 0){if(K.SWRUkI===void 0){let e=function(e){this.arPfgE=e,this.fHpDhV=[1,0,0],this.vGpPlK=function(){return`newState`},this.kFgzcT=`\\w+ *\\(\\) *{\\w+ *`,this.MvnVBI=`['|"].+['|"];? *}`};e.prototype.heDdBd=function(){let e=new RegExp(this.kFgzcT+this.MvnVBI).test(this.vGpPlK.toString())?--this.fHpDhV[1]:--this.fHpDhV[0];return this.gpfLyD(e)},e.prototype.gpfLyD=function(e){return~e?this.uWsulI(this.arPfgE):e},e.prototype.uWsulI=function(e){for(let e=0,t=this.fHpDhV.length;e<t;e++)this.fHpDhV.push(Math.round(Math.random())),t=this.fHpDhV.length;return e(this.fHpDhV[0])},(``+function(){return 0}).indexOf(`
9
+ `)===-1&&new e(K).heDdBd(),K.SWRUkI=!0}r=K.lOkdZU(r,t),K.nPfuSU[e]=r}else r=o;return r}function De(t,n=`production`,r=b){let i=e,a={toMig:function(e,t){return e!==t},RGxxJ:function(e,t){return e===t},xvYgn:i(988,`&G9b`),ovffa:i(768,`$2Ce`),Xdrgv:function(e,t){return e===t},wMBoZ:function(e){return e()},NdOhS:i(1274,`n9Aq`)+i(961,`ynhv`),eGzEG:i(1395,`sILL`),Oraas:function(e,t){return e===t},aljHx:function(e,t){return e(t)},BxxWv:function(e,t){return e(t)},kqqMJ:`A valid in`+i(628,`BEaJ`)+i(1320,`NMHr`)+i(905,`Njfh`)+` required `+i(1269,`!7Yu`)+i(572,`1Zwv`)+`yments.`,IYPpv:function(e,t){return e||t},LgmwA:function(e,t){return e(t)},dGdAa:function(e,t,n,r){return e(t,n,r)},qCteQ:i(1401,`BEaJ`),hFivI:function(e,t){return e===t},bNmcL:i(749,`jJVg`)+`t`,jGWpl:i(670,`SeOF`),WxKEq:function(e,t){return e+t}},s={...t},c=!0;a[i(806,`6W9l`)](typeof s[i(567,`g[G%`)+i(765,`1S73`)],i(474,`dx*c`))&&(s[i(956,`U]y(`)+`IE_SECRET`]=``);try{let e=a[i(933,`dx*c`)](s[i(486,`Je()`)],a[i(1062,`7DZY`)])||typeof s[i(372,`6!o6`)]===a.ovffa&&typeof Bun!==a[i(503,`L&vX`)]&&a.Xdrgv(Bun[i(1246,`L&vX`)]?.[i(1326,`jl*C`)],a[i(538,`Fswn`)]),t=M(),l=t?.[i(931,`HZT$`)+i(638,`kobt`)]??a[i(1311,`kobt`)](N);if(a[i(793,`rSET`)](n,a[i(1486,`6W9l`)])&&!e)c=!0;else if(!l)c=!1,(a.Xdrgv(n,a[i(1314,`jJVg`)])||e)&&(s[i(882,`s5L$`)+i(1381,`!7Yu`)]=o[i(814,`sILL`)+`s`](64)[i(418,`zh9C`)](i(980,`X*[W`)));else{let u=a.RGxxJ(typeof s[i(1328,`@oTl`)+`IN`],a[i(920,`6!o6`)])?s.JCHAT_DOMAIN:void 0,d=a[i(1336,`P50[`)](typeof s[i(1525,`jJVg`)],a[i(1120,`S5Cf`)])?s.NODE_ENV:void 0;if(!u||!a[i(1035,`g[G%`)](w,u)||a[i(1477,`ynhv`)](d,a[i(1489,`P50[`)])&&!a[i(803,`7#Yu`)](C,u))throw Error(a[i(860,`zdSq`)]);let f=a.IYPpv(u,`localhost`),p=a[i(613,`!7Yu`)](X,r);if(!a[i(1438,`1S73`)](Z,l,f,{publicKeyPem:p,allowOfflineGrace:!0,lastSuccessfulCheckAt:t?.[i(552,`[FMn`)+i(1096,`HZT$`)+`t`]}))c=!1,(a[i(1046,`n9Aq`)](n,a[i(977,`GD][`)])||e)&&(s[i(1455,`jl*C`)+i(1059,`$2Ce`)]=o[i(1049,`kobt`)+`s`](64)[i(1217,`sILL`)](a[i(510,`HZT$`)]));else{let t=Y(l);if(a[i(730,`kYJC`)](d,a[i(1489,`P50[`)])&&a[i(499,`XOpo`)](t?.[i(381,`])wM`)+`t`],a.bNmcL))c=!1,(a[i(1433,`mcuw`)](n,a[i(619,`ynhv`)])||e)&&(s[i(664,`Z@ID`)+i(756,`1Zwv`)]=o[i(1260,`kYJC`)+`s`](64)[i(609,`6W9l`)](a[i(1116,`kobt`)]));else{let e=l[i(816,`sILL`)](`.`),n=e[2]||``;if(n&&t){let r=(t[i(950,`Je()`)]??[i(691,`Je()`)]).slice().sort()[i(388,`n9Aq`)](`,`),c=t[i(1513,`Z@ID`)]??a.jGWpl,l=o.createHmac(i(1298,`tycJ`),n)[i(487,`[FMn`)](e[0]+`.`+e[1]+`:`+t[i(473,`1S73`)]+`:`+t[i(549,`1Zwv`)+i(523,`Je()`)]+`:`+r+`:`+c)[i(866,`7#Yu`)](a[i(412,`[FMn`)]);s[i(1243,`rSET`)+i(1084,`mcuw`)]=a[i(525,`6W9l`)](s[i(788,`&hD&`)+`IE_SECRET`],l)}}}}}catch{c=!1,s[`JCHAT_COOK`+i(1023,`kYJC`)]=o[i(1474,`X*[W`)+`s`](64)[i(835,`rSET`)](a[i(375,`^^j9`)])}return s[i(1479,`6!o6`)+i(696,`&hD&`)+i(995,`g[G%`)]=c,s}function q(t){let n=e;return{TGRJg:function(e,t){return e===t}}[n(1451,`jl*C`)](typeof t,n(431,`^^j9`))&&t!==null&&!Array.isArray(t)}function J(t){let n=e,r={UwHUl:function(e,t){return e===t},OVZGX:n(1250,`oqyn`),mtbNV:function(e,t){return e>t}};return r[n(1331,`Z@ID`)](typeof t,r.OVZGX)&&r[n(674,`BEaJ`)](t[n(875,`Je()`)]()[n(1166,`NMHr`)],0)}function Oe(t){let n=e,r={tOkEi:n(739,`Njfh`)};if(!t)return null;try{return JSON[n(1114,`6W9l`)](Buffer[n(967,`s5L$`)](t,`base64url`)[n(1390,`g[G%`)](r[n(774,`$2Ce`)]))}catch{return null}}function ke(t){let n=e,r={aSEsh:function(e,t){return e!==t},YnNLK:function(e,t){return e(t)},KfLVM:function(e,t){return e!==t},XQUAv:n(799,`U]y(`),JXfUY:n(863,`jJVg`)},i=t[n(1400,`XOpo`)](`.`);if(r[n(981,`tI[S`)](i[n(703,`7Qr(`)],3))return null;let a=r[n(1052,`tI[S`)](Oe,i[0]);return!q(a)||r[n(937,`7Qr(`)](a.alg,`RS256`)||r[n(916,`^^j9`)](a[n(1430,`&hD&`)],r.XQUAv)?null:{alg:r[n(733,`]kS&`)],typ:r[n(737,`[FMn`)]}}function Ae(t){let n=e,r={kPDFM:function(e,t){return e(t)},YUiVG:function(e,t){return e(t)},PyTUy:function(e,t){return e(t)},sWNKa:function(e,t){return e!==t},GyhGp:`jchat`,JVYvU:n(829,`S5Cf`),rqiPT:`development`,FvSzx:`path`,zgmlT:n(1495,`zdSq`),sCUsy:function(e,t){return e<t},BpFzC:n(573,`ynhv`),BRbCD:n(797,`sILL`),IVNOW:`beta`,WXmOi:n(717,`1Zwv`)+`al`,vByUu:function(e,t){return e!==t},fZPtc:function(e,t){return e!==t},xkHdX:function(e,t){return e(t)},OUOlM:function(e,t){return e===t},cmbAU:function(e,t){return e===t},PgUFQ:function(e,t){return e===t},BgUtf:function(e,t){return e(t)},PyIOg:function(e,t){return e!==t},qLeCr:function(e,t){return e!==t}};if(!r[n(778,`!7Yu`)](q,t))return null;let{iss:i,aud:a,licenseId:o,domain:s,buyer:c,installationId:l,plan:u,entitlements:d,purchaseProvider:f,environment:p,routingMode:m,iat:h,exp:g,isTrial:_,stages:v,channel:y,limits:b}=t;if(!J(i)||!r[n(504,`6W9l`)](J,a)||!r.YUiVG(J,o)||!r[n(1387,`SeOF`)](J,s)||!r[n(773,`tycJ`)](J,c)||!r[n(651,`HZT$`)](J,l)||!J(u)||!Array[n(599,`X*[W`)](d)||!d.every(J)||r[n(566,`]kS&`)](f,n(1444,`s5L$`))&&f!==r[n(407,`])wM`)]||p!==r[n(1497,`S5Cf`)]&&p!==r.rqiPT||m!==r[n(377,`&hD&`)]&&r[n(1490,`kobt`)](m,n(605,`GD][`))||typeof h!==r[n(741,`zdSq`)]||!Number[n(1458,`X*[W`)+n(1295,`kobt`)](h)||r.sCUsy(h,0)||r.sWNKa(g,void 0)&&(r[n(1212,`^^j9`)](typeof g,r[n(484,`Z@ID`)])||!Number[n(533,`GD][`)+n(580,`X*[W`)](g)||r.sCUsy(g,0))||_!==void 0&&typeof _!==r[n(1159,`6!o6`)])return null;let ee=new Set([r[n(1323,`Fswn`)],r[n(1524,`&G9b`)],r.WXmOi,n(1184,`&G9b`)]),x;if(r[n(1347,`mcuw`)](v,void 0)){if(!Array[n(1296,`6!o6`)](v)||!v[n(594,`s5L$`)](e=>typeof e===n(1339,`&G9b`)&&ee.has(e)))return null;x=v}let w=new Set([r[n(1335,`kobt`)],n(841,`]kS&`)]),T;if(r[n(974,`Njfh`)](y,void 0)){if(typeof y!==n(1087,`Njfh`)||!w[n(457,`g[G%`)](y))return null;T=y}let E;if(b!==void 0){if(!r[n(419,`zh9C`)](q,b)||typeof b[n(908,`okI)`)]!=`number`||!Number[`isSafeInte`+n(1002,`Je()`)](b[n(1179,`kYJC`)]))return null;E={maxSites:b[n(1526,`X*[W`)],...r[n(868,`SeOF`)](typeof b[n(1315,`6!o6`)+n(1030,`7#Yu`)],r.zgmlT)&&Number[n(1090,`Fswn`)+n(1515,`P50[`)](b[n(996,`XOpo`)+`rSite`])?{maxRoomsPerSite:b[n(544,`kobt`)+`rSite`]}:{}}}let D;try{D=r[n(648,`1Zwv`)](S,s)}catch{return null}return r[n(1488,`GD][`)](p,`development`)&&!D.isLocalhost||r.PgUFQ(p,r.JVYvU)&&!r[n(443,`^^j9`)](C,s)?null:{iss:i,aud:a,licenseId:o,domain:s,buyer:c,installationId:l,plan:u,entitlements:d,purchaseProvider:f,environment:p,routingMode:m,iat:h,...r.sWNKa(g,void 0)?{exp:g}:{},...r[n(929,`&G9b`)](_,void 0)?{isTrial:_}:{},...r[n(671,`1S73`)](x,void 0)?{stages:x}:{},...r[n(1482,`mcuw`)](T,void 0)?{channel:T}:{},...r[n(1520,`jRSt`)](E,void 0)?{limits:E}:{}}}function Y(t){let n=e,r={Mlqxq:function(e,t){return e!==t},kfdjB:function(e,t){return e(t)},ETGpA:function(e,t){return e(t)},MNhFU:function(e,t){return e(t)}},i=t[n(1400,`XOpo`)](`.`);return r[n(1150,`U]y(`)](i[n(735,`GD][`)],3)||!i[n(1158,`jJVg`)](Boolean)||!r[n(575,`Z@ID`)](ke,t)?null:r[n(1461,`&G9b`)](Ae,r.MNhFU(Oe,i[1]))}function X(t){let n=e,r={lVbwT:n(586,`zh9C`),DNgse:n(768,`$2Ce`),zMVCx:function(e,t){return e===t}};return typeof Bun!==n(1123,`!7Yu`)&&Bun.env?.[n(650,`SeOF`)]===r[n(1171,`zdSq`)]||typeof process!==r[n(848,`okI)`)]&&r[n(1157,`jRSt`)](process.env?.NODE_ENV,r[n(409,`7Qr(`)])||!t?b:t}function Z(t,n,r){let i=e,a={kHlaM:i(1389,`SeOF`)+i(1351,`tycJ`)+i(928,`kYJC`),sQyCY:function(e,t){return e!==t},sJiUa:function(e,t){return e(t)},koRgi:i(1476,`jl*C`)+i(1208,`&hD&`)+i(973,`]kS&`),vUrzW:i(678,`U]y(`),jUKzF:function(e,t){return e(t)},PZzcd:function(e,t){return e!==t},ZXFnp:`subdomain`,ekzXM:function(e,t){return e!==t},CPlVU:function(e,t){return e>t},IqmtP:function(e,t){return e/t},vmyeh:function(e,t){return e>t},RPNnP:function(e,t){return e-t},kGFvI:i(1396,`X*[W`),WeCkZ:i(408,`rSET`)};if(!t||t===a[i(864,`GD][`)])return!1;try{let e=t[i(836,`BEaJ`)](`.`);if(a.sQyCY(e[i(1443,`jJVg`)],3)||!ke(t))return!1;let s=a[i(1484,`XOpo`)](Y,t);if(!s)return!1;let c=r?.[i(857,`GD][`)]??Bun[i(982,`P50[`)][i(934,`HZT$`)+i(1441,`oqyn`)]??a[i(568,`jl*C`)],l=r?.audience??Bun[i(441,`tycJ`)][i(556,`okI)`)+`NSE_AUDIENCE`]??a[i(724,`n9Aq`)];if(s.iss!==c||s[i(843,`SeOF`)]!==l)return!1;let u=S(n)[i(625,`oqyn`)],d=a[i(403,`X*[W`)](S,s[i(1117,`zh9C`)]).host;if(a[i(637,`oqyn`)](u,d)&&(a[i(1342,`ynhv`)](s[i(1129,`jRSt`)+`e`],a[i(1043,`jl*C`)])||!u[i(747,`NMHr`)](`.`+d)))return!1;if(a[i(1429,`zh9C`)](s.exp,void 0)&&a[i(453,`1Zwv`)](Math.floor(a[i(634,`!7Yu`)](Date[i(1216,`jRSt`)](),1e3)),s[i(1061,`ynhv`)])){if(r?.[i(451,`X*[W`)+i(1283,`ynhv`)]&&r[i(1192,`U]y(`)+i(514,`7Qr(`)+`t`]){let e=Date[i(890,`ynhv`)](r[`lastSucces`+i(1028,`Z@ID`)+`t`]),t=r[i(428,`6!o6`)+i(1048,`HZT$`)]??30;if(Number[i(1439,`jl*C`)](e)||a[i(601,`kYJC`)](a[i(878,`jl*C`)](Date[i(847,`U]y(`)](),e)/864e5,t))return!1}else return!1}let f=Buffer[i(904,`]kS&`)](e[0]+`.`+e[1]),p=Buffer[i(1031,`kobt`)](e[2].replace(/-/g,`+`)[i(616,`X*[W`)](/_/g,`/`),a[i(925,`dx*c`)]),m=a.jUKzF(X,r?.publicKeyPem);return o[i(792,`GD][`)](a.WeCkZ,f,m,p)}catch{return!1}}function Q(t,n,r,i){let a=e,o={SqtfX:function(e,t,n,r){return e(t,n,r)},YbfGU:function(e,t){return e(t)}};if(!o.SqtfX(Z,t,n,i))return!1;let s=o.YbfGU(Y,t);return s?s[a(488,`s5L$`)+a(1070,`zdSq`)]===r:!1}function je(t,n,r,i){let a=e,o={NDaeI:function(e,t,n,r){return e(t,n,r)},LMeAj:function(e,t){return e(t)}};return o[a(1094,`Je()`)](Z,t,n,i)?o[a(465,`sILL`)](Y,t)?.entitlements?.[a(752,`[FMn`)](r)??!1:!1}function Me(t,n=e(1529,`SeOF`),r){let i=e,a={whgTg:function(e,t,n,r){return e(t,n,r)},tCFFm:function(e,t){return e(t)},sTssF:function(e,t){return e===t},KnWuj:`development`,WKBtT:function(e,t){return e(t)},RrbsI:function(e,t){return e>t},pQvVV:function(e,t){return e(t)}};if(!t||!a[i(396,`6W9l`)](Z,t,n,r))return!1;let o=a[i(389,`jJVg`)](Y,t);return o?a.sTssF(o[i(561,`sILL`)+`t`],a.KnWuj)&&a[i(721,`kobt`)](T,n)?!0:a[i(458,`n9Aq`)](a[i(1481,`SeOF`)]($,t),1)||(o[i(521,`BEaJ`)+`ts`]?.[i(404,`GD][`)](`site.creat`+i(818,`mcuw`))??!1):!1}function Ne(t,n,r=e(987,`6!o6`),i){let a=e;return!t||i&&!Z(t,r,i)?!1:{OAnzS:function(e,t){return e(t)}}[a(1245,`jl*C`)](Y,t)?.[a(399,`kYJC`)+`ts`]?.[a(1183,`dx*c`)](n)??!1}function Pe(t,n,r=`localhost`,i){let a=e,o={GznCv:function(e,t){return e===t},YRuQS:a(943,`jRSt`),jWsZG:a(1440,`jRSt`),yoiIC:function(e,t,n,r){return e(t,n,r)},sCzch:function(e,t){return e(t)}};return o.GznCv(n,o[a(807,`SeOF`)])||o[a(1262,`tI[S`)](n,o[a(1494,`XOpo`)])?!0:!t||i&&!o.yoiIC(Z,t,r,i)?!1:(o.sCzch(Y,t)?.[a(686,`Fswn`)]??[`stable`])[a(1228,`oqyn`)](n)}function $(t){let n=e;return t?{DhJvW:function(e,t){return e(t)}}[n(1448,`6!o6`)](Y,t)?.[n(707,`XOpo`)]?.[n(1135,`GD][`)]??1:1}function Fe(t,n=e(1319,`6W9l`),r){let i=e,a={dtxOK:`stable`,qLVOf:function(e,t){return e(t)}};return t?r&&!Z(t,n,r)?a[i(1263,`SeOF`)]:a[i(1186,`Z@ID`)](Y,t)?.[i(871,`SeOF`)]??`stable`:i(1193,`Njfh`)}function Ie(t){let n=e,r={YJpGl:function(e,t){return e>t},GMIkY:function(e,t){return e(t)},TTorK:function(e,t,n){return e(t,n)},ArQUD:n(1463,`jJVg`)+`e.multi`};return r[n(750,`tycJ`)](r.GMIkY($,t),1)||r[n(379,`Je()`)](Ne,t,r[n(1519,`Fswn`)])}function Le(t,n){let r=e,a={OMaSo:function(e){return e()},eWxcc:function(e,t,n,r){return e(t,n,r)},GyniA:function(e,t){return e!==t},SRhpy:r(1403,`oqyn`),IdEtc:r(693,`dx*c`)};if(a[r(795,`^^j9`)](i))return!1;let o=a[r(924,`])wM`)](N);return o?a[r(1249,`SeOF`)](je,o,n??(a[r(1167,`Njfh`)](typeof Bun,a[r(817,`SeOF`)])?Bun[r(1091,`jJVg`)]?.[r(1268,`tI[S`)+`IN`]:void 0)??a[r(978,`U]y(`)],t):!1}function Re(t,n){let r=e,a={PJTIQ:function(e){return e()},esLsP:function(e,t){return e!==t},YDlwW:function(e,t){return e===t},qUxwe:`production`,GVQzt:function(e,t){return e!==t},ofuXl:`undefined`,tnFbg:function(e,t,n,r){return e(t,n,r)},NjfYs:function(e,t){return e(t)},nRwRz:r(711,`kobt`)+`t`,lYhdZ:function(e,t){return e(t)}};if(a[r(821,`U]y(`)](i))return 1/0;let o=a[r(1109,`SeOF`)](typeof Bun,r(589,`tycJ`))&&a[r(1155,`sILL`)](Bun.env?.[r(630,`dx*c`)],a[r(1226,`s5L$`)])||a.GVQzt(typeof process,r(584,`])wM`))&&a.YDlwW(process.env?.NODE_ENV,a[r(1076,`mcuw`)]),s=t??(a[r(517,`tI[S`)](typeof Bun,a[r(687,`X*[W`)])?Bun[r(1163,`zh9C`)]?.[r(692,`s5L$`)+`IN`]:void 0)??r(574,`Z@ID`),c=a[r(1041,`&G9b`)](N);if(!c||!a[r(411,`Njfh`)](Z,c,s,n))return 1;let l=Y(c);return o?a[r(754,`7DZY`)]($,c):a[r(809,`7DZY`)](l?.[r(1404,`n9Aq`)+`t`],a[r(783,`SeOF`)])&&T(s)?1/0:a[r(708,`Z@ID`)]($,c)}function ze(t){let n=e,r={aOAFE:function(e){return e()},lOhKc:function(e,t){return e!==t},sJMwQ:n(654,`tI[S`),FKAGh:function(e,t,n){return e(t,n)},dlDib:function(e){return e()}};if(r.aOAFE(i))return!0;let a=t??(r[n(545,`kobt`)](typeof Bun,`undefined`)?Bun[n(463,`7#Yu`)]?.[n(832,`7Qr(`)+`IN`]:void 0)??r[n(1405,`Njfh`)];return r[n(1011,`kobt`)](Me,r[n(1133,`S5Cf`)](N),a)}function Be(t=e(1037,`7Qr(`),n,r){let a=e,o={xchVk:function(e){return e()},SSpgT:a(1160,`zdSq`),IuCtr:function(e){return e()},sgDqo:function(e){return e()},YbdxL:a(1399,`SeOF`),asvJg:function(e,t){return e!==t},WkhJu:`localhost`,DurZV:function(e,t,n,r){return e(t,n,r)},ZDnIT:function(e,t){return e(t)}};if(o.xchVk(i))return o.SSpgT;let s=o[a(1111,`n9Aq`)](M)?.[a(757,`]kS&`)+a(1422,`oqyn`)]??o[a(1151,`6!o6`)](N),c=n??(typeof Bun===o[a(1354,`mcuw`)]?void 0:Bun[a(727,`Z@ID`)]?.[a(456,`]kS&`)+`IN`])??(o[a(1057,`])wM`)](typeof process,o[a(1456,`6W9l`)])?process.env?.JCHAT_DOMAIN:void 0)??o[a(506,`1Zwv`)];return!s||!o[a(1446,`$2Ce`)](Z,s,c,r)?t:o[a(1005,`mcuw`)](Y,s)?.plan??t}export{t as APPLICATION_DISTRIBUTION,n as APPLICATION_DISTRIBUTIONS,m as DEFAULT_LICENSE_AUDIENCE,p as DEFAULT_LICENSE_ISSUER,f as DEFAULT_LICENSE_SERVER_URL,ie as DEFAULT_STATE_PATH,G as FeatureForbiddenError,r as IS_DEVELOPER_SANDBOX,b as OFFICIAL_SIGNING_PUBLIC_KEY,U as activateRegistry,Ie as canCreateMultiSite,pe as checkAllowedStages,ze as checkCanCreateMultiSite,Le as checkHasEntitlement,Re as checkMaxSites,me as checkReleaseChannel,ae as createIdentity,ge as deriveFeatureExecutionContext,W as deriveFeatureKey,O as findRepoRoot,Be as getContextPlan,j as getDefaultStatePath,$ as getMaxSites,y as getOfficialSigningPublicKey,Fe as getReleaseChannel,E as getRootDomain,V as getRuntimeStatus,Ne as hasCapability,je as hasEntitlement,Pe as hasStageAccess,_e as installAndActivate,w as isAllowedConfiguredDomain,ue as isApplicationDisabled,i as isDeveloperSandbox,T as isLocalhostDomain,D as isMatchingDomain,Me as isMultiSiteAllowed,C as isPublicDomain,de as isRuntimeBlocked,ye as jchatRuntime,Ee as loadServerConfig,S as normalizeDomain,Y as parsePayload,P as readState,M as readStateSync,N as readTokenSync,R as recordAudit,xe as refreshLicenseLease,te as resolveActivationDomain,a as resolveApplicationDistribution,A as resolveDataDir,ne as resolveRuntimePaths,X as resolveSigningPublicKey,be as runtimeFeatureGuard,De as sealServerContext,B as setRuntimeStatus,Se as startRuntimeSupervisor,F as updateInstanceToken,Q as verifyEntitlement,he as verifyFeatureStageAccess,Z as verifySignature,oe as writeState};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jchat/runtime",
3
- "version": "1.0.0-alpha.27",
3
+ "version": "1.0.0-alpha.29",
4
4
  "private": false,
5
5
  "description": "Runtime support package for JChat deployments.",
6
6
  "keywords": [
@@ -23,6 +23,11 @@
23
23
  "types": "./src/index.ts",
24
24
  "import": "./src/index.ts",
25
25
  "default": "./src/index.ts"
26
+ },
27
+ "./distribution": {
28
+ "types": "./src/distribution.ts",
29
+ "import": "./src/distribution.ts",
30
+ "default": "./src/distribution.ts"
26
31
  }
27
32
  },
28
33
  "publishConfig": {
@@ -32,6 +37,10 @@
32
37
  ".": {
33
38
  "types": "./dist/index.d.mts",
34
39
  "import": "./dist/index.mjs"
40
+ },
41
+ "./distribution": {
42
+ "types": "./dist/distribution.d.mts",
43
+ "import": "./dist/distribution.mjs"
35
44
  }
36
45
  },
37
46
  "access": "public"
@@ -50,6 +59,7 @@
50
59
  "@jchat/shared": "workspace:*",
51
60
  "@types/bun": "catalog:",
52
61
  "elysia": "catalog:",
62
+ "javascript-obfuscator": "^5.8.1",
53
63
  "tsdown": "catalog:",
54
64
  "typescript": "catalog:",
55
65
  "zod": "catalog:"