@stackbone/cli 0.6.2 → 0.7.0
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 +163 -0
- package/main.js +20538 -8590
- package/migrations/0094_rag_document_versions.sql +61 -0
- package/migrations/0095_rag_document_version_counters.sql +22 -0
- package/migrations/0096_trigger_subscriptions_target_kind.sql +29 -0
- package/migrations/0097_voice_settings.sql +34 -0
- package/migrations/0098_model_selections_provider_id.sql +23 -0
- package/migrations/0099_memory.sql +35 -0
- package/migrations/0100_memory_call_run.sql +9 -0
- package/migrations/0101_memory_call_run_no_fk.sql +5 -0
- package/migrations/0102_voice_recordings.sql +31 -0
- package/migrations/0103_rag_collection_embeddings.sql +21 -0
- package/migrations/0104_rag_collection_rebuilds.sql +33 -0
- package/migrations/0105_rag_rebuild_manifest_size.sql +15 -0
- package/migrations/0106_memory_agent_scope.sql +16 -0
- package/migrations/0107_memory_settings.sql +7 -0
- package/migrations/0108_memory_identity_bindings.sql +13 -0
- package/migrations/0109_trigger_subscriptions_conversation_key.sql +17 -0
- package/migrations/0110_concurrency_limits.sql +52 -0
- package/migrations/0111_concurrency_slots_now_idx.sql +21 -0
- package/migrations/0112_concurrency_max_hold_override.sql +15 -0
- package/migrations/0113_trigger_subscriptions_debounce_ms.sql +13 -0
- package/package.json +2 -1
- package/runtime-deps/@stackbone/workflow-world/index.js +223 -85
- package/stackbone-cli-0.7.0.tgz +0 -0
- package/voice-worker/main.js +2150 -0
- package/voice-worker/main.js.map +7 -0
- package/voice-worker/package.json +18 -0
- package/stackbone-cli-0.6.2.tgz +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createRequire as __sbCreateRequire } from 'module'; const require = __sbCreateRequire(import.meta.url);
|
|
2
|
-
var CE=Object.create;var Gi=Object.defineProperty;var _E=Object.getOwnPropertyDescriptor;var ME=Object.getOwnPropertyNames;var PE=Object.getPrototypeOf,NE=Object.prototype.hasOwnProperty;var Y=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var LE=(r,e)=>()=>(r&&(e=r(r=0)),e);var y=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),qE=(r,e)=>{for(var t in e)Gi(r,t,{get:e[t],enumerable:!0})},nf=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ME(e))!NE.call(r,i)&&i!==t&&Gi(r,i,{get:()=>e[i],enumerable:!(n=_E(e,i))||n.enumerable});return r};var sf=(r,e,t)=>(t=r!=null?CE(PE(r)):{},nf(e||!r||!r.__esModule?Gi(t,"default",{value:r,enumerable:!0}):t,r)),nt=r=>nf(Gi({},"__esModule",{value:!0}),r);var af=y((X_,JE)=>{JE.exports={acl:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},append:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},asking:{arity:1,flags:["fast"],keyStart:0,keyStop:0,step:0},auth:{arity:-2,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},bgrewriteaof:{arity:1,flags:["admin","noscript","no_async_loading"],keyStart:0,keyStop:0,step:0},bgsave:{arity:-1,flags:["admin","noscript","no_async_loading"],keyStart:0,keyStop:0,step:0},bitcount:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},bitfield:{arity:-2,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},bitfield_ro:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},bitop:{arity:-4,flags:["write","denyoom"],keyStart:2,keyStop:-1,step:1},bitpos:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},blmove:{arity:6,flags:["write","denyoom","noscript","blocking"],keyStart:1,keyStop:2,step:1},blmpop:{arity:-5,flags:["write","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},blpop:{arity:-3,flags:["write","noscript","blocking"],keyStart:1,keyStop:-2,step:1},brpop:{arity:-3,flags:["write","noscript","blocking"],keyStart:1,keyStop:-2,step:1},brpoplpush:{arity:4,flags:["write","denyoom","noscript","blocking"],keyStart:1,keyStop:2,step:1},bzmpop:{arity:-5,flags:["write","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},bzpopmax:{arity:-3,flags:["write","noscript","blocking","fast"],keyStart:1,keyStop:-2,step:1},bzpopmin:{arity:-3,flags:["write","noscript","blocking","fast"],keyStart:1,keyStop:-2,step:1},client:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},cluster:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},command:{arity:-1,flags:["loading","stale"],keyStart:0,keyStop:0,step:0},config:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},copy:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},dbsize:{arity:1,flags:["readonly","fast"],keyStart:0,keyStop:0,step:0},debug:{arity:-2,flags:["admin","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},decr:{arity:2,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},decrby:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},del:{arity:-2,flags:["write"],keyStart:1,keyStop:-1,step:1},discard:{arity:1,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:0,keyStop:0,step:0},dump:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},echo:{arity:2,flags:["fast"],keyStart:0,keyStop:0,step:0},eval:{arity:-3,flags:["noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},eval_ro:{arity:-3,flags:["readonly","noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},evalsha:{arity:-3,flags:["noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},evalsha_ro:{arity:-3,flags:["readonly","noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},exec:{arity:1,flags:["noscript","loading","stale","skip_slowlog"],keyStart:0,keyStop:0,step:0},exists:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:-1,step:1},expire:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},expireat:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},expiretime:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},failover:{arity:-1,flags:["admin","noscript","stale"],keyStart:0,keyStop:0,step:0},fcall:{arity:-3,flags:["noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},fcall_ro:{arity:-3,flags:["readonly","noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},flushall:{arity:-1,flags:["write"],keyStart:0,keyStop:0,step:0},flushdb:{arity:-1,flags:["write"],keyStart:0,keyStop:0,step:0},function:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},geoadd:{arity:-5,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},geodist:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},geohash:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},geopos:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},georadius:{arity:-6,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},georadius_ro:{arity:-6,flags:["readonly"],keyStart:1,keyStop:1,step:1},georadiusbymember:{arity:-5,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},georadiusbymember_ro:{arity:-5,flags:["readonly"],keyStart:1,keyStop:1,step:1},geosearch:{arity:-7,flags:["readonly"],keyStart:1,keyStop:1,step:1},geosearchstore:{arity:-8,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},get:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},getbit:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},getdel:{arity:2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},getex:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},getrange:{arity:4,flags:["readonly"],keyStart:1,keyStop:1,step:1},getset:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hdel:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hello:{arity:-1,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},hexists:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hexpire:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hexpireat:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hexpiretime:{arity:-5,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hget:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hgetall:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},hgetdel:{arity:-5,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hgetex:{arity:-5,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hincrby:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hincrbyfloat:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hkeys:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},hlen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hmget:{arity:-3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hmset:{arity:-4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hpersist:{arity:-5,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hpexpire:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hpexpireat:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hpexpiretime:{arity:-5,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hpttl:{arity:-5,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hrandfield:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},hscan:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},hset:{arity:-4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hsetex:{arity:-6,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hsetnx:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hstrlen:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},httl:{arity:-5,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hvals:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},incr:{arity:2,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},incrby:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},incrbyfloat:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},info:{arity:-1,flags:["loading","stale"],keyStart:0,keyStop:0,step:0},keys:{arity:2,flags:["readonly"],keyStart:0,keyStop:0,step:0},lastsave:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},latency:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},lcs:{arity:-3,flags:["readonly"],keyStart:1,keyStop:2,step:1},lindex:{arity:3,flags:["readonly"],keyStart:1,keyStop:1,step:1},linsert:{arity:5,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},llen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},lmove:{arity:5,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},lmpop:{arity:-4,flags:["write","movablekeys"],keyStart:0,keyStop:0,step:0},lolwut:{arity:-1,flags:["readonly","fast"],keyStart:0,keyStop:0,step:0},lpop:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},lpos:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},lpush:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},lpushx:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},lrange:{arity:4,flags:["readonly"],keyStart:1,keyStop:1,step:1},lrem:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},lset:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},ltrim:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},memory:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},mget:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:-1,step:1},migrate:{arity:-6,flags:["write","movablekeys"],keyStart:3,keyStop:3,step:1},module:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},monitor:{arity:1,flags:["admin","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},move:{arity:3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},mset:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:2},msetnx:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:2},multi:{arity:1,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:0,keyStop:0,step:0},object:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},persist:{arity:2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},pexpire:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},pexpireat:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},pexpiretime:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},pfadd:{arity:-2,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},pfcount:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},pfdebug:{arity:3,flags:["write","denyoom","admin"],keyStart:2,keyStop:2,step:1},pfmerge:{arity:-2,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},pfselftest:{arity:1,flags:["admin"],keyStart:0,keyStop:0,step:0},ping:{arity:-1,flags:["fast"],keyStart:0,keyStop:0,step:0},psetex:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},psubscribe:{arity:-2,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},psync:{arity:-3,flags:["admin","noscript","no_async_loading","no_multi"],keyStart:0,keyStop:0,step:0},pttl:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},publish:{arity:3,flags:["pubsub","loading","stale","fast"],keyStart:0,keyStop:0,step:0},pubsub:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},punsubscribe:{arity:-1,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},quit:{arity:-1,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},randomkey:{arity:1,flags:["readonly"],keyStart:0,keyStop:0,step:0},readonly:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},readwrite:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},rename:{arity:3,flags:["write"],keyStart:1,keyStop:2,step:1},renamenx:{arity:3,flags:["write","fast"],keyStart:1,keyStop:2,step:1},replconf:{arity:-1,flags:["admin","noscript","loading","stale","allow_busy"],keyStart:0,keyStop:0,step:0},replicaof:{arity:3,flags:["admin","noscript","stale","no_async_loading"],keyStart:0,keyStop:0,step:0},reset:{arity:1,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},restore:{arity:-4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},"restore-asking":{arity:-4,flags:["write","denyoom","asking"],keyStart:1,keyStop:1,step:1},role:{arity:1,flags:["noscript","loading","stale","fast"],keyStart:0,keyStop:0,step:0},rpop:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},rpoplpush:{arity:3,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},rpush:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},rpushx:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},sadd:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},save:{arity:1,flags:["admin","noscript","no_async_loading","no_multi"],keyStart:0,keyStop:0,step:0},scan:{arity:-2,flags:["readonly"],keyStart:0,keyStop:0,step:0},scard:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},script:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},sdiff:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},sdiffstore:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},select:{arity:2,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},set:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},setbit:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},setex:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},setnx:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},setrange:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},shutdown:{arity:-1,flags:["admin","noscript","loading","stale","no_multi","allow_busy"],keyStart:0,keyStop:0,step:0},sinter:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},sintercard:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},sinterstore:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},sismember:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},slaveof:{arity:3,flags:["admin","noscript","stale","no_async_loading"],keyStart:0,keyStop:0,step:0},slowlog:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},smembers:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},smismember:{arity:-3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},smove:{arity:4,flags:["write","fast"],keyStart:1,keyStop:2,step:1},sort:{arity:-2,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},sort_ro:{arity:-2,flags:["readonly","movablekeys"],keyStart:1,keyStop:1,step:1},spop:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},spublish:{arity:3,flags:["pubsub","loading","stale","fast"],keyStart:1,keyStop:1,step:1},srandmember:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},srem:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},sscan:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},ssubscribe:{arity:-2,flags:["pubsub","noscript","loading","stale"],keyStart:1,keyStop:-1,step:1},strlen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},subscribe:{arity:-2,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},substr:{arity:4,flags:["readonly"],keyStart:1,keyStop:1,step:1},sunion:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},sunionstore:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},sunsubscribe:{arity:-1,flags:["pubsub","noscript","loading","stale"],keyStart:1,keyStop:-1,step:1},swapdb:{arity:3,flags:["write","fast"],keyStart:0,keyStop:0,step:0},sync:{arity:1,flags:["admin","noscript","no_async_loading","no_multi"],keyStart:0,keyStop:0,step:0},time:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},touch:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:-1,step:1},ttl:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},type:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},unlink:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:-1,step:1},unsubscribe:{arity:-1,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},unwatch:{arity:1,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:0,keyStop:0,step:0},wait:{arity:3,flags:["noscript"],keyStart:0,keyStop:0,step:0},watch:{arity:-2,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:1,keyStop:-1,step:1},xack:{arity:-4,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xadd:{arity:-5,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},xautoclaim:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xclaim:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xdel:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xdelex:{arity:-5,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xgroup:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},xinfo:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},xlen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},xpending:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},xrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},xread:{arity:-4,flags:["readonly","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},xreadgroup:{arity:-7,flags:["write","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},xrevrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},xsetid:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},xtrim:{arity:-4,flags:["write"],keyStart:1,keyStop:1,step:1},zadd:{arity:-4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},zcard:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zcount:{arity:4,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zdiff:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zdiffstore:{arity:-4,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},zincrby:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},zinter:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zintercard:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zinterstore:{arity:-4,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},zlexcount:{arity:4,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zmpop:{arity:-4,flags:["write","movablekeys"],keyStart:0,keyStop:0,step:0},zmscore:{arity:-3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zpopmax:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},zpopmin:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},zrandmember:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrangebylex:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrangebyscore:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrangestore:{arity:-5,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},zrank:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zrem:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},zremrangebylex:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},zremrangebyrank:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},zremrangebyscore:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},zrevrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrevrangebylex:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrevrangebyscore:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrevrank:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zscan:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},zscore:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zunion:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zunionstore:{arity:-4,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1}}});var Nr=y(ot=>{"use strict";var FE=ot&&ot.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ot,"__esModule",{value:!0});ot.getKeyIndexes=ot.hasFlag=ot.exists=ot.list=void 0;var Yi=FE(af());ot.list=Object.keys(Yi.default);var ol={};ot.list.forEach(r=>{ol[r]=Yi.default[r].flags.reduce(function(e,t){return e[t]=!0,e},{})});function VE(r,e){return r=e?.caseInsensitive?String(r).toLowerCase():r,!!Yi.default[r]}ot.exists=VE;function GE(r,e,t){if(r=t?.nameCaseInsensitive?String(r).toLowerCase():r,!ol[r])throw new Error("Unknown command "+r);return!!ol[r][e]}ot.hasFlag=GE;function YE(r,e,t){r=t?.nameCaseInsensitive?String(r).toLowerCase():r;let n=Yi.default[r];if(!n)throw new Error("Unknown command "+r);if(!Array.isArray(e))throw new Error("Expect args to be an array");let i=[],s=!!(t&&t.parseExternalKey),a=(l,c)=>{let u=[],d=Number(l[c]);for(let p=0;p<d;p++)u.push(p+c+1);return u},o=(l,c,u)=>{for(let d=c;d<l.length-1;d+=1)if(String(l[d]).toLowerCase()===u.toLowerCase())return d+1;return null};switch(r){case"zunionstore":case"zinterstore":case"zdiffstore":i.push(0,...a(e,1));break;case"eval":case"evalsha":case"eval_ro":case"evalsha_ro":case"fcall":case"fcall_ro":case"blmpop":case"bzmpop":i.push(...a(e,1));break;case"sintercard":case"lmpop":case"zunion":case"zinter":case"zmpop":case"zintercard":case"zdiff":{i.push(...a(e,0));break}case"georadius":{i.push(0);let l=o(e,5,"STORE");l&&i.push(l);let c=o(e,5,"STOREDIST");c&&i.push(c);break}case"georadiusbymember":{i.push(0);let l=o(e,4,"STORE");l&&i.push(l);let c=o(e,4,"STOREDIST");c&&i.push(c);break}case"sort":case"sort_ro":i.push(0);for(let l=1;l<e.length-1;l++){let c=e[l];if(typeof c!="string")continue;let u=c.toUpperCase();u==="GET"?(l+=1,c=e[l],c!=="#"&&(s?i.push([l,of(c)]):i.push(l))):u==="BY"?(l+=1,s?i.push([l,of(e[l])]):i.push(l)):u==="STORE"&&(l+=1,i.push(l))}break;case"migrate":if(e[2]==="")for(let l=5;l<e.length-1;l++){let c=e[l];if(typeof c=="string"&&c.toUpperCase()==="KEYS"){for(let u=l+1;u<e.length;u++)i.push(u);break}}else i.push(2);break;case"xreadgroup":case"xread":for(let l=r==="xread"?0:3;l<e.length-1;l++)if(String(e[l]).toUpperCase()==="STREAMS"){for(let c=l+1;c<=l+(e.length-1-l)/2;c++)i.push(c);break}break;default:if(n.step>0){let l=n.keyStart-1,c=n.keyStop>0?n.keyStop:e.length+n.keyStop+1;for(let u=l;u<c;u+=n.step)i.push(u)}break}return i}ot.getKeyIndexes=YE;function of(r){typeof r!="string"&&(r=String(r));let e=r.indexOf("->");return e===-1?r.length:e}});var lf=y(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.tryCatch=dr.errorObj=void 0;dr.errorObj={e:{}};var ll;function BE(r,e){try{let t=ll;return ll=null,t.apply(this,arguments)}catch(t){return dr.errorObj.e=t,dr.errorObj}}function WE(r){return ll=r,BE}dr.tryCatch=WE});var fr=y(cl=>{"use strict";Object.defineProperty(cl,"__esModule",{value:!0});var hn=lf();function cf(r){setTimeout(function(){throw r},0)}function UE(r,e,t){return typeof e=="function"&&r.then(n=>{let i;t!==void 0&&Object(t).spread&&Array.isArray(n)?i=hn.tryCatch(e).apply(void 0,[null].concat(n)):i=n===void 0?hn.tryCatch(e)(null):hn.tryCatch(e)(null,n),i===hn.errorObj&&cf(i.e)},n=>{if(!n){let s=new Error(n+"");Object.assign(s,{cause:n}),n=s}let i=hn.tryCatch(e)(n);i===hn.errorObj&&cf(i.e)}),r}cl.default=UE});var ff=y((nM,df)=>{"use strict";var uf=Y("assert"),Xn=Y("util");function mn(r){Object.defineProperty(this,"message",{value:r||"",configurable:!0,writable:!0}),Error.captureStackTrace(this,this.constructor)}Xn.inherits(mn,Error);Object.defineProperty(mn.prototype,"name",{value:"RedisError",configurable:!0,writable:!0});function ul(r,e,t){uf(e),uf.strictEqual(typeof t,"number"),Object.defineProperty(this,"message",{value:r||"",configurable:!0,writable:!0});let n=Error.stackTraceLimit;Error.stackTraceLimit=2,Error.captureStackTrace(this,this.constructor),Error.stackTraceLimit=n,this.offset=t,this.buffer=e}Xn.inherits(ul,mn);Object.defineProperty(ul.prototype,"name",{value:"ParserError",configurable:!0,writable:!0});function dl(r){Object.defineProperty(this,"message",{value:r||"",configurable:!0,writable:!0});let e=Error.stackTraceLimit;Error.stackTraceLimit=2,Error.captureStackTrace(this,this.constructor),Error.stackTraceLimit=e}Xn.inherits(dl,mn);Object.defineProperty(dl.prototype,"name",{value:"ReplyError",configurable:!0,writable:!0});function Bi(r){Object.defineProperty(this,"message",{value:r||"",configurable:!0,writable:!0}),Error.captureStackTrace(this,this.constructor)}Xn.inherits(Bi,mn);Object.defineProperty(Bi.prototype,"name",{value:"AbortError",configurable:!0,writable:!0});function fl(r){Object.defineProperty(this,"message",{value:r||"",configurable:!0,writable:!0}),Error.captureStackTrace(this,this.constructor)}Xn.inherits(fl,Bi);Object.defineProperty(fl.prototype,"name",{value:"InterruptError",configurable:!0,writable:!0});df.exports={RedisError:mn,ParserError:ul,ReplyError:dl,AbortError:Bi,InterruptError:fl}});var hf=y((iM,yf)=>{"use strict";var pf=Y("assert"),bn=class extends Error{get name(){return this.constructor.name}},pl=class extends bn{constructor(e,t,n){pf(t),pf.strictEqual(typeof n,"number");let i=Error.stackTraceLimit;Error.stackTraceLimit=2,super(e),Error.stackTraceLimit=i,this.offset=n,this.buffer=t}get name(){return this.constructor.name}},yl=class extends bn{constructor(e){let t=Error.stackTraceLimit;Error.stackTraceLimit=2,super(e),Error.stackTraceLimit=t}get name(){return this.constructor.name}},Wi=class extends bn{get name(){return this.constructor.name}},hl=class extends Wi{get name(){return this.constructor.name}};yf.exports={RedisError:bn,ParserError:pl,ReplyError:yl,AbortError:Wi,InterruptError:hl}});var Lr=y((sM,mf)=>{"use strict";var zE=process.version.charCodeAt(1)<55&&process.version.charCodeAt(2)===46?ff():hf();mf.exports=zE});var ei=y((aM,ml)=>{var bf=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920],$E=function(e){for(var t,n=0,i=0,s=[],a=e.length;n<a;n++)t=e.charCodeAt(n),t<128?s[i++]=t:t<2048?(s[i++]=t>>6|192,s[i++]=t&63|128):(t&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(t=65536+((t&1023)<<10)+(e.charCodeAt(++n)&1023),s[i++]=t>>18|240,s[i++]=t>>12&63|128,s[i++]=t>>6&63|128,s[i++]=t&63|128):(s[i++]=t>>12|224,s[i++]=t>>6&63|128,s[i++]=t&63|128);return s},gf=ml.exports=function(e){for(var t,n=0,i=-1,s=0,a=0,o=typeof e=="string"?$E(e):e,l=o.length;n<l;){if(t=o[n++],i===-1)t===123&&(i=n);else if(t!==125)a=bf[(t^a>>8)&255]^a<<8;else if(n-1!==i)return a&16383;s=bf[(t^s>>8)&255]^s<<8}return s&16383};ml.exports.generateMulti=function(e){for(var t=1,n=e.length,i=gf(e[0]);t<n;)if(gf(e[t++])!==i)return-1;return i}});var wf=y((oM,xf)=>{var Kf=9007199254740991,HE="[object Arguments]",QE="[object Function]",ZE="[object GeneratorFunction]",XE=/^(?:0|[1-9]\d*)$/;function Sf(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}function ek(r,e){for(var t=-1,n=Array(r);++t<r;)n[t]=e(t);return n}var ti=Object.prototype,ri=ti.hasOwnProperty,Ef=ti.toString,tk=ti.propertyIsEnumerable,vf=Math.max;function rk(r,e){var t=fk(r)||dk(r)?ek(r.length,String):[],n=t.length,i=!!n;for(var s in r)(e||ri.call(r,s))&&!(i&&(s=="length"||If(s,n)))&&t.push(s);return t}function nk(r,e,t,n){return r===void 0||bl(r,ti[t])&&!ri.call(n,t)?e:r}function ik(r,e,t){var n=r[e];(!(ri.call(r,e)&&bl(n,t))||t===void 0&&!(e in r))&&(r[e]=t)}function sk(r){if(!vl(r))return uk(r);var e=ck(r),t=[];for(var n in r)n=="constructor"&&(e||!ri.call(r,n))||t.push(n);return t}function kf(r,e){return e=vf(e===void 0?r.length-1:e,0),function(){for(var t=arguments,n=-1,i=vf(t.length-e,0),s=Array(i);++n<i;)s[n]=t[e+n];n=-1;for(var a=Array(e+1);++n<e;)a[n]=t[n];return a[e]=s,Sf(r,this,a)}}function ak(r,e,t,n){t||(t={});for(var i=-1,s=e.length;++i<s;){var a=e[i],o=n?n(t[a],r[a],a,t,r):void 0;ik(t,a,o===void 0?r[a]:o)}return t}function ok(r){return kf(function(e,t){var n=-1,i=t.length,s=i>1?t[i-1]:void 0,a=i>2?t[2]:void 0;for(s=r.length>3&&typeof s=="function"?(i--,s):void 0,a&&lk(t[0],t[1],a)&&(s=i<3?void 0:s,i=1),e=Object(e);++n<i;){var o=t[n];o&&r(e,o,n,s)}return e})}function If(r,e){return e=e??Kf,!!e&&(typeof r=="number"||XE.test(r))&&r>-1&&r%1==0&&r<e}function lk(r,e,t){if(!vl(t))return!1;var n=typeof e;return(n=="number"?gl(t)&&If(e,t.length):n=="string"&&e in t)?bl(t[e],r):!1}function ck(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||ti;return r===t}function uk(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}function bl(r,e){return r===e||r!==r&&e!==e}function dk(r){return pk(r)&&ri.call(r,"callee")&&(!tk.call(r,"callee")||Ef.call(r)==HE)}var fk=Array.isArray;function gl(r){return r!=null&&hk(r.length)&&!yk(r)}function pk(r){return mk(r)&&gl(r)}function yk(r){var e=vl(r)?Ef.call(r):"";return e==QE||e==ZE}function hk(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=Kf}function vl(r){var e=typeof r;return!!r&&(e=="object"||e=="function")}function mk(r){return!!r&&typeof r=="object"}var bk=ok(function(r,e,t,n){ak(e,vk(e),r,n)}),gk=kf(function(r){return r.push(void 0,nk),Sf(bk,void 0,r)});function vk(r){return gl(r)?rk(r,!0):sk(r)}xf.exports=gk});var Af=y((lM,jf)=>{var Kk=9007199254740991,Sk="[object Arguments]",Ek="[object Function]",kk="[object GeneratorFunction]",Kl=Object.prototype,Ik=Kl.hasOwnProperty,Tf=Kl.toString,xk=Kl.propertyIsEnumerable;function wk(r){return jk(r)&&Ik.call(r,"callee")&&(!xk.call(r,"callee")||Tf.call(r)==Sk)}function Tk(r){return r!=null&&Dk(r.length)&&!Ak(r)}function jk(r){return Ok(r)&&Tk(r)}function Ak(r){var e=Rk(r)?Tf.call(r):"";return e==Ek||e==kk}function Dk(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=Kk}function Rk(r){var e=typeof r;return!!r&&(e=="object"||e=="function")}function Ok(r){return!!r&&typeof r=="object"}jf.exports=wk});var Ui=y(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.isArguments=pr.defaults=pr.noop=void 0;var Ck=wf();pr.defaults=Ck;var _k=Af();pr.isArguments=_k;function Mk(){}pr.noop=Mk});var Rf=y((uM,Df)=>{var gn=1e3,vn=gn*60,Kn=vn*60,qr=Kn*24,Pk=qr*7,Nk=qr*365.25;Df.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return Lk(r);if(t==="number"&&isFinite(r))return e.long?Jk(r):qk(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Lk(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*Nk;case"weeks":case"week":case"w":return t*Pk;case"days":case"day":case"d":return t*qr;case"hours":case"hour":case"hrs":case"hr":case"h":return t*Kn;case"minutes":case"minute":case"mins":case"min":case"m":return t*vn;case"seconds":case"second":case"secs":case"sec":case"s":return t*gn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function qk(r){var e=Math.abs(r);return e>=qr?Math.round(r/qr)+"d":e>=Kn?Math.round(r/Kn)+"h":e>=vn?Math.round(r/vn)+"m":e>=gn?Math.round(r/gn)+"s":r+"ms"}function Jk(r){var e=Math.abs(r);return e>=qr?zi(r,e,qr,"day"):e>=Kn?zi(r,e,Kn,"hour"):e>=vn?zi(r,e,vn,"minute"):e>=gn?zi(r,e,gn,"second"):r+" ms"}function zi(r,e,t,n){var i=e>=t*1.5;return Math.round(r/t)+" "+n+(i?"s":"")}});var Sl=y((dM,Of)=>{function Fk(r){t.debug=t,t.default=t,t.coerce=l,t.disable=a,t.enable=i,t.enabled=o,t.humanize=Rf(),t.destroy=c,Object.keys(r).forEach(u=>{t[u]=r[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let d=0;for(let p=0;p<u.length;p++)d=(d<<5)-d+u.charCodeAt(p),d|=0;return t.colors[Math.abs(d)%t.colors.length]}t.selectColor=e;function t(u){let d,p=null,f,h;function g(...k){if(!g.enabled)return;let E=g,I=Number(new Date),O=I-(d||I);E.diff=O,E.prev=d,E.curr=I,d=I,k[0]=t.coerce(k[0]),typeof k[0]!="string"&&k.unshift("%O");let D=0;k[0]=k[0].replace(/%([a-zA-Z%])/g,(ae,w)=>{if(ae==="%%")return"%";D++;let K=t.formatters[w];if(typeof K=="function"){let M=k[D];ae=K.call(E,M),k.splice(D,1),D--}return ae}),t.formatArgs.call(E,k),(E.log||t.log).apply(E,k)}return g.namespace=u,g.useColors=t.useColors(),g.color=t.selectColor(u),g.extend=n,g.destroy=t.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(f!==t.namespaces&&(f=t.namespaces,h=t.enabled(u)),h),set:k=>{p=k}}),typeof t.init=="function"&&t.init(g),g}function n(u,d){let p=t(this.namespace+(typeof d>"u"?":":d)+u);return p.log=this.log,p}function i(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let d=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let p of d)p[0]==="-"?t.skips.push(p.slice(1)):t.names.push(p)}function s(u,d){let p=0,f=0,h=-1,g=0;for(;p<u.length;)if(f<d.length&&(d[f]===u[p]||d[f]==="*"))d[f]==="*"?(h=f,g=p,f++):(p++,f++);else if(h!==-1)f=h+1,g++,p=g;else return!1;for(;f<d.length&&d[f]==="*";)f++;return f===d.length}function a(){let u=[...t.names,...t.skips.map(d=>"-"+d)].join(",");return t.enable(""),u}function o(u){for(let d of t.skips)if(s(u,d))return!1;for(let d of t.names)if(s(u,d))return!0;return!1}function l(u){return u instanceof Error?u.stack||u.message:u}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}Of.exports=Fk});var Cf=y((it,$i)=>{it.formatArgs=Gk;it.save=Yk;it.load=Bk;it.useColors=Vk;it.storage=Wk();it.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();it.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Vk(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let r;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(r=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(r[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Gk(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+$i.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(n=t))}),r.splice(n,0,e)}it.log=console.debug||console.log||(()=>{});function Yk(r){try{r?it.storage.setItem("debug",r):it.storage.removeItem("debug")}catch{}}function Bk(){let r;try{r=it.storage.getItem("debug")||it.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Wk(){try{return localStorage}catch{}}$i.exports=Sl()(it);var{formatters:Uk}=$i.exports;Uk.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Mf=y((fM,_f)=>{"use strict";_f.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",n=e.indexOf(t+r),i=e.indexOf("--");return n!==-1&&(i===-1||n<i)}});var Lf=y((pM,Nf)=>{"use strict";var zk=Y("os"),Pf=Y("tty"),gt=Mf(),{env:Le}=process,Hi;gt("no-color")||gt("no-colors")||gt("color=false")||gt("color=never")?Hi=0:(gt("color")||gt("colors")||gt("color=true")||gt("color=always"))&&(Hi=1);function $k(){if("FORCE_COLOR"in Le)return Le.FORCE_COLOR==="true"?1:Le.FORCE_COLOR==="false"?0:Le.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Le.FORCE_COLOR,10),3)}function Hk(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function Qk(r,{streamIsTTY:e,sniffFlags:t=!0}={}){let n=$k();n!==void 0&&(Hi=n);let i=t?Hi:n;if(i===0)return 0;if(t){if(gt("color=16m")||gt("color=full")||gt("color=truecolor"))return 3;if(gt("color=256"))return 2}if(r&&!e&&i===void 0)return 0;let s=i||0;if(Le.TERM==="dumb")return s;if(process.platform==="win32"){let a=zk.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in Le)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(a=>a in Le)||Le.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in Le)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Le.TEAMCITY_VERSION)?1:0;if(Le.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Le){let a=Number.parseInt((Le.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Le.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Le.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Le.TERM)||"COLORTERM"in Le?1:s}function El(r,e={}){let t=Qk(r,{streamIsTTY:r&&r.isTTY,...e});return Hk(t)}Nf.exports={supportsColor:El,stdout:El({isTTY:Pf.isatty(1)}),stderr:El({isTTY:Pf.isatty(2)})}});var Jf=y((qe,Zi)=>{var Zk=Y("tty"),Qi=Y("util");qe.init=sI;qe.log=rI;qe.formatArgs=eI;qe.save=nI;qe.load=iI;qe.useColors=Xk;qe.destroy=Qi.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");qe.colors=[6,2,3,4,5,1];try{let r=Lf();r&&(r.stderr||r).level>=2&&(qe.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}qe.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(i,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[t]=n,r},{});function Xk(){return"colors"in qe.inspectOpts?!!qe.inspectOpts.colors:Zk.isatty(process.stderr.fd)}function eI(r){let{namespace:e,useColors:t}=this;if(t){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${i};1m${e} \x1B[0m`;r[0]=s+r[0].split(`
|
|
2
|
+
var A_=Object.create;var Wl=Object.defineProperty;var l_=Object.getOwnPropertyDescriptor;var c_=Object.getOwnPropertyNames;var u_=Object.getPrototypeOf,d_=Object.prototype.hasOwnProperty;var S=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var h_=(r,e)=>()=>(r&&(e=r(r=0)),e);var g=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),f_=(r,e)=>{for(var t in e)Wl(r,t,{get:e[t],enumerable:!0})},GQ=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of c_(e))!d_.call(r,s)&&s!==t&&Wl(r,s,{get:()=>e[s],enumerable:!(n=l_(e,s))||n.enumerable});return r};var ug=(r,e,t)=>(t=r!=null?A_(u_(r)):{},GQ(e||!r||!r.__esModule?Wl(t,"default",{value:r,enumerable:!0}):t,r)),Yt=r=>GQ(Wl({},"__esModule",{value:!0}),r);var VQ=g((eue,g_)=>{g_.exports={acl:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},append:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},asking:{arity:1,flags:["fast"],keyStart:0,keyStop:0,step:0},auth:{arity:-2,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},bgrewriteaof:{arity:1,flags:["admin","noscript","no_async_loading"],keyStart:0,keyStop:0,step:0},bgsave:{arity:-1,flags:["admin","noscript","no_async_loading"],keyStart:0,keyStop:0,step:0},bitcount:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},bitfield:{arity:-2,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},bitfield_ro:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},bitop:{arity:-4,flags:["write","denyoom"],keyStart:2,keyStop:-1,step:1},bitpos:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},blmove:{arity:6,flags:["write","denyoom","noscript","blocking"],keyStart:1,keyStop:2,step:1},blmpop:{arity:-5,flags:["write","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},blpop:{arity:-3,flags:["write","noscript","blocking"],keyStart:1,keyStop:-2,step:1},brpop:{arity:-3,flags:["write","noscript","blocking"],keyStart:1,keyStop:-2,step:1},brpoplpush:{arity:4,flags:["write","denyoom","noscript","blocking"],keyStart:1,keyStop:2,step:1},bzmpop:{arity:-5,flags:["write","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},bzpopmax:{arity:-3,flags:["write","noscript","blocking","fast"],keyStart:1,keyStop:-2,step:1},bzpopmin:{arity:-3,flags:["write","noscript","blocking","fast"],keyStart:1,keyStop:-2,step:1},client:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},cluster:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},command:{arity:-1,flags:["loading","stale"],keyStart:0,keyStop:0,step:0},config:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},copy:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},dbsize:{arity:1,flags:["readonly","fast"],keyStart:0,keyStop:0,step:0},debug:{arity:-2,flags:["admin","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},decr:{arity:2,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},decrby:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},del:{arity:-2,flags:["write"],keyStart:1,keyStop:-1,step:1},discard:{arity:1,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:0,keyStop:0,step:0},dump:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},echo:{arity:2,flags:["fast"],keyStart:0,keyStop:0,step:0},eval:{arity:-3,flags:["noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},eval_ro:{arity:-3,flags:["readonly","noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},evalsha:{arity:-3,flags:["noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},evalsha_ro:{arity:-3,flags:["readonly","noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},exec:{arity:1,flags:["noscript","loading","stale","skip_slowlog"],keyStart:0,keyStop:0,step:0},exists:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:-1,step:1},expire:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},expireat:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},expiretime:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},failover:{arity:-1,flags:["admin","noscript","stale"],keyStart:0,keyStop:0,step:0},fcall:{arity:-3,flags:["noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},fcall_ro:{arity:-3,flags:["readonly","noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},flushall:{arity:-1,flags:["write"],keyStart:0,keyStop:0,step:0},flushdb:{arity:-1,flags:["write"],keyStart:0,keyStop:0,step:0},function:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},geoadd:{arity:-5,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},geodist:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},geohash:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},geopos:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},georadius:{arity:-6,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},georadius_ro:{arity:-6,flags:["readonly"],keyStart:1,keyStop:1,step:1},georadiusbymember:{arity:-5,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},georadiusbymember_ro:{arity:-5,flags:["readonly"],keyStart:1,keyStop:1,step:1},geosearch:{arity:-7,flags:["readonly"],keyStart:1,keyStop:1,step:1},geosearchstore:{arity:-8,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},get:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},getbit:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},getdel:{arity:2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},getex:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},getrange:{arity:4,flags:["readonly"],keyStart:1,keyStop:1,step:1},getset:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hdel:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hello:{arity:-1,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},hexists:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hexpire:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hexpireat:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hexpiretime:{arity:-5,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hget:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hgetall:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},hgetdel:{arity:-5,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hgetex:{arity:-5,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hincrby:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hincrbyfloat:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hkeys:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},hlen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hmget:{arity:-3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hmset:{arity:-4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hpersist:{arity:-5,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hpexpire:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hpexpireat:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hpexpiretime:{arity:-5,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hpttl:{arity:-5,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hrandfield:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},hscan:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},hset:{arity:-4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hsetex:{arity:-6,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hsetnx:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hstrlen:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},httl:{arity:-5,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hvals:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},incr:{arity:2,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},incrby:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},incrbyfloat:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},info:{arity:-1,flags:["loading","stale"],keyStart:0,keyStop:0,step:0},keys:{arity:2,flags:["readonly"],keyStart:0,keyStop:0,step:0},lastsave:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},latency:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},lcs:{arity:-3,flags:["readonly"],keyStart:1,keyStop:2,step:1},lindex:{arity:3,flags:["readonly"],keyStart:1,keyStop:1,step:1},linsert:{arity:5,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},llen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},lmove:{arity:5,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},lmpop:{arity:-4,flags:["write","movablekeys"],keyStart:0,keyStop:0,step:0},lolwut:{arity:-1,flags:["readonly","fast"],keyStart:0,keyStop:0,step:0},lpop:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},lpos:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},lpush:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},lpushx:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},lrange:{arity:4,flags:["readonly"],keyStart:1,keyStop:1,step:1},lrem:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},lset:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},ltrim:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},memory:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},mget:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:-1,step:1},migrate:{arity:-6,flags:["write","movablekeys"],keyStart:3,keyStop:3,step:1},module:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},monitor:{arity:1,flags:["admin","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},move:{arity:3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},mset:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:2},msetnx:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:2},multi:{arity:1,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:0,keyStop:0,step:0},object:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},persist:{arity:2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},pexpire:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},pexpireat:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},pexpiretime:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},pfadd:{arity:-2,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},pfcount:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},pfdebug:{arity:3,flags:["write","denyoom","admin"],keyStart:2,keyStop:2,step:1},pfmerge:{arity:-2,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},pfselftest:{arity:1,flags:["admin"],keyStart:0,keyStop:0,step:0},ping:{arity:-1,flags:["fast"],keyStart:0,keyStop:0,step:0},psetex:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},psubscribe:{arity:-2,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},psync:{arity:-3,flags:["admin","noscript","no_async_loading","no_multi"],keyStart:0,keyStop:0,step:0},pttl:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},publish:{arity:3,flags:["pubsub","loading","stale","fast"],keyStart:0,keyStop:0,step:0},pubsub:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},punsubscribe:{arity:-1,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},quit:{arity:-1,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},randomkey:{arity:1,flags:["readonly"],keyStart:0,keyStop:0,step:0},readonly:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},readwrite:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},rename:{arity:3,flags:["write"],keyStart:1,keyStop:2,step:1},renamenx:{arity:3,flags:["write","fast"],keyStart:1,keyStop:2,step:1},replconf:{arity:-1,flags:["admin","noscript","loading","stale","allow_busy"],keyStart:0,keyStop:0,step:0},replicaof:{arity:3,flags:["admin","noscript","stale","no_async_loading"],keyStart:0,keyStop:0,step:0},reset:{arity:1,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},restore:{arity:-4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},"restore-asking":{arity:-4,flags:["write","denyoom","asking"],keyStart:1,keyStop:1,step:1},role:{arity:1,flags:["noscript","loading","stale","fast"],keyStart:0,keyStop:0,step:0},rpop:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},rpoplpush:{arity:3,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},rpush:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},rpushx:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},sadd:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},save:{arity:1,flags:["admin","noscript","no_async_loading","no_multi"],keyStart:0,keyStop:0,step:0},scan:{arity:-2,flags:["readonly"],keyStart:0,keyStop:0,step:0},scard:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},script:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},sdiff:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},sdiffstore:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},select:{arity:2,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},set:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},setbit:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},setex:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},setnx:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},setrange:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},shutdown:{arity:-1,flags:["admin","noscript","loading","stale","no_multi","allow_busy"],keyStart:0,keyStop:0,step:0},sinter:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},sintercard:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},sinterstore:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},sismember:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},slaveof:{arity:3,flags:["admin","noscript","stale","no_async_loading"],keyStart:0,keyStop:0,step:0},slowlog:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},smembers:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},smismember:{arity:-3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},smove:{arity:4,flags:["write","fast"],keyStart:1,keyStop:2,step:1},sort:{arity:-2,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},sort_ro:{arity:-2,flags:["readonly","movablekeys"],keyStart:1,keyStop:1,step:1},spop:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},spublish:{arity:3,flags:["pubsub","loading","stale","fast"],keyStart:1,keyStop:1,step:1},srandmember:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},srem:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},sscan:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},ssubscribe:{arity:-2,flags:["pubsub","noscript","loading","stale"],keyStart:1,keyStop:-1,step:1},strlen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},subscribe:{arity:-2,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},substr:{arity:4,flags:["readonly"],keyStart:1,keyStop:1,step:1},sunion:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},sunionstore:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},sunsubscribe:{arity:-1,flags:["pubsub","noscript","loading","stale"],keyStart:1,keyStop:-1,step:1},swapdb:{arity:3,flags:["write","fast"],keyStart:0,keyStop:0,step:0},sync:{arity:1,flags:["admin","noscript","no_async_loading","no_multi"],keyStart:0,keyStop:0,step:0},time:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},touch:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:-1,step:1},ttl:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},type:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},unlink:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:-1,step:1},unsubscribe:{arity:-1,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},unwatch:{arity:1,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:0,keyStop:0,step:0},wait:{arity:3,flags:["noscript"],keyStart:0,keyStop:0,step:0},watch:{arity:-2,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:1,keyStop:-1,step:1},xack:{arity:-4,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xadd:{arity:-5,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},xautoclaim:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xclaim:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xdel:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xdelex:{arity:-5,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xgroup:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},xinfo:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},xlen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},xpending:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},xrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},xread:{arity:-4,flags:["readonly","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},xreadgroup:{arity:-7,flags:["write","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},xrevrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},xsetid:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},xtrim:{arity:-4,flags:["write"],keyStart:1,keyStop:1,step:1},zadd:{arity:-4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},zcard:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zcount:{arity:4,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zdiff:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zdiffstore:{arity:-4,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},zincrby:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},zinter:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zintercard:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zinterstore:{arity:-4,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},zlexcount:{arity:4,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zmpop:{arity:-4,flags:["write","movablekeys"],keyStart:0,keyStop:0,step:0},zmscore:{arity:-3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zpopmax:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},zpopmin:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},zrandmember:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrangebylex:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrangebyscore:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrangestore:{arity:-5,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},zrank:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zrem:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},zremrangebylex:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},zremrangebyrank:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},zremrangebyscore:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},zrevrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrevrangebylex:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrevrangebyscore:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrevrank:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zscan:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},zscore:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zunion:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zunionstore:{arity:-4,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1}}});var oi=g(rr=>{"use strict";var p_=rr&&rr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(rr,"__esModule",{value:!0});rr.getKeyIndexes=rr.hasFlag=rr.exists=rr.list=void 0;var zl=p_(VQ());rr.list=Object.keys(zl.default);var dg={};rr.list.forEach(r=>{dg[r]=zl.default[r].flags.reduce(function(e,t){return e[t]=!0,e},{})});function y_(r,e){return r=e?.caseInsensitive?String(r).toLowerCase():r,!!zl.default[r]}rr.exists=y_;function E_(r,e,t){if(r=t?.nameCaseInsensitive?String(r).toLowerCase():r,!dg[r])throw new Error("Unknown command "+r);return!!dg[r][e]}rr.hasFlag=E_;function I_(r,e,t){r=t?.nameCaseInsensitive?String(r).toLowerCase():r;let n=zl.default[r];if(!n)throw new Error("Unknown command "+r);if(!Array.isArray(e))throw new Error("Expect args to be an array");let s=[],i=!!(t&&t.parseExternalKey),o=(A,l)=>{let c=[],u=Number(A[l]);for(let d=0;d<u;d++)c.push(d+l+1);return c},a=(A,l,c)=>{for(let u=l;u<A.length-1;u+=1)if(String(A[u]).toLowerCase()===c.toLowerCase())return u+1;return null};switch(r){case"zunionstore":case"zinterstore":case"zdiffstore":s.push(0,...o(e,1));break;case"eval":case"evalsha":case"eval_ro":case"evalsha_ro":case"fcall":case"fcall_ro":case"blmpop":case"bzmpop":s.push(...o(e,1));break;case"sintercard":case"lmpop":case"zunion":case"zinter":case"zmpop":case"zintercard":case"zdiff":{s.push(...o(e,0));break}case"georadius":{s.push(0);let A=a(e,5,"STORE");A&&s.push(A);let l=a(e,5,"STOREDIST");l&&s.push(l);break}case"georadiusbymember":{s.push(0);let A=a(e,4,"STORE");A&&s.push(A);let l=a(e,4,"STOREDIST");l&&s.push(l);break}case"sort":case"sort_ro":s.push(0);for(let A=1;A<e.length-1;A++){let l=e[A];if(typeof l!="string")continue;let c=l.toUpperCase();c==="GET"?(A+=1,l=e[A],l!=="#"&&(i?s.push([A,HQ(l)]):s.push(A))):c==="BY"?(A+=1,i?s.push([A,HQ(e[A])]):s.push(A)):c==="STORE"&&(A+=1,s.push(A))}break;case"migrate":if(e[2]==="")for(let A=5;A<e.length-1;A++){let l=e[A];if(typeof l=="string"&&l.toUpperCase()==="KEYS"){for(let c=A+1;c<e.length;c++)s.push(c);break}}else s.push(2);break;case"xreadgroup":case"xread":for(let A=r==="xread"?0:3;A<e.length-1;A++)if(String(e[A]).toUpperCase()==="STREAMS"){for(let l=A+1;l<=A+(e.length-1-A)/2;l++)s.push(l);break}break;default:if(n.step>0){let A=n.keyStart-1,l=n.keyStop>0?n.keyStop:e.length+n.keyStop+1;for(let c=A;c<l;c+=n.step)s.push(c)}break}return s}rr.getKeyIndexes=I_;function HQ(r){typeof r!="string"&&(r=String(r));let e=r.indexOf("->");return e===-1?r.length:e}});var WQ=g(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.tryCatch=cs.errorObj=void 0;cs.errorObj={e:{}};var hg;function m_(r,e){try{let t=hg;return hg=null,t.apply(this,arguments)}catch(t){return cs.errorObj.e=t,cs.errorObj}}function C_(r){return hg=r,m_}cs.tryCatch=C_});var us=g(fg=>{"use strict";Object.defineProperty(fg,"__esModule",{value:!0});var Qo=WQ();function zQ(r){setTimeout(function(){throw r},0)}function b_(r,e,t){return typeof e=="function"&&r.then(n=>{let s;t!==void 0&&Object(t).spread&&Array.isArray(n)?s=Qo.tryCatch(e).apply(void 0,[null].concat(n)):s=n===void 0?Qo.tryCatch(e)(null):Qo.tryCatch(e)(null,n),s===Qo.errorObj&&zQ(s.e)},n=>{if(!n){let i=new Error(n+"");Object.assign(i,{cause:n}),n=i}let s=Qo.tryCatch(e)(n);s===Qo.errorObj&&zQ(s.e)}),r}fg.default=b_});var $Q=g((sue,XQ)=>{"use strict";var ZQ=S("assert"),za=S("util");function Bo(r){Object.defineProperty(this,"message",{value:r||"",configurable:!0,writable:!0}),Error.captureStackTrace(this,this.constructor)}za.inherits(Bo,Error);Object.defineProperty(Bo.prototype,"name",{value:"RedisError",configurable:!0,writable:!0});function gg(r,e,t){ZQ(e),ZQ.strictEqual(typeof t,"number"),Object.defineProperty(this,"message",{value:r||"",configurable:!0,writable:!0});let n=Error.stackTraceLimit;Error.stackTraceLimit=2,Error.captureStackTrace(this,this.constructor),Error.stackTraceLimit=n,this.offset=t,this.buffer=e}za.inherits(gg,Bo);Object.defineProperty(gg.prototype,"name",{value:"ParserError",configurable:!0,writable:!0});function pg(r){Object.defineProperty(this,"message",{value:r||"",configurable:!0,writable:!0});let e=Error.stackTraceLimit;Error.stackTraceLimit=2,Error.captureStackTrace(this,this.constructor),Error.stackTraceLimit=e}za.inherits(pg,Bo);Object.defineProperty(pg.prototype,"name",{value:"ReplyError",configurable:!0,writable:!0});function Zl(r){Object.defineProperty(this,"message",{value:r||"",configurable:!0,writable:!0}),Error.captureStackTrace(this,this.constructor)}za.inherits(Zl,Bo);Object.defineProperty(Zl.prototype,"name",{value:"AbortError",configurable:!0,writable:!0});function yg(r){Object.defineProperty(this,"message",{value:r||"",configurable:!0,writable:!0}),Error.captureStackTrace(this,this.constructor)}za.inherits(yg,Zl);Object.defineProperty(yg.prototype,"name",{value:"InterruptError",configurable:!0,writable:!0});XQ.exports={RedisError:Bo,ParserError:gg,ReplyError:pg,AbortError:Zl,InterruptError:yg}});var r0=g((iue,t0)=>{"use strict";var e0=S("assert"),So=class extends Error{get name(){return this.constructor.name}},Eg=class extends So{constructor(e,t,n){e0(t),e0.strictEqual(typeof n,"number");let s=Error.stackTraceLimit;Error.stackTraceLimit=2,super(e),Error.stackTraceLimit=s,this.offset=n,this.buffer=t}get name(){return this.constructor.name}},Ig=class extends So{constructor(e){let t=Error.stackTraceLimit;Error.stackTraceLimit=2,super(e),Error.stackTraceLimit=t}get name(){return this.constructor.name}},Xl=class extends So{get name(){return this.constructor.name}},mg=class extends Xl{get name(){return this.constructor.name}};t0.exports={RedisError:So,ParserError:Eg,ReplyError:Ig,AbortError:Xl,InterruptError:mg}});var ai=g((oue,n0)=>{"use strict";var Q_=process.version.charCodeAt(1)<55&&process.version.charCodeAt(2)===46?$Q():r0();n0.exports=Q_});var Za=g((aue,Cg)=>{var s0=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920],B_=function(e){for(var t,n=0,s=0,i=[],o=e.length;n<o;n++)t=e.charCodeAt(n),t<128?i[s++]=t:t<2048?(i[s++]=t>>6|192,i[s++]=t&63|128):(t&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(t=65536+((t&1023)<<10)+(e.charCodeAt(++n)&1023),i[s++]=t>>18|240,i[s++]=t>>12&63|128,i[s++]=t>>6&63|128,i[s++]=t&63|128):(i[s++]=t>>12|224,i[s++]=t>>6&63|128,i[s++]=t&63|128);return i},i0=Cg.exports=function(e){for(var t,n=0,s=-1,i=0,o=0,a=typeof e=="string"?B_(e):e,A=a.length;n<A;){if(t=a[n++],s===-1)t===123&&(s=n);else if(t!==125)o=s0[(t^o>>8)&255]^o<<8;else if(n-1!==s)return o&16383;i=s0[(t^i>>8)&255]^i<<8}return i&16383};Cg.exports.generateMulti=function(e){for(var t=1,n=e.length,s=i0(e[0]);t<n;)if(i0(e[t++])!==s)return-1;return s}});var h0=g((Aue,d0)=>{var a0=9007199254740991,S_="[object Arguments]",w_="[object Function]",D_="[object GeneratorFunction]",k_=/^(?:0|[1-9]\d*)$/;function A0(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}function R_(r,e){for(var t=-1,n=Array(r);++t<r;)n[t]=e(t);return n}var Xa=Object.prototype,$a=Xa.hasOwnProperty,l0=Xa.toString,v_=Xa.propertyIsEnumerable,o0=Math.max;function x_(r,e){var t=P_(r)||j_(r)?R_(r.length,String):[],n=t.length,s=!!n;for(var i in r)(e||$a.call(r,i))&&!(s&&(i=="length"||u0(i,n)))&&t.push(i);return t}function T_(r,e,t,n){return r===void 0||bg(r,Xa[t])&&!$a.call(n,t)?e:r}function N_(r,e,t){var n=r[e];(!($a.call(r,e)&&bg(n,t))||t===void 0&&!(e in r))&&(r[e]=t)}function M_(r){if(!Bg(r))return U_(r);var e=O_(r),t=[];for(var n in r)n=="constructor"&&(e||!$a.call(r,n))||t.push(n);return t}function c0(r,e){return e=o0(e===void 0?r.length-1:e,0),function(){for(var t=arguments,n=-1,s=o0(t.length-e,0),i=Array(s);++n<s;)i[n]=t[e+n];n=-1;for(var o=Array(e+1);++n<e;)o[n]=t[n];return o[e]=i,A0(r,this,o)}}function K_(r,e,t,n){t||(t={});for(var s=-1,i=e.length;++s<i;){var o=e[s],a=n?n(t[o],r[o],o,t,r):void 0;N_(t,o,a===void 0?r[o]:a)}return t}function F_(r){return c0(function(e,t){var n=-1,s=t.length,i=s>1?t[s-1]:void 0,o=s>2?t[2]:void 0;for(i=r.length>3&&typeof i=="function"?(s--,i):void 0,o&&L_(t[0],t[1],o)&&(i=s<3?void 0:i,s=1),e=Object(e);++n<s;){var a=t[n];a&&r(e,a,n,i)}return e})}function u0(r,e){return e=e??a0,!!e&&(typeof r=="number"||k_.test(r))&&r>-1&&r%1==0&&r<e}function L_(r,e,t){if(!Bg(t))return!1;var n=typeof e;return(n=="number"?Qg(t)&&u0(e,t.length):n=="string"&&e in t)?bg(t[e],r):!1}function O_(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Xa;return r===t}function U_(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}function bg(r,e){return r===e||r!==r&&e!==e}function j_(r){return __(r)&&$a.call(r,"callee")&&(!v_.call(r,"callee")||l0.call(r)==S_)}var P_=Array.isArray;function Qg(r){return r!=null&&Y_(r.length)&&!J_(r)}function __(r){return q_(r)&&Qg(r)}function J_(r){var e=Bg(r)?l0.call(r):"";return e==w_||e==D_}function Y_(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=a0}function Bg(r){var e=typeof r;return!!r&&(e=="object"||e=="function")}function q_(r){return!!r&&typeof r=="object"}var G_=F_(function(r,e,t,n){K_(e,H_(e),r,n)}),V_=c0(function(r){return r.push(void 0,T_),A0(G_,void 0,r)});function H_(r){return Qg(r)?x_(r,!0):M_(r)}d0.exports=V_});var p0=g((lue,g0)=>{var W_=9007199254740991,z_="[object Arguments]",Z_="[object Function]",X_="[object GeneratorFunction]",Sg=Object.prototype,$_=Sg.hasOwnProperty,f0=Sg.toString,eJ=Sg.propertyIsEnumerable;function tJ(r){return nJ(r)&&$_.call(r,"callee")&&(!eJ.call(r,"callee")||f0.call(r)==z_)}function rJ(r){return r!=null&&iJ(r.length)&&!sJ(r)}function nJ(r){return aJ(r)&&rJ(r)}function sJ(r){var e=oJ(r)?f0.call(r):"";return e==Z_||e==X_}function iJ(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=W_}function oJ(r){var e=typeof r;return!!r&&(e=="object"||e=="function")}function aJ(r){return!!r&&typeof r=="object"}g0.exports=tJ});var $l=g(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.isArguments=ds.defaults=ds.noop=void 0;var AJ=h0();ds.defaults=AJ;var lJ=p0();ds.isArguments=lJ;function cJ(){}ds.noop=cJ});var E0=g((uue,y0)=>{var wo=1e3,Do=wo*60,ko=Do*60,Ai=ko*24,uJ=Ai*7,dJ=Ai*365.25;y0.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return hJ(r);if(t==="number"&&isFinite(r))return e.long?gJ(r):fJ(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function hJ(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*dJ;case"weeks":case"week":case"w":return t*uJ;case"days":case"day":case"d":return t*Ai;case"hours":case"hour":case"hrs":case"hr":case"h":return t*ko;case"minutes":case"minute":case"mins":case"min":case"m":return t*Do;case"seconds":case"second":case"secs":case"sec":case"s":return t*wo;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function fJ(r){var e=Math.abs(r);return e>=Ai?Math.round(r/Ai)+"d":e>=ko?Math.round(r/ko)+"h":e>=Do?Math.round(r/Do)+"m":e>=wo?Math.round(r/wo)+"s":r+"ms"}function gJ(r){var e=Math.abs(r);return e>=Ai?ec(r,e,Ai,"day"):e>=ko?ec(r,e,ko,"hour"):e>=Do?ec(r,e,Do,"minute"):e>=wo?ec(r,e,wo,"second"):r+" ms"}function ec(r,e,t,n){var s=e>=t*1.5;return Math.round(r/t)+" "+n+(s?"s":"")}});var wg=g((due,I0)=>{function pJ(r){t.debug=t,t.default=t,t.coerce=A,t.disable=o,t.enable=s,t.enabled=a,t.humanize=E0(),t.destroy=l,Object.keys(r).forEach(c=>{t[c]=r[c]}),t.names=[],t.skips=[],t.formatters={};function e(c){let u=0;for(let d=0;d<c.length;d++)u=(u<<5)-u+c.charCodeAt(d),u|=0;return t.colors[Math.abs(u)%t.colors.length]}t.selectColor=e;function t(c){let u,d=null,h,f;function p(...I){if(!p.enabled)return;let y=p,m=Number(new Date),w=m-(u||m);y.diff=w,y.prev=u,y.curr=m,u=m,I[0]=t.coerce(I[0]),typeof I[0]!="string"&&I.unshift("%O");let R=0;I[0]=I[0].replace(/%([a-zA-Z%])/g,(j,v)=>{if(j==="%%")return"%";R++;let C=t.formatters[v];if(typeof C=="function"){let K=I[R];j=C.call(y,K),I.splice(R,1),R--}return j}),t.formatArgs.call(y,I),(y.log||t.log).apply(y,I)}return p.namespace=c,p.useColors=t.useColors(),p.color=t.selectColor(c),p.extend=n,p.destroy=t.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==t.namespaces&&(h=t.namespaces,f=t.enabled(c)),f),set:I=>{d=I}}),typeof t.init=="function"&&t.init(p),p}function n(c,u){let d=t(this.namespace+(typeof u>"u"?":":u)+c);return d.log=this.log,d}function s(c){t.save(c),t.namespaces=c,t.names=[],t.skips=[];let u=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of u)d[0]==="-"?t.skips.push(d.slice(1)):t.names.push(d)}function i(c,u){let d=0,h=0,f=-1,p=0;for(;d<c.length;)if(h<u.length&&(u[h]===c[d]||u[h]==="*"))u[h]==="*"?(f=h,p=d,h++):(d++,h++);else if(f!==-1)h=f+1,p++,d=p;else return!1;for(;h<u.length&&u[h]==="*";)h++;return h===u.length}function o(){let c=[...t.names,...t.skips.map(u=>"-"+u)].join(",");return t.enable(""),c}function a(c){for(let u of t.skips)if(i(c,u))return!1;for(let u of t.names)if(i(c,u))return!0;return!1}function A(c){return c instanceof Error?c.stack||c.message:c}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}I0.exports=pJ});var m0=g((qt,tc)=>{qt.formatArgs=EJ;qt.save=IJ;qt.load=mJ;qt.useColors=yJ;qt.storage=CJ();qt.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();qt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function yJ(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let r;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(r=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(r[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function EJ(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+tc.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(t++,s==="%c"&&(n=t))}),r.splice(n,0,e)}qt.log=console.debug||console.log||(()=>{});function IJ(r){try{r?qt.storage.setItem("debug",r):qt.storage.removeItem("debug")}catch{}}function mJ(){let r;try{r=qt.storage.getItem("debug")||qt.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function CJ(){try{return localStorage}catch{}}tc.exports=wg()(qt);var{formatters:bJ}=tc.exports;bJ.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var b0=g((hue,C0)=>{"use strict";C0.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",n=e.indexOf(t+r),s=e.indexOf("--");return n!==-1&&(s===-1||n<s)}});var S0=g((fue,B0)=>{"use strict";var QJ=S("os"),Q0=S("tty"),Br=b0(),{env:ft}=process,rc;Br("no-color")||Br("no-colors")||Br("color=false")||Br("color=never")?rc=0:(Br("color")||Br("colors")||Br("color=true")||Br("color=always"))&&(rc=1);function BJ(){if("FORCE_COLOR"in ft)return ft.FORCE_COLOR==="true"?1:ft.FORCE_COLOR==="false"?0:ft.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(ft.FORCE_COLOR,10),3)}function SJ(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function wJ(r,{streamIsTTY:e,sniffFlags:t=!0}={}){let n=BJ();n!==void 0&&(rc=n);let s=t?rc:n;if(s===0)return 0;if(t){if(Br("color=16m")||Br("color=full")||Br("color=truecolor"))return 3;if(Br("color=256"))return 2}if(r&&!e&&s===void 0)return 0;let i=s||0;if(ft.TERM==="dumb")return i;if(process.platform==="win32"){let o=QJ.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in ft)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(o=>o in ft)||ft.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in ft)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ft.TEAMCITY_VERSION)?1:0;if(ft.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ft){let o=Number.parseInt((ft.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ft.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ft.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ft.TERM)||"COLORTERM"in ft?1:i}function Dg(r,e={}){let t=wJ(r,{streamIsTTY:r&&r.isTTY,...e});return SJ(t)}B0.exports={supportsColor:Dg,stdout:Dg({isTTY:Q0.isatty(1)}),stderr:Dg({isTTY:Q0.isatty(2)})}});var D0=g((gt,sc)=>{var DJ=S("tty"),nc=S("util");gt.init=MJ;gt.log=xJ;gt.formatArgs=RJ;gt.save=TJ;gt.load=NJ;gt.useColors=kJ;gt.destroy=nc.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");gt.colors=[6,2,3,4,5,1];try{let r=S0();r&&(r.stderr||r).level>=2&&(gt.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}gt.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(s,i)=>i.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[t]=n,r},{});function kJ(){return"colors"in gt.inspectOpts?!!gt.inspectOpts.colors:DJ.isatty(process.stderr.fd)}function RJ(r){let{namespace:e,useColors:t}=this;if(t){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${s};1m${e} \x1B[0m`;r[0]=i+r[0].split(`
|
|
3
3
|
`).join(`
|
|
4
|
-
`+
|
|
5
|
-
`)}function
|
|
6
|
-
`).map(e=>e.trim()).join(" ")};
|
|
4
|
+
`+i),r.push(s+"m+"+sc.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=vJ()+e+" "+r[0]}function vJ(){return gt.inspectOpts.hideDate?"":new Date().toISOString()+" "}function xJ(...r){return process.stderr.write(nc.formatWithOptions(gt.inspectOpts,...r)+`
|
|
5
|
+
`)}function TJ(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function NJ(){return process.env.DEBUG}function MJ(r){r.inspectOpts={};let e=Object.keys(gt.inspectOpts);for(let t=0;t<e.length;t++)r.inspectOpts[e[t]]=gt.inspectOpts[e[t]]}sc.exports=wg()(gt);var{formatters:w0}=sc.exports;w0.o=function(r){return this.inspectOpts.colors=this.useColors,nc.inspect(r,this.inspectOpts).split(`
|
|
6
|
+
`).map(e=>e.trim()).join(" ")};w0.O=function(r){return this.inspectOpts.colors=this.useColors,nc.inspect(r,this.inspectOpts)}});var k0=g((gue,kg)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?kg.exports=m0():kg.exports=D0()});var x0=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.genRedactedString=Tn.getStringValue=Tn.MAX_ARGUMENT_LENGTH=void 0;var KJ=k0(),Rg=200;Tn.MAX_ARGUMENT_LENGTH=Rg;var FJ="ioredis";function R0(r){if(r!==null)switch(typeof r){case"boolean":return;case"number":return;case"object":if(Buffer.isBuffer(r))return r.toString("hex");if(Array.isArray(r))return r.join(",");try{return JSON.stringify(r)}catch{return}case"string":return r}}Tn.getStringValue=R0;function v0(r,e){let{length:t}=r;return t<=e?r:r.slice(0,e)+' ... <REDACTED full-length="'+t+'">'}Tn.genRedactedString=v0;function LJ(r){let e=(0,KJ.default)(`${FJ}:${r}`);function t(...n){if(e.enabled){for(let s=1;s<n.length;s++){let i=R0(n[s]);typeof i=="string"&&i.length>Rg&&(n[s]=v0(i,Rg))}return e.apply(null,n)}}return Object.defineProperties(t,{namespace:{get(){return e.namespace}},enabled:{get(){return e.enabled}},destroy:{get(){return e.destroy}},log:{get(){return e.log},set(n){e.log=n}}}),t}Tn.default=LJ});var N0=g(vg=>{"use strict";Object.defineProperty(vg,"__esModule",{value:!0});var T0=`-----BEGIN CERTIFICATE-----
|
|
7
7
|
MIIDTzCCAjegAwIBAgIJAKSVpiDswLcwMA0GCSqGSIb3DQEBBQUAMD4xFjAUBgNV
|
|
8
8
|
BAoMDUdhcmFudGlhIERhdGExJDAiBgNVBAMMG1NTTCBDZXJ0aWZpY2F0aW9uIEF1
|
|
9
9
|
dGhvcml0eTAeFw0xMzEwMDExMjE0NTVaFw0yMzA5MjkxMjE0NTVaMD4xFjAUBgNV
|
|
@@ -141,28 +141,28 @@ jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
|
|
|
141
141
|
mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
|
|
142
142
|
Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
|
|
143
143
|
WD9f
|
|
144
|
-
-----END CERTIFICATE-----`,
|
|
145
|
-
`),
|
|
146
|
-
`+n[
|
|
147
|
-
`);r.stack=r.stack.slice(0,
|
|
144
|
+
-----END CERTIFICATE-----`,OJ={RedisCloudFixed:{ca:T0},RedisCloudFlexible:{ca:T0}};vg.default=OJ});var ot=g(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.noop=fe.defaults=fe.Debug=fe.getPackageMeta=fe.zipMap=fe.CONNECTION_CLOSED_ERROR_MSG=fe.shuffle=fe.sample=fe.resolveTLSProfile=fe.parseURL=fe.optimizeErrorStack=fe.toArg=fe.convertMapToArray=fe.convertObjectToArray=fe.timeout=fe.packObject=fe.isInt=fe.wrapMultiResult=fe.convertBufferToString=void 0;var UJ=S("fs"),jJ=S("path"),M0=S("url"),xg=$l();Object.defineProperty(fe,"defaults",{enumerable:!0,get:function(){return xg.defaults}});Object.defineProperty(fe,"noop",{enumerable:!0,get:function(){return xg.noop}});var PJ=x0();fe.Debug=PJ.default;var _J=N0();function K0(r,e){if(r instanceof Buffer)return r.toString(e);if(Array.isArray(r)){let t=r.length,n=Array(t);for(let s=0;s<t;++s)n[s]=r[s]instanceof Buffer&&e==="utf8"?r[s].toString():K0(r[s],e);return n}return r}fe.convertBufferToString=K0;function JJ(r){if(!r)return null;let e=[],t=r.length;for(let n=0;n<t;++n){let s=r[n];s instanceof Error?e.push([s]):e.push([null,s])}return e}fe.wrapMultiResult=JJ;function F0(r){let e=parseFloat(r);return!isNaN(r)&&(e|0)===e}fe.isInt=F0;function YJ(r){let e={},t=r.length;for(let n=1;n<t;n+=2)e[r[n-1]]=r[n];return e}fe.packObject=YJ;function qJ(r,e){let t=null,n=function(){t&&(clearTimeout(t),t=null,r.apply(this,arguments))};return t=setTimeout(n,e,new Error("timeout")),n}fe.timeout=qJ;function GJ(r){let e=[],t=Object.keys(r);for(let n=0,s=t.length;n<s;n++)e.push(t[n],r[t[n]]);return e}fe.convertObjectToArray=GJ;function VJ(r){let e=[],t=0;return r.forEach(function(n,s){e[t]=s,e[t+1]=n,t+=2}),e}fe.convertMapToArray=VJ;function HJ(r){return r===null||typeof r>"u"?"":String(r)}fe.toArg=HJ;function WJ(r,e,t){let n=e.split(`
|
|
145
|
+
`),s="",i;for(i=1;i<n.length&&n[i].indexOf(t)!==-1;++i);for(let o=i;o<n.length;++o)s+=`
|
|
146
|
+
`+n[o];if(r.stack){let o=r.stack.indexOf(`
|
|
147
|
+
`);r.stack=r.stack.slice(0,o)+s}return r}fe.optimizeErrorStack=WJ;function zJ(r){if(F0(r))return{port:r};let e=(0,M0.parse)(r,!0,!0);!e.slashes&&r[0]!=="/"&&(r="//"+r,e=(0,M0.parse)(r,!0,!0));let t=e.query||{},n={};if(e.auth){let s=e.auth.indexOf(":");n.username=s===-1?e.auth:e.auth.slice(0,s),n.password=s===-1?"":e.auth.slice(s+1)}if(e.pathname&&(e.protocol==="redis:"||e.protocol==="rediss:"?e.pathname.length>1&&(n.db=e.pathname.slice(1)):n.path=e.pathname),e.host&&(n.host=e.hostname),e.port&&(n.port=e.port),typeof t.family=="string"){let s=Number.parseInt(t.family,10);Number.isNaN(s)||(n.family=s)}return(0,xg.defaults)(n,t),n}fe.parseURL=zJ;function ZJ(r){let e=r?.tls;typeof e=="string"&&(e={profile:e});let t=_J.default[e?.profile];return t&&(e=Object.assign({},t,e),delete e.profile,r=Object.assign({},r,{tls:e})),r}fe.resolveTLSProfile=ZJ;function XJ(r,e=0){let t=r.length;return e>=t?null:r[e+Math.floor(Math.random()*(t-e))]}fe.sample=XJ;function $J(r){let e=r.length;for(;e>0;){let t=Math.floor(Math.random()*e);e--,[r[e],r[t]]=[r[t],r[e]]}return r}fe.shuffle=$J;fe.CONNECTION_CLOSED_ERROR_MSG="Connection is closed.";function eY(r,e){let t=new Map;return r.forEach((n,s)=>{t.set(n,e[s])}),t}fe.zipMap=eY;var Ro=null;async function tY(){if(Ro)return Ro;try{let r=(0,jJ.resolve)(__dirname,"..","..","package.json"),e=await UJ.promises.readFile(r,"utf8");return Ro={version:JSON.parse(e).version},Ro}catch{return Ro={version:"error-fetching-version"},Ro}}fe.getPackageMeta=tY});var L0=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.parseBlockOption=vo.parseSecondsArgument=void 0;var Tg=r=>{if(typeof r=="number")return r;if(Buffer.isBuffer(r))return Tg(r.toString());if(typeof r=="string"){let e=Number(r);return Number.isFinite(e)?e:void 0}},rY=r=>{if(typeof r=="string")return r;if(Buffer.isBuffer(r))return r.toString()},nY=r=>{let e=Tg(r);if(e!==void 0)return e<=0?0:e*1e3};vo.parseSecondsArgument=nY;var sY=r=>{for(let e=0;e<r.length;e++){let t=rY(r[e]);if(t&&t.toLowerCase()==="block"){let n=Tg(r[e+1]);return n===void 0?void 0:n<=0?0:n}}return null};vo.parseBlockOption=sY});var Nn=g(Kg=>{"use strict";Object.defineProperty(Kg,"__esModule",{value:!0});var O0=oi(),iY=Za(),oY=us(),li=ot(),Ng=L0(),on=class r{constructor(e,t=[],n={},s){if(this.name=e,this.inTransaction=!1,this.isResolved=!1,this.transformed=!1,this.replyEncoding=n.replyEncoding,this.errorStack=n.errorStack,this.args=t.flat(),this.callback=s,this.initPromise(),n.keyPrefix){let i=n.keyPrefix instanceof Buffer,o=i?n.keyPrefix:null;this._iterateKeys(a=>a instanceof Buffer?(o===null&&(o=Buffer.from(n.keyPrefix)),Buffer.concat([o,a])):i?Buffer.concat([n.keyPrefix,Buffer.from(String(a))]):n.keyPrefix+a)}n.readOnly&&(this.isReadOnly=!0)}static checkFlag(e,t){return t=t.toLowerCase(),!!this.getFlagMap()[e][t]}static setArgumentTransformer(e,t){this._transformer.argument[e]=t}static setReplyTransformer(e,t){this._transformer.reply[e]=t}static getFlagMap(){return this.flagMap||(this.flagMap=Object.keys(r.FLAGS).reduce((e,t)=>(e[t]={},r.FLAGS[t].forEach(n=>{e[t][n]=!0}),e),{})),this.flagMap}getSlot(){if(typeof this.slot>"u"){let e=this.getKeys()[0];this.slot=e==null?null:iY(e)}return this.slot}getKeys(){return this._iterateKeys()}toWritable(e){let t,n="*"+(this.args.length+1)+`\r
|
|
148
148
|
$`+Buffer.byteLength(this.name)+`\r
|
|
149
149
|
`+this.name+`\r
|
|
150
|
-
`;if(this.bufferMode){let
|
|
150
|
+
`;if(this.bufferMode){let s=new Mg;s.push(n);for(let i=0;i<this.args.length;++i){let o=this.args[i];o instanceof Buffer?o.length===0?s.push(`$0\r
|
|
151
151
|
\r
|
|
152
|
-
`):(
|
|
153
|
-
`),
|
|
154
|
-
`)):
|
|
155
|
-
`+
|
|
156
|
-
`)}t=
|
|
157
|
-
`+
|
|
158
|
-
`}}return t}stringifyArguments(){for(let e=0;e<this.args.length;++e){let t=this.args[e];typeof t=="string"||(t instanceof Buffer?this.bufferMode=!0:this.args[e]=(0,Jr.toArg)(t))}}transformReply(e){this.replyEncoding&&(e=(0,Jr.convertBufferToString)(e,this.replyEncoding));let t=r._transformer.reply[this.name];return t&&(e=t(e)),e}setTimeout(e){this._commandTimeoutTimer||(this._commandTimeoutTimer=setTimeout(()=>{this.isResolved||this.reject(new Error("Command timed out"))},e))}setBlockingTimeout(e){if(e<=0)return;this._blockingTimeoutTimer&&(clearTimeout(this._blockingTimeoutTimer),this._blockingTimeoutTimer=void 0);let t=Date.now();this._blockingDeadline===void 0&&(this._blockingDeadline=t+e);let n=this._blockingDeadline-t;if(n<=0){this.resolve(null);return}this._blockingTimeoutTimer=setTimeout(()=>{if(this.isResolved){this._blockingTimeoutTimer=void 0;return}this._blockingTimeoutTimer=void 0,this.resolve(null)},n)}extractBlockingTimeout(){let e=this.args;if(!e||e.length===0)return;let t=this.name.toLowerCase();if(r.checkFlag("LAST_ARG_TIMEOUT_COMMANDS",t))return(0,jl.parseSecondsArgument)(e[e.length-1]);if(r.checkFlag("FIRST_ARG_TIMEOUT_COMMANDS",t))return(0,jl.parseSecondsArgument)(e[0]);if(r.checkFlag("BLOCK_OPTION_COMMANDS",t))return(0,jl.parseBlockOption)(e)}_clearTimers(){let e=this._commandTimeoutTimer;e&&(clearTimeout(e),delete this._commandTimeoutTimer);let t=this._blockingTimeoutTimer;t&&(clearTimeout(t),delete this._blockingTimeoutTimer)}initPromise(){let e=new Promise((t,n)=>{if(!this.transformed){this.transformed=!0;let i=r._transformer.argument[this.name];i&&(this.args=i(this.args)),this.stringifyArguments()}this.resolve=this._convertValue(t),this.reject=i=>{this._clearTimers(),this.errorStack?n((0,Jr.optimizeErrorStack)(i,this.errorStack.stack,__dirname)):n(i)}});this.promise=(0,RI.default)(e,this.callback)}_iterateKeys(e=t=>t){if(typeof this.keys>"u"&&(this.keys=[],(0,Qf.exists)(this.name,{caseInsensitive:!0}))){let t=(0,Qf.getKeyIndexes)(this.name,this.args,{nameCaseInsensitive:!0});for(let n of t)this.args[n]=e(this.args[n]),this.keys.push(this.args[n])}return this.keys}_convertValue(e){return t=>{try{this._clearTimers(),e(this.transformReply(t)),this.isResolved=!0}catch(n){this.reject(n)}return this.promise}}};Dl.default=Nt;Nt.FLAGS={VALID_IN_SUBSCRIBER_MODE:["subscribe","psubscribe","unsubscribe","punsubscribe","ssubscribe","sunsubscribe","ping","quit"],VALID_IN_MONITOR_MODE:["monitor","auth"],ENTER_SUBSCRIBER_MODE:["subscribe","psubscribe","ssubscribe"],EXIT_SUBSCRIBER_MODE:["unsubscribe","punsubscribe","sunsubscribe"],WILL_DISCONNECT:["quit"],HANDSHAKE_COMMANDS:["auth","select","client","readonly","info"],IGNORE_RECONNECT_ON_ERROR:["client"],BLOCKING_COMMANDS:["blpop","brpop","brpoplpush","blmove","bzpopmin","bzpopmax","bzmpop","blmpop","xread","xreadgroup"],LAST_ARG_TIMEOUT_COMMANDS:["blpop","brpop","brpoplpush","blmove","bzpopmin","bzpopmax"],FIRST_ARG_TIMEOUT_COMMANDS:["bzmpop","blmpop"],BLOCK_OPTION_COMMANDS:["xread","xreadgroup"]};Nt._transformer={argument:{},reply:{}};var Zf=function(r){if(r.length===1){if(r[0]instanceof Map)return(0,Jr.convertMapToArray)(r[0]);if(typeof r[0]=="object"&&r[0]!==null)return(0,Jr.convertObjectToArray)(r[0])}return r},Xf=function(r){if(r.length===2){if(r[1]instanceof Map)return[r[0]].concat((0,Jr.convertMapToArray)(r[1]));if(typeof r[1]=="object"&&r[1]!==null)return[r[0]].concat((0,Jr.convertObjectToArray)(r[1]))}return r};Nt.setArgumentTransformer("mset",Zf);Nt.setArgumentTransformer("msetnx",Zf);Nt.setArgumentTransformer("hset",Xf);Nt.setArgumentTransformer("hmset",Xf);Nt.setReplyTransformer("hgetall",function(r){if(Array.isArray(r)){let e={};for(let t=0;t<r.length;t+=2){let n=r[t],i=r[t+1];n in e?Object.defineProperty(e,n,{value:i,configurable:!0,enumerable:!0,writable:!0}):e[n]=i}return e}return r});var Al=class{constructor(){this.length=0,this.items=[]}push(e){this.length+=Buffer.byteLength(e),this.items.push(e)}toBuffer(){let e=Buffer.allocUnsafe(this.length),t=0;for(let n of this.items){let i=Buffer.byteLength(n);Buffer.isBuffer(n)?n.copy(e,t):e.write(n,t,i),t+=i}return e}}});var ep=y(Rl=>{"use strict";Object.defineProperty(Rl,"__esModule",{value:!0});var OI=Lr(),Xi=class extends OI.RedisError{constructor(e,t){super(e),this.lastNodeError=t,Error.captureStackTrace(this,this.constructor)}get name(){return this.constructor.name}};Rl.default=Xi;Xi.defaultMessage="Failed to refresh slots cache."});var es=y(Cl=>{"use strict";Object.defineProperty(Cl,"__esModule",{value:!0});var CI=Y("stream"),Ol=class extends CI.Readable{constructor(e){super(e),this.opt=e,this._redisCursor="0",this._redisDrained=!1}_read(){if(this._redisDrained){this.push(null);return}let e=[this._redisCursor];this.opt.key&&e.unshift(this.opt.key),this.opt.match&&e.push("MATCH",this.opt.match),this.opt.type&&e.push("TYPE",this.opt.type),this.opt.count&&e.push("COUNT",String(this.opt.count)),this.opt.noValues&&e.push("NOVALUES"),this.opt.redis[this.opt.command](e,(t,n)=>{if(t){this.emit("error",t);return}this._redisCursor=n[0]instanceof Buffer?n[0].toString():n[0],this._redisCursor==="0"&&(this._redisDrained=!0),this.push(n[1])})}close(){this._redisDrained=!0}};Cl.default=Ol});var op=y(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.executeWithAutoPipelining=Ae.getFirstValueInFlattenedArray=Ae.shouldUseAutoPipelining=Ae.notAllowedAutoPipelineCommands=Ae.kCallbacks=Ae.kExec=void 0;var np=Ui(),_I=ei(),tp=fr(),rp=Nr();Ae.kExec=Symbol("exec");Ae.kCallbacks=Symbol("callbacks");Ae.notAllowedAutoPipelineCommands=["auth","info","script","quit","cluster","pipeline","multi","subscribe","psubscribe","unsubscribe","unpsubscribe","select","client"];function ip(r,e){if(r._runningAutoPipelines.has(e)||!r._autoPipelines.has(e))return;r._runningAutoPipelines.add(e);let t=r._autoPipelines.get(e);r._autoPipelines.delete(e);let n=t[Ae.kCallbacks];t[Ae.kCallbacks]=null,t.exec(function(i,s){if(r._runningAutoPipelines.delete(e),i)for(let a=0;a<n.length;a++)process.nextTick(n[a],i);else for(let a=0;a<n.length;a++)process.nextTick(n[a],...s[a]);r._autoPipelines.has(e)&&ip(r,e)})}function MI(r,e,t){return e&&r.options.enableAutoPipelining&&!r.isPipeline&&!Ae.notAllowedAutoPipelineCommands.includes(t)&&!r.options.autoPipeliningIgnoredCommands.includes(t)}Ae.shouldUseAutoPipelining=MI;function sp(r){for(let e=0;e<r.length;e++){let t=r[e];if(typeof t=="string")return t;if(Array.isArray(t)||(0,np.isArguments)(t)){if(t.length===0)continue;return t[0]}let n=[t].flat();if(n.length>0)return n[0]}}Ae.getFirstValueInFlattenedArray=sp;function ap(r,e,t,n,i){if(r.isCluster&&!r.slots.length)return r.status==="wait"&&r.connect().catch(np.noop),(0,tp.default)(new Promise(function(c,u){r.delayUntilReady(d=>{if(d){u(d);return}ap(r,e,t,n,null).then(c,u)})}),i);let s=r.options.keyPrefix||"",a=r.isCluster?r.slots[_I(`${s}${sp(n)}`)].join(","):"main";if(r.isCluster&&r.options.scaleReads!=="master"){let c=(0,rp.exists)(t)&&(0,rp.hasFlag)(t,"readonly");a+=c?":read":":write"}if(!r._autoPipelines.has(a)){let c=r.pipeline();c[Ae.kExec]=!1,c[Ae.kCallbacks]=[],r._autoPipelines.set(a,c)}let o=r._autoPipelines.get(a);o[Ae.kExec]||(o[Ae.kExec]=!0,setImmediate(ip,r,a));let l=new Promise(function(c,u){o[Ae.kCallbacks].push(function(d,p){if(d){u(d);return}c(p)}),e==="call"&&n.unshift(t),o[e](...n)});return(0,tp.default)(l,i)}Ae.executeWithAutoPipelining=ap});var lp=y(Ml=>{"use strict";Object.defineProperty(Ml,"__esModule",{value:!0});var PI=Y("crypto"),NI=Ht(),LI=fr(),_l=class{constructor(e,t=null,n="",i=!1){this.lua=e,this.numberOfKeys=t,this.keyPrefix=n,this.readOnly=i,this.sha=(0,PI.createHash)("sha1").update(e).digest("hex");let s=this.sha,a=new WeakSet;this.Command=class extends NI.default{toWritable(l){let c=this.reject;return this.reject=u=>{u.message.indexOf("NOSCRIPT")!==-1&&a.delete(l),c.call(this,u)},a.has(l)?this.name==="eval"&&(this.name="evalsha",this.args[0]=s):(a.add(l),this.name="eval",this.args[0]=e),super.toWritable(l)}}}execute(e,t,n,i){typeof this.numberOfKeys=="number"&&t.unshift(this.numberOfKeys),this.keyPrefix&&(n.keyPrefix=this.keyPrefix),this.readOnly&&(n.readOnly=!0);let s=new this.Command("evalsha",[this.sha,...t],n);return s.promise=s.promise.catch(a=>{if(a.message.indexOf("NOSCRIPT")===-1)throw a;let o=new this.Command("evalsha",[this.sha,...t],n);return(e.isPipeline?e.redis:e).sendCommand(o)}),(0,LI.default)(s.promise,i),e.sendCommand(s)}};Ml.default=_l});var rs=y(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});var qI=Nr(),ts=op(),JI=Ht(),FI=lp(),Qt=class{constructor(){this.options={},this.scriptsSet={},this.addedBuiltinSet=new Set}getBuiltinCommands(){return Pl.slice(0)}createBuiltinCommand(e){return{string:yr(null,e,"utf8"),buffer:yr(null,e,null)}}addBuiltinCommand(e){this.addedBuiltinSet.add(e),this[e]=yr(e,e,"utf8"),this[e+"Buffer"]=yr(e+"Buffer",e,null)}defineCommand(e,t){let n=new FI.default(t.lua,t.numberOfKeys,this.options.keyPrefix,t.readOnly);this.scriptsSet[e]=n,this[e]=cp(e,e,n,"utf8"),this[e+"Buffer"]=cp(e+"Buffer",e,n,null)}sendCommand(e,t,n){throw new Error('"sendCommand" is not implemented')}},Pl=qI.list.filter(r=>r!=="monitor");Pl.push("sentinel");Pl.forEach(function(r){Qt.prototype[r]=yr(r,r,"utf8"),Qt.prototype[r+"Buffer"]=yr(r+"Buffer",r,null)});Qt.prototype.call=yr("call","utf8");Qt.prototype.callBuffer=yr("callBuffer",null);Qt.prototype.send_command=Qt.prototype.call;function yr(r,e,t){return typeof t>"u"&&(t=e,e=null),function(...n){let i=e||n.shift(),s=n[n.length-1];typeof s=="function"?n.pop():s=void 0;let a={errorStack:this.options.showFriendlyErrorStack?new Error:void 0,keyPrefix:this.options.keyPrefix,replyEncoding:t};return(0,ts.shouldUseAutoPipelining)(this,r,i)?(0,ts.executeWithAutoPipelining)(this,r,i,n,s):this.sendCommand(new JI.default(i,n,a,s))}}function cp(r,e,t,n){return function(...i){let s=typeof i[i.length-1]=="function"?i.pop():void 0,a={replyEncoding:n};return this.options.showFriendlyErrorStack&&(a.errorStack=new Error),(0,ts.shouldUseAutoPipelining)(this,r,e)?(0,ts.executeWithAutoPipelining)(this,r,e,i,s):t.execute(this,i,a,s)}}Nl.default=Qt});var Jl=y(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});var Ll=ei(),up=Nr(),dp=fr(),VI=Y("util"),GI=Ht(),YI=Oe(),BI=rs();function WI(r,e){let t=Ll(e[0]),n=r._groupsBySlot[t];for(let i=1;i<e.length;i++)if(r._groupsBySlot[Ll(e[i])]!==n)return-1;return t}var hr=class extends BI.default{constructor(e){super(),this.redis=e,this.isPipeline=!0,this.replyPending=0,this._queue=[],this._result=[],this._transactions=0,this._shaToScript={},this.isCluster=this.redis.constructor.name==="Cluster"||this.redis.isCluster,this.options=e.options,Object.keys(e.scriptsSet).forEach(n=>{let i=e.scriptsSet[n];this._shaToScript[i.sha]=i,this[n]=e[n],this[n+"Buffer"]=e[n+"Buffer"]}),e.addedBuiltinSet.forEach(n=>{this[n]=e[n],this[n+"Buffer"]=e[n+"Buffer"]}),this.promise=new Promise((n,i)=>{this.resolve=n,this.reject=i});let t=this;Object.defineProperty(this,"length",{get:function(){return t._queue.length}})}fillResult(e,t){if(this._queue[t].name==="exec"&&Array.isArray(e[1])){let i=e[1].length;for(let s=0;s<i;s++){if(e[1][s]instanceof Error)continue;let a=this._queue[t-(i-s)];try{e[1][s]=a.transformReply(e[1][s])}catch(o){e[1][s]=o}}}if(this._result[t]=e,--this.replyPending)return;if(this.isCluster){let i=!0,s;for(let a=0;a<this._result.length;++a){let o=this._result[a][0],l=this._queue[a];if(o){if(l.name==="exec"&&o.message==="EXECABORT Transaction discarded because of previous errors.")continue;if(!s)s={name:o.name,message:o.message};else if(s.name!==o.name||s.message!==o.message){i=!1;break}}else if(!l.inTransaction&&!((0,up.exists)(l.name,{caseInsensitive:!0})&&(0,up.hasFlag)(l.name,"readonly",{nameCaseInsensitive:!0}))){i=!1;break}}if(s&&i){let a=this,o=s.message.split(" "),l=this._queue,c=!1;this._queue=[];for(let f=0;f<l.length;++f){if(o[0]==="ASK"&&!c&&l[f].name!=="asking"&&(!l[f-1]||l[f-1].name!=="asking")){let h=new GI.default("asking");h.ignore=!0,this.sendCommand(h)}l[f].initPromise(),this.sendCommand(l[f]),c=l[f].inTransaction}let u=!0;typeof this.leftRedirections>"u"&&(this.leftRedirections={});let d=function(){a.exec()},p=this.redis;if(p.handleError(s,this.leftRedirections,{moved:function(f,h){a.preferKey=h,p.slots[o[1]]?p.slots[o[1]][0]!==h&&(p.slots[o[1]]=[h]):p.slots[o[1]]=[h],p._groupsBySlot[o[1]]=p._groupsIds[p.slots[o[1]].join(";")],p.refreshSlotsCache(),a.exec()},ask:function(f,h){a.preferKey=h,a.exec()},tryagain:d,clusterDown:d,connectionClosed:d,maxRedirections:()=>{u=!1},defaults:()=>{u=!1}}),u)return}}let n=0;for(let i=0;i<this._queue.length-n;++i)this._queue[i+n].ignore&&(n+=1),this._result[i]=this._result[i+n];this.resolve(this._result.slice(0,this._result.length-n))}sendCommand(e){this._transactions>0&&(e.inTransaction=!0);let t=this._queue.length;return e.pipelineIndex=t,e.promise.then(n=>{this.fillResult([null,n],t)}).catch(n=>{this.fillResult([n],t)}),this._queue.push(e),this}addBatch(e){let t,n,i;for(let s=0;s<e.length;++s)t=e[s],n=t[0],i=t.slice(1),this[n].apply(this,i);return this}};ql.default=hr;var UI=hr.prototype.multi;hr.prototype.multi=function(){return this._transactions+=1,UI.apply(this,arguments)};var fp=hr.prototype.execBuffer;hr.prototype.execBuffer=(0,VI.deprecate)(function(){return this._transactions>0&&(this._transactions-=1),fp.apply(this,arguments)},"Pipeline#execBuffer: Use Pipeline#exec instead");hr.prototype.exec=function(r){if(this.isCluster&&!this.redis.slots.length)return this.redis.status==="wait"&&this.redis.connect().catch(YI.noop),r&&!this.nodeifiedPromise&&(this.nodeifiedPromise=!0,(0,dp.default)(this.promise,r)),this.redis.delayUntilReady(i=>{if(i){this.reject(i);return}this.exec(r)}),this.promise;if(this._transactions>0)return this._transactions-=1,fp.apply(this,arguments);this.nodeifiedPromise||(this.nodeifiedPromise=!0,(0,dp.default)(this.promise,r)),this._queue.length||this.resolve([]);let e;if(this.isCluster){let i=[];for(let s=0;s<this._queue.length;s++){let a=this._queue[s].getKeys();if(a.length&&i.push(a[0]),a.length&&Ll.generateMulti(a)<0)return this.reject(new Error("All the keys in a pipeline command should belong to the same slot")),this.promise}if(i.length){if(e=WI(this.redis,i),e<0)return this.reject(new Error("All keys in the pipeline should belong to the same slots allocation group")),this.promise}else e=Math.random()*16384|0}let t=this;return n(),this.promise;function n(){let i=t.replyPending=t._queue.length,s;t.isCluster&&(s={slot:e,redis:t.redis.connectionPool.nodes.all[t.preferKey]});let a="",o,l={isPipeline:!0,destination:t.isCluster?s:{redis:t.redis},write(c){typeof c!="string"?(o||(o=[]),a&&(o.push(Buffer.from(a,"utf8")),a=""),o.push(c)):a+=c,--i||(o?(a&&o.push(Buffer.from(a,"utf8")),l.destination.redis.stream.write(Buffer.concat(o))):l.destination.redis.stream.write(a),i=t._queue.length,a="",o=void 0)}};for(let c=0;c<t._queue.length;++c)t.redis.sendCommand(t._queue[c],l,s);return t.promise}}});var Gl=y(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.addTransactionSupport=void 0;var Fl=Oe(),Vl=fr(),pp=Jl();function zI(r){r.pipeline=function(n){let i=new pp.default(this);return Array.isArray(n)&&i.addBatch(n),i};let{multi:e}=r;r.multi=function(n,i){if(typeof i>"u"&&!Array.isArray(n)&&(i=n,n=null),i&&i.pipeline===!1)return e.call(this);let s=new pp.default(this);s.multi(),Array.isArray(n)&&s.addBatch(n);let a=s.exec;s.exec=function(l){if(this.isCluster&&!this.redis.slots.length)return this.redis.status==="wait"&&this.redis.connect().catch(Fl.noop),(0,Vl.default)(new Promise((u,d)=>{this.redis.delayUntilReady(p=>{if(p){d(p);return}this.exec(s).then(u,d)})}),l);if(this._transactions>0&&a.call(s),this.nodeifiedPromise)return a.call(s);let c=a.call(s);return(0,Vl.default)(c.then(function(u){let d=u[u.length-1];if(typeof d>"u")throw new Error("Pipeline cannot be used to send any commands when the `exec()` has been called on it.");if(d[0]){d[0].previousErrors=[];for(let p=0;p<u.length-1;++p)u[p][0]&&d[0].previousErrors.push(u[p][0]);throw d[0]}return(0,Fl.wrapMultiResult)(d[1])}),l)};let{execBuffer:o}=s;return s.execBuffer=function(l){return this._transactions>0&&o.call(s),s.exec(l)},s};let{exec:t}=r;r.exec=function(n){return(0,Vl.default)(t.call(this).then(function(i){return Array.isArray(i)&&(i=(0,Fl.wrapMultiResult)(i)),i}),n)}}ns.addTransactionSupport=zI});var Bl=y(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});function $I(r,e){Object.getOwnPropertyNames(e.prototype).forEach(t=>{Object.defineProperty(r.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t))})}Yl.default=$I});var hp=y(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.DEFAULT_CLUSTER_OPTIONS=void 0;var yp=Y("dns");is.DEFAULT_CLUSTER_OPTIONS={clusterRetryStrategy:r=>Math.min(100+r*2,2e3),enableOfflineQueue:!0,enableReadyCheck:!0,scaleReads:"master",maxRedirections:16,retryDelayOnMoved:0,retryDelayOnFailover:100,retryDelayOnClusterDown:100,retryDelayOnTryAgain:100,slotsRefreshTimeout:1e3,useSRVRecords:!1,resolveSrv:yp.resolveSrv,dnsLookup:yp.lookup,enableAutoPipelining:!1,autoPipeliningIgnoredCommands:[],shardedSubscribers:!1}});var kn=y(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.getConnectionName=Ye.weightSrvRecords=Ye.groupSrvRecords=Ye.getUniqueHostnamesFromOptions=Ye.normalizeNodeOptions=Ye.nodeKeyToRedisOptions=Ye.getNodeKey=void 0;var mp=Oe(),HI=Y("net");function QI(r){return r.port=r.port||6379,r.host=r.host||"127.0.0.1",r.host+":"+r.port}Ye.getNodeKey=QI;function ZI(r){let e=r.lastIndexOf(":");if(e===-1)throw new Error(`Invalid node key ${r}`);return{host:r.slice(0,e),port:Number(r.slice(e+1))}}Ye.nodeKeyToRedisOptions=ZI;function XI(r){return r.map(e=>{let t={};if(typeof e=="object")Object.assign(t,e);else if(typeof e=="string")Object.assign(t,(0,mp.parseURL)(e));else if(typeof e=="number")t.port=e;else throw new Error("Invalid argument "+e);return typeof t.port=="string"&&(t.port=parseInt(t.port,10)),delete t.db,t.port||(t.port=6379),t.host||(t.host="127.0.0.1"),(0,mp.resolveTLSProfile)(t)})}Ye.normalizeNodeOptions=XI;function ex(r){let e={};return r.forEach(t=>{e[t.host]=!0}),Object.keys(e).filter(t=>!(0,HI.isIP)(t))}Ye.getUniqueHostnamesFromOptions=ex;function tx(r){let e={};for(let t of r)e.hasOwnProperty(t.priority)?(e[t.priority].totalWeight+=t.weight,e[t.priority].records.push(t)):e[t.priority]={totalWeight:t.weight,records:[t]};return e}Ye.groupSrvRecords=tx;function rx(r){if(r.records.length===1)return r.totalWeight=0,r.records.shift();let e=Math.floor(Math.random()*(r.totalWeight+r.records.length)),t=0;for(let[n,i]of r.records.entries())if(t+=1+i.weight,t>e)return r.totalWeight-=i.weight,r.records.splice(n,1),i}Ye.weightSrvRecords=rx;function nx(r,e){let t=`ioredis-cluster(${r})`;return e?`${t}:${e}`:t}Ye.getConnectionName=nx});var gp=y(zl=>{"use strict";Object.defineProperty(zl,"__esModule",{value:!0});var bp=kn(),Wl=Oe(),ix=Zt(),Lt=(0,Wl.Debug)("cluster:subscriber"),Ul=class{constructor(e,t,n=!1){this.connectionPool=e,this.emitter=t,this.isSharded=n,this.started=!1,this.subscriber=null,this.slotRange=[],this.onSubscriberEnd=()=>{if(!this.started){Lt("subscriber has disconnected, but ClusterSubscriber is not started, so not reconnecting.");return}Lt("subscriber has disconnected, selecting a new one..."),this.selectSubscriber()},this.connectionPool.on("-node",(i,s)=>{!this.started||!this.subscriber||(0,bp.getNodeKey)(this.subscriber.options)===s&&(Lt("subscriber has left, selecting a new one..."),this.selectSubscriber())}),this.connectionPool.on("+node",()=>{!this.started||this.subscriber||(Lt("a new node is discovered and there is no subscriber, selecting a new one..."),this.selectSubscriber())})}getInstance(){return this.subscriber}associateSlotRange(e){return this.isSharded&&(this.slotRange=e),this.slotRange}start(){this.started=!0,this.selectSubscriber(),Lt("started")}stop(){this.started=!1,this.subscriber&&(this.subscriber.disconnect(),this.subscriber=null)}isStarted(){return this.started}selectSubscriber(){let e=this.lastActiveSubscriber;e&&(e.off("end",this.onSubscriberEnd),e.disconnect()),this.subscriber&&(this.subscriber.off("end",this.onSubscriberEnd),this.subscriber.disconnect());let t=(0,Wl.sample)(this.connectionPool.getNodes());if(!t){Lt("selecting subscriber failed since there is no node discovered in the cluster yet"),this.subscriber=null;return}let{options:n}=t;Lt("selected a subscriber %s:%s",n.host,n.port);let i="subscriber";this.isSharded&&(i="ssubscriber"),this.subscriber=new ix.default({port:n.port,host:n.host,username:n.username,password:n.password,enableReadyCheck:!0,connectionName:(0,bp.getConnectionName)(i,n.connectionName),lazyConnect:!0,tls:n.tls,retryStrategy:null}),this.subscriber.on("error",Wl.noop),this.subscriber.on("moved",()=>{this.emitter.emit("forceRefresh")}),this.subscriber.once("end",this.onSubscriberEnd);let s={subscribe:[],psubscribe:[],ssubscribe:[]};if(e){let a=e.condition||e.prevCondition;a&&a.subscriber&&(s.subscribe=a.subscriber.channels("subscribe"),s.psubscribe=a.subscriber.channels("psubscribe"),s.ssubscribe=a.subscriber.channels("ssubscribe"))}if(s.subscribe.length||s.psubscribe.length||s.ssubscribe.length){let a=0;for(let o of["subscribe","psubscribe","ssubscribe"]){let l=s[o];if(l.length!=0)if(Lt("%s %d channels",o,l.length),o==="ssubscribe")for(let c of l)a+=1,this.subscriber[o](c).then(()=>{--a||(this.lastActiveSubscriber=this.subscriber)}).catch(()=>{Lt("failed to ssubscribe to channel: %s",c)});else a+=1,this.subscriber[o](l).then(()=>{--a||(this.lastActiveSubscriber=this.subscriber)}).catch(()=>{Lt("failed to %s %d channels",o,l.length)})}}else this.lastActiveSubscriber=this.subscriber;for(let a of["message","messageBuffer"])this.subscriber.on(a,(o,l)=>{this.emitter.emit(a,o,l)});for(let a of["pmessage","pmessageBuffer"])this.subscriber.on(a,(o,l,c)=>{this.emitter.emit(a,o,l,c)});if(this.isSharded==!0)for(let a of["smessage","smessageBuffer"])this.subscriber.on(a,(o,l)=>{this.emitter.emit(a,o,l)})}};zl.default=Ul});var vp=y(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var sx=Y("events"),ss=Oe(),$l=kn(),ax=Zt(),ni=(0,ss.Debug)("cluster:connectionPool"),Hl=class extends sx.EventEmitter{constructor(e){super(),this.redisOptions=e,this.nodes={all:{},master:{},slave:{}},this.specifiedOptions={}}getNodes(e="all"){let t=this.nodes[e];return Object.keys(t).map(n=>t[n])}getInstanceByKey(e){return this.nodes.all[e]}getSampleInstance(e){let t=Object.keys(this.nodes[e]),n=(0,ss.sample)(t);return this.nodes[e][n]}addMasterNode(e){let t=(0,$l.getNodeKey)(e.options),n=this.createRedisFromOptions(e,e.options.readOnly);return e.options.readOnly?!1:(this.nodes.all[t]=n,this.nodes.master[t]=n,!0)}createRedisFromOptions(e,t){return new ax.default((0,ss.defaults)({retryStrategy:null,enableOfflineQueue:!0,readOnly:t},e,this.redisOptions,{lazyConnect:!0}))}findOrCreate(e,t=!1){let n=(0,$l.getNodeKey)(e);t=!!t,this.specifiedOptions[n]?Object.assign(e,this.specifiedOptions[n]):this.specifiedOptions[n]=e;let i;return this.nodes.all[n]?(i=this.nodes.all[n],i.options.readOnly!==t&&(i.options.readOnly=t,ni("Change role of %s to %s",n,t?"slave":"master"),i[t?"readonly":"readwrite"]().catch(ss.noop),t?(delete this.nodes.master[n],this.nodes.slave[n]=i):(delete this.nodes.slave[n],this.nodes.master[n]=i))):(ni("Connecting to %s as %s",n,t?"slave":"master"),i=this.createRedisFromOptions(e,t),this.nodes.all[n]=i,this.nodes[t?"slave":"master"][n]=i,i.once("end",()=>{this.removeNode(n),this.emit("-node",i,n),Object.keys(this.nodes.all).length||this.emit("drain")}),this.emit("+node",i,n),i.on("error",function(s){this.emit("nodeError",s,n)})),i}reset(e){ni("Reset with %O",e);let t={};e.forEach(n=>{let i=(0,$l.getNodeKey)(n);n.readOnly&&t[i]||(t[i]=n)}),Object.keys(this.nodes.all).forEach(n=>{t[n]||(ni("Disconnect %s because the node does not hold any slot",n),this.nodes.all[n].disconnect(),this.removeNode(n))}),Object.keys(t).forEach(n=>{let i=t[n];this.findOrCreate(i,i.readOnly)})}removeNode(e){let{nodes:t}=this;t.all[e]&&(ni("Remove %s from the pool",e),delete t.all[e]),delete t.master[e],delete t.slave[e]}};Ql.default=Hl});var as=y((CM,Kp)=>{"use strict";function we(r,t){var t=t||{};this._capacity=t.capacity,this._head=0,this._tail=0,Array.isArray(r)?this._fromArray(r):(this._capacityMask=3,this._list=new Array(4))}we.prototype.peekAt=function(e){var t=e;if(t===(t|0)){var n=this.size();if(!(t>=n||t<-n))return t<0&&(t+=n),t=this._head+t&this._capacityMask,this._list[t]}};we.prototype.get=function(e){return this.peekAt(e)};we.prototype.peek=function(){if(this._head!==this._tail)return this._list[this._head]};we.prototype.peekFront=function(){return this.peek()};we.prototype.peekBack=function(){return this.peekAt(-1)};Object.defineProperty(we.prototype,"length",{get:function(){return this.size()}});we.prototype.size=function(){return this._head===this._tail?0:this._head<this._tail?this._tail-this._head:this._capacityMask+1-(this._head-this._tail)};we.prototype.unshift=function(e){if(arguments.length===0)return this.size();var t=this._list.length;return this._head=this._head-1+t&this._capacityMask,this._list[this._head]=e,this._tail===this._head&&this._growArray(),this._capacity&&this.size()>this._capacity&&this.pop(),this._head<this._tail?this._tail-this._head:this._capacityMask+1-(this._head-this._tail)};we.prototype.shift=function(){var e=this._head;if(e!==this._tail){var t=this._list[e];return this._list[e]=void 0,this._head=e+1&this._capacityMask,e<2&&this._tail>1e4&&this._tail<=this._list.length>>>2&&this._shrinkArray(),t}};we.prototype.push=function(e){if(arguments.length===0)return this.size();var t=this._tail;return this._list[t]=e,this._tail=t+1&this._capacityMask,this._tail===this._head&&this._growArray(),this._capacity&&this.size()>this._capacity&&this.shift(),this._head<this._tail?this._tail-this._head:this._capacityMask+1-(this._head-this._tail)};we.prototype.pop=function(){var e=this._tail;if(e!==this._head){var t=this._list.length;this._tail=e-1+t&this._capacityMask;var n=this._list[this._tail];return this._list[this._tail]=void 0,this._head<2&&e>1e4&&e<=t>>>2&&this._shrinkArray(),n}};we.prototype.removeOne=function(e){var t=e;if(t===(t|0)&&this._head!==this._tail){var n=this.size(),i=this._list.length;if(!(t>=n||t<-n)){t<0&&(t+=n),t=this._head+t&this._capacityMask;var s=this._list[t],a;if(e<n/2){for(a=e;a>0;a--)this._list[t]=this._list[t=t-1+i&this._capacityMask];this._list[t]=void 0,this._head=this._head+1+i&this._capacityMask}else{for(a=n-1-e;a>0;a--)this._list[t]=this._list[t=t+1+i&this._capacityMask];this._list[t]=void 0,this._tail=this._tail-1+i&this._capacityMask}return s}}};we.prototype.remove=function(e,t){var n=e,i,s=t;if(n===(n|0)&&this._head!==this._tail){var a=this.size(),o=this._list.length;if(!(n>=a||n<-a||t<1)){if(n<0&&(n+=a),t===1||!t)return i=new Array(1),i[0]=this.removeOne(n),i;if(n===0&&n+t>=a)return i=this.toArray(),this.clear(),i;n+t>a&&(t=a-n);var l;for(i=new Array(t),l=0;l<t;l++)i[l]=this._list[this._head+n+l&this._capacityMask];if(n=this._head+n&this._capacityMask,e+t===a){for(this._tail=this._tail-t+o&this._capacityMask,l=t;l>0;l--)this._list[n=n+1+o&this._capacityMask]=void 0;return i}if(e===0){for(this._head=this._head+t+o&this._capacityMask,l=t-1;l>0;l--)this._list[n=n+1+o&this._capacityMask]=void 0;return i}if(n<a/2){for(this._head=this._head+e+t+o&this._capacityMask,l=e;l>0;l--)this.unshift(this._list[n=n-1+o&this._capacityMask]);for(n=this._head-1+o&this._capacityMask;s>0;)this._list[n=n-1+o&this._capacityMask]=void 0,s--;e<0&&(this._tail=n)}else{for(this._tail=n,n=n+t+o&this._capacityMask,l=a-(t+e);l>0;l--)this.push(this._list[n++]);for(n=this._tail;s>0;)this._list[n=n+1+o&this._capacityMask]=void 0,s--}return this._head<2&&this._tail>1e4&&this._tail<=o>>>2&&this._shrinkArray(),i}}};we.prototype.splice=function(e,t){var n=e;if(n===(n|0)){var i=this.size();if(n<0&&(n+=i),!(n>i))if(arguments.length>2){var s,a,o,l=arguments.length,c=this._list.length,u=2;if(!i||n<i/2){for(a=new Array(n),s=0;s<n;s++)a[s]=this._list[this._head+s&this._capacityMask];for(t===0?(o=[],n>0&&(this._head=this._head+n+c&this._capacityMask)):(o=this.remove(n,t),this._head=this._head+n+c&this._capacityMask);l>u;)this.unshift(arguments[--l]);for(s=n;s>0;s--)this.unshift(a[s-1])}else{a=new Array(i-(n+t));var d=a.length;for(s=0;s<d;s++)a[s]=this._list[this._head+n+t+s&this._capacityMask];for(t===0?(o=[],n!=i&&(this._tail=this._head+n+c&this._capacityMask)):(o=this.remove(n,t),this._tail=this._tail-d+c&this._capacityMask);u<l;)this.push(arguments[u++]);for(s=0;s<d;s++)this.push(a[s])}return o}else return this.remove(n,t)}};we.prototype.clear=function(){this._list=new Array(this._list.length),this._head=0,this._tail=0};we.prototype.isEmpty=function(){return this._head===this._tail};we.prototype.toArray=function(){return this._copyArray(!1)};we.prototype._fromArray=function(e){var t=e.length,n=this._nextPowerOf2(t);this._list=new Array(n),this._capacityMask=n-1,this._tail=t;for(var i=0;i<t;i++)this._list[i]=e[i]};we.prototype._copyArray=function(e,t){var n=this._list,i=n.length,s=this.length;if(t=t|s,t==s&&this._head<this._tail)return this._list.slice(this._head,this._tail);var a=new Array(t),o=0,l;if(e||this._head>this._tail){for(l=this._head;l<i;l++)a[o++]=n[l];for(l=0;l<this._tail;l++)a[o++]=n[l]}else for(l=this._head;l<this._tail;l++)a[o++]=n[l];return a};we.prototype._growArray=function(){if(this._head!=0){var e=this._copyArray(!0,this._list.length<<1);this._tail=this._list.length,this._head=0,this._list=e}else this._tail=this._list.length,this._list.length<<=1;this._capacityMask=this._capacityMask<<1|1};we.prototype._shrinkArray=function(){this._list.length>>>=1,this._capacityMask>>>=1};we.prototype._nextPowerOf2=function(e){var t=Math.log(e)/Math.log(2),n=1<<t+1;return Math.max(n,4)};Kp.exports=we});var Sp=y(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});var ox=Oe(),lx=as(),cx=(0,ox.Debug)("delayqueue"),Zl=class{constructor(){this.queues={},this.timeouts={}}push(e,t,n){let i=n.callback||process.nextTick;this.queues[e]||(this.queues[e]=new lx),this.queues[e].push(t),this.timeouts[e]||(this.timeouts[e]=setTimeout(()=>{i(()=>{this.timeouts[e]=null,this.execute(e)})},n.timeout))}execute(e){let t=this.queues[e];if(!t)return;let{length:n}=t;if(n)for(cx("send %d commands in %s queue",n,e),this.queues[e]=null;t.length>0;)t.shift()()}};Xl.default=Zl});var xp=y(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});var Ep=kn(),Ip=Oe(),ux=Zt(),kp=(0,Ip.Debug)("cluster:subscriberGroup:shardedSubscriber"),be={IDLE:"idle",STARTING:"starting",CONNECTED:"connected",STOPPING:"stopping",ENDED:"ended"},dx={[be.IDLE]:[be.STARTING,be.STOPPING,be.ENDED],[be.STARTING]:[be.CONNECTED,be.STOPPING,be.ENDED],[be.CONNECTED]:[be.STOPPING,be.ENDED],[be.STOPPING]:[be.ENDED],[be.ENDED]:[]},ec=class{constructor(e,t,n){var i;this.emitter=e,this.status=be.IDLE,this.instance=null,this.connectPromise=null,this.messageListeners=new Map,this.onEnd=()=>{this.updateStatus(be.ENDED),this.emitter.emit("-node",this.instance,this.nodeKey)},this.onError=s=>{this.emitter.emit("nodeError",s,this.nodeKey)},this.onMoved=()=>{this.emitter.emit("moved")},this.instance=new ux.default((0,Ip.defaults)({enableReadyCheck:!1,enableOfflineQueue:!0,connectionName:(0,Ep.getConnectionName)("ssubscriber",t.connectionName),retryStrategy:null,lazyConnect:!0},t,n)),this.lazyConnect=(i=n?.lazyConnect)!==null&&i!==void 0?i:!0,this.nodeKey=(0,Ep.getNodeKey)(t),this.instance.on("end",this.onEnd),this.instance.on("error",this.onError),this.instance.on("moved",this.onMoved);for(let s of["smessage","smessageBuffer"]){let a=(...o)=>{this.emitter.emit(s,...o)};this.messageListeners.set(s,a),this.instance.on(s,a)}}async start(){if(this.connectPromise)return this.connectPromise;if(!(this.status===be.STARTING||this.status===be.CONNECTED)){if(this.status===be.ENDED||!this.instance)throw new Error(`Sharded subscriber ${this.nodeKey} cannot be restarted once ended.`);this.updateStatus(be.STARTING),this.connectPromise=this.instance.connect();try{await this.connectPromise,this.updateStatus(be.CONNECTED)}catch(e){throw this.updateStatus(be.ENDED),e}finally{this.connectPromise=null}}}stop(){this.updateStatus(be.STOPPING),this.instance&&(this.instance.disconnect(),this.instance.removeAllListeners(),this.messageListeners.clear(),this.instance=null),this.updateStatus(be.ENDED),kp("stopped %s",this.nodeKey)}isStarted(){return[be.CONNECTED,be.STARTING].includes(this.status)}get subscriberStatus(){return this.status}isHealthy(){return(this.status===be.IDLE||this.status===be.CONNECTED||this.status===be.STARTING)&&this.instance!==null}getInstance(){return this.instance}getNodeKey(){return this.nodeKey}isLazyConnect(){return this.lazyConnect}updateStatus(e){if(this.status!==e){if(!dx[this.status].includes(e)){kp("Invalid status transition for %s: %s -> %s",this.nodeKey,this.status,e);return}this.status=e}}};tc.default=ec});var wp=y(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});var fx=Oe(),px=kn(),os=ei(),yx=xp(),vt=(0,fx.Debug)("cluster:subscriberGroup"),In=class r{constructor(e,t){this.subscriberGroupEmitter=e,this.options=t,this.shardedSubscribers=new Map,this.clusterSlots=[],this.subscriberToSlotsIndex=new Map,this.channels=new Map,this.failedAttemptsByNode=new Map,this.isResetting=!1,this.pendingReset=null,this.handleSubscriberConnectFailed=(n,i)=>{let a=(this.failedAttemptsByNode.get(i)||0)+1;this.failedAttemptsByNode.set(i,a);let o=Math.min(a,r.MAX_RETRY_ATTEMPTS),l=Math.min(r.BASE_BACKOFF_MS*2**o,r.MAX_BACKOFF_MS),c=Math.floor((Math.random()-.5)*(l*.5)),u=Math.max(0,l+c);vt("Failed to connect subscriber for %s. Refreshing slots in %dms",i,u),this.subscriberGroupEmitter.emit("subscriberConnectFailed",{delay:u,error:n})},this.handleSubscriberConnectSucceeded=n=>{this.failedAttemptsByNode.delete(n)}}getResponsibleSubscriber(e){let t=this.clusterSlots[e][0],n=this.shardedSubscribers.get(t);return n&&n.subscriberStatus==="idle"&&n.start().then(()=>{this.handleSubscriberConnectSucceeded(n.getNodeKey())}).catch(i=>{this.handleSubscriberConnectFailed(i,n.getNodeKey())}),n}addChannels(e){let t=os(e[0]);for(let i of e)if(os(i)!==t)return-1;let n=this.channels.get(t);return n?this.channels.set(t,n.concat(e)):this.channels.set(t,e),Array.from(this.channels.values()).reduce((i,s)=>i+s.length,0)}removeChannels(e){let t=os(e[0]);for(let i of e)if(os(i)!==t)return-1;let n=this.channels.get(t);if(n){let i=n.filter(s=>!e.includes(s));this.channels.set(t,i)}return Array.from(this.channels.values()).reduce((i,s)=>i+s.length,0)}stop(){for(let e of this.shardedSubscribers.values())e.stop();this.pendingReset=null,this.shardedSubscribers.clear(),this.subscriberToSlotsIndex.clear()}start(){let e=[];for(let t of this.shardedSubscribers.values())this.shouldStartSubscriber(t)&&(e.push(t.start().then(()=>{this.handleSubscriberConnectSucceeded(t.getNodeKey())}).catch(n=>{this.handleSubscriberConnectFailed(n,t.getNodeKey())})),this.subscriberGroupEmitter.emit("+subscriber"));return Promise.all(e)}async reset(e,t){if(this.isResetting){this.pendingReset={slots:e,nodes:t};return}this.isResetting=!0;try{let n=this._refreshSlots(e),i=this.hasUnhealthySubscribers();if(!n&&!i){vt("No topology change detected or failed subscribers. Skipping reset.");return}for(let[a,o]of this.shardedSubscribers){if(this.subscriberToSlotsIndex.has(a)&&o.isHealthy()){vt("Skipping deleting subscriber for %s",a);continue}vt("Removing subscriber for %s",a),o.stop(),this.shardedSubscribers.delete(a),this.subscriberGroupEmitter.emit("-subscriber")}let s=[];for(let[a,o]of this.subscriberToSlotsIndex){let l=this.shardedSubscribers.get(a);if(l&&l.isHealthy()){vt("Skipping creating new subscriber for %s",a),!l.isStarted()&&this.shouldStartSubscriber(l)&&s.push(l.start().then(()=>{this.handleSubscriberConnectSucceeded(a)}).catch(d=>{this.handleSubscriberConnectFailed(d,a)}));continue}l&&!l.isHealthy()&&(vt("Replacing subscriber for %s",a),l.stop(),this.shardedSubscribers.delete(a),this.subscriberGroupEmitter.emit("-subscriber")),vt("Creating new subscriber for %s",a);let c=t.find(d=>(0,px.getNodeKey)(d.options)===a);if(!c){vt("Failed to find node for key %s",a);continue}let u=new yx.default(this.subscriberGroupEmitter,c.options,this.options.redisOptions);this.shardedSubscribers.set(a,u),this.shouldStartSubscriber(u)&&s.push(u.start().then(()=>{this.handleSubscriberConnectSucceeded(a)}).catch(d=>{this.handleSubscriberConnectFailed(d,a)})),this.subscriberGroupEmitter.emit("+subscriber")}await Promise.all(s),this._resubscribe(),this.subscriberGroupEmitter.emit("subscribersReady")}finally{if(this.isResetting=!1,this.pendingReset){let{slots:n,nodes:i}=this.pendingReset;this.pendingReset=null,await this.reset(n,i)}}}_refreshSlots(e){if(this._slotsAreEqual(e)&&this.subscriberToSlotsIndex.size>0)return vt("Nothing to refresh because the new cluster map is equal to the previous one."),!1;vt("Refreshing the slots of the subscriber group."),this.subscriberToSlotsIndex=new Map;for(let t=0;t<e.length;t++){let n=e[t][0];this.subscriberToSlotsIndex.has(n)||this.subscriberToSlotsIndex.set(n,[]),this.subscriberToSlotsIndex.get(n).push(Number(t))}return this.clusterSlots=JSON.parse(JSON.stringify(e)),!0}_resubscribe(){this.shardedSubscribers&&this.shardedSubscribers.forEach((e,t)=>{let n=this.subscriberToSlotsIndex.get(t);n&&n.forEach(i=>{let s=e.getInstance(),a=this.channels.get(i);if(a&&a.length>0){if(!s||s.status==="end")return;s.status==="ready"?s.ssubscribe(...a).catch(o=>{vt("Failed to ssubscribe on node %s: %s",t,o)}):s.once("ready",()=>{s.ssubscribe(...a).catch(o=>{vt("Failed to ssubscribe on node %s: %s",t,o)})})}})})}_slotsAreEqual(e){return this.clusterSlots===void 0?!1:JSON.stringify(this.clusterSlots)===JSON.stringify(e)}hasUnhealthySubscribers(){let e=Array.from(this.shardedSubscribers.values()).some(n=>!n.isHealthy()),t=Array.from(this.subscriberToSlotsIndex.keys()).some(n=>!this.shardedSubscribers.has(n));return e||t}shouldStartSubscriber(e){if(e.isStarted())return!1;if(!e.isLazyConnect())return!0;let t=this.subscriberToSlotsIndex.get(e.getNodeKey());return t?t.some(n=>{let i=this.channels.get(n);return!!(i&&i.length>0)}):!1}};rc.default=In;In.MAX_RETRY_ATTEMPTS=10;In.MAX_BACKOFF_MS=2e3;In.BASE_BACKOFF_MS=100});var sc=y(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var Tp=Nr(),nc=Y("events"),xn=Lr(),jp=fr(),Ap=Ht(),ls=ep(),hx=Zt(),mx=es(),bx=Gl(),lt=Oe(),gx=Bl(),vx=rs(),Kx=hp(),Sx=gp(),Ex=vp(),kx=Sp(),wn=kn(),Dp=as(),Ix=wp(),Ke=(0,lt.Debug)("cluster"),Rp=new WeakSet,ii=class r extends vx.default{constructor(e,t={}){if(super(),this.slots=[],this._groupsIds={},this._groupsBySlot=Array(16384),this.isCluster=!0,this.retryAttempts=0,this.delayQueue=new kx.default,this.offlineQueue=new Dp,this.isRefreshing=!1,this._refreshSlotsCacheCallbacks=[],this._autoPipelines=new Map,this._runningAutoPipelines=new Set,this._readyDelayedCallbacks=[],this.connectionEpoch=0,nc.EventEmitter.call(this),this.startupNodes=e,this.options=(0,lt.defaults)({},t,Kx.DEFAULT_CLUSTER_OPTIONS,this.options),this.options.shardedSubscribers&&this.createShardedSubscriberGroup(),this.options.redisOptions&&this.options.redisOptions.keyPrefix&&!this.options.keyPrefix&&(this.options.keyPrefix=this.options.redisOptions.keyPrefix),typeof this.options.scaleReads!="function"&&["all","master","slave"].indexOf(this.options.scaleReads)===-1)throw new Error('Invalid option scaleReads "'+this.options.scaleReads+'". Expected "all", "master", "slave" or a custom function');this.connectionPool=new Ex.default(this.options.redisOptions),this.connectionPool.on("-node",(n,i)=>{this.emit("-node",n)}),this.connectionPool.on("+node",n=>{this.emit("+node",n)}),this.connectionPool.on("drain",()=>{this.setStatus("close")}),this.connectionPool.on("nodeError",(n,i)=>{this.emit("node error",n,i)}),this.subscriber=new Sx.default(this.connectionPool,this),this.options.scripts&&Object.entries(this.options.scripts).forEach(([n,i])=>{this.defineCommand(n,i)}),this.options.lazyConnect?this.setStatus("wait"):this.connect().catch(n=>{Ke("connecting failed: %s",n)})}connect(){return new Promise((e,t)=>{if(this.status==="connecting"||this.status==="connect"||this.status==="ready"){t(new Error("Redis is already connecting/connected"));return}let n=++this.connectionEpoch;this.setStatus("connecting"),this.resolveStartupNodeHostnames().then(i=>{if(this.connectionEpoch!==n){Ke("discard connecting after resolving startup nodes because epoch not match: %d != %d",n,this.connectionEpoch),t(new xn.RedisError("Connection is discarded because a new connection is made"));return}if(this.status!=="connecting"){Ke("discard connecting after resolving startup nodes because the status changed to %s",this.status),t(new xn.RedisError("Connection is aborted"));return}this.connectionPool.reset(i),this.options.shardedSubscribers&&this.shardedSubscribers.reset(this.slots,this.connectionPool.getNodes("all")).catch(l=>{Ke("Error while starting subscribers: %s",l)});let s=()=>{this.setStatus("ready"),this.retryAttempts=0,this.executeOfflineCommands(),this.resetNodesRefreshInterval(),e()},a,o=()=>{this.invokeReadyDelayedCallbacks(void 0),this.removeListener("close",a),this.manuallyClosing=!1,this.setStatus("connect"),this.options.enableReadyCheck?this.readyCheck((l,c)=>{l||c?(Ke("Ready check failed (%s). Reconnecting...",l||c),this.status==="connect"&&this.disconnect(!0)):s()}):s()};a=()=>{let l=new Error("None of startup nodes is available");this.removeListener("refresh",o),this.invokeReadyDelayedCallbacks(l),t(l)},this.once("refresh",o),this.once("close",a),this.once("close",this.handleCloseEvent.bind(this)),this.refreshSlotsCache(l=>{l&&l.message===ls.default.defaultMessage&&(hx.default.prototype.silentEmit.call(this,"error",l),this.connectionPool.reset([]))}),this.subscriber.start(),this.options.shardedSubscribers&&this.shardedSubscribers.start().catch(l=>{Ke("Error while starting subscribers: %s",l)})}).catch(i=>{this.setStatus("close"),this.handleCloseEvent(i),this.invokeReadyDelayedCallbacks(i),t(i)})})}disconnect(e=!1){let t=this.status;this.setStatus("disconnecting"),e||(this.manuallyClosing=!0),this.reconnectTimeout&&!e&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null,Ke("Canceled reconnecting attempts")),this.clearNodesRefreshInterval(),this.subscriber.stop(),this.options.shardedSubscribers&&this.shardedSubscribers.stop(),t==="wait"?(this.setStatus("close"),this.handleCloseEvent()):this.connectionPool.reset([])}quit(e){let t=this.status;if(this.setStatus("disconnecting"),this.manuallyClosing=!0,this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.clearNodesRefreshInterval(),this.subscriber.stop(),this.options.shardedSubscribers&&this.shardedSubscribers.stop(),t==="wait"){let n=(0,jp.default)(Promise.resolve("OK"),e);return setImmediate(function(){this.setStatus("close"),this.handleCloseEvent()}.bind(this)),n}return(0,jp.default)(Promise.all(this.nodes().map(n=>n.quit().catch(i=>{if(i.message===lt.CONNECTION_CLOSED_ERROR_MSG)return"OK";throw i}))).then(()=>"OK"),e)}duplicate(e=[],t={}){let n=e.length>0?e:this.startupNodes.slice(0),i=Object.assign({},this.options,t);return new r(n,i)}nodes(e="all"){if(e!=="all"&&e!=="master"&&e!=="slave")throw new Error('Invalid role "'+e+'". Expected "all", "master" or "slave"');return this.connectionPool.getNodes(e)}delayUntilReady(e){this._readyDelayedCallbacks.push(e)}get autoPipelineQueueSize(){let e=0;for(let t of this._autoPipelines.values())e+=t.length;return e}refreshSlotsCache(e){if(e&&this._refreshSlotsCacheCallbacks.push(e),this.isRefreshing)return;this.isRefreshing=!0;let t=this,n=o=>{this.isRefreshing=!1;for(let l of this._refreshSlotsCacheCallbacks)l(o);this._refreshSlotsCacheCallbacks=[]},i=(0,lt.shuffle)(this.connectionPool.getNodes()),s=null;function a(o){if(o===i.length){let u=new ls.default(ls.default.defaultMessage,s);return n(u)}let l=i[o],c=`${l.options.host}:${l.options.port}`;Ke("getting slot cache from %s",c),t.getInfoFromNode(l,function(u){switch(t.status){case"close":case"end":return n(new Error("Cluster is disconnected."));case"disconnecting":return n(new Error("Cluster is disconnecting."))}u?(t.emit("node error",u,c),s=u,a(o+1)):(t.emit("refresh"),n())})}a(0)}sendCommand(e,t,n){if(this.status==="wait"&&this.connect().catch(lt.noop),this.status==="end")return e.reject(new Error(lt.CONNECTION_CLOSED_ERROR_MSG)),e.promise;let i=this.options.scaleReads;i!=="master"&&(e.isReadOnly||(0,Tp.exists)(e.name)&&(0,Tp.hasFlag)(e.name,"readonly")||(i="master"));let s=n?n.slot:e.getSlot(),a={},o=this;if(!n&&!Rp.has(e)){Rp.add(e);let c=e.reject;e.reject=function(u){let d=l.bind(null,!0);o.handleError(u,a,{moved:function(p,f){Ke("command %s is moved to %s",e.name,f),s=Number(p),o.slots[p]?o.slots[p][0]=f:o.slots[p]=[f],o._groupsBySlot[p]=o._groupsIds[o.slots[p].join(";")],o.connectionPool.findOrCreate(o.natMapper(f)),l(),Ke("refreshing slot caches... (triggered by MOVED error)"),o.refreshSlotsCache()},ask:function(p,f){Ke("command %s is required to ask %s:%s",e.name,f);let h=o.natMapper(f);o.connectionPool.findOrCreate(h),l(!1,`${h.host}:${h.port}`)},tryagain:d,clusterDown:d,connectionClosed:d,maxRedirections:function(p){c.call(e,p)},defaults:function(){c.call(e,u)}})}}l();function l(c,u){if(o.status==="end"){e.reject(new xn.AbortError("Cluster is ended."));return}let d;if(o.status==="ready"||e.name==="cluster"){if(n&&n.redis)d=n.redis;else if(Ap.default.checkFlag("ENTER_SUBSCRIBER_MODE",e.name)||Ap.default.checkFlag("EXIT_SUBSCRIBER_MODE",e.name)){if(o.options.shardedSubscribers&&(e.name=="ssubscribe"||e.name=="sunsubscribe")){let p=o.shardedSubscribers.getResponsibleSubscriber(s);if(!p){e.reject(new xn.AbortError(`No sharded subscriber for slot: ${s}`));return}let f=-1;e.name=="ssubscribe"&&(f=o.shardedSubscribers.addChannels(e.getKeys())),e.name=="sunsubscribe"&&(f=o.shardedSubscribers.removeChannels(e.getKeys())),f!==-1?d=p.getInstance():e.reject(new xn.AbortError("Possible CROSSSLOT error: All channels must hash to the same slot"))}else d=o.subscriber.getInstance();if(!d){e.reject(new xn.AbortError("No subscriber for the cluster"));return}}else{if(!c){if(typeof s=="number"&&o.slots[s]){let p=o.slots[s];if(typeof i=="function"){let f=p.map(function(h){return o.connectionPool.getInstanceByKey(h)});d=i(f,e),Array.isArray(d)&&(d=(0,lt.sample)(d)),d||(d=f[0])}else{let f;i==="all"?f=(0,lt.sample)(p):i==="slave"&&p.length>1?f=(0,lt.sample)(p,1):f=p[0],d=o.connectionPool.getInstanceByKey(f)}}u&&(d=o.connectionPool.getInstanceByKey(u),d.asking())}d||(d=(typeof i=="function"?null:o.connectionPool.getSampleInstance(i))||o.connectionPool.getSampleInstance("all"))}n&&!n.redis&&(n.redis=d)}d?d.sendCommand(e,t):o.options.enableOfflineQueue?o.offlineQueue.push({command:e,stream:t,node:n}):e.reject(new Error("Cluster isn't ready and enableOfflineQueue options is false"))}return e.promise}sscanStream(e,t){return this.createScanStream("sscan",{key:e,options:t})}sscanBufferStream(e,t){return this.createScanStream("sscanBuffer",{key:e,options:t})}hscanStream(e,t){return this.createScanStream("hscan",{key:e,options:t})}hscanBufferStream(e,t){return this.createScanStream("hscanBuffer",{key:e,options:t})}zscanStream(e,t){return this.createScanStream("zscan",{key:e,options:t})}zscanBufferStream(e,t){return this.createScanStream("zscanBuffer",{key:e,options:t})}handleError(e,t,n){if(typeof t.value>"u"?t.value=this.options.maxRedirections:t.value-=1,t.value<=0){n.maxRedirections(new Error("Too many Cluster redirections. Last error: "+e));return}let i=e.message.split(" ");if(i[0]==="MOVED"){let s=this.options.retryDelayOnMoved;s&&typeof s=="number"?this.delayQueue.push("moved",n.moved.bind(null,i[1],i[2]),{timeout:s}):n.moved(i[1],i[2])}else i[0]==="ASK"?n.ask(i[1],i[2]):i[0]==="TRYAGAIN"?this.delayQueue.push("tryagain",n.tryagain,{timeout:this.options.retryDelayOnTryAgain}):i[0]==="CLUSTERDOWN"&&this.options.retryDelayOnClusterDown>0?this.delayQueue.push("clusterdown",n.connectionClosed,{timeout:this.options.retryDelayOnClusterDown,callback:this.refreshSlotsCache.bind(this)}):e.message===lt.CONNECTION_CLOSED_ERROR_MSG&&this.options.retryDelayOnFailover>0&&this.status==="ready"?this.delayQueue.push("failover",n.connectionClosed,{timeout:this.options.retryDelayOnFailover,callback:this.refreshSlotsCache.bind(this)}):n.defaults()}resetOfflineQueue(){this.offlineQueue=new Dp}clearNodesRefreshInterval(){this.slotsTimer&&(clearTimeout(this.slotsTimer),this.slotsTimer=null)}resetNodesRefreshInterval(){if(this.slotsTimer||!this.options.slotsRefreshInterval)return;let e=()=>{this.slotsTimer=setTimeout(()=>{Ke('refreshing slot caches... (triggered by "slotsRefreshInterval" option)'),this.refreshSlotsCache(()=>{e()})},this.options.slotsRefreshInterval)};e()}setStatus(e){Ke("status: %s -> %s",this.status||"[empty]",e),this.status=e,process.nextTick(()=>{this.emit(e)})}handleCloseEvent(e){var t;e&&Ke("closed because %s",e);let n;!this.manuallyClosing&&typeof this.options.clusterRetryStrategy=="function"&&(n=this.options.clusterRetryStrategy.call(this,++this.retryAttempts,e)),typeof n=="number"?(this.setStatus("reconnecting"),this.reconnectTimeout=setTimeout(()=>{this.reconnectTimeout=null,Ke("Cluster is disconnected. Retrying after %dms",n),this.connect().catch(function(i){Ke("Got error %s when reconnecting. Ignoring...",i)})},n)):(this.options.shardedSubscribers&&((t=this.subscriberGroupEmitter)===null||t===void 0||t.removeAllListeners()),this.setStatus("end"),this.flushQueue(new Error("None of startup nodes is available")))}flushQueue(e){let t;for(;t=this.offlineQueue.shift();)t.command.reject(e)}executeOfflineCommands(){if(this.offlineQueue.length){Ke("send %d commands in offline queue",this.offlineQueue.length);let e=this.offlineQueue;this.resetOfflineQueue();let t;for(;t=e.shift();)this.sendCommand(t.command,t.stream,t.node)}}natMapper(e){let t=typeof e=="string"?e:`${e.host}:${e.port}`,n=null;return this.options.natMap&&typeof this.options.natMap=="function"?n=this.options.natMap(t):this.options.natMap&&typeof this.options.natMap=="object"&&(n=this.options.natMap[t]),n?(Ke("NAT mapping %s -> %O",t,n),Object.assign({},n)):typeof e=="string"?(0,wn.nodeKeyToRedisOptions)(e):e}getInfoFromNode(e,t){if(!e)return t(new Error("Node is disconnected"));let n=e.duplicate({enableOfflineQueue:!0,enableReadyCheck:!1,retryStrategy:null,connectionName:(0,wn.getConnectionName)("refresher",this.options.redisOptions&&this.options.redisOptions.connectionName)});n.on("error",lt.noop),n.cluster("SLOTS",(0,lt.timeout)((i,s)=>{if(n.disconnect(),i)return Ke("error encountered running CLUSTER.SLOTS: %s",i),t(i);if(this.status==="disconnecting"||this.status==="close"||this.status==="end"){Ke("ignore CLUSTER.SLOTS results (count: %d) since cluster status is %s",s.length,this.status),t();return}let a=[];Ke("cluster slots result count: %d",s.length);for(let l=0;l<s.length;++l){let c=s[l],u=c[0],d=c[1],p=[];for(let f=2;f<c.length;f++){if(!c[f][0])continue;let h=this.natMapper({host:c[f][0],port:c[f][1]});h.readOnly=f!==2,a.push(h),p.push(h.host+":"+h.port)}Ke("cluster slots result [%d]: slots %d~%d served by %s",l,u,d,p);for(let f=u;f<=d;f++)this.slots[f]=p}this._groupsIds=Object.create(null);let o=0;for(let l=0;l<16384;l++){let c=(this.slots[l]||[]).join(";");if(!c.length){this._groupsBySlot[l]=void 0;continue}this._groupsIds[c]||(this._groupsIds[c]=++o),this._groupsBySlot[l]=this._groupsIds[c]}this.connectionPool.reset(a),this.options.shardedSubscribers&&this.shardedSubscribers.reset(this.slots,this.connectionPool.getNodes("all")).catch(l=>{Ke("Error while starting subscribers: %s",l)}),t()},this.options.slotsRefreshTimeout))}invokeReadyDelayedCallbacks(e){for(let t of this._readyDelayedCallbacks)process.nextTick(t,e);this._readyDelayedCallbacks=[]}readyCheck(e){this.cluster("INFO",(t,n)=>{if(t)return e(t);if(typeof n!="string")return e();let i,s=n.split(`\r
|
|
159
|
-
`);for(let a=0;a<s.length;++a){let o=s[a].split(":");if(o[0]==="cluster_state"){i=o[1];break}}i==="fail"?(Ke("cluster state not ok (%s)",i),e(null,i)):e()})}resolveSrv(e){return new Promise((t,n)=>{this.options.resolveSrv(e,(i,s)=>{if(i)return n(i);let a=this,o=(0,wn.groupSrvRecords)(s),l=Object.keys(o).sort((u,d)=>parseInt(u)-parseInt(d));function c(u){if(!l.length)return n(u);let d=l[0],p=o[d],f=(0,wn.weightSrvRecords)(p);p.records.length||l.shift(),a.dnsLookup(f.name).then(h=>t({host:h,port:f.port}),c)}c()})})}dnsLookup(e){return new Promise((t,n)=>{this.options.dnsLookup(e,(i,s)=>{i?(Ke("failed to resolve hostname %s to IP: %s",e,i.message),n(i)):(Ke("resolved hostname %s to IP %s",e,s),t(s))})})}async resolveStartupNodeHostnames(){if(!Array.isArray(this.startupNodes)||this.startupNodes.length===0)throw new Error("`startupNodes` should contain at least one node.");let e=(0,wn.normalizeNodeOptions)(this.startupNodes),t=(0,wn.getUniqueHostnamesFromOptions)(e);if(t.length===0)return e;let n=await Promise.all(t.map((this.options.useSRVRecords?this.resolveSrv:this.dnsLookup).bind(this))),i=(0,lt.zipMap)(t,n);return e.map(s=>{let a=i.get(s.host);return a?this.options.useSRVRecords?Object.assign({},s,a):Object.assign({},s,{host:a}):s})}createScanStream(e,{key:t,options:n={}}){return new mx.default({objectMode:!0,key:t,redis:this,command:e,...n})}createShardedSubscriberGroup(){this.subscriberGroupEmitter=new nc.EventEmitter,this.shardedSubscribers=new Ix.default(this.subscriberGroupEmitter,this.options);let e=t=>{t instanceof ls.default&&this.disconnect(!0)};this.subscriberGroupEmitter.on("-node",(t,n)=>{this.emit("-node",t,n),this.refreshSlotsCache(e)}),this.subscriberGroupEmitter.on("subscriberConnectFailed",({delay:t,error:n})=>{this.emit("error",n),setTimeout(()=>{this.refreshSlotsCache(e)},t)}),this.subscriberGroupEmitter.on("moved",()=>{this.refreshSlotsCache(e)}),this.subscriberGroupEmitter.on("-subscriber",()=>{this.emit("-subscriber")}),this.subscriberGroupEmitter.on("+subscriber",()=>{this.emit("+subscriber")}),this.subscriberGroupEmitter.on("nodeError",(t,n)=>{this.emit("nodeError",t,n)}),this.subscriberGroupEmitter.on("subscribersReady",()=>{this.emit("subscribersReady")});for(let t of["smessage","smessageBuffer"])this.subscriberGroupEmitter.on(t,(n,i,s)=>{this.emit(t,n,i,s)})}};(0,gx.default)(ii,nc.EventEmitter);(0,bx.addTransactionSupport)(ii.prototype);ic.default=ii});var cs=y(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});var xx=Oe(),wx=(0,xx.Debug)("AbstractConnector"),ac=class{constructor(e){this.connecting=!1,this.disconnectTimeout=e}check(e){return!0}disconnect(){if(this.connecting=!1,this.stream){let e=this.stream,t=setTimeout(()=>{wx("stream %s:%s still open, destroying it",e.remoteAddress,e.remotePort),e.destroy()},this.disconnectTimeout);e.on("close",()=>clearTimeout(t)),e.end()}}};oc.default=ac});var Op=y(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});var Tx=Y("net"),jx=Y("tls"),Ax=Oe(),Dx=cs(),lc=class extends Dx.default{constructor(e){super(e.disconnectTimeout),this.options=e}connect(e){let{options:t}=this;this.connecting=!0;let n;return"path"in t&&t.path?n={path:t.path}:(n={},"port"in t&&t.port!=null&&(n.port=t.port),"host"in t&&t.host!=null&&(n.host=t.host),"family"in t&&t.family!=null&&(n.family=t.family)),t.tls&&Object.assign(n,t.tls),new Promise((i,s)=>{process.nextTick(()=>{if(!this.connecting){s(new Error(Ax.CONNECTION_CLOSED_ERROR_MSG));return}try{t.tls?this.stream=(0,jx.connect)(n):this.stream=(0,Tx.createConnection)(n)}catch(a){s(a);return}this.stream.once("error",a=>{this.firstError=a}),i(this.stream)})})}};cc.default=lc});var Cp=y(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});function Rx(r,e){return(r.host||"127.0.0.1")===(e.host||"127.0.0.1")&&(r.port||26379)===(e.port||26379)}var uc=class{constructor(e){this.cursor=0,this.sentinels=e.slice(0)}next(){let e=this.cursor>=this.sentinels.length;return{done:e,value:e?void 0:this.sentinels[this.cursor++]}}reset(e){e&&this.sentinels.length>1&&this.cursor!==1&&this.sentinels.unshift(...this.sentinels.splice(this.cursor-1)),this.cursor=0}add(e){for(let t=0;t<this.sentinels.length;t++)if(Rx(e,this.sentinels[t]))return!1;return this.sentinels.push(e),!0}toString(){return`${JSON.stringify(this.sentinels)} @${this.cursor}`}};dc.default=uc});var Mp=y(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.FailoverDetector=void 0;var Ox=Oe(),fc=(0,Ox.Debug)("FailoverDetector"),_p="+switch-master",pc=class{constructor(e,t){this.isDisconnected=!1,this.connector=e,this.sentinels=t}cleanup(){this.isDisconnected=!0;for(let e of this.sentinels)e.client.disconnect()}async subscribe(){fc("Starting FailoverDetector");let e=[];for(let t of this.sentinels){let n=t.client.subscribe(_p).catch(i=>{fc("Failed to subscribe to failover messages on sentinel %s:%s (%s)",t.address.host||"127.0.0.1",t.address.port||26739,i.message)});e.push(n),t.client.on("message",i=>{!this.isDisconnected&&i===_p&&this.disconnect()})}await Promise.all(e)}disconnect(){this.isDisconnected=!0,fc("Failover detected, disconnecting"),this.connector.disconnect()}};us.FailoverDetector=pc});var ds=y(ai=>{"use strict";Object.defineProperty(ai,"__esModule",{value:!0});ai.SentinelIterator=void 0;var Cx=Y("net"),si=Oe(),_x=Y("tls"),Pp=Cp();ai.SentinelIterator=Pp.default;var Mx=cs(),Px=Zt(),Nx=Mp(),Tn=(0,si.Debug)("SentinelConnector"),yc=class extends Mx.default{constructor(e){if(super(e.disconnectTimeout),this.options=e,this.emitter=null,this.failoverDetector=null,!this.options.sentinels.length)throw new Error("Requires at least one sentinel to connect to.");if(!this.options.name)throw new Error("Requires the name of master.");this.sentinelIterator=new Pp.default(this.options.sentinels)}check(e){let t=!e.role||this.options.role===e.role;return t||(Tn("role invalid, expected %s, but got %s",this.options.role,e.role),this.sentinelIterator.next(),this.sentinelIterator.next(),this.sentinelIterator.reset(!0)),t}disconnect(){super.disconnect(),this.failoverDetector&&this.failoverDetector.cleanup()}connect(e){this.connecting=!0,this.retryAttempts=0;let t,n=async()=>{let i=this.sentinelIterator.next();if(i.done){this.sentinelIterator.reset(!1);let l=typeof this.options.sentinelRetryStrategy=="function"?this.options.sentinelRetryStrategy(++this.retryAttempts):null,c=typeof l!="number"?"All sentinels are unreachable and retry is disabled.":`All sentinels are unreachable. Retrying from scratch after ${l}ms.`;t&&(c+=` Last error: ${t.message}`),Tn(c);let u=new Error(c);if(typeof l=="number")return e("error",u),await new Promise(d=>setTimeout(d,l)),n();throw u}let s=null,a=null;try{s=await this.resolve(i.value)}catch(l){a=l}if(!this.connecting)throw new Error(si.CONNECTION_CLOSED_ERROR_MSG);let o=i.value.host+":"+i.value.port;if(s)return Tn("resolved: %s:%s from sentinel %s",s.host,s.port,o),this.options.enableTLSForSentinelMode&&this.options.tls?(Object.assign(s,this.options.tls),this.stream=(0,_x.connect)(s),this.stream.once("secureConnect",this.initFailoverDetector.bind(this))):(this.stream=(0,Cx.createConnection)(s),this.stream.once("connect",this.initFailoverDetector.bind(this))),this.stream.once("error",l=>{this.firstError=l}),this.stream;{let l=a?"failed to connect to sentinel "+o+" because "+a.message:"connected to sentinel "+o+" successfully, but got an invalid reply: "+s;return Tn(l),e("sentinelError",new Error(l)),a&&(t=a),n()}};return n()}async updateSentinels(e){if(!this.options.updateSentinels)return;let t=await e.sentinel("sentinels",this.options.name);Array.isArray(t)&&(t.map(si.packObject).forEach(n=>{if((n.flags?n.flags.split(","):[]).indexOf("disconnected")===-1&&n.ip&&n.port){let s=this.sentinelNatResolve(Np(n));this.sentinelIterator.add(s)&&Tn("adding sentinel %s:%s",s.host,s.port)}}),Tn("Updated internal sentinels: %s",this.sentinelIterator))}async resolveMaster(e){let t=await e.sentinel("get-master-addr-by-name",this.options.name);return await this.updateSentinels(e),this.sentinelNatResolve(Array.isArray(t)?{host:t[0],port:Number(t[1])}:null)}async resolveSlave(e){let t=await e.sentinel("slaves",this.options.name);if(!Array.isArray(t))return null;let n=t.map(si.packObject).filter(i=>i.flags&&!i.flags.match(/(disconnected|s_down|o_down)/));return this.sentinelNatResolve(Lx(n,this.options.preferredSlaves))}sentinelNatResolve(e){if(!e||!this.options.natMap)return e;let t=`${e.host}:${e.port}`,n=e;return typeof this.options.natMap=="function"?n=this.options.natMap(t)||e:typeof this.options.natMap=="object"&&(n=this.options.natMap[t]||e),n}connectToSentinel(e,t){return new Px.default({port:e.port||26379,host:e.host,username:this.options.sentinelUsername||null,password:this.options.sentinelPassword||null,family:e.family||("path"in this.options&&this.options.path?void 0:this.options.family),tls:this.options.sentinelTLS,retryStrategy:null,enableReadyCheck:!1,connectTimeout:this.options.connectTimeout,commandTimeout:this.options.sentinelCommandTimeout,...t})}async resolve(e){let t=this.connectToSentinel(e);t.on("error",qx);try{return this.options.role==="slave"?await this.resolveSlave(t):await this.resolveMaster(t)}finally{t.disconnect()}}async initFailoverDetector(){var e;if(!this.options.failoverDetector)return;this.sentinelIterator.reset(!0);let t=[];for(;t.length<this.options.sentinelMaxConnections;){let{done:n,value:i}=this.sentinelIterator.next();if(n)break;let s=this.connectToSentinel(i,{lazyConnect:!0,retryStrategy:this.options.sentinelReconnectStrategy});s.on("reconnecting",()=>{var a;(a=this.emitter)===null||a===void 0||a.emit("sentinelReconnecting")}),t.push({address:i,client:s})}this.sentinelIterator.reset(!1),this.failoverDetector&&this.failoverDetector.cleanup(),this.failoverDetector=new Nx.FailoverDetector(this,t),await this.failoverDetector.subscribe(),(e=this.emitter)===null||e===void 0||e.emit("failoverSubscribed")}};ai.default=yc;function Lx(r,e){if(r.length===0)return null;let t;if(typeof e=="function")t=e(r);else if(e!==null&&typeof e=="object"){let n=Array.isArray(e)?e:[e];n.sort((i,s)=>(i.prio||(i.prio=1),s.prio||(s.prio=1),i.prio<s.prio?-1:i.prio>s.prio?1:0));for(let i=0;i<n.length;i++){for(let s=0;s<r.length;s++){let a=r[s];if(a.ip===n[i].ip&&a.port===n[i].port){t=a;break}}if(t)break}}return t||(t=(0,si.sample)(r)),Np(t)}function Np(r){return{host:r.ip,port:Number(r.port)}}function qx(){}});var Lp=y(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.SentinelConnector=jn.StandaloneConnector=void 0;var Jx=Op();jn.StandaloneConnector=Jx.default;var Fx=ds();jn.SentinelConnector=Fx.default});var qp=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});var Vx=Lr(),hc=class extends Vx.AbortError{constructor(e){let t=`Reached the max retries per request limit (which is ${e}). Refer to "maxRetriesPerRequest" option for details.`;super(t),Error.captureStackTrace(this,this.constructor)}get name(){return this.constructor.name}};mc.default=hc});var Jp=y(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.MaxRetriesPerRequestError=void 0;var Gx=qp();fs.MaxRetriesPerRequestError=Gx.default});var Up=y((WM,Wp)=>{"use strict";var Ec=Y("buffer").Buffer,Yx=Y("string_decoder").StringDecoder,bc=new Yx,Fp=Lr(),Bx=Fp.ReplyError,Wx=Fp.ParserError,At=Ec.allocUnsafe(32*1024),$e=0,ps=null,oi=0,gc=0;function Ux(r){let e=r.buffer.length-1;var t=r.offset,n=0,i=1;for(r.buffer[t]===45&&(i=-1,t++);t<e;){let s=r.buffer[t++];if(s===13)return r.offset=t+1,i*n;n=n*10+(s-48)}}function zx(r){let e=r.buffer.length-1;var t=r.offset,n=0,i="";for(r.buffer[t]===45&&(i+="-",t++);t<e;){var s=r.buffer[t++];if(s===13)return r.offset=t+1,n!==0&&(i+=n),i;n>429496728?(i+=n*10+(s-48),n=0):s===48&&n===0?i+=0:n=n*10+(s-48)}}function Vp(r){let e=r.offset,t=r.buffer,n=t.length-1;for(var i=e;i<n;)if(t[i++]===13)return r.offset=i+1,r.optionReturnBuffers===!0?r.buffer.slice(e,i-1):r.buffer.toString("utf8",e,i-1)}function Gp(r){let e=r.buffer.length-1;for(var t=r.offset,n=0;t<e;){let i=r.buffer[t++];if(i===13)return r.offset=t+1,n;n=n*10+(i-48)}}function $x(r){return r.optionStringNumbers===!0?zx(r):Ux(r)}function Hx(r){let e=Gp(r);if(e===void 0)return;if(e<0)return null;let t=r.offset+e;if(t+2>r.buffer.length){r.bigStrSize=t+2,r.totalChunkSize=r.buffer.length,r.bufferCache.push(r.buffer);return}let n=r.offset;return r.offset=t+2,r.optionReturnBuffers===!0?r.buffer.slice(n,t):r.buffer.toString("utf8",n,t)}function Qx(r){var e=Vp(r);if(e!==void 0)return r.optionReturnBuffers===!0&&(e=e.toString()),new Bx(e)}function Zx(r,e){let t=new Wx("Protocol error, got "+JSON.stringify(String.fromCharCode(e))+" as reply type byte",JSON.stringify(r.buffer),r.offset);r.buffer=null,r.returnFatalError(t)}function Xx(r){let e=Gp(r);if(e===void 0)return;if(e<0)return null;let t=new Array(e);return Yp(r,t,0)}function vc(r,e,t){r.arrayCache.push(e),r.arrayPos.push(t)}function Kc(r){let e=r.arrayCache.pop();var t=r.arrayPos.pop();if(r.arrayCache.length){let n=Kc(r);if(n===void 0){vc(r,e,t);return}e[t++]=n}return Yp(r,e,t)}function Yp(r,e,t){let n=r.buffer.length;for(;t<e.length;){let i=r.offset;if(r.offset>=n){vc(r,e,t);return}let s=Bp(r,r.buffer[r.offset++]);if(s===void 0){r.arrayCache.length||r.bufferCache.length||(r.offset=i),vc(r,e,t);return}e[t]=s,t++}return e}function Bp(r,e){switch(e){case 36:return Hx(r);case 43:return Vp(r);case 42:return Xx(r);case 58:return $x(r);case 45:return Qx(r);default:return Zx(r,e)}}function ew(){if(At.length>50*1024)if(oi===1||gc>oi*2){let r=Math.floor(At.length/10),e=r<$e?$e:r;$e=0,At=At.slice(e,At.length)}else gc++,oi--;else clearInterval(ps),oi=0,gc=0,ps=null}function tw(r){if(At.length<r+$e){let e=r>78643200?2:3;$e>1024*1024*111&&($e=1024*1024*50),At=Ec.allocUnsafe(r*e+$e),$e=0,oi++,ps===null&&(ps=setInterval(ew,50))}}function rw(r){let e=r.bufferCache,t=r.offset;var n=e.length,i=r.bigStrSize-r.totalChunkSize;if(r.offset=i,i<=2){if(n===2)return e[0].toString("utf8",t,e[0].length+i-2);n--,i=e[e.length-2].length+i}for(var s=bc.write(e[0].slice(t)),a=1;a<n-1;a++)s+=bc.write(e[a]);return s+=bc.end(e[a].slice(0,i-2)),s}function nw(r){let e=r.bufferCache,t=r.offset,n=r.bigStrSize-t-2;var i=e.length,s=r.bigStrSize-r.totalChunkSize;if(r.offset=s,s<=2){if(i===2)return e[0].slice(t,e[0].length+s-2);i--,s=e[e.length-2].length+s}tw(n);let a=$e;e[0].copy(At,a,t,e[0].length),$e+=e[0].length-t;for(var o=1;o<i-1;o++)e[o].copy(At,$e),$e+=e[o].length;return e[o].copy(At,$e,0,s-2),$e+=s-2,At.slice(a,$e)}var Sc=class{constructor(e){if(!e)throw new TypeError("Options are mandatory.");if(typeof e.returnError!="function"||typeof e.returnReply!="function")throw new TypeError("The returnReply and returnError options have to be functions.");this.setReturnBuffers(!!e.returnBuffers),this.setStringNumbers(!!e.stringNumbers),this.returnError=e.returnError,this.returnFatalError=e.returnFatalError||e.returnError,this.returnReply=e.returnReply,this.reset()}reset(){this.offset=0,this.buffer=null,this.bigStrSize=0,this.totalChunkSize=0,this.bufferCache=[],this.arrayCache=[],this.arrayPos=[]}setReturnBuffers(e){if(typeof e!="boolean")throw new TypeError("The returnBuffers argument has to be a boolean");this.optionReturnBuffers=e}setStringNumbers(e){if(typeof e!="boolean")throw new TypeError("The stringNumbers argument has to be a boolean");this.optionStringNumbers=e}execute(e){if(this.buffer===null)this.buffer=e,this.offset=0;else if(this.bigStrSize===0){let n=this.buffer.length,i=n-this.offset,s=Ec.allocUnsafe(i+e.length);if(this.buffer.copy(s,0,this.offset,n),e.copy(s,i,0,e.length),this.buffer=s,this.offset=0,this.arrayCache.length){let a=Kc(this);if(a===void 0)return;this.returnReply(a)}}else if(this.totalChunkSize+e.length>=this.bigStrSize){this.bufferCache.push(e);var t=this.optionReturnBuffers?nw(this):rw(this);if(this.bigStrSize=0,this.bufferCache=[],this.buffer=e,this.arrayCache.length&&(this.arrayCache[0][this.arrayPos[0]++]=t,t=Kc(this),t===void 0))return;this.returnReply(t)}else{this.bufferCache.push(e),this.totalChunkSize+=e.length;return}for(;this.offset<this.buffer.length;){let n=this.offset,i=this.buffer[this.offset++],s=Bp(this,i);if(s===void 0){this.arrayCache.length||this.bufferCache.length||(this.offset=n);return}i===45?this.returnError(s):this.returnReply(s)}this.buffer=null}};Wp.exports=Sc});var $p=y((UM,zp)=>{"use strict";zp.exports=Up()});var Hp=y(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});var Ic=class{constructor(){this.set={subscribe:{},psubscribe:{},ssubscribe:{}}}add(e,t){this.set[kc(e)][t]=!0}del(e,t){delete this.set[kc(e)][t]}channels(e){return Object.keys(this.set[kc(e)])}isEmpty(){return this.channels("subscribe").length===0&&this.channels("psubscribe").length===0&&this.channels("ssubscribe").length===0}};xc.default=Ic;function kc(r){return r==="unsubscribe"?"subscribe":r==="punsubscribe"?"psubscribe":r==="sunsubscribe"?"ssubscribe":r}});var ey=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});var Qp=Ht(),iw=Oe(),sw=$p(),aw=Hp(),ow=(0,iw.Debug)("dataHandler"),wc=class{constructor(e,t){this.redis=e;let n=new sw({stringNumbers:t.stringNumbers,returnBuffers:!0,returnError:i=>{this.returnError(i)},returnFatalError:i=>{this.returnFatalError(i)},returnReply:i=>{this.returnReply(i)}});e.stream.prependListener("data",i=>{n.execute(i)}),e.stream.resume()}returnFatalError(e){e.message+=". Please report this.",this.redis.recoverFromFatalError(e,e,{offlineQueue:!1})}returnError(e){let t=this.shiftCommand(e);if(t){if(e.command={name:t.command.name,args:t.command.args},t.command.name=="ssubscribe"&&e.message.includes("MOVED")){this.redis.emit("moved");return}this.redis.handleReconnection(e,t)}}returnReply(e){if(this.handleMonitorReply(e)||this.handleSubscriberReply(e))return;let t=this.shiftCommand(e);t&&(Qp.default.checkFlag("ENTER_SUBSCRIBER_MODE",t.command.name)?(this.redis.condition.subscriber=new aw.default,this.redis.condition.subscriber.add(t.command.name,e[1].toString()),Zp(t.command,e[2])||this.redis.commandQueue.unshift(t)):Qp.default.checkFlag("EXIT_SUBSCRIBER_MODE",t.command.name)?Xp(t.command,e[2])||this.redis.commandQueue.unshift(t):t.command.resolve(e))}handleSubscriberReply(e){if(!this.redis.condition.subscriber)return!1;let t=Array.isArray(e)?e[0].toString():null;switch(ow('receive reply "%s" in subscriber mode',t),t){case"message":this.redis.listeners("message").length>0&&this.redis.emit("message",e[1].toString(),e[2]?e[2].toString():""),this.redis.emit("messageBuffer",e[1],e[2]);break;case"pmessage":{let n=e[1].toString();this.redis.listeners("pmessage").length>0&&this.redis.emit("pmessage",n,e[2].toString(),e[3].toString()),this.redis.emit("pmessageBuffer",n,e[2],e[3]);break}case"smessage":{this.redis.listeners("smessage").length>0&&this.redis.emit("smessage",e[1].toString(),e[2]?e[2].toString():""),this.redis.emit("smessageBuffer",e[1],e[2]);break}case"ssubscribe":case"subscribe":case"psubscribe":{let n=e[1].toString();this.redis.condition.subscriber.add(t,n);let i=this.shiftCommand(e);if(!i)return;Zp(i.command,e[2])||this.redis.commandQueue.unshift(i);break}case"sunsubscribe":case"unsubscribe":case"punsubscribe":{let n=e[1]?e[1].toString():null;n&&this.redis.condition.subscriber.del(t,n);let i=e[2];Number(i)===0&&(this.redis.condition.subscriber=!1);let s=this.shiftCommand(e);if(!s)return;Xp(s.command,i)||this.redis.commandQueue.unshift(s);break}default:{let n=this.shiftCommand(e);if(!n)return;n.command.resolve(e)}}return!0}handleMonitorReply(e){if(this.redis.status!=="monitoring")return!1;let t=e.toString();if(t==="OK")return!1;let n=t.indexOf(" "),i=t.slice(0,n),s=t.indexOf('"'),a=t.slice(s+1,-1).split('" "').map(l=>l.replace(/\\"/g,'"')),o=t.slice(n+2,s-2).split(" ");return this.redis.emit("monitor",i,a,o[1],o[0]),!0}shiftCommand(e){let t=this.redis.commandQueue.shift();if(!t){let n="Command queue state error. If you can reproduce this, please report it.",i=new Error(n+(e instanceof Error?` Last error: ${e.message}`:` Last reply: ${e.toString()}`));return this.redis.emit("error",i),null}return t}};Tc.default=wc;var mr=new WeakMap;function Zp(r,e){let t=mr.has(r)?mr.get(r):r.args.length;return t-=1,t<=0?(r.resolve(e),mr.delete(r),!0):(mr.set(r,t),!1)}function Xp(r,e){let t=mr.has(r)?mr.get(r):r.args.length;return t===0?Number(e)===0?(mr.delete(r),r.resolve(e),!0):!1:(t-=1,t<=0?(r.resolve(e),!0):(mr.set(r,t),!1))}});var ty=y(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.readyHandler=Kt.errorHandler=Kt.closeHandler=Kt.connectHandler=void 0;var lw=Lr(),cw=Ht(),uw=Jp(),qt=Oe(),dw=ey(),Ge=(0,qt.Debug)("connection");function fw(r){return function(){var e;r.setStatus("connect"),r.resetCommandQueue();let t=!1,{connectionEpoch:n}=r;r.condition.auth&&r.auth(r.condition.auth,function(s){n===r.connectionEpoch&&s&&(s.message.indexOf("no password is set")!==-1?console.warn("[WARN] Redis server does not require a password, but a password was supplied."):s.message.indexOf("without any password configured for the default user")!==-1?console.warn("[WARN] This Redis server's `default` user does not require a password, but a password was supplied"):s.message.indexOf("wrong number of arguments for 'auth' command")!==-1?console.warn(`[ERROR] The server returned "wrong number of arguments for 'auth' command". You are probably passing both username and password to Redis version 5 or below. You should only pass the 'password' option for Redis version 5 and under.`):(t=!0,r.recoverFromFatalError(s,s)))}),r.condition.select&&r.select(r.condition.select).catch(s=>{r.silentEmit("error",s)}),new dw.default(r,{stringNumbers:r.options.stringNumbers});let i=[];r.options.connectionName&&(Ge("set the connection name [%s]",r.options.connectionName),i.push(r.client("setname",r.options.connectionName).catch(qt.noop))),r.options.disableClientInfo||(Ge("set the client info"),i.push((0,qt.getPackageMeta)().then(s=>r.client("SETINFO","LIB-VER",s.version).catch(qt.noop)).catch(qt.noop)),i.push(r.client("SETINFO","LIB-NAME",!((e=r.options)===null||e===void 0)&&e.clientInfoTag?`ioredis(${r.options.clientInfoTag})`:"ioredis").catch(qt.noop))),Promise.all(i).catch(qt.noop).finally(()=>{r.options.enableReadyCheck||Kt.readyHandler(r)(),r.options.enableReadyCheck&&r._readyCheck(function(s,a){n===r.connectionEpoch&&(s?t||r.recoverFromFatalError(new Error("Ready check failed: "+s.message),s):r.connector.check(a)?Kt.readyHandler(r)():r.disconnect(!0))})})}}Kt.connectHandler=fw;function jc(r){let e=new lw.AbortError("Command aborted due to connection close");return e.command={name:r.name,args:r.args},e}function pw(r){var e;let t=0;for(let n=0;n<r.length;){let i=(e=r.peekAt(n))===null||e===void 0?void 0:e.command,s=i.pipelineIndex;if((s===void 0||s===0)&&(t=0),s!==void 0&&s!==t++){r.remove(n,1),i.reject(jc(i));continue}n++}}function yw(r){var e;for(let t=0;t<r.length;){let n=(e=r.peekAt(t))===null||e===void 0?void 0:e.command;if(n.name==="multi")break;if(n.name==="exec"){r.remove(t,1),n.reject(jc(n));break}n.inTransaction?(r.remove(t,1),n.reject(jc(n))):t++}}function hw(r){return function(){let t=r.status;if(r.setStatus("close"),r.commandQueue.length&&pw(r.commandQueue),r.offlineQueue.length&&yw(r.offlineQueue),t==="ready"&&(r.prevCondition||(r.prevCondition=r.condition),r.commandQueue.length&&(r.prevCommandQueue=r.commandQueue)),r.manuallyClosing)return r.manuallyClosing=!1,Ge("skip reconnecting since the connection is manually closed."),e();if(typeof r.options.retryStrategy!="function")return Ge("skip reconnecting because `retryStrategy` is not a function"),e();let n=r.options.retryStrategy(++r.retryAttempts);if(typeof n!="number")return Ge("skip reconnecting because `retryStrategy` doesn't return a number"),e();Ge("reconnect in %sms",n),r.setStatus("reconnecting",n),r.reconnectTimeout=setTimeout(function(){r.reconnectTimeout=null,r.connect().catch(qt.noop)},n);let{maxRetriesPerRequest:i}=r.options;typeof i=="number"&&(i<0?Ge("maxRetriesPerRequest is negative, ignoring..."):r.retryAttempts%(i+1)===0&&(Ge("reach maxRetriesPerRequest limitation, flushing command queue..."),r.flushQueue(new uw.MaxRetriesPerRequestError(i))))};function e(){r.setStatus("end"),r.flushQueue(new Error(qt.CONNECTION_CLOSED_ERROR_MSG))}}Kt.closeHandler=hw;function mw(r){return function(e){Ge("error: %s",e),r.silentEmit("error",e)}}Kt.errorHandler=mw;function bw(r){return function(){if(r.setStatus("ready"),r.retryAttempts=0,r.options.monitor){r.call("monitor").then(()=>r.setStatus("monitoring"),n=>r.emit("error",n));let{sendCommand:t}=r;r.sendCommand=function(n){return cw.default.checkFlag("VALID_IN_MONITOR_MODE",n.name)?t.call(r,n):(n.reject(new Error("Connection is in monitoring mode, can't process commands.")),n.promise)},r.once("close",function(){delete r.sendCommand});return}let e=r.prevCondition?r.prevCondition.select:r.condition.select;if(r.options.readOnly&&(Ge("set the connection to readonly mode"),r.readonly().catch(qt.noop)),r.prevCondition){let t=r.prevCondition;if(r.prevCondition=null,t.subscriber&&r.options.autoResubscribe){r.condition.select!==e&&(Ge("connect to db [%d]",e),r.select(e));let n=t.subscriber.channels("subscribe");n.length&&(Ge("subscribe %d channels",n.length),r.subscribe(n));let i=t.subscriber.channels("psubscribe");i.length&&(Ge("psubscribe %d channels",i.length),r.psubscribe(i));let s=t.subscriber.channels("ssubscribe");if(s.length){Ge("ssubscribe %s",s.length);for(let a of s)r.ssubscribe(a)}}}if(r.prevCommandQueue)if(r.options.autoResendUnfulfilledCommands)for(Ge("resend %d unfulfilled commands",r.prevCommandQueue.length);r.prevCommandQueue.length>0;){let t=r.prevCommandQueue.shift();t.select!==r.condition.select&&t.command.name!=="select"&&r.select(t.select),r.sendCommand(t.command,t.stream)}else r.prevCommandQueue=null;if(r.offlineQueue.length){Ge("send %d commands in offline queue",r.offlineQueue.length);let t=r.offlineQueue;for(r.resetOfflineQueue();t.length>0;){let n=t.shift();n.select!==r.condition.select&&n.command.name!=="select"&&r.select(n.select),r.sendCommand(n.command,n.stream)}}r.condition.select!==e&&(Ge("connect to db [%d]",e),r.select(e))}}Kt.readyHandler=bw});var ry=y(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.DEFAULT_REDIS_OPTIONS=void 0;ys.DEFAULT_REDIS_OPTIONS={port:6379,host:"localhost",family:0,connectTimeout:1e4,disconnectTimeout:2e3,retryStrategy:function(r){return Math.min(r*50,2e3)},keepAlive:0,noDelay:!0,connectionName:null,disableClientInfo:!1,clientInfoTag:void 0,sentinels:null,name:null,role:"master",sentinelRetryStrategy:function(r){return Math.min(r*10,1e3)},sentinelReconnectStrategy:function(){return 6e4},natMap:null,enableTLSForSentinelMode:!1,updateSentinels:!0,failoverDetector:!1,username:null,password:null,db:0,enableOfflineQueue:!0,enableReadyCheck:!0,autoResubscribe:!0,autoResendUnfulfilledCommands:!0,lazyConnect:!1,keyPrefix:"",reconnectOnError:null,readOnly:!1,stringNumbers:!1,maxRetriesPerRequest:20,maxLoadingRetryTime:1e4,enableAutoPipelining:!1,autoPipeliningIgnoredCommands:[],sentinelMaxConnections:10,blockingTimeoutGrace:100}});var Zt=y(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});var ny=Nr(),sy=Y("events"),Ac=fr(),gw=sc(),Fr=Ht(),vw=Lp(),Kw=ds(),br=ty(),ay=ry(),Sw=es(),Ew=Gl(),Vr=Oe(),kw=Bl(),Iw=rs(),gr=Ui(),iy=as(),vr=(0,Vr.Debug)("redis"),Kr=class r extends Iw.default{constructor(e,t,n){if(super(),this.status="wait",this.isCluster=!1,this.reconnectTimeout=null,this.connectionEpoch=0,this.retryAttempts=0,this.manuallyClosing=!1,this._autoPipelines=new Map,this._runningAutoPipelines=new Set,this.parseOptions(e,t,n),sy.EventEmitter.call(this),this.resetCommandQueue(),this.resetOfflineQueue(),this.options.Connector)this.connector=new this.options.Connector(this.options);else if(this.options.sentinels){let i=new Kw.default(this.options);i.emitter=this,this.connector=i}else this.connector=new vw.StandaloneConnector(this.options);this.options.scripts&&Object.entries(this.options.scripts).forEach(([i,s])=>{this.defineCommand(i,s)}),this.options.lazyConnect?this.setStatus("wait"):this.connect().catch(gr.noop)}static createClient(...e){return new r(...e)}get autoPipelineQueueSize(){let e=0;for(let t of this._autoPipelines.values())e+=t.length;return e}connect(e){let t=new Promise((n,i)=>{if(this.status==="connecting"||this.status==="connect"||this.status==="ready"){i(new Error("Redis is already connecting/connected"));return}this.connectionEpoch+=1,this.setStatus("connecting");let{options:s}=this;this.condition={select:s.db,auth:s.username?[s.username,s.password]:s.password,subscriber:!1};let a=this;(0,Ac.default)(this.connector.connect(function(o,l){a.silentEmit(o,l)}),function(o,l){if(o){a.flushQueue(o),a.silentEmit("error",o),i(o),a.setStatus("end");return}let c=s.tls?"secureConnect":"connect";if("sentinels"in s&&s.sentinels&&!s.enableTLSForSentinelMode&&(c="connect"),a.stream=l,s.noDelay&&l.setNoDelay(!0),typeof s.keepAlive=="number"&&(l.connecting?l.once(c,()=>{l.setKeepAlive(!0,s.keepAlive)}):l.setKeepAlive(!0,s.keepAlive)),l.connecting){if(l.once(c,br.connectHandler(a)),s.connectTimeout){let p=!1;l.setTimeout(s.connectTimeout,function(){if(p)return;l.setTimeout(0),l.destroy();let f=new Error("connect ETIMEDOUT");f.errorno="ETIMEDOUT",f.code="ETIMEDOUT",f.syscall="connect",br.errorHandler(a)(f)}),l.once(c,function(){p=!0,l.setTimeout(0)})}}else if(l.destroyed){let p=a.connector.firstError;p&&process.nextTick(()=>{br.errorHandler(a)(p)}),process.nextTick(br.closeHandler(a))}else process.nextTick(br.connectHandler(a));l.destroyed||(l.once("error",br.errorHandler(a)),l.once("close",br.closeHandler(a)));let u=function(){a.removeListener("close",d),n()};var d=function(){a.removeListener("ready",u),i(new Error(Vr.CONNECTION_CLOSED_ERROR_MSG))};a.once("ready",u),a.once("close",d)})});return(0,Ac.default)(t,e)}disconnect(e=!1){e||(this.manuallyClosing=!0),this.reconnectTimeout&&!e&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.status==="wait"?br.closeHandler(this)():this.connector.disconnect()}end(){this.disconnect()}duplicate(e){return new r({...this.options,...e})}get mode(){var e;return this.options.monitor?"monitor":!((e=this.condition)===null||e===void 0)&&e.subscriber?"subscriber":"normal"}monitor(e){let t=this.duplicate({monitor:!0,lazyConnect:!1});return(0,Ac.default)(new Promise(function(n,i){t.once("error",i),t.once("monitoring",function(){n(t)})}),e)}sendCommand(e,t){var n,i;if(this.status==="wait"&&this.connect().catch(gr.noop),this.status==="end")return e.reject(new Error(Vr.CONNECTION_CLOSED_ERROR_MSG)),e.promise;if(!((n=this.condition)===null||n===void 0)&&n.subscriber&&!Fr.default.checkFlag("VALID_IN_SUBSCRIBER_MODE",e.name))return e.reject(new Error("Connection in subscriber mode, only subscriber commands may be used")),e.promise;typeof this.options.commandTimeout=="number"&&e.setTimeout(this.options.commandTimeout);let s=this.getBlockingTimeoutInMs(e),a=this.status==="ready"||!t&&this.status==="connect"&&(0,ny.exists)(e.name,{caseInsensitive:!0})&&((0,ny.hasFlag)(e.name,"loading",{nameCaseInsensitive:!0})||Fr.default.checkFlag("HANDSHAKE_COMMANDS",e.name));if(this.stream&&this.stream.writable?this.stream._writableState&&this.stream._writableState.ended&&(a=!1):a=!1,a)vr.enabled&&vr("write command[%s]: %d -> %s(%o)",this._getDescription(),(i=this.condition)===null||i===void 0?void 0:i.select,e.name,e.args),t?"isPipeline"in t&&t.isPipeline?t.write(e.toWritable(t.destination.redis.stream)):t.write(e.toWritable(t)):this.stream.write(e.toWritable(this.stream)),this.commandQueue.push({command:e,stream:t,select:this.condition.select}),s!==void 0&&e.setBlockingTimeout(s),Fr.default.checkFlag("WILL_DISCONNECT",e.name)&&(this.manuallyClosing=!0),this.options.socketTimeout!==void 0&&this.socketTimeoutTimer===void 0&&this.setSocketTimeout();else{if(!this.options.enableOfflineQueue)return e.reject(new Error("Stream isn't writeable and enableOfflineQueue options is false")),e.promise;if(e.name==="quit"&&this.offlineQueue.length===0)return this.disconnect(),e.resolve(Buffer.from("OK")),e.promise;if(vr.enabled&&vr("queue command[%s]: %d -> %s(%o)",this._getDescription(),this.condition.select,e.name,e.args),this.offlineQueue.push({command:e,stream:t,select:this.condition.select}),Fr.default.checkFlag("BLOCKING_COMMANDS",e.name)){let o=this.getConfiguredBlockingTimeout();o!==void 0&&e.setBlockingTimeout(o)}}if(e.name==="select"&&(0,Vr.isInt)(e.args[0])){let o=parseInt(e.args[0],10);this.condition.select!==o&&(this.condition.select=o,this.emit("select",o),vr("switch to db [%d]",this.condition.select))}return e.promise}getBlockingTimeoutInMs(e){var t;if(!Fr.default.checkFlag("BLOCKING_COMMANDS",e.name))return;let n=this.getConfiguredBlockingTimeout();if(n===void 0)return;let i=e.extractBlockingTimeout();if(typeof i=="number")return i>0?i+((t=this.options.blockingTimeoutGrace)!==null&&t!==void 0?t:ay.DEFAULT_REDIS_OPTIONS.blockingTimeoutGrace):n;if(i===null)return n}getConfiguredBlockingTimeout(){if(typeof this.options.blockingTimeout=="number"&&this.options.blockingTimeout>0)return this.options.blockingTimeout}setSocketTimeout(){this.socketTimeoutTimer=setTimeout(()=>{this.stream.destroy(new Error(`Socket timeout. Expecting data, but didn't receive any in ${this.options.socketTimeout}ms.`)),this.socketTimeoutTimer=void 0},this.options.socketTimeout),this.stream.once("data",()=>{clearTimeout(this.socketTimeoutTimer),this.socketTimeoutTimer=void 0,this.commandQueue.length!==0&&this.setSocketTimeout()})}scanStream(e){return this.createScanStream("scan",{options:e})}scanBufferStream(e){return this.createScanStream("scanBuffer",{options:e})}sscanStream(e,t){return this.createScanStream("sscan",{key:e,options:t})}sscanBufferStream(e,t){return this.createScanStream("sscanBuffer",{key:e,options:t})}hscanStream(e,t){return this.createScanStream("hscan",{key:e,options:t})}hscanBufferStream(e,t){return this.createScanStream("hscanBuffer",{key:e,options:t})}zscanStream(e,t){return this.createScanStream("zscan",{key:e,options:t})}zscanBufferStream(e,t){return this.createScanStream("zscanBuffer",{key:e,options:t})}silentEmit(e,t){let n;if(!(e==="error"&&(n=t,this.status==="end"||this.manuallyClosing&&n instanceof Error&&(n.message===Vr.CONNECTION_CLOSED_ERROR_MSG||n.syscall==="connect"||n.syscall==="read"))))return this.listeners(e).length>0?this.emit.apply(this,arguments):(n&&n instanceof Error&&console.error("[ioredis] Unhandled error event:",n.stack),!1)}recoverFromFatalError(e,t,n){this.flushQueue(t,n),this.silentEmit("error",t),this.disconnect(!0)}handleReconnection(e,t){var n;let i=!1;switch(this.options.reconnectOnError&&!Fr.default.checkFlag("IGNORE_RECONNECT_ON_ERROR",t.command.name)&&(i=this.options.reconnectOnError(e)),i){case 1:case!0:this.status!=="reconnecting"&&this.disconnect(!0),t.command.reject(e);break;case 2:this.status!=="reconnecting"&&this.disconnect(!0),((n=this.condition)===null||n===void 0?void 0:n.select)!==t.select&&t.command.name!=="select"&&this.select(t.select),this.sendCommand(t.command);break;default:t.command.reject(e)}}_getDescription(){let e;return"path"in this.options&&this.options.path?e=this.options.path:this.stream&&this.stream.remoteAddress&&this.stream.remotePort?e=this.stream.remoteAddress+":"+this.stream.remotePort:"host"in this.options&&this.options.host?e=this.options.host+":"+this.options.port:e="",this.options.connectionName&&(e+=` (${this.options.connectionName})`),e}resetCommandQueue(){this.commandQueue=new iy}resetOfflineQueue(){this.offlineQueue=new iy}parseOptions(...e){let t={},n=!1;for(let i=0;i<e.length;++i){let s=e[i];if(!(s===null||typeof s>"u"))if(typeof s=="object")(0,gr.defaults)(t,s);else if(typeof s=="string")(0,gr.defaults)(t,(0,Vr.parseURL)(s)),s.startsWith("rediss://")&&(n=!0);else if(typeof s=="number")t.port=s;else throw new Error("Invalid argument "+s)}n&&(0,gr.defaults)(t,{tls:!0}),(0,gr.defaults)(t,r.defaultOptions),typeof t.port=="string"&&(t.port=parseInt(t.port,10)),typeof t.db=="string"&&(t.db=parseInt(t.db,10)),this.options=(0,Vr.resolveTLSProfile)(t)}setStatus(e,t){vr.enabled&&vr("status[%s]: %s -> %s",this._getDescription(),this.status||"[empty]",e),this.status=e,process.nextTick(this.emit.bind(this,e,t))}createScanStream(e,{key:t,options:n={}}){return new Sw.default({objectMode:!0,key:t,redis:this,command:e,...n})}flushQueue(e,t){t=(0,gr.defaults)({},t,{offlineQueue:!0,commandQueue:!0});let n;if(t.offlineQueue)for(;n=this.offlineQueue.shift();)n.command.reject(e);if(t.commandQueue&&this.commandQueue.length>0)for(this.stream&&this.stream.removeAllListeners("data");n=this.commandQueue.shift();)n.command.reject(e)}_readyCheck(e){let t=this;this.info(function(n,i){if(n)return n.message&&n.message.includes("NOPERM")?(console.warn(`Skipping the ready check because INFO command fails: "${n.message}". You can disable ready check with "enableReadyCheck". More: https://github.com/luin/ioredis/wiki/Disable-ready-check.`),e(null,{})):e(n);if(typeof i!="string")return e(null,i);let s={},a=i.split(`\r
|
|
160
|
-
`);for(let o=0;o<a.length;++o){let[l,...c]=a[o].split(":"),u=c.join(":");u&&(s[l]=u)}if(!s.loading||s.loading==="0")e(null,s);else{let o=(s.loading_eta_seconds||1)*1e3,l=t.options.maxLoadingRetryTime&&t.options.maxLoadingRetryTime<o?t.options.maxLoadingRetryTime:o;vr("Redis server still loading, trying again in "+l+"ms"),setTimeout(function(){t._readyCheck(e)},l)}}).catch(gr.noop)}};Kr.Cluster=gw.default;Kr.Command=Fr.default;Kr.defaultOptions=ay.DEFAULT_REDIS_OPTIONS;(0,kw.default)(Kr,sy.EventEmitter);(0,Ew.addTransactionSupport)(Kr.prototype);Dc.default=Kr});var hs=y((Se,ly)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.print=Se.ReplyError=Se.SentinelIterator=Se.SentinelConnector=Se.AbstractConnector=Se.Pipeline=Se.ScanStream=Se.Command=Se.Cluster=Se.Redis=Se.default=void 0;Se=ly.exports=Zt().default;var xw=Zt();Object.defineProperty(Se,"default",{enumerable:!0,get:function(){return xw.default}});var ww=Zt();Object.defineProperty(Se,"Redis",{enumerable:!0,get:function(){return ww.default}});var Tw=sc();Object.defineProperty(Se,"Cluster",{enumerable:!0,get:function(){return Tw.default}});var jw=Ht();Object.defineProperty(Se,"Command",{enumerable:!0,get:function(){return jw.default}});var Aw=es();Object.defineProperty(Se,"ScanStream",{enumerable:!0,get:function(){return Aw.default}});var Dw=Jl();Object.defineProperty(Se,"Pipeline",{enumerable:!0,get:function(){return Dw.default}});var Rw=cs();Object.defineProperty(Se,"AbstractConnector",{enumerable:!0,get:function(){return Rw.default}});var oy=ds();Object.defineProperty(Se,"SentinelConnector",{enumerable:!0,get:function(){return oy.default}});Object.defineProperty(Se,"SentinelIterator",{enumerable:!0,get:function(){return oy.SentinelIterator}});Se.ReplyError=Lr().ReplyError;Object.defineProperty(Se,"Promise",{get(){return console.warn("ioredis v5 does not support plugging third-party Promise library anymore. Native Promise will be used."),Promise},set(r){console.warn("ioredis v5 does not support plugging third-party Promise library anymore. Native Promise will be used.")}});function Ow(r,e){console.log(r?"Error: "+r:"Reply: "+e)}Se.print=Ow});var He={};qE(He,{__addDisposableResource:()=>Cy,__assign:()=>ms,__asyncDelegator:()=>xy,__asyncGenerator:()=>Iy,__asyncValues:()=>wy,__await:()=>An,__awaiter:()=>gy,__classPrivateFieldGet:()=>Dy,__classPrivateFieldIn:()=>Oy,__classPrivateFieldSet:()=>Ry,__createBinding:()=>gs,__decorate:()=>dy,__disposeResources:()=>_y,__esDecorate:()=>py,__exportStar:()=>Ky,__extends:()=>cy,__generator:()=>vy,__importDefault:()=>Ay,__importStar:()=>jy,__makeTemplateObject:()=>Ty,__metadata:()=>by,__param:()=>fy,__propKey:()=>hy,__read:()=>Cc,__rest:()=>uy,__rewriteRelativeImportExtension:()=>My,__runInitializers:()=>yy,__setFunctionName:()=>my,__spread:()=>Sy,__spreadArray:()=>ky,__spreadArrays:()=>Ey,__values:()=>bs,default:()=>Mw});function cy(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Rc(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function uy(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t}function dy(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var o=r.length-1;o>=0;o--)(a=r[o])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s}function fy(r,e){return function(t,n){e(t,n,r)}}function py(r,e,t,n,i,s){function a(E){if(E!==void 0&&typeof E!="function")throw new TypeError("Function expected");return E}for(var o=n.kind,l=o==="getter"?"get":o==="setter"?"set":"value",c=!e&&r?n.static?r:r.prototype:null,u=e||(c?Object.getOwnPropertyDescriptor(c,n.name):{}),d,p=!1,f=t.length-1;f>=0;f--){var h={};for(var g in n)h[g]=g==="access"?{}:n[g];for(var g in n.access)h.access[g]=n.access[g];h.addInitializer=function(E){if(p)throw new TypeError("Cannot add initializers after decoration has completed");s.push(a(E||null))};var k=(0,t[f])(o==="accessor"?{get:u.get,set:u.set}:u[l],h);if(o==="accessor"){if(k===void 0)continue;if(k===null||typeof k!="object")throw new TypeError("Object expected");(d=a(k.get))&&(u.get=d),(d=a(k.set))&&(u.set=d),(d=a(k.init))&&i.unshift(d)}else(d=a(k))&&(o==="field"?i.unshift(d):u[l]=d)}c&&Object.defineProperty(c,n.name,u),p=!0}function yy(r,e,t){for(var n=arguments.length>2,i=0;i<e.length;i++)t=n?e[i].call(r,t):e[i].call(r);return n?t:void 0}function hy(r){return typeof r=="symbol"?r:"".concat(r)}function my(r,e,t){return typeof e=="symbol"&&(e=e.description?"[".concat(e.description,"]"):""),Object.defineProperty(r,"name",{configurable:!0,value:t?"".concat(t," ",e):e})}function by(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function gy(r,e,t,n){function i(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(d){a(d)}}function l(u){try{c(n.throw(u))}catch(d){a(d)}}function c(u){u.done?s(u.value):i(u.value).then(o,l)}c((n=n.apply(r,e||[])).next())})}function vy(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=o(0),a.throw=o(1),a.return=o(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(c){return function(u){return l([c,u])}}function l(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(t=0)),t;)try{if(n=1,i&&(s=c[0]&2?i.return:c[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,c[1])).done)return s;switch(i=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,i=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){t.label=c[1];break}if(c[0]===6&&t.label<s[1]){t.label=s[1],s=c;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(c);break}s[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(r,t)}catch(u){c=[6,u],i=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function Ky(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&gs(e,r,t)}function bs(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Cc(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),i,s=[],a;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(o){a={error:o}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(a)throw a.error}}return s}function Sy(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(Cc(arguments[e]));return r}function Ey(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var n=Array(r),i=0,e=0;e<t;e++)for(var s=arguments[e],a=0,o=s.length;a<o;a++,i++)n[i]=s[a];return n}function ky(r,e,t){if(t||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return r.concat(s||Array.prototype.slice.call(e))}function An(r){return this instanceof An?(this.v=r,this):new An(r)}function Iy(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),o("next"),o("throw"),o("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(f){return function(h){return Promise.resolve(h).then(f,d)}}function o(f,h){n[f]&&(i[f]=function(g){return new Promise(function(k,E){s.push([f,g,k,E])>1||l(f,g)})},h&&(i[f]=h(i[f])))}function l(f,h){try{c(n[f](h))}catch(g){p(s[0][3],g)}}function c(f){f.value instanceof An?Promise.resolve(f.value.v).then(u,d):p(s[0][2],f)}function u(f){l("next",f)}function d(f){l("throw",f)}function p(f,h){f(h),s.shift(),s.length&&l(s[0][0],s[0][1])}}function xy(r){var e,t;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,s){e[i]=r[i]?function(a){return(t=!t)?{value:An(r[i](a)),done:!1}:s?s(a):a}:s}}function wy(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof bs=="function"?bs(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(s){t[s]=r[s]&&function(a){return new Promise(function(o,l){a=r[s](a),i(o,l,a.done,a.value)})}}function i(s,a,o,l){Promise.resolve(l).then(function(c){s({value:c,done:o})},a)}}function Ty(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function jy(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t=Oc(r),n=0;n<t.length;n++)t[n]!=="default"&&gs(e,r,t[n]);return Cw(e,r),e}function Ay(r){return r&&r.__esModule?r:{default:r}}function Dy(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)}function Ry(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t}function Oy(r,e){if(e===null||typeof e!="object"&&typeof e!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof r=="function"?e===r:r.has(e)}function Cy(r,e,t){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var n,i;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=e[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=e[Symbol.dispose],t&&(i=n)}if(typeof n!="function")throw new TypeError("Object not disposable.");i&&(n=function(){try{i.call(this)}catch(s){return Promise.reject(s)}}),r.stack.push({value:e,dispose:n,async:t})}else t&&r.stack.push({async:!0});return e}function _y(r){function e(s){r.error=r.hasError?new _w(s,r.error,"An error was suppressed during disposal."):s,r.hasError=!0}var t,n=0;function i(){for(;t=r.stack.pop();)try{if(!t.async&&n===1)return n=0,r.stack.push(t),Promise.resolve().then(i);if(t.dispose){var s=t.dispose.call(t.value);if(t.async)return n|=2,Promise.resolve(s).then(i,function(a){return e(a),i()})}else n|=1}catch(a){e(a)}if(n===1)return r.hasError?Promise.reject(r.error):Promise.resolve();if(r.hasError)throw r.error}return i()}function My(r,e){return typeof r=="string"&&/^\.\.?\//.test(r)?r.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(t,n,i,s,a){return n?e?".jsx":".js":i&&(!s||!a)?t:i+s+"."+a.toLowerCase()+"js"}):r}var Rc,ms,gs,Cw,Oc,_w,Mw,Qe=LE(()=>{Rc=function(r,e){return Rc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])},Rc(r,e)};ms=function(){return ms=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},ms.apply(this,arguments)};gs=Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]});Cw=Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e},Oc=function(r){return Oc=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},Oc(r)};_w=typeof SuppressedError=="function"?SuppressedError:function(r,e,t){var n=new Error(t);return n.name="SuppressedError",n.error=r,n.suppressed=e,n};Mw={__extends:cy,__assign:ms,__rest:uy,__decorate:dy,__param:fy,__esDecorate:py,__runInitializers:yy,__propKey:hy,__setFunctionName:my,__metadata:by,__awaiter:gy,__generator:vy,__createBinding:gs,__exportStar:Ky,__values:bs,__read:Cc,__spread:Sy,__spreadArrays:Ey,__spreadArray:ky,__await:An,__asyncGenerator:Iy,__asyncDelegator:xy,__asyncValues:wy,__makeTemplateObject:Ty,__importStar:jy,__importDefault:Ay,__classPrivateFieldGet:Dy,__classPrivateFieldSet:Ry,__classPrivateFieldIn:Oy,__addDisposableResource:Cy,__disposeResources:_y,__rewriteRelativeImportExtension:My}});var Nc=y(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.AsyncFifoQueue=void 0;var _c=class{constructor(e){this.value=void 0,this.next=null,this.value=e}},Mc=class{constructor(){this.length=0,this.head=null,this.tail=null}push(e){let t=new _c(e);return this.length?this.tail.next=t:this.head=t,this.tail=t,this.length+=1,t}shift(){if(this.length){let e=this.head;return this.head=this.head.next,this.length-=1,e}else return null}},Pc=class{constructor(e=!1){this.ignoreErrors=e,this.queue=new Mc,this.pending=new Set,this.newPromise()}add(e){this.pending.add(e),e.then(t=>{this.pending.delete(e),this.queue.length===0&&this.resolvePromise(t),this.queue.push(t)}).catch(t=>{this.ignoreErrors&&this.queue.push(void 0),this.pending.delete(e),this.rejectPromise(t)})}async waitAll(){await Promise.all(this.pending)}numTotal(){return this.pending.size+this.queue.length}numPending(){return this.pending.size}numQueued(){return this.queue.length}resolvePromise(e){this.resolve(e),this.newPromise()}rejectPromise(e){this.reject(e),this.newPromise()}newPromise(){this.nextPromise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}async wait(){return this.nextPromise}async fetch(){var e;if(!(this.pending.size===0&&this.queue.length===0)){for(;this.queue.length===0;)try{await this.wait()}catch(t){this.ignoreErrors||console.error("Unexpected Error in AsyncFifoQueue",t)}return(e=this.queue.shift())===null||e===void 0?void 0:e.value}}};vs.AsyncFifoQueue=Pc});var Lc=y(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.Backoffs=void 0;var Dn=class{static normalize(e){if(Number.isFinite(e))return{type:"fixed",delay:e};if(e)return e}static calculate(e,t,n,i,s){if(e)return Pw(e,s)(t,e.type,n,i)}};Ks.Backoffs=Dn;Dn.builtinStrategies={fixed:function(r,e=0){return function(){if(e>0){let t=r*(1-e);return Math.floor(Math.random()*r*e+t)}else return r}},exponential:function(r,e=0){return function(t){if(e>0){let n=Math.round(Math.pow(2,t-1)*r),i=n*(1-e);return Math.floor(Math.random()*n*e+i)}else return Math.round(Math.pow(2,t-1)*r)}}};function Pw(r,e){if(r.type in Dn.builtinStrategies)return Dn.builtinStrategies[r.type](r.delay,r.jitter);if(e)return e;throw new Error(`Unknown backoff strategy ${r.type}.
|
|
161
|
-
If a custom backoff strategy is used, specify it when the queue is created.`)}});var Ny=y(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.ChildCommand=void 0;var Py;(function(r){r[r.Init=0]="Init",r[r.Start=1]="Start",r[r.Stop=2]="Stop",r[r.GetChildrenValuesResponse=3]="GetChildrenValuesResponse",r[r.GetIgnoredChildrenFailuresResponse=4]="GetIgnoredChildrenFailuresResponse",r[r.GetDependenciesCountResponse=5]="GetDependenciesCountResponse",r[r.MoveToWaitingChildrenResponse=6]="MoveToWaitingChildrenResponse",r[r.Cancel=7]="Cancel",r[r.GetDependenciesResponse=8]="GetDependenciesResponse"})(Py||(Ss.ChildCommand=Py={}))});var qy=y(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.ErrorCode=void 0;var Ly;(function(r){r[r.JobNotExist=-1]="JobNotExist",r[r.JobLockNotExist=-2]="JobLockNotExist",r[r.JobNotInState=-3]="JobNotInState",r[r.JobPendingChildren=-4]="JobPendingChildren",r[r.ParentJobNotExist=-5]="ParentJobNotExist",r[r.JobLockMismatch=-6]="JobLockMismatch",r[r.ParentJobCannotBeReplaced=-7]="ParentJobCannotBeReplaced",r[r.JobBelongsToJobScheduler=-8]="JobBelongsToJobScheduler",r[r.JobHasFailedChildren=-9]="JobHasFailedChildren",r[r.SchedulerJobIdCollision=-10]="SchedulerJobIdCollision",r[r.SchedulerJobSlotsBusy=-11]="SchedulerJobSlotsBusy"})(Ly||(Es.ErrorCode=Ly={}))});var Fy=y(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.ParentCommand=void 0;var Jy;(function(r){r[r.Completed=0]="Completed",r[r.Error=1]="Error",r[r.Failed=2]="Failed",r[r.InitFailed=3]="InitFailed",r[r.InitCompleted=4]="InitCompleted",r[r.Log=5]="Log",r[r.MoveToDelayed=6]="MoveToDelayed",r[r.MoveToWait=7]="MoveToWait",r[r.Progress=8]="Progress",r[r.Update=9]="Update",r[r.GetChildrenValues=10]="GetChildrenValues",r[r.GetIgnoredChildrenFailures=11]="GetIgnoredChildrenFailures",r[r.GetDependenciesCount=12]="GetDependenciesCount",r[r.MoveToWaitingChildren=13]="MoveToWaitingChildren",r[r.GetDependencies=14]="GetDependencies"})(Jy||(ks.ParentCommand=Jy={}))});var Gy=y(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.MetricsTime=void 0;var Vy;(function(r){r[r.ONE_MINUTE=1]="ONE_MINUTE",r[r.FIVE_MINUTES=5]="FIVE_MINUTES",r[r.FIFTEEN_MINUTES=15]="FIFTEEN_MINUTES",r[r.THIRTY_MINUTES=30]="THIRTY_MINUTES",r[r.ONE_HOUR=60]="ONE_HOUR",r[r.ONE_WEEK=10080]="ONE_WEEK",r[r.TWO_WEEKS=20160]="TWO_WEEKS",r[r.ONE_MONTH=80640]="ONE_MONTH"})(Vy||(Is.MetricsTime=Vy={}))});var Uy=y(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.SpanKind=Sr.MetricNames=Sr.TelemetryAttributes=void 0;var Yy;(function(r){r.QueueName="bullmq.queue.name",r.QueueOperation="bullmq.queue.operation",r.BulkCount="bullmq.job.bulk.count",r.BulkNames="bullmq.job.bulk.names",r.JobName="bullmq.job.name",r.JobId="bullmq.job.id",r.JobKey="bullmq.job.key",r.JobIds="bullmq.job.ids",r.JobAttemptsMade="bullmq.job.attempts.made",r.DeduplicationKey="bullmq.job.deduplication.key",r.JobOptions="bullmq.job.options",r.JobProgress="bullmq.job.progress",r.QueueDrainDelay="bullmq.queue.drain.delay",r.QueueGrace="bullmq.queue.grace",r.QueueCleanLimit="bullmq.queue.clean.limit",r.QueueRateLimit="bullmq.queue.rate.limit",r.JobType="bullmq.job.type",r.QueueOptions="bullmq.queue.options",r.QueueEventMaxLength="bullmq.queue.event.max.length",r.QueueJobsState="bullmq.queue.jobs.state",r.WorkerOptions="bullmq.worker.options",r.WorkerName="bullmq.worker.name",r.WorkerId="bullmq.worker.id",r.WorkerRateLimit="bullmq.worker.rate.limit",r.WorkerDoNotWaitActive="bullmq.worker.do.not.wait.active",r.WorkerForceClose="bullmq.worker.force.close",r.WorkerStalledJobs="bullmq.worker.stalled.jobs",r.WorkerFailedJobs="bullmq.worker.failed.jobs",r.WorkerJobsToExtendLocks="bullmq.worker.jobs.to.extend.locks",r.JobFinishedTimestamp="bullmq.job.finished.timestamp",r.JobAttemptFinishedTimestamp="bullmq.job.attempt_finished_timestamp",r.JobProcessedTimestamp="bullmq.job.processed.timestamp",r.JobResult="bullmq.job.result",r.JobFailedReason="bullmq.job.failed.reason",r.FlowName="bullmq.flow.name",r.JobSchedulerId="bullmq.job.scheduler.id",r.JobStatus="bullmq.job.status"})(Yy||(Sr.TelemetryAttributes=Yy={}));var By;(function(r){r.QueueJobsCount="bullmq.queue.jobs",r.JobsCompleted="bullmq.jobs.completed",r.JobsFailed="bullmq.jobs.failed",r.JobsDelayed="bullmq.jobs.delayed",r.JobsRetried="bullmq.jobs.retried",r.JobsWaiting="bullmq.jobs.waiting",r.JobsWaitingChildren="bullmq.jobs.waiting_children",r.JobDuration="bullmq.job.duration"})(By||(Sr.MetricNames=By={}));var Wy;(function(r){r[r.INTERNAL=0]="INTERNAL",r[r.SERVER=1]="SERVER",r[r.CLIENT=2]="CLIENT",r[r.PRODUCER=3]="PRODUCER",r[r.CONSUMER=4]="CONSUMER"})(Wy||(Sr.SpanKind=Wy={}))});var st=y(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});var li=(Qe(),nt(He));li.__exportStar(Ny(),Gr);li.__exportStar(qy(),Gr);li.__exportStar(Fy(),Gr);li.__exportStar(Gy(),Gr);li.__exportStar(Uy(),Gr)});var Jc=y(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.Child=void 0;var Nw=Y("child_process"),Lw=Y("net"),qw=Y("worker_threads"),xs=st(),Jw=Y("events"),Fw={1:"Uncaught Fatal Exception",2:"Unused",3:"Internal JavaScript Parse Error",4:"Internal JavaScript Evaluation Failure",5:"Fatal Error",6:"Non-function Internal Exception Handler",7:"Internal Exception Handler Run-Time Failure",8:"Unused",9:"Invalid Argument",10:"Internal JavaScript Run-Time Failure",12:"Invalid Debug Argument",13:"Unfinished Top-Level Await"},qc=class extends Jw.EventEmitter{constructor(e,t,n={useWorkerThreads:!1}){super(),this.mainFile=e,this.processFile=t,this.opts=n,this._exitCode=null,this._signalCode=null,this._killed=!1}get pid(){if(this.childProcess)return this.childProcess.pid;if(this.worker)return Math.abs(this.worker.threadId);throw new Error("No child process or worker thread")}get exitCode(){return this._exitCode}get signalCode(){return this._signalCode}get killed(){return this.childProcess?this.childProcess.killed:this._killed}async init(){let e=await Yw(process.execArgv),t;this.opts.useWorkerThreads?this.worker=t=new qw.Worker(this.mainFile,Object.assign({execArgv:e,stdin:!0,stdout:!0,stderr:!0},this.opts.workerThreadsOptions?this.opts.workerThreadsOptions:{})):this.childProcess=t=(0,Nw.fork)(this.mainFile,[],Object.assign({execArgv:e,stdio:"pipe"},this.opts.workerForkOptions?this.opts.workerForkOptions:{})),t.on("exit",(n,i)=>{this._exitCode=n,i=typeof i>"u"?null:i,this._signalCode=i,this._killed=!0,this.emit("exit",n,i),t.removeAllListeners(),this.removeAllListeners()}),t.on("error",(...n)=>this.emit("error",...n)),t.on("message",(...n)=>this.emit("message",...n)),t.on("close",(...n)=>this.emit("close",...n)),t.stdout.pipe(process.stdout),t.stderr.pipe(process.stderr),await this.initChild()}async send(e){return new Promise((t,n)=>{this.childProcess?this.childProcess.send(e,i=>{i?n(i):t()}):this.worker?t(this.worker.postMessage(e)):t()})}killProcess(e="SIGKILL"){this.childProcess?this.childProcess.kill(e):this.worker&&this.worker.terminate()}async kill(e="SIGKILL",t){if(this.hasProcessExited())return;let n=Vw(this.childProcess||this.worker);if(this.killProcess(e),t!==void 0&&(t===0||isFinite(t))){let i=setTimeout(()=>{this.hasProcessExited()||this.killProcess("SIGKILL")},t);await n,clearTimeout(i)}await n}async initChild(){let e=new Promise((t,n)=>{let i=a=>{if(Object.values(xs.ParentCommand).includes(a.cmd)){if(a.cmd===xs.ParentCommand.InitCompleted)t();else if(a.cmd===xs.ParentCommand.InitFailed){let o=new Error;o.stack=a.err.stack,o.message=a.err.message,n(o)}this.off("message",i),this.off("close",s)}},s=(a,o)=>{a>128&&(a-=128);let l=Fw[a]||`Unknown exit code ${a}`;n(new Error(`Error initializing child: ${l} and signal ${o}`)),this.off("message",i),this.off("close",s)};this.on("message",i),this.on("close",s)});await this.send({cmd:xs.ChildCommand.Init,value:this.processFile}),await e}hasProcessExited(){return!!(this.exitCode!==null||this.signalCode)}};ws.Child=qc;function Vw(r){return new Promise(e=>{r.once("exit",()=>e())})}var Gw=async()=>new Promise(r=>{let e=(0,Lw.createServer)();e.listen(0,()=>{let{port:t}=e.address();e.close(()=>r(t))})}),Yw=async r=>{let e=[],t=[];for(let n=0;n<r.length;n++){let i=r[n];if(i.indexOf("--inspect")===-1)e.push(i);else{let s=i.split("=")[0],a=await Gw();t.push(`${s}=${a}`)}}return e.concat(t)}});var Gc=y((Ts,Vc)=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.ChildPool=void 0;var zy=Y("path"),Bw=Jc(),Ww=3e4,Uw=()=>typeof Y=="function"&&typeof Vc=="object"&&typeof Vc.exports=="object",Fc=class{constructor({mainFile:e=Uw()?zy.join(process.cwd(),"dist/cjs/classes/main.js"):zy.join(process.cwd(),"dist/esm/classes/main.js"),useWorkerThreads:t,workerForkOptions:n,workerThreadsOptions:i}){this.retained={},this.free={},this.opts={mainFile:e,useWorkerThreads:t,workerForkOptions:n,workerThreadsOptions:i}}async retain(e){let t=this.getFree(e).pop();if(t)return this.retained[t.pid]=t,t;t=new Bw.Child(this.opts.mainFile,e,{useWorkerThreads:this.opts.useWorkerThreads,workerForkOptions:this.opts.workerForkOptions,workerThreadsOptions:this.opts.workerThreadsOptions}),t.on("exit",this.remove.bind(this,t));try{if(await t.init(),t.exitCode!==null||t.signalCode!==null)throw new Error("Child exited before it could be retained");return this.retained[t.pid]=t,t}catch(n){throw console.error(n),this.release(t),n}}release(e){delete this.retained[e.pid],this.getFree(e.processFile).push(e)}remove(e){delete this.retained[e.pid];let t=this.getFree(e.processFile),n=t.indexOf(e);n>-1&&t.splice(n,1)}async kill(e,t="SIGKILL"){return this.remove(e),e.kill(t,Ww)}async clean(){let e=Object.values(this.retained).concat(this.getAllFree());this.retained={},this.free={},await Promise.all(e.map(t=>this.kill(t,"SIGTERM")))}getFree(e){return this.free[e]=this.free[e]||[]}getAllFree(){return Object.values(this.free).reduce((e,t)=>e.concat(t),[])}};Ts.ChildPool=Fc});var Hy=y((cP,$y)=>{var{EventEmitter:zw}=Y("events"),js=class{constructor(){this.eventEmitter=new zw,this.onabort=null,this.aborted=!1,this.reason=void 0}toString(){return"[object AbortSignal]"}get[Symbol.toStringTag](){return"AbortSignal"}removeEventListener(e,t){this.eventEmitter.removeListener(e,t)}addEventListener(e,t){this.eventEmitter.on(e,t)}dispatchEvent(e){let t={type:e,target:this},n=`on${e}`;typeof this[n]=="function"&&this[n](t),this.eventEmitter.emit(e,t)}throwIfAborted(){if(this.aborted)throw this.reason}static abort(e){let t=new ci;return t.abort(),t.signal}static timeout(e){let t=new ci;return setTimeout(()=>t.abort(new Error("TimeoutError")),e),t.signal}},ci=class{constructor(){this.signal=new js}abort(e){this.signal.aborted||(this.signal.aborted=!0,e?this.signal.reason=e:this.signal.reason=new Error("AbortError"),this.signal.dispatchEvent("abort"))}toString(){return"[object AbortController]"}get[Symbol.toStringTag](){return"AbortController"}};$y.exports={AbortController:ci,AbortSignal:js}});var Ds=y(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.AbortController=void 0;var $w=Hy(),Yc;globalThis.AbortController?Yc=globalThis.AbortController:Yc=$w.AbortController;var Bc=class extends Yc{};As.AbortController=Bc});var ui=y((dP,Qy)=>{"use strict";var Hw="2.0.0",Qw=Number.MAX_SAFE_INTEGER||9007199254740991,Zw=16,Xw=250,e1=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Qy.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Zw,MAX_SAFE_BUILD_LENGTH:Xw,MAX_SAFE_INTEGER:Qw,RELEASE_TYPES:e1,SEMVER_SPEC_VERSION:Hw,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var di=y((fP,Zy)=>{"use strict";var t1=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};Zy.exports=t1});var Rn=y((Jt,Xy)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Wc,MAX_SAFE_BUILD_LENGTH:r1,MAX_LENGTH:n1}=ui(),i1=di();Jt=Xy.exports={};var s1=Jt.re=[],a1=Jt.safeRe=[],J=Jt.src=[],o1=Jt.safeSrc=[],F=Jt.t={},l1=0,Uc="[a-zA-Z0-9-]",c1=[["\\s",1],["\\d",n1],[Uc,r1]],u1=r=>{for(let[e,t]of c1)r=r.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return r},ee=(r,e,t)=>{let n=u1(e),i=l1++;i1(r,i,e),F[r]=i,J[i]=e,o1[i]=n,s1[i]=new RegExp(e,t?"g":void 0),a1[i]=new RegExp(n,t?"g":void 0)};ee("NUMERICIDENTIFIER","0|[1-9]\\d*");ee("NUMERICIDENTIFIERLOOSE","\\d+");ee("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Uc}*`);ee("MAINVERSION",`(${J[F.NUMERICIDENTIFIER]})\\.(${J[F.NUMERICIDENTIFIER]})\\.(${J[F.NUMERICIDENTIFIER]})`);ee("MAINVERSIONLOOSE",`(${J[F.NUMERICIDENTIFIERLOOSE]})\\.(${J[F.NUMERICIDENTIFIERLOOSE]})\\.(${J[F.NUMERICIDENTIFIERLOOSE]})`);ee("PRERELEASEIDENTIFIER",`(?:${J[F.NONNUMERICIDENTIFIER]}|${J[F.NUMERICIDENTIFIER]})`);ee("PRERELEASEIDENTIFIERLOOSE",`(?:${J[F.NONNUMERICIDENTIFIER]}|${J[F.NUMERICIDENTIFIERLOOSE]})`);ee("PRERELEASE",`(?:-(${J[F.PRERELEASEIDENTIFIER]}(?:\\.${J[F.PRERELEASEIDENTIFIER]})*))`);ee("PRERELEASELOOSE",`(?:-?(${J[F.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${J[F.PRERELEASEIDENTIFIERLOOSE]})*))`);ee("BUILDIDENTIFIER",`${Uc}+`);ee("BUILD",`(?:\\+(${J[F.BUILDIDENTIFIER]}(?:\\.${J[F.BUILDIDENTIFIER]})*))`);ee("FULLPLAIN",`v?${J[F.MAINVERSION]}${J[F.PRERELEASE]}?${J[F.BUILD]}?`);ee("FULL",`^${J[F.FULLPLAIN]}$`);ee("LOOSEPLAIN",`[v=\\s]*${J[F.MAINVERSIONLOOSE]}${J[F.PRERELEASELOOSE]}?${J[F.BUILD]}?`);ee("LOOSE",`^${J[F.LOOSEPLAIN]}$`);ee("GTLT","((?:<|>)?=?)");ee("XRANGEIDENTIFIERLOOSE",`${J[F.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);ee("XRANGEIDENTIFIER",`${J[F.NUMERICIDENTIFIER]}|x|X|\\*`);ee("XRANGEPLAIN",`[v=\\s]*(${J[F.XRANGEIDENTIFIER]})(?:\\.(${J[F.XRANGEIDENTIFIER]})(?:\\.(${J[F.XRANGEIDENTIFIER]})(?:${J[F.PRERELEASE]})?${J[F.BUILD]}?)?)?`);ee("XRANGEPLAINLOOSE",`[v=\\s]*(${J[F.XRANGEIDENTIFIERLOOSE]})(?:\\.(${J[F.XRANGEIDENTIFIERLOOSE]})(?:\\.(${J[F.XRANGEIDENTIFIERLOOSE]})(?:${J[F.PRERELEASELOOSE]})?${J[F.BUILD]}?)?)?`);ee("XRANGE",`^${J[F.GTLT]}\\s*${J[F.XRANGEPLAIN]}$`);ee("XRANGELOOSE",`^${J[F.GTLT]}\\s*${J[F.XRANGEPLAINLOOSE]}$`);ee("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Wc}})(?:\\.(\\d{1,${Wc}}))?(?:\\.(\\d{1,${Wc}}))?`);ee("COERCE",`${J[F.COERCEPLAIN]}(?:$|[^\\d])`);ee("COERCEFULL",J[F.COERCEPLAIN]+`(?:${J[F.PRERELEASE]})?(?:${J[F.BUILD]})?(?:$|[^\\d])`);ee("COERCERTL",J[F.COERCE],!0);ee("COERCERTLFULL",J[F.COERCEFULL],!0);ee("LONETILDE","(?:~>?)");ee("TILDETRIM",`(\\s*)${J[F.LONETILDE]}\\s+`,!0);Jt.tildeTrimReplace="$1~";ee("TILDE",`^${J[F.LONETILDE]}${J[F.XRANGEPLAIN]}$`);ee("TILDELOOSE",`^${J[F.LONETILDE]}${J[F.XRANGEPLAINLOOSE]}$`);ee("LONECARET","(?:\\^)");ee("CARETTRIM",`(\\s*)${J[F.LONECARET]}\\s+`,!0);Jt.caretTrimReplace="$1^";ee("CARET",`^${J[F.LONECARET]}${J[F.XRANGEPLAIN]}$`);ee("CARETLOOSE",`^${J[F.LONECARET]}${J[F.XRANGEPLAINLOOSE]}$`);ee("COMPARATORLOOSE",`^${J[F.GTLT]}\\s*(${J[F.LOOSEPLAIN]})$|^$`);ee("COMPARATOR",`^${J[F.GTLT]}\\s*(${J[F.FULLPLAIN]})$|^$`);ee("COMPARATORTRIM",`(\\s*)${J[F.GTLT]}\\s*(${J[F.LOOSEPLAIN]}|${J[F.XRANGEPLAIN]})`,!0);Jt.comparatorTrimReplace="$1$2$3";ee("HYPHENRANGE",`^\\s*(${J[F.XRANGEPLAIN]})\\s+-\\s+(${J[F.XRANGEPLAIN]})\\s*$`);ee("HYPHENRANGELOOSE",`^\\s*(${J[F.XRANGEPLAINLOOSE]})\\s+-\\s+(${J[F.XRANGEPLAINLOOSE]})\\s*$`);ee("STAR","(<|>)?=?\\s*\\*");ee("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");ee("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var Rs=y((pP,eh)=>{"use strict";var d1=Object.freeze({loose:!0}),f1=Object.freeze({}),p1=r=>r?typeof r!="object"?d1:r:f1;eh.exports=p1});var zc=y((yP,nh)=>{"use strict";var th=/^[0-9]+$/,rh=(r,e)=>{if(typeof r=="number"&&typeof e=="number")return r===e?0:r<e?-1:1;let t=th.test(r),n=th.test(e);return t&&n&&(r=+r,e=+e),r===e?0:t&&!n?-1:n&&!t?1:r<e?-1:1},y1=(r,e)=>rh(e,r);nh.exports={compareIdentifiers:rh,rcompareIdentifiers:y1}});var Be=y((hP,sh)=>{"use strict";var Os=di(),{MAX_LENGTH:ih,MAX_SAFE_INTEGER:Cs}=ui(),{safeRe:_s,t:Ms}=Rn(),h1=Rs(),{compareIdentifiers:$c}=zc(),Hc=class r{constructor(e,t){if(t=h1(t),e instanceof r){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>ih)throw new TypeError(`version is longer than ${ih} characters`);Os("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let n=e.trim().match(t.loose?_s[Ms.LOOSE]:_s[Ms.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Cs||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Cs||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Cs||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){let s=+i;if(s>=0&&s<Cs)return s}return i}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(Os("SemVer.compare",this.version,this.options,e),!(e instanceof r)){if(typeof e=="string"&&e===this.version)return 0;e=new r(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof r||(e=new r(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof r||(e=new r(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let n=this.prerelease[t],i=e.prerelease[t];if(Os("prerelease compare",t,n,i),n===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(n===void 0)return-1;if(n===i)continue;return $c(n,i)}while(++t)}compareBuild(e){e instanceof r||(e=new r(e,this.options));let t=0;do{let n=this.build[t],i=e.build[t];if(Os("build compare",t,n,i),n===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(n===void 0)return-1;if(n===i)continue;return $c(n,i)}while(++t)}inc(e,t,n){if(e.startsWith("pre")){if(!t&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let i=`-${t}`.match(this.options.loose?_s[Ms.PRERELEASELOOSE]:_s[Ms.PRERELEASE]);if(!i||i[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,n),this.inc("pre",t,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let i=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[i];else{let s=this.prerelease.length;for(;--s>=0;)typeof this.prerelease[s]=="number"&&(this.prerelease[s]++,s=-2);if(s===-1){if(t===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(t){let s=[t,i];n===!1&&(s=[t]),$c(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=s):this.prerelease=s}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};sh.exports=Hc});var Yr=y((mP,oh)=>{"use strict";var ah=Be(),m1=(r,e,t=!1)=>{if(r instanceof ah)return r;try{return new ah(r,e)}catch(n){if(!t)return null;throw n}};oh.exports=m1});var ch=y((bP,lh)=>{"use strict";var b1=Yr(),g1=(r,e)=>{let t=b1(r,e);return t?t.version:null};lh.exports=g1});var dh=y((gP,uh)=>{"use strict";var v1=Yr(),K1=(r,e)=>{let t=v1(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};uh.exports=K1});var yh=y((vP,ph)=>{"use strict";var fh=Be(),S1=(r,e,t,n,i)=>{typeof t=="string"&&(i=n,n=t,t=void 0);try{return new fh(r instanceof fh?r.version:r,t).inc(e,n,i).version}catch{return null}};ph.exports=S1});var bh=y((KP,mh)=>{"use strict";var hh=Yr(),E1=(r,e)=>{let t=hh(r,null,!0),n=hh(e,null,!0),i=t.compare(n);if(i===0)return null;let s=i>0,a=s?t:n,o=s?n:t,l=!!a.prerelease.length;if(!!o.prerelease.length&&!l){if(!o.patch&&!o.minor)return"major";if(o.compareMain(a)===0)return o.minor&&!o.patch?"minor":"patch"}let u=l?"pre":"";return t.major!==n.major?u+"major":t.minor!==n.minor?u+"minor":t.patch!==n.patch?u+"patch":"prerelease"};mh.exports=E1});var vh=y((SP,gh)=>{"use strict";var k1=Be(),I1=(r,e)=>new k1(r,e).major;gh.exports=I1});var Sh=y((EP,Kh)=>{"use strict";var x1=Be(),w1=(r,e)=>new x1(r,e).minor;Kh.exports=w1});var kh=y((kP,Eh)=>{"use strict";var T1=Be(),j1=(r,e)=>new T1(r,e).patch;Eh.exports=j1});var xh=y((IP,Ih)=>{"use strict";var A1=Yr(),D1=(r,e)=>{let t=A1(r,e);return t&&t.prerelease.length?t.prerelease:null};Ih.exports=D1});var St=y((xP,Th)=>{"use strict";var wh=Be(),R1=(r,e,t)=>new wh(r,t).compare(new wh(e,t));Th.exports=R1});var Ah=y((wP,jh)=>{"use strict";var O1=St(),C1=(r,e,t)=>O1(e,r,t);jh.exports=C1});var Rh=y((TP,Dh)=>{"use strict";var _1=St(),M1=(r,e)=>_1(r,e,!0);Dh.exports=M1});var Ps=y((jP,Ch)=>{"use strict";var Oh=Be(),P1=(r,e,t)=>{let n=new Oh(r,t),i=new Oh(e,t);return n.compare(i)||n.compareBuild(i)};Ch.exports=P1});var Mh=y((AP,_h)=>{"use strict";var N1=Ps(),L1=(r,e)=>r.sort((t,n)=>N1(t,n,e));_h.exports=L1});var Nh=y((DP,Ph)=>{"use strict";var q1=Ps(),J1=(r,e)=>r.sort((t,n)=>q1(n,t,e));Ph.exports=J1});var fi=y((RP,Lh)=>{"use strict";var F1=St(),V1=(r,e,t)=>F1(r,e,t)>0;Lh.exports=V1});var Ns=y((OP,qh)=>{"use strict";var G1=St(),Y1=(r,e,t)=>G1(r,e,t)<0;qh.exports=Y1});var Qc=y((CP,Jh)=>{"use strict";var B1=St(),W1=(r,e,t)=>B1(r,e,t)===0;Jh.exports=W1});var Zc=y((_P,Fh)=>{"use strict";var U1=St(),z1=(r,e,t)=>U1(r,e,t)!==0;Fh.exports=z1});var Ls=y((MP,Vh)=>{"use strict";var $1=St(),H1=(r,e,t)=>$1(r,e,t)>=0;Vh.exports=H1});var qs=y((PP,Gh)=>{"use strict";var Q1=St(),Z1=(r,e,t)=>Q1(r,e,t)<=0;Gh.exports=Z1});var Xc=y((NP,Yh)=>{"use strict";var X1=Qc(),eT=Zc(),tT=fi(),rT=Ls(),nT=Ns(),iT=qs(),sT=(r,e,t,n)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return X1(r,t,n);case"!=":return eT(r,t,n);case">":return tT(r,t,n);case">=":return rT(r,t,n);case"<":return nT(r,t,n);case"<=":return iT(r,t,n);default:throw new TypeError(`Invalid operator: ${e}`)}};Yh.exports=sT});var Wh=y((LP,Bh)=>{"use strict";var aT=Be(),oT=Yr(),{safeRe:Js,t:Fs}=Rn(),lT=(r,e)=>{if(r instanceof aT)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(e.includePrerelease?Js[Fs.COERCEFULL]:Js[Fs.COERCE]);else{let l=e.includePrerelease?Js[Fs.COERCERTLFULL]:Js[Fs.COERCERTL],c;for(;(c=l.exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||c.index+c[0].length!==t.index+t[0].length)&&(t=c),l.lastIndex=c.index+c[1].length+c[2].length;l.lastIndex=-1}if(t===null)return null;let n=t[2],i=t[3]||"0",s=t[4]||"0",a=e.includePrerelease&&t[5]?`-${t[5]}`:"",o=e.includePrerelease&&t[6]?`+${t[6]}`:"";return oT(`${n}.${i}.${s}${a}${o}`,e)};Bh.exports=lT});var zh=y((qP,Uh)=>{"use strict";var eu=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let i=this.map.keys().next().value;this.delete(i)}this.map.set(e,t)}return this}};Uh.exports=eu});var Et=y((JP,Zh)=>{"use strict";var cT=/\s+/g,tu=class r{constructor(e,t){if(t=dT(t),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof ru)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(cT," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(i=>!Hh(i[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let i of this.set)if(i.length===1&&gT(i[0])){this.set=[i];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let t=this.set[e];for(let n=0;n<t.length;n++)n>0&&(this.formatted+=" "),this.formatted+=t[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let n=((this.options.includePrerelease&&mT)|(this.options.loose&&bT))+":"+e,i=$h.get(n);if(i)return i;let s=this.options.loose,a=s?Ze[We.HYPHENRANGELOOSE]:Ze[We.HYPHENRANGE];e=e.replace(a,jT(this.options.includePrerelease)),ke("hyphen replace",e),e=e.replace(Ze[We.COMPARATORTRIM],pT),ke("comparator trim",e),e=e.replace(Ze[We.TILDETRIM],yT),ke("tilde trim",e),e=e.replace(Ze[We.CARETTRIM],hT),ke("caret trim",e);let o=e.split(" ").map(d=>vT(d,this.options)).join(" ").split(/\s+/).map(d=>TT(d,this.options));s&&(o=o.filter(d=>(ke("loose invalid filter",d,this.options),!!d.match(Ze[We.COMPARATORLOOSE])))),ke("range list",o);let l=new Map,c=o.map(d=>new ru(d,this.options));for(let d of c){if(Hh(d))return[d];l.set(d.value,d)}l.size>1&&l.has("")&&l.delete("");let u=[...l.values()];return $h.set(n,u),u}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some(n=>Qh(n,t)&&e.set.some(i=>Qh(i,t)&&n.every(s=>i.every(a=>s.intersects(a,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new fT(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(AT(this.set[t],e,this.options))return!0;return!1}};Zh.exports=tu;var uT=zh(),$h=new uT,dT=Rs(),ru=pi(),ke=di(),fT=Be(),{safeRe:Ze,t:We,comparatorTrimReplace:pT,tildeTrimReplace:yT,caretTrimReplace:hT}=Rn(),{FLAG_INCLUDE_PRERELEASE:mT,FLAG_LOOSE:bT}=ui(),Hh=r=>r.value==="<0.0.0-0",gT=r=>r.value==="",Qh=(r,e)=>{let t=!0,n=r.slice(),i=n.pop();for(;t&&n.length;)t=n.every(s=>i.intersects(s,e)),i=n.pop();return t},vT=(r,e)=>(r=r.replace(Ze[We.BUILD],""),ke("comp",r,e),r=ET(r,e),ke("caret",r),r=KT(r,e),ke("tildes",r),r=IT(r,e),ke("xrange",r),r=wT(r,e),ke("stars",r),r),Xe=r=>!r||r.toLowerCase()==="x"||r==="*",KT=(r,e)=>r.trim().split(/\s+/).map(t=>ST(t,e)).join(" "),ST=(r,e)=>{let t=e.loose?Ze[We.TILDELOOSE]:Ze[We.TILDE];return r.replace(t,(n,i,s,a,o)=>{ke("tilde",r,n,i,s,a,o);let l;return Xe(i)?l="":Xe(s)?l=`>=${i}.0.0 <${+i+1}.0.0-0`:Xe(a)?l=`>=${i}.${s}.0 <${i}.${+s+1}.0-0`:o?(ke("replaceTilde pr",o),l=`>=${i}.${s}.${a}-${o} <${i}.${+s+1}.0-0`):l=`>=${i}.${s}.${a} <${i}.${+s+1}.0-0`,ke("tilde return",l),l})},ET=(r,e)=>r.trim().split(/\s+/).map(t=>kT(t,e)).join(" "),kT=(r,e)=>{ke("caret",r,e);let t=e.loose?Ze[We.CARETLOOSE]:Ze[We.CARET],n=e.includePrerelease?"-0":"";return r.replace(t,(i,s,a,o,l)=>{ke("caret",r,i,s,a,o,l);let c;return Xe(s)?c="":Xe(a)?c=`>=${s}.0.0${n} <${+s+1}.0.0-0`:Xe(o)?s==="0"?c=`>=${s}.${a}.0${n} <${s}.${+a+1}.0-0`:c=`>=${s}.${a}.0${n} <${+s+1}.0.0-0`:l?(ke("replaceCaret pr",l),s==="0"?a==="0"?c=`>=${s}.${a}.${o}-${l} <${s}.${a}.${+o+1}-0`:c=`>=${s}.${a}.${o}-${l} <${s}.${+a+1}.0-0`:c=`>=${s}.${a}.${o}-${l} <${+s+1}.0.0-0`):(ke("no pr"),s==="0"?a==="0"?c=`>=${s}.${a}.${o}${n} <${s}.${a}.${+o+1}-0`:c=`>=${s}.${a}.${o}${n} <${s}.${+a+1}.0-0`:c=`>=${s}.${a}.${o} <${+s+1}.0.0-0`),ke("caret return",c),c})},IT=(r,e)=>(ke("replaceXRanges",r,e),r.split(/\s+/).map(t=>xT(t,e)).join(" ")),xT=(r,e)=>{r=r.trim();let t=e.loose?Ze[We.XRANGELOOSE]:Ze[We.XRANGE];return r.replace(t,(n,i,s,a,o,l)=>{ke("xRange",r,n,i,s,a,o,l);let c=Xe(s),u=c||Xe(a),d=u||Xe(o),p=d;return i==="="&&p&&(i=""),l=e.includePrerelease?"-0":"",c?i===">"||i==="<"?n="<0.0.0-0":n="*":i&&p?(u&&(a=0),o=0,i===">"?(i=">=",u?(s=+s+1,a=0,o=0):(a=+a+1,o=0)):i==="<="&&(i="<",u?s=+s+1:a=+a+1),i==="<"&&(l="-0"),n=`${i+s}.${a}.${o}${l}`):u?n=`>=${s}.0.0${l} <${+s+1}.0.0-0`:d&&(n=`>=${s}.${a}.0${l} <${s}.${+a+1}.0-0`),ke("xRange return",n),n})},wT=(r,e)=>(ke("replaceStars",r,e),r.trim().replace(Ze[We.STAR],"")),TT=(r,e)=>(ke("replaceGTE0",r,e),r.trim().replace(Ze[e.includePrerelease?We.GTE0PRE:We.GTE0],"")),jT=r=>(e,t,n,i,s,a,o,l,c,u,d,p)=>(Xe(n)?t="":Xe(i)?t=`>=${n}.0.0${r?"-0":""}`:Xe(s)?t=`>=${n}.${i}.0${r?"-0":""}`:a?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,Xe(c)?l="":Xe(u)?l=`<${+c+1}.0.0-0`:Xe(d)?l=`<${c}.${+u+1}.0-0`:p?l=`<=${c}.${u}.${d}-${p}`:r?l=`<${c}.${u}.${+d+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),AT=(r,e,t)=>{for(let n=0;n<r.length;n++)if(!r[n].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let n=0;n<r.length;n++)if(ke(r[n].semver),r[n].semver!==ru.ANY&&r[n].semver.prerelease.length>0){let i=r[n].semver;if(i.major===e.major&&i.minor===e.minor&&i.patch===e.patch)return!0}return!1}return!0}});var pi=y((FP,im)=>{"use strict";var yi=Symbol("SemVer ANY"),su=class r{static get ANY(){return yi}constructor(e,t){if(t=Xh(t),e instanceof r){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),iu("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===yi?this.value="":this.value=this.operator+this.semver.version,iu("comp",this)}parse(e){let t=this.options.loose?em[tm.COMPARATORLOOSE]:em[tm.COMPARATOR],n=e.match(t);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new rm(n[2],this.options.loose):this.semver=yi}toString(){return this.value}test(e){if(iu("Comparator.test",e,this.options.loose),this.semver===yi||e===yi)return!0;if(typeof e=="string")try{e=new rm(e,this.options)}catch{return!1}return nu(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new nm(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new nm(this.value,t).test(e.semver):(t=Xh(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||nu(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||nu(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};im.exports=su;var Xh=Rs(),{safeRe:em,t:tm}=Rn(),nu=Xc(),iu=di(),rm=Be(),nm=Et()});var hi=y((VP,sm)=>{"use strict";var DT=Et(),RT=(r,e,t)=>{try{e=new DT(e,t)}catch{return!1}return e.test(r)};sm.exports=RT});var om=y((GP,am)=>{"use strict";var OT=Et(),CT=(r,e)=>new OT(r,e).set.map(t=>t.map(n=>n.value).join(" ").trim().split(" "));am.exports=CT});var cm=y((YP,lm)=>{"use strict";var _T=Be(),MT=Et(),PT=(r,e,t)=>{let n=null,i=null,s=null;try{s=new MT(e,t)}catch{return null}return r.forEach(a=>{s.test(a)&&(!n||i.compare(a)===-1)&&(n=a,i=new _T(n,t))}),n};lm.exports=PT});var dm=y((BP,um)=>{"use strict";var NT=Be(),LT=Et(),qT=(r,e,t)=>{let n=null,i=null,s=null;try{s=new LT(e,t)}catch{return null}return r.forEach(a=>{s.test(a)&&(!n||i.compare(a)===1)&&(n=a,i=new NT(n,t))}),n};um.exports=qT});var ym=y((WP,pm)=>{"use strict";var au=Be(),JT=Et(),fm=fi(),FT=(r,e)=>{r=new JT(r,e);let t=new au("0.0.0");if(r.test(t)||(t=new au("0.0.0-0"),r.test(t)))return t;t=null;for(let n=0;n<r.set.length;++n){let i=r.set[n],s=null;i.forEach(a=>{let o=new au(a.semver.version);switch(a.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!s||fm(o,s))&&(s=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),s&&(!t||fm(t,s))&&(t=s)}return t&&r.test(t)?t:null};pm.exports=FT});var mm=y((UP,hm)=>{"use strict";var VT=Et(),GT=(r,e)=>{try{return new VT(r,e).range||"*"}catch{return null}};hm.exports=GT});var Vs=y((zP,Km)=>{"use strict";var YT=Be(),vm=pi(),{ANY:BT}=vm,WT=Et(),UT=hi(),bm=fi(),gm=Ns(),zT=qs(),$T=Ls(),HT=(r,e,t,n)=>{r=new YT(r,n),e=new WT(e,n);let i,s,a,o,l;switch(t){case">":i=bm,s=zT,a=gm,o=">",l=">=";break;case"<":i=gm,s=$T,a=bm,o="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(UT(r,e,n))return!1;for(let c=0;c<e.set.length;++c){let u=e.set[c],d=null,p=null;if(u.forEach(f=>{f.semver===BT&&(f=new vm(">=0.0.0")),d=d||f,p=p||f,i(f.semver,d.semver,n)?d=f:a(f.semver,p.semver,n)&&(p=f)}),d.operator===o||d.operator===l||(!p.operator||p.operator===o)&&s(r,p.semver))return!1;if(p.operator===l&&a(r,p.semver))return!1}return!0};Km.exports=HT});var Em=y(($P,Sm)=>{"use strict";var QT=Vs(),ZT=(r,e,t)=>QT(r,e,">",t);Sm.exports=ZT});var Im=y((HP,km)=>{"use strict";var XT=Vs(),ej=(r,e,t)=>XT(r,e,"<",t);km.exports=ej});var Tm=y((QP,wm)=>{"use strict";var xm=Et(),tj=(r,e,t)=>(r=new xm(r,t),e=new xm(e,t),r.intersects(e,t));wm.exports=tj});var Am=y((ZP,jm)=>{"use strict";var rj=hi(),nj=St();jm.exports=(r,e,t)=>{let n=[],i=null,s=null,a=r.sort((u,d)=>nj(u,d,t));for(let u of a)rj(u,e,t)?(s=u,i||(i=u)):(s&&n.push([i,s]),s=null,i=null);i&&n.push([i,null]);let o=[];for(let[u,d]of n)u===d?o.push(u):!d&&u===a[0]?o.push("*"):d?u===a[0]?o.push(`<=${d}`):o.push(`${u} - ${d}`):o.push(`>=${u}`);let l=o.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length<c.length?l:e}});var Mm=y((XP,_m)=>{"use strict";var Dm=Et(),lu=pi(),{ANY:ou}=lu,mi=hi(),cu=St(),ij=(r,e,t={})=>{if(r===e)return!0;r=new Dm(r,t),e=new Dm(e,t);let n=!1;e:for(let i of r.set){for(let s of e.set){let a=aj(i,s,t);if(n=n||a!==null,a)continue e}if(n)return!1}return!0},sj=[new lu(">=0.0.0-0")],Rm=[new lu(">=0.0.0")],aj=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===ou){if(e.length===1&&e[0].semver===ou)return!0;t.includePrerelease?r=sj:r=Rm}if(e.length===1&&e[0].semver===ou){if(t.includePrerelease)return!0;e=Rm}let n=new Set,i,s;for(let f of r)f.operator===">"||f.operator===">="?i=Om(i,f,t):f.operator==="<"||f.operator==="<="?s=Cm(s,f,t):n.add(f.semver);if(n.size>1)return null;let a;if(i&&s){if(a=cu(i.semver,s.semver,t),a>0)return null;if(a===0&&(i.operator!==">="||s.operator!=="<="))return null}for(let f of n){if(i&&!mi(f,String(i),t)||s&&!mi(f,String(s),t))return null;for(let h of e)if(!mi(f,String(h),t))return!1;return!0}let o,l,c,u,d=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,p=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1;d&&d.prerelease.length===1&&s.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let f of e){if(u=u||f.operator===">"||f.operator===">=",c=c||f.operator==="<"||f.operator==="<=",i){if(p&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===p.major&&f.semver.minor===p.minor&&f.semver.patch===p.patch&&(p=!1),f.operator===">"||f.operator===">="){if(o=Om(i,f,t),o===f&&o!==i)return!1}else if(i.operator===">="&&!mi(i.semver,String(f),t))return!1}if(s){if(d&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===d.major&&f.semver.minor===d.minor&&f.semver.patch===d.patch&&(d=!1),f.operator==="<"||f.operator==="<="){if(l=Cm(s,f,t),l===f&&l!==s)return!1}else if(s.operator==="<="&&!mi(s.semver,String(f),t))return!1}if(!f.operator&&(s||i)&&a!==0)return!1}return!(i&&c&&!s&&a!==0||s&&u&&!i&&a!==0||p||d)},Om=(r,e,t)=>{if(!r)return e;let n=cu(r.semver,e.semver,t);return n>0?r:n<0||e.operator===">"&&r.operator===">="?e:r},Cm=(r,e,t)=>{if(!r)return e;let n=cu(r.semver,e.semver,t);return n<0?r:n>0||e.operator==="<"&&r.operator==="<="?e:r};_m.exports=ij});var qm=y((eN,Lm)=>{"use strict";var uu=Rn(),Pm=ui(),oj=Be(),Nm=zc(),lj=Yr(),cj=ch(),uj=dh(),dj=yh(),fj=bh(),pj=vh(),yj=Sh(),hj=kh(),mj=xh(),bj=St(),gj=Ah(),vj=Rh(),Kj=Ps(),Sj=Mh(),Ej=Nh(),kj=fi(),Ij=Ns(),xj=Qc(),wj=Zc(),Tj=Ls(),jj=qs(),Aj=Xc(),Dj=Wh(),Rj=pi(),Oj=Et(),Cj=hi(),_j=om(),Mj=cm(),Pj=dm(),Nj=ym(),Lj=mm(),qj=Vs(),Jj=Em(),Fj=Im(),Vj=Tm(),Gj=Am(),Yj=Mm();Lm.exports={parse:lj,valid:cj,clean:uj,inc:dj,diff:fj,major:pj,minor:yj,patch:hj,prerelease:mj,compare:bj,rcompare:gj,compareLoose:vj,compareBuild:Kj,sort:Sj,rsort:Ej,gt:kj,lt:Ij,eq:xj,neq:wj,gte:Tj,lte:jj,cmp:Aj,coerce:Dj,Comparator:Rj,Range:Oj,satisfies:Cj,toComparators:_j,maxSatisfying:Mj,minSatisfying:Pj,minVersion:Nj,validRange:Lj,outside:qj,gtr:Jj,ltr:Fj,intersects:Vj,simplifyRange:Gj,subset:Yj,SemVer:oj,re:uu.re,src:uu.src,tokens:uu.t,SEMVER_SPEC_VERSION:Pm.SEMVER_SPEC_VERSION,RELEASE_TYPES:Pm.RELEASE_TYPES,compareIdentifiers:Nm.compareIdentifiers,rcompareIdentifiers:Nm.rcompareIdentifiers}});var ct=y(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.QUEUE_EVENT_SUFFIX=H.toString=H.errorToJSON=H.parseObjectValues=H.isRedisVersionLowerThan=H.childSend=H.asyncSend=H.DELAY_TIME_1=H.DELAY_TIME_5=H.clientCommandMessageReg=H.optsEncodeMap=H.optsDecodeMap=H.errorObject=void 0;H.tryCatch=Uj;H.lengthInUtf8Bytes=zj;H.isEmpty=$j;H.array2obj=Hj;H.objectToFlatArray=Qj;H.delay=Zj;H.increaseMaxListeners=Jm;H.invertObject=Fm;H.isRedisInstance=Vm;H.isRedisCluster=Xj;H.decreaseMaxListeners=eA;H.removeAllQueueData=tA;H.getParentKey=rA;H.isNotConnectionError=Gm;H.removeUndefinedFields=dA;H.trace=fA;H.randomUUID=pA;var Bj=hs(),du=Y("crypto"),Wj=Oe(),fu=qm(),pu=st();H.errorObject={value:null};function Uj(r,e,t){try{return r.apply(e,t)}catch(n){return H.errorObject.value=n,H.errorObject}}function zj(r){return Buffer.byteLength(r,"utf8")}function $j(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e))return!1;return!0}function Hj(r){let e={};for(let t=0;t<r.length;t+=2)e[r[t]]=r[t+1];return e}function Qj(r){let e=[];for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&r[t]!==void 0&&(e[e.length]=t,e[e.length]=r[t]);return e}function Zj(r,e){return new Promise(t=>{let n,i=()=>{e?.signal.removeEventListener("abort",i),clearTimeout(n),t()};n=setTimeout(i,r),e?.signal.addEventListener("abort",i)})}function Jm(r,e){let t=r.getMaxListeners();r.setMaxListeners(t+e)}function Fm(r){return Object.entries(r).reduce((e,[t,n])=>(e[n]=t,e),{})}H.optsDecodeMap={de:"deduplication",fpof:"failParentOnFailure",cpof:"continueParentOnFailure",idof:"ignoreDependencyOnFailure",kl:"keepLogs",rdof:"removeDependencyOnFailure"};H.optsEncodeMap=Object.assign(Object.assign({},Fm(H.optsDecodeMap)),{debounce:"de"});function Vm(r){return r?["connect","disconnect","duplicate"].every(t=>typeof r[t]=="function"):!1}function Xj(r){return Vm(r)&&r.isCluster}function eA(r,e){Jm(r,-e)}async function tA(r,e,t=process.env.BULLMQ_TEST_PREFIX||"bull"){if(r instanceof Bj.Cluster)return Promise.resolve(!1);let n=`${t}:${e}:*`,i=[];await new Promise((s,a)=>{let o=r.scanStream({match:n});o.on("data",l=>{if(l.length){let c=r.pipeline();l.forEach(d=>{c.del(d)});let u=c.exec().catch(d=>{throw a(d),d});i.push(u)}}),o.on("end",()=>s()),o.on("error",l=>a(l))}),await Promise.all(i);try{await r.quit()}catch(s){if(Gm(s))throw s}}function rA(r){if(r)return`${r.queue}:${r.id}`}H.clientCommandMessageReg=/ERR unknown command ['`]\s*client\s*['`]/;H.DELAY_TIME_5=5e3;H.DELAY_TIME_1=100;function Gm(r){let{code:e,message:t}=r;return t!==Wj.CONNECTION_CLOSED_ERROR_MSG&&!t.includes("ECONNREFUSED")&&e!=="ECONNREFUSED"}var nA=(r,e)=>new Promise((t,n)=>{typeof r.send=="function"?r.send(e,i=>{i?n(i):t()}):typeof r.postMessage=="function"?t(r.postMessage(e)):t()});H.asyncSend=nA;var iA=(r,e)=>(0,H.asyncSend)(r,e);H.childSend=iA;var sA=(r,e,t,n="redis")=>{if(t===n){let i=fu.valid(fu.coerce(r));return fu.lt(i,e)}return!1};H.isRedisVersionLowerThan=sA;var aA=r=>{let e={};for(let t of Object.entries(r))e[t[0]]=JSON.parse(t[1]);return e};H.parseObjectValues=aA;var oA=r=>{let e=new WeakSet;return e.add(r),(t,n)=>{if(typeof n=="object"&&n!==null){if(e.has(n))return"[Circular]";e.add(n)}return n}},lA=r=>{let e={};return Object.getOwnPropertyNames(r).forEach(function(t){e[t]=r[t]}),JSON.parse(JSON.stringify(e,oA(r)))};H.errorToJSON=lA;var cA=1/0,uA=r=>{if(r==null)return"";if(typeof r=="string")return r;if(Array.isArray(r))return`${r.map(t=>t==null?t:(0,H.toString)(t))}`;if(typeof r=="symbol"||Object.prototype.toString.call(r)=="[object Symbol]")return r.toString();let e=`${r}`;return e==="0"&&1/r===-cA?"-0":e};H.toString=uA;H.QUEUE_EVENT_SUFFIX=":qe";function dA(r){let e={};for(let t in r)r[t]!==void 0&&(e[t]=r[t]);return e}async function fA(r,e,t,n,i,s,a){if(r){let{tracer:o,contextManager:l}=r,c=l.active(),u;a&&(u=l.fromMetadata(c,a));let d=i?`${n} ${i}`:n,p=o.startSpan(d,{kind:e},u);try{p.setAttributes({[pu.TelemetryAttributes.QueueName]:t,[pu.TelemetryAttributes.QueueOperation]:n});let f,h;return e===pu.SpanKind.CONSUMER&&u?f=p.setSpanOnContext(u):f=p.setSpanOnContext(c),s.length==2&&(h=l.getMetadata(f)),await l.with(f,()=>s(p,h))}catch(f){throw p.recordException(f),f}finally{p.end()}}else return s()}function pA(){if(typeof du.randomUUID=="function")return(0,du.randomUUID)();let r=(0,du.randomBytes)(16);return r[6]=r[6]&15|64,r[8]=r[8]&63|128,[r.toString("hex",0,4),r.toString("hex",4,6),r.toString("hex",6,8),r.toString("hex",8,10),r.toString("hex",10,16)].join("-")}});var Ym=y(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.ChildProcessor=void 0;var yA=Ds(),et=st(),yu=ct(),Er;(function(r){r[r.Idle=0]="Idle",r[r.Started=1]="Started",r[r.Terminating=2]="Terminating",r[r.Errored=3]="Errored"})(Er||(Er={}));var bi=process.env.NODE_ENV==="test"?500:5e3,hu=class{constructor(e,t){this.send=e,this.receiver=t}async init(e){let t;try{let{default:i}=await import(e);if(t=i,t.default&&(t=t.default),typeof t!="function")throw new Error("No function is exported in processor file")}catch(i){return this.status=Er.Errored,this.send({cmd:et.ParentCommand.InitFailed,err:(0,yu.errorToJSON)(i)})}let n=t;t=function(i,s,a){try{return Promise.resolve(n(i,s,a))}catch(o){return Promise.reject(o)}},this.processor=t,this.status=Er.Idle,await this.send({cmd:et.ParentCommand.InitCompleted})}async start(e,t){if(this.status!==Er.Idle)return this.send({cmd:et.ParentCommand.Error,err:(0,yu.errorToJSON)(new Error("cannot start a not idling child process"))});this.status=Er.Started,this.abortController=new yA.AbortController,this.currentJobPromise=(async()=>{try{let n=this.wrapJob(e,this.send),i=await this.processor(n,t,this.abortController.signal);await this.send({cmd:et.ParentCommand.Completed,value:typeof i>"u"?null:i})}catch(n){await this.send({cmd:et.ParentCommand.Failed,value:(0,yu.errorToJSON)(n.message?n:new Error(n))})}finally{this.status=Er.Idle,this.currentJobPromise=void 0,this.abortController=void 0}})()}cancel(e){this.abortController&&this.abortController.abort(e)}async stop(){}async waitForCurrentJobAndExit(){this.status=Er.Terminating;try{await this.currentJobPromise}finally{process.exit(process.exitCode||0)}}wrapJob(e,t){let n=Object.assign(Object.assign({},e),{queueQualifiedName:e.queueQualifiedName,data:JSON.parse(e.data||"{}"),opts:e.opts,returnValue:JSON.parse(e.returnvalue||"{}"),async updateProgress(i){this.progress=i,await t({cmd:et.ParentCommand.Progress,value:i})},log:async i=>{await t({cmd:et.ParentCommand.Log,value:i})},moveToDelayed:async(i,s)=>{await t({cmd:et.ParentCommand.MoveToDelayed,value:{timestamp:i,token:s}})},moveToWait:async i=>{await t({cmd:et.ParentCommand.MoveToWait,value:{token:i}})},moveToWaitingChildren:async(i,s)=>{let a=Math.random().toString(36).substring(2,15);return await t({requestId:a,cmd:et.ParentCommand.MoveToWaitingChildren,value:{token:i,opts:s}}),gi(a,this.receiver,bi,"moveToWaitingChildren")},updateData:async i=>{await t({cmd:et.ParentCommand.Update,value:i}),n.data=i},getChildrenValues:async()=>{let i=Math.random().toString(36).substring(2,15);return await t({requestId:i,cmd:et.ParentCommand.GetChildrenValues}),gi(i,this.receiver,bi,"getChildrenValues")},getIgnoredChildrenFailures:async()=>{let i=Math.random().toString(36).substring(2,15);return await t({requestId:i,cmd:et.ParentCommand.GetIgnoredChildrenFailures}),gi(i,this.receiver,bi,"getIgnoredChildrenFailures")},getDependenciesCount:async i=>{let s=Math.random().toString(36).substring(2,15);return await t({requestId:s,cmd:et.ParentCommand.GetDependenciesCount,value:i}),gi(s,this.receiver,bi,"getDependenciesCount")},getDependencies:async i=>{let s=Math.random().toString(36).substring(2,15);return await t({requestId:s,cmd:et.ParentCommand.GetDependencies,value:i}),gi(s,this.receiver,bi,"getDependencies")}});return n}};Gs.ChildProcessor=hu;var gi=async(r,e,t,n)=>new Promise((i,s)=>{let a=o=>{o.requestId===r&&(i(o.value),e.off("message",a))};e.on("message",a),setTimeout(()=>{e.off("message",a),s(new Error(`TimeoutError: ${n} timed out in (${t}ms)`))},t)})});var Bm=y(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.DelayedError=Br.DELAYED_ERROR=void 0;Br.DELAYED_ERROR="bullmq:movedToDelayed";var mu=class extends Error{constructor(e=Br.DELAYED_ERROR){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}};Br.DelayedError=mu});var Wm=y(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.RateLimitError=Wr.RATE_LIMIT_ERROR=void 0;Wr.RATE_LIMIT_ERROR="bullmq:rateLimitExceeded";var bu=class extends Error{constructor(e=Wr.RATE_LIMIT_ERROR){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}};Wr.RateLimitError=bu});var vu=y(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.UnrecoverableError=Ur.UNRECOVERABLE_ERROR=void 0;Ur.UNRECOVERABLE_ERROR="bullmq:unrecoverable";var gu=class extends Error{constructor(e=Ur.UNRECOVERABLE_ERROR){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}};Ur.UnrecoverableError=gu});var Um=y(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.WaitingChildrenError=zr.WAITING_CHILDREN_ERROR=void 0;zr.WAITING_CHILDREN_ERROR="bullmq:movedToWaitingChildren";var Ku=class extends Error{constructor(e=zr.WAITING_CHILDREN_ERROR){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}};zr.WaitingChildrenError=Ku});var zm=y($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.WaitingError=$r.WAITING_ERROR=void 0;$r.WAITING_ERROR="bullmq:movedToWait";var Su=class extends Error{constructor(e=$r.WAITING_ERROR){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}};$r.WaitingError=Su});var Ys=y(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});var vi=(Qe(),nt(He));vi.__exportStar(Bm(),Hr);vi.__exportStar(Wm(),Hr);vi.__exportStar(vu(),Hr);vi.__exportStar(Um(),Hr);vi.__exportStar(zm(),Hr)});var Qm=y((cN,Hm)=>{"use strict";var $m=()=>process.platform==="linux",Bs=null,hA=()=>{if(!Bs)if($m()&&process.report){let r=process.report.excludeNetwork;process.report.excludeNetwork=!0,Bs=process.report.getReport(),process.report.excludeNetwork=r}else Bs={};return Bs};Hm.exports={isLinux:$m,getReport:hA}});var Xm=y((uN,Zm)=>{"use strict";var On=Y("fs"),mA="/usr/bin/ldd",bA="/proc/self/exe",Ws=2048,gA=r=>{let e=On.openSync(r,"r"),t=Buffer.alloc(Ws),n=On.readSync(e,t,0,Ws,0);return On.close(e,()=>{}),t.subarray(0,n)},vA=r=>new Promise((e,t)=>{On.open(r,"r",(n,i)=>{if(n)t(n);else{let s=Buffer.alloc(Ws);On.read(i,s,0,Ws,0,(a,o)=>{e(s.subarray(0,o)),On.close(i,()=>{})})}})});Zm.exports={LDD_PATH:mA,SELF_PATH:bA,readFileSync:gA,readFile:vA}});var tb=y((dN,eb)=>{"use strict";var KA=r=>{if(r.length<64||r.readUInt32BE(0)!==2135247942||r.readUInt8(4)!==2||r.readUInt8(5)!==1)return null;let e=r.readUInt32LE(32),t=r.readUInt16LE(54),n=r.readUInt16LE(56);for(let i=0;i<n;i++){let s=e+i*t;if(r.readUInt32LE(s)===3){let o=r.readUInt32LE(s+8),l=r.readUInt32LE(s+32);return r.subarray(o,o+l).toString().replace(/\0.*$/g,"")}}return null};eb.exports={interpreterPath:KA}});var Kb=y((fN,vb)=>{"use strict";var nb=Y("child_process"),{isLinux:Cn,getReport:ib}=Qm(),{LDD_PATH:Us,SELF_PATH:sb,readFile:Eu,readFileSync:ku}=Xm(),{interpreterPath:ab}=tb(),Ft,Vt,Gt,ob="getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",kr="",lb=()=>kr||new Promise(r=>{nb.exec(ob,(e,t)=>{kr=e?" ":t,r(kr)})}),cb=()=>{if(!kr)try{kr=nb.execSync(ob,{encoding:"utf8"})}catch{kr=" "}return kr},Xt="glibc",ub=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,Qr="musl",SA=r=>r.includes("libc.musl-")||r.includes("ld-musl-"),db=()=>{let r=ib();return r.header&&r.header.glibcVersionRuntime?Xt:Array.isArray(r.sharedObjects)&&r.sharedObjects.some(SA)?Qr:null},fb=r=>{let[e,t]=r.split(/[\r\n]+/);return e&&e.includes(Xt)?Xt:t&&t.includes(Qr)?Qr:null},pb=r=>{if(r){if(r.includes("/ld-musl-"))return Qr;if(r.includes("/ld-linux-"))return Xt}return null},yb=r=>(r=r.toString(),r.includes("musl")?Qr:r.includes("GNU C Library")?Xt:null),EA=async()=>{if(Vt!==void 0)return Vt;Vt=null;try{let r=await Eu(Us);Vt=yb(r)}catch{}return Vt},kA=()=>{if(Vt!==void 0)return Vt;Vt=null;try{let r=ku(Us);Vt=yb(r)}catch{}return Vt},IA=async()=>{if(Ft!==void 0)return Ft;Ft=null;try{let r=await Eu(sb),e=ab(r);Ft=pb(e)}catch{}return Ft},xA=()=>{if(Ft!==void 0)return Ft;Ft=null;try{let r=ku(sb),e=ab(r);Ft=pb(e)}catch{}return Ft},hb=async()=>{let r=null;if(Cn()&&(r=await IA(),!r&&(r=await EA(),r||(r=db()),!r))){let e=await lb();r=fb(e)}return r},mb=()=>{let r=null;if(Cn()&&(r=xA(),!r&&(r=kA(),r||(r=db()),!r))){let e=cb();r=fb(e)}return r},wA=async()=>Cn()&&await hb()!==Xt,TA=()=>Cn()&&mb()!==Xt,jA=async()=>{if(Gt!==void 0)return Gt;Gt=null;try{let e=(await Eu(Us)).match(ub);e&&(Gt=e[1])}catch{}return Gt},AA=()=>{if(Gt!==void 0)return Gt;Gt=null;try{let e=ku(Us).match(ub);e&&(Gt=e[1])}catch{}return Gt},bb=()=>{let r=ib();return r.header&&r.header.glibcVersionRuntime?r.header.glibcVersionRuntime:null},rb=r=>r.trim().split(/\s+/)[1],gb=r=>{let[e,t,n]=r.split(/[\r\n]+/);return e&&e.includes(Xt)?rb(e):t&&n&&t.includes(Qr)?rb(n):null},DA=async()=>{let r=null;if(Cn()&&(r=await jA(),r||(r=bb()),!r)){let e=await lb();r=gb(e)}return r},RA=()=>{let r=null;if(Cn()&&(r=AA(),r||(r=bb()),!r)){let e=cb();r=gb(e)}return r};vb.exports={GLIBC:Xt,MUSL:Qr,family:hb,familySync:mb,isNonGlibcLinux:wA,isNonGlibcLinuxSync:TA,version:DA,versionSync:RA}});var _b=y((pN,Cb)=>{var OA=Y("fs"),Dt=Y("path"),CA=Y("url"),kb=Y("os"),Ib=typeof __webpack_require__=="function"?__non_webpack_require__:Y,_A=process.config&&process.config.variables||{},MA=!!process.env.PREBUILDS_ONLY,ju=process.versions,xu=ju.modules;(ju.deno||process.isBun)&&(xu="unsupported");var Iu=LA()?"electron":NA()?"node-webkit":"node",zs=process.env.npm_config_arch||kb.arch(),$s=process.env.npm_config_platform||kb.platform(),xb=process.env.LIBC||(qA($s)?"musl":"glibc"),wu=process.env.ARM_VERSION||(zs==="arm64"?"8":_A.arm_version)||"",wb=(ju.uv||"").split(".")[0];Cb.exports=Yt;function Yt(r){return Ib(Yt.resolve(r))}Yt.resolve=Yt.path=function(r){r=Dt.resolve(r||".");var e="",t;try{e=Ib(Dt.join(r,"package.json")).name;var n=e.toUpperCase().replace(/-/g,"_");process.env[n+"_PREBUILD"]&&(r=process.env[n+"_PREBUILD"])}catch(g){t=g}if(!MA){var i=Sb(Dt.join(r,"build/Release"),Eb);if(i)return i;var s=Sb(Dt.join(r,"build/Debug"),Eb);if(s)return s}var a=f(r);if(a)return a;var o=f(Dt.dirname(process.execPath));if(o)return o;var l=(e[0]=="@"?"":"@"+e+"/")+e+"-"+$s+"-"+zs,c;try{var u=Dt.dirname(Y("module").createRequire(CA.pathToFileURL(Dt.join(r,"package.json"))).resolve(l));return h(u)}catch(g){c=g}var d=["platform="+$s,"arch="+zs,"runtime="+Iu,"abi="+xu,"uv="+wb,wu?"armv="+wu:"","libc="+xb,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"",typeof __webpack_require__=="function"?"webpack=true":""].filter(Boolean).join(" ");let p="No native build was found for "+d+`
|
|
162
|
-
attempted loading from: `+r+" and package: "+
|
|
163
|
-
`;throw t&&(
|
|
164
|
-
`),
|
|
165
|
-
`),new Error(p);function f(g){var k=Tu(Dt.join(g,"prebuilds")).map(Tb),E=k.filter(jb($s,zs)).sort(Ab)[0];if(E)return h(Dt.join(g,"prebuilds",E.name))}function h(g){var k=Tu(g).map(Db),E=k.filter(Rb(Iu,xu)),I=E.sort(Ob(Iu))[0];if(I)return Dt.join(g,I.file)}};function Tu(r){try{return OA.readdirSync(r)}catch{return[]}}function Sb(r,e){var t=Tu(r).filter(e);return t[0]&&Dt.join(r,t[0])}function Eb(r){return/\.node$/.test(r)}function Tb(r){var e=r.split("-");if(e.length===2){var t=e[0],n=e[1].split("+");if(t&&n.length&&n.every(Boolean))return{name:r,platform:t,architectures:n}}}function jb(r,e){return function(t){return t==null||t.platform!==r?!1:t.architectures.includes(e)}}function Ab(r,e){return r.architectures.length-e.architectures.length}function Db(r){var e=r.split("."),t=e.pop(),n={file:r,specificity:0};if(t==="node"){for(var i=0;i<e.length;i++){var s=e[i];if(s==="node"||s==="electron"||s==="node-webkit")n.runtime=s;else if(s==="napi")n.napi=!0;else if(s.slice(0,3)==="abi")n.abi=s.slice(3);else if(s.slice(0,2)==="uv")n.uv=s.slice(2);else if(s.slice(0,4)==="armv")n.armv=s.slice(4);else if(s==="glibc"||s==="musl")n.libc=s;else continue;n.specificity++}return n}}function Rb(r,e){return function(t){return!(t==null||t.runtime!==r&&!PA(t)||t.abi!==e&&!t.napi||t.uv&&t.uv!==wb||t.armv&&t.armv!==wu||t.libc&&t.libc!==xb)}}function PA(r){return r.runtime==="node"&&r.napi}function Ob(r){return function(e,t){return e.runtime!==t.runtime?e.runtime===r?-1:1:e.abi!==t.abi?e.abi?-1:1:e.specificity!==t.specificity?e.specificity>t.specificity?-1:1:0}}function NA(){return!!(process.versions&&process.versions.nw)}function LA(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window<"u"&&window.process&&window.process.type==="renderer"}function qA(r){if(r!=="linux")return!1;let{familySync:e,MUSL:t}=Kb();return e()===t}Yt.parseTags=Db;Yt.matchTags=Rb;Yt.compareTags=Ob;Yt.parseTuple=Tb;Yt.matchTuple=jb;Yt.compareTuples=Ab});var Mb=y((hN,Du)=>{var Au=typeof __webpack_require__=="function"?__non_webpack_require__:Y;typeof Au.addon=="function"?Du.exports=Au.addon.bind(Au):Du.exports=_b()});var Nb=y((bN,Pb)=>{Pb.exports=Mb()(__dirname)});var hg=y(fe=>{"use strict";var Zb=Y("stream"),JA=Y("module"),_u;try{_u=new TextDecoder}catch{}var C,dt,b=0,Mu=[],Xr=Mu,Si=0,ye={},le,er,ut=0,kt=0,Me,tr,ze=[],oe,Lb={useRecords:!1,mapsAsObjects:!0},Xs=class{},Pu=new Xs;Pu.name="MessagePack 0xC1";var Ir=!1,qb=2,rr=class r{constructor(e){e&&(e.useRecords===!1&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.sequential&&e.trusted!==!1&&(e.trusted=!0,!e.structures&&e.useRecords!=!1&&(e.structures=[],e.maxSharedStructures||(e.maxSharedStructures=0))),e.structures?e.structures.sharedLength=e.structures.length:e.getStructures&&((e.structures=[]).uninitialized=!0,e.structures.sharedLength=0),e.int64AsNumber&&(e.int64AsType="number")),Object.assign(this,e)}unpack(e,t){if(C)return og(()=>(ta(),this?this.unpack(e,t):r.prototype.unpack.call(Lb,e,t)));!e.buffer&&e.constructor===ArrayBuffer&&(e=typeof Buffer<"u"?Buffer.from(e):new Uint8Array(e)),typeof t=="object"?(dt=t.end||e.length,b=t.start||0):(b=0,dt=t>-1?t:e.length),Si=0,kt=0,er=null,Xr=Mu,Me=null,C=e;try{oe=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(n){throw C=null,e instanceof Uint8Array?n:new Error("Source must be a Uint8Array or Buffer but was a "+(e&&typeof e=="object"?e.constructor.name:typeof e))}if(this instanceof r){if(ye=this,this.structures)return le=this.structures,Hs(t);(!le||le.length>0)&&(le=[])}else ye=Lb,(!le||le.length>0)&&(le=[]);return Hs(t)}unpackMultiple(e,t){let n,i=0;try{Ir=!0;let s=e.length,a=this?this.unpack(e,s):oa.unpack(e,s);if(t){if(t(a,i,b)===!1)return;for(;b<s;)if(i=b,t(Hs(),i,b)===!1)return}else{for(n=[a];b<s;)i=b,n.push(Hs());return n}}catch(s){throw s.lastPosition=i,s.values=n,s}finally{Ir=!1,ta()}}_mergeStructures(e,t){this._onLoadedStructures&&(e=this._onLoadedStructures(e)),e=e||[],Object.isFrozen(e)&&(e=e.map(n=>n.slice(0)));for(let n=0,i=e.length;n<i;n++){let s=e[n];s&&(s.isShared=!0,n>=32&&(s.highByte=n-32>>5))}e.sharedLength=e.length;for(let n in t||[])if(n>=0){let i=e[n],s=t[n];s&&(i&&((e.restoreStructures||(e.restoreStructures=[]))[n]=i),e[n]=s)}return this.structures=e}decode(e,t){return this.unpack(e,t)}};function Hs(r){try{if(!ye.trusted&&!Ir){let t=le.sharedLength||0;t<le.length&&(le.length=t)}let e;if(ye._readStruct&&C[b]<64&&C[b]>=32?(e=ye._readStruct(C,b,dt),C=null,!(r&&r.lazy)&&e&&(e=e.toJSON()),b=dt):e=De(),Me&&(b=Me.postBundlePosition,Me=null),Ir&&(le.restoreStructures=null),b==dt)le&&le.restoreStructures&&Jb(),le=null,C=null,tr&&(tr=null);else{if(b>dt)throw new Error("Unexpected end of MessagePack data");if(!Ir){let t;try{t=JSON.stringify(e,(n,i)=>typeof i=="bigint"?`${i}n`:i).slice(0,100)}catch(n){t="(JSON view not available "+n+")"}throw new Error("Data read, but end of buffer not reached "+t)}}return e}catch(e){throw le&&le.restoreStructures&&Jb(),ta(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")||b>dt)&&(e.incomplete=!0),e}}function Jb(){for(let r in le.restoreStructures)le[r]=le.restoreStructures[r];le.restoreStructures=null}function De(){let r=C[b++];if(r<160)if(r<128){if(r<64)return r;{let e=le[r&63]||ye.getStructures&&Xb()[r&63];return e?(e.read||(e.read=Nu(e,r&63)),e.read()):r}}else if(r<144)if(r-=128,ye.mapsAsObjects){let e={};for(let t=0;t<r;t++){let n=ig();n==="__proto__"&&(n="__proto_"),e[n]=De()}return e}else{let e=new Map;for(let t=0;t<r;t++)e.set(De(),De());return e}else{r-=144;let e=new Array(r);for(let t=0;t<r;t++)e[t]=De();return ye.freezeData?Object.freeze(e):e}else if(r<192){let e=r-160;if(kt>=b)return er.slice(b-ut,(b+=e)-ut);if(kt==0&&dt<140){let t=e<16?Lu(e):ng(e);if(t!=null)return t}return ea(e)}else{let e;switch(r){case 192:return null;case 193:return Me?(e=De(),e>0?Me[1].slice(Me.position1,Me.position1+=e):Me[0].slice(Me.position0,Me.position0-=e)):Pu;case 194:return!1;case 195:return!0;case 196:if(e=C[b++],e===void 0)throw new Error("Unexpected end of buffer");return Ru(e);case 197:return e=oe.getUint16(b),b+=2,Ru(e);case 198:return e=oe.getUint32(b),b+=4,Ru(e);case 199:return Zr(C[b++]);case 200:return e=oe.getUint16(b),b+=2,Zr(e);case 201:return e=oe.getUint32(b),b+=4,Zr(e);case 202:if(e=oe.getFloat32(b),ye.useFloat32>2){let t=aa[(C[b]&127)<<1|C[b+1]>>7];return b+=4,(t*e+(e>0?.5:-.5)>>0)/t}return b+=4,e;case 203:return e=oe.getFloat64(b),b+=8,e;case 204:return C[b++];case 205:return e=oe.getUint16(b),b+=2,e;case 206:return e=oe.getUint32(b),b+=4,e;case 207:return ye.int64AsType==="number"?(e=oe.getUint32(b)*4294967296,e+=oe.getUint32(b+4)):ye.int64AsType==="string"?e=oe.getBigUint64(b).toString():ye.int64AsType==="auto"?(e=oe.getBigUint64(b),e<=BigInt(2)<<BigInt(52)&&(e=Number(e))):e=oe.getBigUint64(b),b+=8,e;case 208:return oe.getInt8(b++);case 209:return e=oe.getInt16(b),b+=2,e;case 210:return e=oe.getInt32(b),b+=4,e;case 211:return ye.int64AsType==="number"?(e=oe.getInt32(b)*4294967296,e+=oe.getUint32(b+4)):ye.int64AsType==="string"?e=oe.getBigInt64(b).toString():ye.int64AsType==="auto"?(e=oe.getBigInt64(b),e>=BigInt(-2)<<BigInt(52)&&e<=BigInt(2)<<BigInt(52)&&(e=Number(e))):e=oe.getBigInt64(b),b+=8,e;case 212:if(e=C[b++],e==114)return Wb(C[b++]&63);{let t=ze[e];if(t)return t.read?(b++,t.read(De())):t.noBuffer?(b++,t()):t(C.subarray(b,++b));throw new Error("Unknown extension "+e)}case 213:return e=C[b],e==114?(b++,Wb(C[b++]&63,C[b++])):Zr(2);case 214:return Zr(4);case 215:return Zr(8);case 216:return Zr(16);case 217:return e=C[b++],kt>=b?er.slice(b-ut,(b+=e)-ut):eg(e);case 218:return e=oe.getUint16(b),b+=2,kt>=b?er.slice(b-ut,(b+=e)-ut):tg(e);case 219:return e=oe.getUint32(b),b+=4,kt>=b?er.slice(b-ut,(b+=e)-ut):rg(e);case 220:return e=oe.getUint16(b),b+=2,Vb(e);case 221:return e=oe.getUint32(b),b+=4,Vb(e);case 222:return e=oe.getUint16(b),b+=2,Gb(e);case 223:return e=oe.getUint32(b),b+=4,Gb(e);default:if(r>=224)return r-256;if(r===void 0){let t=new Error("Unexpected end of MessagePack data");throw t.incomplete=!0,t}throw new Error("Unknown MessagePack token "+r)}}}var FA=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Nu(r,e){function t(){if(t.count++>qb){let i;try{i=r.read=new Function("r","return function(){return "+(ye.freezeData?"Object.freeze":"")+"({"+r.map(s=>s==="__proto__"?"__proto_:r()":FA.test(s)?s+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"})}")(De)}catch{return qb=1/0,t()}return r.highByte===0&&(r.read=Fb(e,r.read)),i()}let n={};for(let i=0,s=r.length;i<s;i++){let a=r[i];a==="__proto__"&&(a="__proto_"),n[a]=De()}return ye.freezeData?Object.freeze(n):n}return t.count=0,r.highByte===0?Fb(e,t):t}var Fb=(r,e)=>function(){let t=C[b++];if(t===0)return e();let n=r<32?-(r+(t<<5)):r+(t<<5),i=le[n]||Xb()[n];if(!i)throw new Error("Record id is not defined for "+n);return i.read||(i.read=Nu(i,r)),i.read()};function Xb(){let r=og(()=>(C=null,ye.getStructures()));return le=ye._mergeStructures(r,le)}var ea=Pn,eg=Pn,tg=Pn,rg=Pn;fe.isNativeAccelerationEnabled=!1;function VA(r){fe.isNativeAccelerationEnabled=!0,ea=e(1),eg=e(2),tg=e(3),rg=e(5);function e(t){return function(i){let s=Xr[Si++];if(s==null){if(Me)return Pn(i);let o=C.byteOffset,l=r(b-t+o,dt+o,C.buffer);if(typeof l=="string")s=l,Xr=Mu;else if(Xr=l,Si=1,kt=1,s=Xr[0],s===void 0)throw new Error("Unexpected end of buffer")}let a=s.length;return a<=i?(b+=i,s):(er=s,ut=b,kt=b+a,b+=i,s.slice(0,i))}}}function Pn(r){let e;if(r<16&&(e=Lu(r)))return e;if(r>64&&_u)return _u.decode(C.subarray(b,b+=r));let t=b+r,n=[];for(e="";b<t;){let i=C[b++];if((i&128)===0)n.push(i);else if((i&224)===192){let s=C[b++]&63,a=(i&31)<<6|s;a<128?n.push(65533):n.push(a)}else if((i&240)===224){let s=C[b++]&63,a=C[b++]&63,o=(i&31)<<12|s<<6|a;o<2048||o>=55296&&o<=57343?n.push(65533):n.push(o)}else if((i&248)===240){let s=C[b++]&63,a=C[b++]&63,o=C[b++]&63,l=(i&7)<<18|s<<12|a<<6|o;l<65536||l>1114111?n.push(65533):(l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|l&1023),n.push(l))}else n.push(65533);n.length>=4096&&(e+=Je.apply(String,n),n.length=0)}return n.length>0&&(e+=Je.apply(String,n)),e}function Vb(r){let e=new Array(r);for(let t=0;t<r;t++)e[t]=De();return ye.freezeData?Object.freeze(e):e}function Gb(r){if(ye.mapsAsObjects){let e={};for(let t=0;t<r;t++){let n=ig();n==="__proto__"&&(n="__proto_"),e[n]=De()}return e}else{let e=new Map;for(let t=0;t<r;t++)e.set(De(),De());return e}}var Je=String.fromCharCode;function ng(r){let e=b,t=new Array(r);for(let n=0;n<r;n++){let i=C[b++];if((i&128)>0){b=e;return}t[n]=i}return Je.apply(String,t)}function Lu(r){if(r<4)if(r<2){if(r===0)return"";{let e=C[b++];if((e&128)>1){b-=1;return}return Je(e)}}else{let e=C[b++],t=C[b++];if((e&128)>0||(t&128)>0){b-=2;return}if(r<3)return Je(e,t);let n=C[b++];if((n&128)>0){b-=3;return}return Je(e,t,n)}else{let e=C[b++],t=C[b++],n=C[b++],i=C[b++];if((e&128)>0||(t&128)>0||(n&128)>0||(i&128)>0){b-=4;return}if(r<6){if(r===4)return Je(e,t,n,i);{let s=C[b++];if((s&128)>0){b-=5;return}return Je(e,t,n,i,s)}}else if(r<8){let s=C[b++],a=C[b++];if((s&128)>0||(a&128)>0){b-=6;return}if(r<7)return Je(e,t,n,i,s,a);let o=C[b++];if((o&128)>0){b-=7;return}return Je(e,t,n,i,s,a,o)}else{let s=C[b++],a=C[b++],o=C[b++],l=C[b++];if((s&128)>0||(a&128)>0||(o&128)>0||(l&128)>0){b-=8;return}if(r<10){if(r===8)return Je(e,t,n,i,s,a,o,l);{let c=C[b++];if((c&128)>0){b-=9;return}return Je(e,t,n,i,s,a,o,l,c)}}else if(r<12){let c=C[b++],u=C[b++];if((c&128)>0||(u&128)>0){b-=10;return}if(r<11)return Je(e,t,n,i,s,a,o,l,c,u);let d=C[b++];if((d&128)>0){b-=11;return}return Je(e,t,n,i,s,a,o,l,c,u,d)}else{let c=C[b++],u=C[b++],d=C[b++],p=C[b++];if((c&128)>0||(u&128)>0||(d&128)>0||(p&128)>0){b-=12;return}if(r<14){if(r===12)return Je(e,t,n,i,s,a,o,l,c,u,d,p);{let f=C[b++];if((f&128)>0){b-=13;return}return Je(e,t,n,i,s,a,o,l,c,u,d,p,f)}}else{let f=C[b++],h=C[b++];if((f&128)>0||(h&128)>0){b-=14;return}if(r<15)return Je(e,t,n,i,s,a,o,l,c,u,d,p,f,h);let g=C[b++];if((g&128)>0){b-=15;return}return Je(e,t,n,i,s,a,o,l,c,u,d,p,f,h,g)}}}}}function Yb(){let r=C[b++],e;if(r<192)e=r-160;else switch(r){case 217:e=C[b++];break;case 218:e=oe.getUint16(b),b+=2;break;case 219:e=oe.getUint32(b),b+=4;break;default:throw new Error("Expected string")}return Pn(e)}function Ru(r){return ye.copyBuffers?Uint8Array.prototype.slice.call(C,b,b+=r):C.subarray(b,b+=r)}function Zr(r){let e=C[b++];if(ze[e]){let t;return ze[e](C.subarray(b,t=b+=r),n=>{b=n;try{return De()}finally{b=t}})}else throw new Error("Unknown extension type "+e)}var Bb=new Array(4096);function ig(){let r=C[b++];if(r>=160&&r<192){if(r=r-160,kt>=b)return er.slice(b-ut,(b+=r)-ut);if(!(kt==0&&dt<180))return ea(r)}else return b--,sg(De());let e=(r<<5^(r>1?oe.getUint16(b):r>0?C[b]:0))&4095,t=Bb[e],n=b,i=b+r-3,s,a=0;if(t&&t.bytes==r){for(;n<i;){if(s=oe.getUint32(n),s!=t[a++]){n=1879048192;break}n+=4}for(i+=3;n<i;)if(s=C[n++],s!=t[a++]){n=1879048192;break}if(n===i)return b=n,t.string;i-=3,n=b}for(t=[],Bb[e]=t,t.bytes=r;n<i;)s=oe.getUint32(n),t.push(s),n+=4;for(i+=3;n<i;)s=C[n++],t.push(s);let o=r<16?Lu(r):ng(r);return o!=null?t.string=o:t.string=ea(r)}function sg(r){if(typeof r=="string")return r;if(typeof r=="number"||typeof r=="boolean"||typeof r=="bigint")return r.toString();if(r==null)return r+"";if(ye.allowArraysInMapKeys&&Array.isArray(r)&&r.flat().every(e=>["string","number","boolean","bigint"].includes(typeof e)))return r.flat().toString();throw new Error(`Invalid property type for record: ${typeof r}`)}var Wb=(r,e)=>{let t=De().map(sg),n=r;e!==void 0&&(r=r<32?-((e<<5)+r):(e<<5)+r,t.highByte=e);let i=le[r];return i&&(i.isShared||Ir)&&((le.restoreStructures||(le.restoreStructures=[]))[r]=i),le[r]=t,t.read=Nu(t,n),t.read()};ze[0]=()=>{};ze[0].noBuffer=!0;ze[66]=r=>{let e=r.byteLength%8||8,t=BigInt(r[0]&128?r[0]-256:r[0]);for(let n=1;n<e;n++)t<<=BigInt(8),t+=BigInt(r[n]);if(r.byteLength!==e){let n=new DataView(r.buffer,r.byteOffset,r.byteLength),i=(s,a)=>{let o=a-s;if(o<=40){let d=n.getBigUint64(s);for(let p=s+8;p<a;p+=8)d<<=BigInt(64),d|=n.getBigUint64(p);return d}let l=s+(o>>4<<3),c=i(s,l),u=i(l,a);return c<<BigInt((a-l)*8)|u};t=t<<BigInt((n.byteLength-e)*8)|i(e,n.byteLength)}return t};var Ub={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError=="function"?AggregateError:null};ze[101]=()=>{let r=De();if(!Ub[r[0]]){let e=Error(r[1],{cause:r[2]});return e.name=r[0],e}return Ub[r[0]](r[1],{cause:r[2]})};ze[105]=r=>{if(ye.structuredClone===!1)throw new Error("Structured clone extension is disabled");let e=oe.getUint32(b-4);tr||(tr=new Map);let t=C[b],n;t>=144&&t<160||t==220||t==221?n=[]:t>=128&&t<144||t==222||t==223?n=new Map:(t>=199&&t<=201||t>=212&&t<=216)&&C[b+1]===115?n=new Set:n={};let i={target:n};tr.set(e,i);let s=De();if(i.used)Object.assign(n,s);else return i.target=s;if(n instanceof Map)for(let[a,o]of s.entries())n.set(a,o);if(n instanceof Set)for(let a of Array.from(s))n.add(a);return n};ze[112]=r=>{if(ye.structuredClone===!1)throw new Error("Structured clone extension is disabled");let e=oe.getUint32(b-4),t=tr.get(e);return t.used=!0,t.target};ze[115]=()=>new Set(De());var ag=["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64","BigInt64","BigUint64"].map(r=>r+"Array"),GA=typeof globalThis=="object"?globalThis:window;ze[116]=r=>{let e=r[0],t=Uint8Array.prototype.slice.call(r,1).buffer,n=ag[e];if(!n){if(e===16)return t;if(e===17)return new DataView(t);throw new Error("Could not find typed array for code "+e)}return new GA[n](t)};ze[120]=()=>{let r=De();return new RegExp(r[0],r[1])};var YA=[];ze[98]=r=>{let e=(r[0]<<24)+(r[1]<<16)+(r[2]<<8)+r[3],t=b;return b+=e-r.length,Me=YA,Me=[Yb(),Yb()],Me.position0=0,Me.position1=0,Me.postBundlePosition=b,b=t,De()};ze[255]=r=>r.length==4?new Date((r[0]*16777216+(r[1]<<16)+(r[2]<<8)+r[3])*1e3):r.length==8?new Date(((r[0]<<22)+(r[1]<<14)+(r[2]<<6)+(r[3]>>2))/1e6+((r[3]&3)*4294967296+r[4]*16777216+(r[5]<<16)+(r[6]<<8)+r[7])*1e3):r.length==12?new Date(((r[0]<<24)+(r[1]<<16)+(r[2]<<8)+r[3])/1e6+((r[4]&128?-281474976710656:0)+r[6]*1099511627776+r[7]*4294967296+r[8]*16777216+(r[9]<<16)+(r[10]<<8)+r[11])*1e3):new Date("invalid");function og(r){ye&&ye._onSaveState&&ye._onSaveState();let e=dt,t=b,n=Si,i=ut,s=kt,a=er,o=Xr,l=tr,c=Me,u=new Uint8Array(C.slice(0,dt)),d=le,p=le.slice(0,le.length),f=ye,h=Ir,g=r();return dt=e,b=t,Si=n,ut=i,kt=s,er=a,Xr=o,tr=l,Me=c,C=u,Ir=h,le=d,le.splice(0,le.length,...p),ye=f,oe=new DataView(C.buffer,C.byteOffset,C.byteLength),g}function ta(){C=null,tr=null,le=null}function BA(r){r.unpack?ze[r.type]=r.unpack:ze[r.type]=r}var aa=new Array(147);for(let r=0;r<256;r++)aa[r]=+("1e"+Math.floor(45.15-r*.30103));var WA=rr,oa=new rr({useRecords:!1}),UA=oa.unpack,zA=oa.unpackMultiple,$A=oa.unpack,lg={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4},cg=new Float32Array(1),zb=new Uint8Array(cg.buffer,0,4);function HA(r){cg[0]=r;let e=aa[(zb[3]&127)<<1|zb[2]>>7];return(e*r+(r>0?.5:-.5)>>0)/e}rr.SUPPORTS_STRUCT_HOOKS=!0;var Zs;try{Zs=new TextEncoder}catch{}var ra,na,Mn=typeof Buffer<"u",Qs=Mn?function(r){return Buffer.allocUnsafeSlow(r)}:Uint8Array,ug=Mn?Buffer:Uint8Array,$b=Mn?4294967296:2144337920,S,Ki,ge,v=0,Ue,Te=null,QA=21760,ZA=/[\u0080-\uFFFF]/,_n=Symbol("record-id"),nr=class extends rr{constructor(e){super(e),this.offset=0;let t,n,i,s,a=ug.prototype.utf8Write?function(m,T){return S.utf8Write(m,T,S.byteLength-T)}:Zs&&Zs.encodeInto?function(m,T){return Zs.encodeInto(m,S.subarray(T)).written}:!1,o=this;e||(e={});let l=e&&e.sequential,c=e.structures||e.saveStructures,u=e.maxSharedStructures;if(u==null&&(u=c?32:0),u>8160)throw new Error("Maximum maxSharedStructure is 8160");e.structuredClone&&e.moreTypes==null&&(this.moreTypes=!0);let d=e.maxOwnStructures;d==null&&(d=c?32:64),!this.structures&&e.useRecords!=!1&&(this.structures=[]);let p=u>32||d+u>64,f=u+64,h=u+d+64;if(h>8256)throw new Error("Maximum maxSharedStructure + maxOwnStructure is 8192");let g=[],k=0,E=0;this.pack=this.encode=function(m,T){if(S||(S=new Qs(8192),ge=S.dataView||(S.dataView=new DataView(S.buffer,0,8192)),v=0),Ue=S.length-10,Ue-v<2048?(S=new Qs(S.length),ge=S.dataView||(S.dataView=new DataView(S.buffer,0,S.length)),Ue=S.length-10,v=0):v=v+7&2147483640,t=v,T&yg&&(v+=T&255),s=o.structuredClone?new Map:null,o.bundleStrings&&typeof m!="string"?(Te=[],Te.size=1/0):Te=null,i=o.structures,i){i.uninitialized&&(i=o._mergeStructures(o.getStructures()));let j=i.sharedLength||0;if(j>u)throw new Error("Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to "+i.sharedLength);if(!i.transitions){i.transitions=Object.create(null);for(let R=0;R<j;R++){let W=i[R];if(!W)continue;let q,G=i.transitions;for(let re=0,me=W.length;re<me;re++){let Tt=W[re];q=G[Tt],q||(q=G[Tt]=Object.create(null)),G=q}G[_n]=R+64}this.lastNamedStructuresLength=j}l||(i.nextId=j+64)}n&&(n=!1);let x;try{o._writeStruct&&m&&typeof m=="object"?m.constructor===Object?M(m):m.constructor!==Map&&!Array.isArray(m)&&!na.some(R=>m instanceof R)?M(m.toJSON?m.toJSON():m):D(m):D(m);let j=Te;if(Te&&Qb(t,D,0),s&&s.idsToInsert){let R=s.idsToInsert.sort((re,me)=>re.offset>me.offset?1:-1),W=R.length,q=-1;for(;j&&W>0;){let re=R[--W].offset+t;re<j.stringsPosition+t&&q===-1&&(q=0),re>j.position+t?q>=0&&(q+=6):(q>=0&&(ge.setUint32(j.position+t,ge.getUint32(j.position+t)+q),q=-1),j=j.previous,W++)}q>=0&&j&&ge.setUint32(j.position+t,ge.getUint32(j.position+t)+q),v+=R.length*6,v>Ue&&V(v),o.offset=v;let G=XA(S.subarray(t,v),R);return s=null,G}return o.offset=v,T&fg?(S.start=t,S.end=v,S):S.subarray(t,v)}catch(j){throw x=j,j}finally{if(i&&(I(),n&&o.saveStructures)){let j=i.sharedLength||0,R=S.subarray(t,v),W=(o._prepareStructures||tD)(i,o);if(!x)return o.saveStructures(W,W.isCompatible)===!1?o.pack(m,T):(o.lastNamedStructuresLength=j,S.length>1073741824&&(S=null),R)}S.length>1073741824&&(S=null),T&pg&&(v=t)}};let I=()=>{E<10&&E++;let m=i.sharedLength||0;if(i.length>m&&!l&&(i.length=m),k>1e4)i.transitions=null,E=0,k=0,g.length>0&&(g=[]);else if(g.length>0&&!l){for(let T=0,x=g.length;T<x;T++)g[T][_n]=0;g=[]}},O=m=>{var T=m.length;T<16?S[v++]=144|T:T<65536?(S[v++]=220,S[v++]=T>>8,S[v++]=T&255):(S[v++]=221,ge.setUint32(v,T),v+=4);for(let x=0;x<T;x++)D(m[x])},D=m=>{v>Ue&&(S=V(v));var T=typeof m,x;if(T==="string"){let j=m.length;if(Te&&j>=4&&j<4096){if((Te.size+=j)>QA){let G,re=(Te[0]?Te[0].length*3+Te[1].length:0)+10;v+re>Ue&&(S=V(v+re));let me;Te.position?(me=Te,S[v]=200,v+=3,S[v++]=98,G=v-t,v+=4,Qb(t,D,0),ge.setUint16(G+t-3,v-t-G)):(S[v++]=214,S[v++]=98,G=v-t,v+=4),Te=["",""],Te.previous=me,Te.size=0,Te.position=G}let q=ZA.test(m);Te[q?0:1]+=m,S[v++]=193,D(q?-j:j);return}let R;j<32?R=1:j<256?R=2:j<65536?R=3:R=5;let W=j*3;if(v+W>Ue&&(S=V(v+W)),j<64||!a){let q,G,re,me=v+R;for(q=0;q<j;q++)G=m.charCodeAt(q),G<128?S[me++]=G:G<2048?(S[me++]=G>>6|192,S[me++]=G&63|128):(G&64512)===55296&&((re=m.charCodeAt(q+1))&64512)===56320?(G=65536+((G&1023)<<10)+(re&1023),q++,S[me++]=G>>18|240,S[me++]=G>>12&63|128,S[me++]=G>>6&63|128,S[me++]=G&63|128):(S[me++]=G>>12|224,S[me++]=G>>6&63|128,S[me++]=G&63|128);x=me-v-R}else x=a(m,v+R);x<32?S[v++]=160|x:x<256?(R<2&&S.copyWithin(v+2,v+1,v+1+x),S[v++]=217,S[v++]=x):x<65536?(R<3&&S.copyWithin(v+3,v+2,v+2+x),S[v++]=218,S[v++]=x>>8,S[v++]=x&255):(R<5&&S.copyWithin(v+5,v+3,v+3+x),S[v++]=219,ge.setUint32(v,x),v+=4),v+=x}else if(T==="number")if(m>>>0===m)m<32||m<128&&this.useRecords===!1||m<64&&!this._writeStruct?S[v++]=m:m<256?(S[v++]=204,S[v++]=m):m<65536?(S[v++]=205,S[v++]=m>>8,S[v++]=m&255):(S[v++]=206,ge.setUint32(v,m),v+=4);else if(m>>0===m)m>=-32?S[v++]=256+m:m>=-128?(S[v++]=208,S[v++]=m+256):m>=-32768?(S[v++]=209,ge.setInt16(v,m),v+=2):(S[v++]=210,ge.setInt32(v,m),v+=4);else{let j;if((j=this.useFloat32)>0&&m<4294967296&&m>=-2147483648){S[v++]=202,ge.setFloat32(v,m);let R;if(j<4||(R=m*aa[(S[v]&127)<<1|S[v+1]>>7])>>0===R){v+=4;return}else v--}S[v++]=203,ge.setFloat64(v,m),v+=8}else if(T==="object"||T==="function")if(!m)S[v++]=192;else{if(s){let R=s.get(m);if(R){if(!R.id){let W=s.idsToInsert||(s.idsToInsert=[]);R.id=W.push(R)}S[v++]=214,S[v++]=112,ge.setUint32(v,R.id),v+=4;return}else s.set(m,{offset:v-t})}let j=m.constructor;if(j===Object)K(m);else if(j===Array)O(m);else if(j===Map)if(this.mapAsEmptyObject)S[v++]=128;else{x=m.size,x<16?S[v++]=128|x:x<65536?(S[v++]=222,S[v++]=x>>8,S[v++]=x&255):(S[v++]=223,ge.setUint32(v,x),v+=4);for(let[R,W]of m)D(R),D(W)}else{for(let R=0,W=ra.length;R<W;R++){let q=na[R];if(m instanceof q){let G=ra[R];if(G.write){G.type&&(S[v++]=212,S[v++]=G.type,S[v++]=0);let zt=G.write.call(this,m);zt===m?Array.isArray(m)?O(m):K(m):D(zt);return}let re=S,me=ge,Tt=v;S=null;let jt;try{jt=G.pack.call(this,m,zt=>(S=re,re=null,v+=zt,v>Ue&&V(v),{target:S,targetView:ge,position:v-zt}),D)}finally{re&&(S=re,ge=me,v=Tt,Ue=S.length-10)}jt&&(jt.length+v>Ue&&V(jt.length+v),v=Hb(jt,S,v,G.type));return}}if(Array.isArray(m))O(m);else{if(m.toJSON){let R=m.toJSON();if(R!==m)return D(R)}if(T==="function")return D(this.writeFunction&&this.writeFunction(m));K(m)}}}else if(T==="boolean")S[v++]=m?195:194;else if(T==="bigint"){if(m<9223372036854776e3&&m>=-9223372036854776e3)S[v++]=211,ge.setBigInt64(v,m);else if(m<18446744073709552e3&&m>0)S[v++]=207,ge.setBigUint64(v,m);else if(this.largeBigIntToFloat)S[v++]=203,ge.setFloat64(v,Number(m));else{if(this.largeBigIntToString)return D(m.toString());if(this.useBigIntExtension||this.moreTypes){let j=m<0?BigInt(-1):BigInt(0),R;if(m>>BigInt(65536)===j){let W=BigInt(18446744073709552e3)-BigInt(1),q=[];for(;q.push(m&W),m>>BigInt(63)!==j;)m>>=BigInt(64);R=new Uint8Array(new BigUint64Array(q).buffer),R.reverse()}else{let W=m<0,q=(W?~m:m).toString(16);if(q.length%2?q="0"+q:parseInt(q.charAt(0),16)>=8&&(q="00"+q),Mn)R=Buffer.from(q,"hex");else{R=new Uint8Array(q.length/2);for(let G=0;G<R.length;G++)R[G]=parseInt(q.slice(G*2,G*2+2),16)}if(W)for(let G=0;G<R.length;G++)R[G]=~R[G]}R.length+v>Ue&&V(R.length+v),v=Hb(R,S,v,66);return}else throw new RangeError(m+" was too large to fit in MessagePack 64-bit integer format, use useBigIntExtension, or set largeBigIntToFloat to convert to float-64, or set largeBigIntToString to convert to string")}v+=8}else if(T==="undefined")this.encodeUndefinedAsNil?S[v++]=192:(S[v++]=212,S[v++]=0,S[v++]=0);else throw new Error("Unknown type: "+T)},B=this.variableMapSize||this.coercibleKeyAsNumber||this.skipValues?m=>{let T;if(this.skipValues){T=[];for(let R in m)(typeof m.hasOwnProperty!="function"||m.hasOwnProperty(R))&&!this.skipValues.includes(m[R])&&T.push(R)}else T=Object.keys(m);let x=T.length;x<16?S[v++]=128|x:x<65536?(S[v++]=222,S[v++]=x>>8,S[v++]=x&255):(S[v++]=223,ge.setUint32(v,x),v+=4);let j;if(this.coercibleKeyAsNumber)for(let R=0;R<x;R++){j=T[R];let W=Number(j);D(isNaN(W)?j:W),D(m[j])}else for(let R=0;R<x;R++)D(j=T[R]),D(m[j])}:m=>{S[v++]=222;let T=v-t;v+=2;let x=0;for(let j in m)(typeof m.hasOwnProperty!="function"||m.hasOwnProperty(j))&&(D(j),D(m[j]),x++);if(x>65535)throw new Error('Object is too large to serialize with fast 16-bit map size, use the "variableMapSize" option to serialize this object');S[T+++t]=x>>8,S[T+t]=x&255},ae=this.useRecords===!1?B:e.progressiveRecords&&!p?m=>{let T,x=i.transitions||(i.transitions=Object.create(null)),j=v++-t,R;for(let W in m)if(typeof m.hasOwnProperty!="function"||m.hasOwnProperty(W)){if(T=x[W],T)x=T;else{let q=Object.keys(m),G=x;x=i.transitions;let re=0;for(let me=0,Tt=q.length;me<Tt;me++){let jt=q[me];T=x[jt],T||(T=x[jt]=Object.create(null),re++),x=T}j+t+1==v?(v--,_(x,q,re)):A(x,q,j,re),R=!0,x=G[W]}D(m[W])}if(!R){let W=x[_n];W?S[j+t]=W:A(x,Object.keys(m),j,0)}}:m=>{let T,x=i.transitions||(i.transitions=Object.create(null)),j=0;for(let W in m)(typeof m.hasOwnProperty!="function"||m.hasOwnProperty(W))&&(T=x[W],T||(T=x[W]=Object.create(null),j++),x=T);let R=x[_n];R?R>=96&&p?(S[v++]=((R-=96)&31)+96,S[v++]=R>>5):S[v++]=R:_(x,x.__keys__||Object.keys(m),j);for(let W in m)(typeof m.hasOwnProperty!="function"||m.hasOwnProperty(W))&&D(m[W])},w=typeof this.useRecords=="function"&&this.useRecords,K=w?m=>{w(m)?ae(m):B(m)}:ae,M=m=>{let T=o._writeStruct(m,S,t,v,i,V,(x,j,R)=>{if(R)return n=!0;v=j;let W=S;return D(x),I(),W!==S?{position:v,targetView:ge,target:S}:v});if(T===0)return K(m);v=T},V=m=>{let T;if(m>16777216){if(m-t>$b)throw new Error("Packed buffer would be larger than maximum buffer size");T=Math.min($b,Math.round(Math.max((m-t)*(m>67108864?1.25:2),4194304)/4096)*4096)}else T=(Math.max(m-t<<2,S.length-1)>>12)+1<<12;let x=new Qs(T);return ge=x.dataView||(x.dataView=new DataView(x.buffer,0,T)),m=Math.min(m,S.length),S.copy?S.copy(x,0,t,m):x.set(S.slice(t,m)),v-=t,t=0,Ue=x.length-10,S=x},_=(m,T,x)=>{let j=i.nextId;j||(j=64),j<f&&this.shouldShareStructure&&!this.shouldShareStructure(T)?(j=i.nextOwnId,j<h||(j=f),i.nextOwnId=j+1):(j>=h&&(j=f),i.nextId=j+1);let R=T.highByte=j>=96&&p?j-96>>5:-1;m[_n]=j,m.__keys__=T,i[j-64]=T,j<f?(T.isShared=!0,i.sharedLength=j-63,n=!0,R>=0?(S[v++]=(j&31)+96,S[v++]=R):S[v++]=j):(R>=0?(S[v++]=213,S[v++]=114,S[v++]=(j&31)+96,S[v++]=R):(S[v++]=212,S[v++]=114,S[v++]=j),x&&(k+=E*x),g.length>=d&&(g.shift()[_n]=0),g.push(m),D(T))},A=(m,T,x,j)=>{let R=S,W=v,q=Ue,G=t;S=Ki,v=0,t=0,S||(Ki=S=new Qs(8192)),Ue=S.length-10,_(m,T,j),Ki=S;let re=v;if(S=R,v=W,Ue=q,t=G,re>1){let me=v+re-1;me>Ue&&V(me);let Tt=x+t;S.copyWithin(Tt+re,Tt+1,v),S.set(Ki.slice(0,re),Tt),v=me}else S[x+t]=Ki[0]}}useBuffer(e){S=e,S.dataView||(S.dataView=new DataView(S.buffer,S.byteOffset,S.byteLength)),ge=S.dataView,v=0}set position(e){v=e}get position(){return v}clearSharedData(){this.structures&&(this.structures=[]),this.typedStructs&&(this.typedStructs=[])}};na=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,Xs];ra=[{pack(r,e,t){let n=r.getTime()/1e3;if((this.useTimestamp32||r.getMilliseconds()===0)&&n>=0&&n<4294967296){let{target:i,targetView:s,position:a}=e(6);i[a++]=214,i[a++]=255,s.setUint32(a,n)}else if(n>0&&n<4294967296){let{target:i,targetView:s,position:a}=e(10);i[a++]=215,i[a++]=255,s.setUint32(a,r.getMilliseconds()*4e6+(n/1e3/4294967296>>0)),s.setUint32(a+4,n)}else if(isNaN(n)){if(this.onInvalidDate)return e(0),t(this.onInvalidDate());let{target:i,targetView:s,position:a}=e(3);i[a++]=212,i[a++]=255,i[a++]=255}else{let{target:i,targetView:s,position:a}=e(15);i[a++]=199,i[a++]=12,i[a++]=255,s.setUint32(a,r.getMilliseconds()*1e6),s.setBigInt64(a+4,BigInt(Math.floor(n)))}}},{pack(r,e,t){if(this.setAsEmptyObject)return e(0),t({});let n=Array.from(r),{target:i,position:s}=e(this.moreTypes?3:0);this.moreTypes&&(i[s++]=212,i[s++]=115,i[s++]=0),t(n)}},{pack(r,e,t){let{target:n,position:i}=e(this.moreTypes?3:0);this.moreTypes&&(n[i++]=212,n[i++]=101,n[i++]=0),t([r.name,r.message,r.cause])}},{pack(r,e,t){let{target:n,position:i}=e(this.moreTypes?3:0);this.moreTypes&&(n[i++]=212,n[i++]=120,n[i++]=0),t([r.source,r.flags])}},{pack(r,e){this.moreTypes?Ou(r,16,e):Cu(Mn?Buffer.from(r):new Uint8Array(r),e)}},{pack(r,e){let t=r.constructor;t!==ug&&this.moreTypes?Ou(r,ag.indexOf(t.name),e):Cu(r,e)}},{pack(r,e){this.moreTypes?Ou(r,17,e):Cu(Mn?Buffer.from(r):new Uint8Array(r),e)}},{pack(r,e){let{target:t,position:n}=e(1);t[n]=193}}];function Ou(r,e,t,n){let i=r.byteLength;if(i+1<256){var{target:s,position:a}=t(4+i);s[a++]=199,s[a++]=i+1}else if(i+1<65536){var{target:s,position:a}=t(5+i);s[a++]=200,s[a++]=i+1>>8,s[a++]=i+1&255}else{var{target:s,position:a,targetView:o}=t(7+i);s[a++]=201,o.setUint32(a,i+1),a+=4}s[a++]=116,s[a++]=e,r.buffer||(r=new Uint8Array(r)),s.set(new Uint8Array(r.buffer,r.byteOffset,r.byteLength),a)}function Cu(r,e){let t=r.byteLength;var n,i;if(t<256){var{target:n,position:i}=e(t+2);n[i++]=196,n[i++]=t}else if(t<65536){var{target:n,position:i}=e(t+3);n[i++]=197,n[i++]=t>>8,n[i++]=t&255}else{var{target:n,position:i,targetView:s}=e(t+5);n[i++]=198,s.setUint32(i,t),i+=4}n.set(r,i)}function Hb(r,e,t,n){let i=r.length;switch(i){case 1:e[t++]=212;break;case 2:e[t++]=213;break;case 4:e[t++]=214;break;case 8:e[t++]=215;break;case 16:e[t++]=216;break;default:i<256?(e[t++]=199,e[t++]=i):i<65536?(e[t++]=200,e[t++]=i>>8,e[t++]=i&255):(e[t++]=201,e[t++]=i>>24,e[t++]=i>>16&255,e[t++]=i>>8&255,e[t++]=i&255)}return e[t++]=n,e.set(r,t),t+=i,t}function XA(r,e){let t,n=e.length*6,i=r.length-n;for(;t=e.pop();){let s=t.offset,a=t.id;r.copyWithin(s+n,s,i),n-=6;let o=s+n;r[o++]=214,r[o++]=105,r[o++]=a>>24,r[o++]=a>>16&255,r[o++]=a>>8&255,r[o++]=a&255,i=s}return r}function Qb(r,e,t){if(Te.length>0){ge.setUint32(Te.position+r,v+t-Te.position-r),Te.stringsPosition=v-r;let n=Te;Te=null,e(n[0]),e(n[1])}}function eD(r){if(r.Class){if(!r.pack&&!r.write)throw new Error("Extension has no pack or write function");if(r.pack&&!r.type)throw new Error("Extension has no type (numeric code to identify the extension)");na.unshift(r.Class),ra.unshift(r)}BA(r)}function tD(r,e){return r.isCompatible=t=>{let n=!t||(e.lastNamedStructuresLength||0)===t.length;return n||e._mergeStructures(t),n},r}nr.SUPPORTS_STRUCT_HOOKS=!0;var dg=new nr({useRecords:!1}),rD=dg.pack,nD=dg.pack,iD=nr,{NEVER:sD,ALWAYS:aD,DECIMAL_ROUND:oD,DECIMAL_FIT:lD}=lg,fg=512,pg=1024,yg=2048,ia=class extends Zb.Transform{constructor(e){e||(e={}),e.writableObjectMode=!0,super(e),e.sequential=!0,this.packr=e.packr||new nr(e)}_transform(e,t,n){this.push(this.packr.pack(e)),n()}},sa=class extends Zb.Transform{constructor(e){e||(e={}),e.objectMode=!0,super(e),e.structures=[],this.maxIncompleteBufferSize=e.maxIncompleteBufferSize!==void 0?e.maxIncompleteBufferSize:67108864,this.unpackr=e.unpackr||new rr(e)}_transform(e,t,n){this.incompleteBuffer&&(e=Buffer.concat([this.incompleteBuffer,e]),this.incompleteBuffer=null);let i;try{i=this.unpackr.unpackMultiple(e)}catch(s){if(s.incomplete){let a=e.slice(s.lastPosition);if(a.length>this.maxIncompleteBufferSize)return this.incompleteBuffer=null,n(new Error("Maximum incomplete buffer size exceeded"));this.incompleteBuffer=a,i=s.values}else return n(s)}for(let s of i||[])s===null&&(s=this.getNullValue()),this.push(s);n()}getNullValue(){return Symbol.for(null)}};function cD(r,e={}){if(!r||typeof r!="object")throw new Error("first argument must be an Iterable, Async Iterable, or a Promise for an Async Iterable");if(typeof r[Symbol.iterator]=="function")return uD(r,e);if(typeof r.then=="function"||typeof r[Symbol.asyncIterator]=="function")return dD(r,e);throw new Error("first argument must be an Iterable, Async Iterable, Iterator, Async Iterator, or a Promise")}function*uD(r,e){let t=new nr(e);for(let n of r)yield t.pack(n)}async function*dD(r,e){let t=new nr(e);for await(let n of r)yield t.pack(n)}function fD(r,e={}){if(!r||typeof r!="object")throw new Error("first argument must be an Iterable, Async Iterable, Iterator, Async Iterator, or a promise");let t=new rr(e),n,i=s=>{let a;n&&(s=Buffer.concat([n,s]),n=void 0);try{a=t.unpackMultiple(s)}catch(o){if(o.incomplete)n=s.slice(o.lastPosition),a=o.values;else throw o}return a};if(typeof r[Symbol.iterator]=="function")return(function*(){for(let a of r)yield*i(a)})();if(typeof r[Symbol.asyncIterator]=="function")return(async function*(){for await(let a of r)yield*i(a)})()}var pD=fD,yD=cD,hD=!1,mD=!0,bD=process.env.MSGPACKR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.MSGPACKR_NATIVE_ACCELERATION_DISABLED.toLowerCase()==="true";if(!bD){let r;try{typeof Y=="function"?r=Nb():r=JA.createRequire(typeof document>"u"?new(Y("url")).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("node.cjs",document.baseURI).href)("msgpackr-extract"),r&&VA(r.extractStrings)}catch{}}fe.ALWAYS=aD;fe.C1=Pu;fe.DECIMAL_FIT=lD;fe.DECIMAL_ROUND=oD;fe.Decoder=WA;fe.DecoderStream=sa;fe.Encoder=iD;fe.EncoderStream=ia;fe.FLOAT32_OPTIONS=lg;fe.NEVER=sD;fe.Packr=nr;fe.PackrStream=ia;fe.RESERVE_START_SPACE=yg;fe.RESET_BUFFER_MODE=pg;fe.REUSE_BUFFER_MODE=fg;fe.Unpackr=rr;fe.UnpackrStream=sa;fe.addExtension=eD;fe.clearSource=ta;fe.decode=$A;fe.decodeIter=pD;fe.encode=nD;fe.encodeIter=yD;fe.mapsAsObjects=mD;fe.pack=rD;fe.roundFloat32=HA;fe.unpack=UA;fe.unpackMultiple=zA;fe.useRecords=hD});var ca=y(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.version=void 0;la.version="5.76.6"});var Ju=y(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.Scripts=void 0;Ei.raw2NextJobData=ua;var gD=hg(),vD=new gD.Packr({useRecords:!1,encodeUndefinedAsNil:!0}),Pe=vD.pack,Rt=st(),xr=ct(),KD=ca(),SD=Ys(),qu=class{constructor(e){this.queue=e,this.version=KD.version;let t=this.queue.keys;this.moveToFinishedKeys=[t.wait,t.active,t.prioritized,t.events,t.stalled,t.limiter,t.delayed,t.paused,t.meta,t.pc,void 0,void 0,void 0,void 0]}execCommand(e,t,n){let i=`${t}:${this.version}`;return e[i](n)}async isJobInList(e,t){let n=await this.queue.client,i;return(0,xr.isRedisVersionLowerThan)(this.queue.redisVersion,"6.0.6",this.queue.databaseType)?i=await this.execCommand(n,"isJobInList",[e,t]):i=await n.lpos(e,t),Number.isInteger(i)}addDelayedJobArgs(e,t,n){let i=this.queue.keys,s=[i.marker,i.meta,i.id,i.delayed,i.completed,i.events];return s.push(Pe(n),e.data,t),s}addDelayedJob(e,t,n,i){let s=this.addDelayedJobArgs(t,n,i);return this.execCommand(e,"addDelayedJob",s)}addPrioritizedJobArgs(e,t,n){let i=this.queue.keys,s=[i.marker,i.meta,i.id,i.prioritized,i.delayed,i.completed,i.active,i.events,i.pc];return s.push(Pe(n),e.data,t),s}addPrioritizedJob(e,t,n,i){let s=this.addPrioritizedJobArgs(t,n,i);return this.execCommand(e,"addPrioritizedJob",s)}addParentJobArgs(e,t,n){let i=this.queue.keys,s=[i.meta,i.id,i.delayed,i["waiting-children"],i.completed,i.events];return s.push(Pe(n),e.data,t),s}addParentJob(e,t,n,i){let s=this.addParentJobArgs(t,n,i);return this.execCommand(e,"addParentJob",s)}addStandardJobArgs(e,t,n){let i=this.queue.keys,s=[i.wait,i.paused,i.meta,i.id,i.completed,i.delayed,i.active,i.events,i.marker];return s.push(Pe(n),e.data,t),s}addStandardJob(e,t,n,i){let s=this.addStandardJobArgs(t,n,i);return this.execCommand(e,"addStandardJob",s)}async addJob(e,t,n,i,s={}){let a=this.queue.keys,o=t.parent,l=[a[""],typeof i<"u"?i:"",t.name,t.timestamp,t.parentKey||null,s.parentDependenciesKey||null,o,t.repeatJobKey,t.deduplicationId?`${a.de}:${t.deduplicationId}`:null],c;if(n.repeat){let d=Object.assign({},n.repeat);d.startDate&&(d.startDate=+new Date(d.startDate)),d.endDate&&(d.endDate=+new Date(d.endDate)),c=Pe(Object.assign(Object.assign({},n),{repeat:d}))}else c=Pe(n);let u;if(s.addToWaitingChildren?u=await this.addParentJob(e,t,c,l):typeof n.delay=="number"&&n.delay>0?u=await this.addDelayedJob(e,t,c,l):n.priority?u=await this.addPrioritizedJob(e,t,c,l):u=await this.addStandardJob(e,t,c,l),u<0)throw this.finishedErrors({code:u,parentKey:s.parentKey,command:"addJob"});return u}pauseArgs(e){let t="wait",n="paused";e||(t="paused",n="wait");let i=[t,n,"meta","prioritized"].map(a=>this.queue.toKey(a));i.push(this.queue.keys.events,this.queue.keys.delayed,this.queue.keys.marker);let s=[e?"paused":"resumed"];return i.concat(s)}async pause(e){let t=await this.queue.client,n=this.pauseArgs(e);return this.execCommand(t,"pause",n)}addRepeatableJobArgs(e,t,n,i){let s=this.queue.keys,a=[s.repeat,s.delayed],o=[t,Pe(n),i,e,s[""]];return a.concat(o)}async addRepeatableJob(e,t,n,i){let s=await this.queue.client,a=this.addRepeatableJobArgs(e,t,n,i);return this.execCommand(s,"addRepeatableJob",a)}async removeDeduplicationKey(e,t){let n=await this.queue.client,s=[`${this.queue.keys.de}:${e}`],a=[t];return this.execCommand(n,"removeDeduplicationKey",s.concat(a))}async addJobScheduler(e,t,n,i,s,a,o){let l=await this.queue.client,c=this.queue.keys,u=[c.repeat,c.delayed,c.wait,c.paused,c.meta,c.prioritized,c.marker,c.id,c.events,c.pc,c.active],d=[t,Pe(s),e,n,Pe(i),Pe(a),Date.now(),c[""],o?this.queue.toKey(o):""],p=await this.execCommand(l,"addJobScheduler",u.concat(d));if(typeof p=="number"&&p<0)throw this.finishedErrors({code:p,command:"addJobScheduler"});return p}async updateRepeatableJobMillis(e,t,n,i){let s=[this.queue.keys.repeat,n,t,i];return this.execCommand(e,"updateRepeatableJobMillis",s)}async updateJobSchedulerNextMillis(e,t,n,i,s){let a=await this.queue.client,o=this.queue.keys,l=[o.repeat,o.delayed,o.wait,o.paused,o.meta,o.prioritized,o.marker,o.id,o.events,o.pc,s?this.queue.toKey(s):"",o.active],c=[t,e,n,Pe(i),Date.now(),o[""],s];return this.execCommand(a,"updateJobScheduler",l.concat(c))}removeRepeatableArgs(e,t,n){let i=this.queue.keys,s=[i.repeat,i.delayed,i.events],a=[e,this.getRepeatConcatOptions(t,n),n,i[""]];return s.concat(a)}getRepeatConcatOptions(e,t){return t&&t.split(":").length>2?t:e}async removeRepeatable(e,t,n){let i=await this.queue.client,s=this.removeRepeatableArgs(e,t,n);return this.execCommand(i,"removeRepeatable",s)}async removeJobScheduler(e){let t=await this.queue.client,n=this.queue.keys,i=[n.repeat,n.delayed,n.events],s=[e,n[""]];return this.execCommand(t,"removeJobScheduler",i.concat(s))}removeArgs(e,t){let n=[e,"repeat"].map(s=>this.queue.toKey(s)),i=[e,t?1:0,this.queue.toKey("")];return n.concat(i)}async remove(e,t){let n=await this.queue.client,i=this.removeArgs(e,t),s=await this.execCommand(n,"removeJob",i);if(s<0)throw this.finishedErrors({code:s,jobId:e,command:"removeJob"});return s}async removeUnprocessedChildren(e){let t=await this.queue.client,n=[this.queue.toKey(e),this.queue.keys.meta,this.queue.toKey(""),e];await this.execCommand(t,"removeUnprocessedChildren",n)}async extendLock(e,t,n,i){i=i||await this.queue.client;let s=[this.queue.toKey(e)+":lock",this.queue.keys.stalled,t,n,e];return this.execCommand(i,"extendLock",s)}async extendLocks(e,t,n){let i=await this.queue.client,s=[this.queue.keys.stalled,this.queue.toKey(""),Pe(t),Pe(e),n];return this.execCommand(i,"extendLocks",s)}async updateData(e,t){let n=await this.queue.client,i=[this.queue.toKey(e.id)],s=JSON.stringify(t),a=await this.execCommand(n,"updateData",i.concat([s]));if(a<0)throw this.finishedErrors({code:a,jobId:e.id,command:"updateData"})}async updateProgress(e,t){let n=await this.queue.client,i=[this.queue.toKey(e),this.queue.keys.events,this.queue.keys.meta],s=JSON.stringify(t),a=await this.execCommand(n,"updateProgress",i.concat([e,s]));if(a<0)throw this.finishedErrors({code:a,jobId:e,command:"updateProgress"})}async addLog(e,t,n){let i=await this.queue.client,s=[this.queue.toKey(e),this.queue.toKey(e)+":logs"],a=await this.execCommand(i,"addLog",s.concat([e,t,n||""]));if(a<0)throw this.finishedErrors({code:a,jobId:e,command:"addLog"});return a}moveToFinishedArgs(e,t,n,i,s,a,o,l=!0,c){var u,d,p,f,h,g,k;let E=this.queue.keys,I=this.queue.opts,O=s==="completed"?I.removeOnComplete:I.removeOnFail,D=this.queue.toKey(`metrics:${s}`),B=this.moveToFinishedKeys;B[10]=E[s],B[11]=this.queue.toKey((u=e.id)!==null&&u!==void 0?u:""),B[12]=D,B[13]=this.queue.keys.marker;let ae=this.getKeepJobs(i,O),w=[e.id,o,n,typeof t>"u"?"null":t,s,!l||this.queue.closing?0:1,E[""],Pe({token:a,name:I.name,keepJobs:ae,limiter:I.limiter,lockDuration:I.lockDuration,attempts:e.opts.attempts,maxMetricsSize:!((d=I.metrics)===null||d===void 0)&&d.maxDataPoints?(p=I.metrics)===null||p===void 0?void 0:p.maxDataPoints:"",fpof:!!(!((f=e.opts)===null||f===void 0)&&f.failParentOnFailure),cpof:!!(!((h=e.opts)===null||h===void 0)&&h.continueParentOnFailure),idof:!!(!((g=e.opts)===null||g===void 0)&&g.ignoreDependencyOnFailure),rdof:!!(!((k=e.opts)===null||k===void 0)&&k.removeDependencyOnFailure)}),c?Pe((0,xr.objectToFlatArray)(c)):void 0];return B.concat(w)}getKeepJobs(e,t){return typeof e>"u"?t||{count:e?0:-1}:typeof e=="object"?e:typeof e=="number"?{count:e}:{count:e?0:-1}}async moveToFinished(e,t){let n=await this.queue.client,i=await this.execCommand(n,"moveToFinished",t);if(i<0)throw this.finishedErrors({code:i,jobId:e,command:"moveToFinished",state:"active"});if(typeof i<"u")return ua(i)}drainArgs(e){let t=this.queue.keys,n=[t.wait,t.paused,t.delayed,t.prioritized,t.repeat],i=[t[""],e?"1":"0"];return n.concat(i)}async drain(e){let t=await this.queue.client,n=this.drainArgs(e);return this.execCommand(t,"drain",n)}removeChildDependencyArgs(e,t){let i=[this.queue.keys[""]],s=[this.queue.toKey(e),t];return i.concat(s)}async removeChildDependency(e,t){let n=await this.queue.client,i=this.removeChildDependencyArgs(e,t),s=await this.execCommand(n,"removeChildDependency",i);switch(s){case 0:return!0;case 1:return!1;default:throw this.finishedErrors({code:s,jobId:e,parentKey:t,command:"removeChildDependency"})}}getRangesArgs(e,t,n,i){let s=this.queue.keys,a=e.map(c=>c==="waiting"?"wait":c),o=[s[""]],l=[t,n,i?"1":"0",...a];return o.concat(l)}async getRanges(e,t=0,n=1,i=!1){let s=await this.queue.client,a=this.getRangesArgs(e,t,n,i);return await this.execCommand(s,"getRanges",a)}getCountsArgs(e){let t=this.queue.keys,n=e.map(a=>a==="waiting"?"wait":a),i=[t[""]],s=[...n];return i.concat(s)}async getCounts(e){let t=await this.queue.client,n=this.getCountsArgs(e);return await this.execCommand(t,"getCounts",n)}getCountsPerPriorityArgs(e){let t=[this.queue.keys.wait,this.queue.keys.paused,this.queue.keys.meta,this.queue.keys.prioritized],n=e;return t.concat(n)}async getCountsPerPriority(e){let t=await this.queue.client,n=this.getCountsPerPriorityArgs(e);return await this.execCommand(t,"getCountsPerPriority",n)}getDependencyCountsArgs(e,t){let n=[`${e}:processed`,`${e}:dependencies`,`${e}:failed`,`${e}:unsuccessful`].map(s=>this.queue.toKey(s)),i=t;return n.concat(i)}async getDependencyCounts(e,t){let n=await this.queue.client,i=this.getDependencyCountsArgs(e,t);return await this.execCommand(n,"getDependencyCounts",i)}moveToCompletedArgs(e,t,n,i,s=!1){let a=Date.now();return this.moveToFinishedArgs(e,t,"returnvalue",n,"completed",i,a,s)}moveToFailedArgs(e,t,n,i,s=!1,a){let o=Date.now();return this.moveToFinishedArgs(e,t,"failedReason",n,"failed",i,o,s,a)}async isFinished(e,t=!1){let n=await this.queue.client,i=["completed","failed",e].map(s=>this.queue.toKey(s));return this.execCommand(n,"isFinished",i.concat([e,t?"1":""]))}async getState(e){let t=await this.queue.client,n=["completed","failed","delayed","active","wait","paused","waiting-children","prioritized"].map(i=>this.queue.toKey(i));return(0,xr.isRedisVersionLowerThan)(this.queue.redisVersion,"6.0.6",this.queue.databaseType)?this.execCommand(t,"getState",n.concat([e])):this.execCommand(t,"getStateV2",n.concat([e]))}async changeDelay(e,t){let n=await this.queue.client,i=this.changeDelayArgs(e,t),s=await this.execCommand(n,"changeDelay",i);if(s<0)throw this.finishedErrors({code:s,jobId:e,command:"changeDelay",state:"delayed"})}changeDelayArgs(e,t){let n=Date.now();return[this.queue.keys.delayed,this.queue.keys.meta,this.queue.keys.marker,this.queue.keys.events].concat([t,JSON.stringify(n),e,this.queue.toKey(e)])}async changePriority(e,t=0,n=!1){let i=await this.queue.client,s=this.changePriorityArgs(e,t,n),a=await this.execCommand(i,"changePriority",s);if(a<0)throw this.finishedErrors({code:a,jobId:e,command:"changePriority"})}changePriorityArgs(e,t=0,n=!1){return[this.queue.keys.wait,this.queue.keys.paused,this.queue.keys.meta,this.queue.keys.prioritized,this.queue.keys.active,this.queue.keys.pc,this.queue.keys.marker].concat([t,this.queue.toKey(""),e,n?1:0])}moveToDelayedArgs(e,t,n,i,s={}){let a=this.queue.keys,o=this.queue.opts,l=[a.marker,a.active,a.prioritized,a.delayed,this.queue.toKey(e),a.events,a.meta,a.stalled,a.wait,a.limiter,a.paused,a.pc],c=s.fetchNext&&!this.queue.closing?1:0;return l.concat([this.queue.keys[""],t,e,n,i,s.skipAttempt?"1":"0",s.fieldsToUpdate?Pe((0,xr.objectToFlatArray)(s.fieldsToUpdate)):void 0,c,c?Pe({token:n,lockDuration:o.lockDuration,limiter:o.limiter,name:o.name}):void 0])}moveToWaitingChildrenArgs(e,t,n){let i=Date.now(),s=(0,xr.getParentKey)(n.child);return["active","waiting-children",e,`${e}:dependencies`,`${e}:unsuccessful`,"stalled","events"].map(o=>this.queue.toKey(o)).concat([t,s??"",JSON.stringify(i),e,this.queue.toKey("")])}isMaxedArgs(){let e=this.queue.keys;return[e.meta,e.active]}async isMaxed(){let e=await this.queue.client,t=this.isMaxedArgs();return!!await this.execCommand(e,"isMaxed",t)}async moveToDelayed(e,t,n,i="0",s={}){let a=await this.queue.client,o=this.moveToDelayedArgs(e,t,i,n,s),l=await this.execCommand(a,"moveToDelayed",o);if(l<0)throw this.finishedErrors({code:l,jobId:e,command:"moveToDelayed",state:"active"});if(typeof l<"u")return ua(l)}async moveToWaitingChildren(e,t,n={}){let i=await this.queue.client,s=this.moveToWaitingChildrenArgs(e,t,n),a=await this.execCommand(i,"moveToWaitingChildren",s);switch(a){case 0:return!0;case 1:return!1;default:throw this.finishedErrors({code:a,jobId:e,command:"moveToWaitingChildren",state:"active"})}}getRateLimitTtlArgs(e){return[this.queue.keys.limiter,this.queue.keys.meta].concat([e??"0"])}async getRateLimitTtl(e){let t=await this.queue.client,n=this.getRateLimitTtlArgs(e);return this.execCommand(t,"getRateLimitTtl",n)}async cleanJobsInSet(e,t,n=0){let i=await this.queue.client;return this.execCommand(i,"cleanJobsInSet",[this.queue.toKey(e),this.queue.toKey("events"),this.queue.toKey("repeat"),this.queue.toKey(""),t,n,e])}getJobSchedulerArgs(e){return[this.queue.keys.repeat].concat([e])}async getJobScheduler(e){let t=await this.queue.client,n=this.getJobSchedulerArgs(e);return this.execCommand(t,"getJobScheduler",n)}retryJobArgs(e,t,n,i={}){let s=[this.queue.keys.active,this.queue.keys.wait,this.queue.keys.paused,this.queue.toKey(e),this.queue.keys.meta,this.queue.keys.events,this.queue.keys.delayed,this.queue.keys.prioritized,this.queue.keys.pc,this.queue.keys.marker,this.queue.keys.stalled],a=(t?"R":"L")+"PUSH";return s.concat([this.queue.toKey(""),Date.now(),a,e,n,i.fieldsToUpdate?Pe((0,xr.objectToFlatArray)(i.fieldsToUpdate)):void 0])}async retryJob(e,t,n="0",i={}){let s=await this.queue.client,a=this.retryJobArgs(e,t,n,i),o=await this.execCommand(s,"retryJob",a);if(o<0)throw this.finishedErrors({code:o,jobId:e,command:"retryJob",state:"active"})}moveJobsToWaitArgs(e,t,n){let i=[this.queue.toKey(""),this.queue.keys.events,this.queue.toKey(e),this.queue.toKey("wait"),this.queue.toKey("paused"),this.queue.keys.meta,this.queue.keys.active,this.queue.keys.marker],s=[t,n,e];return i.concat(s)}async retryJobs(e="failed",t=1e3,n=new Date().getTime()){let i=await this.queue.client,s=this.moveJobsToWaitArgs(e,t,n);return this.execCommand(i,"moveJobsToWait",s)}async promoteJobs(e=1e3){let t=await this.queue.client,n=this.moveJobsToWaitArgs("delayed",e,Number.MAX_VALUE);return this.execCommand(t,"moveJobsToWait",n)}async reprocessJob(e,t,n={}){let i=await this.queue.client,s=[this.queue.toKey(e.id),this.queue.keys.events,this.queue.toKey(t),this.queue.keys.wait,this.queue.keys.meta,this.queue.keys.paused,this.queue.keys.active,this.queue.keys.marker],a=[e.id,(e.opts.lifo?"R":"L")+"PUSH",t==="failed"?"failedReason":"returnvalue",t,n.resetAttemptsMade?"1":"0",n.resetAttemptsStarted?"1":"0"],o=await this.execCommand(i,"reprocessJob",s.concat(a));if(o!==1)throw this.finishedErrors({code:o,jobId:e.id,command:"reprocessJob",state:t})}async getMetrics(e,t=0,n=-1){let i=await this.queue.client,s=[this.queue.toKey(`metrics:${e}`),this.queue.toKey(`metrics:${e}:data`)],a=[t,n];return await this.execCommand(i,"getMetrics",s.concat(a))}async moveToActive(e,t,n){let i=this.queue.opts,s=this.queue.keys,a=[s.wait,s.active,s.prioritized,s.events,s.stalled,s.limiter,s.delayed,s.paused,s.meta,s.pc,s.marker],o=[s[""],Date.now(),Pe({token:t,lockDuration:i.lockDuration,limiter:i.limiter,name:n})],l=await this.execCommand(e,"moveToActive",a.concat(o));return ua(l)}async promote(e){let t=await this.queue.client,n=[this.queue.keys.delayed,this.queue.keys.wait,this.queue.keys.paused,this.queue.keys.meta,this.queue.keys.prioritized,this.queue.keys.active,this.queue.keys.pc,this.queue.keys.events,this.queue.keys.marker],i=[this.queue.toKey(""),e],s=await this.execCommand(t,"promote",n.concat(i));if(s<0)throw this.finishedErrors({code:s,jobId:e,command:"promote",state:"delayed"})}moveStalledJobsToWaitArgs(){let e=this.queue.opts,t=[this.queue.keys.stalled,this.queue.keys.wait,this.queue.keys.active,this.queue.keys["stalled-check"],this.queue.keys.meta,this.queue.keys.paused,this.queue.keys.marker,this.queue.keys.events],n=[e.maxStalledCount,this.queue.toKey(""),Date.now(),e.stalledInterval];return t.concat(n)}async moveStalledJobsToWait(){let e=await this.queue.client,t=this.moveStalledJobsToWaitArgs();return this.execCommand(e,"moveStalledJobsToWait",t)}async moveJobFromActiveToWait(e,t="0"){let n=await this.queue.client,i=[this.queue.keys.active,this.queue.keys.wait,this.queue.keys.stalled,this.queue.keys.paused,this.queue.keys.meta,this.queue.keys.limiter,this.queue.keys.prioritized,this.queue.keys.marker,this.queue.keys.events],s=[e,t,this.queue.toKey(e)],a=await this.execCommand(n,"moveJobFromActiveToWait",i.concat(s));if(a<0)throw this.finishedErrors({code:a,jobId:e,command:"moveJobFromActiveToWait",state:"active"});return a}async obliterate(e){let t=await this.queue.client,n=[this.queue.keys.meta,this.queue.toKey("")],i=[e.count,e.force?"force":null],s=await this.execCommand(t,"obliterate",n.concat(i));if(s<0)switch(s){case-1:throw new Error("Cannot obliterate non-paused queue");case-2:throw new Error("Cannot obliterate queue with active jobs")}return s}async paginate(e,t){let n=await this.queue.client,i=[e],s=5,a=t.end>=0?t.end-t.start+1:1/0,o="0",l=0,c,u,d,p=[],f=[];do{let h=[t.start+p.length,t.end,o,l,s];t.fetchJobs&&h.push(1),[o,l,c,u,d]=await this.execCommand(n,"paginate",i.concat(h)),p=p.concat(c),d&&d.length&&(f=f.concat(d.map(xr.array2obj)))}while(o!="0"&&p.length<a);if(p.length&&Array.isArray(p[0])){let h=[];for(let g=0;g<p.length;g++){let[k,E]=p[g];try{h.push({id:k,v:JSON.parse(E)})}catch(I){h.push({id:k,err:I.message})}}return{cursor:o,items:h,total:u,jobs:f}}else return{cursor:o,items:p.map(h=>({id:h})),total:u,jobs:f}}finishedErrors({code:e,jobId:t,parentKey:n,command:i,state:s}){let a;switch(e){case Rt.ErrorCode.JobNotExist:a=new Error(`Missing key for job ${t}. ${i}`);break;case Rt.ErrorCode.JobLockNotExist:a=new Error(`Missing lock for job ${t}. ${i}`);break;case Rt.ErrorCode.JobNotInState:a=new Error(`Job ${t} is not in the ${s} state. ${i}`);break;case Rt.ErrorCode.JobPendingChildren:a=new Error(`Job ${t} has pending dependencies. ${i}`);break;case Rt.ErrorCode.ParentJobNotExist:a=new Error(`Missing key for parent job ${n}. ${i}`);break;case Rt.ErrorCode.JobLockMismatch:a=new Error(`Lock mismatch for job ${t}. Cmd ${i} from ${s}`);break;case Rt.ErrorCode.ParentJobCannotBeReplaced:a=new Error(`The parent job ${n} cannot be replaced. ${i}`);break;case Rt.ErrorCode.JobBelongsToJobScheduler:a=new Error(`Job ${t} belongs to a job scheduler and cannot be removed directly. ${i}`);break;case Rt.ErrorCode.JobHasFailedChildren:a=new SD.UnrecoverableError(`Cannot complete job ${t} because it has at least one failed child. ${i}`);break;case Rt.ErrorCode.SchedulerJobIdCollision:a=new Error(`Cannot create job scheduler iteration - job ID already exists. ${i}`);break;case Rt.ErrorCode.SchedulerJobSlotsBusy:a=new Error(`Cannot create job scheduler iteration - current and next time slots already have jobs. ${i}`);break;default:a=new Error(`Unknown code ${e} error for ${t}. ${i}`)}return a.code=e,a}async removeOrphanedJobs(e,t,n){let i=await this.queue.client,s=[this.queue.toKey(""),t.length,...t,n.length,...n,...e];return this.execCommand(i,"removeOrphanedJobs",s)}};Ei.Scripts=qu;function ua(r){if(r){let e=[null,r[1],r[2],r[3]];return r[0]&&(e[0]=(0,xr.array2obj)(r[0])),e}return[]}});var fa=y(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.createScripts=void 0;var ED=Ju(),kD=r=>new ED.Scripts({keys:r.keys,client:r.client,get redisVersion(){return r.redisVersion},toKey:r.toKey,opts:r.opts,closing:r.closing,databaseType:r.databaseType});da.createScripts=kD});var Nn=y(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.Job=wr.PRIORITY_LIMIT=void 0;var mg=(Qe(),nt(He)),ID=Y("util"),tt=ct(),xD=fa(),bg=Lc(),wD=vu(),at=st(),TD=(0,ID.debuglog)("bull");wr.PRIORITY_LIMIT=2**21;var Fu=class r{constructor(e,t,n,i={},s){this.queue=e,this.name=t,this.data=n,this.opts=i,this.id=s,this.progress=0,this.returnvalue=null,this.stacktrace=null,this.delay=0,this.priority=0,this.attemptsStarted=0,this.attemptsMade=0,this.stalledCounter=0;let a=this.opts,{repeatJobKey:o}=a,l=mg.__rest(a,["repeatJobKey"]);this.opts=Object.assign({attempts:0},l),this.delay=this.opts.delay,this.priority=this.opts.priority||0,this.repeatJobKey=o,this.timestamp=i.timestamp?i.timestamp:Date.now(),this.opts.backoff=bg.Backoffs.normalize(i.backoff),this.parentKey=(0,tt.getParentKey)(i.parent),i.parent&&(this.parent={id:i.parent.id,queueKey:i.parent.queue},i.failParentOnFailure&&(this.parent.fpof=!0),i.removeDependencyOnFailure&&(this.parent.rdof=!0),i.ignoreDependencyOnFailure&&(this.parent.idof=!0),i.continueParentOnFailure&&(this.parent.cpof=!0)),this.debounceId=i.debounce?i.debounce.id:void 0,this.deduplicationId=i.deduplication?i.deduplication.id:this.debounceId,this.toKey=e.toKey.bind(e),this.createScripts(),this.queueQualifiedName=e.qualifiedName}static async create(e,t,n,i){let s=await e.client,a=new this(e,t,n,i,i&&i.jobId);return a.id=await a.addJob(s,{parentKey:a.parentKey,parentDependenciesKey:a.parentKey?`${a.parentKey}:dependencies`:""}),a}static async createBulk(e,t){let n=await e.client,i=t.map(o=>{var l;return new this(e,o.name,o.data,o.opts,(l=o.opts)===null||l===void 0?void 0:l.jobId)}),s=n.pipeline();for(let o of i)o.addJob(s,{parentKey:o.parentKey,parentDependenciesKey:o.parentKey?`${o.parentKey}:dependencies`:""});let a=await s.exec();for(let o=0;o<a.length;++o){let[l,c]=a[o];if(l)throw l;i[o].id=c}return i}static fromJSON(e,t,n){let i=JSON.parse(t.data||"{}"),s=r.optsFromJSON(t.opts),a=new this(e,t.name,i,s,t.id||n);return a.progress=JSON.parse(t.progress||"0"),a.delay=parseInt(t.delay),a.priority=parseInt(t.priority),a.timestamp=parseInt(t.timestamp),t.finishedOn&&(a.finishedOn=parseInt(t.finishedOn)),t.processedOn&&(a.processedOn=parseInt(t.processedOn)),t.rjk&&(a.repeatJobKey=t.rjk),t.deid&&(a.debounceId=t.deid,a.deduplicationId=t.deid),t.failedReason&&(a.failedReason=t.failedReason),a.attemptsStarted=parseInt(t.ats||"0"),a.attemptsMade=parseInt(t.attemptsMade||t.atm||"0"),a.stalledCounter=parseInt(t.stc||"0"),t.defa&&(a.deferredFailure=t.defa),a.stacktrace=jD(t.stacktrace),typeof t.returnvalue=="string"&&(a.returnvalue=gg(t.returnvalue)),t.parentKey&&(a.parentKey=t.parentKey),t.parent&&(a.parent=JSON.parse(t.parent)),t.pb&&(a.processedBy=t.pb),t.nrjid&&(a.nextRepeatableJobId=t.nrjid),a}createScripts(){this.scripts=(0,xD.createScripts)(this.queue)}static optsFromJSON(e,t=tt.optsDecodeMap){let n=JSON.parse(e||"{}"),i=Object.entries(n),s={};for(let a of i){let[o,l]=a;t[o]?s[t[o]]=l:o==="tm"?s.telemetry=Object.assign(Object.assign({},s.telemetry),{metadata:l}):o==="omc"?s.telemetry=Object.assign(Object.assign({},s.telemetry),{omitContext:l}):s[o]=l}return s}static async fromId(e,t){if(t){let i=await(await e.client).hgetall(e.toKey(t));return(0,tt.isEmpty)(i)?void 0:this.fromJSON(e,i,t)}}static addJobLog(e,t,n,i){return e.scripts.addLog(t,n,i)}toJSON(){let e=this,{queue:t,scripts:n}=e;return mg.__rest(e,["queue","scripts"])}asJSON(){return(0,tt.removeUndefinedFields)({id:this.id,name:this.name,data:JSON.stringify(typeof this.data>"u"?{}:this.data),opts:r.optsAsJSON(this.opts),parent:this.parent?Object.assign({},this.parent):void 0,parentKey:this.parentKey,progress:this.progress,attemptsMade:this.attemptsMade,attemptsStarted:this.attemptsStarted,stalledCounter:this.stalledCounter,finishedOn:this.finishedOn,processedOn:this.processedOn,timestamp:this.timestamp,failedReason:JSON.stringify(this.failedReason),stacktrace:JSON.stringify(this.stacktrace),debounceId:this.debounceId,deduplicationId:this.deduplicationId,repeatJobKey:this.repeatJobKey,returnvalue:JSON.stringify(this.returnvalue),nrjid:this.nextRepeatableJobId})}static optsAsJSON(e={},t=tt.optsEncodeMap){let n=Object.entries(e),i={};for(let[s,a]of n)if(!(typeof a>"u"))if(s in t){let l=t[s];i[l]=a}else s==="telemetry"?(a.metadata!==void 0&&(i.tm=a.metadata),a.omitContext!==void 0&&(i.omc=a.omitContext)):i[s]=a;return i}asJSONSandbox(){return Object.assign(Object.assign({},this.asJSON()),{queueName:this.queueName,queueQualifiedName:this.queueQualifiedName,prefix:this.prefix})}updateData(e){return this.data=e,this.scripts.updateData(this,e)}async updateProgress(e){this.progress=e,await this.scripts.updateProgress(this.id,e),this.queue.emit("progress",this,e)}async log(e){return r.addJobLog(this.queue,this.id,e,this.opts.keepLogs)}async removeChildDependency(){return await this.scripts.removeChildDependency(this.id,this.parentKey)?(this.parent=void 0,this.parentKey=void 0,!0):!1}async clearLogs(e){let t=await this.queue.client,n=this.toKey(this.id)+":logs";e?await t.ltrim(n,-e,-1):await t.del(n)}async remove({removeChildren:e=!0}={}){await this.queue.waitUntilReady();let t=this.queue,n=this;if(await this.scripts.remove(n.id,e))t.emit("removed",n);else throw new Error(`Job ${this.id} could not be removed because it is locked by another worker`)}async removeUnprocessedChildren(){let e=this.id;await this.scripts.removeUnprocessedChildren(e)}extendLock(e,t){return this.scripts.extendLock(this.id,e,t)}async moveToCompleted(e,t,n=!0){return this.queue.trace(at.SpanKind.INTERNAL,"complete",this.queue.name,async i=>{this.setSpanJobAttributes(i),await this.queue.waitUntilReady(),this.returnvalue=e||void 0;let s=(0,tt.tryCatch)(JSON.stringify,JSON,[e]);if(s===tt.errorObject)throw tt.errorObject.value;let a=this.scripts.moveToCompletedArgs(this,s,this.opts.removeOnComplete,t,n),o=await this.scripts.moveToFinished(this.id,a);return this.finishedOn=a[this.scripts.moveToFinishedKeys.length+1],this.attemptsMade+=1,this.recordJobMetrics("completed"),o})}async moveToWait(e){let t=await this.scripts.moveJobFromActiveToWait(this.id,e);return this.recordJobMetrics("waiting"),t}async shouldRetryJob(e){if(this.attemptsMade+1<this.opts.attempts&&!this.discarded&&!(e instanceof wD.UnrecoverableError||e.name=="UnrecoverableError")){let t=this.queue.opts,n=await bg.Backoffs.calculate(this.opts.backoff,this.attemptsMade+1,e,this,t.settings&&t.settings.backoffStrategy);return[n!=-1,n==-1?0:n]}else return[!1,0]}async moveToFailed(e,t,n=!1){this.failedReason=e?.message;let[i,s]=await this.shouldRetryJob(e);return this.queue.trace(at.SpanKind.INTERNAL,this.getSpanOperation(i,s),this.queue.name,async(a,o)=>{var l,c;this.setSpanJobAttributes(a);let u;!(!((c=(l=this.opts)===null||l===void 0?void 0:l.telemetry)===null||c===void 0)&&c.omitContext)&&o&&(u=o);let d;this.updateStacktrace(e);let p={failedReason:this.failedReason,stacktrace:JSON.stringify(this.stacktrace),tm:u},f;if(i)s?(d=await this.scripts.moveToDelayed(this.id,Date.now(),s,t,{fieldsToUpdate:p,fetchNext:n}),this.recordJobMetrics("delayed")):(d=await this.scripts.retryJob(this.id,this.opts.lifo,t,{fieldsToUpdate:p}),this.recordJobMetrics("retried"));else{let h=this.scripts.moveToFailedArgs(this,this.failedReason,this.opts.removeOnFail,t,n,p);d=await this.scripts.moveToFinished(this.id,h),f=h[this.scripts.moveToFinishedKeys.length+1],this.recordJobMetrics("failed")}return f&&typeof f=="number"&&(this.finishedOn=f),s&&typeof s=="number"&&(this.delay=s),this.attemptsMade+=1,d})}getSpanOperation(e,t){return e?t?"delay":"retry":"fail"}recordJobMetrics(e){var t,n;let i=(n=(t=this.queue.opts)===null||t===void 0?void 0:t.telemetry)===null||n===void 0?void 0:n.meter;if(!i)return;let s={[at.TelemetryAttributes.QueueName]:this.queue.name,[at.TelemetryAttributes.JobName]:this.name,[at.TelemetryAttributes.JobStatus]:e},o={completed:at.MetricNames.JobsCompleted,failed:at.MetricNames.JobsFailed,delayed:at.MetricNames.JobsDelayed,retried:at.MetricNames.JobsRetried,waiting:at.MetricNames.JobsWaiting,"waiting-children":at.MetricNames.JobsWaitingChildren}[e];if(i.createCounter(o,{description:`Number of jobs ${e}`,unit:"1"}).add(1,s),this.processedOn){let c=Date.now()-this.processedOn;i.createHistogram(at.MetricNames.JobDuration,{description:"Job processing duration",unit:"ms"}).record(c,s)}}isCompleted(){return this.isInZSet("completed")}isFailed(){return this.isInZSet("failed")}isDelayed(){return this.isInZSet("delayed")}isWaitingChildren(){return this.isInZSet("waiting-children")}isActive(){return this.isInList("active")}async isWaiting(){return await this.isInList("wait")||await this.isInList("paused")}get queueName(){return this.queue.name}get prefix(){return this.queue.opts.prefix}getState(){return this.scripts.getState(this.id)}async changeDelay(e){await this.scripts.changeDelay(this.id,e),this.delay=e}async changePriority(e){await this.scripts.changePriority(this.id,e.priority,e.lifo),this.priority=e.priority||0}async getChildrenValues(){let t=await(await this.queue.client).hgetall(this.toKey(`${this.id}:processed`));if(t)return(0,tt.parseObjectValues)(t)}async getIgnoredChildrenFailures(){return(await this.queue.client).hgetall(this.toKey(`${this.id}:failed`))}async getFailedChildrenValues(){return(await this.queue.client).hgetall(this.toKey(`${this.id}:failed`))}async getDependencies(e={}){let n=(await this.queue.client).multi();if(!e.processed&&!e.unprocessed&&!e.ignored&&!e.failed){n.hgetall(this.toKey(`${this.id}:processed`)),n.smembers(this.toKey(`${this.id}:dependencies`)),n.hgetall(this.toKey(`${this.id}:failed`)),n.zrange(this.toKey(`${this.id}:unsuccessful`),0,-1);let[[i,s],[a,o],[l,c],[u,d]]=await n.exec();return{processed:(0,tt.parseObjectValues)(s),unprocessed:o,failed:d,ignored:c}}else{let i={cursor:0,count:20},s=[];if(e.processed){s.push("processed");let g=Object.assign(Object.assign({},i),e.processed);n.hscan(this.toKey(`${this.id}:processed`),g.cursor,"COUNT",g.count)}if(e.unprocessed){s.push("unprocessed");let g=Object.assign(Object.assign({},i),e.unprocessed);n.sscan(this.toKey(`${this.id}:dependencies`),g.cursor,"COUNT",g.count)}if(e.ignored){s.push("ignored");let g=Object.assign(Object.assign({},i),e.ignored);n.hscan(this.toKey(`${this.id}:failed`),g.cursor,"COUNT",g.count)}let a;if(e.failed){s.push("failed");let g=Object.assign(Object.assign({},i),e.failed);a=g.cursor+g.count,n.zrange(this.toKey(`${this.id}:unsuccessful`),g.cursor,g.count-1)}let o=await n.exec(),l,c,u,d,p,f,h;return s.forEach((g,k)=>{switch(g){case"processed":{l=o[k][1][0];let E=o[k][1][1],I={};for(let O=0;O<E.length;++O)O%2&&(I[E[O-1]]=JSON.parse(E[O]));c=I;break}case"failed":{p=o[k][1];break}case"ignored":{f=o[k][1][0];let E=o[k][1][1],I={};for(let O=0;O<E.length;++O)O%2&&(I[E[O-1]]=E[O]);h=I;break}case"unprocessed":{u=o[k][1][0],d=o[k][1][1];break}}}),Object.assign(Object.assign(Object.assign(Object.assign({},l?{processed:c,nextProcessedCursor:Number(l)}:{}),f?{ignored:h,nextIgnoredCursor:Number(f)}:{}),a?{failed:p,nextFailedCursor:a}:{}),u?{unprocessed:d,nextUnprocessedCursor:Number(u)}:{})}}async getDependenciesCount(e={}){let t=[];Object.entries(e).forEach(([a,o])=>{o&&t.push(a)});let n=t.length?t:["processed","unprocessed","ignored","failed"],i=await this.scripts.getDependencyCounts(this.id,n),s={};return i.forEach((a,o)=>{s[`${n[o]}`]=a||0}),s}async waitUntilFinished(e,t){await this.queue.waitUntilReady();let n=this.id;return new Promise(async(i,s)=>{let a;t&&(a=setTimeout(()=>l(`Job wait ${this.name} timed out before finishing, no finish notification arrived after ${t}ms (id=${n})`),t));function o(g){d(),i(g.returnvalue)}function l(g){d(),s(new Error(g.failedReason||g))}let c=`completed:${n}`,u=`failed:${n}`;e.on(c,o),e.on(u,l),this.queue.on("closing",l);let d=()=>{clearInterval(a),e.removeListener(c,o),e.removeListener(u,l),this.queue.removeListener("closing",l)};await e.waitUntilReady();let[p,f]=await this.scripts.isFinished(n,!0);p!=0&&(p==-1||p==2?l({failedReason:f}):o({returnvalue:gg(f)}))})}async moveToDelayed(e,t){let n=Date.now(),i=e-n,s=i>0?i:0;await this.scripts.moveToDelayed(this.id,n,s,t,{skipAttempt:!0}),this.delay=s,this.recordJobMetrics("delayed")}async moveToWaitingChildren(e,t={}){let n=await this.scripts.moveToWaitingChildren(this.id,e,t);return n&&this.recordJobMetrics("waiting-children"),n}async promote(){let e=this.id;await this.scripts.promote(e),this.delay=0}async retry(e="failed",t={}){await this.scripts.reprocessJob(this,e,t),this.failedReason=null,this.finishedOn=null,this.processedOn=null,this.returnvalue=null,t.resetAttemptsMade&&(this.attemptsMade=0),t.resetAttemptsStarted&&(this.attemptsStarted=0)}discard(){this.discarded=!0}async isInZSet(e){return await(await this.queue.client).zscore(this.queue.toKey(e),this.id)!==null}async isInList(e){return this.scripts.isJobInList(this.queue.toKey(e),this.id)}addJob(e,t){let n=this.asJSON();return this.validateOptions(n),this.scripts.addJob(e,n,n.opts,this.id,t)}async removeDeduplicationKey(){return this.deduplicationId?await this.scripts.removeDeduplicationKey(this.deduplicationId,this.id)>0:!1}validateOptions(e){var t,n,i,s,a,o,l,c;let u=["removeDependencyOnFailure","failParentOnFailure","continueParentOnFailure","ignoreDependencyOnFailure"];if(this.opts.sizeLimit&&(0,tt.lengthInUtf8Bytes)(e.data)>this.opts.sizeLimit)throw new Error(`The size of job ${this.name} exceeds the limit ${this.opts.sizeLimit} bytes`);if(this.opts.delay&&this.opts.repeat&&!(!((t=this.opts.repeat)===null||t===void 0)&&t.count))throw new Error("Delay and repeat options cannot be used together");let p=u.filter(f=>this.opts[f]);if(p.length>1){let f=p.join(", ");throw new Error(`The following options cannot be used together: ${f}`)}if(!((n=this.opts)===null||n===void 0)&&n.jobId){if(`${parseInt(this.opts.jobId,10)}`===((i=this.opts)===null||i===void 0?void 0:i.jobId))throw new Error("Custom Id cannot be integers");if(!((s=this.opts)===null||s===void 0)&&s.jobId.includes(":")&&((o=(a=this.opts)===null||a===void 0?void 0:a.jobId)===null||o===void 0?void 0:o.split(":").length)!==3)throw new Error("Custom Id cannot contain :")}if(this.opts.priority){if(Math.trunc(this.opts.priority)!==this.opts.priority)throw new Error("Priority should not be float");if(this.opts.priority>wr.PRIORITY_LIMIT)throw new Error(`Priority should be between 0 and ${wr.PRIORITY_LIMIT}`)}if(this.opts.deduplication){if(!(!((l=this.opts.deduplication)===null||l===void 0)&&l.id))throw new Error("Deduplication id must be provided");if(this.parentKey)throw new Error("Deduplication and parent options cannot be used together")}if(this.opts.debounce){if(!(!((c=this.opts.debounce)===null||c===void 0)&&c.id))throw new Error("Debounce id must be provided");if(this.parentKey)throw new Error("Debounce and parent options cannot be used together")}if(typeof this.opts.backoff=="object"&&typeof this.opts.backoff.jitter=="number"&&(this.opts.backoff.jitter<0||this.opts.backoff.jitter>1))throw new Error("Jitter should be between 0 and 1")}updateStacktrace(e){this.stacktrace=this.stacktrace||[],e?.stack&&(this.stacktrace.push(e.stack),this.opts.stackTraceLimit===0?this.stacktrace=[]:this.opts.stackTraceLimit&&(this.stacktrace=this.stacktrace.slice(-this.opts.stackTraceLimit)))}setSpanJobAttributes(e){e?.setAttributes({[at.TelemetryAttributes.JobName]:this.name,[at.TelemetryAttributes.JobId]:this.id})}};wr.Job=Fu;function jD(r){if(!r)return[];let e=(0,tt.tryCatch)(JSON.parse,JSON,[r]);return e===tt.errorObject||!(e instanceof Array)?[]:e}function gg(r){let e=(0,tt.tryCatch)(JSON.parse,JSON,[r]);if(e!==tt.errorObject)return e;TD("corrupted returnvalue: "+r,e)}});var ya=y(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.QueueKeys=void 0;var Vu=class{constructor(e="bull"){this.prefix=e}getKeys(e){let t={};return["","active","wait","waiting-children","paused","id","delayed","prioritized","stalled-check","completed","failed","stalled","repeat","limiter","meta","events","pc","marker","de"].forEach(n=>{t[n]=this.toKey(e,n)}),t}toKey(e,t){return`${this.getQueueQualifiedName(e)}:${t}`}getQueueQualifiedName(e){return`${this.prefix}:${e}`}};pa.QueueKeys=Vu});var vg=y(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.addDelayedJob=void 0;var AD=`--[[
|
|
152
|
+
`):(s.push("$"+o.length+`\r
|
|
153
|
+
`),s.push(o),s.push(`\r
|
|
154
|
+
`)):s.push("$"+Buffer.byteLength(o)+`\r
|
|
155
|
+
`+o+`\r
|
|
156
|
+
`)}t=s.toBuffer()}else{t=n;for(let s=0;s<this.args.length;++s){let i=this.args[s];t+="$"+Buffer.byteLength(i)+`\r
|
|
157
|
+
`+i+`\r
|
|
158
|
+
`}}return t}stringifyArguments(){for(let e=0;e<this.args.length;++e){let t=this.args[e];typeof t=="string"||(t instanceof Buffer?this.bufferMode=!0:this.args[e]=(0,li.toArg)(t))}}transformReply(e){this.replyEncoding&&(e=(0,li.convertBufferToString)(e,this.replyEncoding));let t=r._transformer.reply[this.name];return t&&(e=t(e)),e}setTimeout(e){this._commandTimeoutTimer||(this._commandTimeoutTimer=setTimeout(()=>{this.isResolved||this.reject(new Error("Command timed out"))},e))}setBlockingTimeout(e){if(e<=0)return;this._blockingTimeoutTimer&&(clearTimeout(this._blockingTimeoutTimer),this._blockingTimeoutTimer=void 0);let t=Date.now();this._blockingDeadline===void 0&&(this._blockingDeadline=t+e);let n=this._blockingDeadline-t;if(n<=0){this.resolve(null);return}this._blockingTimeoutTimer=setTimeout(()=>{if(this.isResolved){this._blockingTimeoutTimer=void 0;return}this._blockingTimeoutTimer=void 0,this.resolve(null)},n)}extractBlockingTimeout(){let e=this.args;if(!e||e.length===0)return;let t=this.name.toLowerCase();if(r.checkFlag("LAST_ARG_TIMEOUT_COMMANDS",t))return(0,Ng.parseSecondsArgument)(e[e.length-1]);if(r.checkFlag("FIRST_ARG_TIMEOUT_COMMANDS",t))return(0,Ng.parseSecondsArgument)(e[0]);if(r.checkFlag("BLOCK_OPTION_COMMANDS",t))return(0,Ng.parseBlockOption)(e)}_clearTimers(){let e=this._commandTimeoutTimer;e&&(clearTimeout(e),delete this._commandTimeoutTimer);let t=this._blockingTimeoutTimer;t&&(clearTimeout(t),delete this._blockingTimeoutTimer)}initPromise(){let e=new Promise((t,n)=>{if(!this.transformed){this.transformed=!0;let s=r._transformer.argument[this.name];s&&(this.args=s(this.args)),this.stringifyArguments()}this.resolve=this._convertValue(t),this.reject=s=>{this._clearTimers(),this.errorStack?n((0,li.optimizeErrorStack)(s,this.errorStack.stack,__dirname)):n(s)}});this.promise=(0,oY.default)(e,this.callback)}_iterateKeys(e=t=>t){if(typeof this.keys>"u"&&(this.keys=[],(0,O0.exists)(this.name,{caseInsensitive:!0}))){let t=(0,O0.getKeyIndexes)(this.name,this.args,{nameCaseInsensitive:!0});for(let n of t)this.args[n]=e(this.args[n]),this.keys.push(this.args[n])}return this.keys}_convertValue(e){return t=>{try{this._clearTimers(),e(this.transformReply(t)),this.isResolved=!0}catch(n){this.reject(n)}return this.promise}}};Kg.default=on;on.FLAGS={VALID_IN_SUBSCRIBER_MODE:["subscribe","psubscribe","unsubscribe","punsubscribe","ssubscribe","sunsubscribe","ping","quit"],VALID_IN_MONITOR_MODE:["monitor","auth"],ENTER_SUBSCRIBER_MODE:["subscribe","psubscribe","ssubscribe"],EXIT_SUBSCRIBER_MODE:["unsubscribe","punsubscribe","sunsubscribe"],WILL_DISCONNECT:["quit"],HANDSHAKE_COMMANDS:["auth","select","client","readonly","info"],IGNORE_RECONNECT_ON_ERROR:["client"],BLOCKING_COMMANDS:["blpop","brpop","brpoplpush","blmove","bzpopmin","bzpopmax","bzmpop","blmpop","xread","xreadgroup"],LAST_ARG_TIMEOUT_COMMANDS:["blpop","brpop","brpoplpush","blmove","bzpopmin","bzpopmax"],FIRST_ARG_TIMEOUT_COMMANDS:["bzmpop","blmpop"],BLOCK_OPTION_COMMANDS:["xread","xreadgroup"]};on._transformer={argument:{},reply:{}};var U0=function(r){if(r.length===1){if(r[0]instanceof Map)return(0,li.convertMapToArray)(r[0]);if(typeof r[0]=="object"&&r[0]!==null)return(0,li.convertObjectToArray)(r[0])}return r},j0=function(r){if(r.length===2){if(r[1]instanceof Map)return[r[0]].concat((0,li.convertMapToArray)(r[1]));if(typeof r[1]=="object"&&r[1]!==null)return[r[0]].concat((0,li.convertObjectToArray)(r[1]))}return r};on.setArgumentTransformer("mset",U0);on.setArgumentTransformer("msetnx",U0);on.setArgumentTransformer("hset",j0);on.setArgumentTransformer("hmset",j0);on.setReplyTransformer("hgetall",function(r){if(Array.isArray(r)){let e={};for(let t=0;t<r.length;t+=2){let n=r[t],s=r[t+1];n in e?Object.defineProperty(e,n,{value:s,configurable:!0,enumerable:!0,writable:!0}):e[n]=s}return e}return r});var Mg=class{constructor(){this.length=0,this.items=[]}push(e){this.length+=Buffer.byteLength(e),this.items.push(e)}toBuffer(){let e=Buffer.allocUnsafe(this.length),t=0;for(let n of this.items){let s=Buffer.byteLength(n);Buffer.isBuffer(n)?n.copy(e,t):e.write(n,t,s),t+=s}return e}}});var P0=g(Fg=>{"use strict";Object.defineProperty(Fg,"__esModule",{value:!0});var aY=ai(),ic=class extends aY.RedisError{constructor(e,t){super(e),this.lastNodeError=t,Error.captureStackTrace(this,this.constructor)}get name(){return this.constructor.name}};Fg.default=ic;ic.defaultMessage="Failed to refresh slots cache."});var oc=g(Og=>{"use strict";Object.defineProperty(Og,"__esModule",{value:!0});var AY=S("stream"),Lg=class extends AY.Readable{constructor(e){super(e),this.opt=e,this._redisCursor="0",this._redisDrained=!1}_read(){if(this._redisDrained){this.push(null);return}let e=[this._redisCursor];this.opt.key&&e.unshift(this.opt.key),this.opt.match&&e.push("MATCH",this.opt.match),this.opt.type&&e.push("TYPE",this.opt.type),this.opt.count&&e.push("COUNT",String(this.opt.count)),this.opt.noValues&&e.push("NOVALUES"),this.opt.redis[this.opt.command](e,(t,n)=>{if(t){this.emit("error",t);return}this._redisCursor=n[0]instanceof Buffer?n[0].toString():n[0],this._redisCursor==="0"&&(this._redisDrained=!0),this.push(n[1])})}close(){this._redisDrained=!0}};Og.default=Lg});var H0=g($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.executeWithAutoPipelining=$e.getFirstValueInFlattenedArray=$e.shouldUseAutoPipelining=$e.notAllowedAutoPipelineCommands=$e.kCallbacks=$e.kExec=void 0;var Y0=$l(),lY=Za(),_0=us(),J0=oi();$e.kExec=Symbol("exec");$e.kCallbacks=Symbol("callbacks");$e.notAllowedAutoPipelineCommands=["auth","info","script","quit","cluster","pipeline","multi","subscribe","psubscribe","unsubscribe","unpsubscribe","select","client"];function q0(r,e){if(r._runningAutoPipelines.has(e)||!r._autoPipelines.has(e))return;r._runningAutoPipelines.add(e);let t=r._autoPipelines.get(e);r._autoPipelines.delete(e);let n=t[$e.kCallbacks];t[$e.kCallbacks]=null,t.exec(function(s,i){if(r._runningAutoPipelines.delete(e),s)for(let o=0;o<n.length;o++)process.nextTick(n[o],s);else for(let o=0;o<n.length;o++)process.nextTick(n[o],...i[o]);r._autoPipelines.has(e)&&q0(r,e)})}function cY(r,e,t){return e&&r.options.enableAutoPipelining&&!r.isPipeline&&!$e.notAllowedAutoPipelineCommands.includes(t)&&!r.options.autoPipeliningIgnoredCommands.includes(t)}$e.shouldUseAutoPipelining=cY;function G0(r){for(let e=0;e<r.length;e++){let t=r[e];if(typeof t=="string")return t;if(Array.isArray(t)||(0,Y0.isArguments)(t)){if(t.length===0)continue;return t[0]}let n=[t].flat();if(n.length>0)return n[0]}}$e.getFirstValueInFlattenedArray=G0;function V0(r,e,t,n,s){if(r.isCluster&&!r.slots.length)return r.status==="wait"&&r.connect().catch(Y0.noop),(0,_0.default)(new Promise(function(l,c){r.delayUntilReady(u=>{if(u){c(u);return}V0(r,e,t,n,null).then(l,c)})}),s);let i=r.options.keyPrefix||"",o=r.isCluster?r.slots[lY(`${i}${G0(n)}`)].join(","):"main";if(r.isCluster&&r.options.scaleReads!=="master"){let l=(0,J0.exists)(t)&&(0,J0.hasFlag)(t,"readonly");o+=l?":read":":write"}if(!r._autoPipelines.has(o)){let l=r.pipeline();l[$e.kExec]=!1,l[$e.kCallbacks]=[],r._autoPipelines.set(o,l)}let a=r._autoPipelines.get(o);a[$e.kExec]||(a[$e.kExec]=!0,setImmediate(q0,r,o));let A=new Promise(function(l,c){a[$e.kCallbacks].push(function(u,d){if(u){c(u);return}l(d)}),e==="call"&&n.unshift(t),a[e](...n)});return(0,_0.default)(A,s)}$e.executeWithAutoPipelining=V0});var W0=g(jg=>{"use strict";Object.defineProperty(jg,"__esModule",{value:!0});var uY=S("crypto"),dY=Nn(),hY=us(),Ug=class{constructor(e,t=null,n="",s=!1){this.lua=e,this.numberOfKeys=t,this.keyPrefix=n,this.readOnly=s,this.sha=(0,uY.createHash)("sha1").update(e).digest("hex");let i=this.sha,o=new WeakSet;this.Command=class extends dY.default{toWritable(A){let l=this.reject;return this.reject=c=>{c.message.indexOf("NOSCRIPT")!==-1&&o.delete(A),l.call(this,c)},o.has(A)?this.name==="eval"&&(this.name="evalsha",this.args[0]=i):(o.add(A),this.name="eval",this.args[0]=e),super.toWritable(A)}}}execute(e,t,n,s){typeof this.numberOfKeys=="number"&&t.unshift(this.numberOfKeys),this.keyPrefix&&(n.keyPrefix=this.keyPrefix),this.readOnly&&(n.readOnly=!0);let i=new this.Command("evalsha",[this.sha,...t],n);return i.promise=i.promise.catch(o=>{if(o.message.indexOf("NOSCRIPT")===-1)throw o;let a=new this.Command("evalsha",[this.sha,...t],n);return(e.isPipeline?e.redis:e).sendCommand(a)}),(0,hY.default)(i.promise,s),e.sendCommand(i)}};jg.default=Ug});var Ac=g(_g=>{"use strict";Object.defineProperty(_g,"__esModule",{value:!0});var fY=oi(),ac=H0(),gY=Nn(),pY=W0(),Mn=class{constructor(){this.options={},this.scriptsSet={},this.addedBuiltinSet=new Set}getBuiltinCommands(){return Pg.slice(0)}createBuiltinCommand(e){return{string:hs(null,e,"utf8"),buffer:hs(null,e,null)}}addBuiltinCommand(e){this.addedBuiltinSet.add(e),this[e]=hs(e,e,"utf8"),this[e+"Buffer"]=hs(e+"Buffer",e,null)}defineCommand(e,t){let n=new pY.default(t.lua,t.numberOfKeys,this.options.keyPrefix,t.readOnly);this.scriptsSet[e]=n,this[e]=z0(e,e,n,"utf8"),this[e+"Buffer"]=z0(e+"Buffer",e,n,null)}sendCommand(e,t,n){throw new Error('"sendCommand" is not implemented')}},Pg=fY.list.filter(r=>r!=="monitor");Pg.push("sentinel");Pg.forEach(function(r){Mn.prototype[r]=hs(r,r,"utf8"),Mn.prototype[r+"Buffer"]=hs(r+"Buffer",r,null)});Mn.prototype.call=hs("call","utf8");Mn.prototype.callBuffer=hs("callBuffer",null);Mn.prototype.send_command=Mn.prototype.call;function hs(r,e,t){return typeof t>"u"&&(t=e,e=null),function(...n){let s=e||n.shift(),i=n[n.length-1];typeof i=="function"?n.pop():i=void 0;let o={errorStack:this.options.showFriendlyErrorStack?new Error:void 0,keyPrefix:this.options.keyPrefix,replyEncoding:t};return(0,ac.shouldUseAutoPipelining)(this,r,s)?(0,ac.executeWithAutoPipelining)(this,r,s,n,i):this.sendCommand(new gY.default(s,n,o,i))}}function z0(r,e,t,n){return function(...s){let i=typeof s[s.length-1]=="function"?s.pop():void 0,o={replyEncoding:n};return this.options.showFriendlyErrorStack&&(o.errorStack=new Error),(0,ac.shouldUseAutoPipelining)(this,r,e)?(0,ac.executeWithAutoPipelining)(this,r,e,s,i):t.execute(this,s,o,i)}}_g.default=Mn});var qg=g(Yg=>{"use strict";Object.defineProperty(Yg,"__esModule",{value:!0});var Jg=Za(),Z0=oi(),X0=us(),yY=S("util"),EY=Nn(),IY=ot(),mY=Ac();function CY(r,e){let t=Jg(e[0]),n=r._groupsBySlot[t];for(let s=1;s<e.length;s++)if(r._groupsBySlot[Jg(e[s])]!==n)return-1;return t}var fs=class extends mY.default{constructor(e){super(),this.redis=e,this.isPipeline=!0,this.replyPending=0,this._queue=[],this._result=[],this._transactions=0,this._shaToScript={},this.isCluster=this.redis.constructor.name==="Cluster"||this.redis.isCluster,this.options=e.options,Object.keys(e.scriptsSet).forEach(n=>{let s=e.scriptsSet[n];this._shaToScript[s.sha]=s,this[n]=e[n],this[n+"Buffer"]=e[n+"Buffer"]}),e.addedBuiltinSet.forEach(n=>{this[n]=e[n],this[n+"Buffer"]=e[n+"Buffer"]}),this.promise=new Promise((n,s)=>{this.resolve=n,this.reject=s});let t=this;Object.defineProperty(this,"length",{get:function(){return t._queue.length}})}fillResult(e,t){if(this._queue[t].name==="exec"&&Array.isArray(e[1])){let s=e[1].length;for(let i=0;i<s;i++){if(e[1][i]instanceof Error)continue;let o=this._queue[t-(s-i)];try{e[1][i]=o.transformReply(e[1][i])}catch(a){e[1][i]=a}}}if(this._result[t]=e,--this.replyPending)return;if(this.isCluster){let s=!0,i;for(let o=0;o<this._result.length;++o){let a=this._result[o][0],A=this._queue[o];if(a){if(A.name==="exec"&&a.message==="EXECABORT Transaction discarded because of previous errors.")continue;if(!i)i={name:a.name,message:a.message};else if(i.name!==a.name||i.message!==a.message){s=!1;break}}else if(!A.inTransaction&&!((0,Z0.exists)(A.name,{caseInsensitive:!0})&&(0,Z0.hasFlag)(A.name,"readonly",{nameCaseInsensitive:!0}))){s=!1;break}}if(i&&s){let o=this,a=i.message.split(" "),A=this._queue,l=!1;this._queue=[];for(let h=0;h<A.length;++h){if(a[0]==="ASK"&&!l&&A[h].name!=="asking"&&(!A[h-1]||A[h-1].name!=="asking")){let f=new EY.default("asking");f.ignore=!0,this.sendCommand(f)}A[h].initPromise(),this.sendCommand(A[h]),l=A[h].inTransaction}let c=!0;typeof this.leftRedirections>"u"&&(this.leftRedirections={});let u=function(){o.exec()},d=this.redis;if(d.handleError(i,this.leftRedirections,{moved:function(h,f){o.preferKey=f,d.slots[a[1]]?d.slots[a[1]][0]!==f&&(d.slots[a[1]]=[f]):d.slots[a[1]]=[f],d._groupsBySlot[a[1]]=d._groupsIds[d.slots[a[1]].join(";")],d.refreshSlotsCache(),o.exec()},ask:function(h,f){o.preferKey=f,o.exec()},tryagain:u,clusterDown:u,connectionClosed:u,maxRedirections:()=>{c=!1},defaults:()=>{c=!1}}),c)return}}let n=0;for(let s=0;s<this._queue.length-n;++s)this._queue[s+n].ignore&&(n+=1),this._result[s]=this._result[s+n];this.resolve(this._result.slice(0,this._result.length-n))}sendCommand(e){this._transactions>0&&(e.inTransaction=!0);let t=this._queue.length;return e.pipelineIndex=t,e.promise.then(n=>{this.fillResult([null,n],t)}).catch(n=>{this.fillResult([n],t)}),this._queue.push(e),this}addBatch(e){let t,n,s;for(let i=0;i<e.length;++i)t=e[i],n=t[0],s=t.slice(1),this[n].apply(this,s);return this}};Yg.default=fs;var bY=fs.prototype.multi;fs.prototype.multi=function(){return this._transactions+=1,bY.apply(this,arguments)};var $0=fs.prototype.execBuffer;fs.prototype.execBuffer=(0,yY.deprecate)(function(){return this._transactions>0&&(this._transactions-=1),$0.apply(this,arguments)},"Pipeline#execBuffer: Use Pipeline#exec instead");fs.prototype.exec=function(r){if(this.isCluster&&!this.redis.slots.length)return this.redis.status==="wait"&&this.redis.connect().catch(IY.noop),r&&!this.nodeifiedPromise&&(this.nodeifiedPromise=!0,(0,X0.default)(this.promise,r)),this.redis.delayUntilReady(s=>{if(s){this.reject(s);return}this.exec(r)}),this.promise;if(this._transactions>0)return this._transactions-=1,$0.apply(this,arguments);this.nodeifiedPromise||(this.nodeifiedPromise=!0,(0,X0.default)(this.promise,r)),this._queue.length||this.resolve([]);let e;if(this.isCluster){let s=[];for(let i=0;i<this._queue.length;i++){let o=this._queue[i].getKeys();if(o.length&&s.push(o[0]),o.length&&Jg.generateMulti(o)<0)return this.reject(new Error("All the keys in a pipeline command should belong to the same slot")),this.promise}if(s.length){if(e=CY(this.redis,s),e<0)return this.reject(new Error("All keys in the pipeline should belong to the same slots allocation group")),this.promise}else e=Math.random()*16384|0}let t=this;return n(),this.promise;function n(){let s=t.replyPending=t._queue.length,i;t.isCluster&&(i={slot:e,redis:t.redis.connectionPool.nodes.all[t.preferKey]});let o="",a,A={isPipeline:!0,destination:t.isCluster?i:{redis:t.redis},write(l){typeof l!="string"?(a||(a=[]),o&&(a.push(Buffer.from(o,"utf8")),o=""),a.push(l)):o+=l,--s||(a?(o&&a.push(Buffer.from(o,"utf8")),A.destination.redis.stream.write(Buffer.concat(a))):A.destination.redis.stream.write(o),s=t._queue.length,o="",a=void 0)}};for(let l=0;l<t._queue.length;++l)t.redis.sendCommand(t._queue[l],A,i);return t.promise}}});var Hg=g(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.addTransactionSupport=void 0;var Gg=ot(),Vg=us(),eB=qg();function QY(r){r.pipeline=function(n){let s=new eB.default(this);return Array.isArray(n)&&s.addBatch(n),s};let{multi:e}=r;r.multi=function(n,s){if(typeof s>"u"&&!Array.isArray(n)&&(s=n,n=null),s&&s.pipeline===!1)return e.call(this);let i=new eB.default(this);i.multi(),Array.isArray(n)&&i.addBatch(n);let o=i.exec;i.exec=function(A){if(this.isCluster&&!this.redis.slots.length)return this.redis.status==="wait"&&this.redis.connect().catch(Gg.noop),(0,Vg.default)(new Promise((c,u)=>{this.redis.delayUntilReady(d=>{if(d){u(d);return}this.exec(i).then(c,u)})}),A);if(this._transactions>0&&o.call(i),this.nodeifiedPromise)return o.call(i);let l=o.call(i);return(0,Vg.default)(l.then(function(c){let u=c[c.length-1];if(typeof u>"u")throw new Error("Pipeline cannot be used to send any commands when the `exec()` has been called on it.");if(u[0]){u[0].previousErrors=[];for(let d=0;d<c.length-1;++d)c[d][0]&&u[0].previousErrors.push(c[d][0]);throw u[0]}return(0,Gg.wrapMultiResult)(u[1])}),A)};let{execBuffer:a}=i;return i.execBuffer=function(A){return this._transactions>0&&a.call(i),i.exec(A)},i};let{exec:t}=r;r.exec=function(n){return(0,Vg.default)(t.call(this).then(function(s){return Array.isArray(s)&&(s=(0,Gg.wrapMultiResult)(s)),s}),n)}}lc.addTransactionSupport=QY});var zg=g(Wg=>{"use strict";Object.defineProperty(Wg,"__esModule",{value:!0});function BY(r,e){Object.getOwnPropertyNames(e.prototype).forEach(t=>{Object.defineProperty(r.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t))})}Wg.default=BY});var rB=g(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.DEFAULT_CLUSTER_OPTIONS=void 0;var tB=S("dns");cc.DEFAULT_CLUSTER_OPTIONS={clusterRetryStrategy:r=>Math.min(100+r*2,2e3),enableOfflineQueue:!0,enableReadyCheck:!0,scaleReads:"master",maxRedirections:16,retryDelayOnMoved:0,retryDelayOnFailover:100,retryDelayOnClusterDown:100,retryDelayOnTryAgain:100,slotsRefreshTimeout:1e3,useSRVRecords:!1,resolveSrv:tB.resolveSrv,dnsLookup:tB.lookup,enableAutoPipelining:!1,autoPipeliningIgnoredCommands:[],shardedSubscribers:!1}});var xo=g(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.getConnectionName=Bt.weightSrvRecords=Bt.groupSrvRecords=Bt.getUniqueHostnamesFromOptions=Bt.normalizeNodeOptions=Bt.nodeKeyToRedisOptions=Bt.getNodeKey=void 0;var nB=ot(),SY=S("net");function wY(r){return r.port=r.port||6379,r.host=r.host||"127.0.0.1",r.host+":"+r.port}Bt.getNodeKey=wY;function DY(r){let e=r.lastIndexOf(":");if(e===-1)throw new Error(`Invalid node key ${r}`);return{host:r.slice(0,e),port:Number(r.slice(e+1))}}Bt.nodeKeyToRedisOptions=DY;function kY(r){return r.map(e=>{let t={};if(typeof e=="object")Object.assign(t,e);else if(typeof e=="string")Object.assign(t,(0,nB.parseURL)(e));else if(typeof e=="number")t.port=e;else throw new Error("Invalid argument "+e);return typeof t.port=="string"&&(t.port=parseInt(t.port,10)),delete t.db,t.port||(t.port=6379),t.host||(t.host="127.0.0.1"),(0,nB.resolveTLSProfile)(t)})}Bt.normalizeNodeOptions=kY;function RY(r){let e={};return r.forEach(t=>{e[t.host]=!0}),Object.keys(e).filter(t=>!(0,SY.isIP)(t))}Bt.getUniqueHostnamesFromOptions=RY;function vY(r){let e={};for(let t of r)e.hasOwnProperty(t.priority)?(e[t.priority].totalWeight+=t.weight,e[t.priority].records.push(t)):e[t.priority]={totalWeight:t.weight,records:[t]};return e}Bt.groupSrvRecords=vY;function xY(r){if(r.records.length===1)return r.totalWeight=0,r.records.shift();let e=Math.floor(Math.random()*(r.totalWeight+r.records.length)),t=0;for(let[n,s]of r.records.entries())if(t+=1+s.weight,t>e)return r.totalWeight-=s.weight,r.records.splice(n,1),s}Bt.weightSrvRecords=xY;function TY(r,e){let t=`ioredis-cluster(${r})`;return e?`${t}:${e}`:t}Bt.getConnectionName=TY});var iB=g($g=>{"use strict";Object.defineProperty($g,"__esModule",{value:!0});var sB=xo(),Zg=ot(),NY=Kn(),an=(0,Zg.Debug)("cluster:subscriber"),Xg=class{constructor(e,t,n=!1){this.connectionPool=e,this.emitter=t,this.isSharded=n,this.started=!1,this.subscriber=null,this.slotRange=[],this.onSubscriberEnd=()=>{if(!this.started){an("subscriber has disconnected, but ClusterSubscriber is not started, so not reconnecting.");return}an("subscriber has disconnected, selecting a new one..."),this.selectSubscriber()},this.connectionPool.on("-node",(s,i)=>{!this.started||!this.subscriber||(0,sB.getNodeKey)(this.subscriber.options)===i&&(an("subscriber has left, selecting a new one..."),this.selectSubscriber())}),this.connectionPool.on("+node",()=>{!this.started||this.subscriber||(an("a new node is discovered and there is no subscriber, selecting a new one..."),this.selectSubscriber())})}getInstance(){return this.subscriber}associateSlotRange(e){return this.isSharded&&(this.slotRange=e),this.slotRange}start(){this.started=!0,this.selectSubscriber(),an("started")}stop(){this.started=!1,this.subscriber&&(this.subscriber.disconnect(),this.subscriber=null)}isStarted(){return this.started}selectSubscriber(){let e=this.lastActiveSubscriber;e&&(e.off("end",this.onSubscriberEnd),e.disconnect()),this.subscriber&&(this.subscriber.off("end",this.onSubscriberEnd),this.subscriber.disconnect());let t=(0,Zg.sample)(this.connectionPool.getNodes());if(!t){an("selecting subscriber failed since there is no node discovered in the cluster yet"),this.subscriber=null;return}let{options:n}=t;an("selected a subscriber %s:%s",n.host,n.port);let s="subscriber";this.isSharded&&(s="ssubscriber"),this.subscriber=new NY.default({port:n.port,host:n.host,username:n.username,password:n.password,enableReadyCheck:!0,connectionName:(0,sB.getConnectionName)(s,n.connectionName),lazyConnect:!0,tls:n.tls,retryStrategy:null}),this.subscriber.on("error",Zg.noop),this.subscriber.on("moved",()=>{this.emitter.emit("forceRefresh")}),this.subscriber.once("end",this.onSubscriberEnd);let i={subscribe:[],psubscribe:[],ssubscribe:[]};if(e){let o=e.condition||e.prevCondition;o&&o.subscriber&&(i.subscribe=o.subscriber.channels("subscribe"),i.psubscribe=o.subscriber.channels("psubscribe"),i.ssubscribe=o.subscriber.channels("ssubscribe"))}if(i.subscribe.length||i.psubscribe.length||i.ssubscribe.length){let o=0;for(let a of["subscribe","psubscribe","ssubscribe"]){let A=i[a];if(A.length!=0)if(an("%s %d channels",a,A.length),a==="ssubscribe")for(let l of A)o+=1,this.subscriber[a](l).then(()=>{--o||(this.lastActiveSubscriber=this.subscriber)}).catch(()=>{an("failed to ssubscribe to channel: %s",l)});else o+=1,this.subscriber[a](A).then(()=>{--o||(this.lastActiveSubscriber=this.subscriber)}).catch(()=>{an("failed to %s %d channels",a,A.length)})}}else this.lastActiveSubscriber=this.subscriber;for(let o of["message","messageBuffer"])this.subscriber.on(o,(a,A)=>{this.emitter.emit(o,a,A)});for(let o of["pmessage","pmessageBuffer"])this.subscriber.on(o,(a,A,l)=>{this.emitter.emit(o,a,A,l)});if(this.isSharded==!0)for(let o of["smessage","smessageBuffer"])this.subscriber.on(o,(a,A)=>{this.emitter.emit(o,a,A)})}};$g.default=Xg});var oB=g(rp=>{"use strict";Object.defineProperty(rp,"__esModule",{value:!0});var MY=S("events"),uc=ot(),ep=xo(),KY=Kn(),eA=(0,uc.Debug)("cluster:connectionPool"),tp=class extends MY.EventEmitter{constructor(e){super(),this.redisOptions=e,this.nodes={all:{},master:{},slave:{}},this.specifiedOptions={}}getNodes(e="all"){let t=this.nodes[e];return Object.keys(t).map(n=>t[n])}getInstanceByKey(e){return this.nodes.all[e]}getSampleInstance(e){let t=Object.keys(this.nodes[e]),n=(0,uc.sample)(t);return this.nodes[e][n]}addMasterNode(e){let t=(0,ep.getNodeKey)(e.options),n=this.createRedisFromOptions(e,e.options.readOnly);return e.options.readOnly?!1:(this.nodes.all[t]=n,this.nodes.master[t]=n,!0)}createRedisFromOptions(e,t){return new KY.default((0,uc.defaults)({retryStrategy:null,enableOfflineQueue:!0,readOnly:t},e,this.redisOptions,{lazyConnect:!0}))}findOrCreate(e,t=!1){let n=(0,ep.getNodeKey)(e);t=!!t,this.specifiedOptions[n]?Object.assign(e,this.specifiedOptions[n]):this.specifiedOptions[n]=e;let s;return this.nodes.all[n]?(s=this.nodes.all[n],s.options.readOnly!==t&&(s.options.readOnly=t,eA("Change role of %s to %s",n,t?"slave":"master"),s[t?"readonly":"readwrite"]().catch(uc.noop),t?(delete this.nodes.master[n],this.nodes.slave[n]=s):(delete this.nodes.slave[n],this.nodes.master[n]=s))):(eA("Connecting to %s as %s",n,t?"slave":"master"),s=this.createRedisFromOptions(e,t),this.nodes.all[n]=s,this.nodes[t?"slave":"master"][n]=s,s.once("end",()=>{this.removeNode(n),this.emit("-node",s,n),Object.keys(this.nodes.all).length||this.emit("drain")}),this.emit("+node",s,n),s.on("error",function(i){this.emit("nodeError",i,n)})),s}reset(e){eA("Reset with %O",e);let t={};e.forEach(n=>{let s=(0,ep.getNodeKey)(n);n.readOnly&&t[s]||(t[s]=n)}),Object.keys(this.nodes.all).forEach(n=>{t[n]||(eA("Disconnect %s because the node does not hold any slot",n),this.nodes.all[n].disconnect(),this.removeNode(n))}),Object.keys(t).forEach(n=>{let s=t[n];this.findOrCreate(s,s.readOnly)})}removeNode(e){let{nodes:t}=this;t.all[e]&&(eA("Remove %s from the pool",e),delete t.all[e]),delete t.master[e],delete t.slave[e]}};rp.default=tp});var dc=g((Mue,aB)=>{"use strict";function We(r,t){var t=t||{};this._capacity=t.capacity,this._head=0,this._tail=0,Array.isArray(r)?this._fromArray(r):(this._capacityMask=3,this._list=new Array(4))}We.prototype.peekAt=function(e){var t=e;if(t===(t|0)){var n=this.size();if(!(t>=n||t<-n))return t<0&&(t+=n),t=this._head+t&this._capacityMask,this._list[t]}};We.prototype.get=function(e){return this.peekAt(e)};We.prototype.peek=function(){if(this._head!==this._tail)return this._list[this._head]};We.prototype.peekFront=function(){return this.peek()};We.prototype.peekBack=function(){return this.peekAt(-1)};Object.defineProperty(We.prototype,"length",{get:function(){return this.size()}});We.prototype.size=function(){return this._head===this._tail?0:this._head<this._tail?this._tail-this._head:this._capacityMask+1-(this._head-this._tail)};We.prototype.unshift=function(e){if(arguments.length===0)return this.size();var t=this._list.length;return this._head=this._head-1+t&this._capacityMask,this._list[this._head]=e,this._tail===this._head&&this._growArray(),this._capacity&&this.size()>this._capacity&&this.pop(),this._head<this._tail?this._tail-this._head:this._capacityMask+1-(this._head-this._tail)};We.prototype.shift=function(){var e=this._head;if(e!==this._tail){var t=this._list[e];return this._list[e]=void 0,this._head=e+1&this._capacityMask,e<2&&this._tail>1e4&&this._tail<=this._list.length>>>2&&this._shrinkArray(),t}};We.prototype.push=function(e){if(arguments.length===0)return this.size();var t=this._tail;return this._list[t]=e,this._tail=t+1&this._capacityMask,this._tail===this._head&&this._growArray(),this._capacity&&this.size()>this._capacity&&this.shift(),this._head<this._tail?this._tail-this._head:this._capacityMask+1-(this._head-this._tail)};We.prototype.pop=function(){var e=this._tail;if(e!==this._head){var t=this._list.length;this._tail=e-1+t&this._capacityMask;var n=this._list[this._tail];return this._list[this._tail]=void 0,this._head<2&&e>1e4&&e<=t>>>2&&this._shrinkArray(),n}};We.prototype.removeOne=function(e){var t=e;if(t===(t|0)&&this._head!==this._tail){var n=this.size(),s=this._list.length;if(!(t>=n||t<-n)){t<0&&(t+=n),t=this._head+t&this._capacityMask;var i=this._list[t],o;if(e<n/2){for(o=e;o>0;o--)this._list[t]=this._list[t=t-1+s&this._capacityMask];this._list[t]=void 0,this._head=this._head+1+s&this._capacityMask}else{for(o=n-1-e;o>0;o--)this._list[t]=this._list[t=t+1+s&this._capacityMask];this._list[t]=void 0,this._tail=this._tail-1+s&this._capacityMask}return i}}};We.prototype.remove=function(e,t){var n=e,s,i=t;if(n===(n|0)&&this._head!==this._tail){var o=this.size(),a=this._list.length;if(!(n>=o||n<-o||t<1)){if(n<0&&(n+=o),t===1||!t)return s=new Array(1),s[0]=this.removeOne(n),s;if(n===0&&n+t>=o)return s=this.toArray(),this.clear(),s;n+t>o&&(t=o-n);var A;for(s=new Array(t),A=0;A<t;A++)s[A]=this._list[this._head+n+A&this._capacityMask];if(n=this._head+n&this._capacityMask,e+t===o){for(this._tail=this._tail-t+a&this._capacityMask,A=t;A>0;A--)this._list[n=n+1+a&this._capacityMask]=void 0;return s}if(e===0){for(this._head=this._head+t+a&this._capacityMask,A=t-1;A>0;A--)this._list[n=n+1+a&this._capacityMask]=void 0;return s}if(n<o/2){for(this._head=this._head+e+t+a&this._capacityMask,A=e;A>0;A--)this.unshift(this._list[n=n-1+a&this._capacityMask]);for(n=this._head-1+a&this._capacityMask;i>0;)this._list[n=n-1+a&this._capacityMask]=void 0,i--;e<0&&(this._tail=n)}else{for(this._tail=n,n=n+t+a&this._capacityMask,A=o-(t+e);A>0;A--)this.push(this._list[n++]);for(n=this._tail;i>0;)this._list[n=n+1+a&this._capacityMask]=void 0,i--}return this._head<2&&this._tail>1e4&&this._tail<=a>>>2&&this._shrinkArray(),s}}};We.prototype.splice=function(e,t){var n=e;if(n===(n|0)){var s=this.size();if(n<0&&(n+=s),!(n>s))if(arguments.length>2){var i,o,a,A=arguments.length,l=this._list.length,c=2;if(!s||n<s/2){for(o=new Array(n),i=0;i<n;i++)o[i]=this._list[this._head+i&this._capacityMask];for(t===0?(a=[],n>0&&(this._head=this._head+n+l&this._capacityMask)):(a=this.remove(n,t),this._head=this._head+n+l&this._capacityMask);A>c;)this.unshift(arguments[--A]);for(i=n;i>0;i--)this.unshift(o[i-1])}else{o=new Array(s-(n+t));var u=o.length;for(i=0;i<u;i++)o[i]=this._list[this._head+n+t+i&this._capacityMask];for(t===0?(a=[],n!=s&&(this._tail=this._head+n+l&this._capacityMask)):(a=this.remove(n,t),this._tail=this._tail-u+l&this._capacityMask);c<A;)this.push(arguments[c++]);for(i=0;i<u;i++)this.push(o[i])}return a}else return this.remove(n,t)}};We.prototype.clear=function(){this._list=new Array(this._list.length),this._head=0,this._tail=0};We.prototype.isEmpty=function(){return this._head===this._tail};We.prototype.toArray=function(){return this._copyArray(!1)};We.prototype._fromArray=function(e){var t=e.length,n=this._nextPowerOf2(t);this._list=new Array(n),this._capacityMask=n-1,this._tail=t;for(var s=0;s<t;s++)this._list[s]=e[s]};We.prototype._copyArray=function(e,t){var n=this._list,s=n.length,i=this.length;if(t=t|i,t==i&&this._head<this._tail)return this._list.slice(this._head,this._tail);var o=new Array(t),a=0,A;if(e||this._head>this._tail){for(A=this._head;A<s;A++)o[a++]=n[A];for(A=0;A<this._tail;A++)o[a++]=n[A]}else for(A=this._head;A<this._tail;A++)o[a++]=n[A];return o};We.prototype._growArray=function(){if(this._head!=0){var e=this._copyArray(!0,this._list.length<<1);this._tail=this._list.length,this._head=0,this._list=e}else this._tail=this._list.length,this._list.length<<=1;this._capacityMask=this._capacityMask<<1|1};We.prototype._shrinkArray=function(){this._list.length>>>=1,this._capacityMask>>>=1};We.prototype._nextPowerOf2=function(e){var t=Math.log(e)/Math.log(2),n=1<<t+1;return Math.max(n,4)};aB.exports=We});var AB=g(sp=>{"use strict";Object.defineProperty(sp,"__esModule",{value:!0});var FY=ot(),LY=dc(),OY=(0,FY.Debug)("delayqueue"),np=class{constructor(){this.queues={},this.timeouts={}}push(e,t,n){let s=n.callback||process.nextTick;this.queues[e]||(this.queues[e]=new LY),this.queues[e].push(t),this.timeouts[e]||(this.timeouts[e]=setTimeout(()=>{s(()=>{this.timeouts[e]=null,this.execute(e)})},n.timeout))}execute(e){let t=this.queues[e];if(!t)return;let{length:n}=t;if(n)for(OY("send %d commands in %s queue",n,e),this.queues[e]=null;t.length>0;)t.shift()()}};sp.default=np});var dB=g(op=>{"use strict";Object.defineProperty(op,"__esModule",{value:!0});var lB=xo(),uB=ot(),UY=Kn(),cB=(0,uB.Debug)("cluster:subscriberGroup:shardedSubscriber"),Me={IDLE:"idle",STARTING:"starting",CONNECTED:"connected",STOPPING:"stopping",ENDED:"ended"},jY={[Me.IDLE]:[Me.STARTING,Me.STOPPING,Me.ENDED],[Me.STARTING]:[Me.CONNECTED,Me.STOPPING,Me.ENDED],[Me.CONNECTED]:[Me.STOPPING,Me.ENDED],[Me.STOPPING]:[Me.ENDED],[Me.ENDED]:[]},ip=class{constructor(e,t,n){var s;this.emitter=e,this.status=Me.IDLE,this.instance=null,this.connectPromise=null,this.messageListeners=new Map,this.onEnd=()=>{this.updateStatus(Me.ENDED),this.emitter.emit("-node",this.instance,this.nodeKey)},this.onError=i=>{this.emitter.emit("nodeError",i,this.nodeKey)},this.onMoved=()=>{this.emitter.emit("moved")},this.instance=new UY.default((0,uB.defaults)({enableReadyCheck:!1,enableOfflineQueue:!0,connectionName:(0,lB.getConnectionName)("ssubscriber",t.connectionName),retryStrategy:null,lazyConnect:!0},t,n)),this.lazyConnect=(s=n?.lazyConnect)!==null&&s!==void 0?s:!0,this.nodeKey=(0,lB.getNodeKey)(t),this.instance.on("end",this.onEnd),this.instance.on("error",this.onError),this.instance.on("moved",this.onMoved);for(let i of["smessage","smessageBuffer"]){let o=(...a)=>{this.emitter.emit(i,...a)};this.messageListeners.set(i,o),this.instance.on(i,o)}}async start(){if(this.connectPromise)return this.connectPromise;if(!(this.status===Me.STARTING||this.status===Me.CONNECTED)){if(this.status===Me.ENDED||!this.instance)throw new Error(`Sharded subscriber ${this.nodeKey} cannot be restarted once ended.`);this.updateStatus(Me.STARTING),this.connectPromise=this.instance.connect();try{await this.connectPromise,this.updateStatus(Me.CONNECTED)}catch(e){throw this.updateStatus(Me.ENDED),e}finally{this.connectPromise=null}}}stop(){this.updateStatus(Me.STOPPING),this.instance&&(this.instance.disconnect(),this.instance.removeAllListeners(),this.messageListeners.clear(),this.instance=null),this.updateStatus(Me.ENDED),cB("stopped %s",this.nodeKey)}isStarted(){return[Me.CONNECTED,Me.STARTING].includes(this.status)}get subscriberStatus(){return this.status}isHealthy(){return(this.status===Me.IDLE||this.status===Me.CONNECTED||this.status===Me.STARTING)&&this.instance!==null}getInstance(){return this.instance}getNodeKey(){return this.nodeKey}isLazyConnect(){return this.lazyConnect}updateStatus(e){if(this.status!==e){if(!jY[this.status].includes(e)){cB("Invalid status transition for %s: %s -> %s",this.nodeKey,this.status,e);return}this.status=e}}};op.default=ip});var hB=g(ap=>{"use strict";Object.defineProperty(ap,"__esModule",{value:!0});var PY=ot(),_Y=xo(),hc=Za(),JY=dB(),Sr=(0,PY.Debug)("cluster:subscriberGroup"),To=class r{constructor(e,t){this.subscriberGroupEmitter=e,this.options=t,this.shardedSubscribers=new Map,this.clusterSlots=[],this.subscriberToSlotsIndex=new Map,this.channels=new Map,this.failedAttemptsByNode=new Map,this.isResetting=!1,this.pendingReset=null,this.handleSubscriberConnectFailed=(n,s)=>{let o=(this.failedAttemptsByNode.get(s)||0)+1;this.failedAttemptsByNode.set(s,o);let a=Math.min(o,r.MAX_RETRY_ATTEMPTS),A=Math.min(r.BASE_BACKOFF_MS*2**a,r.MAX_BACKOFF_MS),l=Math.floor((Math.random()-.5)*(A*.5)),c=Math.max(0,A+l);Sr("Failed to connect subscriber for %s. Refreshing slots in %dms",s,c),this.subscriberGroupEmitter.emit("subscriberConnectFailed",{delay:c,error:n})},this.handleSubscriberConnectSucceeded=n=>{this.failedAttemptsByNode.delete(n)}}getResponsibleSubscriber(e){let t=this.clusterSlots[e][0],n=this.shardedSubscribers.get(t);return n&&n.subscriberStatus==="idle"&&n.start().then(()=>{this.handleSubscriberConnectSucceeded(n.getNodeKey())}).catch(s=>{this.handleSubscriberConnectFailed(s,n.getNodeKey())}),n}addChannels(e){let t=hc(e[0]);for(let s of e)if(hc(s)!==t)return-1;let n=this.channels.get(t);return n?this.channels.set(t,n.concat(e)):this.channels.set(t,e),Array.from(this.channels.values()).reduce((s,i)=>s+i.length,0)}removeChannels(e){let t=hc(e[0]);for(let s of e)if(hc(s)!==t)return-1;let n=this.channels.get(t);if(n){let s=n.filter(i=>!e.includes(i));this.channels.set(t,s)}return Array.from(this.channels.values()).reduce((s,i)=>s+i.length,0)}stop(){for(let e of this.shardedSubscribers.values())e.stop();this.pendingReset=null,this.shardedSubscribers.clear(),this.subscriberToSlotsIndex.clear()}start(){let e=[];for(let t of this.shardedSubscribers.values())this.shouldStartSubscriber(t)&&(e.push(t.start().then(()=>{this.handleSubscriberConnectSucceeded(t.getNodeKey())}).catch(n=>{this.handleSubscriberConnectFailed(n,t.getNodeKey())})),this.subscriberGroupEmitter.emit("+subscriber"));return Promise.all(e)}async reset(e,t){if(this.isResetting){this.pendingReset={slots:e,nodes:t};return}this.isResetting=!0;try{let n=this._refreshSlots(e),s=this.hasUnhealthySubscribers();if(!n&&!s){Sr("No topology change detected or failed subscribers. Skipping reset.");return}for(let[o,a]of this.shardedSubscribers){if(this.subscriberToSlotsIndex.has(o)&&a.isHealthy()){Sr("Skipping deleting subscriber for %s",o);continue}Sr("Removing subscriber for %s",o),a.stop(),this.shardedSubscribers.delete(o),this.subscriberGroupEmitter.emit("-subscriber")}let i=[];for(let[o,a]of this.subscriberToSlotsIndex){let A=this.shardedSubscribers.get(o);if(A&&A.isHealthy()){Sr("Skipping creating new subscriber for %s",o),!A.isStarted()&&this.shouldStartSubscriber(A)&&i.push(A.start().then(()=>{this.handleSubscriberConnectSucceeded(o)}).catch(u=>{this.handleSubscriberConnectFailed(u,o)}));continue}A&&!A.isHealthy()&&(Sr("Replacing subscriber for %s",o),A.stop(),this.shardedSubscribers.delete(o),this.subscriberGroupEmitter.emit("-subscriber")),Sr("Creating new subscriber for %s",o);let l=t.find(u=>(0,_Y.getNodeKey)(u.options)===o);if(!l){Sr("Failed to find node for key %s",o);continue}let c=new JY.default(this.subscriberGroupEmitter,l.options,this.options.redisOptions);this.shardedSubscribers.set(o,c),this.shouldStartSubscriber(c)&&i.push(c.start().then(()=>{this.handleSubscriberConnectSucceeded(o)}).catch(u=>{this.handleSubscriberConnectFailed(u,o)})),this.subscriberGroupEmitter.emit("+subscriber")}await Promise.all(i),this._resubscribe(),this.subscriberGroupEmitter.emit("subscribersReady")}finally{if(this.isResetting=!1,this.pendingReset){let{slots:n,nodes:s}=this.pendingReset;this.pendingReset=null,await this.reset(n,s)}}}_refreshSlots(e){if(this._slotsAreEqual(e)&&this.subscriberToSlotsIndex.size>0)return Sr("Nothing to refresh because the new cluster map is equal to the previous one."),!1;Sr("Refreshing the slots of the subscriber group."),this.subscriberToSlotsIndex=new Map;for(let t=0;t<e.length;t++){let n=e[t][0];this.subscriberToSlotsIndex.has(n)||this.subscriberToSlotsIndex.set(n,[]),this.subscriberToSlotsIndex.get(n).push(Number(t))}return this.clusterSlots=JSON.parse(JSON.stringify(e)),!0}_resubscribe(){this.shardedSubscribers&&this.shardedSubscribers.forEach((e,t)=>{let n=this.subscriberToSlotsIndex.get(t);n&&n.forEach(s=>{let i=e.getInstance(),o=this.channels.get(s);if(o&&o.length>0){if(!i||i.status==="end")return;i.status==="ready"?i.ssubscribe(...o).catch(a=>{Sr("Failed to ssubscribe on node %s: %s",t,a)}):i.once("ready",()=>{i.ssubscribe(...o).catch(a=>{Sr("Failed to ssubscribe on node %s: %s",t,a)})})}})})}_slotsAreEqual(e){return this.clusterSlots===void 0?!1:JSON.stringify(this.clusterSlots)===JSON.stringify(e)}hasUnhealthySubscribers(){let e=Array.from(this.shardedSubscribers.values()).some(n=>!n.isHealthy()),t=Array.from(this.subscriberToSlotsIndex.keys()).some(n=>!this.shardedSubscribers.has(n));return e||t}shouldStartSubscriber(e){if(e.isStarted())return!1;if(!e.isLazyConnect())return!0;let t=this.subscriberToSlotsIndex.get(e.getNodeKey());return t?t.some(n=>{let s=this.channels.get(n);return!!(s&&s.length>0)}):!1}};ap.default=To;To.MAX_RETRY_ATTEMPTS=10;To.MAX_BACKOFF_MS=2e3;To.BASE_BACKOFF_MS=100});var cp=g(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});var fB=oi(),Ap=S("events"),No=ai(),gB=us(),pB=Nn(),fc=P0(),YY=Kn(),qY=oc(),GY=Hg(),nr=ot(),VY=zg(),HY=Ac(),WY=rB(),zY=iB(),ZY=oB(),XY=AB(),Mo=xo(),yB=dc(),$Y=hB(),je=(0,nr.Debug)("cluster"),EB=new WeakSet,tA=class r extends HY.default{constructor(e,t={}){if(super(),this.slots=[],this._groupsIds={},this._groupsBySlot=Array(16384),this.isCluster=!0,this.retryAttempts=0,this.delayQueue=new XY.default,this.offlineQueue=new yB,this.isRefreshing=!1,this._refreshSlotsCacheCallbacks=[],this._autoPipelines=new Map,this._runningAutoPipelines=new Set,this._readyDelayedCallbacks=[],this.connectionEpoch=0,Ap.EventEmitter.call(this),this.startupNodes=e,this.options=(0,nr.defaults)({},t,WY.DEFAULT_CLUSTER_OPTIONS,this.options),this.options.shardedSubscribers&&this.createShardedSubscriberGroup(),this.options.redisOptions&&this.options.redisOptions.keyPrefix&&!this.options.keyPrefix&&(this.options.keyPrefix=this.options.redisOptions.keyPrefix),typeof this.options.scaleReads!="function"&&["all","master","slave"].indexOf(this.options.scaleReads)===-1)throw new Error('Invalid option scaleReads "'+this.options.scaleReads+'". Expected "all", "master", "slave" or a custom function');this.connectionPool=new ZY.default(this.options.redisOptions),this.connectionPool.on("-node",(n,s)=>{this.emit("-node",n)}),this.connectionPool.on("+node",n=>{this.emit("+node",n)}),this.connectionPool.on("drain",()=>{this.setStatus("close")}),this.connectionPool.on("nodeError",(n,s)=>{this.emit("node error",n,s)}),this.subscriber=new zY.default(this.connectionPool,this),this.options.scripts&&Object.entries(this.options.scripts).forEach(([n,s])=>{this.defineCommand(n,s)}),this.options.lazyConnect?this.setStatus("wait"):this.connect().catch(n=>{je("connecting failed: %s",n)})}connect(){return new Promise((e,t)=>{if(this.status==="connecting"||this.status==="connect"||this.status==="ready"){t(new Error("Redis is already connecting/connected"));return}let n=++this.connectionEpoch;this.setStatus("connecting"),this.resolveStartupNodeHostnames().then(s=>{if(this.connectionEpoch!==n){je("discard connecting after resolving startup nodes because epoch not match: %d != %d",n,this.connectionEpoch),t(new No.RedisError("Connection is discarded because a new connection is made"));return}if(this.status!=="connecting"){je("discard connecting after resolving startup nodes because the status changed to %s",this.status),t(new No.RedisError("Connection is aborted"));return}this.connectionPool.reset(s),this.options.shardedSubscribers&&this.shardedSubscribers.reset(this.slots,this.connectionPool.getNodes("all")).catch(A=>{je("Error while starting subscribers: %s",A)});let i=()=>{this.setStatus("ready"),this.retryAttempts=0,this.executeOfflineCommands(),this.resetNodesRefreshInterval(),e()},o,a=()=>{this.invokeReadyDelayedCallbacks(void 0),this.removeListener("close",o),this.manuallyClosing=!1,this.setStatus("connect"),this.options.enableReadyCheck?this.readyCheck((A,l)=>{A||l?(je("Ready check failed (%s). Reconnecting...",A||l),this.status==="connect"&&this.disconnect(!0)):i()}):i()};o=()=>{let A=new Error("None of startup nodes is available");this.removeListener("refresh",a),this.invokeReadyDelayedCallbacks(A),t(A)},this.once("refresh",a),this.once("close",o),this.once("close",this.handleCloseEvent.bind(this)),this.refreshSlotsCache(A=>{A&&A.message===fc.default.defaultMessage&&(YY.default.prototype.silentEmit.call(this,"error",A),this.connectionPool.reset([]))}),this.subscriber.start(),this.options.shardedSubscribers&&this.shardedSubscribers.start().catch(A=>{je("Error while starting subscribers: %s",A)})}).catch(s=>{this.setStatus("close"),this.handleCloseEvent(s),this.invokeReadyDelayedCallbacks(s),t(s)})})}disconnect(e=!1){let t=this.status;this.setStatus("disconnecting"),e||(this.manuallyClosing=!0),this.reconnectTimeout&&!e&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null,je("Canceled reconnecting attempts")),this.clearNodesRefreshInterval(),this.subscriber.stop(),this.options.shardedSubscribers&&this.shardedSubscribers.stop(),t==="wait"?(this.setStatus("close"),this.handleCloseEvent()):this.connectionPool.reset([])}quit(e){let t=this.status;if(this.setStatus("disconnecting"),this.manuallyClosing=!0,this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.clearNodesRefreshInterval(),this.subscriber.stop(),this.options.shardedSubscribers&&this.shardedSubscribers.stop(),t==="wait"){let n=(0,gB.default)(Promise.resolve("OK"),e);return setImmediate(function(){this.setStatus("close"),this.handleCloseEvent()}.bind(this)),n}return(0,gB.default)(Promise.all(this.nodes().map(n=>n.quit().catch(s=>{if(s.message===nr.CONNECTION_CLOSED_ERROR_MSG)return"OK";throw s}))).then(()=>"OK"),e)}duplicate(e=[],t={}){let n=e.length>0?e:this.startupNodes.slice(0),s=Object.assign({},this.options,t);return new r(n,s)}nodes(e="all"){if(e!=="all"&&e!=="master"&&e!=="slave")throw new Error('Invalid role "'+e+'". Expected "all", "master" or "slave"');return this.connectionPool.getNodes(e)}delayUntilReady(e){this._readyDelayedCallbacks.push(e)}get autoPipelineQueueSize(){let e=0;for(let t of this._autoPipelines.values())e+=t.length;return e}refreshSlotsCache(e){if(e&&this._refreshSlotsCacheCallbacks.push(e),this.isRefreshing)return;this.isRefreshing=!0;let t=this,n=a=>{this.isRefreshing=!1;for(let A of this._refreshSlotsCacheCallbacks)A(a);this._refreshSlotsCacheCallbacks=[]},s=(0,nr.shuffle)(this.connectionPool.getNodes()),i=null;function o(a){if(a===s.length){let c=new fc.default(fc.default.defaultMessage,i);return n(c)}let A=s[a],l=`${A.options.host}:${A.options.port}`;je("getting slot cache from %s",l),t.getInfoFromNode(A,function(c){switch(t.status){case"close":case"end":return n(new Error("Cluster is disconnected."));case"disconnecting":return n(new Error("Cluster is disconnecting."))}c?(t.emit("node error",c,l),i=c,o(a+1)):(t.emit("refresh"),n())})}o(0)}sendCommand(e,t,n){if(this.status==="wait"&&this.connect().catch(nr.noop),this.status==="end")return e.reject(new Error(nr.CONNECTION_CLOSED_ERROR_MSG)),e.promise;let s=this.options.scaleReads;s!=="master"&&(e.isReadOnly||(0,fB.exists)(e.name)&&(0,fB.hasFlag)(e.name,"readonly")||(s="master"));let i=n?n.slot:e.getSlot(),o={},a=this;if(!n&&!EB.has(e)){EB.add(e);let l=e.reject;e.reject=function(c){let u=A.bind(null,!0);a.handleError(c,o,{moved:function(d,h){je("command %s is moved to %s",e.name,h),i=Number(d),a.slots[d]?a.slots[d][0]=h:a.slots[d]=[h],a._groupsBySlot[d]=a._groupsIds[a.slots[d].join(";")],a.connectionPool.findOrCreate(a.natMapper(h)),A(),je("refreshing slot caches... (triggered by MOVED error)"),a.refreshSlotsCache()},ask:function(d,h){je("command %s is required to ask %s:%s",e.name,h);let f=a.natMapper(h);a.connectionPool.findOrCreate(f),A(!1,`${f.host}:${f.port}`)},tryagain:u,clusterDown:u,connectionClosed:u,maxRedirections:function(d){l.call(e,d)},defaults:function(){l.call(e,c)}})}}A();function A(l,c){if(a.status==="end"){e.reject(new No.AbortError("Cluster is ended."));return}let u;if(a.status==="ready"||e.name==="cluster"){if(n&&n.redis)u=n.redis;else if(pB.default.checkFlag("ENTER_SUBSCRIBER_MODE",e.name)||pB.default.checkFlag("EXIT_SUBSCRIBER_MODE",e.name)){if(a.options.shardedSubscribers&&(e.name=="ssubscribe"||e.name=="sunsubscribe")){let d=a.shardedSubscribers.getResponsibleSubscriber(i);if(!d){e.reject(new No.AbortError(`No sharded subscriber for slot: ${i}`));return}let h=-1;e.name=="ssubscribe"&&(h=a.shardedSubscribers.addChannels(e.getKeys())),e.name=="sunsubscribe"&&(h=a.shardedSubscribers.removeChannels(e.getKeys())),h!==-1?u=d.getInstance():e.reject(new No.AbortError("Possible CROSSSLOT error: All channels must hash to the same slot"))}else u=a.subscriber.getInstance();if(!u){e.reject(new No.AbortError("No subscriber for the cluster"));return}}else{if(!l){if(typeof i=="number"&&a.slots[i]){let d=a.slots[i];if(typeof s=="function"){let h=d.map(function(f){return a.connectionPool.getInstanceByKey(f)});u=s(h,e),Array.isArray(u)&&(u=(0,nr.sample)(u)),u||(u=h[0])}else{let h;s==="all"?h=(0,nr.sample)(d):s==="slave"&&d.length>1?h=(0,nr.sample)(d,1):h=d[0],u=a.connectionPool.getInstanceByKey(h)}}c&&(u=a.connectionPool.getInstanceByKey(c),u.asking())}u||(u=(typeof s=="function"?null:a.connectionPool.getSampleInstance(s))||a.connectionPool.getSampleInstance("all"))}n&&!n.redis&&(n.redis=u)}u?u.sendCommand(e,t):a.options.enableOfflineQueue?a.offlineQueue.push({command:e,stream:t,node:n}):e.reject(new Error("Cluster isn't ready and enableOfflineQueue options is false"))}return e.promise}sscanStream(e,t){return this.createScanStream("sscan",{key:e,options:t})}sscanBufferStream(e,t){return this.createScanStream("sscanBuffer",{key:e,options:t})}hscanStream(e,t){return this.createScanStream("hscan",{key:e,options:t})}hscanBufferStream(e,t){return this.createScanStream("hscanBuffer",{key:e,options:t})}zscanStream(e,t){return this.createScanStream("zscan",{key:e,options:t})}zscanBufferStream(e,t){return this.createScanStream("zscanBuffer",{key:e,options:t})}handleError(e,t,n){if(typeof t.value>"u"?t.value=this.options.maxRedirections:t.value-=1,t.value<=0){n.maxRedirections(new Error("Too many Cluster redirections. Last error: "+e));return}let s=e.message.split(" ");if(s[0]==="MOVED"){let i=this.options.retryDelayOnMoved;i&&typeof i=="number"?this.delayQueue.push("moved",n.moved.bind(null,s[1],s[2]),{timeout:i}):n.moved(s[1],s[2])}else s[0]==="ASK"?n.ask(s[1],s[2]):s[0]==="TRYAGAIN"?this.delayQueue.push("tryagain",n.tryagain,{timeout:this.options.retryDelayOnTryAgain}):s[0]==="CLUSTERDOWN"&&this.options.retryDelayOnClusterDown>0?this.delayQueue.push("clusterdown",n.connectionClosed,{timeout:this.options.retryDelayOnClusterDown,callback:this.refreshSlotsCache.bind(this)}):e.message===nr.CONNECTION_CLOSED_ERROR_MSG&&this.options.retryDelayOnFailover>0&&this.status==="ready"?this.delayQueue.push("failover",n.connectionClosed,{timeout:this.options.retryDelayOnFailover,callback:this.refreshSlotsCache.bind(this)}):n.defaults()}resetOfflineQueue(){this.offlineQueue=new yB}clearNodesRefreshInterval(){this.slotsTimer&&(clearTimeout(this.slotsTimer),this.slotsTimer=null)}resetNodesRefreshInterval(){if(this.slotsTimer||!this.options.slotsRefreshInterval)return;let e=()=>{this.slotsTimer=setTimeout(()=>{je('refreshing slot caches... (triggered by "slotsRefreshInterval" option)'),this.refreshSlotsCache(()=>{e()})},this.options.slotsRefreshInterval)};e()}setStatus(e){je("status: %s -> %s",this.status||"[empty]",e),this.status=e,process.nextTick(()=>{this.emit(e)})}handleCloseEvent(e){var t;e&&je("closed because %s",e);let n;!this.manuallyClosing&&typeof this.options.clusterRetryStrategy=="function"&&(n=this.options.clusterRetryStrategy.call(this,++this.retryAttempts,e)),typeof n=="number"?(this.setStatus("reconnecting"),this.reconnectTimeout=setTimeout(()=>{this.reconnectTimeout=null,je("Cluster is disconnected. Retrying after %dms",n),this.connect().catch(function(s){je("Got error %s when reconnecting. Ignoring...",s)})},n)):(this.options.shardedSubscribers&&((t=this.subscriberGroupEmitter)===null||t===void 0||t.removeAllListeners()),this.setStatus("end"),this.flushQueue(new Error("None of startup nodes is available")))}flushQueue(e){let t;for(;t=this.offlineQueue.shift();)t.command.reject(e)}executeOfflineCommands(){if(this.offlineQueue.length){je("send %d commands in offline queue",this.offlineQueue.length);let e=this.offlineQueue;this.resetOfflineQueue();let t;for(;t=e.shift();)this.sendCommand(t.command,t.stream,t.node)}}natMapper(e){let t=typeof e=="string"?e:`${e.host}:${e.port}`,n=null;return this.options.natMap&&typeof this.options.natMap=="function"?n=this.options.natMap(t):this.options.natMap&&typeof this.options.natMap=="object"&&(n=this.options.natMap[t]),n?(je("NAT mapping %s -> %O",t,n),Object.assign({},n)):typeof e=="string"?(0,Mo.nodeKeyToRedisOptions)(e):e}getInfoFromNode(e,t){if(!e)return t(new Error("Node is disconnected"));let n=e.duplicate({enableOfflineQueue:!0,enableReadyCheck:!1,retryStrategy:null,connectionName:(0,Mo.getConnectionName)("refresher",this.options.redisOptions&&this.options.redisOptions.connectionName)});n.on("error",nr.noop),n.cluster("SLOTS",(0,nr.timeout)((s,i)=>{if(n.disconnect(),s)return je("error encountered running CLUSTER.SLOTS: %s",s),t(s);if(this.status==="disconnecting"||this.status==="close"||this.status==="end"){je("ignore CLUSTER.SLOTS results (count: %d) since cluster status is %s",i.length,this.status),t();return}let o=[];je("cluster slots result count: %d",i.length);for(let A=0;A<i.length;++A){let l=i[A],c=l[0],u=l[1],d=[];for(let h=2;h<l.length;h++){if(!l[h][0])continue;let f=this.natMapper({host:l[h][0],port:l[h][1]});f.readOnly=h!==2,o.push(f),d.push(f.host+":"+f.port)}je("cluster slots result [%d]: slots %d~%d served by %s",A,c,u,d);for(let h=c;h<=u;h++)this.slots[h]=d}this._groupsIds=Object.create(null);let a=0;for(let A=0;A<16384;A++){let l=(this.slots[A]||[]).join(";");if(!l.length){this._groupsBySlot[A]=void 0;continue}this._groupsIds[l]||(this._groupsIds[l]=++a),this._groupsBySlot[A]=this._groupsIds[l]}this.connectionPool.reset(o),this.options.shardedSubscribers&&this.shardedSubscribers.reset(this.slots,this.connectionPool.getNodes("all")).catch(A=>{je("Error while starting subscribers: %s",A)}),t()},this.options.slotsRefreshTimeout))}invokeReadyDelayedCallbacks(e){for(let t of this._readyDelayedCallbacks)process.nextTick(t,e);this._readyDelayedCallbacks=[]}readyCheck(e){this.cluster("INFO",(t,n)=>{if(t)return e(t);if(typeof n!="string")return e();let s,i=n.split(`\r
|
|
159
|
+
`);for(let o=0;o<i.length;++o){let a=i[o].split(":");if(a[0]==="cluster_state"){s=a[1];break}}s==="fail"?(je("cluster state not ok (%s)",s),e(null,s)):e()})}resolveSrv(e){return new Promise((t,n)=>{this.options.resolveSrv(e,(s,i)=>{if(s)return n(s);let o=this,a=(0,Mo.groupSrvRecords)(i),A=Object.keys(a).sort((c,u)=>parseInt(c)-parseInt(u));function l(c){if(!A.length)return n(c);let u=A[0],d=a[u],h=(0,Mo.weightSrvRecords)(d);d.records.length||A.shift(),o.dnsLookup(h.name).then(f=>t({host:f,port:h.port}),l)}l()})})}dnsLookup(e){return new Promise((t,n)=>{this.options.dnsLookup(e,(s,i)=>{s?(je("failed to resolve hostname %s to IP: %s",e,s.message),n(s)):(je("resolved hostname %s to IP %s",e,i),t(i))})})}async resolveStartupNodeHostnames(){if(!Array.isArray(this.startupNodes)||this.startupNodes.length===0)throw new Error("`startupNodes` should contain at least one node.");let e=(0,Mo.normalizeNodeOptions)(this.startupNodes),t=(0,Mo.getUniqueHostnamesFromOptions)(e);if(t.length===0)return e;let n=await Promise.all(t.map((this.options.useSRVRecords?this.resolveSrv:this.dnsLookup).bind(this))),s=(0,nr.zipMap)(t,n);return e.map(i=>{let o=s.get(i.host);return o?this.options.useSRVRecords?Object.assign({},i,o):Object.assign({},i,{host:o}):i})}createScanStream(e,{key:t,options:n={}}){return new qY.default({objectMode:!0,key:t,redis:this,command:e,...n})}createShardedSubscriberGroup(){this.subscriberGroupEmitter=new Ap.EventEmitter,this.shardedSubscribers=new $Y.default(this.subscriberGroupEmitter,this.options);let e=t=>{t instanceof fc.default&&this.disconnect(!0)};this.subscriberGroupEmitter.on("-node",(t,n)=>{this.emit("-node",t,n),this.refreshSlotsCache(e)}),this.subscriberGroupEmitter.on("subscriberConnectFailed",({delay:t,error:n})=>{this.emit("error",n),setTimeout(()=>{this.refreshSlotsCache(e)},t)}),this.subscriberGroupEmitter.on("moved",()=>{this.refreshSlotsCache(e)}),this.subscriberGroupEmitter.on("-subscriber",()=>{this.emit("-subscriber")}),this.subscriberGroupEmitter.on("+subscriber",()=>{this.emit("+subscriber")}),this.subscriberGroupEmitter.on("nodeError",(t,n)=>{this.emit("nodeError",t,n)}),this.subscriberGroupEmitter.on("subscribersReady",()=>{this.emit("subscribersReady")});for(let t of["smessage","smessageBuffer"])this.subscriberGroupEmitter.on(t,(n,s,i)=>{this.emit(t,n,s,i)})}};(0,VY.default)(tA,Ap.EventEmitter);(0,GY.addTransactionSupport)(tA.prototype);lp.default=tA});var gc=g(dp=>{"use strict";Object.defineProperty(dp,"__esModule",{value:!0});var eq=ot(),tq=(0,eq.Debug)("AbstractConnector"),up=class{constructor(e){this.connecting=!1,this.disconnectTimeout=e}check(e){return!0}disconnect(){if(this.connecting=!1,this.stream){let e=this.stream,t=setTimeout(()=>{tq("stream %s:%s still open, destroying it",e.remoteAddress,e.remotePort),e.destroy()},this.disconnectTimeout);e.on("close",()=>clearTimeout(t)),e.end()}}};dp.default=up});var IB=g(fp=>{"use strict";Object.defineProperty(fp,"__esModule",{value:!0});var rq=S("net"),nq=S("tls"),sq=ot(),iq=gc(),hp=class extends iq.default{constructor(e){super(e.disconnectTimeout),this.options=e}connect(e){let{options:t}=this;this.connecting=!0;let n;return"path"in t&&t.path?n={path:t.path}:(n={},"port"in t&&t.port!=null&&(n.port=t.port),"host"in t&&t.host!=null&&(n.host=t.host),"family"in t&&t.family!=null&&(n.family=t.family)),t.tls&&Object.assign(n,t.tls),new Promise((s,i)=>{process.nextTick(()=>{if(!this.connecting){i(new Error(sq.CONNECTION_CLOSED_ERROR_MSG));return}try{t.tls?this.stream=(0,nq.connect)(n):this.stream=(0,rq.createConnection)(n)}catch(o){i(o);return}this.stream.once("error",o=>{this.firstError=o}),s(this.stream)})})}};fp.default=hp});var mB=g(pp=>{"use strict";Object.defineProperty(pp,"__esModule",{value:!0});function oq(r,e){return(r.host||"127.0.0.1")===(e.host||"127.0.0.1")&&(r.port||26379)===(e.port||26379)}var gp=class{constructor(e){this.cursor=0,this.sentinels=e.slice(0)}next(){let e=this.cursor>=this.sentinels.length;return{done:e,value:e?void 0:this.sentinels[this.cursor++]}}reset(e){e&&this.sentinels.length>1&&this.cursor!==1&&this.sentinels.unshift(...this.sentinels.splice(this.cursor-1)),this.cursor=0}add(e){for(let t=0;t<this.sentinels.length;t++)if(oq(e,this.sentinels[t]))return!1;return this.sentinels.push(e),!0}toString(){return`${JSON.stringify(this.sentinels)} @${this.cursor}`}};pp.default=gp});var bB=g(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.FailoverDetector=void 0;var aq=ot(),yp=(0,aq.Debug)("FailoverDetector"),CB="+switch-master",Ep=class{constructor(e,t){this.isDisconnected=!1,this.connector=e,this.sentinels=t}cleanup(){this.isDisconnected=!0;for(let e of this.sentinels)e.client.disconnect()}async subscribe(){yp("Starting FailoverDetector");let e=[];for(let t of this.sentinels){let n=t.client.subscribe(CB).catch(s=>{yp("Failed to subscribe to failover messages on sentinel %s:%s (%s)",t.address.host||"127.0.0.1",t.address.port||26739,s.message)});e.push(n),t.client.on("message",s=>{!this.isDisconnected&&s===CB&&this.disconnect()})}await Promise.all(e)}disconnect(){this.isDisconnected=!0,yp("Failover detected, disconnecting"),this.connector.disconnect()}};pc.FailoverDetector=Ep});var yc=g(nA=>{"use strict";Object.defineProperty(nA,"__esModule",{value:!0});nA.SentinelIterator=void 0;var Aq=S("net"),rA=ot(),lq=S("tls"),QB=mB();nA.SentinelIterator=QB.default;var cq=gc(),uq=Kn(),dq=bB(),Ko=(0,rA.Debug)("SentinelConnector"),Ip=class extends cq.default{constructor(e){if(super(e.disconnectTimeout),this.options=e,this.emitter=null,this.failoverDetector=null,!this.options.sentinels.length)throw new Error("Requires at least one sentinel to connect to.");if(!this.options.name)throw new Error("Requires the name of master.");this.sentinelIterator=new QB.default(this.options.sentinels)}check(e){let t=!e.role||this.options.role===e.role;return t||(Ko("role invalid, expected %s, but got %s",this.options.role,e.role),this.sentinelIterator.next(),this.sentinelIterator.next(),this.sentinelIterator.reset(!0)),t}disconnect(){super.disconnect(),this.failoverDetector&&this.failoverDetector.cleanup()}connect(e){this.connecting=!0,this.retryAttempts=0;let t,n=async()=>{let s=this.sentinelIterator.next();if(s.done){this.sentinelIterator.reset(!1);let A=typeof this.options.sentinelRetryStrategy=="function"?this.options.sentinelRetryStrategy(++this.retryAttempts):null,l=typeof A!="number"?"All sentinels are unreachable and retry is disabled.":`All sentinels are unreachable. Retrying from scratch after ${A}ms.`;t&&(l+=` Last error: ${t.message}`),Ko(l);let c=new Error(l);if(typeof A=="number")return e("error",c),await new Promise(u=>setTimeout(u,A)),n();throw c}let i=null,o=null;try{i=await this.resolve(s.value)}catch(A){o=A}if(!this.connecting)throw new Error(rA.CONNECTION_CLOSED_ERROR_MSG);let a=s.value.host+":"+s.value.port;if(i)return Ko("resolved: %s:%s from sentinel %s",i.host,i.port,a),this.options.enableTLSForSentinelMode&&this.options.tls?(Object.assign(i,this.options.tls),this.stream=(0,lq.connect)(i),this.stream.once("secureConnect",this.initFailoverDetector.bind(this))):(this.stream=(0,Aq.createConnection)(i),this.stream.once("connect",this.initFailoverDetector.bind(this))),this.stream.once("error",A=>{this.firstError=A}),this.stream;{let A=o?"failed to connect to sentinel "+a+" because "+o.message:"connected to sentinel "+a+" successfully, but got an invalid reply: "+i;return Ko(A),e("sentinelError",new Error(A)),o&&(t=o),n()}};return n()}async updateSentinels(e){if(!this.options.updateSentinels)return;let t=await e.sentinel("sentinels",this.options.name);Array.isArray(t)&&(t.map(rA.packObject).forEach(n=>{if((n.flags?n.flags.split(","):[]).indexOf("disconnected")===-1&&n.ip&&n.port){let i=this.sentinelNatResolve(BB(n));this.sentinelIterator.add(i)&&Ko("adding sentinel %s:%s",i.host,i.port)}}),Ko("Updated internal sentinels: %s",this.sentinelIterator))}async resolveMaster(e){let t=await e.sentinel("get-master-addr-by-name",this.options.name);return await this.updateSentinels(e),this.sentinelNatResolve(Array.isArray(t)?{host:t[0],port:Number(t[1])}:null)}async resolveSlave(e){let t=await e.sentinel("slaves",this.options.name);if(!Array.isArray(t))return null;let n=t.map(rA.packObject).filter(s=>s.flags&&!s.flags.match(/(disconnected|s_down|o_down)/));return this.sentinelNatResolve(hq(n,this.options.preferredSlaves))}sentinelNatResolve(e){if(!e||!this.options.natMap)return e;let t=`${e.host}:${e.port}`,n=e;return typeof this.options.natMap=="function"?n=this.options.natMap(t)||e:typeof this.options.natMap=="object"&&(n=this.options.natMap[t]||e),n}connectToSentinel(e,t){return new uq.default({port:e.port||26379,host:e.host,username:this.options.sentinelUsername||null,password:this.options.sentinelPassword||null,family:e.family||("path"in this.options&&this.options.path?void 0:this.options.family),tls:this.options.sentinelTLS,retryStrategy:null,enableReadyCheck:!1,connectTimeout:this.options.connectTimeout,commandTimeout:this.options.sentinelCommandTimeout,...t})}async resolve(e){let t=this.connectToSentinel(e);t.on("error",fq);try{return this.options.role==="slave"?await this.resolveSlave(t):await this.resolveMaster(t)}finally{t.disconnect()}}async initFailoverDetector(){var e;if(!this.options.failoverDetector)return;this.sentinelIterator.reset(!0);let t=[];for(;t.length<this.options.sentinelMaxConnections;){let{done:n,value:s}=this.sentinelIterator.next();if(n)break;let i=this.connectToSentinel(s,{lazyConnect:!0,retryStrategy:this.options.sentinelReconnectStrategy});i.on("reconnecting",()=>{var o;(o=this.emitter)===null||o===void 0||o.emit("sentinelReconnecting")}),t.push({address:s,client:i})}this.sentinelIterator.reset(!1),this.failoverDetector&&this.failoverDetector.cleanup(),this.failoverDetector=new dq.FailoverDetector(this,t),await this.failoverDetector.subscribe(),(e=this.emitter)===null||e===void 0||e.emit("failoverSubscribed")}};nA.default=Ip;function hq(r,e){if(r.length===0)return null;let t;if(typeof e=="function")t=e(r);else if(e!==null&&typeof e=="object"){let n=Array.isArray(e)?e:[e];n.sort((s,i)=>(s.prio||(s.prio=1),i.prio||(i.prio=1),s.prio<i.prio?-1:s.prio>i.prio?1:0));for(let s=0;s<n.length;s++){for(let i=0;i<r.length;i++){let o=r[i];if(o.ip===n[s].ip&&o.port===n[s].port){t=o;break}}if(t)break}}return t||(t=(0,rA.sample)(r)),BB(t)}function BB(r){return{host:r.ip,port:Number(r.port)}}function fq(){}});var SB=g(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.SentinelConnector=Fo.StandaloneConnector=void 0;var gq=IB();Fo.StandaloneConnector=gq.default;var pq=yc();Fo.SentinelConnector=pq.default});var wB=g(Cp=>{"use strict";Object.defineProperty(Cp,"__esModule",{value:!0});var yq=ai(),mp=class extends yq.AbortError{constructor(e){let t=`Reached the max retries per request limit (which is ${e}). Refer to "maxRetriesPerRequest" option for details.`;super(t),Error.captureStackTrace(this,this.constructor)}get name(){return this.constructor.name}};Cp.default=mp});var DB=g(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.MaxRetriesPerRequestError=void 0;var Eq=wB();Ec.MaxRetriesPerRequestError=Eq.default});var MB=g((Vue,NB)=>{"use strict";var Dp=S("buffer").Buffer,Iq=S("string_decoder").StringDecoder,bp=new Iq,kB=ai(),mq=kB.ReplyError,Cq=kB.ParserError,Yr=Dp.allocUnsafe(32*1024),Tt=0,Ic=null,sA=0,Qp=0;function bq(r){let e=r.buffer.length-1;var t=r.offset,n=0,s=1;for(r.buffer[t]===45&&(s=-1,t++);t<e;){let i=r.buffer[t++];if(i===13)return r.offset=t+1,s*n;n=n*10+(i-48)}}function Qq(r){let e=r.buffer.length-1;var t=r.offset,n=0,s="";for(r.buffer[t]===45&&(s+="-",t++);t<e;){var i=r.buffer[t++];if(i===13)return r.offset=t+1,n!==0&&(s+=n),s;n>429496728?(s+=n*10+(i-48),n=0):i===48&&n===0?s+=0:n=n*10+(i-48)}}function RB(r){let e=r.offset,t=r.buffer,n=t.length-1;for(var s=e;s<n;)if(t[s++]===13)return r.offset=s+1,r.optionReturnBuffers===!0?r.buffer.slice(e,s-1):r.buffer.toString("utf8",e,s-1)}function vB(r){let e=r.buffer.length-1;for(var t=r.offset,n=0;t<e;){let s=r.buffer[t++];if(s===13)return r.offset=t+1,n;n=n*10+(s-48)}}function Bq(r){return r.optionStringNumbers===!0?Qq(r):bq(r)}function Sq(r){let e=vB(r);if(e===void 0)return;if(e<0)return null;let t=r.offset+e;if(t+2>r.buffer.length){r.bigStrSize=t+2,r.totalChunkSize=r.buffer.length,r.bufferCache.push(r.buffer);return}let n=r.offset;return r.offset=t+2,r.optionReturnBuffers===!0?r.buffer.slice(n,t):r.buffer.toString("utf8",n,t)}function wq(r){var e=RB(r);if(e!==void 0)return r.optionReturnBuffers===!0&&(e=e.toString()),new mq(e)}function Dq(r,e){let t=new Cq("Protocol error, got "+JSON.stringify(String.fromCharCode(e))+" as reply type byte",JSON.stringify(r.buffer),r.offset);r.buffer=null,r.returnFatalError(t)}function kq(r){let e=vB(r);if(e===void 0)return;if(e<0)return null;let t=new Array(e);return xB(r,t,0)}function Bp(r,e,t){r.arrayCache.push(e),r.arrayPos.push(t)}function Sp(r){let e=r.arrayCache.pop();var t=r.arrayPos.pop();if(r.arrayCache.length){let n=Sp(r);if(n===void 0){Bp(r,e,t);return}e[t++]=n}return xB(r,e,t)}function xB(r,e,t){let n=r.buffer.length;for(;t<e.length;){let s=r.offset;if(r.offset>=n){Bp(r,e,t);return}let i=TB(r,r.buffer[r.offset++]);if(i===void 0){r.arrayCache.length||r.bufferCache.length||(r.offset=s),Bp(r,e,t);return}e[t]=i,t++}return e}function TB(r,e){switch(e){case 36:return Sq(r);case 43:return RB(r);case 42:return kq(r);case 58:return Bq(r);case 45:return wq(r);default:return Dq(r,e)}}function Rq(){if(Yr.length>50*1024)if(sA===1||Qp>sA*2){let r=Math.floor(Yr.length/10),e=r<Tt?Tt:r;Tt=0,Yr=Yr.slice(e,Yr.length)}else Qp++,sA--;else clearInterval(Ic),sA=0,Qp=0,Ic=null}function vq(r){if(Yr.length<r+Tt){let e=r>78643200?2:3;Tt>1024*1024*111&&(Tt=1024*1024*50),Yr=Dp.allocUnsafe(r*e+Tt),Tt=0,sA++,Ic===null&&(Ic=setInterval(Rq,50))}}function xq(r){let e=r.bufferCache,t=r.offset;var n=e.length,s=r.bigStrSize-r.totalChunkSize;if(r.offset=s,s<=2){if(n===2)return e[0].toString("utf8",t,e[0].length+s-2);n--,s=e[e.length-2].length+s}for(var i=bp.write(e[0].slice(t)),o=1;o<n-1;o++)i+=bp.write(e[o]);return i+=bp.end(e[o].slice(0,s-2)),i}function Tq(r){let e=r.bufferCache,t=r.offset,n=r.bigStrSize-t-2;var s=e.length,i=r.bigStrSize-r.totalChunkSize;if(r.offset=i,i<=2){if(s===2)return e[0].slice(t,e[0].length+i-2);s--,i=e[e.length-2].length+i}vq(n);let o=Tt;e[0].copy(Yr,o,t,e[0].length),Tt+=e[0].length-t;for(var a=1;a<s-1;a++)e[a].copy(Yr,Tt),Tt+=e[a].length;return e[a].copy(Yr,Tt,0,i-2),Tt+=i-2,Yr.slice(o,Tt)}var wp=class{constructor(e){if(!e)throw new TypeError("Options are mandatory.");if(typeof e.returnError!="function"||typeof e.returnReply!="function")throw new TypeError("The returnReply and returnError options have to be functions.");this.setReturnBuffers(!!e.returnBuffers),this.setStringNumbers(!!e.stringNumbers),this.returnError=e.returnError,this.returnFatalError=e.returnFatalError||e.returnError,this.returnReply=e.returnReply,this.reset()}reset(){this.offset=0,this.buffer=null,this.bigStrSize=0,this.totalChunkSize=0,this.bufferCache=[],this.arrayCache=[],this.arrayPos=[]}setReturnBuffers(e){if(typeof e!="boolean")throw new TypeError("The returnBuffers argument has to be a boolean");this.optionReturnBuffers=e}setStringNumbers(e){if(typeof e!="boolean")throw new TypeError("The stringNumbers argument has to be a boolean");this.optionStringNumbers=e}execute(e){if(this.buffer===null)this.buffer=e,this.offset=0;else if(this.bigStrSize===0){let n=this.buffer.length,s=n-this.offset,i=Dp.allocUnsafe(s+e.length);if(this.buffer.copy(i,0,this.offset,n),e.copy(i,s,0,e.length),this.buffer=i,this.offset=0,this.arrayCache.length){let o=Sp(this);if(o===void 0)return;this.returnReply(o)}}else if(this.totalChunkSize+e.length>=this.bigStrSize){this.bufferCache.push(e);var t=this.optionReturnBuffers?Tq(this):xq(this);if(this.bigStrSize=0,this.bufferCache=[],this.buffer=e,this.arrayCache.length&&(this.arrayCache[0][this.arrayPos[0]++]=t,t=Sp(this),t===void 0))return;this.returnReply(t)}else{this.bufferCache.push(e),this.totalChunkSize+=e.length;return}for(;this.offset<this.buffer.length;){let n=this.offset,s=this.buffer[this.offset++],i=TB(this,s);if(i===void 0){this.arrayCache.length||this.bufferCache.length||(this.offset=n);return}s===45?this.returnError(i):this.returnReply(i)}this.buffer=null}};NB.exports=wp});var FB=g((Hue,KB)=>{"use strict";KB.exports=MB()});var LB=g(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});var Rp=class{constructor(){this.set={subscribe:{},psubscribe:{},ssubscribe:{}}}add(e,t){this.set[kp(e)][t]=!0}del(e,t){delete this.set[kp(e)][t]}channels(e){return Object.keys(this.set[kp(e)])}isEmpty(){return this.channels("subscribe").length===0&&this.channels("psubscribe").length===0&&this.channels("ssubscribe").length===0}};vp.default=Rp;function kp(r){return r==="unsubscribe"?"subscribe":r==="punsubscribe"?"psubscribe":r==="sunsubscribe"?"ssubscribe":r}});var PB=g(Tp=>{"use strict";Object.defineProperty(Tp,"__esModule",{value:!0});var OB=Nn(),Nq=ot(),Mq=FB(),Kq=LB(),Fq=(0,Nq.Debug)("dataHandler"),xp=class{constructor(e,t){this.redis=e;let n=new Mq({stringNumbers:t.stringNumbers,returnBuffers:!0,returnError:s=>{this.returnError(s)},returnFatalError:s=>{this.returnFatalError(s)},returnReply:s=>{this.returnReply(s)}});e.stream.prependListener("data",s=>{n.execute(s)}),e.stream.resume()}returnFatalError(e){e.message+=". Please report this.",this.redis.recoverFromFatalError(e,e,{offlineQueue:!1})}returnError(e){let t=this.shiftCommand(e);if(t){if(e.command={name:t.command.name,args:t.command.args},t.command.name=="ssubscribe"&&e.message.includes("MOVED")){this.redis.emit("moved");return}this.redis.handleReconnection(e,t)}}returnReply(e){if(this.handleMonitorReply(e)||this.handleSubscriberReply(e))return;let t=this.shiftCommand(e);t&&(OB.default.checkFlag("ENTER_SUBSCRIBER_MODE",t.command.name)?(this.redis.condition.subscriber=new Kq.default,this.redis.condition.subscriber.add(t.command.name,e[1].toString()),UB(t.command,e[2])||this.redis.commandQueue.unshift(t)):OB.default.checkFlag("EXIT_SUBSCRIBER_MODE",t.command.name)?jB(t.command,e[2])||this.redis.commandQueue.unshift(t):t.command.resolve(e))}handleSubscriberReply(e){if(!this.redis.condition.subscriber)return!1;let t=Array.isArray(e)?e[0].toString():null;switch(Fq('receive reply "%s" in subscriber mode',t),t){case"message":this.redis.listeners("message").length>0&&this.redis.emit("message",e[1].toString(),e[2]?e[2].toString():""),this.redis.emit("messageBuffer",e[1],e[2]);break;case"pmessage":{let n=e[1].toString();this.redis.listeners("pmessage").length>0&&this.redis.emit("pmessage",n,e[2].toString(),e[3].toString()),this.redis.emit("pmessageBuffer",n,e[2],e[3]);break}case"smessage":{this.redis.listeners("smessage").length>0&&this.redis.emit("smessage",e[1].toString(),e[2]?e[2].toString():""),this.redis.emit("smessageBuffer",e[1],e[2]);break}case"ssubscribe":case"subscribe":case"psubscribe":{let n=e[1].toString();this.redis.condition.subscriber.add(t,n);let s=this.shiftCommand(e);if(!s)return;UB(s.command,e[2])||this.redis.commandQueue.unshift(s);break}case"sunsubscribe":case"unsubscribe":case"punsubscribe":{let n=e[1]?e[1].toString():null;n&&this.redis.condition.subscriber.del(t,n);let s=e[2];Number(s)===0&&(this.redis.condition.subscriber=!1);let i=this.shiftCommand(e);if(!i)return;jB(i.command,s)||this.redis.commandQueue.unshift(i);break}default:{let n=this.shiftCommand(e);if(!n)return;n.command.resolve(e)}}return!0}handleMonitorReply(e){if(this.redis.status!=="monitoring")return!1;let t=e.toString();if(t==="OK")return!1;let n=t.indexOf(" "),s=t.slice(0,n),i=t.indexOf('"'),o=t.slice(i+1,-1).split('" "').map(A=>A.replace(/\\"/g,'"')),a=t.slice(n+2,i-2).split(" ");return this.redis.emit("monitor",s,o,a[1],a[0]),!0}shiftCommand(e){let t=this.redis.commandQueue.shift();if(!t){let n="Command queue state error. If you can reproduce this, please report it.",s=new Error(n+(e instanceof Error?` Last error: ${e.message}`:` Last reply: ${e.toString()}`));return this.redis.emit("error",s),null}return t}};Tp.default=xp;var gs=new WeakMap;function UB(r,e){let t=gs.has(r)?gs.get(r):r.args.length;return t-=1,t<=0?(r.resolve(e),gs.delete(r),!0):(gs.set(r,t),!1)}function jB(r,e){let t=gs.has(r)?gs.get(r):r.args.length;return t===0?Number(e)===0?(gs.delete(r),r.resolve(e),!0):!1:(t-=1,t<=0?(r.resolve(e),!0):(gs.set(r,t),!1))}});var _B=g(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.readyHandler=wr.errorHandler=wr.closeHandler=wr.connectHandler=void 0;var Lq=ai(),Oq=Nn(),Uq=DB(),An=ot(),jq=PB(),Ct=(0,An.Debug)("connection");function Pq(r){return function(){var e;r.setStatus("connect"),r.resetCommandQueue();let t=!1,{connectionEpoch:n}=r;r.condition.auth&&r.auth(r.condition.auth,function(i){n===r.connectionEpoch&&i&&(i.message.indexOf("no password is set")!==-1?console.warn("[WARN] Redis server does not require a password, but a password was supplied."):i.message.indexOf("without any password configured for the default user")!==-1?console.warn("[WARN] This Redis server's `default` user does not require a password, but a password was supplied"):i.message.indexOf("wrong number of arguments for 'auth' command")!==-1?console.warn(`[ERROR] The server returned "wrong number of arguments for 'auth' command". You are probably passing both username and password to Redis version 5 or below. You should only pass the 'password' option for Redis version 5 and under.`):(t=!0,r.recoverFromFatalError(i,i)))}),r.condition.select&&r.select(r.condition.select).catch(i=>{r.silentEmit("error",i)}),new jq.default(r,{stringNumbers:r.options.stringNumbers});let s=[];r.options.connectionName&&(Ct("set the connection name [%s]",r.options.connectionName),s.push(r.client("setname",r.options.connectionName).catch(An.noop))),r.options.disableClientInfo||(Ct("set the client info"),s.push((0,An.getPackageMeta)().then(i=>r.client("SETINFO","LIB-VER",i.version).catch(An.noop)).catch(An.noop)),s.push(r.client("SETINFO","LIB-NAME",!((e=r.options)===null||e===void 0)&&e.clientInfoTag?`ioredis(${r.options.clientInfoTag})`:"ioredis").catch(An.noop))),Promise.all(s).catch(An.noop).finally(()=>{r.options.enableReadyCheck||wr.readyHandler(r)(),r.options.enableReadyCheck&&r._readyCheck(function(i,o){n===r.connectionEpoch&&(i?t||r.recoverFromFatalError(new Error("Ready check failed: "+i.message),i):r.connector.check(o)?wr.readyHandler(r)():r.disconnect(!0))})})}}wr.connectHandler=Pq;function Np(r){let e=new Lq.AbortError("Command aborted due to connection close");return e.command={name:r.name,args:r.args},e}function _q(r){var e;let t=0;for(let n=0;n<r.length;){let s=(e=r.peekAt(n))===null||e===void 0?void 0:e.command,i=s.pipelineIndex;if((i===void 0||i===0)&&(t=0),i!==void 0&&i!==t++){r.remove(n,1),s.reject(Np(s));continue}n++}}function Jq(r){var e;for(let t=0;t<r.length;){let n=(e=r.peekAt(t))===null||e===void 0?void 0:e.command;if(n.name==="multi")break;if(n.name==="exec"){r.remove(t,1),n.reject(Np(n));break}n.inTransaction?(r.remove(t,1),n.reject(Np(n))):t++}}function Yq(r){return function(){let t=r.status;if(r.setStatus("close"),r.commandQueue.length&&_q(r.commandQueue),r.offlineQueue.length&&Jq(r.offlineQueue),t==="ready"&&(r.prevCondition||(r.prevCondition=r.condition),r.commandQueue.length&&(r.prevCommandQueue=r.commandQueue)),r.manuallyClosing)return r.manuallyClosing=!1,Ct("skip reconnecting since the connection is manually closed."),e();if(typeof r.options.retryStrategy!="function")return Ct("skip reconnecting because `retryStrategy` is not a function"),e();let n=r.options.retryStrategy(++r.retryAttempts);if(typeof n!="number")return Ct("skip reconnecting because `retryStrategy` doesn't return a number"),e();Ct("reconnect in %sms",n),r.setStatus("reconnecting",n),r.reconnectTimeout=setTimeout(function(){r.reconnectTimeout=null,r.connect().catch(An.noop)},n);let{maxRetriesPerRequest:s}=r.options;typeof s=="number"&&(s<0?Ct("maxRetriesPerRequest is negative, ignoring..."):r.retryAttempts%(s+1)===0&&(Ct("reach maxRetriesPerRequest limitation, flushing command queue..."),r.flushQueue(new Uq.MaxRetriesPerRequestError(s))))};function e(){r.setStatus("end"),r.flushQueue(new Error(An.CONNECTION_CLOSED_ERROR_MSG))}}wr.closeHandler=Yq;function qq(r){return function(e){Ct("error: %s",e),r.silentEmit("error",e)}}wr.errorHandler=qq;function Gq(r){return function(){if(r.setStatus("ready"),r.retryAttempts=0,r.options.monitor){r.call("monitor").then(()=>r.setStatus("monitoring"),n=>r.emit("error",n));let{sendCommand:t}=r;r.sendCommand=function(n){return Oq.default.checkFlag("VALID_IN_MONITOR_MODE",n.name)?t.call(r,n):(n.reject(new Error("Connection is in monitoring mode, can't process commands.")),n.promise)},r.once("close",function(){delete r.sendCommand});return}let e=r.prevCondition?r.prevCondition.select:r.condition.select;if(r.options.readOnly&&(Ct("set the connection to readonly mode"),r.readonly().catch(An.noop)),r.prevCondition){let t=r.prevCondition;if(r.prevCondition=null,t.subscriber&&r.options.autoResubscribe){r.condition.select!==e&&(Ct("connect to db [%d]",e),r.select(e));let n=t.subscriber.channels("subscribe");n.length&&(Ct("subscribe %d channels",n.length),r.subscribe(n));let s=t.subscriber.channels("psubscribe");s.length&&(Ct("psubscribe %d channels",s.length),r.psubscribe(s));let i=t.subscriber.channels("ssubscribe");if(i.length){Ct("ssubscribe %s",i.length);for(let o of i)r.ssubscribe(o)}}}if(r.prevCommandQueue)if(r.options.autoResendUnfulfilledCommands)for(Ct("resend %d unfulfilled commands",r.prevCommandQueue.length);r.prevCommandQueue.length>0;){let t=r.prevCommandQueue.shift();t.select!==r.condition.select&&t.command.name!=="select"&&r.select(t.select),r.sendCommand(t.command,t.stream)}else r.prevCommandQueue=null;if(r.offlineQueue.length){Ct("send %d commands in offline queue",r.offlineQueue.length);let t=r.offlineQueue;for(r.resetOfflineQueue();t.length>0;){let n=t.shift();n.select!==r.condition.select&&n.command.name!=="select"&&r.select(n.select),r.sendCommand(n.command,n.stream)}}r.condition.select!==e&&(Ct("connect to db [%d]",e),r.select(e))}}wr.readyHandler=Gq});var JB=g(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.DEFAULT_REDIS_OPTIONS=void 0;mc.DEFAULT_REDIS_OPTIONS={port:6379,host:"localhost",family:0,connectTimeout:1e4,disconnectTimeout:2e3,retryStrategy:function(r){return Math.min(r*50,2e3)},keepAlive:0,noDelay:!0,connectionName:null,disableClientInfo:!1,clientInfoTag:void 0,sentinels:null,name:null,role:"master",sentinelRetryStrategy:function(r){return Math.min(r*10,1e3)},sentinelReconnectStrategy:function(){return 6e4},natMap:null,enableTLSForSentinelMode:!1,updateSentinels:!0,failoverDetector:!1,username:null,password:null,db:0,enableOfflineQueue:!0,enableReadyCheck:!0,autoResubscribe:!0,autoResendUnfulfilledCommands:!0,lazyConnect:!1,keyPrefix:"",reconnectOnError:null,readOnly:!1,stringNumbers:!1,maxRetriesPerRequest:20,maxLoadingRetryTime:1e4,enableAutoPipelining:!1,autoPipeliningIgnoredCommands:[],sentinelMaxConnections:10,blockingTimeoutGrace:100}});var Kn=g(Kp=>{"use strict";Object.defineProperty(Kp,"__esModule",{value:!0});var YB=oi(),GB=S("events"),Mp=us(),Vq=cp(),ci=Nn(),Hq=SB(),Wq=yc(),ps=_B(),VB=JB(),zq=oc(),Zq=Hg(),ui=ot(),Xq=zg(),$q=Ac(),ys=$l(),qB=dc(),Es=(0,ui.Debug)("redis"),Is=class r extends $q.default{constructor(e,t,n){if(super(),this.status="wait",this.isCluster=!1,this.reconnectTimeout=null,this.connectionEpoch=0,this.retryAttempts=0,this.manuallyClosing=!1,this._autoPipelines=new Map,this._runningAutoPipelines=new Set,this.parseOptions(e,t,n),GB.EventEmitter.call(this),this.resetCommandQueue(),this.resetOfflineQueue(),this.options.Connector)this.connector=new this.options.Connector(this.options);else if(this.options.sentinels){let s=new Wq.default(this.options);s.emitter=this,this.connector=s}else this.connector=new Hq.StandaloneConnector(this.options);this.options.scripts&&Object.entries(this.options.scripts).forEach(([s,i])=>{this.defineCommand(s,i)}),this.options.lazyConnect?this.setStatus("wait"):this.connect().catch(ys.noop)}static createClient(...e){return new r(...e)}get autoPipelineQueueSize(){let e=0;for(let t of this._autoPipelines.values())e+=t.length;return e}connect(e){let t=new Promise((n,s)=>{if(this.status==="connecting"||this.status==="connect"||this.status==="ready"){s(new Error("Redis is already connecting/connected"));return}this.connectionEpoch+=1,this.setStatus("connecting");let{options:i}=this;this.condition={select:i.db,auth:i.username?[i.username,i.password]:i.password,subscriber:!1};let o=this;(0,Mp.default)(this.connector.connect(function(a,A){o.silentEmit(a,A)}),function(a,A){if(a){o.flushQueue(a),o.silentEmit("error",a),s(a),o.setStatus("end");return}let l=i.tls?"secureConnect":"connect";if("sentinels"in i&&i.sentinels&&!i.enableTLSForSentinelMode&&(l="connect"),o.stream=A,i.noDelay&&A.setNoDelay(!0),typeof i.keepAlive=="number"&&(A.connecting?A.once(l,()=>{A.setKeepAlive(!0,i.keepAlive)}):A.setKeepAlive(!0,i.keepAlive)),A.connecting){if(A.once(l,ps.connectHandler(o)),i.connectTimeout){let d=!1;A.setTimeout(i.connectTimeout,function(){if(d)return;A.setTimeout(0),A.destroy();let h=new Error("connect ETIMEDOUT");h.errorno="ETIMEDOUT",h.code="ETIMEDOUT",h.syscall="connect",ps.errorHandler(o)(h)}),A.once(l,function(){d=!0,A.setTimeout(0)})}}else if(A.destroyed){let d=o.connector.firstError;d&&process.nextTick(()=>{ps.errorHandler(o)(d)}),process.nextTick(ps.closeHandler(o))}else process.nextTick(ps.connectHandler(o));A.destroyed||(A.once("error",ps.errorHandler(o)),A.once("close",ps.closeHandler(o)));let c=function(){o.removeListener("close",u),n()};var u=function(){o.removeListener("ready",c),s(new Error(ui.CONNECTION_CLOSED_ERROR_MSG))};o.once("ready",c),o.once("close",u)})});return(0,Mp.default)(t,e)}disconnect(e=!1){e||(this.manuallyClosing=!0),this.reconnectTimeout&&!e&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.status==="wait"?ps.closeHandler(this)():this.connector.disconnect()}end(){this.disconnect()}duplicate(e){return new r({...this.options,...e})}get mode(){var e;return this.options.monitor?"monitor":!((e=this.condition)===null||e===void 0)&&e.subscriber?"subscriber":"normal"}monitor(e){let t=this.duplicate({monitor:!0,lazyConnect:!1});return(0,Mp.default)(new Promise(function(n,s){t.once("error",s),t.once("monitoring",function(){n(t)})}),e)}sendCommand(e,t){var n,s;if(this.status==="wait"&&this.connect().catch(ys.noop),this.status==="end")return e.reject(new Error(ui.CONNECTION_CLOSED_ERROR_MSG)),e.promise;if(!((n=this.condition)===null||n===void 0)&&n.subscriber&&!ci.default.checkFlag("VALID_IN_SUBSCRIBER_MODE",e.name))return e.reject(new Error("Connection in subscriber mode, only subscriber commands may be used")),e.promise;typeof this.options.commandTimeout=="number"&&e.setTimeout(this.options.commandTimeout);let i=this.getBlockingTimeoutInMs(e),o=this.status==="ready"||!t&&this.status==="connect"&&(0,YB.exists)(e.name,{caseInsensitive:!0})&&((0,YB.hasFlag)(e.name,"loading",{nameCaseInsensitive:!0})||ci.default.checkFlag("HANDSHAKE_COMMANDS",e.name));if(this.stream&&this.stream.writable?this.stream._writableState&&this.stream._writableState.ended&&(o=!1):o=!1,o)Es.enabled&&Es("write command[%s]: %d -> %s(%o)",this._getDescription(),(s=this.condition)===null||s===void 0?void 0:s.select,e.name,e.args),t?"isPipeline"in t&&t.isPipeline?t.write(e.toWritable(t.destination.redis.stream)):t.write(e.toWritable(t)):this.stream.write(e.toWritable(this.stream)),this.commandQueue.push({command:e,stream:t,select:this.condition.select}),i!==void 0&&e.setBlockingTimeout(i),ci.default.checkFlag("WILL_DISCONNECT",e.name)&&(this.manuallyClosing=!0),this.options.socketTimeout!==void 0&&this.socketTimeoutTimer===void 0&&this.setSocketTimeout();else{if(!this.options.enableOfflineQueue)return e.reject(new Error("Stream isn't writeable and enableOfflineQueue options is false")),e.promise;if(e.name==="quit"&&this.offlineQueue.length===0)return this.disconnect(),e.resolve(Buffer.from("OK")),e.promise;if(Es.enabled&&Es("queue command[%s]: %d -> %s(%o)",this._getDescription(),this.condition.select,e.name,e.args),this.offlineQueue.push({command:e,stream:t,select:this.condition.select}),ci.default.checkFlag("BLOCKING_COMMANDS",e.name)){let a=this.getConfiguredBlockingTimeout();a!==void 0&&e.setBlockingTimeout(a)}}if(e.name==="select"&&(0,ui.isInt)(e.args[0])){let a=parseInt(e.args[0],10);this.condition.select!==a&&(this.condition.select=a,this.emit("select",a),Es("switch to db [%d]",this.condition.select))}return e.promise}getBlockingTimeoutInMs(e){var t;if(!ci.default.checkFlag("BLOCKING_COMMANDS",e.name))return;let n=this.getConfiguredBlockingTimeout();if(n===void 0)return;let s=e.extractBlockingTimeout();if(typeof s=="number")return s>0?s+((t=this.options.blockingTimeoutGrace)!==null&&t!==void 0?t:VB.DEFAULT_REDIS_OPTIONS.blockingTimeoutGrace):n;if(s===null)return n}getConfiguredBlockingTimeout(){if(typeof this.options.blockingTimeout=="number"&&this.options.blockingTimeout>0)return this.options.blockingTimeout}setSocketTimeout(){this.socketTimeoutTimer=setTimeout(()=>{this.stream.destroy(new Error(`Socket timeout. Expecting data, but didn't receive any in ${this.options.socketTimeout}ms.`)),this.socketTimeoutTimer=void 0},this.options.socketTimeout),this.stream.once("data",()=>{clearTimeout(this.socketTimeoutTimer),this.socketTimeoutTimer=void 0,this.commandQueue.length!==0&&this.setSocketTimeout()})}scanStream(e){return this.createScanStream("scan",{options:e})}scanBufferStream(e){return this.createScanStream("scanBuffer",{options:e})}sscanStream(e,t){return this.createScanStream("sscan",{key:e,options:t})}sscanBufferStream(e,t){return this.createScanStream("sscanBuffer",{key:e,options:t})}hscanStream(e,t){return this.createScanStream("hscan",{key:e,options:t})}hscanBufferStream(e,t){return this.createScanStream("hscanBuffer",{key:e,options:t})}zscanStream(e,t){return this.createScanStream("zscan",{key:e,options:t})}zscanBufferStream(e,t){return this.createScanStream("zscanBuffer",{key:e,options:t})}silentEmit(e,t){let n;if(!(e==="error"&&(n=t,this.status==="end"||this.manuallyClosing&&n instanceof Error&&(n.message===ui.CONNECTION_CLOSED_ERROR_MSG||n.syscall==="connect"||n.syscall==="read"))))return this.listeners(e).length>0?this.emit.apply(this,arguments):(n&&n instanceof Error&&console.error("[ioredis] Unhandled error event:",n.stack),!1)}recoverFromFatalError(e,t,n){this.flushQueue(t,n),this.silentEmit("error",t),this.disconnect(!0)}handleReconnection(e,t){var n;let s=!1;switch(this.options.reconnectOnError&&!ci.default.checkFlag("IGNORE_RECONNECT_ON_ERROR",t.command.name)&&(s=this.options.reconnectOnError(e)),s){case 1:case!0:this.status!=="reconnecting"&&this.disconnect(!0),t.command.reject(e);break;case 2:this.status!=="reconnecting"&&this.disconnect(!0),((n=this.condition)===null||n===void 0?void 0:n.select)!==t.select&&t.command.name!=="select"&&this.select(t.select),this.sendCommand(t.command);break;default:t.command.reject(e)}}_getDescription(){let e;return"path"in this.options&&this.options.path?e=this.options.path:this.stream&&this.stream.remoteAddress&&this.stream.remotePort?e=this.stream.remoteAddress+":"+this.stream.remotePort:"host"in this.options&&this.options.host?e=this.options.host+":"+this.options.port:e="",this.options.connectionName&&(e+=` (${this.options.connectionName})`),e}resetCommandQueue(){this.commandQueue=new qB}resetOfflineQueue(){this.offlineQueue=new qB}parseOptions(...e){let t={},n=!1;for(let s=0;s<e.length;++s){let i=e[s];if(!(i===null||typeof i>"u"))if(typeof i=="object")(0,ys.defaults)(t,i);else if(typeof i=="string")(0,ys.defaults)(t,(0,ui.parseURL)(i)),i.startsWith("rediss://")&&(n=!0);else if(typeof i=="number")t.port=i;else throw new Error("Invalid argument "+i)}n&&(0,ys.defaults)(t,{tls:!0}),(0,ys.defaults)(t,r.defaultOptions),typeof t.port=="string"&&(t.port=parseInt(t.port,10)),typeof t.db=="string"&&(t.db=parseInt(t.db,10)),this.options=(0,ui.resolveTLSProfile)(t)}setStatus(e,t){Es.enabled&&Es("status[%s]: %s -> %s",this._getDescription(),this.status||"[empty]",e),this.status=e,process.nextTick(this.emit.bind(this,e,t))}createScanStream(e,{key:t,options:n={}}){return new zq.default({objectMode:!0,key:t,redis:this,command:e,...n})}flushQueue(e,t){t=(0,ys.defaults)({},t,{offlineQueue:!0,commandQueue:!0});let n;if(t.offlineQueue)for(;n=this.offlineQueue.shift();)n.command.reject(e);if(t.commandQueue&&this.commandQueue.length>0)for(this.stream&&this.stream.removeAllListeners("data");n=this.commandQueue.shift();)n.command.reject(e)}_readyCheck(e){let t=this;this.info(function(n,s){if(n)return n.message&&n.message.includes("NOPERM")?(console.warn(`Skipping the ready check because INFO command fails: "${n.message}". You can disable ready check with "enableReadyCheck". More: https://github.com/luin/ioredis/wiki/Disable-ready-check.`),e(null,{})):e(n);if(typeof s!="string")return e(null,s);let i={},o=s.split(`\r
|
|
160
|
+
`);for(let a=0;a<o.length;++a){let[A,...l]=o[a].split(":"),c=l.join(":");c&&(i[A]=c)}if(!i.loading||i.loading==="0")e(null,i);else{let a=(i.loading_eta_seconds||1)*1e3,A=t.options.maxLoadingRetryTime&&t.options.maxLoadingRetryTime<a?t.options.maxLoadingRetryTime:a;Es("Redis server still loading, trying again in "+A+"ms"),setTimeout(function(){t._readyCheck(e)},A)}}).catch(ys.noop)}};Is.Cluster=Vq.default;Is.Command=ci.default;Is.defaultOptions=VB.DEFAULT_REDIS_OPTIONS;(0,Xq.default)(Is,GB.EventEmitter);(0,Zq.addTransactionSupport)(Is.prototype);Kp.default=Is});var Cc=g((Pe,WB)=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});Pe.print=Pe.ReplyError=Pe.SentinelIterator=Pe.SentinelConnector=Pe.AbstractConnector=Pe.Pipeline=Pe.ScanStream=Pe.Command=Pe.Cluster=Pe.Redis=Pe.default=void 0;Pe=WB.exports=Kn().default;var eG=Kn();Object.defineProperty(Pe,"default",{enumerable:!0,get:function(){return eG.default}});var tG=Kn();Object.defineProperty(Pe,"Redis",{enumerable:!0,get:function(){return tG.default}});var rG=cp();Object.defineProperty(Pe,"Cluster",{enumerable:!0,get:function(){return rG.default}});var nG=Nn();Object.defineProperty(Pe,"Command",{enumerable:!0,get:function(){return nG.default}});var sG=oc();Object.defineProperty(Pe,"ScanStream",{enumerable:!0,get:function(){return sG.default}});var iG=qg();Object.defineProperty(Pe,"Pipeline",{enumerable:!0,get:function(){return iG.default}});var oG=gc();Object.defineProperty(Pe,"AbstractConnector",{enumerable:!0,get:function(){return oG.default}});var HB=yc();Object.defineProperty(Pe,"SentinelConnector",{enumerable:!0,get:function(){return HB.default}});Object.defineProperty(Pe,"SentinelIterator",{enumerable:!0,get:function(){return HB.SentinelIterator}});Pe.ReplyError=ai().ReplyError;Object.defineProperty(Pe,"Promise",{get(){return console.warn("ioredis v5 does not support plugging third-party Promise library anymore. Native Promise will be used."),Promise},set(r){console.warn("ioredis v5 does not support plugging third-party Promise library anymore. Native Promise will be used.")}});function aG(r,e){console.log(r?"Error: "+r:"Reply: "+e)}Pe.print=aG});var Nt={};f_(Nt,{__addDisposableResource:()=>mS,__assign:()=>bc,__asyncDelegator:()=>dS,__asyncGenerator:()=>uS,__asyncValues:()=>hS,__await:()=>Lo,__awaiter:()=>iS,__classPrivateFieldGet:()=>yS,__classPrivateFieldIn:()=>IS,__classPrivateFieldSet:()=>ES,__createBinding:()=>Bc,__decorate:()=>XB,__disposeResources:()=>CS,__esDecorate:()=>eS,__exportStar:()=>aS,__extends:()=>zB,__generator:()=>oS,__importDefault:()=>pS,__importStar:()=>gS,__makeTemplateObject:()=>fS,__metadata:()=>sS,__param:()=>$B,__propKey:()=>rS,__read:()=>Op,__rest:()=>ZB,__rewriteRelativeImportExtension:()=>bS,__runInitializers:()=>tS,__setFunctionName:()=>nS,__spread:()=>AS,__spreadArray:()=>cS,__spreadArrays:()=>lS,__values:()=>Qc,default:()=>cG});function zB(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Fp(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function ZB(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(r);s<n.length;s++)e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(r,n[s])&&(t[n[s]]=r[n[s]]);return t}function XB(r,e,t,n){var s=arguments.length,i=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(i=(s<3?o(i):s>3?o(e,t,i):o(e,t))||i);return s>3&&i&&Object.defineProperty(e,t,i),i}function $B(r,e){return function(t,n){e(t,n,r)}}function eS(r,e,t,n,s,i){function o(y){if(y!==void 0&&typeof y!="function")throw new TypeError("Function expected");return y}for(var a=n.kind,A=a==="getter"?"get":a==="setter"?"set":"value",l=!e&&r?n.static?r:r.prototype:null,c=e||(l?Object.getOwnPropertyDescriptor(l,n.name):{}),u,d=!1,h=t.length-1;h>=0;h--){var f={};for(var p in n)f[p]=p==="access"?{}:n[p];for(var p in n.access)f.access[p]=n.access[p];f.addInitializer=function(y){if(d)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(y||null))};var I=(0,t[h])(a==="accessor"?{get:c.get,set:c.set}:c[A],f);if(a==="accessor"){if(I===void 0)continue;if(I===null||typeof I!="object")throw new TypeError("Object expected");(u=o(I.get))&&(c.get=u),(u=o(I.set))&&(c.set=u),(u=o(I.init))&&s.unshift(u)}else(u=o(I))&&(a==="field"?s.unshift(u):c[A]=u)}l&&Object.defineProperty(l,n.name,c),d=!0}function tS(r,e,t){for(var n=arguments.length>2,s=0;s<e.length;s++)t=n?e[s].call(r,t):e[s].call(r);return n?t:void 0}function rS(r){return typeof r=="symbol"?r:"".concat(r)}function nS(r,e,t){return typeof e=="symbol"&&(e=e.description?"[".concat(e.description,"]"):""),Object.defineProperty(r,"name",{configurable:!0,value:t?"".concat(t," ",e):e})}function sS(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function iS(r,e,t,n){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(c){try{l(n.next(c))}catch(u){o(u)}}function A(c){try{l(n.throw(c))}catch(u){o(u)}}function l(c){c.done?i(c.value):s(c.value).then(a,A)}l((n=n.apply(r,e||[])).next())})}function oS(r,e){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,s,i,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=a(0),o.throw=a(1),o.return=a(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(l){return function(c){return A([l,c])}}function A(l){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(t=0)),t;)try{if(n=1,s&&(i=l[0]&2?s.return:l[0]?s.throw||((i=s.return)&&i.call(s),0):s.next)&&!(i=i.call(s,l[1])).done)return i;switch(s=0,i&&(l=[l[0]&2,i.value]),l[0]){case 0:case 1:i=l;break;case 4:return t.label++,{value:l[1],done:!1};case 5:t.label++,s=l[1],l=[0];continue;case 7:l=t.ops.pop(),t.trys.pop();continue;default:if(i=t.trys,!(i=i.length>0&&i[i.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!i||l[1]>i[0]&&l[1]<i[3])){t.label=l[1];break}if(l[0]===6&&t.label<i[1]){t.label=i[1],i=l;break}if(i&&t.label<i[2]){t.label=i[2],t.ops.push(l);break}i[2]&&t.ops.pop(),t.trys.pop();continue}l=e.call(r,t)}catch(c){l=[6,c],s=0}finally{n=i=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function aS(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Bc(e,r,t)}function Qc(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Op(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),s,i=[],o;try{for(;(e===void 0||e-- >0)&&!(s=n.next()).done;)i.push(s.value)}catch(a){o={error:a}}finally{try{s&&!s.done&&(t=n.return)&&t.call(n)}finally{if(o)throw o.error}}return i}function AS(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(Op(arguments[e]));return r}function lS(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var n=Array(r),s=0,e=0;e<t;e++)for(var i=arguments[e],o=0,a=i.length;o<a;o++,s++)n[s]=i[o];return n}function cS(r,e,t){if(t||arguments.length===2)for(var n=0,s=e.length,i;n<s;n++)(i||!(n in e))&&(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return r.concat(i||Array.prototype.slice.call(e))}function Lo(r){return this instanceof Lo?(this.v=r,this):new Lo(r)}function uS(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),s,i=[];return s=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),s[Symbol.asyncIterator]=function(){return this},s;function o(h){return function(f){return Promise.resolve(f).then(h,u)}}function a(h,f){n[h]&&(s[h]=function(p){return new Promise(function(I,y){i.push([h,p,I,y])>1||A(h,p)})},f&&(s[h]=f(s[h])))}function A(h,f){try{l(n[h](f))}catch(p){d(i[0][3],p)}}function l(h){h.value instanceof Lo?Promise.resolve(h.value.v).then(c,u):d(i[0][2],h)}function c(h){A("next",h)}function u(h){A("throw",h)}function d(h,f){h(f),i.shift(),i.length&&A(i[0][0],i[0][1])}}function dS(r){var e,t;return e={},n("next"),n("throw",function(s){throw s}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(s,i){e[s]=r[s]?function(o){return(t=!t)?{value:Lo(r[s](o)),done:!1}:i?i(o):o}:i}}function hS(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof Qc=="function"?Qc(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=r[i]&&function(o){return new Promise(function(a,A){o=r[i](o),s(a,A,o.done,o.value)})}}function s(i,o,a,A){Promise.resolve(A).then(function(l){i({value:l,done:a})},o)}}function fS(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function gS(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t=Lp(r),n=0;n<t.length;n++)t[n]!=="default"&&Bc(e,r,t[n]);return AG(e,r),e}function pS(r){return r&&r.__esModule?r:{default:r}}function yS(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)}function ES(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t}function IS(r,e){if(e===null||typeof e!="object"&&typeof e!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof r=="function"?e===r:r.has(e)}function mS(r,e,t){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var n,s;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=e[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=e[Symbol.dispose],t&&(s=n)}if(typeof n!="function")throw new TypeError("Object not disposable.");s&&(n=function(){try{s.call(this)}catch(i){return Promise.reject(i)}}),r.stack.push({value:e,dispose:n,async:t})}else t&&r.stack.push({async:!0});return e}function CS(r){function e(i){r.error=r.hasError?new lG(i,r.error,"An error was suppressed during disposal."):i,r.hasError=!0}var t,n=0;function s(){for(;t=r.stack.pop();)try{if(!t.async&&n===1)return n=0,r.stack.push(t),Promise.resolve().then(s);if(t.dispose){var i=t.dispose.call(t.value);if(t.async)return n|=2,Promise.resolve(i).then(s,function(o){return e(o),s()})}else n|=1}catch(o){e(o)}if(n===1)return r.hasError?Promise.reject(r.error):Promise.resolve();if(r.hasError)throw r.error}return s()}function bS(r,e){return typeof r=="string"&&/^\.\.?\//.test(r)?r.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(t,n,s,i,o){return n?e?".jsx":".js":s&&(!i||!o)?t:s+i+"."+o.toLowerCase()+"js"}):r}var Fp,bc,Bc,AG,Lp,lG,cG,Mt=h_(()=>{Fp=function(r,e){return Fp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])},Fp(r,e)};bc=function(){return bc=Object.assign||function(e){for(var t,n=1,s=arguments.length;n<s;n++){t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},bc.apply(this,arguments)};Bc=Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]});AG=Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e},Lp=function(r){return Lp=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},Lp(r)};lG=typeof SuppressedError=="function"?SuppressedError:function(r,e,t){var n=new Error(t);return n.name="SuppressedError",n.error=r,n.suppressed=e,n};cG={__extends:zB,__assign:bc,__rest:ZB,__decorate:XB,__param:$B,__esDecorate:eS,__runInitializers:tS,__propKey:rS,__setFunctionName:nS,__metadata:sS,__awaiter:iS,__generator:oS,__createBinding:Bc,__exportStar:aS,__values:Qc,__read:Op,__spread:AS,__spreadArrays:lS,__spreadArray:cS,__await:Lo,__asyncGenerator:uS,__asyncDelegator:dS,__asyncValues:hS,__makeTemplateObject:fS,__importStar:gS,__importDefault:pS,__classPrivateFieldGet:yS,__classPrivateFieldSet:ES,__classPrivateFieldIn:IS,__addDisposableResource:mS,__disposeResources:CS,__rewriteRelativeImportExtension:bS}});var _p=g(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.AsyncFifoQueue=void 0;var Up=class{constructor(e){this.value=void 0,this.next=null,this.value=e}},jp=class{constructor(){this.length=0,this.head=null,this.tail=null}push(e){let t=new Up(e);return this.length?this.tail.next=t:this.head=t,this.tail=t,this.length+=1,t}shift(){if(this.length){let e=this.head;return this.head=this.head.next,this.length-=1,e}else return null}},Pp=class{constructor(e=!1){this.ignoreErrors=e,this.queue=new jp,this.pending=new Set,this.newPromise()}add(e){this.pending.add(e),e.then(t=>{this.pending.delete(e),this.queue.length===0&&this.resolvePromise(t),this.queue.push(t)}).catch(t=>{this.ignoreErrors&&this.queue.push(void 0),this.pending.delete(e),this.rejectPromise(t)})}async waitAll(){await Promise.all(this.pending)}numTotal(){return this.pending.size+this.queue.length}numPending(){return this.pending.size}numQueued(){return this.queue.length}resolvePromise(e){this.resolve(e),this.newPromise()}rejectPromise(e){this.reject(e),this.newPromise()}newPromise(){this.nextPromise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}async wait(){return this.nextPromise}async fetch(){var e;if(!(this.pending.size===0&&this.queue.length===0)){for(;this.queue.length===0;)try{await this.wait()}catch(t){this.ignoreErrors||console.error("Unexpected Error in AsyncFifoQueue",t)}return(e=this.queue.shift())===null||e===void 0?void 0:e.value}}};Sc.AsyncFifoQueue=Pp});var Jp=g(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.Backoffs=void 0;var Oo=class{static normalize(e){if(Number.isFinite(e))return{type:"fixed",delay:e};if(e)return e}static calculate(e,t,n,s,i){if(e)return uG(e,i)(t,e.type,n,s)}};wc.Backoffs=Oo;Oo.builtinStrategies={fixed:function(r,e=0){return function(){if(e>0){let t=r*(1-e);return Math.floor(Math.random()*r*e+t)}else return r}},exponential:function(r,e=0){return function(t){if(e>0){let n=Math.round(Math.pow(2,t-1)*r),s=n*(1-e);return Math.floor(Math.random()*n*e+s)}else return Math.round(Math.pow(2,t-1)*r)}}};function uG(r,e){if(r.type in Oo.builtinStrategies)return Oo.builtinStrategies[r.type](r.delay,r.jitter);if(e)return e;throw new Error(`Unknown backoff strategy ${r.type}.
|
|
161
|
+
If a custom backoff strategy is used, specify it when the queue is created.`)}});var BS=g(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.ChildCommand=void 0;var QS;(function(r){r[r.Init=0]="Init",r[r.Start=1]="Start",r[r.Stop=2]="Stop",r[r.GetChildrenValuesResponse=3]="GetChildrenValuesResponse",r[r.GetIgnoredChildrenFailuresResponse=4]="GetIgnoredChildrenFailuresResponse",r[r.GetDependenciesCountResponse=5]="GetDependenciesCountResponse",r[r.MoveToWaitingChildrenResponse=6]="MoveToWaitingChildrenResponse",r[r.Cancel=7]="Cancel",r[r.GetDependenciesResponse=8]="GetDependenciesResponse"})(QS||(Dc.ChildCommand=QS={}))});var wS=g(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.ErrorCode=void 0;var SS;(function(r){r[r.JobNotExist=-1]="JobNotExist",r[r.JobLockNotExist=-2]="JobLockNotExist",r[r.JobNotInState=-3]="JobNotInState",r[r.JobPendingChildren=-4]="JobPendingChildren",r[r.ParentJobNotExist=-5]="ParentJobNotExist",r[r.JobLockMismatch=-6]="JobLockMismatch",r[r.ParentJobCannotBeReplaced=-7]="ParentJobCannotBeReplaced",r[r.JobBelongsToJobScheduler=-8]="JobBelongsToJobScheduler",r[r.JobHasFailedChildren=-9]="JobHasFailedChildren",r[r.SchedulerJobIdCollision=-10]="SchedulerJobIdCollision",r[r.SchedulerJobSlotsBusy=-11]="SchedulerJobSlotsBusy"})(SS||(kc.ErrorCode=SS={}))});var kS=g(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.ParentCommand=void 0;var DS;(function(r){r[r.Completed=0]="Completed",r[r.Error=1]="Error",r[r.Failed=2]="Failed",r[r.InitFailed=3]="InitFailed",r[r.InitCompleted=4]="InitCompleted",r[r.Log=5]="Log",r[r.MoveToDelayed=6]="MoveToDelayed",r[r.MoveToWait=7]="MoveToWait",r[r.Progress=8]="Progress",r[r.Update=9]="Update",r[r.GetChildrenValues=10]="GetChildrenValues",r[r.GetIgnoredChildrenFailures=11]="GetIgnoredChildrenFailures",r[r.GetDependenciesCount=12]="GetDependenciesCount",r[r.MoveToWaitingChildren=13]="MoveToWaitingChildren",r[r.GetDependencies=14]="GetDependencies"})(DS||(Rc.ParentCommand=DS={}))});var vS=g(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.MetricsTime=void 0;var RS;(function(r){r[r.ONE_MINUTE=1]="ONE_MINUTE",r[r.FIVE_MINUTES=5]="FIVE_MINUTES",r[r.FIFTEEN_MINUTES=15]="FIFTEEN_MINUTES",r[r.THIRTY_MINUTES=30]="THIRTY_MINUTES",r[r.ONE_HOUR=60]="ONE_HOUR",r[r.ONE_WEEK=10080]="ONE_WEEK",r[r.TWO_WEEKS=20160]="TWO_WEEKS",r[r.ONE_MONTH=80640]="ONE_MONTH"})(RS||(vc.MetricsTime=RS={}))});var MS=g(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.SpanKind=ms.MetricNames=ms.TelemetryAttributes=void 0;var xS;(function(r){r.QueueName="bullmq.queue.name",r.QueueOperation="bullmq.queue.operation",r.BulkCount="bullmq.job.bulk.count",r.BulkNames="bullmq.job.bulk.names",r.JobName="bullmq.job.name",r.JobId="bullmq.job.id",r.JobKey="bullmq.job.key",r.JobIds="bullmq.job.ids",r.JobAttemptsMade="bullmq.job.attempts.made",r.DeduplicationKey="bullmq.job.deduplication.key",r.JobOptions="bullmq.job.options",r.JobProgress="bullmq.job.progress",r.QueueDrainDelay="bullmq.queue.drain.delay",r.QueueGrace="bullmq.queue.grace",r.QueueCleanLimit="bullmq.queue.clean.limit",r.QueueRateLimit="bullmq.queue.rate.limit",r.JobType="bullmq.job.type",r.QueueOptions="bullmq.queue.options",r.QueueEventMaxLength="bullmq.queue.event.max.length",r.QueueJobsState="bullmq.queue.jobs.state",r.WorkerOptions="bullmq.worker.options",r.WorkerName="bullmq.worker.name",r.WorkerId="bullmq.worker.id",r.WorkerRateLimit="bullmq.worker.rate.limit",r.WorkerDoNotWaitActive="bullmq.worker.do.not.wait.active",r.WorkerForceClose="bullmq.worker.force.close",r.WorkerStalledJobs="bullmq.worker.stalled.jobs",r.WorkerFailedJobs="bullmq.worker.failed.jobs",r.WorkerJobsToExtendLocks="bullmq.worker.jobs.to.extend.locks",r.JobFinishedTimestamp="bullmq.job.finished.timestamp",r.JobAttemptFinishedTimestamp="bullmq.job.attempt_finished_timestamp",r.JobProcessedTimestamp="bullmq.job.processed.timestamp",r.JobResult="bullmq.job.result",r.JobFailedReason="bullmq.job.failed.reason",r.FlowName="bullmq.flow.name",r.JobSchedulerId="bullmq.job.scheduler.id",r.JobStatus="bullmq.job.status"})(xS||(ms.TelemetryAttributes=xS={}));var TS;(function(r){r.QueueJobsCount="bullmq.queue.jobs",r.JobsCompleted="bullmq.jobs.completed",r.JobsFailed="bullmq.jobs.failed",r.JobsDelayed="bullmq.jobs.delayed",r.JobsRetried="bullmq.jobs.retried",r.JobsWaiting="bullmq.jobs.waiting",r.JobsWaitingChildren="bullmq.jobs.waiting_children",r.JobDuration="bullmq.job.duration"})(TS||(ms.MetricNames=TS={}));var NS;(function(r){r[r.INTERNAL=0]="INTERNAL",r[r.SERVER=1]="SERVER",r[r.CLIENT=2]="CLIENT",r[r.PRODUCER=3]="PRODUCER",r[r.CONSUMER=4]="CONSUMER"})(NS||(ms.SpanKind=NS={}))});var Gt=g(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});var iA=(Mt(),Yt(Nt));iA.__exportStar(BS(),di);iA.__exportStar(wS(),di);iA.__exportStar(kS(),di);iA.__exportStar(vS(),di);iA.__exportStar(MS(),di)});var qp=g(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.Child=void 0;var dG=S("child_process"),hG=S("net"),fG=S("worker_threads"),xc=Gt(),gG=S("events"),pG={1:"Uncaught Fatal Exception",2:"Unused",3:"Internal JavaScript Parse Error",4:"Internal JavaScript Evaluation Failure",5:"Fatal Error",6:"Non-function Internal Exception Handler",7:"Internal Exception Handler Run-Time Failure",8:"Unused",9:"Invalid Argument",10:"Internal JavaScript Run-Time Failure",12:"Invalid Debug Argument",13:"Unfinished Top-Level Await"},Yp=class extends gG.EventEmitter{constructor(e,t,n={useWorkerThreads:!1}){super(),this.mainFile=e,this.processFile=t,this.opts=n,this._exitCode=null,this._signalCode=null,this._killed=!1}get pid(){if(this.childProcess)return this.childProcess.pid;if(this.worker)return Math.abs(this.worker.threadId);throw new Error("No child process or worker thread")}get exitCode(){return this._exitCode}get signalCode(){return this._signalCode}get killed(){return this.childProcess?this.childProcess.killed:this._killed}async init(){let e=await IG(process.execArgv),t;this.opts.useWorkerThreads?this.worker=t=new fG.Worker(this.mainFile,Object.assign({execArgv:e,stdin:!0,stdout:!0,stderr:!0},this.opts.workerThreadsOptions?this.opts.workerThreadsOptions:{})):this.childProcess=t=(0,dG.fork)(this.mainFile,[],Object.assign({execArgv:e,stdio:"pipe"},this.opts.workerForkOptions?this.opts.workerForkOptions:{})),t.on("exit",(n,s)=>{this._exitCode=n,s=typeof s>"u"?null:s,this._signalCode=s,this._killed=!0,this.emit("exit",n,s),t.removeAllListeners(),this.removeAllListeners()}),t.on("error",(...n)=>this.emit("error",...n)),t.on("message",(...n)=>this.emit("message",...n)),t.on("close",(...n)=>this.emit("close",...n)),t.stdout.pipe(process.stdout),t.stderr.pipe(process.stderr),await this.initChild()}async send(e){return new Promise((t,n)=>{this.childProcess?this.childProcess.send(e,s=>{s?n(s):t()}):this.worker?t(this.worker.postMessage(e)):t()})}killProcess(e="SIGKILL"){this.childProcess?this.childProcess.kill(e):this.worker&&this.worker.terminate()}async kill(e="SIGKILL",t){if(this.hasProcessExited())return;let n=yG(this.childProcess||this.worker);if(this.killProcess(e),t!==void 0&&(t===0||isFinite(t))){let s=setTimeout(()=>{this.hasProcessExited()||this.killProcess("SIGKILL")},t);await n,clearTimeout(s)}await n}async initChild(){let e=new Promise((t,n)=>{let s=o=>{if(Object.values(xc.ParentCommand).includes(o.cmd)){if(o.cmd===xc.ParentCommand.InitCompleted)t();else if(o.cmd===xc.ParentCommand.InitFailed){let a=new Error;a.stack=o.err.stack,a.message=o.err.message,n(a)}this.off("message",s),this.off("close",i)}},i=(o,a)=>{o>128&&(o-=128);let A=pG[o]||`Unknown exit code ${o}`;n(new Error(`Error initializing child: ${A} and signal ${a}`)),this.off("message",s),this.off("close",i)};this.on("message",s),this.on("close",i)});await this.send({cmd:xc.ChildCommand.Init,value:this.processFile}),await e}hasProcessExited(){return!!(this.exitCode!==null||this.signalCode)}};Tc.Child=Yp;function yG(r){return new Promise(e=>{r.once("exit",()=>e())})}var EG=async()=>new Promise(r=>{let e=(0,hG.createServer)();e.listen(0,()=>{let{port:t}=e.address();e.close(()=>r(t))})}),IG=async r=>{let e=[],t=[];for(let n=0;n<r.length;n++){let s=r[n];if(s.indexOf("--inspect")===-1)e.push(s);else{let i=s.split("=")[0],o=await EG();t.push(`${i}=${o}`)}}return e.concat(t)}});var Hp=g((Nc,Vp)=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.ChildPool=void 0;var KS=S("path"),mG=qp(),CG=3e4,bG=()=>typeof S=="function"&&typeof Vp=="object"&&typeof Vp.exports=="object",Gp=class{constructor({mainFile:e=bG()?KS.join(process.cwd(),"dist/cjs/classes/main.js"):KS.join(process.cwd(),"dist/esm/classes/main.js"),useWorkerThreads:t,workerForkOptions:n,workerThreadsOptions:s}){this.retained={},this.free={},this.opts={mainFile:e,useWorkerThreads:t,workerForkOptions:n,workerThreadsOptions:s}}async retain(e){let t=this.getFree(e).pop();if(t)return this.retained[t.pid]=t,t;t=new mG.Child(this.opts.mainFile,e,{useWorkerThreads:this.opts.useWorkerThreads,workerForkOptions:this.opts.workerForkOptions,workerThreadsOptions:this.opts.workerThreadsOptions}),t.on("exit",this.remove.bind(this,t));try{if(await t.init(),t.exitCode!==null||t.signalCode!==null)throw new Error("Child exited before it could be retained");return this.retained[t.pid]=t,t}catch(n){throw console.error(n),this.release(t),n}}release(e){delete this.retained[e.pid],this.getFree(e.processFile).push(e)}remove(e){delete this.retained[e.pid];let t=this.getFree(e.processFile),n=t.indexOf(e);n>-1&&t.splice(n,1)}async kill(e,t="SIGKILL"){return this.remove(e),e.kill(t,CG)}async clean(){let e=Object.values(this.retained).concat(this.getAllFree());this.retained={},this.free={},await Promise.all(e.map(t=>this.kill(t,"SIGTERM")))}getFree(e){return this.free[e]=this.free[e]||[]}getAllFree(){return Object.values(this.free).reduce((e,t)=>e.concat(t),[])}};Nc.ChildPool=Gp});var LS=g((cde,FS)=>{var{EventEmitter:QG}=S("events"),Mc=class{constructor(){this.eventEmitter=new QG,this.onabort=null,this.aborted=!1,this.reason=void 0}toString(){return"[object AbortSignal]"}get[Symbol.toStringTag](){return"AbortSignal"}removeEventListener(e,t){this.eventEmitter.removeListener(e,t)}addEventListener(e,t){this.eventEmitter.on(e,t)}dispatchEvent(e){let t={type:e,target:this},n=`on${e}`;typeof this[n]=="function"&&this[n](t),this.eventEmitter.emit(e,t)}throwIfAborted(){if(this.aborted)throw this.reason}static abort(e){let t=new oA;return t.abort(),t.signal}static timeout(e){let t=new oA;return setTimeout(()=>t.abort(new Error("TimeoutError")),e),t.signal}},oA=class{constructor(){this.signal=new Mc}abort(e){this.signal.aborted||(this.signal.aborted=!0,e?this.signal.reason=e:this.signal.reason=new Error("AbortError"),this.signal.dispatchEvent("abort"))}toString(){return"[object AbortController]"}get[Symbol.toStringTag](){return"AbortController"}};FS.exports={AbortController:oA,AbortSignal:Mc}});var Fc=g(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.AbortController=void 0;var BG=LS(),Wp;globalThis.AbortController?Wp=globalThis.AbortController:Wp=BG.AbortController;var zp=class extends Wp{};Kc.AbortController=zp});var aA=g((dde,OS)=>{"use strict";var SG="2.0.0",wG=Number.MAX_SAFE_INTEGER||9007199254740991,DG=16,kG=250,RG=["major","premajor","minor","preminor","patch","prepatch","prerelease"];OS.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:DG,MAX_SAFE_BUILD_LENGTH:kG,MAX_SAFE_INTEGER:wG,RELEASE_TYPES:RG,SEMVER_SPEC_VERSION:SG,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var AA=g((hde,US)=>{"use strict";var vG=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};US.exports=vG});var Uo=g((ln,jS)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Zp,MAX_SAFE_BUILD_LENGTH:xG,MAX_LENGTH:TG}=aA(),NG=AA();ln=jS.exports={};var MG=ln.re=[],KG=ln.safeRe=[],V=ln.src=[],FG=ln.safeSrc=[],H=ln.t={},LG=0,Xp="[a-zA-Z0-9-]",OG=[["\\s",1],["\\d",TG],[Xp,xG]],UG=r=>{for(let[e,t]of OG)r=r.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return r},de=(r,e,t)=>{let n=UG(e),s=LG++;NG(r,s,e),H[r]=s,V[s]=e,FG[s]=n,MG[s]=new RegExp(e,t?"g":void 0),KG[s]=new RegExp(n,t?"g":void 0)};de("NUMERICIDENTIFIER","0|[1-9]\\d*");de("NUMERICIDENTIFIERLOOSE","\\d+");de("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Xp}*`);de("MAINVERSION",`(${V[H.NUMERICIDENTIFIER]})\\.(${V[H.NUMERICIDENTIFIER]})\\.(${V[H.NUMERICIDENTIFIER]})`);de("MAINVERSIONLOOSE",`(${V[H.NUMERICIDENTIFIERLOOSE]})\\.(${V[H.NUMERICIDENTIFIERLOOSE]})\\.(${V[H.NUMERICIDENTIFIERLOOSE]})`);de("PRERELEASEIDENTIFIER",`(?:${V[H.NONNUMERICIDENTIFIER]}|${V[H.NUMERICIDENTIFIER]})`);de("PRERELEASEIDENTIFIERLOOSE",`(?:${V[H.NONNUMERICIDENTIFIER]}|${V[H.NUMERICIDENTIFIERLOOSE]})`);de("PRERELEASE",`(?:-(${V[H.PRERELEASEIDENTIFIER]}(?:\\.${V[H.PRERELEASEIDENTIFIER]})*))`);de("PRERELEASELOOSE",`(?:-?(${V[H.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${V[H.PRERELEASEIDENTIFIERLOOSE]})*))`);de("BUILDIDENTIFIER",`${Xp}+`);de("BUILD",`(?:\\+(${V[H.BUILDIDENTIFIER]}(?:\\.${V[H.BUILDIDENTIFIER]})*))`);de("FULLPLAIN",`v?${V[H.MAINVERSION]}${V[H.PRERELEASE]}?${V[H.BUILD]}?`);de("FULL",`^${V[H.FULLPLAIN]}$`);de("LOOSEPLAIN",`[v=\\s]*${V[H.MAINVERSIONLOOSE]}${V[H.PRERELEASELOOSE]}?${V[H.BUILD]}?`);de("LOOSE",`^${V[H.LOOSEPLAIN]}$`);de("GTLT","((?:<|>)?=?)");de("XRANGEIDENTIFIERLOOSE",`${V[H.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);de("XRANGEIDENTIFIER",`${V[H.NUMERICIDENTIFIER]}|x|X|\\*`);de("XRANGEPLAIN",`[v=\\s]*(${V[H.XRANGEIDENTIFIER]})(?:\\.(${V[H.XRANGEIDENTIFIER]})(?:\\.(${V[H.XRANGEIDENTIFIER]})(?:${V[H.PRERELEASE]})?${V[H.BUILD]}?)?)?`);de("XRANGEPLAINLOOSE",`[v=\\s]*(${V[H.XRANGEIDENTIFIERLOOSE]})(?:\\.(${V[H.XRANGEIDENTIFIERLOOSE]})(?:\\.(${V[H.XRANGEIDENTIFIERLOOSE]})(?:${V[H.PRERELEASELOOSE]})?${V[H.BUILD]}?)?)?`);de("XRANGE",`^${V[H.GTLT]}\\s*${V[H.XRANGEPLAIN]}$`);de("XRANGELOOSE",`^${V[H.GTLT]}\\s*${V[H.XRANGEPLAINLOOSE]}$`);de("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Zp}})(?:\\.(\\d{1,${Zp}}))?(?:\\.(\\d{1,${Zp}}))?`);de("COERCE",`${V[H.COERCEPLAIN]}(?:$|[^\\d])`);de("COERCEFULL",V[H.COERCEPLAIN]+`(?:${V[H.PRERELEASE]})?(?:${V[H.BUILD]})?(?:$|[^\\d])`);de("COERCERTL",V[H.COERCE],!0);de("COERCERTLFULL",V[H.COERCEFULL],!0);de("LONETILDE","(?:~>?)");de("TILDETRIM",`(\\s*)${V[H.LONETILDE]}\\s+`,!0);ln.tildeTrimReplace="$1~";de("TILDE",`^${V[H.LONETILDE]}${V[H.XRANGEPLAIN]}$`);de("TILDELOOSE",`^${V[H.LONETILDE]}${V[H.XRANGEPLAINLOOSE]}$`);de("LONECARET","(?:\\^)");de("CARETTRIM",`(\\s*)${V[H.LONECARET]}\\s+`,!0);ln.caretTrimReplace="$1^";de("CARET",`^${V[H.LONECARET]}${V[H.XRANGEPLAIN]}$`);de("CARETLOOSE",`^${V[H.LONECARET]}${V[H.XRANGEPLAINLOOSE]}$`);de("COMPARATORLOOSE",`^${V[H.GTLT]}\\s*(${V[H.LOOSEPLAIN]})$|^$`);de("COMPARATOR",`^${V[H.GTLT]}\\s*(${V[H.FULLPLAIN]})$|^$`);de("COMPARATORTRIM",`(\\s*)${V[H.GTLT]}\\s*(${V[H.LOOSEPLAIN]}|${V[H.XRANGEPLAIN]})`,!0);ln.comparatorTrimReplace="$1$2$3";de("HYPHENRANGE",`^\\s*(${V[H.XRANGEPLAIN]})\\s+-\\s+(${V[H.XRANGEPLAIN]})\\s*$`);de("HYPHENRANGELOOSE",`^\\s*(${V[H.XRANGEPLAINLOOSE]})\\s+-\\s+(${V[H.XRANGEPLAINLOOSE]})\\s*$`);de("STAR","(<|>)?=?\\s*\\*");de("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");de("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var Lc=g((fde,PS)=>{"use strict";var jG=Object.freeze({loose:!0}),PG=Object.freeze({}),_G=r=>r?typeof r!="object"?jG:r:PG;PS.exports=_G});var $p=g((gde,YS)=>{"use strict";var _S=/^[0-9]+$/,JS=(r,e)=>{if(typeof r=="number"&&typeof e=="number")return r===e?0:r<e?-1:1;let t=_S.test(r),n=_S.test(e);return t&&n&&(r=+r,e=+e),r===e?0:t&&!n?-1:n&&!t?1:r<e?-1:1},JG=(r,e)=>JS(e,r);YS.exports={compareIdentifiers:JS,rcompareIdentifiers:JG}});var St=g((pde,GS)=>{"use strict";var Oc=AA(),{MAX_LENGTH:qS,MAX_SAFE_INTEGER:Uc}=aA(),{safeRe:jc,t:Pc}=Uo(),YG=Lc(),{compareIdentifiers:ey}=$p(),ty=class r{constructor(e,t){if(t=YG(t),e instanceof r){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>qS)throw new TypeError(`version is longer than ${qS} characters`);Oc("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let n=e.trim().match(t.loose?jc[Pc.LOOSE]:jc[Pc.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Uc||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Uc||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Uc||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&i<Uc)return i}return s}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(Oc("SemVer.compare",this.version,this.options,e),!(e instanceof r)){if(typeof e=="string"&&e===this.version)return 0;e=new r(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof r||(e=new r(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof r||(e=new r(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let n=this.prerelease[t],s=e.prerelease[t];if(Oc("prerelease compare",t,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return ey(n,s)}while(++t)}compareBuild(e){e instanceof r||(e=new r(e,this.options));let t=0;do{let n=this.build[t],s=e.build[t];if(Oc("build compare",t,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return ey(n,s)}while(++t)}inc(e,t,n){if(e.startsWith("pre")){if(!t&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let s=`-${t}`.match(this.options.loose?jc[Pc.PRERELEASELOOSE]:jc[Pc.PRERELEASE]);if(!s||s[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,n),this.inc("pre",t,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(t){let i=[t,s];n===!1&&(i=[t]),ey(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};GS.exports=ty});var hi=g((yde,HS)=>{"use strict";var VS=St(),qG=(r,e,t=!1)=>{if(r instanceof VS)return r;try{return new VS(r,e)}catch(n){if(!t)return null;throw n}};HS.exports=qG});var zS=g((Ede,WS)=>{"use strict";var GG=hi(),VG=(r,e)=>{let t=GG(r,e);return t?t.version:null};WS.exports=VG});var XS=g((Ide,ZS)=>{"use strict";var HG=hi(),WG=(r,e)=>{let t=HG(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};ZS.exports=WG});var tw=g((mde,ew)=>{"use strict";var $S=St(),zG=(r,e,t,n,s)=>{typeof t=="string"&&(s=n,n=t,t=void 0);try{return new $S(r instanceof $S?r.version:r,t).inc(e,n,s).version}catch{return null}};ew.exports=zG});var sw=g((Cde,nw)=>{"use strict";var rw=hi(),ZG=(r,e)=>{let t=rw(r,null,!0),n=rw(e,null,!0),s=t.compare(n);if(s===0)return null;let i=s>0,o=i?t:n,a=i?n:t,A=!!o.prerelease.length;if(!!a.prerelease.length&&!A){if(!a.patch&&!a.minor)return"major";if(a.compareMain(o)===0)return a.minor&&!a.patch?"minor":"patch"}let c=A?"pre":"";return t.major!==n.major?c+"major":t.minor!==n.minor?c+"minor":t.patch!==n.patch?c+"patch":"prerelease"};nw.exports=ZG});var ow=g((bde,iw)=>{"use strict";var XG=St(),$G=(r,e)=>new XG(r,e).major;iw.exports=$G});var Aw=g((Qde,aw)=>{"use strict";var eV=St(),tV=(r,e)=>new eV(r,e).minor;aw.exports=tV});var cw=g((Bde,lw)=>{"use strict";var rV=St(),nV=(r,e)=>new rV(r,e).patch;lw.exports=nV});var dw=g((Sde,uw)=>{"use strict";var sV=hi(),iV=(r,e)=>{let t=sV(r,e);return t&&t.prerelease.length?t.prerelease:null};uw.exports=iV});var Dr=g((wde,fw)=>{"use strict";var hw=St(),oV=(r,e,t)=>new hw(r,t).compare(new hw(e,t));fw.exports=oV});var pw=g((Dde,gw)=>{"use strict";var aV=Dr(),AV=(r,e,t)=>aV(e,r,t);gw.exports=AV});var Ew=g((kde,yw)=>{"use strict";var lV=Dr(),cV=(r,e)=>lV(r,e,!0);yw.exports=cV});var _c=g((Rde,mw)=>{"use strict";var Iw=St(),uV=(r,e,t)=>{let n=new Iw(r,t),s=new Iw(e,t);return n.compare(s)||n.compareBuild(s)};mw.exports=uV});var bw=g((vde,Cw)=>{"use strict";var dV=_c(),hV=(r,e)=>r.sort((t,n)=>dV(t,n,e));Cw.exports=hV});var Bw=g((xde,Qw)=>{"use strict";var fV=_c(),gV=(r,e)=>r.sort((t,n)=>fV(n,t,e));Qw.exports=gV});var lA=g((Tde,Sw)=>{"use strict";var pV=Dr(),yV=(r,e,t)=>pV(r,e,t)>0;Sw.exports=yV});var Jc=g((Nde,ww)=>{"use strict";var EV=Dr(),IV=(r,e,t)=>EV(r,e,t)<0;ww.exports=IV});var ry=g((Mde,Dw)=>{"use strict";var mV=Dr(),CV=(r,e,t)=>mV(r,e,t)===0;Dw.exports=CV});var ny=g((Kde,kw)=>{"use strict";var bV=Dr(),QV=(r,e,t)=>bV(r,e,t)!==0;kw.exports=QV});var Yc=g((Fde,Rw)=>{"use strict";var BV=Dr(),SV=(r,e,t)=>BV(r,e,t)>=0;Rw.exports=SV});var qc=g((Lde,vw)=>{"use strict";var wV=Dr(),DV=(r,e,t)=>wV(r,e,t)<=0;vw.exports=DV});var sy=g((Ode,xw)=>{"use strict";var kV=ry(),RV=ny(),vV=lA(),xV=Yc(),TV=Jc(),NV=qc(),MV=(r,e,t,n)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return kV(r,t,n);case"!=":return RV(r,t,n);case">":return vV(r,t,n);case">=":return xV(r,t,n);case"<":return TV(r,t,n);case"<=":return NV(r,t,n);default:throw new TypeError(`Invalid operator: ${e}`)}};xw.exports=MV});var Nw=g((Ude,Tw)=>{"use strict";var KV=St(),FV=hi(),{safeRe:Gc,t:Vc}=Uo(),LV=(r,e)=>{if(r instanceof KV)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(e.includePrerelease?Gc[Vc.COERCEFULL]:Gc[Vc.COERCE]);else{let A=e.includePrerelease?Gc[Vc.COERCERTLFULL]:Gc[Vc.COERCERTL],l;for(;(l=A.exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||l.index+l[0].length!==t.index+t[0].length)&&(t=l),A.lastIndex=l.index+l[1].length+l[2].length;A.lastIndex=-1}if(t===null)return null;let n=t[2],s=t[3]||"0",i=t[4]||"0",o=e.includePrerelease&&t[5]?`-${t[5]}`:"",a=e.includePrerelease&&t[6]?`+${t[6]}`:"";return FV(`${n}.${s}.${i}${o}${a}`,e)};Tw.exports=LV});var Kw=g((jde,Mw)=>{"use strict";var iy=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,t)}return this}};Mw.exports=iy});var kr=g((Pde,Uw)=>{"use strict";var OV=/\s+/g,oy=class r{constructor(e,t){if(t=jV(t),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof ay)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(OV," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(s=>!Lw(s[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&VV(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let t=this.set[e];for(let n=0;n<t.length;n++)n>0&&(this.formatted+=" "),this.formatted+=t[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let n=((this.options.includePrerelease&&qV)|(this.options.loose&&GV))+":"+e,s=Fw.get(n);if(s)return s;let i=this.options.loose,o=i?Kt[wt.HYPHENRANGELOOSE]:Kt[wt.HYPHENRANGE];e=e.replace(o,nH(this.options.includePrerelease)),Je("hyphen replace",e),e=e.replace(Kt[wt.COMPARATORTRIM],_V),Je("comparator trim",e),e=e.replace(Kt[wt.TILDETRIM],JV),Je("tilde trim",e),e=e.replace(Kt[wt.CARETTRIM],YV),Je("caret trim",e);let a=e.split(" ").map(u=>HV(u,this.options)).join(" ").split(/\s+/).map(u=>rH(u,this.options));i&&(a=a.filter(u=>(Je("loose invalid filter",u,this.options),!!u.match(Kt[wt.COMPARATORLOOSE])))),Je("range list",a);let A=new Map,l=a.map(u=>new ay(u,this.options));for(let u of l){if(Lw(u))return[u];A.set(u.value,u)}A.size>1&&A.has("")&&A.delete("");let c=[...A.values()];return Fw.set(n,c),c}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some(n=>Ow(n,t)&&e.set.some(s=>Ow(s,t)&&n.every(i=>s.every(o=>i.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new PV(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(sH(this.set[t],e,this.options))return!0;return!1}};Uw.exports=oy;var UV=Kw(),Fw=new UV,jV=Lc(),ay=cA(),Je=AA(),PV=St(),{safeRe:Kt,t:wt,comparatorTrimReplace:_V,tildeTrimReplace:JV,caretTrimReplace:YV}=Uo(),{FLAG_INCLUDE_PRERELEASE:qV,FLAG_LOOSE:GV}=aA(),Lw=r=>r.value==="<0.0.0-0",VV=r=>r.value==="",Ow=(r,e)=>{let t=!0,n=r.slice(),s=n.pop();for(;t&&n.length;)t=n.every(i=>s.intersects(i,e)),s=n.pop();return t},HV=(r,e)=>(r=r.replace(Kt[wt.BUILD],""),Je("comp",r,e),r=ZV(r,e),Je("caret",r),r=WV(r,e),Je("tildes",r),r=$V(r,e),Je("xrange",r),r=tH(r,e),Je("stars",r),r),Ft=r=>!r||r.toLowerCase()==="x"||r==="*",WV=(r,e)=>r.trim().split(/\s+/).map(t=>zV(t,e)).join(" "),zV=(r,e)=>{let t=e.loose?Kt[wt.TILDELOOSE]:Kt[wt.TILDE];return r.replace(t,(n,s,i,o,a)=>{Je("tilde",r,n,s,i,o,a);let A;return Ft(s)?A="":Ft(i)?A=`>=${s}.0.0 <${+s+1}.0.0-0`:Ft(o)?A=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:a?(Je("replaceTilde pr",a),A=`>=${s}.${i}.${o}-${a} <${s}.${+i+1}.0-0`):A=`>=${s}.${i}.${o} <${s}.${+i+1}.0-0`,Je("tilde return",A),A})},ZV=(r,e)=>r.trim().split(/\s+/).map(t=>XV(t,e)).join(" "),XV=(r,e)=>{Je("caret",r,e);let t=e.loose?Kt[wt.CARETLOOSE]:Kt[wt.CARET],n=e.includePrerelease?"-0":"";return r.replace(t,(s,i,o,a,A)=>{Je("caret",r,s,i,o,a,A);let l;return Ft(i)?l="":Ft(o)?l=`>=${i}.0.0${n} <${+i+1}.0.0-0`:Ft(a)?i==="0"?l=`>=${i}.${o}.0${n} <${i}.${+o+1}.0-0`:l=`>=${i}.${o}.0${n} <${+i+1}.0.0-0`:A?(Je("replaceCaret pr",A),i==="0"?o==="0"?l=`>=${i}.${o}.${a}-${A} <${i}.${o}.${+a+1}-0`:l=`>=${i}.${o}.${a}-${A} <${i}.${+o+1}.0-0`:l=`>=${i}.${o}.${a}-${A} <${+i+1}.0.0-0`):(Je("no pr"),i==="0"?o==="0"?l=`>=${i}.${o}.${a}${n} <${i}.${o}.${+a+1}-0`:l=`>=${i}.${o}.${a}${n} <${i}.${+o+1}.0-0`:l=`>=${i}.${o}.${a} <${+i+1}.0.0-0`),Je("caret return",l),l})},$V=(r,e)=>(Je("replaceXRanges",r,e),r.split(/\s+/).map(t=>eH(t,e)).join(" ")),eH=(r,e)=>{r=r.trim();let t=e.loose?Kt[wt.XRANGELOOSE]:Kt[wt.XRANGE];return r.replace(t,(n,s,i,o,a,A)=>{Je("xRange",r,n,s,i,o,a,A);let l=Ft(i),c=l||Ft(o),u=c||Ft(a),d=u;return s==="="&&d&&(s=""),A=e.includePrerelease?"-0":"",l?s===">"||s==="<"?n="<0.0.0-0":n="*":s&&d?(c&&(o=0),a=0,s===">"?(s=">=",c?(i=+i+1,o=0,a=0):(o=+o+1,a=0)):s==="<="&&(s="<",c?i=+i+1:o=+o+1),s==="<"&&(A="-0"),n=`${s+i}.${o}.${a}${A}`):c?n=`>=${i}.0.0${A} <${+i+1}.0.0-0`:u&&(n=`>=${i}.${o}.0${A} <${i}.${+o+1}.0-0`),Je("xRange return",n),n})},tH=(r,e)=>(Je("replaceStars",r,e),r.trim().replace(Kt[wt.STAR],"")),rH=(r,e)=>(Je("replaceGTE0",r,e),r.trim().replace(Kt[e.includePrerelease?wt.GTE0PRE:wt.GTE0],"")),nH=r=>(e,t,n,s,i,o,a,A,l,c,u,d)=>(Ft(n)?t="":Ft(s)?t=`>=${n}.0.0${r?"-0":""}`:Ft(i)?t=`>=${n}.${s}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,Ft(l)?A="":Ft(c)?A=`<${+l+1}.0.0-0`:Ft(u)?A=`<${l}.${+c+1}.0-0`:d?A=`<=${l}.${c}.${u}-${d}`:r?A=`<${l}.${c}.${+u+1}-0`:A=`<=${A}`,`${t} ${A}`.trim()),sH=(r,e,t)=>{for(let n=0;n<r.length;n++)if(!r[n].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let n=0;n<r.length;n++)if(Je(r[n].semver),r[n].semver!==ay.ANY&&r[n].semver.prerelease.length>0){let s=r[n].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var cA=g((_de,qw)=>{"use strict";var uA=Symbol("SemVer ANY"),cy=class r{static get ANY(){return uA}constructor(e,t){if(t=jw(t),e instanceof r){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),ly("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===uA?this.value="":this.value=this.operator+this.semver.version,ly("comp",this)}parse(e){let t=this.options.loose?Pw[_w.COMPARATORLOOSE]:Pw[_w.COMPARATOR],n=e.match(t);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new Jw(n[2],this.options.loose):this.semver=uA}toString(){return this.value}test(e){if(ly("Comparator.test",e,this.options.loose),this.semver===uA||e===uA)return!0;if(typeof e=="string")try{e=new Jw(e,this.options)}catch{return!1}return Ay(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Yw(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new Yw(this.value,t).test(e.semver):(t=jw(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||Ay(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||Ay(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};qw.exports=cy;var jw=Lc(),{safeRe:Pw,t:_w}=Uo(),Ay=sy(),ly=AA(),Jw=St(),Yw=kr()});var dA=g((Jde,Gw)=>{"use strict";var iH=kr(),oH=(r,e,t)=>{try{e=new iH(e,t)}catch{return!1}return e.test(r)};Gw.exports=oH});var Hw=g((Yde,Vw)=>{"use strict";var aH=kr(),AH=(r,e)=>new aH(r,e).set.map(t=>t.map(n=>n.value).join(" ").trim().split(" "));Vw.exports=AH});var zw=g((qde,Ww)=>{"use strict";var lH=St(),cH=kr(),uH=(r,e,t)=>{let n=null,s=null,i=null;try{i=new cH(e,t)}catch{return null}return r.forEach(o=>{i.test(o)&&(!n||s.compare(o)===-1)&&(n=o,s=new lH(n,t))}),n};Ww.exports=uH});var Xw=g((Gde,Zw)=>{"use strict";var dH=St(),hH=kr(),fH=(r,e,t)=>{let n=null,s=null,i=null;try{i=new hH(e,t)}catch{return null}return r.forEach(o=>{i.test(o)&&(!n||s.compare(o)===1)&&(n=o,s=new dH(n,t))}),n};Zw.exports=fH});var tD=g((Vde,eD)=>{"use strict";var uy=St(),gH=kr(),$w=lA(),pH=(r,e)=>{r=new gH(r,e);let t=new uy("0.0.0");if(r.test(t)||(t=new uy("0.0.0-0"),r.test(t)))return t;t=null;for(let n=0;n<r.set.length;++n){let s=r.set[n],i=null;s.forEach(o=>{let a=new uy(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!i||$w(a,i))&&(i=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),i&&(!t||$w(t,i))&&(t=i)}return t&&r.test(t)?t:null};eD.exports=pH});var nD=g((Hde,rD)=>{"use strict";var yH=kr(),EH=(r,e)=>{try{return new yH(r,e).range||"*"}catch{return null}};rD.exports=EH});var Hc=g((Wde,aD)=>{"use strict";var IH=St(),oD=cA(),{ANY:mH}=oD,CH=kr(),bH=dA(),sD=lA(),iD=Jc(),QH=qc(),BH=Yc(),SH=(r,e,t,n)=>{r=new IH(r,n),e=new CH(e,n);let s,i,o,a,A;switch(t){case">":s=sD,i=QH,o=iD,a=">",A=">=";break;case"<":s=iD,i=BH,o=sD,a="<",A="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(bH(r,e,n))return!1;for(let l=0;l<e.set.length;++l){let c=e.set[l],u=null,d=null;if(c.forEach(h=>{h.semver===mH&&(h=new oD(">=0.0.0")),u=u||h,d=d||h,s(h.semver,u.semver,n)?u=h:o(h.semver,d.semver,n)&&(d=h)}),u.operator===a||u.operator===A||(!d.operator||d.operator===a)&&i(r,d.semver))return!1;if(d.operator===A&&o(r,d.semver))return!1}return!0};aD.exports=SH});var lD=g((zde,AD)=>{"use strict";var wH=Hc(),DH=(r,e,t)=>wH(r,e,">",t);AD.exports=DH});var uD=g((Zde,cD)=>{"use strict";var kH=Hc(),RH=(r,e,t)=>kH(r,e,"<",t);cD.exports=RH});var fD=g((Xde,hD)=>{"use strict";var dD=kr(),vH=(r,e,t)=>(r=new dD(r,t),e=new dD(e,t),r.intersects(e,t));hD.exports=vH});var pD=g(($de,gD)=>{"use strict";var xH=dA(),TH=Dr();gD.exports=(r,e,t)=>{let n=[],s=null,i=null,o=r.sort((c,u)=>TH(c,u,t));for(let c of o)xH(c,e,t)?(i=c,s||(s=c)):(i&&n.push([s,i]),i=null,s=null);s&&n.push([s,null]);let a=[];for(let[c,u]of n)c===u?a.push(c):!u&&c===o[0]?a.push("*"):u?c===o[0]?a.push(`<=${u}`):a.push(`${c} - ${u}`):a.push(`>=${c}`);let A=a.join(" || "),l=typeof e.raw=="string"?e.raw:String(e);return A.length<l.length?A:e}});var bD=g((ehe,CD)=>{"use strict";var yD=kr(),hy=cA(),{ANY:dy}=hy,hA=dA(),fy=Dr(),NH=(r,e,t={})=>{if(r===e)return!0;r=new yD(r,t),e=new yD(e,t);let n=!1;e:for(let s of r.set){for(let i of e.set){let o=KH(s,i,t);if(n=n||o!==null,o)continue e}if(n)return!1}return!0},MH=[new hy(">=0.0.0-0")],ED=[new hy(">=0.0.0")],KH=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===dy){if(e.length===1&&e[0].semver===dy)return!0;t.includePrerelease?r=MH:r=ED}if(e.length===1&&e[0].semver===dy){if(t.includePrerelease)return!0;e=ED}let n=new Set,s,i;for(let h of r)h.operator===">"||h.operator===">="?s=ID(s,h,t):h.operator==="<"||h.operator==="<="?i=mD(i,h,t):n.add(h.semver);if(n.size>1)return null;let o;if(s&&i){if(o=fy(s.semver,i.semver,t),o>0)return null;if(o===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let h of n){if(s&&!hA(h,String(s),t)||i&&!hA(h,String(i),t))return null;for(let f of e)if(!hA(h,String(f),t))return!1;return!0}let a,A,l,c,u=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,d=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;u&&u.prerelease.length===1&&i.operator==="<"&&u.prerelease[0]===0&&(u=!1);for(let h of e){if(c=c||h.operator===">"||h.operator===">=",l=l||h.operator==="<"||h.operator==="<=",s){if(d&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===d.major&&h.semver.minor===d.minor&&h.semver.patch===d.patch&&(d=!1),h.operator===">"||h.operator===">="){if(a=ID(s,h,t),a===h&&a!==s)return!1}else if(s.operator===">="&&!hA(s.semver,String(h),t))return!1}if(i){if(u&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===u.major&&h.semver.minor===u.minor&&h.semver.patch===u.patch&&(u=!1),h.operator==="<"||h.operator==="<="){if(A=mD(i,h,t),A===h&&A!==i)return!1}else if(i.operator==="<="&&!hA(i.semver,String(h),t))return!1}if(!h.operator&&(i||s)&&o!==0)return!1}return!(s&&l&&!i&&o!==0||i&&c&&!s&&o!==0||d||u)},ID=(r,e,t)=>{if(!r)return e;let n=fy(r.semver,e.semver,t);return n>0?r:n<0||e.operator===">"&&r.operator===">="?e:r},mD=(r,e,t)=>{if(!r)return e;let n=fy(r.semver,e.semver,t);return n<0?r:n>0||e.operator==="<"&&r.operator==="<="?e:r};CD.exports=NH});var wD=g((the,SD)=>{"use strict";var gy=Uo(),QD=aA(),FH=St(),BD=$p(),LH=hi(),OH=zS(),UH=XS(),jH=tw(),PH=sw(),_H=ow(),JH=Aw(),YH=cw(),qH=dw(),GH=Dr(),VH=pw(),HH=Ew(),WH=_c(),zH=bw(),ZH=Bw(),XH=lA(),$H=Jc(),eW=ry(),tW=ny(),rW=Yc(),nW=qc(),sW=sy(),iW=Nw(),oW=cA(),aW=kr(),AW=dA(),lW=Hw(),cW=zw(),uW=Xw(),dW=tD(),hW=nD(),fW=Hc(),gW=lD(),pW=uD(),yW=fD(),EW=pD(),IW=bD();SD.exports={parse:LH,valid:OH,clean:UH,inc:jH,diff:PH,major:_H,minor:JH,patch:YH,prerelease:qH,compare:GH,rcompare:VH,compareLoose:HH,compareBuild:WH,sort:zH,rsort:ZH,gt:XH,lt:$H,eq:eW,neq:tW,gte:rW,lte:nW,cmp:sW,coerce:iW,Comparator:oW,Range:aW,satisfies:AW,toComparators:lW,maxSatisfying:cW,minSatisfying:uW,minVersion:dW,validRange:hW,outside:fW,gtr:gW,ltr:pW,intersects:yW,simplifyRange:EW,subset:IW,SemVer:FH,re:gy.re,src:gy.src,tokens:gy.t,SEMVER_SPEC_VERSION:QD.SEMVER_SPEC_VERSION,RELEASE_TYPES:QD.RELEASE_TYPES,compareIdentifiers:BD.compareIdentifiers,rcompareIdentifiers:BD.rcompareIdentifiers}});var sr=g(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.QUEUE_EVENT_SUFFIX=oe.toString=oe.errorToJSON=oe.parseObjectValues=oe.isRedisVersionLowerThan=oe.childSend=oe.asyncSend=oe.DELAY_TIME_1=oe.DELAY_TIME_5=oe.clientCommandMessageReg=oe.optsEncodeMap=oe.optsDecodeMap=oe.errorObject=void 0;oe.tryCatch=bW;oe.lengthInUtf8Bytes=QW;oe.isEmpty=BW;oe.array2obj=SW;oe.objectToFlatArray=wW;oe.delay=DW;oe.increaseMaxListeners=DD;oe.invertObject=kD;oe.isRedisInstance=RD;oe.isRedisCluster=kW;oe.decreaseMaxListeners=RW;oe.removeAllQueueData=vW;oe.getParentKey=xW;oe.isNotConnectionError=vD;oe.removeUndefinedFields=jW;oe.trace=PW;oe.randomUUID=_W;var mW=Cc(),py=S("crypto"),CW=ot(),yy=wD(),Ey=Gt();oe.errorObject={value:null};function bW(r,e,t){try{return r.apply(e,t)}catch(n){return oe.errorObject.value=n,oe.errorObject}}function QW(r){return Buffer.byteLength(r,"utf8")}function BW(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e))return!1;return!0}function SW(r){let e={};for(let t=0;t<r.length;t+=2)e[r[t]]=r[t+1];return e}function wW(r){let e=[];for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&r[t]!==void 0&&(e[e.length]=t,e[e.length]=r[t]);return e}function DW(r,e){return new Promise(t=>{let n,s=()=>{e?.signal.removeEventListener("abort",s),clearTimeout(n),t()};n=setTimeout(s,r),e?.signal.addEventListener("abort",s)})}function DD(r,e){let t=r.getMaxListeners();r.setMaxListeners(t+e)}function kD(r){return Object.entries(r).reduce((e,[t,n])=>(e[n]=t,e),{})}oe.optsDecodeMap={de:"deduplication",fpof:"failParentOnFailure",cpof:"continueParentOnFailure",idof:"ignoreDependencyOnFailure",kl:"keepLogs",rdof:"removeDependencyOnFailure"};oe.optsEncodeMap=Object.assign(Object.assign({},kD(oe.optsDecodeMap)),{debounce:"de"});function RD(r){return r?["connect","disconnect","duplicate"].every(t=>typeof r[t]=="function"):!1}function kW(r){return RD(r)&&r.isCluster}function RW(r,e){DD(r,-e)}async function vW(r,e,t=process.env.BULLMQ_TEST_PREFIX||"bull"){if(r instanceof mW.Cluster)return Promise.resolve(!1);let n=`${t}:${e}:*`,s=[];await new Promise((i,o)=>{let a=r.scanStream({match:n});a.on("data",A=>{if(A.length){let l=r.pipeline();A.forEach(u=>{l.del(u)});let c=l.exec().catch(u=>{throw o(u),u});s.push(c)}}),a.on("end",()=>i()),a.on("error",A=>o(A))}),await Promise.all(s);try{await r.quit()}catch(i){if(vD(i))throw i}}function xW(r){if(r)return`${r.queue}:${r.id}`}oe.clientCommandMessageReg=/ERR unknown command ['`]\s*client\s*['`]/;oe.DELAY_TIME_5=5e3;oe.DELAY_TIME_1=100;function vD(r){let{code:e,message:t}=r;return t!==CW.CONNECTION_CLOSED_ERROR_MSG&&!t.includes("ECONNREFUSED")&&e!=="ECONNREFUSED"}var TW=(r,e)=>new Promise((t,n)=>{typeof r.send=="function"?r.send(e,s=>{s?n(s):t()}):typeof r.postMessage=="function"?t(r.postMessage(e)):t()});oe.asyncSend=TW;var NW=(r,e)=>(0,oe.asyncSend)(r,e);oe.childSend=NW;var MW=(r,e,t,n="redis")=>{if(t===n){let s=yy.valid(yy.coerce(r));return yy.lt(s,e)}return!1};oe.isRedisVersionLowerThan=MW;var KW=r=>{let e={};for(let t of Object.entries(r))e[t[0]]=JSON.parse(t[1]);return e};oe.parseObjectValues=KW;var FW=r=>{let e=new WeakSet;return e.add(r),(t,n)=>{if(typeof n=="object"&&n!==null){if(e.has(n))return"[Circular]";e.add(n)}return n}},LW=r=>{let e={};return Object.getOwnPropertyNames(r).forEach(function(t){e[t]=r[t]}),JSON.parse(JSON.stringify(e,FW(r)))};oe.errorToJSON=LW;var OW=1/0,UW=r=>{if(r==null)return"";if(typeof r=="string")return r;if(Array.isArray(r))return`${r.map(t=>t==null?t:(0,oe.toString)(t))}`;if(typeof r=="symbol"||Object.prototype.toString.call(r)=="[object Symbol]")return r.toString();let e=`${r}`;return e==="0"&&1/r===-OW?"-0":e};oe.toString=UW;oe.QUEUE_EVENT_SUFFIX=":qe";function jW(r){let e={};for(let t in r)r[t]!==void 0&&(e[t]=r[t]);return e}async function PW(r,e,t,n,s,i,o){if(r){let{tracer:a,contextManager:A}=r,l=A.active(),c;o&&(c=A.fromMetadata(l,o));let u=s?`${n} ${s}`:n,d=a.startSpan(u,{kind:e},c);try{d.setAttributes({[Ey.TelemetryAttributes.QueueName]:t,[Ey.TelemetryAttributes.QueueOperation]:n});let h,f;return e===Ey.SpanKind.CONSUMER&&c?h=d.setSpanOnContext(c):h=d.setSpanOnContext(l),i.length==2&&(f=A.getMetadata(h)),await A.with(h,()=>i(d,f))}catch(h){throw d.recordException(h),h}finally{d.end()}}else return i()}function _W(){if(typeof py.randomUUID=="function")return(0,py.randomUUID)();let r=(0,py.randomBytes)(16);return r[6]=r[6]&15|64,r[8]=r[8]&63|128,[r.toString("hex",0,4),r.toString("hex",4,6),r.toString("hex",6,8),r.toString("hex",8,10),r.toString("hex",10,16)].join("-")}});var xD=g(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.ChildProcessor=void 0;var JW=Fc(),Lt=Gt(),Iy=sr(),Cs;(function(r){r[r.Idle=0]="Idle",r[r.Started=1]="Started",r[r.Terminating=2]="Terminating",r[r.Errored=3]="Errored"})(Cs||(Cs={}));var fA=process.env.NODE_ENV==="test"?500:5e3,my=class{constructor(e,t){this.send=e,this.receiver=t}async init(e){let t;try{let{default:s}=await import(e);if(t=s,t.default&&(t=t.default),typeof t!="function")throw new Error("No function is exported in processor file")}catch(s){return this.status=Cs.Errored,this.send({cmd:Lt.ParentCommand.InitFailed,err:(0,Iy.errorToJSON)(s)})}let n=t;t=function(s,i,o){try{return Promise.resolve(n(s,i,o))}catch(a){return Promise.reject(a)}},this.processor=t,this.status=Cs.Idle,await this.send({cmd:Lt.ParentCommand.InitCompleted})}async start(e,t){if(this.status!==Cs.Idle)return this.send({cmd:Lt.ParentCommand.Error,err:(0,Iy.errorToJSON)(new Error("cannot start a not idling child process"))});this.status=Cs.Started,this.abortController=new JW.AbortController,this.currentJobPromise=(async()=>{try{let n=this.wrapJob(e,this.send),s=await this.processor(n,t,this.abortController.signal);await this.send({cmd:Lt.ParentCommand.Completed,value:typeof s>"u"?null:s})}catch(n){await this.send({cmd:Lt.ParentCommand.Failed,value:(0,Iy.errorToJSON)(n.message?n:new Error(n))})}finally{this.status=Cs.Idle,this.currentJobPromise=void 0,this.abortController=void 0}})()}cancel(e){this.abortController&&this.abortController.abort(e)}async stop(){}async waitForCurrentJobAndExit(){this.status=Cs.Terminating;try{await this.currentJobPromise}finally{process.exit(process.exitCode||0)}}wrapJob(e,t){let n=Object.assign(Object.assign({},e),{queueQualifiedName:e.queueQualifiedName,data:JSON.parse(e.data||"{}"),opts:e.opts,returnValue:JSON.parse(e.returnvalue||"{}"),async updateProgress(s){this.progress=s,await t({cmd:Lt.ParentCommand.Progress,value:s})},log:async s=>{await t({cmd:Lt.ParentCommand.Log,value:s})},moveToDelayed:async(s,i)=>{await t({cmd:Lt.ParentCommand.MoveToDelayed,value:{timestamp:s,token:i}})},moveToWait:async s=>{await t({cmd:Lt.ParentCommand.MoveToWait,value:{token:s}})},moveToWaitingChildren:async(s,i)=>{let o=Math.random().toString(36).substring(2,15);return await t({requestId:o,cmd:Lt.ParentCommand.MoveToWaitingChildren,value:{token:s,opts:i}}),gA(o,this.receiver,fA,"moveToWaitingChildren")},updateData:async s=>{await t({cmd:Lt.ParentCommand.Update,value:s}),n.data=s},getChildrenValues:async()=>{let s=Math.random().toString(36).substring(2,15);return await t({requestId:s,cmd:Lt.ParentCommand.GetChildrenValues}),gA(s,this.receiver,fA,"getChildrenValues")},getIgnoredChildrenFailures:async()=>{let s=Math.random().toString(36).substring(2,15);return await t({requestId:s,cmd:Lt.ParentCommand.GetIgnoredChildrenFailures}),gA(s,this.receiver,fA,"getIgnoredChildrenFailures")},getDependenciesCount:async s=>{let i=Math.random().toString(36).substring(2,15);return await t({requestId:i,cmd:Lt.ParentCommand.GetDependenciesCount,value:s}),gA(i,this.receiver,fA,"getDependenciesCount")},getDependencies:async s=>{let i=Math.random().toString(36).substring(2,15);return await t({requestId:i,cmd:Lt.ParentCommand.GetDependencies,value:s}),gA(i,this.receiver,fA,"getDependencies")}});return n}};Wc.ChildProcessor=my;var gA=async(r,e,t,n)=>new Promise((s,i)=>{let o=a=>{a.requestId===r&&(s(a.value),e.off("message",o))};e.on("message",o),setTimeout(()=>{e.off("message",o),i(new Error(`TimeoutError: ${n} timed out in (${t}ms)`))},t)})});var TD=g(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.DelayedError=fi.DELAYED_ERROR=void 0;fi.DELAYED_ERROR="bullmq:movedToDelayed";var Cy=class extends Error{constructor(e=fi.DELAYED_ERROR){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}};fi.DelayedError=Cy});var ND=g(gi=>{"use strict";Object.defineProperty(gi,"__esModule",{value:!0});gi.RateLimitError=gi.RATE_LIMIT_ERROR=void 0;gi.RATE_LIMIT_ERROR="bullmq:rateLimitExceeded";var by=class extends Error{constructor(e=gi.RATE_LIMIT_ERROR){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}};gi.RateLimitError=by});var By=g(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.UnrecoverableError=pi.UNRECOVERABLE_ERROR=void 0;pi.UNRECOVERABLE_ERROR="bullmq:unrecoverable";var Qy=class extends Error{constructor(e=pi.UNRECOVERABLE_ERROR){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}};pi.UnrecoverableError=Qy});var MD=g(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.WaitingChildrenError=yi.WAITING_CHILDREN_ERROR=void 0;yi.WAITING_CHILDREN_ERROR="bullmq:movedToWaitingChildren";var Sy=class extends Error{constructor(e=yi.WAITING_CHILDREN_ERROR){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}};yi.WaitingChildrenError=Sy});var KD=g(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.WaitingError=Ei.WAITING_ERROR=void 0;Ei.WAITING_ERROR="bullmq:movedToWait";var wy=class extends Error{constructor(e=Ei.WAITING_ERROR){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}};Ei.WaitingError=wy});var zc=g(Ii=>{"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});var pA=(Mt(),Yt(Nt));pA.__exportStar(TD(),Ii);pA.__exportStar(ND(),Ii);pA.__exportStar(By(),Ii);pA.__exportStar(MD(),Ii);pA.__exportStar(KD(),Ii)});var OD=g((che,LD)=>{"use strict";var FD=()=>process.platform==="linux",Zc=null,YW=()=>{if(!Zc)if(FD()&&process.report){let r=process.report.excludeNetwork;process.report.excludeNetwork=!0,Zc=process.report.getReport(),process.report.excludeNetwork=r}else Zc={};return Zc};LD.exports={isLinux:FD,getReport:YW}});var jD=g((uhe,UD)=>{"use strict";var jo=S("fs"),qW="/usr/bin/ldd",GW="/proc/self/exe",Xc=2048,VW=r=>{let e=jo.openSync(r,"r"),t=Buffer.alloc(Xc),n=jo.readSync(e,t,0,Xc,0);return jo.close(e,()=>{}),t.subarray(0,n)},HW=r=>new Promise((e,t)=>{jo.open(r,"r",(n,s)=>{if(n)t(n);else{let i=Buffer.alloc(Xc);jo.read(s,i,0,Xc,0,(o,a)=>{e(i.subarray(0,a)),jo.close(s,()=>{})})}})});UD.exports={LDD_PATH:qW,SELF_PATH:GW,readFileSync:VW,readFile:HW}});var _D=g((dhe,PD)=>{"use strict";var WW=r=>{if(r.length<64||r.readUInt32BE(0)!==2135247942||r.readUInt8(4)!==2||r.readUInt8(5)!==1)return null;let e=r.readUInt32LE(32),t=r.readUInt16LE(54),n=r.readUInt16LE(56);for(let s=0;s<n;s++){let i=e+s*t;if(r.readUInt32LE(i)===3){let a=r.readUInt32LE(i+8),A=r.readUInt32LE(i+32);return r.subarray(a,a+A).toString().replace(/\0.*$/g,"")}}return null};PD.exports={interpreterPath:WW}});var ak=g((hhe,ok)=>{"use strict";var YD=S("child_process"),{isLinux:Po,getReport:qD}=OD(),{LDD_PATH:$c,SELF_PATH:GD,readFile:Dy,readFileSync:ky}=jD(),{interpreterPath:VD}=_D(),cn,un,dn,HD="getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",bs="",WD=()=>bs||new Promise(r=>{YD.exec(HD,(e,t)=>{bs=e?" ":t,r(bs)})}),zD=()=>{if(!bs)try{bs=YD.execSync(HD,{encoding:"utf8"})}catch{bs=" "}return bs},Fn="glibc",ZD=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,mi="musl",zW=r=>r.includes("libc.musl-")||r.includes("ld-musl-"),XD=()=>{let r=qD();return r.header&&r.header.glibcVersionRuntime?Fn:Array.isArray(r.sharedObjects)&&r.sharedObjects.some(zW)?mi:null},$D=r=>{let[e,t]=r.split(/[\r\n]+/);return e&&e.includes(Fn)?Fn:t&&t.includes(mi)?mi:null},ek=r=>{if(r){if(r.includes("/ld-musl-"))return mi;if(r.includes("/ld-linux-"))return Fn}return null},tk=r=>(r=r.toString(),r.includes("musl")?mi:r.includes("GNU C Library")?Fn:null),ZW=async()=>{if(un!==void 0)return un;un=null;try{let r=await Dy($c);un=tk(r)}catch{}return un},XW=()=>{if(un!==void 0)return un;un=null;try{let r=ky($c);un=tk(r)}catch{}return un},$W=async()=>{if(cn!==void 0)return cn;cn=null;try{let r=await Dy(GD),e=VD(r);cn=ek(e)}catch{}return cn},e3=()=>{if(cn!==void 0)return cn;cn=null;try{let r=ky(GD),e=VD(r);cn=ek(e)}catch{}return cn},rk=async()=>{let r=null;if(Po()&&(r=await $W(),!r&&(r=await ZW(),r||(r=XD()),!r))){let e=await WD();r=$D(e)}return r},nk=()=>{let r=null;if(Po()&&(r=e3(),!r&&(r=XW(),r||(r=XD()),!r))){let e=zD();r=$D(e)}return r},t3=async()=>Po()&&await rk()!==Fn,r3=()=>Po()&&nk()!==Fn,n3=async()=>{if(dn!==void 0)return dn;dn=null;try{let e=(await Dy($c)).match(ZD);e&&(dn=e[1])}catch{}return dn},s3=()=>{if(dn!==void 0)return dn;dn=null;try{let e=ky($c).match(ZD);e&&(dn=e[1])}catch{}return dn},sk=()=>{let r=qD();return r.header&&r.header.glibcVersionRuntime?r.header.glibcVersionRuntime:null},JD=r=>r.trim().split(/\s+/)[1],ik=r=>{let[e,t,n]=r.split(/[\r\n]+/);return e&&e.includes(Fn)?JD(e):t&&n&&t.includes(mi)?JD(n):null},i3=async()=>{let r=null;if(Po()&&(r=await n3(),r||(r=sk()),!r)){let e=await WD();r=ik(e)}return r},o3=()=>{let r=null;if(Po()&&(r=s3(),r||(r=sk()),!r)){let e=zD();r=ik(e)}return r};ok.exports={GLIBC:Fn,MUSL:mi,family:rk,familySync:nk,isNonGlibcLinux:t3,isNonGlibcLinuxSync:r3,version:i3,versionSync:o3}});var Ck=g((fhe,mk)=>{var a3=S("fs"),qr=S("path"),A3=S("url"),ck=S("os"),uk=typeof __webpack_require__=="function"?__non_webpack_require__:S,l3=process.config&&process.config.variables||{},c3=!!process.env.PREBUILDS_ONLY,Ny=process.versions,vy=Ny.modules;(Ny.deno||process.isBun)&&(vy="unsupported");var Ry=h3()?"electron":d3()?"node-webkit":"node",eu=process.env.npm_config_arch||ck.arch(),tu=process.env.npm_config_platform||ck.platform(),dk=process.env.LIBC||(f3(tu)?"musl":"glibc"),xy=process.env.ARM_VERSION||(eu==="arm64"?"8":l3.arm_version)||"",hk=(Ny.uv||"").split(".")[0];mk.exports=hn;function hn(r){return uk(hn.resolve(r))}hn.resolve=hn.path=function(r){r=qr.resolve(r||".");var e="",t;try{e=uk(qr.join(r,"package.json")).name;var n=e.toUpperCase().replace(/-/g,"_");process.env[n+"_PREBUILD"]&&(r=process.env[n+"_PREBUILD"])}catch(p){t=p}if(!c3){var s=Ak(qr.join(r,"build/Release"),lk);if(s)return s;var i=Ak(qr.join(r,"build/Debug"),lk);if(i)return i}var o=h(r);if(o)return o;var a=h(qr.dirname(process.execPath));if(a)return a;var A=(e[0]=="@"?"":"@"+e+"/")+e+"-"+tu+"-"+eu,l;try{var c=qr.dirname(S("module").createRequire(A3.pathToFileURL(qr.join(r,"package.json"))).resolve(A));return f(c)}catch(p){l=p}var u=["platform="+tu,"arch="+eu,"runtime="+Ry,"abi="+vy,"uv="+hk,xy?"armv="+xy:"","libc="+dk,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"",typeof __webpack_require__=="function"?"webpack=true":""].filter(Boolean).join(" ");let d="No native build was found for "+u+`
|
|
162
|
+
attempted loading from: `+r+" and package: "+A+`
|
|
163
|
+
`;throw t&&(d+="Error finding package.json: "+t.message+`
|
|
164
|
+
`),l&&(d+="Error resolving package: "+l.message+`
|
|
165
|
+
`),new Error(d);function h(p){var I=Ty(qr.join(p,"prebuilds")).map(fk),y=I.filter(gk(tu,eu)).sort(pk)[0];if(y)return f(qr.join(p,"prebuilds",y.name))}function f(p){var I=Ty(p).map(yk),y=I.filter(Ek(Ry,vy)),m=y.sort(Ik(Ry))[0];if(m)return qr.join(p,m.file)}};function Ty(r){try{return a3.readdirSync(r)}catch{return[]}}function Ak(r,e){var t=Ty(r).filter(e);return t[0]&&qr.join(r,t[0])}function lk(r){return/\.node$/.test(r)}function fk(r){var e=r.split("-");if(e.length===2){var t=e[0],n=e[1].split("+");if(t&&n.length&&n.every(Boolean))return{name:r,platform:t,architectures:n}}}function gk(r,e){return function(t){return t==null||t.platform!==r?!1:t.architectures.includes(e)}}function pk(r,e){return r.architectures.length-e.architectures.length}function yk(r){var e=r.split("."),t=e.pop(),n={file:r,specificity:0};if(t==="node"){for(var s=0;s<e.length;s++){var i=e[s];if(i==="node"||i==="electron"||i==="node-webkit")n.runtime=i;else if(i==="napi")n.napi=!0;else if(i.slice(0,3)==="abi")n.abi=i.slice(3);else if(i.slice(0,2)==="uv")n.uv=i.slice(2);else if(i.slice(0,4)==="armv")n.armv=i.slice(4);else if(i==="glibc"||i==="musl")n.libc=i;else continue;n.specificity++}return n}}function Ek(r,e){return function(t){return!(t==null||t.runtime!==r&&!u3(t)||t.abi!==e&&!t.napi||t.uv&&t.uv!==hk||t.armv&&t.armv!==xy||t.libc&&t.libc!==dk)}}function u3(r){return r.runtime==="node"&&r.napi}function Ik(r){return function(e,t){return e.runtime!==t.runtime?e.runtime===r?-1:1:e.abi!==t.abi?e.abi?-1:1:e.specificity!==t.specificity?e.specificity>t.specificity?-1:1:0}}function d3(){return!!(process.versions&&process.versions.nw)}function h3(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window<"u"&&window.process&&window.process.type==="renderer"}function f3(r){if(r!=="linux")return!1;let{familySync:e,MUSL:t}=ak();return e()===t}hn.parseTags=yk;hn.matchTags=Ek;hn.compareTags=Ik;hn.parseTuple=fk;hn.matchTuple=gk;hn.compareTuples=pk});var bk=g((phe,Ky)=>{var My=typeof __webpack_require__=="function"?__non_webpack_require__:S;typeof My.addon=="function"?Ky.exports=My.addon.bind(My):Ky.exports=Ck()});var Bk=g((Ehe,Qk)=>{Qk.exports=bk()(__dirname)});var rR=g(ke=>{"use strict";var Uk=S("stream"),g3=S("module"),Uy;try{Uy=new TextDecoder}catch{}var P,or,Q=0,jy=[],bi=jy,EA=0,Te={},Ce,Ln,ir=0,Rr=0,ut,On,kt=[],me,Sk={useRecords:!1,mapsAsObjects:!0},iu=class{},Py=new iu;Py.name="MessagePack 0xC1";var Qs=!1,wk=2,Un=class r{constructor(e){e&&(e.useRecords===!1&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.sequential&&e.trusted!==!1&&(e.trusted=!0,!e.structures&&e.useRecords!=!1&&(e.structures=[],e.maxSharedStructures||(e.maxSharedStructures=0))),e.structures?e.structures.sharedLength=e.structures.length:e.getStructures&&((e.structures=[]).uninitialized=!0,e.structures.sharedLength=0),e.int64AsNumber&&(e.int64AsType="number")),Object.assign(this,e)}unpack(e,t){if(P)return Hk(()=>(au(),this?this.unpack(e,t):r.prototype.unpack.call(Sk,e,t)));!e.buffer&&e.constructor===ArrayBuffer&&(e=typeof Buffer<"u"?Buffer.from(e):new Uint8Array(e)),typeof t=="object"?(or=t.end||e.length,Q=t.start||0):(Q=0,or=t>-1?t:e.length),EA=0,Rr=0,Ln=null,bi=jy,ut=null,P=e;try{me=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(n){throw P=null,e instanceof Uint8Array?n:new Error("Source must be a Uint8Array or Buffer but was a "+(e&&typeof e=="object"?e.constructor.name:typeof e))}if(this instanceof r){if(Te=this,this.structures)return Ce=this.structures,ru(t);(!Ce||Ce.length>0)&&(Ce=[])}else Te=Sk,(!Ce||Ce.length>0)&&(Ce=[]);return ru(t)}unpackMultiple(e,t){let n,s=0;try{Qs=!0;let i=e.length,o=this?this.unpack(e,i):hu.unpack(e,i);if(t){if(t(o,s,Q)===!1)return;for(;Q<i;)if(s=Q,t(ru(),s,Q)===!1)return}else{for(n=[o];Q<i;)s=Q,n.push(ru());return n}}catch(i){throw i.lastPosition=s,i.values=n,i}finally{Qs=!1,au()}}_mergeStructures(e,t){this._onLoadedStructures&&(e=this._onLoadedStructures(e)),e=e||[],Object.isFrozen(e)&&(e=e.map(n=>n.slice(0)));for(let n=0,s=e.length;n<s;n++){let i=e[n];i&&(i.isShared=!0,n>=32&&(i.highByte=n-32>>5))}e.sharedLength=e.length;for(let n in t||[])if(n>=0){let s=e[n],i=t[n];i&&(s&&((e.restoreStructures||(e.restoreStructures=[]))[n]=s),e[n]=i)}return this.structures=e}decode(e,t){return this.unpack(e,t)}};function ru(r){try{if(!Te.trusted&&!Qs){let t=Ce.sharedLength||0;t<Ce.length&&(Ce.length=t)}let e;if(Te._readStruct&&P[Q]<64&&P[Q]>=32?(e=Te._readStruct(P,Q,or),P=null,!(r&&r.lazy)&&e&&(e=e.toJSON()),Q=or):e=nt(),ut&&(Q=ut.postBundlePosition,ut=null),Qs&&(Ce.restoreStructures=null),Q==or)Ce&&Ce.restoreStructures&&Dk(),Ce=null,P=null,On&&(On=null);else{if(Q>or)throw new Error("Unexpected end of MessagePack data");if(!Qs){let t;try{t=JSON.stringify(e,(n,s)=>typeof s=="bigint"?`${s}n`:s).slice(0,100)}catch(n){t="(JSON view not available "+n+")"}throw new Error("Data read, but end of buffer not reached "+t)}}return e}catch(e){throw Ce&&Ce.restoreStructures&&Dk(),au(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")||Q>or)&&(e.incomplete=!0),e}}function Dk(){for(let r in Ce.restoreStructures)Ce[r]=Ce.restoreStructures[r];Ce.restoreStructures=null}function nt(){let r=P[Q++];if(r<160)if(r<128){if(r<64)return r;{let e=Ce[r&63]||Te.getStructures&&jk()[r&63];return e?(e.read||(e.read=_y(e,r&63)),e.read()):r}}else if(r<144)if(r-=128,Te.mapsAsObjects){let e={};for(let t=0;t<r;t++){let n=qk();n==="__proto__"&&(n="__proto_"),e[n]=nt()}return e}else{let e=new Map;for(let t=0;t<r;t++)e.set(nt(),nt());return e}else{r-=144;let e=new Array(r);for(let t=0;t<r;t++)e[t]=nt();return Te.freezeData?Object.freeze(e):e}else if(r<192){let e=r-160;if(Rr>=Q)return Ln.slice(Q-ir,(Q+=e)-ir);if(Rr==0&&or<140){let t=e<16?Jy(e):Yk(e);if(t!=null)return t}return ou(e)}else{let e;switch(r){case 192:return null;case 193:return ut?(e=nt(),e>0?ut[1].slice(ut.position1,ut.position1+=e):ut[0].slice(ut.position0,ut.position0-=e)):Py;case 194:return!1;case 195:return!0;case 196:if(e=P[Q++],e===void 0)throw new Error("Unexpected end of buffer");return Fy(e);case 197:return e=me.getUint16(Q),Q+=2,Fy(e);case 198:return e=me.getUint32(Q),Q+=4,Fy(e);case 199:return Ci(P[Q++]);case 200:return e=me.getUint16(Q),Q+=2,Ci(e);case 201:return e=me.getUint32(Q),Q+=4,Ci(e);case 202:if(e=me.getFloat32(Q),Te.useFloat32>2){let t=du[(P[Q]&127)<<1|P[Q+1]>>7];return Q+=4,(t*e+(e>0?.5:-.5)>>0)/t}return Q+=4,e;case 203:return e=me.getFloat64(Q),Q+=8,e;case 204:return P[Q++];case 205:return e=me.getUint16(Q),Q+=2,e;case 206:return e=me.getUint32(Q),Q+=4,e;case 207:return Te.int64AsType==="number"?(e=me.getUint32(Q)*4294967296,e+=me.getUint32(Q+4)):Te.int64AsType==="string"?e=me.getBigUint64(Q).toString():Te.int64AsType==="auto"?(e=me.getBigUint64(Q),e<=BigInt(2)<<BigInt(52)&&(e=Number(e))):e=me.getBigUint64(Q),Q+=8,e;case 208:return me.getInt8(Q++);case 209:return e=me.getInt16(Q),Q+=2,e;case 210:return e=me.getInt32(Q),Q+=4,e;case 211:return Te.int64AsType==="number"?(e=me.getInt32(Q)*4294967296,e+=me.getUint32(Q+4)):Te.int64AsType==="string"?e=me.getBigInt64(Q).toString():Te.int64AsType==="auto"?(e=me.getBigInt64(Q),e>=BigInt(-2)<<BigInt(52)&&e<=BigInt(2)<<BigInt(52)&&(e=Number(e))):e=me.getBigInt64(Q),Q+=8,e;case 212:if(e=P[Q++],e==114)return Nk(P[Q++]&63);{let t=kt[e];if(t)return t.read?(Q++,t.read(nt())):t.noBuffer?(Q++,t()):t(P.subarray(Q,++Q));throw new Error("Unknown extension "+e)}case 213:return e=P[Q],e==114?(Q++,Nk(P[Q++]&63,P[Q++])):Ci(2);case 214:return Ci(4);case 215:return Ci(8);case 216:return Ci(16);case 217:return e=P[Q++],Rr>=Q?Ln.slice(Q-ir,(Q+=e)-ir):Pk(e);case 218:return e=me.getUint16(Q),Q+=2,Rr>=Q?Ln.slice(Q-ir,(Q+=e)-ir):_k(e);case 219:return e=me.getUint32(Q),Q+=4,Rr>=Q?Ln.slice(Q-ir,(Q+=e)-ir):Jk(e);case 220:return e=me.getUint16(Q),Q+=2,Rk(e);case 221:return e=me.getUint32(Q),Q+=4,Rk(e);case 222:return e=me.getUint16(Q),Q+=2,vk(e);case 223:return e=me.getUint32(Q),Q+=4,vk(e);default:if(r>=224)return r-256;if(r===void 0){let t=new Error("Unexpected end of MessagePack data");throw t.incomplete=!0,t}throw new Error("Unknown MessagePack token "+r)}}}var p3=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function _y(r,e){function t(){if(t.count++>wk){let s;try{s=r.read=new Function("r","return function(){return "+(Te.freezeData?"Object.freeze":"")+"({"+r.map(i=>i==="__proto__"?"__proto_:r()":p3.test(i)?i+":r()":"["+JSON.stringify(i)+"]:r()").join(",")+"})}")(nt)}catch{return wk=1/0,t()}return r.highByte===0&&(r.read=kk(e,r.read)),s()}let n={};for(let s=0,i=r.length;s<i;s++){let o=r[s];o==="__proto__"&&(o="__proto_"),n[o]=nt()}return Te.freezeData?Object.freeze(n):n}return t.count=0,r.highByte===0?kk(e,t):t}var kk=(r,e)=>function(){let t=P[Q++];if(t===0)return e();let n=r<32?-(r+(t<<5)):r+(t<<5),s=Ce[n]||jk()[n];if(!s)throw new Error("Record id is not defined for "+n);return s.read||(s.read=_y(s,r)),s.read()};function jk(){let r=Hk(()=>(P=null,Te.getStructures()));return Ce=Te._mergeStructures(r,Ce)}var ou=Yo,Pk=Yo,_k=Yo,Jk=Yo;ke.isNativeAccelerationEnabled=!1;function y3(r){ke.isNativeAccelerationEnabled=!0,ou=e(1),Pk=e(2),_k=e(3),Jk=e(5);function e(t){return function(s){let i=bi[EA++];if(i==null){if(ut)return Yo(s);let a=P.byteOffset,A=r(Q-t+a,or+a,P.buffer);if(typeof A=="string")i=A,bi=jy;else if(bi=A,EA=1,Rr=1,i=bi[0],i===void 0)throw new Error("Unexpected end of buffer")}let o=i.length;return o<=s?(Q+=s,i):(Ln=i,ir=Q,Rr=Q+o,Q+=s,i.slice(0,s))}}}function Yo(r){let e;if(r<16&&(e=Jy(r)))return e;if(r>64&&Uy)return Uy.decode(P.subarray(Q,Q+=r));let t=Q+r,n=[];for(e="";Q<t;){let s=P[Q++];if((s&128)===0)n.push(s);else if((s&224)===192){let i=P[Q++]&63,o=(s&31)<<6|i;o<128?n.push(65533):n.push(o)}else if((s&240)===224){let i=P[Q++]&63,o=P[Q++]&63,a=(s&31)<<12|i<<6|o;a<2048||a>=55296&&a<=57343?n.push(65533):n.push(a)}else if((s&248)===240){let i=P[Q++]&63,o=P[Q++]&63,a=P[Q++]&63,A=(s&7)<<18|i<<12|o<<6|a;A<65536||A>1114111?n.push(65533):(A>65535&&(A-=65536,n.push(A>>>10&1023|55296),A=56320|A&1023),n.push(A))}else n.push(65533);n.length>=4096&&(e+=pt.apply(String,n),n.length=0)}return n.length>0&&(e+=pt.apply(String,n)),e}function Rk(r){let e=new Array(r);for(let t=0;t<r;t++)e[t]=nt();return Te.freezeData?Object.freeze(e):e}function vk(r){if(Te.mapsAsObjects){let e={};for(let t=0;t<r;t++){let n=qk();n==="__proto__"&&(n="__proto_"),e[n]=nt()}return e}else{let e=new Map;for(let t=0;t<r;t++)e.set(nt(),nt());return e}}var pt=String.fromCharCode;function Yk(r){let e=Q,t=new Array(r);for(let n=0;n<r;n++){let s=P[Q++];if((s&128)>0){Q=e;return}t[n]=s}return pt.apply(String,t)}function Jy(r){if(r<4)if(r<2){if(r===0)return"";{let e=P[Q++];if((e&128)>1){Q-=1;return}return pt(e)}}else{let e=P[Q++],t=P[Q++];if((e&128)>0||(t&128)>0){Q-=2;return}if(r<3)return pt(e,t);let n=P[Q++];if((n&128)>0){Q-=3;return}return pt(e,t,n)}else{let e=P[Q++],t=P[Q++],n=P[Q++],s=P[Q++];if((e&128)>0||(t&128)>0||(n&128)>0||(s&128)>0){Q-=4;return}if(r<6){if(r===4)return pt(e,t,n,s);{let i=P[Q++];if((i&128)>0){Q-=5;return}return pt(e,t,n,s,i)}}else if(r<8){let i=P[Q++],o=P[Q++];if((i&128)>0||(o&128)>0){Q-=6;return}if(r<7)return pt(e,t,n,s,i,o);let a=P[Q++];if((a&128)>0){Q-=7;return}return pt(e,t,n,s,i,o,a)}else{let i=P[Q++],o=P[Q++],a=P[Q++],A=P[Q++];if((i&128)>0||(o&128)>0||(a&128)>0||(A&128)>0){Q-=8;return}if(r<10){if(r===8)return pt(e,t,n,s,i,o,a,A);{let l=P[Q++];if((l&128)>0){Q-=9;return}return pt(e,t,n,s,i,o,a,A,l)}}else if(r<12){let l=P[Q++],c=P[Q++];if((l&128)>0||(c&128)>0){Q-=10;return}if(r<11)return pt(e,t,n,s,i,o,a,A,l,c);let u=P[Q++];if((u&128)>0){Q-=11;return}return pt(e,t,n,s,i,o,a,A,l,c,u)}else{let l=P[Q++],c=P[Q++],u=P[Q++],d=P[Q++];if((l&128)>0||(c&128)>0||(u&128)>0||(d&128)>0){Q-=12;return}if(r<14){if(r===12)return pt(e,t,n,s,i,o,a,A,l,c,u,d);{let h=P[Q++];if((h&128)>0){Q-=13;return}return pt(e,t,n,s,i,o,a,A,l,c,u,d,h)}}else{let h=P[Q++],f=P[Q++];if((h&128)>0||(f&128)>0){Q-=14;return}if(r<15)return pt(e,t,n,s,i,o,a,A,l,c,u,d,h,f);let p=P[Q++];if((p&128)>0){Q-=15;return}return pt(e,t,n,s,i,o,a,A,l,c,u,d,h,f,p)}}}}}function xk(){let r=P[Q++],e;if(r<192)e=r-160;else switch(r){case 217:e=P[Q++];break;case 218:e=me.getUint16(Q),Q+=2;break;case 219:e=me.getUint32(Q),Q+=4;break;default:throw new Error("Expected string")}return Yo(e)}function Fy(r){return Te.copyBuffers?Uint8Array.prototype.slice.call(P,Q,Q+=r):P.subarray(Q,Q+=r)}function Ci(r){let e=P[Q++];if(kt[e]){let t;return kt[e](P.subarray(Q,t=Q+=r),n=>{Q=n;try{return nt()}finally{Q=t}})}else throw new Error("Unknown extension type "+e)}var Tk=new Array(4096);function qk(){let r=P[Q++];if(r>=160&&r<192){if(r=r-160,Rr>=Q)return Ln.slice(Q-ir,(Q+=r)-ir);if(!(Rr==0&&or<180))return ou(r)}else return Q--,Gk(nt());let e=(r<<5^(r>1?me.getUint16(Q):r>0?P[Q]:0))&4095,t=Tk[e],n=Q,s=Q+r-3,i,o=0;if(t&&t.bytes==r){for(;n<s;){if(i=me.getUint32(n),i!=t[o++]){n=1879048192;break}n+=4}for(s+=3;n<s;)if(i=P[n++],i!=t[o++]){n=1879048192;break}if(n===s)return Q=n,t.string;s-=3,n=Q}for(t=[],Tk[e]=t,t.bytes=r;n<s;)i=me.getUint32(n),t.push(i),n+=4;for(s+=3;n<s;)i=P[n++],t.push(i);let a=r<16?Jy(r):Yk(r);return a!=null?t.string=a:t.string=ou(r)}function Gk(r){if(typeof r=="string")return r;if(typeof r=="number"||typeof r=="boolean"||typeof r=="bigint")return r.toString();if(r==null)return r+"";if(Te.allowArraysInMapKeys&&Array.isArray(r)&&r.flat().every(e=>["string","number","boolean","bigint"].includes(typeof e)))return r.flat().toString();throw new Error(`Invalid property type for record: ${typeof r}`)}var Nk=(r,e)=>{let t=nt().map(Gk),n=r;e!==void 0&&(r=r<32?-((e<<5)+r):(e<<5)+r,t.highByte=e);let s=Ce[r];return s&&(s.isShared||Qs)&&((Ce.restoreStructures||(Ce.restoreStructures=[]))[r]=s),Ce[r]=t,t.read=_y(t,n),t.read()};kt[0]=()=>{};kt[0].noBuffer=!0;kt[66]=r=>{let e=r.byteLength%8||8,t=BigInt(r[0]&128?r[0]-256:r[0]);for(let n=1;n<e;n++)t<<=BigInt(8),t+=BigInt(r[n]);if(r.byteLength!==e){let n=new DataView(r.buffer,r.byteOffset,r.byteLength),s=(i,o)=>{let a=o-i;if(a<=40){let u=n.getBigUint64(i);for(let d=i+8;d<o;d+=8)u<<=BigInt(64),u|=n.getBigUint64(d);return u}let A=i+(a>>4<<3),l=s(i,A),c=s(A,o);return l<<BigInt((o-A)*8)|c};t=t<<BigInt((n.byteLength-e)*8)|s(e,n.byteLength)}return t};var Mk={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError=="function"?AggregateError:null};kt[101]=()=>{let r=nt();if(!Mk[r[0]]){let e=Error(r[1],{cause:r[2]});return e.name=r[0],e}return Mk[r[0]](r[1],{cause:r[2]})};kt[105]=r=>{if(Te.structuredClone===!1)throw new Error("Structured clone extension is disabled");let e=me.getUint32(Q-4);On||(On=new Map);let t=P[Q],n;t>=144&&t<160||t==220||t==221?n=[]:t>=128&&t<144||t==222||t==223?n=new Map:(t>=199&&t<=201||t>=212&&t<=216)&&P[Q+1]===115?n=new Set:n={};let s={target:n};On.set(e,s);let i=nt();if(s.used)Object.assign(n,i);else return s.target=i;if(n instanceof Map)for(let[o,a]of i.entries())n.set(o,a);if(n instanceof Set)for(let o of Array.from(i))n.add(o);return n};kt[112]=r=>{if(Te.structuredClone===!1)throw new Error("Structured clone extension is disabled");let e=me.getUint32(Q-4),t=On.get(e);return t.used=!0,t.target};kt[115]=()=>new Set(nt());var Vk=["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64","BigInt64","BigUint64"].map(r=>r+"Array"),E3=typeof globalThis=="object"?globalThis:window;kt[116]=r=>{let e=r[0],t=Uint8Array.prototype.slice.call(r,1).buffer,n=Vk[e];if(!n){if(e===16)return t;if(e===17)return new DataView(t);throw new Error("Could not find typed array for code "+e)}return new E3[n](t)};kt[120]=()=>{let r=nt();return new RegExp(r[0],r[1])};var I3=[];kt[98]=r=>{let e=(r[0]<<24)+(r[1]<<16)+(r[2]<<8)+r[3],t=Q;return Q+=e-r.length,ut=I3,ut=[xk(),xk()],ut.position0=0,ut.position1=0,ut.postBundlePosition=Q,Q=t,nt()};kt[255]=r=>r.length==4?new Date((r[0]*16777216+(r[1]<<16)+(r[2]<<8)+r[3])*1e3):r.length==8?new Date(((r[0]<<22)+(r[1]<<14)+(r[2]<<6)+(r[3]>>2))/1e6+((r[3]&3)*4294967296+r[4]*16777216+(r[5]<<16)+(r[6]<<8)+r[7])*1e3):r.length==12?new Date(((r[0]<<24)+(r[1]<<16)+(r[2]<<8)+r[3])/1e6+((r[4]&128?-281474976710656:0)+r[6]*1099511627776+r[7]*4294967296+r[8]*16777216+(r[9]<<16)+(r[10]<<8)+r[11])*1e3):new Date("invalid");function Hk(r){Te&&Te._onSaveState&&Te._onSaveState();let e=or,t=Q,n=EA,s=ir,i=Rr,o=Ln,a=bi,A=On,l=ut,c=new Uint8Array(P.slice(0,or)),u=Ce,d=Ce.slice(0,Ce.length),h=Te,f=Qs,p=r();return or=e,Q=t,EA=n,ir=s,Rr=i,Ln=o,bi=a,On=A,ut=l,P=c,Qs=f,Ce=u,Ce.splice(0,Ce.length,...d),Te=h,me=new DataView(P.buffer,P.byteOffset,P.byteLength),p}function au(){P=null,On=null,Ce=null}function m3(r){r.unpack?kt[r.type]=r.unpack:kt[r.type]=r}var du=new Array(147);for(let r=0;r<256;r++)du[r]=+("1e"+Math.floor(45.15-r*.30103));var C3=Un,hu=new Un({useRecords:!1}),b3=hu.unpack,Q3=hu.unpackMultiple,B3=hu.unpack,Wk={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4},zk=new Float32Array(1),Kk=new Uint8Array(zk.buffer,0,4);function S3(r){zk[0]=r;let e=du[(Kk[3]&127)<<1|Kk[2]>>7];return(e*r+(r>0?.5:-.5)>>0)/e}Un.SUPPORTS_STRUCT_HOOKS=!0;var su;try{su=new TextEncoder}catch{}var Au,lu,Jo=typeof Buffer<"u",nu=Jo?function(r){return Buffer.allocUnsafeSlow(r)}:Uint8Array,Zk=Jo?Buffer:Uint8Array,Fk=Jo?4294967296:2144337920,k,yA,Oe,B=0,Dt,ze=null,w3=21760,D3=/[\u0080-\uFFFF]/,_o=Symbol("record-id"),jn=class extends Un{constructor(e){super(e),this.offset=0;let t,n,s,i,o=Zk.prototype.utf8Write?function(b,T){return k.utf8Write(b,T,k.byteLength-T)}:su&&su.encodeInto?function(b,T){return su.encodeInto(b,k.subarray(T)).written}:!1,a=this;e||(e={});let A=e&&e.sequential,l=e.structures||e.saveStructures,c=e.maxSharedStructures;if(c==null&&(c=l?32:0),c>8160)throw new Error("Maximum maxSharedStructure is 8160");e.structuredClone&&e.moreTypes==null&&(this.moreTypes=!0);let u=e.maxOwnStructures;u==null&&(u=l?32:64),!this.structures&&e.useRecords!=!1&&(this.structures=[]);let d=c>32||u+c>64,h=c+64,f=c+u+64;if(f>8256)throw new Error("Maximum maxSharedStructure + maxOwnStructure is 8192");let p=[],I=0,y=0;this.pack=this.encode=function(b,T){if(k||(k=new nu(8192),Oe=k.dataView||(k.dataView=new DataView(k.buffer,0,8192)),B=0),Dt=k.length-10,Dt-B<2048?(k=new nu(k.length),Oe=k.dataView||(k.dataView=new DataView(k.buffer,0,k.length)),Dt=k.length-10,B=0):B=B+7&2147483640,t=B,T&tR&&(B+=T&255),i=a.structuredClone?new Map:null,a.bundleStrings&&typeof b!="string"?(ze=[],ze.size=1/0):ze=null,s=a.structures,s){s.uninitialized&&(s=a._mergeStructures(a.getStructures()));let N=s.sharedLength||0;if(N>c)throw new Error("Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to "+s.sharedLength);if(!s.transitions){s.transitions=Object.create(null);for(let F=0;F<N;F++){let W=s[F];if(!W)continue;let re,_=s.transitions;for(let Be=0,Ee=W.length;Be<Ee;Be++){let Jr=W[Be];re=_[Jr],re||(re=_[Jr]=Object.create(null)),_=re}_[_o]=F+64}this.lastNamedStructuresLength=N}A||(s.nextId=N+64)}n&&(n=!1);let M;try{a._writeStruct&&b&&typeof b=="object"?b.constructor===Object?K(b):b.constructor!==Map&&!Array.isArray(b)&&!lu.some(F=>b instanceof F)?K(b.toJSON?b.toJSON():b):R(b):R(b);let N=ze;if(ze&&Ok(t,R,0),i&&i.idsToInsert){let F=i.idsToInsert.sort((Be,Ee)=>Be.offset>Ee.offset?1:-1),W=F.length,re=-1;for(;N&&W>0;){let Be=F[--W].offset+t;Be<N.stringsPosition+t&&re===-1&&(re=0),Be>N.position+t?re>=0&&(re+=6):(re>=0&&(Oe.setUint32(N.position+t,Oe.getUint32(N.position+t)+re),re=-1),N=N.previous,W++)}re>=0&&N&&Oe.setUint32(N.position+t,Oe.getUint32(N.position+t)+re),B+=F.length*6,B>Dt&&O(B),a.offset=B;let _=k3(k.subarray(t,B),F);return i=null,_}return a.offset=B,T&$k?(k.start=t,k.end=B,k):k.subarray(t,B)}catch(N){throw M=N,N}finally{if(s&&(m(),n&&a.saveStructures)){let N=s.sharedLength||0,F=k.subarray(t,B),W=(a._prepareStructures||v3)(s,a);if(!M)return a.saveStructures(W,W.isCompatible)===!1?a.pack(b,T):(a.lastNamedStructuresLength=N,k.length>1073741824&&(k=null),F)}k.length>1073741824&&(k=null),T&eR&&(B=t)}};let m=()=>{y<10&&y++;let b=s.sharedLength||0;if(s.length>b&&!A&&(s.length=b),I>1e4)s.transitions=null,y=0,I=0,p.length>0&&(p=[]);else if(p.length>0&&!A){for(let T=0,M=p.length;T<M;T++)p[T][_o]=0;p=[]}},w=b=>{var T=b.length;T<16?k[B++]=144|T:T<65536?(k[B++]=220,k[B++]=T>>8,k[B++]=T&255):(k[B++]=221,Oe.setUint32(B,T),B+=4);for(let M=0;M<T;M++)R(b[M])},R=b=>{B>Dt&&(k=O(B));var T=typeof b,M;if(T==="string"){let N=b.length;if(ze&&N>=4&&N<4096){if((ze.size+=N)>w3){let _,Be=(ze[0]?ze[0].length*3+ze[1].length:0)+10;B+Be>Dt&&(k=O(B+Be));let Ee;ze.position?(Ee=ze,k[B]=200,B+=3,k[B++]=98,_=B-t,B+=4,Ok(t,R,0),Oe.setUint16(_+t-3,B-t-_)):(k[B++]=214,k[B++]=98,_=B-t,B+=4),ze=["",""],ze.previous=Ee,ze.size=0,ze.position=_}let re=D3.test(b);ze[re?0:1]+=b,k[B++]=193,R(re?-N:N);return}let F;N<32?F=1:N<256?F=2:N<65536?F=3:F=5;let W=N*3;if(B+W>Dt&&(k=O(B+W)),N<64||!o){let re,_,Be,Ee=B+F;for(re=0;re<N;re++)_=b.charCodeAt(re),_<128?k[Ee++]=_:_<2048?(k[Ee++]=_>>6|192,k[Ee++]=_&63|128):(_&64512)===55296&&((Be=b.charCodeAt(re+1))&64512)===56320?(_=65536+((_&1023)<<10)+(Be&1023),re++,k[Ee++]=_>>18|240,k[Ee++]=_>>12&63|128,k[Ee++]=_>>6&63|128,k[Ee++]=_&63|128):(k[Ee++]=_>>12|224,k[Ee++]=_>>6&63|128,k[Ee++]=_&63|128);M=Ee-B-F}else M=o(b,B+F);M<32?k[B++]=160|M:M<256?(F<2&&k.copyWithin(B+2,B+1,B+1+M),k[B++]=217,k[B++]=M):M<65536?(F<3&&k.copyWithin(B+3,B+2,B+2+M),k[B++]=218,k[B++]=M>>8,k[B++]=M&255):(F<5&&k.copyWithin(B+5,B+3,B+3+M),k[B++]=219,Oe.setUint32(B,M),B+=4),B+=M}else if(T==="number")if(b>>>0===b)b<32||b<128&&this.useRecords===!1||b<64&&!this._writeStruct?k[B++]=b:b<256?(k[B++]=204,k[B++]=b):b<65536?(k[B++]=205,k[B++]=b>>8,k[B++]=b&255):(k[B++]=206,Oe.setUint32(B,b),B+=4);else if(b>>0===b)b>=-32?k[B++]=256+b:b>=-128?(k[B++]=208,k[B++]=b+256):b>=-32768?(k[B++]=209,Oe.setInt16(B,b),B+=2):(k[B++]=210,Oe.setInt32(B,b),B+=4);else{let N;if((N=this.useFloat32)>0&&b<4294967296&&b>=-2147483648){k[B++]=202,Oe.setFloat32(B,b);let F;if(N<4||(F=b*du[(k[B]&127)<<1|k[B+1]>>7])>>0===F){B+=4;return}else B--}k[B++]=203,Oe.setFloat64(B,b),B+=8}else if(T==="object"||T==="function")if(!b)k[B++]=192;else{if(i){let F=i.get(b);if(F){if(!F.id){let W=i.idsToInsert||(i.idsToInsert=[]);F.id=W.push(F)}k[B++]=214,k[B++]=112,Oe.setUint32(B,F.id),B+=4;return}else i.set(b,{offset:B-t})}let N=b.constructor;if(N===Object)C(b);else if(N===Array)w(b);else if(N===Map)if(this.mapAsEmptyObject)k[B++]=128;else{M=b.size,M<16?k[B++]=128|M:M<65536?(k[B++]=222,k[B++]=M>>8,k[B++]=M&255):(k[B++]=223,Oe.setUint32(B,M),B+=4);for(let[F,W]of b)R(F),R(W)}else{for(let F=0,W=Au.length;F<W;F++){let re=lu[F];if(b instanceof re){let _=Au[F];if(_.write){_.type&&(k[B++]=212,k[B++]=_.type,k[B++]=0);let ls=_.write.call(this,b);ls===b?Array.isArray(b)?w(b):C(b):R(ls);return}let Be=k,Ee=Oe,Jr=B;k=null;let xn;try{xn=_.pack.call(this,b,ls=>(k=Be,Be=null,B+=ls,B>Dt&&O(B),{target:k,targetView:Oe,position:B-ls}),R)}finally{Be&&(k=Be,Oe=Ee,B=Jr,Dt=k.length-10)}xn&&(xn.length+B>Dt&&O(xn.length+B),B=Lk(xn,k,B,_.type));return}}if(Array.isArray(b))w(b);else{if(b.toJSON){let F=b.toJSON();if(F!==b)return R(F)}if(T==="function")return R(this.writeFunction&&this.writeFunction(b));C(b)}}}else if(T==="boolean")k[B++]=b?195:194;else if(T==="bigint"){if(b<9223372036854776e3&&b>=-9223372036854776e3)k[B++]=211,Oe.setBigInt64(B,b);else if(b<18446744073709552e3&&b>0)k[B++]=207,Oe.setBigUint64(B,b);else if(this.largeBigIntToFloat)k[B++]=203,Oe.setFloat64(B,Number(b));else{if(this.largeBigIntToString)return R(b.toString());if(this.useBigIntExtension||this.moreTypes){let N=b<0?BigInt(-1):BigInt(0),F;if(b>>BigInt(65536)===N){let W=BigInt(18446744073709552e3)-BigInt(1),re=[];for(;re.push(b&W),b>>BigInt(63)!==N;)b>>=BigInt(64);F=new Uint8Array(new BigUint64Array(re).buffer),F.reverse()}else{let W=b<0,re=(W?~b:b).toString(16);if(re.length%2?re="0"+re:parseInt(re.charAt(0),16)>=8&&(re="00"+re),Jo)F=Buffer.from(re,"hex");else{F=new Uint8Array(re.length/2);for(let _=0;_<F.length;_++)F[_]=parseInt(re.slice(_*2,_*2+2),16)}if(W)for(let _=0;_<F.length;_++)F[_]=~F[_]}F.length+B>Dt&&O(F.length+B),B=Lk(F,k,B,66);return}else throw new RangeError(b+" was too large to fit in MessagePack 64-bit integer format, use useBigIntExtension, or set largeBigIntToFloat to convert to float-64, or set largeBigIntToString to convert to string")}B+=8}else if(T==="undefined")this.encodeUndefinedAsNil?k[B++]=192:(k[B++]=212,k[B++]=0,k[B++]=0);else throw new Error("Unknown type: "+T)},L=this.variableMapSize||this.coercibleKeyAsNumber||this.skipValues?b=>{let T;if(this.skipValues){T=[];for(let F in b)(typeof b.hasOwnProperty!="function"||b.hasOwnProperty(F))&&!this.skipValues.includes(b[F])&&T.push(F)}else T=Object.keys(b);let M=T.length;M<16?k[B++]=128|M:M<65536?(k[B++]=222,k[B++]=M>>8,k[B++]=M&255):(k[B++]=223,Oe.setUint32(B,M),B+=4);let N;if(this.coercibleKeyAsNumber)for(let F=0;F<M;F++){N=T[F];let W=Number(N);R(isNaN(W)?N:W),R(b[N])}else for(let F=0;F<M;F++)R(N=T[F]),R(b[N])}:b=>{k[B++]=222;let T=B-t;B+=2;let M=0;for(let N in b)(typeof b.hasOwnProperty!="function"||b.hasOwnProperty(N))&&(R(N),R(b[N]),M++);if(M>65535)throw new Error('Object is too large to serialize with fast 16-bit map size, use the "variableMapSize" option to serialize this object');k[T+++t]=M>>8,k[T+t]=M&255},j=this.useRecords===!1?L:e.progressiveRecords&&!d?b=>{let T,M=s.transitions||(s.transitions=Object.create(null)),N=B++-t,F;for(let W in b)if(typeof b.hasOwnProperty!="function"||b.hasOwnProperty(W)){if(T=M[W],T)M=T;else{let re=Object.keys(b),_=M;M=s.transitions;let Be=0;for(let Ee=0,Jr=re.length;Ee<Jr;Ee++){let xn=re[Ee];T=M[xn],T||(T=M[xn]=Object.create(null),Be++),M=T}N+t+1==B?(B--,U(M,re,Be)):x(M,re,N,Be),F=!0,M=_[W]}R(b[W])}if(!F){let W=M[_o];W?k[N+t]=W:x(M,Object.keys(b),N,0)}}:b=>{let T,M=s.transitions||(s.transitions=Object.create(null)),N=0;for(let W in b)(typeof b.hasOwnProperty!="function"||b.hasOwnProperty(W))&&(T=M[W],T||(T=M[W]=Object.create(null),N++),M=T);let F=M[_o];F?F>=96&&d?(k[B++]=((F-=96)&31)+96,k[B++]=F>>5):k[B++]=F:U(M,M.__keys__||Object.keys(b),N);for(let W in b)(typeof b.hasOwnProperty!="function"||b.hasOwnProperty(W))&&R(b[W])},v=typeof this.useRecords=="function"&&this.useRecords,C=v?b=>{v(b)?j(b):L(b)}:j,K=b=>{let T=a._writeStruct(b,k,t,B,s,O,(M,N,F)=>{if(F)return n=!0;B=N;let W=k;return R(M),m(),W!==k?{position:B,targetView:Oe,target:k}:B});if(T===0)return C(b);B=T},O=b=>{let T;if(b>16777216){if(b-t>Fk)throw new Error("Packed buffer would be larger than maximum buffer size");T=Math.min(Fk,Math.round(Math.max((b-t)*(b>67108864?1.25:2),4194304)/4096)*4096)}else T=(Math.max(b-t<<2,k.length-1)>>12)+1<<12;let M=new nu(T);return Oe=M.dataView||(M.dataView=new DataView(M.buffer,0,T)),b=Math.min(b,k.length),k.copy?k.copy(M,0,t,b):M.set(k.slice(t,b)),B-=t,t=0,Dt=M.length-10,k=M},U=(b,T,M)=>{let N=s.nextId;N||(N=64),N<h&&this.shouldShareStructure&&!this.shouldShareStructure(T)?(N=s.nextOwnId,N<f||(N=h),s.nextOwnId=N+1):(N>=f&&(N=h),s.nextId=N+1);let F=T.highByte=N>=96&&d?N-96>>5:-1;b[_o]=N,b.__keys__=T,s[N-64]=T,N<h?(T.isShared=!0,s.sharedLength=N-63,n=!0,F>=0?(k[B++]=(N&31)+96,k[B++]=F):k[B++]=N):(F>=0?(k[B++]=213,k[B++]=114,k[B++]=(N&31)+96,k[B++]=F):(k[B++]=212,k[B++]=114,k[B++]=N),M&&(I+=y*M),p.length>=u&&(p.shift()[_o]=0),p.push(b),R(T))},x=(b,T,M,N)=>{let F=k,W=B,re=Dt,_=t;k=yA,B=0,t=0,k||(yA=k=new nu(8192)),Dt=k.length-10,U(b,T,N),yA=k;let Be=B;if(k=F,B=W,Dt=re,t=_,Be>1){let Ee=B+Be-1;Ee>Dt&&O(Ee);let Jr=M+t;k.copyWithin(Jr+Be,Jr+1,B),k.set(yA.slice(0,Be),Jr),B=Ee}else k[M+t]=yA[0]}}useBuffer(e){k=e,k.dataView||(k.dataView=new DataView(k.buffer,k.byteOffset,k.byteLength)),Oe=k.dataView,B=0}set position(e){B=e}get position(){return B}clearSharedData(){this.structures&&(this.structures=[]),this.typedStructs&&(this.typedStructs=[])}};lu=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,iu];Au=[{pack(r,e,t){let n=r.getTime()/1e3;if((this.useTimestamp32||r.getMilliseconds()===0)&&n>=0&&n<4294967296){let{target:s,targetView:i,position:o}=e(6);s[o++]=214,s[o++]=255,i.setUint32(o,n)}else if(n>0&&n<4294967296){let{target:s,targetView:i,position:o}=e(10);s[o++]=215,s[o++]=255,i.setUint32(o,r.getMilliseconds()*4e6+(n/1e3/4294967296>>0)),i.setUint32(o+4,n)}else if(isNaN(n)){if(this.onInvalidDate)return e(0),t(this.onInvalidDate());let{target:s,targetView:i,position:o}=e(3);s[o++]=212,s[o++]=255,s[o++]=255}else{let{target:s,targetView:i,position:o}=e(15);s[o++]=199,s[o++]=12,s[o++]=255,i.setUint32(o,r.getMilliseconds()*1e6),i.setBigInt64(o+4,BigInt(Math.floor(n)))}}},{pack(r,e,t){if(this.setAsEmptyObject)return e(0),t({});let n=Array.from(r),{target:s,position:i}=e(this.moreTypes?3:0);this.moreTypes&&(s[i++]=212,s[i++]=115,s[i++]=0),t(n)}},{pack(r,e,t){let{target:n,position:s}=e(this.moreTypes?3:0);this.moreTypes&&(n[s++]=212,n[s++]=101,n[s++]=0),t([r.name,r.message,r.cause])}},{pack(r,e,t){let{target:n,position:s}=e(this.moreTypes?3:0);this.moreTypes&&(n[s++]=212,n[s++]=120,n[s++]=0),t([r.source,r.flags])}},{pack(r,e){this.moreTypes?Ly(r,16,e):Oy(Jo?Buffer.from(r):new Uint8Array(r),e)}},{pack(r,e){let t=r.constructor;t!==Zk&&this.moreTypes?Ly(r,Vk.indexOf(t.name),e):Oy(r,e)}},{pack(r,e){this.moreTypes?Ly(r,17,e):Oy(Jo?Buffer.from(r):new Uint8Array(r),e)}},{pack(r,e){let{target:t,position:n}=e(1);t[n]=193}}];function Ly(r,e,t,n){let s=r.byteLength;if(s+1<256){var{target:i,position:o}=t(4+s);i[o++]=199,i[o++]=s+1}else if(s+1<65536){var{target:i,position:o}=t(5+s);i[o++]=200,i[o++]=s+1>>8,i[o++]=s+1&255}else{var{target:i,position:o,targetView:a}=t(7+s);i[o++]=201,a.setUint32(o,s+1),o+=4}i[o++]=116,i[o++]=e,r.buffer||(r=new Uint8Array(r)),i.set(new Uint8Array(r.buffer,r.byteOffset,r.byteLength),o)}function Oy(r,e){let t=r.byteLength;var n,s;if(t<256){var{target:n,position:s}=e(t+2);n[s++]=196,n[s++]=t}else if(t<65536){var{target:n,position:s}=e(t+3);n[s++]=197,n[s++]=t>>8,n[s++]=t&255}else{var{target:n,position:s,targetView:i}=e(t+5);n[s++]=198,i.setUint32(s,t),s+=4}n.set(r,s)}function Lk(r,e,t,n){let s=r.length;switch(s){case 1:e[t++]=212;break;case 2:e[t++]=213;break;case 4:e[t++]=214;break;case 8:e[t++]=215;break;case 16:e[t++]=216;break;default:s<256?(e[t++]=199,e[t++]=s):s<65536?(e[t++]=200,e[t++]=s>>8,e[t++]=s&255):(e[t++]=201,e[t++]=s>>24,e[t++]=s>>16&255,e[t++]=s>>8&255,e[t++]=s&255)}return e[t++]=n,e.set(r,t),t+=s,t}function k3(r,e){let t,n=e.length*6,s=r.length-n;for(;t=e.pop();){let i=t.offset,o=t.id;r.copyWithin(i+n,i,s),n-=6;let a=i+n;r[a++]=214,r[a++]=105,r[a++]=o>>24,r[a++]=o>>16&255,r[a++]=o>>8&255,r[a++]=o&255,s=i}return r}function Ok(r,e,t){if(ze.length>0){Oe.setUint32(ze.position+r,B+t-ze.position-r),ze.stringsPosition=B-r;let n=ze;ze=null,e(n[0]),e(n[1])}}function R3(r){if(r.Class){if(!r.pack&&!r.write)throw new Error("Extension has no pack or write function");if(r.pack&&!r.type)throw new Error("Extension has no type (numeric code to identify the extension)");lu.unshift(r.Class),Au.unshift(r)}m3(r)}function v3(r,e){return r.isCompatible=t=>{let n=!t||(e.lastNamedStructuresLength||0)===t.length;return n||e._mergeStructures(t),n},r}jn.SUPPORTS_STRUCT_HOOKS=!0;var Xk=new jn({useRecords:!1}),x3=Xk.pack,T3=Xk.pack,N3=jn,{NEVER:M3,ALWAYS:K3,DECIMAL_ROUND:F3,DECIMAL_FIT:L3}=Wk,$k=512,eR=1024,tR=2048,cu=class extends Uk.Transform{constructor(e){e||(e={}),e.writableObjectMode=!0,super(e),e.sequential=!0,this.packr=e.packr||new jn(e)}_transform(e,t,n){this.push(this.packr.pack(e)),n()}},uu=class extends Uk.Transform{constructor(e){e||(e={}),e.objectMode=!0,super(e),e.structures=[],this.maxIncompleteBufferSize=e.maxIncompleteBufferSize!==void 0?e.maxIncompleteBufferSize:67108864,this.unpackr=e.unpackr||new Un(e)}_transform(e,t,n){this.incompleteBuffer&&(e=Buffer.concat([this.incompleteBuffer,e]),this.incompleteBuffer=null);let s;try{s=this.unpackr.unpackMultiple(e)}catch(i){if(i.incomplete){let o=e.slice(i.lastPosition);if(o.length>this.maxIncompleteBufferSize)return this.incompleteBuffer=null,n(new Error("Maximum incomplete buffer size exceeded"));this.incompleteBuffer=o,s=i.values}else return n(i)}for(let i of s||[])i===null&&(i=this.getNullValue()),this.push(i);n()}getNullValue(){return Symbol.for(null)}};function O3(r,e={}){if(!r||typeof r!="object")throw new Error("first argument must be an Iterable, Async Iterable, or a Promise for an Async Iterable");if(typeof r[Symbol.iterator]=="function")return U3(r,e);if(typeof r.then=="function"||typeof r[Symbol.asyncIterator]=="function")return j3(r,e);throw new Error("first argument must be an Iterable, Async Iterable, Iterator, Async Iterator, or a Promise")}function*U3(r,e){let t=new jn(e);for(let n of r)yield t.pack(n)}async function*j3(r,e){let t=new jn(e);for await(let n of r)yield t.pack(n)}function P3(r,e={}){if(!r||typeof r!="object")throw new Error("first argument must be an Iterable, Async Iterable, Iterator, Async Iterator, or a promise");let t=new Un(e),n,s=i=>{let o;n&&(i=Buffer.concat([n,i]),n=void 0);try{o=t.unpackMultiple(i)}catch(a){if(a.incomplete)n=i.slice(a.lastPosition),o=a.values;else throw a}return o};if(typeof r[Symbol.iterator]=="function")return(function*(){for(let o of r)yield*s(o)})();if(typeof r[Symbol.asyncIterator]=="function")return(async function*(){for await(let o of r)yield*s(o)})()}var _3=P3,J3=O3,Y3=!1,q3=!0,G3=process.env.MSGPACKR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.MSGPACKR_NATIVE_ACCELERATION_DISABLED.toLowerCase()==="true";if(!G3){let r;try{typeof S=="function"?r=Bk():r=g3.createRequire(typeof document>"u"?new(S("url")).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("node.cjs",document.baseURI).href)("msgpackr-extract"),r&&y3(r.extractStrings)}catch{}}ke.ALWAYS=K3;ke.C1=Py;ke.DECIMAL_FIT=L3;ke.DECIMAL_ROUND=F3;ke.Decoder=C3;ke.DecoderStream=uu;ke.Encoder=N3;ke.EncoderStream=cu;ke.FLOAT32_OPTIONS=Wk;ke.NEVER=M3;ke.Packr=jn;ke.PackrStream=cu;ke.RESERVE_START_SPACE=tR;ke.RESET_BUFFER_MODE=eR;ke.REUSE_BUFFER_MODE=$k;ke.Unpackr=Un;ke.UnpackrStream=uu;ke.addExtension=R3;ke.clearSource=au;ke.decode=B3;ke.decodeIter=_3;ke.encode=T3;ke.encodeIter=J3;ke.mapsAsObjects=q3;ke.pack=x3;ke.roundFloat32=S3;ke.unpack=b3;ke.unpackMultiple=Q3;ke.useRecords=Y3});var gu=g(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});fu.version=void 0;fu.version="5.76.6"});var qy=g(IA=>{"use strict";Object.defineProperty(IA,"__esModule",{value:!0});IA.Scripts=void 0;IA.raw2NextJobData=pu;var V3=rR(),H3=new V3.Packr({useRecords:!1,encodeUndefinedAsNil:!0}),dt=H3.pack,Gr=Gt(),Bs=sr(),W3=gu(),z3=zc(),Yy=class{constructor(e){this.queue=e,this.version=W3.version;let t=this.queue.keys;this.moveToFinishedKeys=[t.wait,t.active,t.prioritized,t.events,t.stalled,t.limiter,t.delayed,t.paused,t.meta,t.pc,void 0,void 0,void 0,void 0]}execCommand(e,t,n){let s=`${t}:${this.version}`;return e[s](n)}async isJobInList(e,t){let n=await this.queue.client,s;return(0,Bs.isRedisVersionLowerThan)(this.queue.redisVersion,"6.0.6",this.queue.databaseType)?s=await this.execCommand(n,"isJobInList",[e,t]):s=await n.lpos(e,t),Number.isInteger(s)}addDelayedJobArgs(e,t,n){let s=this.queue.keys,i=[s.marker,s.meta,s.id,s.delayed,s.completed,s.events];return i.push(dt(n),e.data,t),i}addDelayedJob(e,t,n,s){let i=this.addDelayedJobArgs(t,n,s);return this.execCommand(e,"addDelayedJob",i)}addPrioritizedJobArgs(e,t,n){let s=this.queue.keys,i=[s.marker,s.meta,s.id,s.prioritized,s.delayed,s.completed,s.active,s.events,s.pc];return i.push(dt(n),e.data,t),i}addPrioritizedJob(e,t,n,s){let i=this.addPrioritizedJobArgs(t,n,s);return this.execCommand(e,"addPrioritizedJob",i)}addParentJobArgs(e,t,n){let s=this.queue.keys,i=[s.meta,s.id,s.delayed,s["waiting-children"],s.completed,s.events];return i.push(dt(n),e.data,t),i}addParentJob(e,t,n,s){let i=this.addParentJobArgs(t,n,s);return this.execCommand(e,"addParentJob",i)}addStandardJobArgs(e,t,n){let s=this.queue.keys,i=[s.wait,s.paused,s.meta,s.id,s.completed,s.delayed,s.active,s.events,s.marker];return i.push(dt(n),e.data,t),i}addStandardJob(e,t,n,s){let i=this.addStandardJobArgs(t,n,s);return this.execCommand(e,"addStandardJob",i)}async addJob(e,t,n,s,i={}){let o=this.queue.keys,a=t.parent,A=[o[""],typeof s<"u"?s:"",t.name,t.timestamp,t.parentKey||null,i.parentDependenciesKey||null,a,t.repeatJobKey,t.deduplicationId?`${o.de}:${t.deduplicationId}`:null],l;if(n.repeat){let u=Object.assign({},n.repeat);u.startDate&&(u.startDate=+new Date(u.startDate)),u.endDate&&(u.endDate=+new Date(u.endDate)),l=dt(Object.assign(Object.assign({},n),{repeat:u}))}else l=dt(n);let c;if(i.addToWaitingChildren?c=await this.addParentJob(e,t,l,A):typeof n.delay=="number"&&n.delay>0?c=await this.addDelayedJob(e,t,l,A):n.priority?c=await this.addPrioritizedJob(e,t,l,A):c=await this.addStandardJob(e,t,l,A),c<0)throw this.finishedErrors({code:c,parentKey:i.parentKey,command:"addJob"});return c}pauseArgs(e){let t="wait",n="paused";e||(t="paused",n="wait");let s=[t,n,"meta","prioritized"].map(o=>this.queue.toKey(o));s.push(this.queue.keys.events,this.queue.keys.delayed,this.queue.keys.marker);let i=[e?"paused":"resumed"];return s.concat(i)}async pause(e){let t=await this.queue.client,n=this.pauseArgs(e);return this.execCommand(t,"pause",n)}addRepeatableJobArgs(e,t,n,s){let i=this.queue.keys,o=[i.repeat,i.delayed],a=[t,dt(n),s,e,i[""]];return o.concat(a)}async addRepeatableJob(e,t,n,s){let i=await this.queue.client,o=this.addRepeatableJobArgs(e,t,n,s);return this.execCommand(i,"addRepeatableJob",o)}async removeDeduplicationKey(e,t){let n=await this.queue.client,i=[`${this.queue.keys.de}:${e}`],o=[t];return this.execCommand(n,"removeDeduplicationKey",i.concat(o))}async addJobScheduler(e,t,n,s,i,o,a){let A=await this.queue.client,l=this.queue.keys,c=[l.repeat,l.delayed,l.wait,l.paused,l.meta,l.prioritized,l.marker,l.id,l.events,l.pc,l.active],u=[t,dt(i),e,n,dt(s),dt(o),Date.now(),l[""],a?this.queue.toKey(a):""],d=await this.execCommand(A,"addJobScheduler",c.concat(u));if(typeof d=="number"&&d<0)throw this.finishedErrors({code:d,command:"addJobScheduler"});return d}async updateRepeatableJobMillis(e,t,n,s){let i=[this.queue.keys.repeat,n,t,s];return this.execCommand(e,"updateRepeatableJobMillis",i)}async updateJobSchedulerNextMillis(e,t,n,s,i){let o=await this.queue.client,a=this.queue.keys,A=[a.repeat,a.delayed,a.wait,a.paused,a.meta,a.prioritized,a.marker,a.id,a.events,a.pc,i?this.queue.toKey(i):"",a.active],l=[t,e,n,dt(s),Date.now(),a[""],i];return this.execCommand(o,"updateJobScheduler",A.concat(l))}removeRepeatableArgs(e,t,n){let s=this.queue.keys,i=[s.repeat,s.delayed,s.events],o=[e,this.getRepeatConcatOptions(t,n),n,s[""]];return i.concat(o)}getRepeatConcatOptions(e,t){return t&&t.split(":").length>2?t:e}async removeRepeatable(e,t,n){let s=await this.queue.client,i=this.removeRepeatableArgs(e,t,n);return this.execCommand(s,"removeRepeatable",i)}async removeJobScheduler(e){let t=await this.queue.client,n=this.queue.keys,s=[n.repeat,n.delayed,n.events],i=[e,n[""]];return this.execCommand(t,"removeJobScheduler",s.concat(i))}removeArgs(e,t){let n=[e,"repeat"].map(i=>this.queue.toKey(i)),s=[e,t?1:0,this.queue.toKey("")];return n.concat(s)}async remove(e,t){let n=await this.queue.client,s=this.removeArgs(e,t),i=await this.execCommand(n,"removeJob",s);if(i<0)throw this.finishedErrors({code:i,jobId:e,command:"removeJob"});return i}async removeUnprocessedChildren(e){let t=await this.queue.client,n=[this.queue.toKey(e),this.queue.keys.meta,this.queue.toKey(""),e];await this.execCommand(t,"removeUnprocessedChildren",n)}async extendLock(e,t,n,s){s=s||await this.queue.client;let i=[this.queue.toKey(e)+":lock",this.queue.keys.stalled,t,n,e];return this.execCommand(s,"extendLock",i)}async extendLocks(e,t,n){let s=await this.queue.client,i=[this.queue.keys.stalled,this.queue.toKey(""),dt(t),dt(e),n];return this.execCommand(s,"extendLocks",i)}async updateData(e,t){let n=await this.queue.client,s=[this.queue.toKey(e.id)],i=JSON.stringify(t),o=await this.execCommand(n,"updateData",s.concat([i]));if(o<0)throw this.finishedErrors({code:o,jobId:e.id,command:"updateData"})}async updateProgress(e,t){let n=await this.queue.client,s=[this.queue.toKey(e),this.queue.keys.events,this.queue.keys.meta],i=JSON.stringify(t),o=await this.execCommand(n,"updateProgress",s.concat([e,i]));if(o<0)throw this.finishedErrors({code:o,jobId:e,command:"updateProgress"})}async addLog(e,t,n){let s=await this.queue.client,i=[this.queue.toKey(e),this.queue.toKey(e)+":logs"],o=await this.execCommand(s,"addLog",i.concat([e,t,n||""]));if(o<0)throw this.finishedErrors({code:o,jobId:e,command:"addLog"});return o}moveToFinishedArgs(e,t,n,s,i,o,a,A=!0,l){var c,u,d,h,f,p,I;let y=this.queue.keys,m=this.queue.opts,w=i==="completed"?m.removeOnComplete:m.removeOnFail,R=this.queue.toKey(`metrics:${i}`),L=this.moveToFinishedKeys;L[10]=y[i],L[11]=this.queue.toKey((c=e.id)!==null&&c!==void 0?c:""),L[12]=R,L[13]=this.queue.keys.marker;let j=this.getKeepJobs(s,w),v=[e.id,a,n,typeof t>"u"?"null":t,i,!A||this.queue.closing?0:1,y[""],dt({token:o,name:m.name,keepJobs:j,limiter:m.limiter,lockDuration:m.lockDuration,attempts:e.opts.attempts,maxMetricsSize:!((u=m.metrics)===null||u===void 0)&&u.maxDataPoints?(d=m.metrics)===null||d===void 0?void 0:d.maxDataPoints:"",fpof:!!(!((h=e.opts)===null||h===void 0)&&h.failParentOnFailure),cpof:!!(!((f=e.opts)===null||f===void 0)&&f.continueParentOnFailure),idof:!!(!((p=e.opts)===null||p===void 0)&&p.ignoreDependencyOnFailure),rdof:!!(!((I=e.opts)===null||I===void 0)&&I.removeDependencyOnFailure)}),l?dt((0,Bs.objectToFlatArray)(l)):void 0];return L.concat(v)}getKeepJobs(e,t){return typeof e>"u"?t||{count:e?0:-1}:typeof e=="object"?e:typeof e=="number"?{count:e}:{count:e?0:-1}}async moveToFinished(e,t){let n=await this.queue.client,s=await this.execCommand(n,"moveToFinished",t);if(s<0)throw this.finishedErrors({code:s,jobId:e,command:"moveToFinished",state:"active"});if(typeof s<"u")return pu(s)}drainArgs(e){let t=this.queue.keys,n=[t.wait,t.paused,t.delayed,t.prioritized,t.repeat],s=[t[""],e?"1":"0"];return n.concat(s)}async drain(e){let t=await this.queue.client,n=this.drainArgs(e);return this.execCommand(t,"drain",n)}removeChildDependencyArgs(e,t){let s=[this.queue.keys[""]],i=[this.queue.toKey(e),t];return s.concat(i)}async removeChildDependency(e,t){let n=await this.queue.client,s=this.removeChildDependencyArgs(e,t),i=await this.execCommand(n,"removeChildDependency",s);switch(i){case 0:return!0;case 1:return!1;default:throw this.finishedErrors({code:i,jobId:e,parentKey:t,command:"removeChildDependency"})}}getRangesArgs(e,t,n,s){let i=this.queue.keys,o=e.map(l=>l==="waiting"?"wait":l),a=[i[""]],A=[t,n,s?"1":"0",...o];return a.concat(A)}async getRanges(e,t=0,n=1,s=!1){let i=await this.queue.client,o=this.getRangesArgs(e,t,n,s);return await this.execCommand(i,"getRanges",o)}getCountsArgs(e){let t=this.queue.keys,n=e.map(o=>o==="waiting"?"wait":o),s=[t[""]],i=[...n];return s.concat(i)}async getCounts(e){let t=await this.queue.client,n=this.getCountsArgs(e);return await this.execCommand(t,"getCounts",n)}getCountsPerPriorityArgs(e){let t=[this.queue.keys.wait,this.queue.keys.paused,this.queue.keys.meta,this.queue.keys.prioritized],n=e;return t.concat(n)}async getCountsPerPriority(e){let t=await this.queue.client,n=this.getCountsPerPriorityArgs(e);return await this.execCommand(t,"getCountsPerPriority",n)}getDependencyCountsArgs(e,t){let n=[`${e}:processed`,`${e}:dependencies`,`${e}:failed`,`${e}:unsuccessful`].map(i=>this.queue.toKey(i)),s=t;return n.concat(s)}async getDependencyCounts(e,t){let n=await this.queue.client,s=this.getDependencyCountsArgs(e,t);return await this.execCommand(n,"getDependencyCounts",s)}moveToCompletedArgs(e,t,n,s,i=!1){let o=Date.now();return this.moveToFinishedArgs(e,t,"returnvalue",n,"completed",s,o,i)}moveToFailedArgs(e,t,n,s,i=!1,o){let a=Date.now();return this.moveToFinishedArgs(e,t,"failedReason",n,"failed",s,a,i,o)}async isFinished(e,t=!1){let n=await this.queue.client,s=["completed","failed",e].map(i=>this.queue.toKey(i));return this.execCommand(n,"isFinished",s.concat([e,t?"1":""]))}async getState(e){let t=await this.queue.client,n=["completed","failed","delayed","active","wait","paused","waiting-children","prioritized"].map(s=>this.queue.toKey(s));return(0,Bs.isRedisVersionLowerThan)(this.queue.redisVersion,"6.0.6",this.queue.databaseType)?this.execCommand(t,"getState",n.concat([e])):this.execCommand(t,"getStateV2",n.concat([e]))}async changeDelay(e,t){let n=await this.queue.client,s=this.changeDelayArgs(e,t),i=await this.execCommand(n,"changeDelay",s);if(i<0)throw this.finishedErrors({code:i,jobId:e,command:"changeDelay",state:"delayed"})}changeDelayArgs(e,t){let n=Date.now();return[this.queue.keys.delayed,this.queue.keys.meta,this.queue.keys.marker,this.queue.keys.events].concat([t,JSON.stringify(n),e,this.queue.toKey(e)])}async changePriority(e,t=0,n=!1){let s=await this.queue.client,i=this.changePriorityArgs(e,t,n),o=await this.execCommand(s,"changePriority",i);if(o<0)throw this.finishedErrors({code:o,jobId:e,command:"changePriority"})}changePriorityArgs(e,t=0,n=!1){return[this.queue.keys.wait,this.queue.keys.paused,this.queue.keys.meta,this.queue.keys.prioritized,this.queue.keys.active,this.queue.keys.pc,this.queue.keys.marker].concat([t,this.queue.toKey(""),e,n?1:0])}moveToDelayedArgs(e,t,n,s,i={}){let o=this.queue.keys,a=this.queue.opts,A=[o.marker,o.active,o.prioritized,o.delayed,this.queue.toKey(e),o.events,o.meta,o.stalled,o.wait,o.limiter,o.paused,o.pc],l=i.fetchNext&&!this.queue.closing?1:0;return A.concat([this.queue.keys[""],t,e,n,s,i.skipAttempt?"1":"0",i.fieldsToUpdate?dt((0,Bs.objectToFlatArray)(i.fieldsToUpdate)):void 0,l,l?dt({token:n,lockDuration:a.lockDuration,limiter:a.limiter,name:a.name}):void 0])}moveToWaitingChildrenArgs(e,t,n){let s=Date.now(),i=(0,Bs.getParentKey)(n.child);return["active","waiting-children",e,`${e}:dependencies`,`${e}:unsuccessful`,"stalled","events"].map(a=>this.queue.toKey(a)).concat([t,i??"",JSON.stringify(s),e,this.queue.toKey("")])}isMaxedArgs(){let e=this.queue.keys;return[e.meta,e.active]}async isMaxed(){let e=await this.queue.client,t=this.isMaxedArgs();return!!await this.execCommand(e,"isMaxed",t)}async moveToDelayed(e,t,n,s="0",i={}){let o=await this.queue.client,a=this.moveToDelayedArgs(e,t,s,n,i),A=await this.execCommand(o,"moveToDelayed",a);if(A<0)throw this.finishedErrors({code:A,jobId:e,command:"moveToDelayed",state:"active"});if(typeof A<"u")return pu(A)}async moveToWaitingChildren(e,t,n={}){let s=await this.queue.client,i=this.moveToWaitingChildrenArgs(e,t,n),o=await this.execCommand(s,"moveToWaitingChildren",i);switch(o){case 0:return!0;case 1:return!1;default:throw this.finishedErrors({code:o,jobId:e,command:"moveToWaitingChildren",state:"active"})}}getRateLimitTtlArgs(e){return[this.queue.keys.limiter,this.queue.keys.meta].concat([e??"0"])}async getRateLimitTtl(e){let t=await this.queue.client,n=this.getRateLimitTtlArgs(e);return this.execCommand(t,"getRateLimitTtl",n)}async cleanJobsInSet(e,t,n=0){let s=await this.queue.client;return this.execCommand(s,"cleanJobsInSet",[this.queue.toKey(e),this.queue.toKey("events"),this.queue.toKey("repeat"),this.queue.toKey(""),t,n,e])}getJobSchedulerArgs(e){return[this.queue.keys.repeat].concat([e])}async getJobScheduler(e){let t=await this.queue.client,n=this.getJobSchedulerArgs(e);return this.execCommand(t,"getJobScheduler",n)}retryJobArgs(e,t,n,s={}){let i=[this.queue.keys.active,this.queue.keys.wait,this.queue.keys.paused,this.queue.toKey(e),this.queue.keys.meta,this.queue.keys.events,this.queue.keys.delayed,this.queue.keys.prioritized,this.queue.keys.pc,this.queue.keys.marker,this.queue.keys.stalled],o=(t?"R":"L")+"PUSH";return i.concat([this.queue.toKey(""),Date.now(),o,e,n,s.fieldsToUpdate?dt((0,Bs.objectToFlatArray)(s.fieldsToUpdate)):void 0])}async retryJob(e,t,n="0",s={}){let i=await this.queue.client,o=this.retryJobArgs(e,t,n,s),a=await this.execCommand(i,"retryJob",o);if(a<0)throw this.finishedErrors({code:a,jobId:e,command:"retryJob",state:"active"})}moveJobsToWaitArgs(e,t,n){let s=[this.queue.toKey(""),this.queue.keys.events,this.queue.toKey(e),this.queue.toKey("wait"),this.queue.toKey("paused"),this.queue.keys.meta,this.queue.keys.active,this.queue.keys.marker],i=[t,n,e];return s.concat(i)}async retryJobs(e="failed",t=1e3,n=new Date().getTime()){let s=await this.queue.client,i=this.moveJobsToWaitArgs(e,t,n);return this.execCommand(s,"moveJobsToWait",i)}async promoteJobs(e=1e3){let t=await this.queue.client,n=this.moveJobsToWaitArgs("delayed",e,Number.MAX_VALUE);return this.execCommand(t,"moveJobsToWait",n)}async reprocessJob(e,t,n={}){let s=await this.queue.client,i=[this.queue.toKey(e.id),this.queue.keys.events,this.queue.toKey(t),this.queue.keys.wait,this.queue.keys.meta,this.queue.keys.paused,this.queue.keys.active,this.queue.keys.marker],o=[e.id,(e.opts.lifo?"R":"L")+"PUSH",t==="failed"?"failedReason":"returnvalue",t,n.resetAttemptsMade?"1":"0",n.resetAttemptsStarted?"1":"0"],a=await this.execCommand(s,"reprocessJob",i.concat(o));if(a!==1)throw this.finishedErrors({code:a,jobId:e.id,command:"reprocessJob",state:t})}async getMetrics(e,t=0,n=-1){let s=await this.queue.client,i=[this.queue.toKey(`metrics:${e}`),this.queue.toKey(`metrics:${e}:data`)],o=[t,n];return await this.execCommand(s,"getMetrics",i.concat(o))}async moveToActive(e,t,n){let s=this.queue.opts,i=this.queue.keys,o=[i.wait,i.active,i.prioritized,i.events,i.stalled,i.limiter,i.delayed,i.paused,i.meta,i.pc,i.marker],a=[i[""],Date.now(),dt({token:t,lockDuration:s.lockDuration,limiter:s.limiter,name:n})],A=await this.execCommand(e,"moveToActive",o.concat(a));return pu(A)}async promote(e){let t=await this.queue.client,n=[this.queue.keys.delayed,this.queue.keys.wait,this.queue.keys.paused,this.queue.keys.meta,this.queue.keys.prioritized,this.queue.keys.active,this.queue.keys.pc,this.queue.keys.events,this.queue.keys.marker],s=[this.queue.toKey(""),e],i=await this.execCommand(t,"promote",n.concat(s));if(i<0)throw this.finishedErrors({code:i,jobId:e,command:"promote",state:"delayed"})}moveStalledJobsToWaitArgs(){let e=this.queue.opts,t=[this.queue.keys.stalled,this.queue.keys.wait,this.queue.keys.active,this.queue.keys["stalled-check"],this.queue.keys.meta,this.queue.keys.paused,this.queue.keys.marker,this.queue.keys.events],n=[e.maxStalledCount,this.queue.toKey(""),Date.now(),e.stalledInterval];return t.concat(n)}async moveStalledJobsToWait(){let e=await this.queue.client,t=this.moveStalledJobsToWaitArgs();return this.execCommand(e,"moveStalledJobsToWait",t)}async moveJobFromActiveToWait(e,t="0"){let n=await this.queue.client,s=[this.queue.keys.active,this.queue.keys.wait,this.queue.keys.stalled,this.queue.keys.paused,this.queue.keys.meta,this.queue.keys.limiter,this.queue.keys.prioritized,this.queue.keys.marker,this.queue.keys.events],i=[e,t,this.queue.toKey(e)],o=await this.execCommand(n,"moveJobFromActiveToWait",s.concat(i));if(o<0)throw this.finishedErrors({code:o,jobId:e,command:"moveJobFromActiveToWait",state:"active"});return o}async obliterate(e){let t=await this.queue.client,n=[this.queue.keys.meta,this.queue.toKey("")],s=[e.count,e.force?"force":null],i=await this.execCommand(t,"obliterate",n.concat(s));if(i<0)switch(i){case-1:throw new Error("Cannot obliterate non-paused queue");case-2:throw new Error("Cannot obliterate queue with active jobs")}return i}async paginate(e,t){let n=await this.queue.client,s=[e],i=5,o=t.end>=0?t.end-t.start+1:1/0,a="0",A=0,l,c,u,d=[],h=[];do{let f=[t.start+d.length,t.end,a,A,i];t.fetchJobs&&f.push(1),[a,A,l,c,u]=await this.execCommand(n,"paginate",s.concat(f)),d=d.concat(l),u&&u.length&&(h=h.concat(u.map(Bs.array2obj)))}while(a!="0"&&d.length<o);if(d.length&&Array.isArray(d[0])){let f=[];for(let p=0;p<d.length;p++){let[I,y]=d[p];try{f.push({id:I,v:JSON.parse(y)})}catch(m){f.push({id:I,err:m.message})}}return{cursor:a,items:f,total:c,jobs:h}}else return{cursor:a,items:d.map(f=>({id:f})),total:c,jobs:h}}finishedErrors({code:e,jobId:t,parentKey:n,command:s,state:i}){let o;switch(e){case Gr.ErrorCode.JobNotExist:o=new Error(`Missing key for job ${t}. ${s}`);break;case Gr.ErrorCode.JobLockNotExist:o=new Error(`Missing lock for job ${t}. ${s}`);break;case Gr.ErrorCode.JobNotInState:o=new Error(`Job ${t} is not in the ${i} state. ${s}`);break;case Gr.ErrorCode.JobPendingChildren:o=new Error(`Job ${t} has pending dependencies. ${s}`);break;case Gr.ErrorCode.ParentJobNotExist:o=new Error(`Missing key for parent job ${n}. ${s}`);break;case Gr.ErrorCode.JobLockMismatch:o=new Error(`Lock mismatch for job ${t}. Cmd ${s} from ${i}`);break;case Gr.ErrorCode.ParentJobCannotBeReplaced:o=new Error(`The parent job ${n} cannot be replaced. ${s}`);break;case Gr.ErrorCode.JobBelongsToJobScheduler:o=new Error(`Job ${t} belongs to a job scheduler and cannot be removed directly. ${s}`);break;case Gr.ErrorCode.JobHasFailedChildren:o=new z3.UnrecoverableError(`Cannot complete job ${t} because it has at least one failed child. ${s}`);break;case Gr.ErrorCode.SchedulerJobIdCollision:o=new Error(`Cannot create job scheduler iteration - job ID already exists. ${s}`);break;case Gr.ErrorCode.SchedulerJobSlotsBusy:o=new Error(`Cannot create job scheduler iteration - current and next time slots already have jobs. ${s}`);break;default:o=new Error(`Unknown code ${e} error for ${t}. ${s}`)}return o.code=e,o}async removeOrphanedJobs(e,t,n){let s=await this.queue.client,i=[this.queue.toKey(""),t.length,...t,n.length,...n,...e];return this.execCommand(s,"removeOrphanedJobs",i)}};IA.Scripts=Yy;function pu(r){if(r){let e=[null,r[1],r[2],r[3]];return r[0]&&(e[0]=(0,Bs.array2obj)(r[0])),e}return[]}});var Eu=g(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});yu.createScripts=void 0;var Z3=qy(),X3=r=>new Z3.Scripts({keys:r.keys,client:r.client,get redisVersion(){return r.redisVersion},toKey:r.toKey,opts:r.opts,closing:r.closing,databaseType:r.databaseType});yu.createScripts=X3});var qo=g(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.Job=Ss.PRIORITY_LIMIT=void 0;var nR=(Mt(),Yt(Nt)),$3=S("util"),Ot=sr(),e4=Eu(),sR=Jp(),t4=By(),Vt=Gt(),r4=(0,$3.debuglog)("bull");Ss.PRIORITY_LIMIT=2**21;var Gy=class r{constructor(e,t,n,s={},i){this.queue=e,this.name=t,this.data=n,this.opts=s,this.id=i,this.progress=0,this.returnvalue=null,this.stacktrace=null,this.delay=0,this.priority=0,this.attemptsStarted=0,this.attemptsMade=0,this.stalledCounter=0;let o=this.opts,{repeatJobKey:a}=o,A=nR.__rest(o,["repeatJobKey"]);this.opts=Object.assign({attempts:0},A),this.delay=this.opts.delay,this.priority=this.opts.priority||0,this.repeatJobKey=a,this.timestamp=s.timestamp?s.timestamp:Date.now(),this.opts.backoff=sR.Backoffs.normalize(s.backoff),this.parentKey=(0,Ot.getParentKey)(s.parent),s.parent&&(this.parent={id:s.parent.id,queueKey:s.parent.queue},s.failParentOnFailure&&(this.parent.fpof=!0),s.removeDependencyOnFailure&&(this.parent.rdof=!0),s.ignoreDependencyOnFailure&&(this.parent.idof=!0),s.continueParentOnFailure&&(this.parent.cpof=!0)),this.debounceId=s.debounce?s.debounce.id:void 0,this.deduplicationId=s.deduplication?s.deduplication.id:this.debounceId,this.toKey=e.toKey.bind(e),this.createScripts(),this.queueQualifiedName=e.qualifiedName}static async create(e,t,n,s){let i=await e.client,o=new this(e,t,n,s,s&&s.jobId);return o.id=await o.addJob(i,{parentKey:o.parentKey,parentDependenciesKey:o.parentKey?`${o.parentKey}:dependencies`:""}),o}static async createBulk(e,t){let n=await e.client,s=t.map(a=>{var A;return new this(e,a.name,a.data,a.opts,(A=a.opts)===null||A===void 0?void 0:A.jobId)}),i=n.pipeline();for(let a of s)a.addJob(i,{parentKey:a.parentKey,parentDependenciesKey:a.parentKey?`${a.parentKey}:dependencies`:""});let o=await i.exec();for(let a=0;a<o.length;++a){let[A,l]=o[a];if(A)throw A;s[a].id=l}return s}static fromJSON(e,t,n){let s=JSON.parse(t.data||"{}"),i=r.optsFromJSON(t.opts),o=new this(e,t.name,s,i,t.id||n);return o.progress=JSON.parse(t.progress||"0"),o.delay=parseInt(t.delay),o.priority=parseInt(t.priority),o.timestamp=parseInt(t.timestamp),t.finishedOn&&(o.finishedOn=parseInt(t.finishedOn)),t.processedOn&&(o.processedOn=parseInt(t.processedOn)),t.rjk&&(o.repeatJobKey=t.rjk),t.deid&&(o.debounceId=t.deid,o.deduplicationId=t.deid),t.failedReason&&(o.failedReason=t.failedReason),o.attemptsStarted=parseInt(t.ats||"0"),o.attemptsMade=parseInt(t.attemptsMade||t.atm||"0"),o.stalledCounter=parseInt(t.stc||"0"),t.defa&&(o.deferredFailure=t.defa),o.stacktrace=n4(t.stacktrace),typeof t.returnvalue=="string"&&(o.returnvalue=iR(t.returnvalue)),t.parentKey&&(o.parentKey=t.parentKey),t.parent&&(o.parent=JSON.parse(t.parent)),t.pb&&(o.processedBy=t.pb),t.nrjid&&(o.nextRepeatableJobId=t.nrjid),o}createScripts(){this.scripts=(0,e4.createScripts)(this.queue)}static optsFromJSON(e,t=Ot.optsDecodeMap){let n=JSON.parse(e||"{}"),s=Object.entries(n),i={};for(let o of s){let[a,A]=o;t[a]?i[t[a]]=A:a==="tm"?i.telemetry=Object.assign(Object.assign({},i.telemetry),{metadata:A}):a==="omc"?i.telemetry=Object.assign(Object.assign({},i.telemetry),{omitContext:A}):i[a]=A}return i}static async fromId(e,t){if(t){let s=await(await e.client).hgetall(e.toKey(t));return(0,Ot.isEmpty)(s)?void 0:this.fromJSON(e,s,t)}}static addJobLog(e,t,n,s){return e.scripts.addLog(t,n,s)}toJSON(){let e=this,{queue:t,scripts:n}=e;return nR.__rest(e,["queue","scripts"])}asJSON(){return(0,Ot.removeUndefinedFields)({id:this.id,name:this.name,data:JSON.stringify(typeof this.data>"u"?{}:this.data),opts:r.optsAsJSON(this.opts),parent:this.parent?Object.assign({},this.parent):void 0,parentKey:this.parentKey,progress:this.progress,attemptsMade:this.attemptsMade,attemptsStarted:this.attemptsStarted,stalledCounter:this.stalledCounter,finishedOn:this.finishedOn,processedOn:this.processedOn,timestamp:this.timestamp,failedReason:JSON.stringify(this.failedReason),stacktrace:JSON.stringify(this.stacktrace),debounceId:this.debounceId,deduplicationId:this.deduplicationId,repeatJobKey:this.repeatJobKey,returnvalue:JSON.stringify(this.returnvalue),nrjid:this.nextRepeatableJobId})}static optsAsJSON(e={},t=Ot.optsEncodeMap){let n=Object.entries(e),s={};for(let[i,o]of n)if(!(typeof o>"u"))if(i in t){let A=t[i];s[A]=o}else i==="telemetry"?(o.metadata!==void 0&&(s.tm=o.metadata),o.omitContext!==void 0&&(s.omc=o.omitContext)):s[i]=o;return s}asJSONSandbox(){return Object.assign(Object.assign({},this.asJSON()),{queueName:this.queueName,queueQualifiedName:this.queueQualifiedName,prefix:this.prefix})}updateData(e){return this.data=e,this.scripts.updateData(this,e)}async updateProgress(e){this.progress=e,await this.scripts.updateProgress(this.id,e),this.queue.emit("progress",this,e)}async log(e){return r.addJobLog(this.queue,this.id,e,this.opts.keepLogs)}async removeChildDependency(){return await this.scripts.removeChildDependency(this.id,this.parentKey)?(this.parent=void 0,this.parentKey=void 0,!0):!1}async clearLogs(e){let t=await this.queue.client,n=this.toKey(this.id)+":logs";e?await t.ltrim(n,-e,-1):await t.del(n)}async remove({removeChildren:e=!0}={}){await this.queue.waitUntilReady();let t=this.queue,n=this;if(await this.scripts.remove(n.id,e))t.emit("removed",n);else throw new Error(`Job ${this.id} could not be removed because it is locked by another worker`)}async removeUnprocessedChildren(){let e=this.id;await this.scripts.removeUnprocessedChildren(e)}extendLock(e,t){return this.scripts.extendLock(this.id,e,t)}async moveToCompleted(e,t,n=!0){return this.queue.trace(Vt.SpanKind.INTERNAL,"complete",this.queue.name,async s=>{this.setSpanJobAttributes(s),await this.queue.waitUntilReady(),this.returnvalue=e||void 0;let i=(0,Ot.tryCatch)(JSON.stringify,JSON,[e]);if(i===Ot.errorObject)throw Ot.errorObject.value;let o=this.scripts.moveToCompletedArgs(this,i,this.opts.removeOnComplete,t,n),a=await this.scripts.moveToFinished(this.id,o);return this.finishedOn=o[this.scripts.moveToFinishedKeys.length+1],this.attemptsMade+=1,this.recordJobMetrics("completed"),a})}async moveToWait(e){let t=await this.scripts.moveJobFromActiveToWait(this.id,e);return this.recordJobMetrics("waiting"),t}async shouldRetryJob(e){if(this.attemptsMade+1<this.opts.attempts&&!this.discarded&&!(e instanceof t4.UnrecoverableError||e.name=="UnrecoverableError")){let t=this.queue.opts,n=await sR.Backoffs.calculate(this.opts.backoff,this.attemptsMade+1,e,this,t.settings&&t.settings.backoffStrategy);return[n!=-1,n==-1?0:n]}else return[!1,0]}async moveToFailed(e,t,n=!1){this.failedReason=e?.message;let[s,i]=await this.shouldRetryJob(e);return this.queue.trace(Vt.SpanKind.INTERNAL,this.getSpanOperation(s,i),this.queue.name,async(o,a)=>{var A,l;this.setSpanJobAttributes(o);let c;!(!((l=(A=this.opts)===null||A===void 0?void 0:A.telemetry)===null||l===void 0)&&l.omitContext)&&a&&(c=a);let u;this.updateStacktrace(e);let d={failedReason:this.failedReason,stacktrace:JSON.stringify(this.stacktrace),tm:c},h;if(s)i?(u=await this.scripts.moveToDelayed(this.id,Date.now(),i,t,{fieldsToUpdate:d,fetchNext:n}),this.recordJobMetrics("delayed")):(u=await this.scripts.retryJob(this.id,this.opts.lifo,t,{fieldsToUpdate:d}),this.recordJobMetrics("retried"));else{let f=this.scripts.moveToFailedArgs(this,this.failedReason,this.opts.removeOnFail,t,n,d);u=await this.scripts.moveToFinished(this.id,f),h=f[this.scripts.moveToFinishedKeys.length+1],this.recordJobMetrics("failed")}return h&&typeof h=="number"&&(this.finishedOn=h),i&&typeof i=="number"&&(this.delay=i),this.attemptsMade+=1,u})}getSpanOperation(e,t){return e?t?"delay":"retry":"fail"}recordJobMetrics(e){var t,n;let s=(n=(t=this.queue.opts)===null||t===void 0?void 0:t.telemetry)===null||n===void 0?void 0:n.meter;if(!s)return;let i={[Vt.TelemetryAttributes.QueueName]:this.queue.name,[Vt.TelemetryAttributes.JobName]:this.name,[Vt.TelemetryAttributes.JobStatus]:e},a={completed:Vt.MetricNames.JobsCompleted,failed:Vt.MetricNames.JobsFailed,delayed:Vt.MetricNames.JobsDelayed,retried:Vt.MetricNames.JobsRetried,waiting:Vt.MetricNames.JobsWaiting,"waiting-children":Vt.MetricNames.JobsWaitingChildren}[e];if(s.createCounter(a,{description:`Number of jobs ${e}`,unit:"1"}).add(1,i),this.processedOn){let l=Date.now()-this.processedOn;s.createHistogram(Vt.MetricNames.JobDuration,{description:"Job processing duration",unit:"ms"}).record(l,i)}}isCompleted(){return this.isInZSet("completed")}isFailed(){return this.isInZSet("failed")}isDelayed(){return this.isInZSet("delayed")}isWaitingChildren(){return this.isInZSet("waiting-children")}isActive(){return this.isInList("active")}async isWaiting(){return await this.isInList("wait")||await this.isInList("paused")}get queueName(){return this.queue.name}get prefix(){return this.queue.opts.prefix}getState(){return this.scripts.getState(this.id)}async changeDelay(e){await this.scripts.changeDelay(this.id,e),this.delay=e}async changePriority(e){await this.scripts.changePriority(this.id,e.priority,e.lifo),this.priority=e.priority||0}async getChildrenValues(){let t=await(await this.queue.client).hgetall(this.toKey(`${this.id}:processed`));if(t)return(0,Ot.parseObjectValues)(t)}async getIgnoredChildrenFailures(){return(await this.queue.client).hgetall(this.toKey(`${this.id}:failed`))}async getFailedChildrenValues(){return(await this.queue.client).hgetall(this.toKey(`${this.id}:failed`))}async getDependencies(e={}){let n=(await this.queue.client).multi();if(!e.processed&&!e.unprocessed&&!e.ignored&&!e.failed){n.hgetall(this.toKey(`${this.id}:processed`)),n.smembers(this.toKey(`${this.id}:dependencies`)),n.hgetall(this.toKey(`${this.id}:failed`)),n.zrange(this.toKey(`${this.id}:unsuccessful`),0,-1);let[[s,i],[o,a],[A,l],[c,u]]=await n.exec();return{processed:(0,Ot.parseObjectValues)(i),unprocessed:a,failed:u,ignored:l}}else{let s={cursor:0,count:20},i=[];if(e.processed){i.push("processed");let p=Object.assign(Object.assign({},s),e.processed);n.hscan(this.toKey(`${this.id}:processed`),p.cursor,"COUNT",p.count)}if(e.unprocessed){i.push("unprocessed");let p=Object.assign(Object.assign({},s),e.unprocessed);n.sscan(this.toKey(`${this.id}:dependencies`),p.cursor,"COUNT",p.count)}if(e.ignored){i.push("ignored");let p=Object.assign(Object.assign({},s),e.ignored);n.hscan(this.toKey(`${this.id}:failed`),p.cursor,"COUNT",p.count)}let o;if(e.failed){i.push("failed");let p=Object.assign(Object.assign({},s),e.failed);o=p.cursor+p.count,n.zrange(this.toKey(`${this.id}:unsuccessful`),p.cursor,p.count-1)}let a=await n.exec(),A,l,c,u,d,h,f;return i.forEach((p,I)=>{switch(p){case"processed":{A=a[I][1][0];let y=a[I][1][1],m={};for(let w=0;w<y.length;++w)w%2&&(m[y[w-1]]=JSON.parse(y[w]));l=m;break}case"failed":{d=a[I][1];break}case"ignored":{h=a[I][1][0];let y=a[I][1][1],m={};for(let w=0;w<y.length;++w)w%2&&(m[y[w-1]]=y[w]);f=m;break}case"unprocessed":{c=a[I][1][0],u=a[I][1][1];break}}}),Object.assign(Object.assign(Object.assign(Object.assign({},A?{processed:l,nextProcessedCursor:Number(A)}:{}),h?{ignored:f,nextIgnoredCursor:Number(h)}:{}),o?{failed:d,nextFailedCursor:o}:{}),c?{unprocessed:u,nextUnprocessedCursor:Number(c)}:{})}}async getDependenciesCount(e={}){let t=[];Object.entries(e).forEach(([o,a])=>{a&&t.push(o)});let n=t.length?t:["processed","unprocessed","ignored","failed"],s=await this.scripts.getDependencyCounts(this.id,n),i={};return s.forEach((o,a)=>{i[`${n[a]}`]=o||0}),i}async waitUntilFinished(e,t){await this.queue.waitUntilReady();let n=this.id;return new Promise(async(s,i)=>{let o;t&&(o=setTimeout(()=>A(`Job wait ${this.name} timed out before finishing, no finish notification arrived after ${t}ms (id=${n})`),t));function a(p){u(),s(p.returnvalue)}function A(p){u(),i(new Error(p.failedReason||p))}let l=`completed:${n}`,c=`failed:${n}`;e.on(l,a),e.on(c,A),this.queue.on("closing",A);let u=()=>{clearInterval(o),e.removeListener(l,a),e.removeListener(c,A),this.queue.removeListener("closing",A)};await e.waitUntilReady();let[d,h]=await this.scripts.isFinished(n,!0);d!=0&&(d==-1||d==2?A({failedReason:h}):a({returnvalue:iR(h)}))})}async moveToDelayed(e,t){let n=Date.now(),s=e-n,i=s>0?s:0;await this.scripts.moveToDelayed(this.id,n,i,t,{skipAttempt:!0}),this.delay=i,this.recordJobMetrics("delayed")}async moveToWaitingChildren(e,t={}){let n=await this.scripts.moveToWaitingChildren(this.id,e,t);return n&&this.recordJobMetrics("waiting-children"),n}async promote(){let e=this.id;await this.scripts.promote(e),this.delay=0}async retry(e="failed",t={}){await this.scripts.reprocessJob(this,e,t),this.failedReason=null,this.finishedOn=null,this.processedOn=null,this.returnvalue=null,t.resetAttemptsMade&&(this.attemptsMade=0),t.resetAttemptsStarted&&(this.attemptsStarted=0)}discard(){this.discarded=!0}async isInZSet(e){return await(await this.queue.client).zscore(this.queue.toKey(e),this.id)!==null}async isInList(e){return this.scripts.isJobInList(this.queue.toKey(e),this.id)}addJob(e,t){let n=this.asJSON();return this.validateOptions(n),this.scripts.addJob(e,n,n.opts,this.id,t)}async removeDeduplicationKey(){return this.deduplicationId?await this.scripts.removeDeduplicationKey(this.deduplicationId,this.id)>0:!1}validateOptions(e){var t,n,s,i,o,a,A,l;let c=["removeDependencyOnFailure","failParentOnFailure","continueParentOnFailure","ignoreDependencyOnFailure"];if(this.opts.sizeLimit&&(0,Ot.lengthInUtf8Bytes)(e.data)>this.opts.sizeLimit)throw new Error(`The size of job ${this.name} exceeds the limit ${this.opts.sizeLimit} bytes`);if(this.opts.delay&&this.opts.repeat&&!(!((t=this.opts.repeat)===null||t===void 0)&&t.count))throw new Error("Delay and repeat options cannot be used together");let d=c.filter(h=>this.opts[h]);if(d.length>1){let h=d.join(", ");throw new Error(`The following options cannot be used together: ${h}`)}if(!((n=this.opts)===null||n===void 0)&&n.jobId){if(`${parseInt(this.opts.jobId,10)}`===((s=this.opts)===null||s===void 0?void 0:s.jobId))throw new Error("Custom Id cannot be integers");if(!((i=this.opts)===null||i===void 0)&&i.jobId.includes(":")&&((a=(o=this.opts)===null||o===void 0?void 0:o.jobId)===null||a===void 0?void 0:a.split(":").length)!==3)throw new Error("Custom Id cannot contain :")}if(this.opts.priority){if(Math.trunc(this.opts.priority)!==this.opts.priority)throw new Error("Priority should not be float");if(this.opts.priority>Ss.PRIORITY_LIMIT)throw new Error(`Priority should be between 0 and ${Ss.PRIORITY_LIMIT}`)}if(this.opts.deduplication){if(!(!((A=this.opts.deduplication)===null||A===void 0)&&A.id))throw new Error("Deduplication id must be provided");if(this.parentKey)throw new Error("Deduplication and parent options cannot be used together")}if(this.opts.debounce){if(!(!((l=this.opts.debounce)===null||l===void 0)&&l.id))throw new Error("Debounce id must be provided");if(this.parentKey)throw new Error("Debounce and parent options cannot be used together")}if(typeof this.opts.backoff=="object"&&typeof this.opts.backoff.jitter=="number"&&(this.opts.backoff.jitter<0||this.opts.backoff.jitter>1))throw new Error("Jitter should be between 0 and 1")}updateStacktrace(e){this.stacktrace=this.stacktrace||[],e?.stack&&(this.stacktrace.push(e.stack),this.opts.stackTraceLimit===0?this.stacktrace=[]:this.opts.stackTraceLimit&&(this.stacktrace=this.stacktrace.slice(-this.opts.stackTraceLimit)))}setSpanJobAttributes(e){e?.setAttributes({[Vt.TelemetryAttributes.JobName]:this.name,[Vt.TelemetryAttributes.JobId]:this.id})}};Ss.Job=Gy;function n4(r){if(!r)return[];let e=(0,Ot.tryCatch)(JSON.parse,JSON,[r]);return e===Ot.errorObject||!(e instanceof Array)?[]:e}function iR(r){let e=(0,Ot.tryCatch)(JSON.parse,JSON,[r]);if(e!==Ot.errorObject)return e;r4("corrupted returnvalue: "+r,e)}});var mu=g(Iu=>{"use strict";Object.defineProperty(Iu,"__esModule",{value:!0});Iu.QueueKeys=void 0;var Vy=class{constructor(e="bull"){this.prefix=e}getKeys(e){let t={};return["","active","wait","waiting-children","paused","id","delayed","prioritized","stalled-check","completed","failed","stalled","repeat","limiter","meta","events","pc","marker","de"].forEach(n=>{t[n]=this.toKey(e,n)}),t}toKey(e,t){return`${this.getQueueQualifiedName(e)}:${t}`}getQueueQualifiedName(e){return`${this.prefix}:${e}`}};Iu.QueueKeys=Vy});var oR=g(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});Cu.addDelayedJob=void 0;var s4=`--[[
|
|
166
166
|
Adds a delayed job to the queue by doing the following:
|
|
167
167
|
- Increases the job counter if needed.
|
|
168
168
|
- Creates a new job key with the job data.
|
|
@@ -730,7 +730,7 @@ if parentDependenciesKey ~= nil then
|
|
|
730
730
|
rcall("SADD", parentDependenciesKey, jobIdKey)
|
|
731
731
|
end
|
|
732
732
|
return jobId .. "" -- convert to string
|
|
733
|
-
`;
|
|
733
|
+
`;Cu.addDelayedJob={name:"addDelayedJob",content:s4,keys:6}});var aR=g(bu=>{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});bu.addJobScheduler=void 0;var i4=`--[[
|
|
734
734
|
Adds a job scheduler, i.e. a job factory that creates jobs based on a given schedule (repeat options).
|
|
735
735
|
Input:
|
|
736
736
|
KEYS[1] 'repeat' key
|
|
@@ -1304,7 +1304,7 @@ if ARGV[9] ~= "" then
|
|
|
1304
1304
|
rcall("HSET", ARGV[9], "nrjid", jobId)
|
|
1305
1305
|
end
|
|
1306
1306
|
return {jobId .. "", delay}
|
|
1307
|
-
`;
|
|
1307
|
+
`;bu.addJobScheduler={name:"addJobScheduler",content:i4,keys:11}});var AR=g(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.addLog=void 0;var o4=`--[[
|
|
1308
1308
|
Add job log
|
|
1309
1309
|
Input:
|
|
1310
1310
|
KEYS[1] job id key
|
|
@@ -1327,7 +1327,7 @@ if rcall("EXISTS", KEYS[1]) == 1 then -- // Make sure job exists
|
|
|
1327
1327
|
else
|
|
1328
1328
|
return -1
|
|
1329
1329
|
end
|
|
1330
|
-
`;
|
|
1330
|
+
`;Qu.addLog={name:"addLog",content:o4,keys:2}});var lR=g(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});Bu.addParentJob=void 0;var a4=`--[[
|
|
1331
1331
|
Adds a parent job to the queue by doing the following:
|
|
1332
1332
|
- Increases the job counter if needed.
|
|
1333
1333
|
- Creates a new job key with the job data.
|
|
@@ -1792,7 +1792,7 @@ if parentDependenciesKey ~= nil then
|
|
|
1792
1792
|
rcall("SADD", parentDependenciesKey, jobIdKey)
|
|
1793
1793
|
end
|
|
1794
1794
|
return jobId .. "" -- convert to string
|
|
1795
|
-
`;
|
|
1795
|
+
`;Bu.addParentJob={name:"addParentJob",content:a4,keys:6}});var cR=g(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});Su.addPrioritizedJob=void 0;var A4=`--[[
|
|
1796
1796
|
Adds a priotitized job to the queue by doing the following:
|
|
1797
1797
|
- Increases the job counter if needed.
|
|
1798
1798
|
- Creates a new job key with the job data.
|
|
@@ -2330,7 +2330,7 @@ if parentDependenciesKey ~= nil then
|
|
|
2330
2330
|
rcall("SADD", parentDependenciesKey, jobIdKey)
|
|
2331
2331
|
end
|
|
2332
2332
|
return jobId .. "" -- convert to string
|
|
2333
|
-
`;
|
|
2333
|
+
`;Su.addPrioritizedJob={name:"addPrioritizedJob",content:A4,keys:9}});var uR=g(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});wu.addRepeatableJob=void 0;var l4=`--[[
|
|
2334
2334
|
Adds a repeatable job
|
|
2335
2335
|
Input:
|
|
2336
2336
|
KEYS[1] 'repeat' key
|
|
@@ -2558,7 +2558,7 @@ if rcall("ZSCORE", repeatKey, legacyCustomKey) ~= false then
|
|
|
2558
2558
|
return storeRepeatableJob(repeatKey, legacyCustomKey, nextMillis, ARGV[2])
|
|
2559
2559
|
end
|
|
2560
2560
|
return storeRepeatableJob(repeatKey, customKey, nextMillis, ARGV[2])
|
|
2561
|
-
`;
|
|
2561
|
+
`;wu.addRepeatableJob={name:"addRepeatableJob",content:l4,keys:2}});var dR=g(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});Du.addStandardJob=void 0;var c4=`--[[
|
|
2562
2562
|
Adds a job to the queue by doing the following:
|
|
2563
2563
|
- Increases the job counter if needed.
|
|
2564
2564
|
- Creates a new job key with the job data.
|
|
@@ -3100,7 +3100,7 @@ if parentDependenciesKey ~= nil then
|
|
|
3100
3100
|
rcall("SADD", parentDependenciesKey, jobIdKey)
|
|
3101
3101
|
end
|
|
3102
3102
|
return jobId .. "" -- convert to string
|
|
3103
|
-
`;
|
|
3103
|
+
`;Du.addStandardJob={name:"addStandardJob",content:c4,keys:9}});var hR=g(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});ku.changeDelay=void 0;var u4=`--[[
|
|
3104
3104
|
Change job delay when it is in delayed set.
|
|
3105
3105
|
Input:
|
|
3106
3106
|
KEYS[1] delayed key
|
|
@@ -3197,7 +3197,7 @@ if rcall("EXISTS", ARGV[4]) == 1 then
|
|
|
3197
3197
|
return 0
|
|
3198
3198
|
else
|
|
3199
3199
|
return -1
|
|
3200
|
-
end`;
|
|
3200
|
+
end`;ku.changeDelay={name:"changeDelay",content:u4,keys:4}});var fR=g(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});Ru.changePriority=void 0;var d4=`--[[
|
|
3201
3201
|
Change job priority
|
|
3202
3202
|
Input:
|
|
3203
3203
|
KEYS[1] 'wait',
|
|
@@ -3315,7 +3315,7 @@ if rcall("EXISTS", jobKey) == 1 then
|
|
|
3315
3315
|
else
|
|
3316
3316
|
return -1
|
|
3317
3317
|
end
|
|
3318
|
-
`;
|
|
3318
|
+
`;Ru.changePriority={name:"changePriority",content:d4,keys:7}});var gR=g(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.cleanJobsInSet=void 0;var h4=`--[[
|
|
3319
3319
|
Remove jobs from the specific set.
|
|
3320
3320
|
Input:
|
|
3321
3321
|
KEYS[1] set key,
|
|
@@ -3674,7 +3674,7 @@ else
|
|
|
3674
3674
|
end
|
|
3675
3675
|
rcall("XADD", KEYS[2], "*", "event", "cleaned", "count", result[2])
|
|
3676
3676
|
return result[1]
|
|
3677
|
-
`;
|
|
3677
|
+
`;vu.cleanJobsInSet={name:"cleanJobsInSet",content:h4,keys:3}});var pR=g(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});xu.drain=void 0;var f4=`--[[
|
|
3678
3678
|
Drains the queue, removes all jobs that are waiting
|
|
3679
3679
|
or delayed, but not active, completed or failed
|
|
3680
3680
|
Input:
|
|
@@ -3939,7 +3939,7 @@ if ARGV[2] == "1" then
|
|
|
3939
3939
|
removeZSetJobs(KEYS[3], true, queueBaseKey, 0, scheduledJobs) -- delayed
|
|
3940
3940
|
end
|
|
3941
3941
|
removeZSetJobs(KEYS[4], true, queueBaseKey, 0, scheduledJobs) -- prioritized
|
|
3942
|
-
`;
|
|
3942
|
+
`;xu.drain={name:"drain",content:f4,keys:5}});var yR=g(Tu=>{"use strict";Object.defineProperty(Tu,"__esModule",{value:!0});Tu.extendLock=void 0;var g4=`--[[
|
|
3943
3943
|
Extend lock and removes the job from the stalled set.
|
|
3944
3944
|
Input:
|
|
3945
3945
|
KEYS[1] 'lock',
|
|
@@ -3959,7 +3959,7 @@ if rcall("GET", KEYS[1]) == ARGV[1] then
|
|
|
3959
3959
|
end
|
|
3960
3960
|
end
|
|
3961
3961
|
return 0
|
|
3962
|
-
`;
|
|
3962
|
+
`;Tu.extendLock={name:"extendLock",content:g4,keys:2}});var ER=g(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});Nu.extendLocks=void 0;var p4=`--[[
|
|
3963
3963
|
Extend locks for multiple jobs and remove them from the stalled set if successful.
|
|
3964
3964
|
Return the list of job IDs for which the operation failed.
|
|
3965
3965
|
KEYS[1] = stalled key
|
|
@@ -3999,7 +3999,7 @@ for i = 1, jobCount, 1 do
|
|
|
3999
3999
|
end
|
|
4000
4000
|
end
|
|
4001
4001
|
return failedJobs
|
|
4002
|
-
`;
|
|
4002
|
+
`;Nu.extendLocks={name:"extendLocks",content:p4,keys:1}});var IR=g(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});Mu.getCounts=void 0;var y4=`--[[
|
|
4003
4003
|
Get counts per provided states
|
|
4004
4004
|
Input:
|
|
4005
4005
|
KEYS[1] 'prefix'
|
|
@@ -4031,7 +4031,7 @@ for i = 1, #ARGV do
|
|
|
4031
4031
|
end
|
|
4032
4032
|
end
|
|
4033
4033
|
return results
|
|
4034
|
-
`;
|
|
4034
|
+
`;Mu.getCounts={name:"getCounts",content:y4,keys:1}});var mR=g(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.getCountsPerPriority=void 0;var E4=`--[[
|
|
4035
4035
|
Get counts per provided states
|
|
4036
4036
|
Input:
|
|
4037
4037
|
KEYS[1] wait key
|
|
@@ -4067,7 +4067,7 @@ for i = 1, #ARGV do
|
|
|
4067
4067
|
end
|
|
4068
4068
|
end
|
|
4069
4069
|
return results
|
|
4070
|
-
`;
|
|
4070
|
+
`;Ku.getCountsPerPriority={name:"getCountsPerPriority",content:E4,keys:4}});var CR=g(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.getDependencyCounts=void 0;var I4=`--[[
|
|
4071
4071
|
Get counts per child states
|
|
4072
4072
|
Input:
|
|
4073
4073
|
KEYS[1] processed key
|
|
@@ -4094,7 +4094,7 @@ for i = 1, #ARGV do
|
|
|
4094
4094
|
end
|
|
4095
4095
|
end
|
|
4096
4096
|
return results
|
|
4097
|
-
`;
|
|
4097
|
+
`;Fu.getDependencyCounts={name:"getDependencyCounts",content:I4,keys:4}});var bR=g(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});Lu.getJobScheduler=void 0;var m4=`--[[
|
|
4098
4098
|
Get job scheduler record.
|
|
4099
4099
|
Input:
|
|
4100
4100
|
KEYS[1] 'repeat' key
|
|
@@ -4107,7 +4107,7 @@ if score then
|
|
|
4107
4107
|
return {rcall("HGETALL", jobSchedulerKey), score} -- get job data
|
|
4108
4108
|
end
|
|
4109
4109
|
return {nil, nil}
|
|
4110
|
-
`;
|
|
4110
|
+
`;Lu.getJobScheduler={name:"getJobScheduler",content:m4,keys:1}});var QR=g(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});Ou.getMetrics=void 0;var C4=`--[[
|
|
4111
4111
|
Get metrics
|
|
4112
4112
|
Input:
|
|
4113
4113
|
KEYS[1] 'metrics' key
|
|
@@ -4122,7 +4122,7 @@ local metrics = rcall("HMGET", metricsKey, "count", "prevTS", "prevCount")
|
|
|
4122
4122
|
local data = rcall("LRANGE", dataKey, tonumber(ARGV[1]), tonumber(ARGV[2]))
|
|
4123
4123
|
local numPoints = rcall("LLEN", dataKey)
|
|
4124
4124
|
return {metrics, data, numPoints}
|
|
4125
|
-
`;
|
|
4125
|
+
`;Ou.getMetrics={name:"getMetrics",content:C4,keys:2}});var BR=g(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});Uu.getRanges=void 0;var b4=`--[[
|
|
4126
4126
|
Get job ids per provided states
|
|
4127
4127
|
Input:
|
|
4128
4128
|
KEYS[1] 'prefix'
|
|
@@ -4185,7 +4185,7 @@ for i = 4, #ARGV do
|
|
|
4185
4185
|
end
|
|
4186
4186
|
end
|
|
4187
4187
|
return results
|
|
4188
|
-
`;
|
|
4188
|
+
`;Uu.getRanges={name:"getRanges",content:b4,keys:1}});var SR=g(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.getRateLimitTtl=void 0;var Q4=`--[[
|
|
4189
4189
|
Get rate limit ttl
|
|
4190
4190
|
Input:
|
|
4191
4191
|
KEYS[1] 'limiter'
|
|
@@ -4219,7 +4219,7 @@ else
|
|
|
4219
4219
|
end
|
|
4220
4220
|
return rcall("PTTL", rateLimiterKey)
|
|
4221
4221
|
end
|
|
4222
|
-
`;
|
|
4222
|
+
`;ju.getRateLimitTtl={name:"getRateLimitTtl",content:Q4,keys:2}});var wR=g(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});Pu.getState=void 0;var B4=`--[[
|
|
4223
4223
|
Get a job state
|
|
4224
4224
|
Input:
|
|
4225
4225
|
KEYS[1] 'completed' key,
|
|
@@ -4282,7 +4282,7 @@ if rcall("ZSCORE", KEYS[7], ARGV[1]) then
|
|
|
4282
4282
|
return "waiting-children"
|
|
4283
4283
|
end
|
|
4284
4284
|
return "unknown"
|
|
4285
|
-
`;
|
|
4285
|
+
`;Pu.getState={name:"getState",content:B4,keys:8}});var DR=g(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});_u.getStateV2=void 0;var S4=`--[[
|
|
4286
4286
|
Get a job state
|
|
4287
4287
|
Input:
|
|
4288
4288
|
KEYS[1] 'completed' key,
|
|
@@ -4329,7 +4329,7 @@ if rcall("ZSCORE", KEYS[7] , ARGV[1]) then
|
|
|
4329
4329
|
return "waiting-children"
|
|
4330
4330
|
end
|
|
4331
4331
|
return "unknown"
|
|
4332
|
-
`;
|
|
4332
|
+
`;_u.getStateV2={name:"getStateV2",content:S4,keys:8}});var kR=g(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});Ju.isFinished=void 0;var w4=`--[[
|
|
4333
4333
|
Checks if a job is finished (.i.e. is in the completed or failed set)
|
|
4334
4334
|
Input:
|
|
4335
4335
|
KEYS[1] completed key
|
|
@@ -4368,7 +4368,7 @@ if ARGV[2] == "1" then
|
|
|
4368
4368
|
return {0}
|
|
4369
4369
|
end
|
|
4370
4370
|
return 0
|
|
4371
|
-
`;
|
|
4371
|
+
`;Ju.isFinished={name:"isFinished",content:w4,keys:3}});var RR=g(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});Yu.isJobInList=void 0;var D4=`--[[
|
|
4372
4372
|
Checks if job is in a given list.
|
|
4373
4373
|
Input:
|
|
4374
4374
|
KEYS[1]
|
|
@@ -4390,7 +4390,7 @@ local function checkItemInList(list, item)
|
|
|
4390
4390
|
end
|
|
4391
4391
|
local items = redis.call("LRANGE", KEYS[1] , 0, -1)
|
|
4392
4392
|
return checkItemInList(items, ARGV[1])
|
|
4393
|
-
`;
|
|
4393
|
+
`;Yu.isJobInList={name:"isJobInList",content:D4,keys:1}});var vR=g(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});qu.isMaxed=void 0;var k4=`--[[
|
|
4394
4394
|
Checks if queue is maxed.
|
|
4395
4395
|
Input:
|
|
4396
4396
|
KEYS[1] meta key
|
|
@@ -4414,7 +4414,7 @@ local function isQueueMaxed(queueMetaKey, activeKey)
|
|
|
4414
4414
|
return false
|
|
4415
4415
|
end
|
|
4416
4416
|
return isQueueMaxed(KEYS[1], KEYS[2])
|
|
4417
|
-
`;
|
|
4417
|
+
`;qu.isMaxed={name:"isMaxed",content:k4,keys:2}});var xR=g(Gu=>{"use strict";Object.defineProperty(Gu,"__esModule",{value:!0});Gu.moveJobFromActiveToWait=void 0;var R4=`--[[
|
|
4418
4418
|
Function to move job from active state to wait.
|
|
4419
4419
|
Input:
|
|
4420
4420
|
KEYS[1] active key
|
|
@@ -4538,7 +4538,7 @@ if pttl > 0 then
|
|
|
4538
4538
|
else
|
|
4539
4539
|
return 0
|
|
4540
4540
|
end
|
|
4541
|
-
`;
|
|
4541
|
+
`;Gu.moveJobFromActiveToWait={name:"moveJobFromActiveToWait",content:R4,keys:9}});var TR=g(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0});Vu.moveJobsToWait=void 0;var v4=`--[[
|
|
4542
4542
|
Move completed, failed or delayed jobs to wait.
|
|
4543
4543
|
Note: Does not support jobs with priorities.
|
|
4544
4544
|
Input:
|
|
@@ -4646,7 +4646,7 @@ end
|
|
|
4646
4646
|
maxCount = maxCount - #jobs
|
|
4647
4647
|
if (maxCount <= 0) then return 1 end
|
|
4648
4648
|
return 0
|
|
4649
|
-
`;
|
|
4649
|
+
`;Vu.moveJobsToWait={name:"moveJobsToWait",content:v4,keys:8}});var NR=g(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});Hu.moveStalledJobsToWait=void 0;var x4=`--[[
|
|
4650
4650
|
Move stalled jobs to wait.
|
|
4651
4651
|
Input:
|
|
4652
4652
|
KEYS[1] 'stalled' (SET)
|
|
@@ -4821,7 +4821,7 @@ if (#active > 0) then
|
|
|
4821
4821
|
end
|
|
4822
4822
|
end
|
|
4823
4823
|
return stalled
|
|
4824
|
-
`;
|
|
4824
|
+
`;Hu.moveStalledJobsToWait={name:"moveStalledJobsToWait",content:x4,keys:8}});var MR=g(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});Wu.moveToActive=void 0;var T4=`--[[
|
|
4825
4825
|
Move next job to be processed to active, lock it and fetch its data. The job
|
|
4826
4826
|
may be delayed, in that case we need to move it to the delayed set instead.
|
|
4827
4827
|
This operation guarantees that the worker owns the job during the lock
|
|
@@ -5055,7 +5055,7 @@ end
|
|
|
5055
5055
|
local nextTimestamp = getNextDelayedTimestamp(delayedKey)
|
|
5056
5056
|
if nextTimestamp ~= nil then return {0, 0, 0, nextTimestamp} end
|
|
5057
5057
|
return {0, 0, 0, 0}
|
|
5058
|
-
`;
|
|
5058
|
+
`;Wu.moveToActive={name:"moveToActive",content:T4,keys:11}});var KR=g(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});zu.moveToDelayed=void 0;var N4=`--[[
|
|
5059
5059
|
Moves job from active to delayed set.
|
|
5060
5060
|
Input:
|
|
5061
5061
|
KEYS[1] marker key
|
|
@@ -5444,7 +5444,7 @@ if rcall("EXISTS", jobKey) == 1 then
|
|
|
5444
5444
|
else
|
|
5445
5445
|
return -1
|
|
5446
5446
|
end
|
|
5447
|
-
`;
|
|
5447
|
+
`;zu.moveToDelayed={name:"moveToDelayed",content:N4,keys:12}});var FR=g(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.moveToFinished=void 0;var M4=`--[[
|
|
5448
5448
|
Move job from active to a finished status (completed o failed)
|
|
5449
5449
|
A job can only be moved to completed if it was active.
|
|
5450
5450
|
The job must be locked before it can be moved to a finished status,
|
|
@@ -6471,7 +6471,7 @@ if rcall("EXISTS", jobIdKey) == 1 then -- Make sure job exists
|
|
|
6471
6471
|
else
|
|
6472
6472
|
return -1
|
|
6473
6473
|
end
|
|
6474
|
-
`;
|
|
6474
|
+
`;Zu.moveToFinished={name:"moveToFinished",content:M4,keys:14}});var LR=g(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.moveToWaitingChildren=void 0;var K4=`--[[
|
|
6475
6475
|
Moves job from active to waiting children set.
|
|
6476
6476
|
Input:
|
|
6477
6477
|
KEYS[1] active key
|
|
@@ -6568,7 +6568,7 @@ if rcall("EXISTS", jobKey) == 1 then
|
|
|
6568
6568
|
end
|
|
6569
6569
|
end
|
|
6570
6570
|
return -1
|
|
6571
|
-
`;
|
|
6571
|
+
`;Xu.moveToWaitingChildren={name:"moveToWaitingChildren",content:K4,keys:7}});var OR=g($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.obliterate=void 0;var F4=`--[[
|
|
6572
6572
|
Completely obliterates a queue and all of its contents
|
|
6573
6573
|
This command completely destroys a queue including all of its jobs, current or past
|
|
6574
6574
|
leaving no trace of its existence. Since this script needs to iterate to find all the job
|
|
@@ -6902,7 +6902,7 @@ if(maxCount > 0) then
|
|
|
6902
6902
|
else
|
|
6903
6903
|
return 1
|
|
6904
6904
|
end
|
|
6905
|
-
|
|
6905
|
+
`;$u.obliterate={name:"obliterate",content:F4,keys:2}});var UR=g(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});ed.paginate=void 0;var L4=`--[[
|
|
6906
6906
|
Paginate a set or hash
|
|
6907
6907
|
Input:
|
|
6908
6908
|
KEYS[1] key pointing to the set or hash to be paginated.
|
|
@@ -7002,7 +7002,7 @@ local cursor, offset, items, jobs = findPage(key, scanCommand, startOffset,
|
|
|
7002
7002
|
pageSize, ARGV[3], tonumber(ARGV[4]),
|
|
7003
7003
|
tonumber(ARGV[5]), ARGV[6])
|
|
7004
7004
|
return {cursor, offset, items, numItems, jobs}
|
|
7005
|
-
`;
|
|
7005
|
+
`;ed.paginate={name:"paginate",content:L4,keys:1}});var jR=g(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});td.pause=void 0;var O4=`--[[
|
|
7006
7006
|
Pauses or resumes a queue globably.
|
|
7007
7007
|
Input:
|
|
7008
7008
|
KEYS[1] 'wait' or 'paused''
|
|
@@ -7059,7 +7059,7 @@ else
|
|
|
7059
7059
|
end
|
|
7060
7060
|
end
|
|
7061
7061
|
rcall("XADD", KEYS[5], "*", "event", ARGV[1]);
|
|
7062
|
-
|
|
7062
|
+
`;td.pause={name:"pause",content:O4,keys:7}});var PR=g(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});rd.promote=void 0;var U4=`--[[
|
|
7063
7063
|
Promotes a job that is currently "delayed" to the "waiting" state
|
|
7064
7064
|
Input:
|
|
7065
7065
|
KEYS[1] 'delayed'
|
|
@@ -7159,7 +7159,7 @@ if rcall("ZREM", KEYS[1], jobId) == 1 then
|
|
|
7159
7159
|
else
|
|
7160
7160
|
return -3
|
|
7161
7161
|
end
|
|
7162
|
-
`;
|
|
7162
|
+
`;rd.promote={name:"promote",content:U4,keys:9}});var _R=g(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.releaseLock=void 0;var j4=`--[[
|
|
7163
7163
|
Release lock
|
|
7164
7164
|
Input:
|
|
7165
7165
|
KEYS[1] 'lock',
|
|
@@ -7174,7 +7174,7 @@ if rcall("GET", KEYS[1]) == ARGV[1] then
|
|
|
7174
7174
|
else
|
|
7175
7175
|
return 0
|
|
7176
7176
|
end
|
|
7177
|
-
`;
|
|
7177
|
+
`;nd.releaseLock={name:"releaseLock",content:j4,keys:1}});var JR=g(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});sd.removeChildDependency=void 0;var P4=`--[[
|
|
7178
7178
|
Break parent-child dependency by removing
|
|
7179
7179
|
child reference from parent
|
|
7180
7180
|
Input:
|
|
@@ -7329,7 +7329,7 @@ if removeParentDependencyKey(jobKey, false, parentKey, KEYS[1], nil) then
|
|
|
7329
7329
|
return 0
|
|
7330
7330
|
else
|
|
7331
7331
|
return 1
|
|
7332
|
-
end`;
|
|
7332
|
+
end`;sd.removeChildDependency={name:"removeChildDependency",content:P4,keys:1}});var YR=g(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});id.removeDeduplicationKey=void 0;var _4=`--[[
|
|
7333
7333
|
Remove deduplication key if it matches the job id.
|
|
7334
7334
|
Input:
|
|
7335
7335
|
KEYS[1] deduplication key
|
|
@@ -7346,7 +7346,7 @@ if currentJobId and currentJobId == jobId then
|
|
|
7346
7346
|
return rcall("DEL", deduplicationKey)
|
|
7347
7347
|
end
|
|
7348
7348
|
return 0
|
|
7349
|
-
`;
|
|
7349
|
+
`;id.removeDeduplicationKey={name:"removeDeduplicationKey",content:_4,keys:1}});var qR=g(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});od.removeJob=void 0;var J4=`--[[
|
|
7350
7350
|
Remove a job from all the statuses it may be in as well as all its data.
|
|
7351
7351
|
In order to be able to remove a job, it cannot be active.
|
|
7352
7352
|
Input:
|
|
@@ -7688,7 +7688,7 @@ if not isLocked(prefix, jobId, shouldRemoveChildren) then
|
|
|
7688
7688
|
return 1
|
|
7689
7689
|
end
|
|
7690
7690
|
return 0
|
|
7691
|
-
`;
|
|
7691
|
+
`;od.removeJob={name:"removeJob",content:J4,keys:2}});var GR=g(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.removeJobScheduler=void 0;var Y4=`--[[
|
|
7692
7692
|
Removes a job scheduler and its next scheduled job.
|
|
7693
7693
|
Input:
|
|
7694
7694
|
KEYS[1] job schedulers key
|
|
@@ -7727,7 +7727,7 @@ if(rcall("ZREM", KEYS[1], jobSchedulerId) == 1) then
|
|
|
7727
7727
|
return 0
|
|
7728
7728
|
end
|
|
7729
7729
|
return 1
|
|
7730
|
-
`;
|
|
7730
|
+
`;ad.removeJobScheduler={name:"removeJobScheduler",content:Y4,keys:3}});var VR=g(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});Ad.removeOrphanedJobs=void 0;var q4=`--[[
|
|
7731
7731
|
Removes orphaned job keys that exist in Redis but are not referenced
|
|
7732
7732
|
in any queue state set. Checks each candidate atomically.
|
|
7733
7733
|
Input:
|
|
@@ -7794,7 +7794,7 @@ for c = candidateStart, #ARGV do
|
|
|
7794
7794
|
end
|
|
7795
7795
|
end
|
|
7796
7796
|
return removedCount
|
|
7797
|
-
`;
|
|
7797
|
+
`;Ad.removeOrphanedJobs={name:"removeOrphanedJobs",content:q4,keys:1}});var HR=g(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.removeRepeatable=void 0;var G4=`--[[
|
|
7798
7798
|
Removes a repeatable job
|
|
7799
7799
|
Input:
|
|
7800
7800
|
KEYS[1] repeat jobs key
|
|
@@ -7847,7 +7847,7 @@ if(rcall("ZREM", KEYS[1], ARGV[3]) == 1) then
|
|
|
7847
7847
|
return 0
|
|
7848
7848
|
end
|
|
7849
7849
|
return 1
|
|
7850
|
-
`;
|
|
7850
|
+
`;ld.removeRepeatable={name:"removeRepeatable",content:G4,keys:3}});var WR=g(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.removeUnprocessedChildren=void 0;var V4=`--[[
|
|
7851
7851
|
Remove a job from all the statuses it may be in as well as all its data.
|
|
7852
7852
|
In order to be able to remove a job, it cannot be active.
|
|
7853
7853
|
Input:
|
|
@@ -8179,7 +8179,7 @@ local options = {
|
|
|
8179
8179
|
ignoreLocked = true
|
|
8180
8180
|
}
|
|
8181
8181
|
removeJobChildren(prefix, jobKey, options)
|
|
8182
|
-
`;
|
|
8182
|
+
`;cd.removeUnprocessedChildren={name:"removeUnprocessedChildren",content:V4,keys:2}});var zR=g(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});ud.reprocessJob=void 0;var H4=`--[[
|
|
8183
8183
|
Attempts to reprocess a job
|
|
8184
8184
|
Input:
|
|
8185
8185
|
KEYS[1] job key
|
|
@@ -8288,7 +8288,7 @@ if rcall("EXISTS", jobKey) == 1 then
|
|
|
8288
8288
|
else
|
|
8289
8289
|
return -1
|
|
8290
8290
|
end
|
|
8291
|
-
`;
|
|
8291
|
+
`;ud.reprocessJob={name:"reprocessJob",content:H4,keys:8}});var ZR=g(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.retryJob=void 0;var W4=`--[[
|
|
8292
8292
|
Retries a failed job by moving it back to the wait queue.
|
|
8293
8293
|
Input:
|
|
8294
8294
|
KEYS[1] 'active',
|
|
@@ -8492,7 +8492,7 @@ if rcall("EXISTS", jobKey) == 1 then
|
|
|
8492
8492
|
else
|
|
8493
8493
|
return -1
|
|
8494
8494
|
end
|
|
8495
|
-
`;
|
|
8495
|
+
`;dd.retryJob={name:"retryJob",content:W4,keys:11}});var XR=g(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.saveStacktrace=void 0;var z4=`--[[
|
|
8496
8496
|
Save stacktrace and failedReason.
|
|
8497
8497
|
Input:
|
|
8498
8498
|
KEYS[1] job key
|
|
@@ -8509,7 +8509,7 @@ if rcall("EXISTS", KEYS[1]) == 1 then
|
|
|
8509
8509
|
else
|
|
8510
8510
|
return -1
|
|
8511
8511
|
end
|
|
8512
|
-
`;
|
|
8512
|
+
`;hd.saveStacktrace={name:"saveStacktrace",content:z4,keys:1}});var $R=g(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.updateData=void 0;var Z4=`--[[
|
|
8513
8513
|
Update job data
|
|
8514
8514
|
Input:
|
|
8515
8515
|
KEYS[1] Job id key
|
|
@@ -8525,7 +8525,7 @@ if rcall("EXISTS",KEYS[1]) == 1 then -- // Make sure job exists
|
|
|
8525
8525
|
else
|
|
8526
8526
|
return -1
|
|
8527
8527
|
end
|
|
8528
|
-
`;
|
|
8528
|
+
`;fd.updateData={name:"updateData",content:Z4,keys:1}});var ev=g(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});gd.updateJobScheduler=void 0;var X4=`--[[
|
|
8529
8529
|
Updates a job scheduler and adds next delayed job
|
|
8530
8530
|
Input:
|
|
8531
8531
|
KEYS[1] 'repeat' key
|
|
@@ -8847,7 +8847,7 @@ if prevMillis then
|
|
|
8847
8847
|
end
|
|
8848
8848
|
end
|
|
8849
8849
|
end
|
|
8850
|
-
`;
|
|
8850
|
+
`;gd.updateJobScheduler={name:"updateJobScheduler",content:X4,keys:12}});var tv=g(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});pd.updateProgress=void 0;var $4=`--[[
|
|
8851
8851
|
Update job progress
|
|
8852
8852
|
Input:
|
|
8853
8853
|
KEYS[1] Job id key
|
|
@@ -8883,7 +8883,7 @@ if rcall("EXISTS", KEYS[1]) == 1 then -- // Make sure job exists
|
|
|
8883
8883
|
else
|
|
8884
8884
|
return -1
|
|
8885
8885
|
end
|
|
8886
|
-
`;
|
|
8886
|
+
`;pd.updateProgress={name:"updateProgress",content:$4,keys:3}});var rv=g(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});yd.updateRepeatableJobMillis=void 0;var ez=`--[[
|
|
8887
8887
|
Adds a repeatable job
|
|
8888
8888
|
Input:
|
|
8889
8889
|
KEYS[1] 'repeat' key
|
|
@@ -8906,16 +8906,146 @@ elseif rcall("ZSCORE", repeatKey, legacyCustomKey) ~= false then
|
|
|
8906
8906
|
return legacyCustomKey
|
|
8907
8907
|
end
|
|
8908
8908
|
return ''
|
|
8909
|
-
`;
|
|
8910
|
-
Current: ${this.version}`)}this.capabilities={canDoubleTimeout:!(0,rt.isRedisVersionLowerThan)(this.version,"6.0.0",this.dbType),canBlockFor1Ms:!(0,rt.isRedisVersionLowerThan)(this.version,"7.0.8",this.dbType)},this.status="ready"}return this._client}patchBlockingClusterClient(){let e=this._client,t=e;if(!this.extraOptions.blocking||!(0,rt.isRedisCluster)(e)||typeof t.bzpopmin!="function"||(t[Ln]=(t[Ln]||0)+1,this.patchedBlockingClusterClient=t,t[Gu]))return;let n=t.bzpopmin,i=async(...s)=>{await r.reconnectClusterIfNeeded(t);try{return await n.apply(t,s)}catch(a){let o=a;if(r.shouldReconnectClusterAfterError(t,o))try{await r.reconnectCluster(t)}catch{}throw o}};t[yo]=n,t[Yu]=i,t[Gu]=!0,t.bzpopmin=i}disableBlockingClusterReconnect(){let e=this.patchedBlockingClusterClient;!e||this.disabledBlockingClusterReconnect||(e[en]=(e[en]||0)+1,this.disabledBlockingClusterReconnect=!0)}releaseBlockingClusterClientPatch(){let e=this.patchedBlockingClusterClient;if(!e)return;if(this.disabledBlockingClusterReconnect){let n=(e[en]||1)-1;n>0?e[en]=n:delete e[en],this.disabledBlockingClusterReconnect=!1}let t=(e[Ln]||1)-1;if(t>0){e[Ln]=t,this.patchedBlockingClusterClient=void 0;return}e[yo]&&e.bzpopmin===e[Yu]&&(e.bzpopmin=e[yo]),delete e[Ln],delete e[en],delete e[yo],delete e[Yu],delete e[Gu],this.patchedBlockingClusterClient=void 0}static isClusterWithEmptyNodes(e){return typeof e.nodes=="function"&&e.nodes().length===0}static isReconnectingDisabled(e){let t=e[Ln]||0,n=e[en]||0;return t===0||n>=t||e.status==="end"||e.status==="closing"}static async reconnectClusterIfNeeded(e){!r.isReconnectingDisabled(e)&&r.isClusterWithEmptyNodes(e)&&await r.reconnectCluster(e)}static shouldReconnectClusterAfterError(e,t){var n,i;if(r.isReconnectingDisabled(e))return!1;let s=[t.message,(n=t.cause)===null||n===void 0?void 0:n.message,(i=t.lastNodeError)===null||i===void 0?void 0:i.message].join(" ");return r.isClusterWithEmptyNodes(e)||/Command timed out|Failed to refresh slots cache/i.test(s)}static async reconnectCluster(e){r.isReconnectingDisabled(e)||(e[po]||(e[po]=(async()=>{e.disconnect(!1),await e.connect()})().finally(()=>{e[po]=null})),await e[po])}async disconnect(e=!0){let t=await this.client;if(t.status!=="end"){let n,i;if(!e)return t.disconnect();let s=new Promise((a,o)=>{(0,rt.increaseMaxListeners)(t,2),t.once("end",a),t.once("error",o),n=a,i=o});t.disconnect();try{await s}finally{(0,rt.decreaseMaxListeners)(t,2),t.removeListener("end",n),t.removeListener("error",i)}}}async reconnect(){return(await this.client).connect()}async close(e=!1){if(!this.closing){let t=this.status;this.status="closing",this.closing=!0,this.disableBlockingClusterReconnect();try{t==="ready"&&await this.initializing,this.extraOptions.shared||(t=="initializing"||e?this._client.disconnect():await this._client.quit(),this._client.status="end")}catch(n){if((0,rt.isNotConnectionError)(n))throw n}finally{this.releaseBlockingClusterClientPatch(),this._client.off("error",this.handleClientError),this._client.off("close",this.handleClientClose),this._client.off("ready",this.handleClientReady),(0,rt.decreaseMaxListeners)(this._client,3),this.removeAllListeners(),this.status="closed"}}}async getRedisVersionAndType(){if(this.skipVersionCheck)return{version:r.minimumVersion,databaseType:"redis"};let e=await this._client.info(),t="redis_version:",n="maxmemory_policy:",i=e.split(/\r?\n/),s,a="redis";for(let o=0;o<i.length;o++){let l=i[o];if(l.includes("dragonfly_version:")||l.includes("server:Dragonfly")?(a="dragonfly",l.indexOf("dragonfly_version:")===0&&(s=l.substr(18))):l.includes("valkey_version:")||l.includes("server:Valkey")?(a="valkey",l.indexOf("valkey_version:")===0&&(s=l.substr(15))):l.indexOf(t)===0&&(s=l.substr(t.length),a==="redis"&&(a="redis")),l.indexOf(n)===0){let c=l.substr(n.length);c!=="noeviction"&&console.warn(`IMPORTANT! Eviction policy is ${c}. It should be "noeviction"`)}}if(!s){for(let o of i)if(o.includes("version:")){let l=o.split(":");if(l.length>=2){s=l[1];break}}}return{version:s||r.minimumVersion,databaseType:a}}get redisVersion(){return this.version}get databaseType(){return this.dbType}};ho.RedisConnection=ki;ki.minimumVersion="5.0.0";ki.recommendedMinimumVersion="6.2.0"});var v0=y(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.FlowProducer=void 0;var OR=Y("events"),Tr=ct(),CR=Nn(),mo=ya(),_R=Ii(),Bt=st(),Bu=class extends OR.EventEmitter{constructor(e={connection:{}},t=_R.RedisConnection){super(),this.opts=e,this.opts=Object.assign({prefix:"bull"},e),this.connection=new t(e.connection,{shared:(0,Tr.isRedisInstance)(e.connection),blocking:!1,skipVersionCheck:e.skipVersionCheck,skipWaitingForReady:e.skipWaitingForReady}),this.connection.on("error",n=>this.emit("error",n)),this.connection.on("close",()=>{this.closing||this.emit("ioredis:close")}),this.queueKeys=new mo.QueueKeys(e.prefix),e?.telemetry&&(this.telemetry=e.telemetry)}emit(e,...t){return super.emit(e,...t)}off(e,t){return super.off(e,t),this}on(e,t){return super.on(e,t),this}once(e,t){return super.once(e,t),this}get client(){return this.connection.client}get Job(){return CR.Job}waitUntilReady(){return this.client}async add(e,t){var n;if(this.closing)return;let s=(await this.connection.client).multi(),a=(n=e?.opts)===null||n===void 0?void 0:n.parent,o=(0,Tr.getParentKey)(a),l=o?`${o}:dependencies`:void 0;return(0,Tr.trace)(this.telemetry,Bt.SpanKind.PRODUCER,e.queueName,"addFlow",e.queueName,async c=>{c?.setAttributes({[Bt.TelemetryAttributes.FlowName]:e.name});let u=await this.addNode({multi:s,node:e,queuesOpts:t?.queuesOptions,parent:{parentOpts:a,parentDependenciesKey:l}}),d=await s.exec(),[p]=d||[];if(p){let[f,h]=p;if(f)throw f;if(typeof h=="number"&&h<0)throw this.toFlowError(h,o);typeof h=="string"&&(u.job.id=h)}return u})}async getFlow(e){if(this.closing)return;let t=await this.connection.client,n=Object.assign({depth:10,maxChildren:20,prefix:this.opts.prefix},e);return this.getNode(t,n)}async addBulk(e){if(this.closing)return;let n=(await this.connection.client).multi();return(0,Tr.trace)(this.telemetry,Bt.SpanKind.PRODUCER,"","addBulkFlows","",async i=>{i?.setAttributes({[Bt.TelemetryAttributes.BulkCount]:e.length,[Bt.TelemetryAttributes.BulkNames]:e.map(o=>o.name).join(",")});let s=await this.addNodes(n,e),a=await n.exec();for(let o=0;o<s.length;++o){let l=a?.[o];if(!l)continue;let[c,u]=l;!c&&typeof u=="string"&&(s[o].job.id=u)}return s})}async addNode({multi:e,node:t,parent:n,queuesOpts:i}){var s,a;let o=t.prefix||this.opts.prefix,l=this.queueFromNode(t,new mo.QueueKeys(o),o),c=i&&i[t.queueName],u=(s=c?.defaultJobOptions)!==null&&s!==void 0?s:{},d=((a=t.opts)===null||a===void 0?void 0:a.jobId)||(0,Tr.randomUUID)();return(0,Tr.trace)(this.telemetry,Bt.SpanKind.PRODUCER,t.queueName,"addNode",t.queueName,async(p,f)=>{var h,g;p?.setAttributes({[Bt.TelemetryAttributes.JobName]:t.name,[Bt.TelemetryAttributes.JobId]:d});let k=t.opts,E=k?.telemetry;if(f&&k){let D=(h=k.telemetry)===null||h===void 0?void 0:h.omitContext,B=((g=k.telemetry)===null||g===void 0?void 0:g.metadata)||!D&&f;(B||D)&&(E={metadata:B,omitContext:D})}let I=new this.Job(l,t.name,t.data,Object.assign(Object.assign(Object.assign({},u),k),{parent:n?.parentOpts,telemetry:E}),d),O=(0,Tr.getParentKey)(n?.parentOpts);if(t.children&&t.children.length>0){let D=d,B=new mo.QueueKeys(t.prefix||this.opts.prefix);await I.addJob(e,{parentDependenciesKey:n?.parentDependenciesKey,addToWaitingChildren:!0,parentKey:O});let ae=`${B.toKey(t.queueName,D)}:dependencies`,w=await this.addChildren({multi:e,nodes:t.children,parent:{parentOpts:{id:D,queue:B.getQueueQualifiedName(t.queueName)},parentDependenciesKey:ae},queuesOpts:i});return{job:I,children:w}}else return await I.addJob(e,{parentDependenciesKey:n?.parentDependenciesKey,parentKey:O}),{job:I}})}addNodes(e,t){return Promise.all(t.map(n=>{var i;let s=(i=n?.opts)===null||i===void 0?void 0:i.parent,a=(0,Tr.getParentKey)(s),o=a?`${a}:dependencies`:void 0;return this.addNode({multi:e,node:n,parent:{parentOpts:s,parentDependenciesKey:o}})}))}async getNode(e,t){let n=this.queueFromNode(t,new mo.QueueKeys(t.prefix),t.prefix),i=await this.Job.fromId(n,t.id);if(i){let{processed:s={},unprocessed:a=[],failed:o=[],ignored:l={}}=await i.getDependencies({failed:{count:t.maxChildren},processed:{count:t.maxChildren},unprocessed:{count:t.maxChildren},ignored:{count:t.maxChildren}}),c=Object.keys(s),u=Object.keys(l),d=c.length+a.length+u.length+o.length,p=t.depth-1;if(d>0&&p){let f=await this.getChildren(e,[...c,...a,...o,...u],p,t.maxChildren);return{job:i,children:f}}else return{job:i}}}addChildren({multi:e,nodes:t,parent:n,queuesOpts:i}){return Promise.all(t.map(s=>this.addNode({multi:e,node:s,parent:n,queuesOpts:i})))}getChildren(e,t,n,i){let s=a=>{let[o,l,c]=a.split(":");return this.getNode(e,{id:c,queueName:l,prefix:o,depth:n,maxChildren:i})};return Promise.all([...t.map(s)])}queueFromNode(e,t,n){return{client:this.connection.client,name:e.queueName,keys:t.getKeys(e.queueName),toKey:i=>t.toKey(e.queueName,i),opts:{prefix:n,connection:{}},qualifiedName:t.getQueueQualifiedName(e.queueName),closing:this.closing,waitUntilReady:async()=>this.connection.client,removeListener:this.removeListener.bind(this),emit:this.emit.bind(this),on:this.on.bind(this),redisVersion:this.connection.redisVersion,databaseType:this.connection.databaseType,trace:async()=>{}}}toFlowError(e,t){let n;switch(e){case Bt.ErrorCode.ParentJobNotExist:n=new Error(`Missing key for parent job ${t}. addJob`);break;case Bt.ErrorCode.ParentJobCannotBeReplaced:n=new Error(`The parent job ${t} cannot be replaced. addJob`);break;default:n=new Error(`Unknown code ${e} error for addJob`)}return n.code=e,n}async close(){this.closing||(this.closing=this.connection.close()),await this.closing}disconnect(){return this.connection.disconnect()}};bo.FlowProducer=Bu});var $v=y(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});var sr=class extends Error{},td=class extends sr{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}},rd=class extends sr{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}},nd=class extends sr{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}},Dr=class extends sr{},xo=class extends sr{constructor(e){super(`Invalid unit ${e}`)}},Fe=class extends sr{},Wt=class extends sr{constructor(){super("Zone is an abstract class")}},N="numeric",_t="short",yt="long",wo={year:N,month:N,day:N},H0={year:N,month:_t,day:N},MR={year:N,month:_t,day:N,weekday:_t},Q0={year:N,month:yt,day:N},Z0={year:N,month:yt,day:N,weekday:yt},X0={hour:N,minute:N},ev={hour:N,minute:N,second:N},tv={hour:N,minute:N,second:N,timeZoneName:_t},rv={hour:N,minute:N,second:N,timeZoneName:yt},nv={hour:N,minute:N,hourCycle:"h23"},iv={hour:N,minute:N,second:N,hourCycle:"h23"},sv={hour:N,minute:N,second:N,hourCycle:"h23",timeZoneName:_t},av={hour:N,minute:N,second:N,hourCycle:"h23",timeZoneName:yt},ov={year:N,month:N,day:N,hour:N,minute:N},lv={year:N,month:N,day:N,hour:N,minute:N,second:N},cv={year:N,month:_t,day:N,hour:N,minute:N},uv={year:N,month:_t,day:N,hour:N,minute:N,second:N},PR={year:N,month:_t,day:N,weekday:_t,hour:N,minute:N},dv={year:N,month:yt,day:N,hour:N,minute:N,timeZoneName:_t},fv={year:N,month:yt,day:N,hour:N,minute:N,second:N,timeZoneName:_t},pv={year:N,month:yt,day:N,weekday:yt,hour:N,minute:N,timeZoneName:yt},yv={year:N,month:yt,day:N,weekday:yt,hour:N,minute:N,second:N,timeZoneName:yt},Or=class{get type(){throw new Wt}get name(){throw new Wt}get ianaName(){return this.name}get isUniversal(){throw new Wt}offsetName(e,t){throw new Wt}formatOffset(e,t){throw new Wt}offset(e){throw new Wt}equals(e){throw new Wt}get isValid(){throw new Wt}},Wu=null,Di=class r extends Or{static get instance(){return Wu===null&&(Wu=new r),Wu}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:n}){return xv(e,t,n)}formatOffset(e,t){return Ai(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}},id=new Map;function NR(r){let e=id.get(r);return e===void 0&&(e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:r,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),id.set(r,e)),e}var LR={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function qR(r,e){let t=r.format(e).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(t),[,i,s,a,o,l,c,u]=n;return[a,i,s,o,l,c,u]}function JR(r,e){let t=r.formatToParts(e),n=[];for(let i=0;i<t.length;i++){let{type:s,value:a}=t[i],o=LR[s];s==="era"?n[o]=a:Z(o)||(n[o]=parseInt(a,10))}return n}var Uu=new Map,ar=class r extends Or{static create(e){let t=Uu.get(e);return t===void 0&&Uu.set(e,t=new r(e)),t}static resetCache(){Uu.clear(),id.clear()}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch{return!1}}constructor(e){super(),this.zoneName=e,this.valid=r.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:t,locale:n}){return xv(e,t,n,this.name)}formatOffset(e,t){return Ai(this.offset(e),t)}offset(e){if(!this.valid)return NaN;let t=new Date(e);if(isNaN(t))return NaN;let n=NR(this.name),[i,s,a,o,l,c,u]=n.formatToParts?JR(n,t):qR(n,t);o==="BC"&&(i=-Math.abs(i)+1);let p=Co({year:i,month:s,day:a,hour:l===24?0:l,minute:c,second:u,millisecond:0}),f=+t,h=f%1e3;return f-=h>=0?h:1e3+h,(p-f)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}},K0={};function FR(r,e={}){let t=JSON.stringify([r,e]),n=K0[t];return n||(n=new Intl.ListFormat(r,e),K0[t]=n),n}var sd=new Map;function ad(r,e={}){let t=JSON.stringify([r,e]),n=sd.get(t);return n===void 0&&(n=new Intl.DateTimeFormat(r,e),sd.set(t,n)),n}var od=new Map;function VR(r,e={}){let t=JSON.stringify([r,e]),n=od.get(t);return n===void 0&&(n=new Intl.NumberFormat(r,e),od.set(t,n)),n}var ld=new Map;function GR(r,e={}){let{base:t,...n}=e,i=JSON.stringify([r,n]),s=ld.get(i);return s===void 0&&(s=new Intl.RelativeTimeFormat(r,e),ld.set(i,s)),s}var wi=null;function YR(){return wi||(wi=new Intl.DateTimeFormat().resolvedOptions().locale,wi)}var cd=new Map;function hv(r){let e=cd.get(r);return e===void 0&&(e=new Intl.DateTimeFormat(r).resolvedOptions(),cd.set(r,e)),e}var ud=new Map;function BR(r){let e=ud.get(r);if(!e){let t=new Intl.Locale(r);e="getWeekInfo"in t?t.getWeekInfo():t.weekInfo,"minimalDays"in e||(e={...mv,...e}),ud.set(r,e)}return e}function WR(r){let e=r.indexOf("-x-");e!==-1&&(r=r.substring(0,e));let t=r.indexOf("-u-");if(t===-1)return[r];{let n,i;try{n=ad(r).resolvedOptions(),i=r}catch{let l=r.substring(0,t);n=ad(l).resolvedOptions(),i=l}let{numberingSystem:s,calendar:a}=n;return[i,s,a]}}function UR(r,e,t){return(t||e)&&(r.includes("-u-")||(r+="-u"),t&&(r+=`-ca-${t}`),e&&(r+=`-nu-${e}`)),r}function zR(r){let e=[];for(let t=1;t<=12;t++){let n=xe.utc(2009,t,1);e.push(r(n))}return e}function $R(r){let e=[];for(let t=1;t<=7;t++){let n=xe.utc(2016,11,13+t);e.push(r(n))}return e}function go(r,e,t,n){let i=r.listingMode();return i==="error"?null:i==="en"?t(e):n(e)}function HR(r){return r.numberingSystem&&r.numberingSystem!=="latn"?!1:r.numberingSystem==="latn"||!r.locale||r.locale.startsWith("en")||hv(r.locale).numberingSystem==="latn"}var dd=class{constructor(e,t,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;let{padTo:i,floor:s,...a}=n;if(!t||Object.keys(a).length>0){let o={useGrouping:!1,...n};n.padTo>0&&(o.minimumIntegerDigits=n.padTo),this.inf=VR(e,o)}}format(e){if(this.inf){let t=this.floor?Math.floor(e):e;return this.inf.format(t)}else{let t=this.floor?Math.floor(e):Ed(e,3);return Ce(t,this.padTo)}}},fd=class{constructor(e,t,n){this.opts=n,this.originalZone=void 0;let i;if(this.opts.timeZone)this.dt=e;else if(e.zone.type==="fixed"){let a=-1*(e.offset/60),o=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;e.offset!==0&&ar.create(o).valid?(i=o,this.dt=e):(i="UTC",this.dt=e.offset===0?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else e.zone.type==="system"?this.dt=e:e.zone.type==="iana"?(this.dt=e,i=e.zone.name):(i="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);let s={...this.opts};s.timeZone=s.timeZone||i,this.dtf=ad(t,s)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(t=>{if(t.type==="timeZoneName"){let n=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...t,value:n}}else return t}):e}resolvedOptions(){return this.dtf.resolvedOptions()}},pd=class{constructor(e,t,n){this.opts={style:"long",...n},!t&&kv()&&(this.rtf=GR(e,n))}format(e,t){return this.rtf?this.rtf.format(e,t):bO(t,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}},mv={firstDay:1,minimalDays:4,weekend:[6,7]},ve=class r{static fromOpts(e){return r.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,t,n,i,s=!1){let a=e||Ie.defaultLocale,o=a||(s?"en-US":YR()),l=t||Ie.defaultNumberingSystem,c=n||Ie.defaultOutputCalendar,u=hd(i)||Ie.defaultWeekSettings;return new r(o,l,c,u,a)}static resetCache(){wi=null,sd.clear(),od.clear(),ld.clear(),cd.clear(),ud.clear()}static fromObject({locale:e,numberingSystem:t,outputCalendar:n,weekSettings:i}={}){return r.create(e,t,n,i)}constructor(e,t,n,i,s){let[a,o,l]=WR(e);this.locale=a,this.numberingSystem=t||o||null,this.outputCalendar=n||l||null,this.weekSettings=i,this.intl=UR(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=s,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=HR(this)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),t=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&t?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:r.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,hd(e.weekSettings)||this.weekSettings,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1){return go(this,e,jv,()=>{let n=this.intl==="ja"||this.intl.startsWith("ja-");t&=!n;let i=t?{month:e,day:"numeric"}:{month:e},s=t?"format":"standalone";if(!this.monthsCache[s][e]){let a=n?o=>this.dtFormatter(o,i).format():o=>this.extract(o,i,"month");this.monthsCache[s][e]=zR(a)}return this.monthsCache[s][e]})}weekdays(e,t=!1){return go(this,e,Rv,()=>{let n=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=t?"format":"standalone";return this.weekdaysCache[i][e]||(this.weekdaysCache[i][e]=$R(s=>this.extract(s,n,"weekday"))),this.weekdaysCache[i][e]})}meridiems(){return go(this,void 0,()=>Ov,()=>{if(!this.meridiemCache){let e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[xe.utc(2016,11,13,9),xe.utc(2016,11,13,19)].map(t=>this.extract(t,e,"dayperiod"))}return this.meridiemCache})}eras(e){return go(this,e,Cv,()=>{let t={era:e};return this.eraCache[e]||(this.eraCache[e]=[xe.utc(-40,1,1),xe.utc(2017,1,1)].map(n=>this.extract(n,t,"era"))),this.eraCache[e]})}extract(e,t,n){let i=this.dtFormatter(e,t),s=i.formatToParts(),a=s.find(o=>o.type.toLowerCase()===n);return a?a.value:null}numberFormatter(e={}){return new dd(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new fd(e,this.intl,t)}relFormatter(e={}){return new pd(this.intl,this.isEnglish(),e)}listFormatter(e={}){return FR(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||hv(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:Iv()?BR(this.locale):mv}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}},zu=null,ht=class r extends Or{static get utcInstance(){return zu===null&&(zu=new r(0)),zu}static instance(e){return e===0?r.utcInstance:new r(e)}static parseSpecifier(e){if(e){let t=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(t)return new r(_o(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Ai(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${Ai(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return Ai(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}},To=class extends Or{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function Ar(r,e){if(Z(r)||r===null)return e;if(r instanceof Or)return r;if(rO(r)){let t=r.toLowerCase();return t==="default"?e:t==="local"||t==="system"?Di.instance:t==="utc"||t==="gmt"?ht.utcInstance:ht.parseSpecifier(t)||ar.create(r)}else return Rr(r)?ht.instance(r):typeof r=="object"&&"offset"in r&&typeof r.offset=="function"?r:new To(r)}var gd={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},S0={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},QR=gd.hanidec.replace(/[\[|\]]/g,"").split("");function ZR(r){let e=parseInt(r,10);if(isNaN(e)){e="";for(let t=0;t<r.length;t++){let n=r.charCodeAt(t);if(r[t].search(gd.hanidec)!==-1)e+=QR.indexOf(r[t]);else for(let i in S0){let[s,a]=S0[i];n>=s&&n<=a&&(e+=n-s)}}return parseInt(e,10)}else return e}var yd=new Map;function XR(){yd.clear()}function Ot({numberingSystem:r},e=""){let t=r||"latn",n=yd.get(t);n===void 0&&(n=new Map,yd.set(t,n));let i=n.get(e);return i===void 0&&(i=new RegExp(`${gd[t]}${e}`),n.set(e,i)),i}var E0=()=>Date.now(),k0="system",I0=null,x0=null,w0=null,T0=60,j0,A0=null,Ie=class{static get now(){return E0}static set now(e){E0=e}static set defaultZone(e){k0=e}static get defaultZone(){return Ar(k0,Di.instance)}static get defaultLocale(){return I0}static set defaultLocale(e){I0=e}static get defaultNumberingSystem(){return x0}static set defaultNumberingSystem(e){x0=e}static get defaultOutputCalendar(){return w0}static set defaultOutputCalendar(e){w0=e}static get defaultWeekSettings(){return A0}static set defaultWeekSettings(e){A0=hd(e)}static get twoDigitCutoffYear(){return T0}static set twoDigitCutoffYear(e){T0=e%100}static get throwOnInvalid(){return j0}static set throwOnInvalid(e){j0=e}static resetCaches(){ve.resetCache(),ar.resetCache(),xe.resetCache(),XR()}},pt=class{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},bv=[0,31,59,90,120,151,181,212,243,273,304,334],gv=[0,31,60,91,121,152,182,213,244,274,305,335];function xt(r,e){return new pt("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${r}, which is invalid`)}function vd(r,e,t){let n=new Date(Date.UTC(r,e-1,t));r<100&&r>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);let i=n.getUTCDay();return i===0?7:i}function vv(r,e,t){return t+(Oi(r)?gv:bv)[e-1]}function Kv(r,e){let t=Oi(r)?gv:bv,n=t.findIndex(s=>s<e),i=e-t[n];return{month:n+1,day:i}}function Kd(r,e){return(r-e+7)%7+1}function jo(r,e=4,t=1){let{year:n,month:i,day:s}=r,a=vv(n,i,s),o=Kd(vd(n,i,s),t),l=Math.floor((a-o+14-e)/7),c;return l<1?(c=n-1,l=Ri(c,e,t)):l>Ri(n,e,t)?(c=n+1,l=1):c=n,{weekYear:c,weekNumber:l,weekday:o,...Mo(r)}}function D0(r,e=4,t=1){let{weekYear:n,weekNumber:i,weekday:s}=r,a=Kd(vd(n,1,e),t),o=Vn(n),l=i*7+s-a-7+e,c;l<1?(c=n-1,l+=Vn(c)):l>o?(c=n+1,l-=Vn(n)):c=n;let{month:u,day:d}=Kv(c,l);return{year:c,month:u,day:d,...Mo(r)}}function $u(r){let{year:e,month:t,day:n}=r,i=vv(e,t,n);return{year:e,ordinal:i,...Mo(r)}}function R0(r){let{year:e,ordinal:t}=r,{month:n,day:i}=Kv(e,t);return{year:e,month:n,day:i,...Mo(r)}}function O0(r,e){if(!Z(r.localWeekday)||!Z(r.localWeekNumber)||!Z(r.localWeekYear)){if(!Z(r.weekday)||!Z(r.weekNumber)||!Z(r.weekYear))throw new Dr("Cannot mix locale-based week fields with ISO-based week fields");return Z(r.localWeekday)||(r.weekday=r.localWeekday),Z(r.localWeekNumber)||(r.weekNumber=r.localWeekNumber),Z(r.localWeekYear)||(r.weekYear=r.localWeekYear),delete r.localWeekday,delete r.localWeekNumber,delete r.localWeekYear,{minDaysInFirstWeek:e.getMinDaysInFirstWeek(),startOfWeek:e.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function eO(r,e=4,t=1){let n=Oo(r.weekYear),i=wt(r.weekNumber,1,Ri(r.weekYear,e,t)),s=wt(r.weekday,1,7);return n?i?s?!1:xt("weekday",r.weekday):xt("week",r.weekNumber):xt("weekYear",r.weekYear)}function tO(r){let e=Oo(r.year),t=wt(r.ordinal,1,Vn(r.year));return e?t?!1:xt("ordinal",r.ordinal):xt("year",r.year)}function Sv(r){let e=Oo(r.year),t=wt(r.month,1,12),n=wt(r.day,1,Ao(r.year,r.month));return e?t?n?!1:xt("day",r.day):xt("month",r.month):xt("year",r.year)}function Ev(r){let{hour:e,minute:t,second:n,millisecond:i}=r,s=wt(e,0,23)||e===24&&t===0&&n===0&&i===0,a=wt(t,0,59),o=wt(n,0,59),l=wt(i,0,999);return s?a?o?l?!1:xt("millisecond",i):xt("second",n):xt("minute",t):xt("hour",e)}function Z(r){return typeof r>"u"}function Rr(r){return typeof r=="number"}function Oo(r){return typeof r=="number"&&r%1===0}function rO(r){return typeof r=="string"}function nO(r){return Object.prototype.toString.call(r)==="[object Date]"}function kv(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function Iv(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function iO(r){return Array.isArray(r)?r:[r]}function C0(r,e,t){if(r.length!==0)return r.reduce((n,i)=>{let s=[e(i),i];return n&&t(n[0],s[0])===n[0]?n:s},null)[1]}function sO(r,e){return e.reduce((t,n)=>(t[n]=r[n],t),{})}function Yn(r,e){return Object.prototype.hasOwnProperty.call(r,e)}function hd(r){if(r==null)return null;if(typeof r!="object")throw new Fe("Week settings must be an object");if(!wt(r.firstDay,1,7)||!wt(r.minimalDays,1,7)||!Array.isArray(r.weekend)||r.weekend.some(e=>!wt(e,1,7)))throw new Fe("Invalid week settings");return{firstDay:r.firstDay,minimalDays:r.minimalDays,weekend:Array.from(r.weekend)}}function wt(r,e,t){return Oo(r)&&r>=e&&r<=t}function aO(r,e){return r-e*Math.floor(r/e)}function Ce(r,e=2){let t=r<0,n;return t?n="-"+(""+-r).padStart(e,"0"):n=(""+r).padStart(e,"0"),n}function jr(r){if(!(Z(r)||r===null||r===""))return parseInt(r,10)}function tn(r){if(!(Z(r)||r===null||r===""))return parseFloat(r)}function Sd(r){if(!(Z(r)||r===null||r==="")){let e=parseFloat("0."+r)*1e3;return Math.floor(e)}}function Ed(r,e,t="round"){let n=10**e;switch(t){case"expand":return r>0?Math.ceil(r*n)/n:Math.floor(r*n)/n;case"trunc":return Math.trunc(r*n)/n;case"round":return Math.round(r*n)/n;case"floor":return Math.floor(r*n)/n;case"ceil":return Math.ceil(r*n)/n;default:throw new RangeError(`Value rounding ${t} is out of range`)}}function Oi(r){return r%4===0&&(r%100!==0||r%400===0)}function Vn(r){return Oi(r)?366:365}function Ao(r,e){let t=aO(e-1,12)+1,n=r+(e-t)/12;return t===2?Oi(n)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][t-1]}function Co(r){let e=Date.UTC(r.year,r.month-1,r.day,r.hour,r.minute,r.second,r.millisecond);return r.year<100&&r.year>=0&&(e=new Date(e),e.setUTCFullYear(r.year,r.month-1,r.day)),+e}function _0(r,e,t){return-Kd(vd(r,1,e),t)+e-1}function Ri(r,e=4,t=1){let n=_0(r,e,t),i=_0(r+1,e,t);return(Vn(r)-n+i)/7}function md(r){return r>99?r:r>Ie.twoDigitCutoffYear?1900+r:2e3+r}function xv(r,e,t,n=null){let i=new Date(r),s={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(s.timeZone=n);let a={timeZoneName:e,...s},o=new Intl.DateTimeFormat(t,a).formatToParts(i).find(l=>l.type.toLowerCase()==="timezonename");return o?o.value:null}function _o(r,e){let t=parseInt(r,10);Number.isNaN(t)&&(t=0);let n=parseInt(e,10)||0,i=t<0||Object.is(t,-0)?-n:n;return t*60+i}function wv(r){let e=Number(r);if(typeof r=="boolean"||r===""||!Number.isFinite(e))throw new Fe(`Invalid unit value ${r}`);return e}function Do(r,e){let t={};for(let n in r)if(Yn(r,n)){let i=r[n];if(i==null)continue;t[e(n)]=wv(i)}return t}function Ai(r,e){let t=Math.trunc(Math.abs(r/60)),n=Math.trunc(Math.abs(r%60)),i=r>=0?"+":"-";switch(e){case"short":return`${i}${Ce(t,2)}:${Ce(n,2)}`;case"narrow":return`${i}${t}${n>0?`:${n}`:""}`;case"techie":return`${i}${Ce(t,2)}${Ce(n,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}function Mo(r){return sO(r,["hour","minute","second","millisecond"])}var oO=["January","February","March","April","May","June","July","August","September","October","November","December"],Tv=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],lO=["J","F","M","A","M","J","J","A","S","O","N","D"];function jv(r){switch(r){case"narrow":return[...lO];case"short":return[...Tv];case"long":return[...oO];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var Av=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Dv=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],cO=["M","T","W","T","F","S","S"];function Rv(r){switch(r){case"narrow":return[...cO];case"short":return[...Dv];case"long":return[...Av];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var Ov=["AM","PM"],uO=["Before Christ","Anno Domini"],dO=["BC","AD"],fO=["B","A"];function Cv(r){switch(r){case"narrow":return[...fO];case"short":return[...dO];case"long":return[...uO];default:return null}}function pO(r){return Ov[r.hour<12?0:1]}function yO(r,e){return Rv(e)[r.weekday-1]}function hO(r,e){return jv(e)[r.month-1]}function mO(r,e){return Cv(e)[r.year<0?0:1]}function bO(r,e,t="always",n=!1){let i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},s=["hours","minutes","seconds"].indexOf(r)===-1;if(t==="auto"&&s){let d=r==="days";switch(e){case 1:return d?"tomorrow":`next ${i[r][0]}`;case-1:return d?"yesterday":`last ${i[r][0]}`;case 0:return d?"today":`this ${i[r][0]}`}}let a=Object.is(e,-0)||e<0,o=Math.abs(e),l=o===1,c=i[r],u=n?l?c[1]:c[2]||c[1]:l?i[r][0]:r;return a?`${o} ${u} ago`:`in ${o} ${u}`}function M0(r,e){let t="";for(let n of r)n.literal?t+=n.val:t+=e(n.val);return t}var gO={D:wo,DD:H0,DDD:Q0,DDDD:Z0,t:X0,tt:ev,ttt:tv,tttt:rv,T:nv,TT:iv,TTT:sv,TTTT:av,f:ov,ff:cv,fff:dv,ffff:pv,F:lv,FF:uv,FFF:fv,FFFF:yv},ft=class r{static create(e,t={}){return new r(e,t)}static parseFormat(e){let t=null,n="",i=!1,s=[];for(let a=0;a<e.length;a++){let o=e.charAt(a);o==="'"?((n.length>0||i)&&s.push({literal:i||/^\s+$/.test(n),val:n===""?"'":n}),t=null,n="",i=!i):i||o===t?n+=o:(n.length>0&&s.push({literal:/^\s+$/.test(n),val:n}),n=o,t=o)}return n.length>0&&s.push({literal:i||/^\s+$/.test(n),val:n}),s}static macroTokenToFormatOpts(e){return gO[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...t}).format()}dtFormatter(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t})}formatDateTime(e,t){return this.dtFormatter(e,t).format()}formatDateTimeParts(e,t){return this.dtFormatter(e,t).formatToParts()}formatInterval(e,t){return this.dtFormatter(e.start,t).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,t){return this.dtFormatter(e,t).resolvedOptions()}num(e,t=0,n=void 0){if(this.opts.forceSimple)return Ce(e,t);let i={...this.opts};return t>0&&(i.padTo=t),n&&(i.signDisplay=n),this.loc.numberFormatter(i).format(e)}formatDateTimeFromString(e,t){let n=this.loc.listingMode()==="en",i=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",s=(f,h)=>this.loc.extract(e,f,h),a=f=>e.isOffsetFixed&&e.offset===0&&f.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,f.format):"",o=()=>n?pO(e):s({hour:"numeric",hourCycle:"h12"},"dayperiod"),l=(f,h)=>n?hO(e,f):s(h?{month:f}:{month:f,day:"numeric"},"month"),c=(f,h)=>n?yO(e,f):s(h?{weekday:f}:{weekday:f,month:"long",day:"numeric"},"weekday"),u=f=>{let h=r.macroTokenToFormatOpts(f);return h?this.formatWithSystemDefault(e,h):f},d=f=>n?mO(e,f):s({era:f},"era"),p=f=>{switch(f){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return o();case"d":return i?s({day:"numeric"},"day"):this.num(e.day);case"dd":return i?s({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return c("short",!0);case"cccc":return c("long",!0);case"ccccc":return c("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return c("short",!1);case"EEEE":return c("long",!1);case"EEEEE":return c("narrow",!1);case"L":return i?s({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return i?s({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return l("short",!0);case"LLLL":return l("long",!0);case"LLLLL":return l("narrow",!0);case"M":return i?s({month:"numeric"},"month"):this.num(e.month);case"MM":return i?s({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return l("short",!1);case"MMMM":return l("long",!1);case"MMMMM":return l("narrow",!1);case"y":return i?s({year:"numeric"},"year"):this.num(e.year);case"yy":return i?s({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return i?s({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return i?s({year:"numeric"},"year"):this.num(e.year,6);case"G":return d("short");case"GG":return d("long");case"GGGGG":return d("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"n":return this.num(e.localWeekNumber);case"nn":return this.num(e.localWeekNumber,2);case"ii":return this.num(e.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(e.localWeekYear,4);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return u(f)}};return M0(r.parseFormat(t),p)}formatDurationFromString(e,t){let n=this.opts.signMode==="negativeLargestOnly"?-1:1,i=u=>{switch(u[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},s=(u,d)=>p=>{let f=i(p);if(f){let h=d.isNegativeDuration&&f!==d.largestUnit?n:1,g;return this.opts.signMode==="negativeLargestOnly"&&f!==d.largestUnit?g="never":this.opts.signMode==="all"?g="always":g="auto",this.num(u.get(f)*h,p.length,g)}else return p},a=r.parseFormat(t),o=a.reduce((u,{literal:d,val:p})=>d?u:u.concat(p),[]),l=e.shiftTo(...o.map(i).filter(u=>u)),c={isNegativeDuration:l<0,largestUnit:Object.keys(l.values)[0]};return M0(a,s(l,c))}},_v=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function Bn(...r){let e=r.reduce((t,n)=>t+n.source,"");return RegExp(`^${e}$`)}function Wn(...r){return e=>r.reduce(([t,n,i],s)=>{let[a,o,l]=s(e,i);return[{...t,...a},o||n,l]},[{},null,1]).slice(0,2)}function Un(r,...e){if(r==null)return[null,null];for(let[t,n]of e){let i=t.exec(r);if(i)return n(i)}return[null,null]}function Mv(...r){return(e,t)=>{let n={},i;for(i=0;i<r.length;i++)n[r[i]]=jr(e[t+i]);return[n,null,t+i]}}var Pv=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,vO=`(?:${Pv.source}?(?:\\[(${_v.source})\\])?)?`,kd=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Nv=RegExp(`${kd.source}${vO}`),Id=RegExp(`(?:[Tt]${Nv.source})?`),KO=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,SO=/(\d{4})-?W(\d\d)(?:-?(\d))?/,EO=/(\d{4})-?(\d{3})/,kO=Mv("weekYear","weekNumber","weekDay"),IO=Mv("year","ordinal"),xO=/(\d{4})-(\d\d)-(\d\d)/,Lv=RegExp(`${kd.source} ?(?:${Pv.source}|(${_v.source}))?`),wO=RegExp(`(?: ${Lv.source})?`);function Gn(r,e,t){let n=r[e];return Z(n)?t:jr(n)}function TO(r,e){return[{year:Gn(r,e),month:Gn(r,e+1,1),day:Gn(r,e+2,1)},null,e+3]}function zn(r,e){return[{hours:Gn(r,e,0),minutes:Gn(r,e+1,0),seconds:Gn(r,e+2,0),milliseconds:Sd(r[e+3])},null,e+4]}function Ci(r,e){let t=!r[e]&&!r[e+1],n=_o(r[e+1],r[e+2]),i=t?null:ht.instance(n);return[{},i,e+3]}function _i(r,e){let t=r[e]?ar.create(r[e]):null;return[{},t,e+1]}var jO=RegExp(`^T?${kd.source}$`),AO=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function DO(r){let[e,t,n,i,s,a,o,l,c]=r,u=e[0]==="-",d=l&&l[0]==="-",p=(f,h=!1)=>f!==void 0&&(h||f&&u)?-f:f;return[{years:p(tn(t)),months:p(tn(n)),weeks:p(tn(i)),days:p(tn(s)),hours:p(tn(a)),minutes:p(tn(o)),seconds:p(tn(l),l==="-0"),milliseconds:p(Sd(c),d)}]}var RO={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function xd(r,e,t,n,i,s,a){let o={year:e.length===2?md(jr(e)):jr(e),month:Tv.indexOf(t)+1,day:jr(n),hour:jr(i),minute:jr(s)};return a&&(o.second=jr(a)),r&&(o.weekday=r.length>3?Av.indexOf(r)+1:Dv.indexOf(r)+1),o}var OO=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function CO(r){let[,e,t,n,i,s,a,o,l,c,u,d]=r,p=xd(e,i,n,t,s,a,o),f;return l?f=RO[l]:c?f=0:f=_o(u,d),[p,new ht(f)]}function _O(r){return r.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var MO=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,PO=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,NO=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function P0(r){let[,e,t,n,i,s,a,o]=r;return[xd(e,i,n,t,s,a,o),ht.utcInstance]}function LO(r){let[,e,t,n,i,s,a,o]=r;return[xd(e,o,t,n,i,s,a),ht.utcInstance]}var qO=Bn(KO,Id),JO=Bn(SO,Id),FO=Bn(EO,Id),VO=Bn(Nv),qv=Wn(TO,zn,Ci,_i),GO=Wn(kO,zn,Ci,_i),YO=Wn(IO,zn,Ci,_i),BO=Wn(zn,Ci,_i);function WO(r){return Un(r,[qO,qv],[JO,GO],[FO,YO],[VO,BO])}function UO(r){return Un(_O(r),[OO,CO])}function zO(r){return Un(r,[MO,P0],[PO,P0],[NO,LO])}function $O(r){return Un(r,[AO,DO])}var HO=Wn(zn);function QO(r){return Un(r,[jO,HO])}var ZO=Bn(xO,wO),XO=Bn(Lv),eC=Wn(zn,Ci,_i);function tC(r){return Un(r,[ZO,qv],[XO,eC])}var N0="Invalid Duration",Jv={weeks:{days:7,hours:168,minutes:10080,seconds:10080*60,milliseconds:10080*60*1e3},days:{hours:24,minutes:1440,seconds:1440*60,milliseconds:1440*60*1e3},hours:{minutes:60,seconds:3600,milliseconds:3600*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},rC={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:2184*60,seconds:2184*60*60,milliseconds:2184*60*60*1e3},months:{weeks:4,days:30,hours:720,minutes:720*60,seconds:720*60*60,milliseconds:720*60*60*1e3},...Jv},It=146097/400,qn=146097/4800,nC={years:{quarters:4,months:12,weeks:It/7,days:It,hours:It*24,minutes:It*24*60,seconds:It*24*60*60,milliseconds:It*24*60*60*1e3},quarters:{months:3,weeks:It/28,days:It/4,hours:It*24/4,minutes:It*24*60/4,seconds:It*24*60*60/4,milliseconds:It*24*60*60*1e3/4},months:{weeks:qn/7,days:qn,hours:qn*24,minutes:qn*24*60,seconds:qn*24*60*60,milliseconds:qn*24*60*60*1e3},...Jv},nn=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],iC=nn.slice(0).reverse();function ir(r,e,t=!1){let n={values:t?e.values:{...r.values,...e.values||{}},loc:r.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||r.conversionAccuracy,matrix:e.matrix||r.matrix};return new Ne(n)}function Fv(r,e){var t;let n=(t=e.milliseconds)!=null?t:0;for(let i of iC.slice(1))e[i]&&(n+=e[i]*r[i].milliseconds);return n}function L0(r,e){let t=Fv(r,e)<0?-1:1;nn.reduceRight((n,i)=>{if(Z(e[i]))return n;if(n){let s=e[n]*t,a=r[i][n],o=Math.floor(s/a);e[i]+=o*t,e[n]-=o*a*t}return i},null),nn.reduce((n,i)=>{if(Z(e[i]))return n;if(n){let s=e[n]%1;e[n]-=s,e[i]+=s*r[n][i]}return i},null)}function q0(r){let e={};for(let[t,n]of Object.entries(r))n!==0&&(e[t]=n);return e}var Ne=class r{constructor(e){let t=e.conversionAccuracy==="longterm"||!1,n=t?nC:rC;e.matrix&&(n=e.matrix),this.values=e.values,this.loc=e.loc||ve.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(e,t){return r.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(e==null||typeof e!="object")throw new Fe(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new r({values:Do(e,r.normalizeUnit),loc:ve.fromObject(t),conversionAccuracy:t.conversionAccuracy,matrix:t.matrix})}static fromDurationLike(e){if(Rr(e))return r.fromMillis(e);if(r.isDuration(e))return e;if(typeof e=="object")return r.fromObject(e);throw new Fe(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){let[n]=$O(e);return n?r.fromObject(n,t):r.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,t){let[n]=QO(e);return n?r.fromObject(n,t):r.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new Fe("need to specify a reason the Duration is invalid");let n=e instanceof pt?e:new pt(e,t);if(Ie.throwOnInvalid)throw new nd(n);return new r({invalid:n})}static normalizeUnit(e){let t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!t)throw new xo(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){let n={...t,floor:t.round!==!1&&t.floor!==!1};return this.isValid?ft.create(this.loc,n).formatDurationFromString(this,e):N0}toHuman(e={}){if(!this.isValid)return N0;let t=e.showZeros!==!1,n=nn.map(i=>{let s=this.values[i];return Z(s)||s===0&&!t?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:i.slice(0,-1)}).format(s)}).filter(i=>i);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=Ed(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let t=this.toMillis();return t<0||t>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1},xe.fromMillis(t,{zone:"UTC"}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?Fv(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let t=r.fromDurationLike(e),n={};for(let i of nn)(Yn(t.values,i)||Yn(this.values,i))&&(n[i]=t.get(i)+this.get(i));return ir(this,{values:n},!0)}minus(e){if(!this.isValid)return this;let t=r.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;let t={};for(let n of Object.keys(this.values))t[n]=wv(e(this.values[n],n));return ir(this,{values:t},!0)}get(e){return this[r.normalizeUnit(e)]}set(e){if(!this.isValid)return this;let t={...this.values,...Do(e,r.normalizeUnit)};return ir(this,{values:t})}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:n,matrix:i}={}){let a={loc:this.loc.clone({locale:e,numberingSystem:t}),matrix:i,conversionAccuracy:n};return ir(this,a)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return L0(this.matrix,e),ir(this,{values:e},!0)}rescale(){if(!this.isValid)return this;let e=q0(this.normalize().shiftToAll().toObject());return ir(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(a=>r.normalizeUnit(a));let t={},n={},i=this.toObject(),s;for(let a of nn)if(e.indexOf(a)>=0){s=a;let o=0;for(let c in n)o+=this.matrix[c][a]*n[c],n[c]=0;Rr(i[a])&&(o+=i[a]);let l=Math.trunc(o);t[a]=l,n[a]=(o*1e3-l*1e3)/1e3}else Rr(i[a])&&(n[a]=i[a]);for(let a in n)n[a]!==0&&(t[s]+=a===s?n[a]:n[a]/this.matrix[s][a]);return L0(this.matrix,t),ir(this,{values:t},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let e={};for(let t of Object.keys(this.values))e[t]=this.values[t]===0?0:-this.values[t];return ir(this,{values:e},!0)}removeZeros(){if(!this.isValid)return this;let e=q0(this.values);return ir(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function t(n,i){return n===void 0||n===0?i===void 0||i===0:n===i}for(let n of nn)if(!t(this.values[n],e.values[n]))return!1;return!0}},Jn="Invalid Interval";function sC(r,e){return!r||!r.isValid?an.invalid("missing or invalid start"):!e||!e.isValid?an.invalid("missing or invalid end"):e<r?an.invalid("end before start",`The end of an interval must be after its start, but you had start=${r.toISO()} and end=${e.toISO()}`):null}var an=class r{constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,t=null){if(!e)throw new Fe("need to specify a reason the Interval is invalid");let n=e instanceof pt?e:new pt(e,t);if(Ie.throwOnInvalid)throw new rd(n);return new r({invalid:n})}static fromDateTimes(e,t){let n=xi(e),i=xi(t),s=sC(n,i);return s??new r({start:n,end:i})}static after(e,t){let n=Ne.fromDurationLike(t),i=xi(e);return r.fromDateTimes(i,i.plus(n))}static before(e,t){let n=Ne.fromDurationLike(t),i=xi(e);return r.fromDateTimes(i.minus(n),i)}static fromISO(e,t){let[n,i]=(e||"").split("/",2);if(n&&i){let s,a;try{s=xe.fromISO(n,t),a=s.isValid}catch{a=!1}let o,l;try{o=xe.fromISO(i,t),l=o.isValid}catch{l=!1}if(a&&l)return r.fromDateTimes(s,o);if(a){let c=Ne.fromISO(i,t);if(c.isValid)return r.after(s,c)}else if(l){let c=Ne.fromISO(n,t);if(c.isValid)return r.before(o,c)}}return r.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds",t){if(!this.isValid)return NaN;let n=this.start.startOf(e,t),i;return t!=null&&t.useLocaleWeeks?i=this.end.reconfigure({locale:n.locale}):i=this.end,i=i.startOf(e,t),Math.floor(i.diff(n,e).get(e))+(i.valueOf()!==this.end.valueOf())}hasSame(e){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,e):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return this.isValid?this.s>e:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:t}={}){return this.isValid?r.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];let t=e.map(xi).filter(a=>this.contains(a)).sort((a,o)=>a.toMillis()-o.toMillis()),n=[],{s:i}=this,s=0;for(;i<this.e;){let a=t[s]||this.e,o=+a>+this.e?this.e:a;n.push(r.fromDateTimes(i,o)),i=o,s+=1}return n}splitBy(e){let t=Ne.fromDurationLike(e);if(!this.isValid||!t.isValid||t.as("milliseconds")===0)return[];let{s:n}=this,i=1,s,a=[];for(;n<this.e;){let o=this.start.plus(t.mapUnits(l=>l*i));s=+o>+this.e?this.e:o,a.push(r.fromDateTimes(n,s)),n=s,i+=1}return a}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return this.isValid?+this.e==+e.s:!1}abutsEnd(e){return this.isValid?+e.e==+this.s:!1}engulfs(e){return this.isValid?this.s<=e.s&&this.e>=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let t=this.s>e.s?this.s:e.s,n=this.e<e.e?this.e:e.e;return t>=n?null:r.fromDateTimes(t,n)}union(e){if(!this.isValid)return this;let t=this.s<e.s?this.s:e.s,n=this.e>e.e?this.e:e.e;return r.fromDateTimes(t,n)}static merge(e){let[t,n]=e.sort((i,s)=>i.s-s.s).reduce(([i,s],a)=>s?s.overlaps(a)||s.abutsStart(a)?[i,s.union(a)]:[i.concat([s]),a]:[i,a],[[],null]);return n&&t.push(n),t}static xor(e){let t=null,n=0,i=[],s=e.map(l=>[{time:l.s,type:"s"},{time:l.e,type:"e"}]),a=Array.prototype.concat(...s),o=a.sort((l,c)=>l.time-c.time);for(let l of o)n+=l.type==="s"?1:-1,n===1?t=l.time:(t&&+t!=+l.time&&i.push(r.fromDateTimes(t,l.time)),t=null);return r.merge(i)}difference(...e){return r.xor([this].concat(e)).map(t=>this.intersection(t)).filter(t=>t&&!t.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:Jn}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(e=wo,t={}){return this.isValid?ft.create(this.s.loc.clone(t),e).formatInterval(this):Jn}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:Jn}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Jn}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:Jn}toFormat(e,{separator:t=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:Jn}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):Ne.invalid(this.invalidReason)}mapEndpoints(e){return r.fromDateTimes(e(this.s),e(this.e))}},sn=class{static hasDST(e=Ie.defaultZone){let t=xe.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return ar.isValidZone(e)}static normalizeZone(e){return Ar(e,Ie.defaultZone)}static getStartOfWeek({locale:e=null,locObj:t=null}={}){return(t||ve.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:t=null}={}){return(t||ve.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:t=null}={}){return(t||ve.create(e)).getWeekendDays().slice()}static months(e="long",{locale:t=null,numberingSystem:n=null,locObj:i=null,outputCalendar:s="gregory"}={}){return(i||ve.create(t,n,s)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:n=null,locObj:i=null,outputCalendar:s="gregory"}={}){return(i||ve.create(t,n,s)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:n=null,locObj:i=null}={}){return(i||ve.create(t,n,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:n=null,locObj:i=null}={}){return(i||ve.create(t,n,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return ve.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return ve.create(t,null,"gregory").eras(e)}static features(){return{relative:kv(),localeWeek:Iv()}}};function J0(r,e){let t=i=>i.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),n=t(e)-t(r);return Math.floor(Ne.fromMillis(n).as("days"))}function aC(r,e,t){let n=[["years",(l,c)=>c.year-l.year],["quarters",(l,c)=>c.quarter-l.quarter+(c.year-l.year)*4],["months",(l,c)=>c.month-l.month+(c.year-l.year)*12],["weeks",(l,c)=>{let u=J0(l,c);return(u-u%7)/7}],["days",J0]],i={},s=r,a,o;for(let[l,c]of n)t.indexOf(l)>=0&&(a=l,i[l]=c(r,e),o=s.plus(i),o>e?(i[l]--,r=s.plus(i),r>e&&(o=r,i[l]--,r=s.plus(i))):r=o);return[r,i,o,a]}function oC(r,e,t,n){let[i,s,a,o]=aC(r,e,t),l=e-i,c=t.filter(d=>["hours","minutes","seconds","milliseconds"].indexOf(d)>=0);c.length===0&&(a<e&&(a=i.plus({[o]:1})),a!==i&&(s[o]=(s[o]||0)+l/(a-i)));let u=Ne.fromObject(s,n);return c.length>0?Ne.fromMillis(l,n).shiftTo(...c).plus(u):u}var lC="missing Intl.DateTimeFormat.formatToParts support";function pe(r,e=t=>t){return{regex:r,deser:([t])=>e(ZR(t))}}var cC="\xA0",Vv=`[ ${cC}]`,Gv=new RegExp(Vv,"g");function uC(r){return r.replace(/\./g,"\\.?").replace(Gv,Vv)}function F0(r){return r.replace(/\./g,"").replace(Gv," ").toLowerCase()}function Ct(r,e){return r===null?null:{regex:RegExp(r.map(uC).join("|")),deser:([t])=>r.findIndex(n=>F0(t)===F0(n))+e}}function V0(r,e){return{regex:r,deser:([,t,n])=>_o(t,n),groups:e}}function vo(r){return{regex:r,deser:([e])=>e}}function dC(r){return r.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function fC(r,e){let t=Ot(e),n=Ot(e,"{2}"),i=Ot(e,"{3}"),s=Ot(e,"{4}"),a=Ot(e,"{6}"),o=Ot(e,"{1,2}"),l=Ot(e,"{1,3}"),c=Ot(e,"{1,6}"),u=Ot(e,"{1,9}"),d=Ot(e,"{2,4}"),p=Ot(e,"{4,6}"),f=k=>({regex:RegExp(dC(k.val)),deser:([E])=>E,literal:!0}),g=(k=>{if(r.literal)return f(k);switch(k.val){case"G":return Ct(e.eras("short"),0);case"GG":return Ct(e.eras("long"),0);case"y":return pe(c);case"yy":return pe(d,md);case"yyyy":return pe(s);case"yyyyy":return pe(p);case"yyyyyy":return pe(a);case"M":return pe(o);case"MM":return pe(n);case"MMM":return Ct(e.months("short",!0),1);case"MMMM":return Ct(e.months("long",!0),1);case"L":return pe(o);case"LL":return pe(n);case"LLL":return Ct(e.months("short",!1),1);case"LLLL":return Ct(e.months("long",!1),1);case"d":return pe(o);case"dd":return pe(n);case"o":return pe(l);case"ooo":return pe(i);case"HH":return pe(n);case"H":return pe(o);case"hh":return pe(n);case"h":return pe(o);case"mm":return pe(n);case"m":return pe(o);case"q":return pe(o);case"qq":return pe(n);case"s":return pe(o);case"ss":return pe(n);case"S":return pe(l);case"SSS":return pe(i);case"u":return vo(u);case"uu":return vo(o);case"uuu":return pe(t);case"a":return Ct(e.meridiems(),0);case"kkkk":return pe(s);case"kk":return pe(d,md);case"W":return pe(o);case"WW":return pe(n);case"E":case"c":return pe(t);case"EEE":return Ct(e.weekdays("short",!1),1);case"EEEE":return Ct(e.weekdays("long",!1),1);case"ccc":return Ct(e.weekdays("short",!0),1);case"cccc":return Ct(e.weekdays("long",!0),1);case"Z":case"ZZ":return V0(new RegExp(`([+-]${o.source})(?::(${n.source}))?`),2);case"ZZZ":return V0(new RegExp(`([+-]${o.source})(${n.source})?`),2);case"z":return vo(/[a-z_+-/]{1,256}?/i);case" ":return vo(/[^\S\n\r]/);default:return f(k)}})(r)||{invalidReason:lC};return g.token=r,g}var pC={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function yC(r,e,t){let{type:n,value:i}=r;if(n==="literal"){let l=/^\s+$/.test(i);return{literal:!l,val:l?" ":i}}let s=e[n],a=n;n==="hour"&&(e.hour12!=null?a=e.hour12?"hour12":"hour24":e.hourCycle!=null?e.hourCycle==="h11"||e.hourCycle==="h12"?a="hour12":a="hour24":a=t.hour12?"hour12":"hour24");let o=pC[a];if(typeof o=="object"&&(o=o[s]),o)return{literal:!1,val:o}}function hC(r){return[`^${r.map(t=>t.regex).reduce((t,n)=>`${t}(${n.source})`,"")}$`,r]}function mC(r,e,t){let n=r.match(e);if(n){let i={},s=1;for(let a in t)if(Yn(t,a)){let o=t[a],l=o.groups?o.groups+1:1;!o.literal&&o.token&&(i[o.token.val[0]]=o.deser(n.slice(s,s+l))),s+=l}return[n,i]}else return[n,{}]}function bC(r){let e=s=>{switch(s){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},t=null,n;return Z(r.z)||(t=ar.create(r.z)),Z(r.Z)||(t||(t=new ht(r.Z)),n=r.Z),Z(r.q)||(r.M=(r.q-1)*3+1),Z(r.h)||(r.h<12&&r.a===1?r.h+=12:r.h===12&&r.a===0&&(r.h=0)),r.G===0&&r.y&&(r.y=-r.y),Z(r.u)||(r.S=Sd(r.u)),[Object.keys(r).reduce((s,a)=>{let o=e(a);return o&&(s[o]=r[a]),s},{}),t,n]}var Hu=null;function gC(){return Hu||(Hu=xe.fromMillis(1555555555555)),Hu}function vC(r,e){if(r.literal)return r;let t=ft.macroTokenToFormatOpts(r.val),n=Wv(t,e);return n==null||n.includes(void 0)?r:n}function Yv(r,e){return Array.prototype.concat(...r.map(t=>vC(t,e)))}var Ro=class{constructor(e,t){if(this.locale=e,this.format=t,this.tokens=Yv(ft.parseFormat(t),e),this.units=this.tokens.map(n=>fC(n,e)),this.disqualifyingUnit=this.units.find(n=>n.invalidReason),!this.disqualifyingUnit){let[n,i]=hC(this.units);this.regex=RegExp(n,"i"),this.handlers=i}}explainFromTokens(e){if(this.isValid){let[t,n]=mC(e,this.regex,this.handlers),[i,s,a]=n?bC(n):[null,null,void 0];if(Yn(n,"a")&&Yn(n,"H"))throw new Dr("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:t,matches:n,result:i,zone:s,specificOffset:a}}else return{input:e,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function Bv(r,e,t){return new Ro(r,t).explainFromTokens(e)}function KC(r,e,t){let{result:n,zone:i,specificOffset:s,invalidReason:a}=Bv(r,e,t);return[n,i,s,a]}function Wv(r,e){if(!r)return null;let n=ft.create(e,r).dtFormatter(gC()),i=n.formatToParts(),s=n.resolvedOptions();return i.map(a=>yC(a,r,s))}var Qu="Invalid DateTime",G0=864e13;function Ti(r){return new pt("unsupported zone",`the zone "${r.name}" is not supported`)}function Zu(r){return r.weekData===null&&(r.weekData=jo(r.c)),r.weekData}function Xu(r){return r.localWeekData===null&&(r.localWeekData=jo(r.c,r.loc.getMinDaysInFirstWeek(),r.loc.getStartOfWeek())),r.localWeekData}function rn(r,e){let t={ts:r.ts,zone:r.zone,c:r.c,o:r.o,loc:r.loc,invalid:r.invalid};return new xe({...t,...e,old:t})}function Uv(r,e,t){let n=r-e*60*1e3,i=t.offset(n);if(e===i)return[n,e];n-=(i-e)*60*1e3;let s=t.offset(n);return i===s?[n,i]:[r-Math.min(i,s)*60*1e3,Math.max(i,s)]}function Ko(r,e){r+=e*60*1e3;let t=new Date(r);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:t.getUTCHours(),minute:t.getUTCMinutes(),second:t.getUTCSeconds(),millisecond:t.getUTCMilliseconds()}}function Eo(r,e,t){return Uv(Co(r),e,t)}function Y0(r,e){let t=r.o,n=r.c.year+Math.trunc(e.years),i=r.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,s={...r.c,year:n,month:i,day:Math.min(r.c.day,Ao(n,i))+Math.trunc(e.days)+Math.trunc(e.weeks)*7},a=Ne.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),o=Co(s),[l,c]=Uv(o,t,r.zone);return a!==0&&(l+=a,c=r.zone.offset(l)),{ts:l,o:c}}function Fn(r,e,t,n,i,s){let{setZone:a,zone:o}=t;if(r&&Object.keys(r).length!==0||e){let l=e||o,c=xe.fromObject(r,{...t,zone:l,specificOffset:s});return a?c:c.setZone(o)}else return xe.invalid(new pt("unparsable",`the input "${i}" can't be parsed as ${n}`))}function So(r,e,t=!0){return r.isValid?ft.create(ve.create("en-US"),{allowZ:t,forceSimple:!0}).formatDateTimeFromString(r,e):null}function ed(r,e,t){let n=r.c.year>9999||r.c.year<0,i="";if(n&&r.c.year>=0&&(i+="+"),i+=Ce(r.c.year,n?6:4),t==="year")return i;if(e){if(i+="-",i+=Ce(r.c.month),t==="month")return i;i+="-"}else if(i+=Ce(r.c.month),t==="month")return i;return i+=Ce(r.c.day),i}function B0(r,e,t,n,i,s,a){let o=!t||r.c.millisecond!==0||r.c.second!==0,l="";switch(a){case"day":case"month":case"year":break;default:if(l+=Ce(r.c.hour),a==="hour")break;if(e){if(l+=":",l+=Ce(r.c.minute),a==="minute")break;o&&(l+=":",l+=Ce(r.c.second))}else{if(l+=Ce(r.c.minute),a==="minute")break;o&&(l+=Ce(r.c.second))}if(a==="second")break;o&&(!n||r.c.millisecond!==0)&&(l+=".",l+=Ce(r.c.millisecond,3))}return i&&(r.isOffsetFixed&&r.offset===0&&!s?l+="Z":r.o<0?(l+="-",l+=Ce(Math.trunc(-r.o/60)),l+=":",l+=Ce(Math.trunc(-r.o%60))):(l+="+",l+=Ce(Math.trunc(r.o/60)),l+=":",l+=Ce(Math.trunc(r.o%60)))),s&&(l+="["+r.zone.ianaName+"]"),l}var zv={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},SC={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},EC={ordinal:1,hour:0,minute:0,second:0,millisecond:0},ko=["year","month","day","hour","minute","second","millisecond"],kC=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],IC=["year","ordinal","hour","minute","second","millisecond"];function Io(r){let e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[r.toLowerCase()];if(!e)throw new xo(r);return e}function W0(r){switch(r.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return Io(r)}}function xC(r){if(ji===void 0&&(ji=Ie.now()),r.type!=="iana")return r.offset(ji);let e=r.name,t=bd.get(e);return t===void 0&&(t=r.offset(ji),bd.set(e,t)),t}function U0(r,e){let t=Ar(e.zone,Ie.defaultZone);if(!t.isValid)return xe.invalid(Ti(t));let n=ve.fromObject(e),i,s;if(Z(r.year))i=Ie.now();else{for(let l of ko)Z(r[l])&&(r[l]=zv[l]);let a=Sv(r)||Ev(r);if(a)return xe.invalid(a);let o=xC(t);[i,s]=Eo(r,o,t)}return new xe({ts:i,zone:t,loc:n,o:s})}function z0(r,e,t){let n=Z(t.round)?!0:t.round,i=Z(t.rounding)?"trunc":t.rounding,s=(o,l)=>(o=Ed(o,n||t.calendary?0:2,t.calendary?"round":i),e.loc.clone(t).relFormatter(t).format(o,l)),a=o=>t.calendary?e.hasSame(r,o)?0:e.startOf(o).diff(r.startOf(o),o).get(o):e.diff(r,o).get(o);if(t.unit)return s(a(t.unit),t.unit);for(let o of t.units){let l=a(o);if(Math.abs(l)>=1)return s(l,o)}return s(r>e?-0:0,t.units[t.units.length-1])}function $0(r){let e={},t;return r.length>0&&typeof r[r.length-1]=="object"?(e=r[r.length-1],t=Array.from(r).slice(0,r.length-1)):t=Array.from(r),[e,t]}var ji,bd=new Map,xe=class r{constructor(e){let t=e.zone||Ie.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new pt("invalid input"):null)||(t.isValid?null:Ti(t));this.ts=Z(e.ts)?Ie.now():e.ts;let i=null,s=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[i,s]=[e.old.c,e.old.o];else{let o=Rr(e.o)&&!e.old?e.o:t.offset(this.ts);i=Ko(this.ts,o),n=Number.isNaN(i.year)?new pt("invalid input"):null,i=n?null:i,s=n?null:o}this._zone=t,this.loc=e.loc||ve.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=i,this.o=s,this.isLuxonDateTime=!0}static now(){return new r({})}static local(){let[e,t]=$0(arguments),[n,i,s,a,o,l,c]=t;return U0({year:n,month:i,day:s,hour:a,minute:o,second:l,millisecond:c},e)}static utc(){let[e,t]=$0(arguments),[n,i,s,a,o,l,c]=t;return e.zone=ht.utcInstance,U0({year:n,month:i,day:s,hour:a,minute:o,second:l,millisecond:c},e)}static fromJSDate(e,t={}){let n=nO(e)?e.valueOf():NaN;if(Number.isNaN(n))return r.invalid("invalid input");let i=Ar(t.zone,Ie.defaultZone);return i.isValid?new r({ts:n,zone:i,loc:ve.fromObject(t)}):r.invalid(Ti(i))}static fromMillis(e,t={}){if(Rr(e))return e<-G0||e>G0?r.invalid("Timestamp out of range"):new r({ts:e,zone:Ar(t.zone,Ie.defaultZone),loc:ve.fromObject(t)});throw new Fe(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(Rr(e))return new r({ts:e*1e3,zone:Ar(t.zone,Ie.defaultZone),loc:ve.fromObject(t)});throw new Fe("fromSeconds requires a numerical input")}static fromObject(e,t={}){e=e||{};let n=Ar(t.zone,Ie.defaultZone);if(!n.isValid)return r.invalid(Ti(n));let i=ve.fromObject(t),s=Do(e,W0),{minDaysInFirstWeek:a,startOfWeek:o}=O0(s,i),l=Ie.now(),c=Z(t.specificOffset)?n.offset(l):t.specificOffset,u=!Z(s.ordinal),d=!Z(s.year),p=!Z(s.month)||!Z(s.day),f=d||p,h=s.weekYear||s.weekNumber;if((f||u)&&h)throw new Dr("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(p&&u)throw new Dr("Can't mix ordinal dates with month/day");let g=h||s.weekday&&!f,k,E,I=Ko(l,c);g?(k=kC,E=SC,I=jo(I,a,o)):u?(k=IC,E=EC,I=$u(I)):(k=ko,E=zv);let O=!1;for(let V of k){let _=s[V];Z(_)?O?s[V]=E[V]:s[V]=I[V]:O=!0}let D=g?eO(s,a,o):u?tO(s):Sv(s),B=D||Ev(s);if(B)return r.invalid(B);let ae=g?D0(s,a,o):u?R0(s):s,[w,K]=Eo(ae,c,n),M=new r({ts:w,zone:n,o:K,loc:i});return s.weekday&&f&&e.weekday!==M.weekday?r.invalid("mismatched weekday",`you can't specify both a weekday of ${s.weekday} and a date of ${M.toISO()}`):M.isValid?M:r.invalid(M.invalid)}static fromISO(e,t={}){let[n,i]=WO(e);return Fn(n,i,t,"ISO 8601",e)}static fromRFC2822(e,t={}){let[n,i]=UO(e);return Fn(n,i,t,"RFC 2822",e)}static fromHTTP(e,t={}){let[n,i]=zO(e);return Fn(n,i,t,"HTTP",t)}static fromFormat(e,t,n={}){if(Z(e)||Z(t))throw new Fe("fromFormat requires an input string and a format");let{locale:i=null,numberingSystem:s=null}=n,a=ve.fromOpts({locale:i,numberingSystem:s,defaultToEN:!0}),[o,l,c,u]=KC(a,e,t);return u?r.invalid(u):Fn(o,l,n,`format ${t}`,e,c)}static fromString(e,t,n={}){return r.fromFormat(e,t,n)}static fromSQL(e,t={}){let[n,i]=tC(e);return Fn(n,i,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new Fe("need to specify a reason the DateTime is invalid");let n=e instanceof pt?e:new pt(e,t);if(Ie.throwOnInvalid)throw new td(n);return new r({invalid:n})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,t={}){let n=Wv(e,ve.fromObject(t));return n?n.map(i=>i?i.val:null).join(""):null}static expandFormat(e,t={}){return Yv(ft.parseFormat(e),ve.fromObject(t)).map(i=>i.val).join("")}static resetCache(){ji=void 0,bd.clear()}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Zu(this).weekYear:NaN}get weekNumber(){return this.isValid?Zu(this).weekNumber:NaN}get weekday(){return this.isValid?Zu(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Xu(this).weekday:NaN}get localWeekNumber(){return this.isValid?Xu(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Xu(this).weekYear:NaN}get ordinal(){return this.isValid?$u(this.c).ordinal:NaN}get monthShort(){return this.isValid?sn.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?sn.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?sn.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?sn.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let e=864e5,t=6e4,n=Co(this.c),i=this.zone.offset(n-e),s=this.zone.offset(n+e),a=this.zone.offset(n-i*t),o=this.zone.offset(n-s*t);if(a===o)return[this];let l=n-a*t,c=n-o*t,u=Ko(l,a),d=Ko(c,o);return u.hour===d.hour&&u.minute===d.minute&&u.second===d.second&&u.millisecond===d.millisecond?[rn(this,{ts:l}),rn(this,{ts:c})]:[this]}get isInLeapYear(){return Oi(this.year)}get daysInMonth(){return Ao(this.year,this.month)}get daysInYear(){return this.isValid?Vn(this.year):NaN}get weeksInWeekYear(){return this.isValid?Ri(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?Ri(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){let{locale:t,numberingSystem:n,calendar:i}=ft.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:n,outputCalendar:i}}toUTC(e=0,t={}){return this.setZone(ht.instance(e),t)}toLocal(){return this.setZone(Ie.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:n=!1}={}){if(e=Ar(e,Ie.defaultZone),e.equals(this.zone))return this;if(e.isValid){let i=this.ts;if(t||n){let s=e.offset(this.ts),a=this.toObject();[i]=Eo(a,s,e)}return rn(this,{ts:i,zone:e})}else return r.invalid(Ti(e))}reconfigure({locale:e,numberingSystem:t,outputCalendar:n}={}){let i=this.loc.clone({locale:e,numberingSystem:t,outputCalendar:n});return rn(this,{loc:i})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let t=Do(e,W0),{minDaysInFirstWeek:n,startOfWeek:i}=O0(t,this.loc),s=!Z(t.weekYear)||!Z(t.weekNumber)||!Z(t.weekday),a=!Z(t.ordinal),o=!Z(t.year),l=!Z(t.month)||!Z(t.day),c=o||l,u=t.weekYear||t.weekNumber;if((c||a)&&u)throw new Dr("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&a)throw new Dr("Can't mix ordinal dates with month/day");let d;s?d=D0({...jo(this.c,n,i),...t},n,i):Z(t.ordinal)?(d={...this.toObject(),...t},Z(t.day)&&(d.day=Math.min(Ao(d.year,d.month),d.day))):d=R0({...$u(this.c),...t});let[p,f]=Eo(d,this.o,this.zone);return rn(this,{ts:p,o:f})}plus(e){if(!this.isValid)return this;let t=Ne.fromDurationLike(e);return rn(this,Y0(this,t))}minus(e){if(!this.isValid)return this;let t=Ne.fromDurationLike(e).negate();return rn(this,Y0(this,t))}startOf(e,{useLocaleWeeks:t=!1}={}){if(!this.isValid)return this;let n={},i=Ne.normalizeUnit(e);switch(i){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0;break}if(i==="weeks")if(t){let s=this.loc.getStartOfWeek(),{weekday:a}=this;a<s&&(n.weekNumber=this.weekNumber-1),n.weekday=s}else n.weekday=1;if(i==="quarters"){let s=Math.ceil(this.month/3);n.month=(s-1)*3+1}return this.set(n)}endOf(e,t){return this.isValid?this.plus({[e]:1}).startOf(e,t).minus(1):this}toFormat(e,t={}){return this.isValid?ft.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):Qu}toLocaleString(e=wo,t={}){return this.isValid?ft.create(this.loc.clone(t),e).formatDateTime(this):Qu}toLocaleParts(e={}){return this.isValid?ft.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:t=!1,suppressMilliseconds:n=!1,includeOffset:i=!0,extendedZone:s=!1,precision:a="milliseconds"}={}){if(!this.isValid)return null;a=Io(a);let o=e==="extended",l=ed(this,o,a);return ko.indexOf(a)>=3&&(l+="T"),l+=B0(this,o,t,n,i,s,a),l}toISODate({format:e="extended",precision:t="day"}={}){return this.isValid?ed(this,e==="extended",Io(t)):null}toISOWeekDate(){return So(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:n=!0,includePrefix:i=!1,extendedZone:s=!1,format:a="extended",precision:o="milliseconds"}={}){return this.isValid?(o=Io(o),(i&&ko.indexOf(o)>=3?"T":"")+B0(this,a==="extended",t,e,n,s,o)):null}toRFC2822(){return So(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return So(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?ed(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:n=!0}={}){let i="HH:mm:ss.SSS";return(t||e)&&(n&&(i+=" "),t?i+="z":e&&(i+="ZZ")),So(this,i,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():Qu}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let t={...this.c};return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",n={}){if(!this.isValid||!e.isValid)return Ne.invalid("created by diffing an invalid DateTime");let i={locale:this.locale,numberingSystem:this.numberingSystem,...n},s=iO(t).map(Ne.normalizeUnit),a=e.valueOf()>this.valueOf(),o=a?this:e,l=a?e:this,c=oC(o,l,s,i);return a?c.negate():c}diffNow(e="milliseconds",t={}){return this.diff(r.now(),e,t)}until(e){return this.isValid?an.fromDateTimes(this,e):this}hasSame(e,t,n){if(!this.isValid)return!1;let i=e.valueOf(),s=this.setZone(e.zone,{keepLocalTime:!0});return s.startOf(t,n)<=i&&i<=s.endOf(t,n)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let t=e.base||r.fromObject({},{zone:this.zone}),n=e.padding?this<t?-e.padding:e.padding:0,i=["years","months","days","hours","minutes","seconds"],s=e.unit;return Array.isArray(e.unit)&&(i=e.unit,s=void 0),z0(t,this.plus(n),{...e,numeric:"always",units:i,unit:s})}toRelativeCalendar(e={}){return this.isValid?z0(e.base||r.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(r.isDateTime))throw new Fe("min requires all arguments be DateTimes");return C0(e,t=>t.valueOf(),Math.min)}static max(...e){if(!e.every(r.isDateTime))throw new Fe("max requires all arguments be DateTimes");return C0(e,t=>t.valueOf(),Math.max)}static fromFormatExplain(e,t,n={}){let{locale:i=null,numberingSystem:s=null}=n,a=ve.fromOpts({locale:i,numberingSystem:s,defaultToEN:!0});return Bv(a,e,t)}static fromStringExplain(e,t,n={}){return r.fromFormatExplain(e,t,n)}static buildFormatParser(e,t={}){let{locale:n=null,numberingSystem:i=null}=t,s=ve.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0});return new Ro(s,e)}static fromFormatParser(e,t,n={}){if(Z(e)||Z(t))throw new Fe("fromFormatParser requires an input string and a format parser");let{locale:i=null,numberingSystem:s=null}=n,a=ve.fromOpts({locale:i,numberingSystem:s,defaultToEN:!0});if(!a.equals(t.locale))throw new Fe(`fromFormatParser called with a locale of ${a}, but the format parser was created for ${t.locale}`);let{result:o,zone:l,specificOffset:c,invalidReason:u}=t.explainFromTokens(e);return u?r.invalid(u):Fn(o,l,n,`format ${t.format}`,e,c)}static get DATE_SHORT(){return wo}static get DATE_MED(){return H0}static get DATE_MED_WITH_WEEKDAY(){return MR}static get DATE_FULL(){return Q0}static get DATE_HUGE(){return Z0}static get TIME_SIMPLE(){return X0}static get TIME_WITH_SECONDS(){return ev}static get TIME_WITH_SHORT_OFFSET(){return tv}static get TIME_WITH_LONG_OFFSET(){return rv}static get TIME_24_SIMPLE(){return nv}static get TIME_24_WITH_SECONDS(){return iv}static get TIME_24_WITH_SHORT_OFFSET(){return sv}static get TIME_24_WITH_LONG_OFFSET(){return av}static get DATETIME_SHORT(){return ov}static get DATETIME_SHORT_WITH_SECONDS(){return lv}static get DATETIME_MED(){return cv}static get DATETIME_MED_WITH_SECONDS(){return uv}static get DATETIME_MED_WITH_WEEKDAY(){return PR}static get DATETIME_FULL(){return dv}static get DATETIME_FULL_WITH_SECONDS(){return fv}static get DATETIME_HUGE(){return pv}static get DATETIME_HUGE_WITH_SECONDS(){return yv}};function xi(r){if(xe.isDateTime(r))return r;if(r&&r.valueOf&&Rr(r.valueOf()))return xe.fromJSDate(r);if(r&&typeof r=="object")return xe.fromObject(r);throw new Fe(`Unknown datetime argument: ${r}, of type ${typeof r}`)}var wC="3.7.2";mt.DateTime=xe;mt.Duration=Ne;mt.FixedOffsetZone=ht;mt.IANAZone=ar;mt.Info=sn;mt.Interval=an;mt.InvalidZone=To;mt.Settings=Ie;mt.SystemZone=Di;mt.VERSION=wC;mt.Zone=Or});var Qv=y((wL,Hv)=>{"use strict";var on=$v();X.prototype.addYear=function(){this._date=this._date.plus({years:1})};X.prototype.addMonth=function(){this._date=this._date.plus({months:1}).startOf("month")};X.prototype.addDay=function(){this._date=this._date.plus({days:1}).startOf("day")};X.prototype.addHour=function(){var r=this._date;this._date=this._date.plus({hours:1}).startOf("hour"),this._date<=r&&(this._date=this._date.plus({hours:1}))};X.prototype.addMinute=function(){var r=this._date;this._date=this._date.plus({minutes:1}).startOf("minute"),this._date<r&&(this._date=this._date.plus({hours:1}))};X.prototype.addSecond=function(){var r=this._date;this._date=this._date.plus({seconds:1}).startOf("second"),this._date<r&&(this._date=this._date.plus({hours:1}))};X.prototype.subtractYear=function(){this._date=this._date.minus({years:1})};X.prototype.subtractMonth=function(){this._date=this._date.minus({months:1}).endOf("month").startOf("second")};X.prototype.subtractDay=function(){this._date=this._date.minus({days:1}).endOf("day").startOf("second")};X.prototype.subtractHour=function(){var r=this._date;this._date=this._date.minus({hours:1}).endOf("hour").startOf("second"),this._date>=r&&(this._date=this._date.minus({hours:1}))};X.prototype.subtractMinute=function(){var r=this._date;this._date=this._date.minus({minutes:1}).endOf("minute").startOf("second"),this._date>r&&(this._date=this._date.minus({hours:1}))};X.prototype.subtractSecond=function(){var r=this._date;this._date=this._date.minus({seconds:1}).startOf("second"),this._date>r&&(this._date=this._date.minus({hours:1}))};X.prototype.getDate=function(){return this._date.day};X.prototype.getFullYear=function(){return this._date.year};X.prototype.getDay=function(){var r=this._date.weekday;return r==7?0:r};X.prototype.getMonth=function(){return this._date.month-1};X.prototype.getHours=function(){return this._date.hour};X.prototype.getMinutes=function(){return this._date.minute};X.prototype.getSeconds=function(){return this._date.second};X.prototype.getMilliseconds=function(){return this._date.millisecond};X.prototype.getTime=function(){return this._date.valueOf()};X.prototype.getUTCDate=function(){return this._getUTC().day};X.prototype.getUTCFullYear=function(){return this._getUTC().year};X.prototype.getUTCDay=function(){var r=this._getUTC().weekday;return r==7?0:r};X.prototype.getUTCMonth=function(){return this._getUTC().month-1};X.prototype.getUTCHours=function(){return this._getUTC().hour};X.prototype.getUTCMinutes=function(){return this._getUTC().minute};X.prototype.getUTCSeconds=function(){return this._getUTC().second};X.prototype.toISOString=function(){return this._date.toUTC().toISO()};X.prototype.toJSON=function(){return this._date.toJSON()};X.prototype.setDate=function(r){this._date=this._date.set({day:r})};X.prototype.setFullYear=function(r){this._date=this._date.set({year:r})};X.prototype.setDay=function(r){this._date=this._date.set({weekday:r})};X.prototype.setMonth=function(r){this._date=this._date.set({month:r+1})};X.prototype.setHours=function(r){this._date=this._date.set({hour:r})};X.prototype.setMinutes=function(r){this._date=this._date.set({minute:r})};X.prototype.setSeconds=function(r){this._date=this._date.set({second:r})};X.prototype.setMilliseconds=function(r){this._date=this._date.set({millisecond:r})};X.prototype._getUTC=function(){return this._date.toUTC()};X.prototype.toString=function(){return this.toDate().toString()};X.prototype.toDate=function(){return this._date.toJSDate()};X.prototype.isLastDayOfMonth=function(){var r=this._date.plus({days:1}).startOf("day");return this._date.month!==r.month};X.prototype.isLastWeekdayOfMonth=function(){var r=this._date.plus({days:7}).startOf("day");return this._date.month!==r.month};function X(r,e){var t={zone:e};if(r?r instanceof X?this._date=r._date:r instanceof Date?this._date=on.DateTime.fromJSDate(r,t):typeof r=="number"?this._date=on.DateTime.fromMillis(r,t):typeof r=="string"&&(this._date=on.DateTime.fromISO(r,t),this._date.isValid||(this._date=on.DateTime.fromRFC2822(r,t)),this._date.isValid||(this._date=on.DateTime.fromSQL(r,t)),this._date.isValid||(this._date=on.DateTime.fromFormat(r,"EEE, d MMM yyyy HH:mm:ss",t))):this._date=on.DateTime.local(),!this._date||!this._date.isValid)throw new Error("CronDate: unhandled timestamp: "+JSON.stringify(r));e&&e!==this._date.zoneName&&(this._date=this._date.setZone(e))}Hv.exports=X});var eK=y((TL,Xv)=>{"use strict";function ln(r){return{start:r,count:1}}function Zv(r,e){r.end=e,r.step=e-r.start,r.count=2}function wd(r,e,t){e&&(e.count===2?(r.push(ln(e.start)),r.push(ln(e.end))):r.push(e)),t&&r.push(t)}function TC(r){for(var e=[],t=void 0,n=0;n<r.length;n++){var i=r[n];typeof i!="number"?(wd(e,t,ln(i)),t=void 0):t?t.count===1?Zv(t,i):t.step===i-t.end?(t.count++,t.end=i):t.count===2?(e.push(ln(t.start)),t=ln(t.end),Zv(t,i)):(wd(e,t),t=ln(i)):t=ln(i)}return wd(e,t),e}Xv.exports=TC});var rK=y((jL,tK)=>{"use strict";var jC=eK();function AC(r,e,t){var n=jC(r);if(n.length===1){var i=n[0],s=i.step;if(s===1&&i.start===e&&i.end===t)return"*";if(s!==1&&i.start===e&&i.end===t-s+1)return"*/"+s}for(var a=[],o=0,l=n.length;o<l;++o){var c=n[o];if(c.count===1){a.push(c.start);continue}var s=c.step;if(c.step===1){a.push(c.start+"-"+c.end);continue}var u=c.start==0?c.count-1:c.count;c.step*u>c.end?a=a.concat(Array.from({length:c.end-c.start+1}).map(function(p,f){var h=c.start+f;return(h-c.start)%c.step===0?h:null}).filter(function(p){return p!=null})):c.end===t-c.step+1?a.push(c.start+"/"+c.step):a.push(c.start+"-"+c.end+"/"+c.step)}return a.join(",")}tK.exports=AC});var sK=y((AL,iK)=>{"use strict";var cn=Qv(),DC=rK(),nK=1e4;function L(r,e){this._options=e,this._utc=e.utc||!1,this._tz=this._utc?"UTC":e.tz,this._currentDate=new cn(e.currentDate,this._tz),this._startDate=e.startDate?new cn(e.startDate,this._tz):null,this._endDate=e.endDate?new cn(e.endDate,this._tz):null,this._isIterator=e.iterator||!1,this._hasIterated=!1,this._nthDayOfWeek=e.nthDayOfWeek||0,this.fields=L._freezeFields(r)}L.map=["second","minute","hour","dayOfMonth","month","dayOfWeek"];L.predefined={"@yearly":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@hourly":"0 * * * *"};L.constraints=[{min:0,max:59,chars:[]},{min:0,max:59,chars:[]},{min:0,max:23,chars:[]},{min:1,max:31,chars:["L"]},{min:1,max:12,chars:[]},{min:0,max:7,chars:["L"]}];L.daysInMonth=[31,29,31,30,31,30,31,31,30,31,30,31];L.aliases={month:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},dayOfWeek:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}};L.parseDefaults=["0","*","*","*","*","*"];L.standardValidCharacters=/^[,*\d/-]+$/;L.dayOfWeekValidCharacters=/^[?,*\dL#/-]+$/;L.dayOfMonthValidCharacters=/^[?,*\dL/-]+$/;L.validCharacters={second:L.standardValidCharacters,minute:L.standardValidCharacters,hour:L.standardValidCharacters,dayOfMonth:L.dayOfMonthValidCharacters,month:L.standardValidCharacters,dayOfWeek:L.dayOfWeekValidCharacters};L._isValidConstraintChar=function(e,t){return typeof t!="string"?!1:e.chars.some(function(n){return t.indexOf(n)>-1})};L._parseField=function(e,t,n){switch(e){case"month":case"dayOfWeek":var i=L.aliases[e];t=t.replace(/[a-z]{3}/gi,function(l){if(l=l.toLowerCase(),typeof i[l]<"u")return i[l];throw new Error('Validation error, cannot resolve alias "'+l+'"')});break}if(!L.validCharacters[e].test(t))throw new Error("Invalid characters, got value: "+t);t.indexOf("*")!==-1?t=t.replace(/\*/g,n.min+"-"+n.max):t.indexOf("?")!==-1&&(t=t.replace(/\?/g,n.min+"-"+n.max));function s(l){var c=[];function u(h){if(h instanceof Array)for(var g=0,k=h.length;g<k;g++){var E=h[g];if(L._isValidConstraintChar(n,E)){c.push(E);continue}if(typeof E!="number"||Number.isNaN(E)||E<n.min||E>n.max)throw new Error("Constraint error, got value "+E+" expected range "+n.min+"-"+n.max);c.push(E)}else{if(L._isValidConstraintChar(n,h)){c.push(h);return}var I=+h;if(Number.isNaN(I)||I<n.min||I>n.max)throw new Error("Constraint error, got value "+h+" expected range "+n.min+"-"+n.max);e==="dayOfWeek"&&(I=I%7),c.push(I)}}var d=l.split(",");if(!d.every(function(h){return h.length>0}))throw new Error("Invalid list value format");if(d.length>1)for(var p=0,f=d.length;p<f;p++)u(a(d[p]));else u(a(l));return c.sort(L._sortCompareFn),c}function a(l){var c=1,u=l.split("/");if(u.length>2)throw new Error("Invalid repeat: "+l);return u.length>1?(u[0]==+u[0]&&(u=[u[0]+"-"+n.max,u[1]]),o(u[0],u[u.length-1])):o(l,c)}function o(l,c){var u=[],d=l.split("-");if(d.length>1){if(d.length<2)return+l;if(!d[0].length){if(!d[1].length)throw new Error("Invalid range: "+l);return+l}var p=+d[0],f=+d[1];if(Number.isNaN(p)||Number.isNaN(f)||p<n.min||f>n.max)throw new Error("Constraint error, got range "+p+"-"+f+" expected range "+n.min+"-"+n.max);if(p>f)throw new Error("Invalid range: "+l);var h=+c;if(Number.isNaN(h)||h<=0)throw new Error("Constraint error, cannot repeat at every "+h+" time.");e==="dayOfWeek"&&f%7===0&&u.push(0);for(var g=p,k=f;g<=k;g++){var E=u.indexOf(g)!==-1;!E&&h>0&&h%c===0?(h=1,u.push(g)):h++}return u}return Number.isNaN(+l)?l:+l}return s(t)};L._sortCompareFn=function(r,e){var t=typeof r=="number",n=typeof e=="number";return t&&n?r-e:!t&&n?1:t&&!n?-1:r.localeCompare(e)};L._handleMaxDaysInMonth=function(r){if(r.month.length===1){var e=L.daysInMonth[r.month[0]-1];if(r.dayOfMonth[0]>e)throw new Error("Invalid explicit day of month definition");return r.dayOfMonth.filter(function(t){return t==="L"?!0:t<=e}).sort(L._sortCompareFn)}};L._freezeFields=function(r){for(var e=0,t=L.map.length;e<t;++e){var n=L.map[e],i=r[n];r[n]=Object.freeze(i)}return Object.freeze(r)};L.prototype._applyTimezoneShift=function(r,e,t){if(t==="Month"||t==="Day"){var n=r.getTime();r[e+t]();var i=r.getTime();n===i&&(r.getMinutes()===0&&r.getSeconds()===0?r.addHour():r.getMinutes()===59&&r.getSeconds()===59&&r.subtractHour())}else{var s=r.getHours();r[e+t]();var a=r.getHours(),o=a-s;o===2?this.fields.hour.length!==24&&(this._dstStart=a):o===0&&r.getMinutes()===0&&r.getSeconds()===0&&this.fields.hour.length!==24&&(this._dstEnd=a)}};L.prototype._findSchedule=function(e){function t(E,I){for(var O=0,D=I.length;O<D;O++)if(I[O]>=E)return I[O]===E;return I[0]===E}function n(E,I){if(I<6){if(E.getDate()<8&&I===1)return!0;var O=E.getDate()%7?1:0,D=E.getDate()-E.getDate()%7,B=Math.floor(D/7)+O;return B===I}return!1}function i(E){return E.length>0&&E.some(function(I){return typeof I=="string"&&I.indexOf("L")>=0})}e=e||!1;var s=e?"subtract":"add",a=new cn(this._currentDate,this._tz),o=this._startDate,l=this._endDate,c=a.getTime(),u=0;function d(E){return E.some(function(I){if(!i([I]))return!1;var O=Number.parseInt(I[0])%7;if(Number.isNaN(O))throw new Error("Invalid last weekday of the month expression: "+I);return a.getDay()===O&&a.isLastWeekdayOfMonth()})}for(;u<nK;){if(u++,e){if(o&&a.getTime()-o.getTime()<0)throw new Error("Out of the timespan range")}else if(l&&l.getTime()-a.getTime()<0)throw new Error("Out of the timespan range");var p=t(a.getDate(),this.fields.dayOfMonth);i(this.fields.dayOfMonth)&&(p=p||a.isLastDayOfMonth());var f=t(a.getDay(),this.fields.dayOfWeek);i(this.fields.dayOfWeek)&&(f=f||d(this.fields.dayOfWeek));var h=this.fields.dayOfMonth.length>=L.daysInMonth[a.getMonth()],g=this.fields.dayOfWeek.length===L.constraints[5].max-L.constraints[5].min+1,k=a.getHours();if(!p&&(!f||g)){this._applyTimezoneShift(a,s,"Day");continue}if(!h&&g&&!p){this._applyTimezoneShift(a,s,"Day");continue}if(h&&!g&&!f){this._applyTimezoneShift(a,s,"Day");continue}if(this._nthDayOfWeek>0&&!n(a,this._nthDayOfWeek)){this._applyTimezoneShift(a,s,"Day");continue}if(!t(a.getMonth()+1,this.fields.month)){this._applyTimezoneShift(a,s,"Month");continue}if(t(k,this.fields.hour)){if(this._dstEnd===k&&!e){this._dstEnd=null,this._applyTimezoneShift(a,"add","Hour");continue}}else if(this._dstStart!==k){this._dstStart=null,this._applyTimezoneShift(a,s,"Hour");continue}else if(!t(k-1,this.fields.hour)){a[s+"Hour"]();continue}if(!t(a.getMinutes(),this.fields.minute)){this._applyTimezoneShift(a,s,"Minute");continue}if(!t(a.getSeconds(),this.fields.second)){this._applyTimezoneShift(a,s,"Second");continue}if(c===a.getTime()){s==="add"||a.getMilliseconds()===0?this._applyTimezoneShift(a,s,"Second"):a.setMilliseconds(0);continue}break}if(u>=nK)throw new Error("Invalid expression, loop limit exceeded");return this._currentDate=new cn(a,this._tz),this._hasIterated=!0,a};L.prototype.next=function(){var e=this._findSchedule();return this._isIterator?{value:e,done:!this.hasNext()}:e};L.prototype.prev=function(){var e=this._findSchedule(!0);return this._isIterator?{value:e,done:!this.hasPrev()}:e};L.prototype.hasNext=function(){var r=this._currentDate,e=this._hasIterated;try{return this._findSchedule(),!0}catch{return!1}finally{this._currentDate=r,this._hasIterated=e}};L.prototype.hasPrev=function(){var r=this._currentDate,e=this._hasIterated;try{return this._findSchedule(!0),!0}catch{return!1}finally{this._currentDate=r,this._hasIterated=e}};L.prototype.iterate=function(e,t){var n=[];if(e>=0)for(var i=0,s=e;i<s;i++)try{var a=this.next();n.push(a),t&&t(a,i)}catch{break}else for(var i=0,s=e;i>s;i--)try{var a=this.prev();n.push(a),t&&t(a,i)}catch{break}return n};L.prototype.reset=function(e){this._currentDate=new cn(e||this._options.currentDate)};L.prototype.stringify=function(e){for(var t=[],n=e?0:1,i=L.map.length;n<i;++n){var s=L.map[n],a=this.fields[s],o=L.constraints[n];s==="dayOfMonth"&&this.fields.month.length===1?o={min:1,max:L.daysInMonth[this.fields.month[0]-1]}:s==="dayOfWeek"&&(o={min:0,max:6},a=a[a.length-1]===7?a.slice(0,-1):a),t.push(DC(a,o.min,o.max))}return t.join(" ")};L.parse=function(e,t){var n=this;typeof t=="function"&&(t={});function i(s,a){a||(a={}),typeof a.currentDate>"u"&&(a.currentDate=new cn(void 0,n._tz)),L.predefined[s]&&(s=L.predefined[s]);var o=[],l=(s+"").trim().split(/\s+/);if(l.length>6)throw new Error("Invalid cron expression");for(var c=L.map.length-l.length,u=0,d=L.map.length;u<d;++u){var p=L.map[u],f=l[l.length>d?u:u-c];if(u<c||!f)o.push(L._parseField(p,L.parseDefaults[u],L.constraints[u]));else{var h=p==="dayOfWeek"?I(f):f;o.push(L._parseField(p,h,L.constraints[u]))}}for(var g={},u=0,d=L.map.length;u<d;u++){var k=L.map[u];g[k]=o[u]}var E=L._handleMaxDaysInMonth(g);return g.dayOfMonth=E||g.dayOfMonth,new L(g,a);function I(O){var D=O.split("#");if(D.length>1){var B=+D[D.length-1];if(/,/.test(O))throw new Error("Constraint error, invalid dayOfWeek `#` and `,` special characters are incompatible");if(/\//.test(O))throw new Error("Constraint error, invalid dayOfWeek `#` and `/` special characters are incompatible");if(/-/.test(O))throw new Error("Constraint error, invalid dayOfWeek `#` and `-` special characters are incompatible");if(D.length>2||Number.isNaN(B)||B<1||B>5)throw new Error("Constraint error, invalid dayOfWeek occurrence number (#)");return a.nthDayOfWeek=B,D[0]}return O}}return i(e,t)};L.fieldsToExpression=function(e,t){function n(p,f,h){if(!f)throw new Error("Validation error, Field "+p+" is missing");if(f.length===0)throw new Error("Validation error, Field "+p+" contains no values");for(var g=0,k=f.length;g<k;g++){var E=f[g];if(!L._isValidConstraintChar(h,E)&&(typeof E!="number"||Number.isNaN(E)||E<h.min||E>h.max))throw new Error("Constraint error, got value "+E+" expected range "+h.min+"-"+h.max)}}for(var i={},s=0,a=L.map.length;s<a;++s){var o=L.map[s],l=e[o];n(o,l,L.constraints[s]);for(var c=[],u=-1;++u<l.length;)c[u]=l[u];if(l=c.sort(L._sortCompareFn).filter(function(p,f,h){return!f||p!==h[f-1]}),l.length!==c.length)throw new Error("Validation error, Field "+o+" contains duplicate values");i[o]=l}var d=L._handleMaxDaysInMonth(i);return i.dayOfMonth=d||i.dayOfMonth,new L(i,t||{})};iK.exports=L});var Td=y((DL,aK)=>{"use strict";var Po=sK();function Cr(){}Cr._parseEntry=function(e){var t=e.split(" ");if(t.length===6)return{interval:Po.parse(e)};if(t.length>6)return{interval:Po.parse(t.slice(0,6).join(" ")),command:t.slice(6,t.length)};throw new Error("Invalid entry: "+e)};Cr.parseExpression=function(e,t){return Po.parse(e,t)};Cr.fieldsToExpression=function(e,t){return Po.fieldsToExpression(e,t)};Cr.parseString=function(e){for(var t=e.split(`
|
|
8911
|
-
`),n={variables:{},expressions:[],errors:{}},i=0,s=t.length;i<s;i++){var a=t[i],o=null,l=a.trim();if(l.length>0){if(l.match(/^#/))continue;if(o=l.match(/^(.*)=(.*)$/))n.variables[o[1]]=o[2];else{var c=null;try{c=Cr._parseEntry("0 "+l),n.expressions.push(c.interval)}catch(u){n.errors[l]=u}}}}return n};Cr.parseFile=function(e,t){Y("fs").readFile(e,function(n,i){if(n){t(n);return}return t(null,Cr.parseString(i.toString()))})};aK.exports=Cr});var _r=y(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.QueueBase=void 0;var RC=Y("events"),Mi=ct(),OC=fa(),CC=Ii(),_C=Nn(),MC=ya(),jd=class extends RC.EventEmitter{constructor(e,t={connection:{}},n=CC.RedisConnection,i=!1){if(super(),this.name=e,this.opts=t,this.closed=!1,this.hasBlockingConnection=!1,this.hasBlockingConnection=i,this.opts=Object.assign({prefix:"bull"},t),!e)throw new Error("Queue name must be provided");if(e.includes(":"))throw new Error("Queue name cannot contain :");this.connection=new n(t.connection,{shared:(0,Mi.isRedisInstance)(t.connection),blocking:i,skipVersionCheck:t.skipVersionCheck,skipWaitingForReady:t.skipWaitingForReady}),this.connection.on("error",a=>this.emit("error",a)),this.connection.on("close",()=>{this.closing||this.emit("ioredis:close")});let s=new MC.QueueKeys(t.prefix);this.qualifiedName=s.getQueueQualifiedName(e),this.keys=s.getKeys(e),this.toKey=a=>s.toKey(e,a),this.createScripts()}get client(){return this.connection.client}createScripts(){this.scripts=(0,OC.createScripts)(this)}get redisVersion(){return this.connection.redisVersion}get databaseType(){return this.connection.databaseType}get Job(){return _C.Job}emit(e,...t){try{return super.emit(e,...t)}catch(n){try{return super.emit("error",n)}catch(i){return console.error(i),!1}}}waitUntilReady(){return this.client}base64Name(){return Buffer.from(this.name).toString("base64")}clientName(e=""){let t=this.base64Name();return`${this.opts.prefix}:${t}${e}`}async close(){this.closing||(this.closing=this.connection.close()),await this.closing,this.closed=!0}disconnect(){return this.connection.disconnect()}async checkConnectionError(e,t=Mi.DELAY_TIME_5){try{return await e()}catch(n){if((0,Mi.isNotConnectionError)(n)&&this.emit("error",n),!this.closing&&t)await(0,Mi.delay)(t);else return}}trace(e,t,n,i,s){return(0,Mi.trace)(this.opts.telemetry,e,this.name,t,n,i,s)}};No.QueueBase=jd});var qo=y(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.defaultRepeatStrategy=un.JobScheduler=void 0;var PC=(Qe(),nt(He)),NC=Td(),Lo=Nn(),LC=_r(),Pi=st(),qC=ct(),Ad=class extends LC.QueueBase{constructor(e,t,n){super(e,t,n),this.repeatStrategy=t.settings&&t.settings.repeatStrategy||un.defaultRepeatStrategy}async upsertJobScheduler(e,t,n,i,s,{override:a,producerId:o}){let{every:l,limit:c,pattern:u,offset:d}=t;if(u&&l)throw new Error("Both .pattern and .every options are defined for this repeatable job");if(!u&&!l)throw new Error("Either .pattern or .every options must be defined for this repeatable job");if(t.immediately&&t.startDate)throw new Error("Both .immediately and .startDate options are defined for this repeatable job");t.immediately&&t.every&&console.warn("Using option immediately with every does not affect the job's schedule. Job will run immediately anyway.");let p=t.count?t.count+1:1;if(typeof t.limit<"u"&&p>t.limit)return;let f=Date.now(),{endDate:h}=t;if(h&&f>new Date(h).getTime())return;let g=s.prevMillis||0;f=g<f?f:g;let{immediately:k}=t,E=PC.__rest(t,["immediately"]),I,O=null;if(u&&(I=await this.repeatStrategy(f,t,n),I<f&&(I=f)),I||l)return this.trace(Pi.SpanKind.PRODUCER,"add",`${this.name}.${n}`,async(D,B)=>{var ae,w;let K=s.telemetry;if(B){let V=(ae=s.telemetry)===null||ae===void 0?void 0:ae.omitContext,_=((w=s.telemetry)===null||w===void 0?void 0:w.metadata)||!V&&B;(_||V)&&(K={metadata:_,omitContext:V})}let M=this.getNextJobOpts(I,e,Object.assign(Object.assign({},s),{repeat:E,telemetry:K}),p,O);if(a){I<f&&(I=f);let[V,_]=await this.scripts.addJobScheduler(e,I,JSON.stringify(typeof i>"u"?{}:i),Lo.Job.optsAsJSON(s),{name:n,startDate:t.startDate?new Date(t.startDate).getTime():void 0,endDate:h?new Date(h).getTime():void 0,tz:t.tz,pattern:u,every:l,limit:c,offset:O},Lo.Job.optsAsJSON(M),o),A=typeof _=="string"?parseInt(_,10):_,m=new this.Job(this,n,i,Object.assign(Object.assign({},M),{delay:A}),V);return m.id=V,D?.setAttributes({[Pi.TelemetryAttributes.JobSchedulerId]:e,[Pi.TelemetryAttributes.JobId]:m.id}),m}else{let V=await this.scripts.updateJobSchedulerNextMillis(e,I,JSON.stringify(typeof i>"u"?{}:i),Lo.Job.optsAsJSON(M),o);if(V){let _=new this.Job(this,n,i,M,V);return _.id=V,D?.setAttributes({[Pi.TelemetryAttributes.JobSchedulerId]:e,[Pi.TelemetryAttributes.JobId]:_.id}),_}}})}getNextJobOpts(e,t,n,i,s){var a,o;let l=this.getSchedulerNextJobId({jobSchedulerId:t,nextMillis:e}),c=Date.now(),u=e+s-c,d=Object.assign(Object.assign({},n),{jobId:l,delay:u<0?0:u,timestamp:c,prevMillis:e,repeatJobKey:t});return d.repeat=Object.assign(Object.assign({},n.repeat),{offset:s,count:i,startDate:!((a=n.repeat)===null||a===void 0)&&a.startDate?new Date(n.repeat.startDate).getTime():void 0,endDate:!((o=n.repeat)===null||o===void 0)&&o.endDate?new Date(n.repeat.endDate).getTime():void 0}),d}async removeJobScheduler(e){return this.scripts.removeJobScheduler(e)}async getSchedulerData(e,t,n){let i=await e.hgetall(this.toKey("repeat:"+t));return this.transformSchedulerData(t,i,n)}transformSchedulerData(e,t,n){if(t&&Object.keys(t).length>0){let i={key:e,name:t.name,next:n};return t.ic&&(i.iterationCount=parseInt(t.ic)),t.limit&&(i.limit=parseInt(t.limit)),t.startDate&&(i.startDate=parseInt(t.startDate)),t.endDate&&(i.endDate=parseInt(t.endDate)),t.tz&&(i.tz=t.tz),t.pattern&&(i.pattern=t.pattern),t.every&&(i.every=parseInt(t.every)),t.offset&&(i.offset=parseInt(t.offset)),(t.data||t.opts)&&(i.template=this.getTemplateFromJSON(t.data,t.opts)),i}if(e.includes(":"))return this.keyToData(e,n)}keyToData(e,t){let n=e.split(":"),i=n.slice(4).join(":")||null;return{key:e,name:n[0],id:n[1]||null,endDate:parseInt(n[2])||null,tz:n[3]||null,pattern:i,next:t}}async isJobScheduler(e){return await(await this.client).hexists(`${this.keys.repeat}:${e}`,"ic")===1}async getScheduler(e){let[t,n]=await this.scripts.getJobScheduler(e);return this.transformSchedulerData(e,t?(0,qC.array2obj)(t):null,n?parseInt(n):null)}getTemplateFromJSON(e,t){let n={};return e&&(n.data=JSON.parse(e)),t&&(n.opts=Lo.Job.optsFromJSON(t)),n}async getJobSchedulers(e=0,t=-1,n=!1){let i=await this.client,s=this.keys.repeat,a=n?await i.zrange(s,e,t,"WITHSCORES"):await i.zrevrange(s,e,t,"WITHSCORES"),o=[];for(let l=0;l<a.length;l+=2)o.push(this.getSchedulerData(i,a[l],parseInt(a[l+1])));return Promise.all(o)}async getSchedulersCount(){let e=this.keys.repeat;return(await this.client).zcard(e)}getSchedulerNextJobId({nextMillis:e,jobSchedulerId:t}){return`repeat:${t}:${e}`}};un.JobScheduler=Ad;var JC=(r,e)=>{let{pattern:t}=e,n=new Date(r),i=e.startDate&&new Date(e.startDate),s=i>n?i:n,a=(0,NC.parseExpression)(t,Object.assign(Object.assign({},e),{currentDate:s}));try{return e.immediately?new Date().getTime():a.next().getTime()}catch{}};un.defaultRepeatStrategy=JC});var Rd=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.LockManager=void 0;var FC=Ds(),Jo=st(),Dd=class{constructor(e,t){this.worker=e,this.opts=t,this.trackedJobs=new Map,this.closed=!1}start(){this.closed||this.opts.lockRenewTime>0&&this.startLockExtenderTimer()}async extendLocks(e){await this.worker.trace(Jo.SpanKind.INTERNAL,"extendLocks",this.worker.name,async t=>{t?.setAttributes({[Jo.TelemetryAttributes.WorkerId]:this.opts.workerId,[Jo.TelemetryAttributes.WorkerName]:this.opts.workerName,[Jo.TelemetryAttributes.WorkerJobsToExtendLocks]:e});try{let n=e.map(a=>{var o;return((o=this.trackedJobs.get(a))===null||o===void 0?void 0:o.token)||""}),i=await this.worker.extendJobLocks(e,n,this.opts.lockDuration);if(i.length>0){this.worker.emit("lockRenewalFailed",i);for(let a of i)this.worker.emit("error",new Error(`could not renew lock for job ${a}`))}let s=e.filter(a=>!i.includes(a));s.length>0&&this.worker.emit("locksRenewed",{count:s.length,jobIds:s})}catch(n){this.worker.emit("error",n)}})}startLockExtenderTimer(){clearTimeout(this.lockRenewalTimer),this.closed||(this.lockRenewalTimer=setTimeout(async()=>{let e=Date.now(),t=[];for(let n of this.trackedJobs.keys()){let i=this.trackedJobs.get(n),{ts:s,token:a,abortController:o}=i;if(!s){this.trackedJobs.set(n,{token:a,ts:e,abortController:o});continue}s+this.opts.lockRenewTime/2<e&&(this.trackedJobs.set(n,{token:a,ts:e,abortController:o}),t.push(n))}t.length&&await this.extendLocks(t),this.startLockExtenderTimer()},this.opts.lockRenewTime/2))}async close(){this.closed||(this.closed=!0,this.lockRenewalTimer&&(clearTimeout(this.lockRenewalTimer),this.lockRenewalTimer=void 0),this.trackedJobs.clear())}trackJob(e,t,n,i=!1){let s=i?new FC.AbortController:void 0;return!this.closed&&e&&this.trackedJobs.set(e,{token:t,ts:n,abortController:s}),s}untrackJob(e){this.trackedJobs.delete(e)}getActiveJobCount(){return this.trackedJobs.size}isRunning(){return!this.closed&&this.lockRenewalTimer!==void 0}cancelJob(e,t){let n=this.trackedJobs.get(e);return n?.abortController?(n.abortController.abort(t),!0):!1}cancelAllJobs(e){for(let t of this.trackedJobs.values())t.abortController&&t.abortController.abort(e)}getTrackedJobIds(){return Array.from(this.trackedJobs.keys())}};Fo.LockManager=Dd});var lK=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.QueueEvents=void 0;var oK=(Qe(),nt(He)),Vo=ct(),VC=_r(),Od=class extends VC.QueueBase{constructor(e,t={connection:{}},n){var i,{connection:s,autorun:a=!0}=t,o=oK.__rest(t,["connection","autorun"]);super(e,Object.assign(Object.assign({},o),{connection:(0,Vo.isRedisInstance)(s)?s.isCluster?s.duplicate(void 0,{redisOptions:(i=s.options)===null||i===void 0?void 0:i.redisOptions}):s.duplicate():s}),n,!0),this.running=!1,this.blocking=!1,this.opts=Object.assign({blockingTimeout:1e4},this.opts),a&&this.run().catch(l=>this.emit("error",l))}emit(e,...t){return super.emit(e,...t)}off(e,t){return super.off(e,t),this}on(e,t){return super.on(e,t),this}once(e,t){return super.once(e,t),this}async run(){if(this.running)throw new Error("Queue Events is already running.");try{this.running=!0;let e=await this.client;try{await e.client("SETNAME",this.clientName(Vo.QUEUE_EVENT_SUFFIX))}catch(t){if(!Vo.clientCommandMessageReg.test(t.message))throw t}await this.consumeEvents(e)}catch(e){throw this.running=!1,e}}async consumeEvents(e){let t=this.opts,n=this.keys.events,i=t.lastEventId||"$";for(;!this.closing;){this.blocking=!0;let s=await this.checkConnectionError(()=>e.xread("BLOCK",t.blockingTimeout,"STREAMS",n,i));if(this.blocking=!1,s){let o=s[0][1];for(let l=0;l<o.length;l++){i=o[l][0];let c=(0,Vo.array2obj)(o[l][1]);switch(c.event){case"progress":c.data=JSON.parse(c.data);break;case"completed":c.returnvalue=JSON.parse(c.returnvalue);break}let{event:u}=c,d=oK.__rest(c,["event"]);u==="drained"?this.emit(u,i):(this.emit(u,d,i),d.jobId&&this.emit(`${u}:${d.jobId}`,d,i))}}}}async close(){return this.closing||(this.closing=(async()=>{try{(await this.client).disconnect(),await this.connection.close(this.blocking)}finally{this.closed=!0}})()),this.closing}};Go.QueueEvents=Od});var cK=y(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.QueueEventsProducer=void 0;var GC=(Qe(),nt(He)),YC=_r(),Cd=class extends YC.QueueBase{constructor(e,t={connection:{}},n){super(e,Object.assign({blockingConnection:!1},t),n),this.opts=t}async publishEvent(e,t=1e3){let n=await this.client,i=this.keys.events,{eventName:s}=e,a=GC.__rest(e,["eventName"]),o=["MAXLEN","~",t,"*","event",s];for(let[l,c]of Object.entries(a))o.push(l,c);await n.xadd(i,...o)}async close(){this.closing||(this.closing=this.connection.close()),await this.closing}};Yo.QueueEventsProducer=Cd});var Pd=y(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.QueueGetters=void 0;var BC=(Qe(),nt(He)),WC=_r(),uK=ct(),_d=st();function dK(r){return String(r).replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n")}var Md=class extends WC.QueueBase{getJob(e){return this.Job.fromId(this,e)}commandByType(e,t,n){return e.map(i=>{i=i==="waiting"?"wait":i;let s=this.toKey(i);switch(i){case"completed":case"failed":case"delayed":case"prioritized":case"repeat":case"waiting-children":return n(s,t?"zcard":"zrange");case"active":case"wait":case"paused":return n(s,t?"llen":"lrange")}})}sanitizeJobTypes(e){let t=typeof e=="string"?[e]:e;if(Array.isArray(t)&&t.length>0){let n=[...t];return n.indexOf("waiting")!==-1&&n.push("paused"),[...new Set(n)]}return["active","completed","delayed","failed","paused","prioritized","waiting","waiting-children"]}async count(){return await this.getJobCountByTypes("waiting","paused","delayed","prioritized","waiting-children")}async getRateLimitTtl(e){return this.scripts.getRateLimitTtl(e)}async getDebounceJobId(e){return(await this.client).get(`${this.keys.de}:${e}`)}async getDeduplicationJobId(e){return(await this.client).get(`${this.keys.de}:${e}`)}async getGlobalConcurrency(){let t=await(await this.client).hget(this.keys.meta,"concurrency");return t?Number(t):null}async getGlobalRateLimit(){let e=await this.client,[t,n]=await e.hmget(this.keys.meta,"max","duration");return t&&n?{max:Number(t),duration:Number(n)}:null}async getJobCountByTypes(...e){let t=await this.getJobCounts(...e);return Object.values(t).reduce((n,i)=>n+i,0)}async getJobCounts(...e){let t=this.sanitizeJobTypes(e),n=await this.scripts.getCounts(t),i={};return n.forEach((s,a)=>{i[t[a]]=s||0}),i}async recordJobCountsMetric(...e){var t;let n=await this.getJobCounts(...e),i=(t=this.opts.telemetry)===null||t===void 0?void 0:t.meter;if(i&&typeof i.createGauge=="function"){let s=i.createGauge(_d.MetricNames.QueueJobsCount,{description:"Number of jobs in the queue by state",unit:"{jobs}"});for(let[a,o]of Object.entries(n))s.record(o,{[_d.TelemetryAttributes.QueueName]:this.name,[_d.TelemetryAttributes.QueueJobsState]:a})}return n}getJobState(e){return this.scripts.getState(e)}async getMeta(){let t=await(await this.client).hgetall(this.keys.meta),{concurrency:n,max:i,duration:s,paused:a,"opts.maxLenEvents":o}=t,c=BC.__rest(t,["concurrency","max","duration","paused","opts.maxLenEvents"]);return n&&(c.concurrency=Number(n)),o&&(c.maxLenEvents=Number(o)),i&&(c.max=Number(i)),s&&(c.duration=Number(s)),c.paused=a==="1",c}getCompletedCount(){return this.getJobCountByTypes("completed")}getFailedCount(){return this.getJobCountByTypes("failed")}getDelayedCount(){return this.getJobCountByTypes("delayed")}getActiveCount(){return this.getJobCountByTypes("active")}getPrioritizedCount(){return this.getJobCountByTypes("prioritized")}async getCountsPerPriority(e){let t=[...new Set(e)],n=await this.scripts.getCountsPerPriority(t),i={};return n.forEach((s,a)=>{i[`${t[a]}`]=s||0}),i}getWaitingCount(){return this.getJobCountByTypes("waiting")}getWaitingChildrenCount(){return this.getJobCountByTypes("waiting-children")}getWaiting(e=0,t=-1){return this.getJobs(["waiting"],e,t,!0)}getWaitingChildren(e=0,t=-1){return this.getJobs(["waiting-children"],e,t,!0)}getActive(e=0,t=-1){return this.getJobs(["active"],e,t,!0)}getDelayed(e=0,t=-1){return this.getJobs(["delayed"],e,t,!0)}getPrioritized(e=0,t=-1){return this.getJobs(["prioritized"],e,t,!0)}getCompleted(e=0,t=-1){return this.getJobs(["completed"],e,t,!1)}getFailed(e=0,t=-1){return this.getJobs(["failed"],e,t,!1)}async getDependencies(e,t,n,i){let s=this.toKey(t=="processed"?`${e}:processed`:`${e}:dependencies`),{items:a,total:o,jobs:l}=await this.scripts.paginate(s,{start:n,end:i,fetchJobs:!0});return{items:a,jobs:l,total:o}}async getRanges(e,t=0,n=1,i=!1){let s=[];this.commandByType(e,!1,(l,c)=>{switch(c){case"lrange":s.push("lrange");break;case"zrange":s.push("zrange");break}});let a=await this.scripts.getRanges(e,t,n,i),o=[];return a.forEach((l,c)=>{let u=l||[];i&&s[c]==="lrange"?o=o.concat(u.reverse()):o=o.concat(u)}),[...new Set(o)]}async getJobs(e,t=0,n=-1,i=!1){let s=this.sanitizeJobTypes(e),a=await this.getRanges(s,t,n,i);return Promise.all(a.map(o=>this.Job.fromId(this,o)))}async getJobLogs(e,t=0,n=-1,i=!0){let a=(await this.client).multi(),o=this.toKey(e+":logs");i?a.lrange(o,t,n):a.lrange(o,-(n+1),-(t+1)),a.llen(o);let l=await a.exec();return i||l[0][1].reverse(),{logs:l[0][1],count:l[1][1]}}async baseGetClients(e){let t=await this.client;try{if(t.isCluster){let n=t.nodes(),i=[];for(let a=0;a<n.length;a++){let l=await n[a].client("LIST"),c=this.parseClientList(l,e);i.push(c)}return i.reduce((a,o)=>a.length>o.length?a:o,[])}else{let n=await t.client("LIST");return this.parseClientList(n,e)}}catch(n){if(!uK.clientCommandMessageReg.test(n.message))throw n;return[{name:"GCP does not support client list"}]}}getWorkers(){let e=`${this.clientName()}`,t=`${this.clientName()}:w:`,n=i=>i&&(i===e||i.startsWith(t));return this.baseGetClients(n)}async getWorkersCount(){return(await this.getWorkers()).length}async getQueueEvents(){let e=`${this.clientName()}${uK.QUEUE_EVENT_SUFFIX}`;return this.baseGetClients(t=>t===e)}async getMetrics(e,t=0,n=-1){let[i,s,a]=await this.scripts.getMetrics(e,t,n);return{meta:{count:parseInt(i[0]||"0",10),prevTS:parseInt(i[1]||"0",10),prevCount:parseInt(i[2]||"0",10)},data:s.map(o=>+o||0),count:a}}parseClientList(e,t){let n=e.split(/\r?\n/),i=[];return n.forEach(s=>{let a={};s.split(" ").forEach(function(c){let u=c.indexOf("="),d=c.substring(0,u),p=c.substring(u+1);a[d]=p});let l=a.name;t(l)&&(a.name=this.name,a.rawname=l,i.push(a))}),i}async exportPrometheusMetrics(e){let t=await this.getJobCounts(),n=[];n.push("# HELP bullmq_job_count Number of jobs in the queue by state"),n.push("# TYPE bullmq_job_count gauge");let i=dK(this.name),s=e?Object.keys(e).reduce((l,c)=>`${l}, ${c}="${dK(e[c])}"`,""):"";for(let[l,c]of Object.entries(t))n.push(`bullmq_job_count{queue="${i}", state="${l}"${s}} ${c}`);let[a,o]=await Promise.all([this.getMetrics("completed"),this.getMetrics("failed")]);return n.push("# HELP bullmq_job_completed_total Total number of completed jobs"),n.push("# TYPE bullmq_job_completed_total counter"),n.push(`bullmq_job_completed_total{queue="${i}"${s}} ${a.meta.count}`),n.push("# HELP bullmq_job_failed_total Total number of failed jobs"),n.push("# TYPE bullmq_job_failed_total counter"),n.push(`bullmq_job_failed_total{queue="${i}"${s}} ${o.meta.count}`),n.join(`
|
|
8912
|
-
`)}};Bo.QueueGetters=Md});var Wo=y(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.getNextMillis=dn.Repeat=void 0;var UC=(Qe(),nt(He)),zC=Td(),$C=Y("crypto"),HC=_r(),Nd=class extends HC.QueueBase{constructor(e,t,n){super(e,t,n),this.repeatStrategy=t.settings&&t.settings.repeatStrategy||dn.getNextMillis,this.repeatKeyHashAlgorithm=t.settings&&t.settings.repeatKeyHashAlgorithm||"md5"}async updateRepeatableJob(e,t,n,{override:i}){var s,a;let o=Object.assign({},n.repeat);(s=o.pattern)!==null&&s!==void 0||(o.pattern=o.cron),delete o.cron;let l=o.count?o.count+1:1;if(typeof o.limit<"u"&&l>o.limit)return;let c=Date.now(),{endDate:u}=o;if(u&&c>new Date(u).getTime())return;let d=n.prevMillis||0;c=d<c?c:d;let p=await this.repeatStrategy(c,o,e),{every:f,pattern:h}=o,g=!!((f||h)&&o.immediately),k=g&&f?c-p:void 0;if(p){!d&&n.jobId&&(o.jobId=n.jobId);let E=fK(e,o),I=(a=n.repeat.key)!==null&&a!==void 0?a:this.hash(E),O;if(i)O=await this.scripts.addRepeatableJob(I,p,{name:e,endDate:u?new Date(u).getTime():void 0,tz:o.tz,pattern:h,every:f},E);else{let ae=await this.client;O=await this.scripts.updateRepeatableJobMillis(ae,I,p,E)}let{immediately:D}=o,B=UC.__rest(o,["immediately"]);return this.createNextJob(e,p,O,Object.assign(Object.assign({},n),{repeat:Object.assign({offset:k},B)}),t,l,g)}}async createNextJob(e,t,n,i,s,a,o){let l=this.getRepeatJobKey(e,t,n,s),c=Date.now(),u=t+(i.repeat.offset?i.repeat.offset:0)-c,d=Object.assign(Object.assign({},i),{jobId:l,delay:u<0||o?0:u,timestamp:c,prevMillis:t,repeatJobKey:n});return d.repeat=Object.assign(Object.assign({},i.repeat),{count:a}),this.Job.create(this,e,s,d)}getRepeatJobKey(e,t,n,i){return n.split(":").length>2?this.getRepeatJobId({name:e,nextMillis:t,namespace:this.hash(n),jobId:i?.id}):this.getRepeatDelayedJobId({customKey:n,nextMillis:t})}async removeRepeatable(e,t,n){var i;let s=fK(e,Object.assign(Object.assign({},t),{jobId:n})),a=(i=t.key)!==null&&i!==void 0?i:this.hash(s),o=this.getRepeatJobId({name:e,nextMillis:"",namespace:this.hash(s),jobId:n??t.jobId,key:t.key});return this.scripts.removeRepeatable(o,s,a)}async removeRepeatableByKey(e){let t=this.keyToData(e),n=this.getRepeatJobId({name:t.name,nextMillis:"",namespace:this.hash(e),jobId:t.id});return this.scripts.removeRepeatable(n,"",e)}async getRepeatableData(e,t,n){let i=await e.hgetall(this.toKey("repeat:"+t));return i?{key:t,name:i.name,endDate:parseInt(i.endDate)||null,tz:i.tz||null,pattern:i.pattern||null,every:i.every||null,next:n}:this.keyToData(t,n)}keyToData(e,t){let n=e.split(":"),i=n.slice(4).join(":")||null;return{key:e,name:n[0],id:n[1]||null,endDate:parseInt(n[2])||null,tz:n[3]||null,pattern:i,next:t}}async getRepeatableJobs(e=0,t=-1,n=!1){let i=await this.client,s=this.keys.repeat,a=n?await i.zrange(s,e,t,"WITHSCORES"):await i.zrevrange(s,e,t,"WITHSCORES"),o=[];for(let l=0;l<a.length;l+=2)o.push(this.getRepeatableData(i,a[l],parseInt(a[l+1])));return Promise.all(o)}async getRepeatableCount(){return(await this.client).zcard(this.toKey("repeat"))}hash(e){return(0,$C.createHash)(this.repeatKeyHashAlgorithm).update(e).digest("hex")}getRepeatDelayedJobId({nextMillis:e,customKey:t}){return`repeat:${t}:${e}`}getRepeatJobId({name:e,nextMillis:t,namespace:n,jobId:i,key:s}){return`repeat:${s??this.hash(`${e}${i||""}${n}`)}:${t}`}};dn.Repeat=Nd;function fK(r,e){let t=e.endDate?new Date(e.endDate).getTime():"",n=e.tz||"",i=e.pattern,s=i||String(e.every)||"",a=e.jobId?e.jobId:"";return`${r}:${a}:${t}:${n}:${s}`}var QC=(r,e)=>{let t=e.pattern;if(t&&e.every)throw new Error("Both .pattern and .every options are defined for this repeatable job");if(e.every)return Math.floor(r/e.every)*e.every+(e.immediately?0:e.every);let n=e.startDate&&new Date(e.startDate)>new Date(r)?new Date(e.startDate):new Date(r),i=(0,zC.parseExpression)(t,Object.assign(Object.assign({},e),{currentDate:n}));try{return e.immediately?new Date().getTime():i.next().getTime()}catch{}};dn.getNextMillis=QC});var pK=y(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.Queue=void 0;var ZC=Nn(),XC=Pd(),e_=Wo(),ie=st(),t_=qo(),r_=ca(),n_=ct(),Ld=class extends XC.QueueGetters{constructor(e,t,n){var i;super(e,Object.assign({},t),n),this.token=(0,n_.randomUUID)(),this.libName="bullmq",this.jobsOpts=(i=t?.defaultJobOptions)!==null&&i!==void 0?i:{},this.waitUntilReady().then(s=>{if(!this.closing&&!t?.skipMetasUpdate)return s.hmset(this.keys.meta,this.metaValues)}).catch(s=>{})}emit(e,...t){return super.emit(e,...t)}off(e,t){return super.off(e,t),this}on(e,t){return super.on(e,t),this}once(e,t){return super.once(e,t),this}get defaultJobOptions(){return Object.assign({},this.jobsOpts)}get metaValues(){var e,t,n,i;return{"opts.maxLenEvents":(i=(n=(t=(e=this.opts)===null||e===void 0?void 0:e.streams)===null||t===void 0?void 0:t.events)===null||n===void 0?void 0:n.maxLen)!==null&&i!==void 0?i:1e4,version:`${this.libName}:${r_.version}`}}async getVersion(){return await(await this.client).hget(this.keys.meta,"version")}get repeat(){return new Promise(async e=>{this._repeat||(this._repeat=new e_.Repeat(this.name,Object.assign(Object.assign({},this.opts),{connection:await this.client})),this._repeat.on("error",this.emit.bind(this,"error"))),e(this._repeat)})}get jobScheduler(){return new Promise(async e=>{this._jobScheduler||(this._jobScheduler=new t_.JobScheduler(this.name,Object.assign(Object.assign({},this.opts),{connection:await this.client})),this._jobScheduler.on("error",this.emit.bind(this,"error"))),e(this._jobScheduler)})}async setGlobalConcurrency(e){return(await this.client).hset(this.keys.meta,"concurrency",e)}async setGlobalRateLimit(e,t){return(await this.client).hset(this.keys.meta,"max",e,"duration",t)}async removeGlobalConcurrency(){return(await this.client).hdel(this.keys.meta,"concurrency")}async removeGlobalRateLimit(){return(await this.client).hdel(this.keys.meta,"max","duration")}async add(e,t,n){return this.trace(ie.SpanKind.PRODUCER,"add",`${this.name}.${e}`,async(i,s)=>{var a;if(s&&!(!((a=n?.telemetry)===null||a===void 0)&&a.omitContext)){let l={metadata:s};n=Object.assign(Object.assign({},n),{telemetry:l})}let o=await this.addJob(e,t,n);return i?.setAttributes({[ie.TelemetryAttributes.JobName]:e,[ie.TelemetryAttributes.JobId]:o.id}),o})}async addJob(e,t,n){if(n&&n.repeat){if(n.repeat.endDate&&+new Date(n.repeat.endDate)<Date.now())throw new Error("End date must be greater than current timestamp");return(await this.repeat).updateRepeatableJob(e,t,Object.assign(Object.assign({},this.jobsOpts),n),{override:!0})}else{let i=n?.jobId;if(i=="0"||i?.startsWith("0:"))throw new Error("JobId cannot be '0' or start with 0:");let s=Object.assign(Object.assign(Object.assign({},this.jobsOpts),n),{jobId:i}),a=await this.Job.create(this,e,t,s);return this.emit("waiting",a),a}}async addBulk(e){return this.trace(ie.SpanKind.PRODUCER,"addBulk",this.name,async(t,n)=>(t&&t.setAttributes({[ie.TelemetryAttributes.BulkNames]:e.map(i=>i.name),[ie.TelemetryAttributes.BulkCount]:e.length}),await this.Job.createBulk(this,e.map(i=>{var s,a,o,l,c,u;let d=(s=i.opts)===null||s===void 0?void 0:s.telemetry;if(n){let f=(o=(a=i.opts)===null||a===void 0?void 0:a.telemetry)===null||o===void 0?void 0:o.omitContext,h=((c=(l=i.opts)===null||l===void 0?void 0:l.telemetry)===null||c===void 0?void 0:c.metadata)||!f&&n;(h||f)&&(d={metadata:h,omitContext:f})}let p=Object.assign(Object.assign(Object.assign({},this.jobsOpts),i.opts),{jobId:(u=i.opts)===null||u===void 0?void 0:u.jobId,telemetry:d});return{name:i.name,data:i.data,opts:p}}))))}async upsertJobScheduler(e,t,n){var i,s;if(t.endDate&&+new Date(t.endDate)<Date.now())throw new Error("End date must be greater than current timestamp");return(await this.jobScheduler).upsertJobScheduler(e,t,(i=n?.name)!==null&&i!==void 0?i:e,(s=n?.data)!==null&&s!==void 0?s:{},Object.assign(Object.assign({},this.jobsOpts),n?.opts),{override:!0})}async pause(){await this.trace(ie.SpanKind.INTERNAL,"pause",this.name,async()=>{await this.scripts.pause(!0),this.emit("paused")})}async close(){await this.trace(ie.SpanKind.INTERNAL,"close",this.name,async()=>{this.closing||this._repeat&&await this._repeat.close(),await super.close()})}async rateLimit(e){await this.trace(ie.SpanKind.INTERNAL,"rateLimit",this.name,async t=>{t?.setAttributes({[ie.TelemetryAttributes.QueueRateLimit]:e}),await this.client.then(n=>n.set(this.keys.limiter,Number.MAX_SAFE_INTEGER,"PX",e))})}async resume(){await this.trace(ie.SpanKind.INTERNAL,"resume",this.name,async()=>{await this.scripts.pause(!1),this.emit("resumed")})}async isPaused(){return await(await this.client).hexists(this.keys.meta,"paused")===1}isMaxed(){return this.scripts.isMaxed()}async getRepeatableJobs(e,t,n){return(await this.repeat).getRepeatableJobs(e,t,n)}async getJobScheduler(e){return(await this.jobScheduler).getScheduler(e)}async getJobSchedulers(e,t,n){return(await this.jobScheduler).getJobSchedulers(e,t,n)}async getJobSchedulersCount(){return(await this.jobScheduler).getSchedulersCount()}async removeRepeatable(e,t,n){return this.trace(ie.SpanKind.INTERNAL,"removeRepeatable",`${this.name}.${e}`,async i=>(i?.setAttributes({[ie.TelemetryAttributes.JobName]:e,[ie.TelemetryAttributes.JobId]:n}),!await(await this.repeat).removeRepeatable(e,t,n)))}async removeJobScheduler(e){return!await(await this.jobScheduler).removeJobScheduler(e)}async removeDebounceKey(e){return this.trace(ie.SpanKind.INTERNAL,"removeDebounceKey",`${this.name}`,async t=>(t?.setAttributes({[ie.TelemetryAttributes.JobKey]:e}),await(await this.client).del(`${this.keys.de}:${e}`)))}async removeDeduplicationKey(e){return this.trace(ie.SpanKind.INTERNAL,"removeDeduplicationKey",`${this.name}`,async t=>(t?.setAttributes({[ie.TelemetryAttributes.DeduplicationKey]:e}),(await this.client).del(`${this.keys.de}:${e}`)))}async removeRateLimitKey(){return(await this.client).del(this.keys.limiter)}async removeRepeatableByKey(e){return this.trace(ie.SpanKind.INTERNAL,"removeRepeatableByKey",`${this.name}`,async t=>(t?.setAttributes({[ie.TelemetryAttributes.JobKey]:e}),!await(await this.repeat).removeRepeatableByKey(e)))}async remove(e,{removeChildren:t=!0}={}){return this.trace(ie.SpanKind.INTERNAL,"remove",this.name,async n=>{n?.setAttributes({[ie.TelemetryAttributes.JobId]:e,[ie.TelemetryAttributes.JobOptions]:JSON.stringify({removeChildren:t})});let i=await this.scripts.remove(e,t);return i===1&&this.emit("removed",e),i})}async updateJobProgress(e,t){await this.trace(ie.SpanKind.INTERNAL,"updateJobProgress",this.name,async n=>{n?.setAttributes({[ie.TelemetryAttributes.JobId]:e,[ie.TelemetryAttributes.JobProgress]:JSON.stringify(t)}),await this.scripts.updateProgress(e,t),this.emit("progress",e,t)})}async addJobLog(e,t,n){return ZC.Job.addJobLog(this,e,t,n)}async drain(e=!1){await this.trace(ie.SpanKind.INTERNAL,"drain",this.name,async t=>{t?.setAttributes({[ie.TelemetryAttributes.QueueDrainDelay]:e}),await this.scripts.drain(e)})}async clean(e,t,n="completed"){return this.trace(ie.SpanKind.INTERNAL,"clean",this.name,async i=>{let s=t||1/0,a=Math.min(1e4,s),o=Date.now()-e,l=0,c=[],u=n==="waiting"?"wait":n;for(;l<s;){let d=await this.scripts.cleanJobsInSet(u,o,a);if(this.emit("cleaned",d,u),l+=d.length,c.push(...d),d.length<a)break}return i?.setAttributes({[ie.TelemetryAttributes.QueueGrace]:e,[ie.TelemetryAttributes.JobType]:n,[ie.TelemetryAttributes.QueueCleanLimit]:s,[ie.TelemetryAttributes.JobIds]:c}),c})}async obliterate(e){await this.trace(ie.SpanKind.INTERNAL,"obliterate",this.name,async()=>{await this.pause();let t=0;do t=await this.scripts.obliterate(Object.assign({force:!1,count:1e3},e));while(t)})}async retryJobs(e={}){await this.trace(ie.SpanKind.PRODUCER,"retryJobs",this.name,async t=>{t?.setAttributes({[ie.TelemetryAttributes.QueueOptions]:JSON.stringify(e)});let n=0;do n=await this.scripts.retryJobs(e.state,e.count,e.timestamp);while(n)})}async promoteJobs(e={}){await this.trace(ie.SpanKind.INTERNAL,"promoteJobs",this.name,async t=>{t?.setAttributes({[ie.TelemetryAttributes.QueueOptions]:JSON.stringify(e)});let n=0;do n=await this.scripts.promoteJobs(e.count);while(n)})}async trimEvents(e){return this.trace(ie.SpanKind.INTERNAL,"trimEvents",this.name,async t=>(t?.setAttributes({[ie.TelemetryAttributes.QueueEventMaxLength]:e}),await(await this.client).xtrim(this.keys.events,"MAXLEN","~",e)))}async removeDeprecatedPriorityKey(){return(await this.client).del(this.toKey("priority"))}async removeOrphanedJobs(e=1e3,t=0){let n=await this.client,i=new Set(Object.keys(this.keys)),s=Object.keys(this.keys).filter(d=>d!==""),a=["logs","dependencies","processed","failed","unsuccessful","lock"],o=this.qualifiedName+":",l=o+"*",c=0,u="0";do{let[d,p]=await n.scan(u,"MATCH",l,"COUNT",e);u=d;let f=new Set;for(let g of p){let k=g.slice(o.length);if(i.has(k))continue;let E=k.indexOf(":");if(E!==-1){let O=k.slice(0,E);if(i.has(O))continue}let I=E===-1?k:k.slice(0,E);if(E!==-1){let O=k.slice(E+1);if(!a.includes(O))continue}f.add(I)}if(f.size===0)continue;let h=await this.scripts.removeOrphanedJobs([...f],s,a);if(c+=h||0,t>0&&c>=t)break}while(u!=="0");return c}};Uo.Queue=Ld});var Jd=y(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var _e=st(),i_=(r,e)=>async function(n,i,s){let a,o,l,c;try{let u=new Promise((d,p)=>{(async()=>{try{l=(h,g)=>{p(new Error("Unexpected exit code: "+h+" signal: "+g))},a=await e.retain(r),a.on("exit",l),o=async h=>{var g,k,E,I,O;try{switch(h.cmd){case _e.ParentCommand.Completed:d(h.value);break;case _e.ParentCommand.Failed:case _e.ParentCommand.Error:{let D=new Error;Object.assign(D,h.value),p(D);break}case _e.ParentCommand.Progress:await n.updateProgress(h.value);break;case _e.ParentCommand.Log:await n.log(h.value);break;case _e.ParentCommand.MoveToDelayed:await n.moveToDelayed((g=h.value)===null||g===void 0?void 0:g.timestamp,(k=h.value)===null||k===void 0?void 0:k.token);break;case _e.ParentCommand.MoveToWait:await n.moveToWait((E=h.value)===null||E===void 0?void 0:E.token);break;case _e.ParentCommand.MoveToWaitingChildren:{let D=await n.moveToWaitingChildren((I=h.value)===null||I===void 0?void 0:I.token,(O=h.value)===null||O===void 0?void 0:O.opts);a.send({requestId:h.requestId,cmd:_e.ChildCommand.MoveToWaitingChildrenResponse,value:D})}break;case _e.ParentCommand.Update:await n.updateData(h.value);break;case _e.ParentCommand.GetChildrenValues:{let D=await n.getChildrenValues();a.send({requestId:h.requestId,cmd:_e.ChildCommand.GetChildrenValuesResponse,value:D})}break;case _e.ParentCommand.GetIgnoredChildrenFailures:{let D=await n.getIgnoredChildrenFailures();a.send({requestId:h.requestId,cmd:_e.ChildCommand.GetIgnoredChildrenFailuresResponse,value:D})}break;case _e.ParentCommand.GetDependenciesCount:{let D=await n.getDependenciesCount(h.value);a.send({requestId:h.requestId,cmd:_e.ChildCommand.GetDependenciesCountResponse,value:D})}break;case _e.ParentCommand.GetDependencies:{let D=await n.getDependencies(h.value);a.send({requestId:h.requestId,cmd:_e.ChildCommand.GetDependenciesResponse,value:D})}break}}catch(D){p(D)}},a.on("message",o),a.send({cmd:_e.ChildCommand.Start,job:n.asJSONSandbox(),token:i}),s&&(c=()=>{try{a.send({cmd:_e.ChildCommand.Cancel,value:s.reason})}catch{}},s.aborted?c():s.addEventListener("abort",c,{once:!0}))}catch(h){p(h)}})()});return await u,u}finally{s&&c&&s.removeEventListener("abort",c),a&&(a.off("message",o),a.off("exit",l),a.exitCode===null&&a.signalCode===null&&e.release(a))}};qd.default=i_});var hK=y(($o,yK)=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.Worker=void 0;var zo=Y("fs"),s_=Y("url"),Ni=Y("path"),a_=Ds(),$n=ct(),o_=_r(),l_=Wo(),c_=Gc(),u_=Ii(),d_=Jd(),f_=Nc(),Hn=Ys(),se=st(),p_=qo(),y_=Rd(),h_=10,Fd=class extends o_.QueueBase{static RateLimitError(){return new Hn.RateLimitError}constructor(e,t,n,i){var s;if(super(e,Object.assign(Object.assign({drainDelay:5,concurrency:1,lockDuration:3e4,maximumRateLimitDelay:3e4,maxStalledCount:1,stalledInterval:3e4,autorun:!0,runRetryDelay:15e3},n),{blockingConnection:!0}),i),this.abortDelayController=null,this.blockUntil=0,this.drained=!1,this.limitUntil=0,this.processorAcceptsSignal=!1,this.stalledCheckerRunning=!1,this.waiting=null,this.running=!1,this.mainLoopRunning=null,!n||!n.connection)throw new Error("Worker requires a connection");if(typeof this.opts.maxStalledCount!="number"||this.opts.maxStalledCount<0)throw new Error("maxStalledCount must be greater or equal than 0");if(typeof this.opts.maxStartedAttempts=="number"&&this.opts.maxStartedAttempts<0)throw new Error("maxStartedAttempts must be greater or equal than 0");if(typeof this.opts.stalledInterval!="number"||this.opts.stalledInterval<=0)throw new Error("stalledInterval must be greater than 0");if(typeof this.opts.drainDelay!="number"||this.opts.drainDelay<=0)throw new Error("drainDelay must be greater than 0");if(this.concurrency=this.opts.concurrency,this.opts.lockRenewTime=this.opts.lockRenewTime||this.opts.lockDuration/2,this.id=(0,$n.randomUUID)(),this.createLockManager(),t){if(typeof t=="function")this.processFn=t,this.processorAcceptsSignal=t.length>=3;else{if(t instanceof s_.URL){if(!zo.existsSync(t))throw new Error(`URL ${t} does not exist in the local file system`);t=t.href}else{let p=t+([".js",".ts",".flow",".cjs",".mjs"].includes(Ni.extname(t))?"":".js");if(!zo.existsSync(p))throw new Error(`File ${p} does not exist`)}let o=Ni.dirname(yK.filename||__filename),l=Ni.join(o,"main-worker.js"),c=Ni.join(o,"main.js"),u=this.opts.useWorkerThreads?l:c;try{zo.statSync(u)}catch{let p=this.opts.useWorkerThreads?"main-worker.js":"main.js";u=Ni.join(process.cwd(),`dist/cjs/classes/${p}`),zo.statSync(u)}this.childPool=new c_.ChildPool({mainFile:u,useWorkerThreads:this.opts.useWorkerThreads,workerForkOptions:this.opts.workerForkOptions,workerThreadsOptions:this.opts.workerThreadsOptions}),this.createSandbox(t),this.processorAcceptsSignal=!0}this.opts.autorun&&this.run().catch(o=>this.emit("error",o))}let a=this.clientName()+(this.opts.name?`:w:${this.opts.name}`:"");this.blockingConnection=new u_.RedisConnection((0,$n.isRedisInstance)(n.connection)?n.connection.isCluster?n.connection.duplicate(void 0,{redisOptions:Object.assign(Object.assign({},((s=n.connection.options)===null||s===void 0?void 0:s.redisOptions)||{}),{connectionName:a})}):n.connection.duplicate({connectionName:a}):Object.assign(Object.assign({},n.connection),{connectionName:a}),{shared:!1,blocking:!0,skipVersionCheck:n.skipVersionCheck}),this.blockingConnection.on("error",o=>this.emit("error",o)),this.blockingConnection.on("ready",()=>setTimeout(()=>this.emit("ready"),0))}createLockManager(){this.lockManager=new y_.LockManager(this,{lockRenewTime:this.opts.lockRenewTime,lockDuration:this.opts.lockDuration,workerId:this.id,workerName:this.opts.name})}createSandbox(e){this.processFn=(0,d_.default)(e,this.childPool).bind(this)}async extendJobLocks(e,t,n){return this.scripts.extendLocks(e,t,n)}emit(e,...t){return super.emit(e,...t)}off(e,t){return super.off(e,t),this}on(e,t){return super.on(e,t),this}once(e,t){return super.once(e,t),this}callProcessJob(e,t,n){return this.processFn(e,t,n)}createJob(e,t){return this.Job.fromJSON(this,e,t)}async waitUntilReady(){return await super.waitUntilReady(),this.blockingConnection.client}cancelJob(e,t){return this.lockManager.cancelJob(e,t)}cancelAllJobs(e){this.lockManager.cancelAllJobs(e)}set concurrency(e){if(typeof e!="number"||e<1||!isFinite(e))throw new Error("concurrency must be a finite number greater than 0");this._concurrency=e}get concurrency(){return this._concurrency}get repeat(){return new Promise(async e=>{if(!this._repeat){let t=await this.client;this._repeat=new l_.Repeat(this.name,Object.assign(Object.assign({},this.opts),{connection:t})),this._repeat.on("error",this.emit.bind(this,"error"))}e(this._repeat)})}get jobScheduler(){return new Promise(async e=>{if(!this._jobScheduler){let t=await this.client;this._jobScheduler=new p_.JobScheduler(this.name,Object.assign(Object.assign({},this.opts),{connection:t})),this._jobScheduler.on("error",this.emit.bind(this,"error"))}e(this._jobScheduler)})}async run(){if(!this.processFn)throw new Error("No process function is defined.");if(this.running)throw new Error("Worker is already running.");try{if(this.running=!0,this.closing||this.paused)return;await this.startStalledCheckTimer(),this.opts.skipLockRenewal||this.lockManager.start();let e=await this.client,t=await this.blockingConnection.client;this.mainLoopRunning=this.mainLoop(e,t),await this.mainLoopRunning}finally{this.running=!1}}async waitForRateLimit(){var e;let t=this.limitUntil;if(t>Date.now()){(e=this.abortDelayController)===null||e===void 0||e.abort(),this.abortDelayController=new a_.AbortController;let n=this.getRateLimitDelay(t-Date.now());await this.delay(n,this.abortDelayController),this.drained=!1,this.limitUntil=0}}async mainLoop(e,t){let n=new f_.AsyncFifoQueue,i=0;for(;!this.closing&&!this.paused||n.numTotal()>0;){for(;!this.closing&&!this.paused&&!this.waiting&&n.numTotal()<this._concurrency&&!this.isRateLimited();){let a=`${this.id}:${i++}`,o=this.retryIfFailed(()=>this._getNextJob(e,t,a,{block:!0}),{delayInMs:this.opts.runRetryDelay,onlyEmitError:!0});if(n.add(o),this.waiting&&n.numTotal()>1||!await o&&n.numTotal()>1||this.blockUntil)break}let s;do s=await n.fetch();while(!s&&n.numQueued()>0);if(s){let a=s.token;n.add(this.processJob(s,a,()=>n.numTotal()<=this._concurrency))}else n.numQueued()===0&&await this.waitForRateLimit()}}async getNextJob(e,{block:t=!0}={}){var n,i;let s=await this._getNextJob(await this.client,await this.blockingConnection.client,e,{block:t});return this.trace(se.SpanKind.INTERNAL,"getNextJob",this.name,async a=>(a?.setAttributes({[se.TelemetryAttributes.WorkerId]:this.id,[se.TelemetryAttributes.QueueName]:this.name,[se.TelemetryAttributes.WorkerName]:this.opts.name,[se.TelemetryAttributes.WorkerOptions]:JSON.stringify({block:t}),[se.TelemetryAttributes.JobId]:s?.id}),s),(i=(n=s?.opts)===null||n===void 0?void 0:n.telemetry)===null||i===void 0?void 0:i.metadata)}async _getNextJob(e,t,n,{block:i=!0}={}){if(this.paused||this.closing)return;let s;if(this.drained&&i&&!this.limitUntil&&!this.waiting){this.waiting=this.waitForJob(t,this.blockUntil);try{this.blockUntil=await this.waiting,(this.blockUntil<=0||this.blockUntil-Date.now()<1)&&(s=await this.moveToActive(e,n,this.opts.name))}finally{this.waiting=null}}else this.isRateLimited()||(s=await this.moveToActive(e,n,this.opts.name));return s&&this.emit("active",s,"waiting"),s}async rateLimit(e){await this.trace(se.SpanKind.INTERNAL,"rateLimit",this.name,async t=>{t?.setAttributes({[se.TelemetryAttributes.WorkerId]:this.id,[se.TelemetryAttributes.WorkerRateLimit]:e}),await this.client.then(n=>n.set(this.keys.limiter,Number.MAX_SAFE_INTEGER,"PX",e))})}get minimumBlockTimeout(){return this.blockingConnection.capabilities.canBlockFor1Ms?.001:.002}isRateLimited(){return this.limitUntil>Date.now()}async moveToActive(e,t,n){let[i,s,a,o]=await this.scripts.moveToActive(e,t,n);return this.updateDelays(a,o),this.nextJobFromJobData(i,s,t)}async waitForJob(e,t){if(this.paused)return 1/0;let n;try{if(!this.closing&&!this.isRateLimited()){let i=this.getBlockTimeout(t);if(i>0){i=this.blockingConnection.capabilities.canDoubleTimeout?i:Math.ceil(i),n=setTimeout(async()=>{e.disconnect(!this.closing)},i*1e3+1e3),this.updateDelays();let s=await e.bzpopmin(this.keys.marker,i);if(s){let[a,o,l]=s;if(o){let c=parseInt(l);return t&&c>t?t:c}}}return 0}}catch(i){(0,$n.isNotConnectionError)(i)&&this.emit("error",i),this.closing||await this.delay()}finally{clearTimeout(n)}return 1/0}getBlockTimeout(e){let t=this.opts;if(e){let n=e-Date.now();return n<=0?n:n<this.minimumBlockTimeout*1e3?this.minimumBlockTimeout:Math.min(n/1e3,h_)}else return Math.max(t.drainDelay,this.minimumBlockTimeout)}getRateLimitDelay(e){return Math.min(e,this.opts.maximumRateLimitDelay)}async delay(e,t){await(0,$n.delay)(e||$n.DELAY_TIME_1,t)}updateDelays(e=0,t=0){let n=Math.max(e,0);n>0?this.limitUntil=Date.now()+n:this.limitUntil=0,this.blockUntil=Math.max(t,0)||0}async nextJobFromJobData(e,t,n){if(!e)this.drained||(this.emit("drained"),this.drained=!0);else{this.drained=!1;let i=this.createJob(e,t);i.token=n;try{await this.retryIfFailed(async()=>{let s=!!i.repeatJobKey,a=s&&i.repeatJobKey.split(":").length>=5,o=s&&!a;a&&(o=await(await this.jobScheduler).isJobScheduler(i.repeatJobKey)),o?await(await this.jobScheduler).upsertJobScheduler(i.repeatJobKey,i.opts.repeat,i.name,i.data,i.opts,{override:!1,producerId:i.id}):i.opts.repeat&&await(await this.repeat).updateRepeatableJob(i.name,i.data,i.opts,{override:!1})},{delayInMs:this.opts.runRetryDelay})}catch(s){let a=s instanceof Error?s.message:String(s),o=new Error(`Failed to add repeatable job for next iteration: ${a}`);this.emit("error",o);return}return i}}async processJob(e,t,n=()=>!0){var i,s;let a=(s=(i=e.opts)===null||i===void 0?void 0:i.telemetry)===null||s===void 0?void 0:s.metadata;return this.trace(se.SpanKind.CONSUMER,"process",this.name,async o=>{o?.setAttributes({[se.TelemetryAttributes.WorkerId]:this.id,[se.TelemetryAttributes.WorkerName]:this.opts.name,[se.TelemetryAttributes.JobId]:e.id,[se.TelemetryAttributes.JobName]:e.name});let l=this.lockManager.trackJob(e.id,t,e.processedOn,this.processorAcceptsSignal);try{let c=this.getUnrecoverableErrorMessage(e);if(c)return await this.retryIfFailed(()=>(this.lockManager.untrackJob(e.id),this.handleFailed(new Hn.UnrecoverableError(c),e,t,n,o)),{delayInMs:this.opts.runRetryDelay,span:o});let u=await this.callProcessJob(e,t,l?l.signal:void 0);return await this.retryIfFailed(()=>(this.lockManager.untrackJob(e.id),this.handleCompleted(u,e,t,n,o)),{delayInMs:this.opts.runRetryDelay,span:o})}catch(c){return await this.retryIfFailed(()=>(this.lockManager.untrackJob(e.id),this.handleFailed(c,e,t,n,o)),{delayInMs:this.opts.runRetryDelay,span:o,onlyEmitError:!0})}finally{this.lockManager.untrackJob(e.id);let c=Date.now();o?.setAttributes({[se.TelemetryAttributes.JobFinishedTimestamp]:c,[se.TelemetryAttributes.JobAttemptFinishedTimestamp]:e.finishedOn||c,[se.TelemetryAttributes.JobProcessedTimestamp]:e.processedOn})}},a)}getUnrecoverableErrorMessage(e){if(e.deferredFailure)return e.deferredFailure;if(this.opts.maxStartedAttempts&&this.opts.maxStartedAttempts<e.attemptsStarted)return"job started more than allowable limit"}async handleCompleted(e,t,n,i=()=>!0,s){if(!this.connection.closing){let a=await t.moveToCompleted(e,n,i()&&!(this.closing||this.paused));if(this.emit("completed",t,e,"active"),s?.addEvent("job completed",{[se.TelemetryAttributes.JobResult]:JSON.stringify(e)}),s?.setAttributes({[se.TelemetryAttributes.JobAttemptsMade]:t.attemptsMade}),Array.isArray(a)){let[o,l,c,u]=a;return this.updateDelays(c,u),this.nextJobFromJobData(o,l,n)}}}async handleFailed(e,t,n,i=()=>!0,s){if(!this.connection.closing){if(e.message===Hn.RATE_LIMIT_ERROR){let o=await this.moveLimitedBackToWait(t,n);this.limitUntil=o>0?Date.now()+o:0;return}if(e instanceof Hn.DelayedError||e.name=="DelayedError"||e instanceof Hn.WaitingError||e.name=="WaitingError"||e instanceof Hn.WaitingChildrenError||e.name=="WaitingChildrenError"){let o=await this.client;return this.moveToActive(o,n,this.opts.name)}let a=await t.moveToFailed(e,n,i()&&!(this.closing||this.paused));if(this.emit("failed",t,e,"active"),s?.addEvent("job failed",{[se.TelemetryAttributes.JobFailedReason]:e.message}),s?.setAttributes({[se.TelemetryAttributes.JobAttemptsMade]:t.attemptsMade}),Array.isArray(a)){let[o,l,c,u]=a;return this.updateDelays(c,u),this.nextJobFromJobData(o,l,n)}}}async pause(e){await this.trace(se.SpanKind.INTERNAL,"pause",this.name,async t=>{var n;t?.setAttributes({[se.TelemetryAttributes.WorkerId]:this.id,[se.TelemetryAttributes.WorkerName]:this.opts.name,[se.TelemetryAttributes.WorkerDoNotWaitActive]:e}),this.paused||(this.paused=!0,e||await this.whenCurrentJobsFinished(),(n=this.stalledCheckStopper)===null||n===void 0||n.call(this),this.emit("paused"))})}resume(){(!this.running||this.paused)&&this.trace(se.SpanKind.INTERNAL,"resume",this.name,e=>{e?.setAttributes({[se.TelemetryAttributes.WorkerId]:this.id,[se.TelemetryAttributes.WorkerName]:this.opts.name}),this.paused=!1,this.running?this.startStalledCheckTimer().catch(t=>{this.emit("error",t)}):this.processFn&&this.run(),this.emit("resumed")}).catch(e=>{this.emit("error",e)})}isPaused(){return!!this.paused}isRunning(){return this.running}async close(e=!1){return this.closing?this.closing:(this.closing=(async()=>{await this.trace(se.SpanKind.INTERNAL,"close",this.name,async t=>{var n,i;t?.setAttributes({[se.TelemetryAttributes.WorkerId]:this.id,[se.TelemetryAttributes.WorkerName]:this.opts.name,[se.TelemetryAttributes.WorkerForceClose]:e}),this.emit("closing","closing queue"),(n=this.abortDelayController)===null||n===void 0||n.abort();let s=[()=>e||this.whenCurrentJobsFinished(!1),()=>this.lockManager.close(),()=>{var a;return(a=this.childPool)===null||a===void 0?void 0:a.clean()},()=>this.blockingConnection.close(e),()=>this.connection.close(e)];for(let a of s)try{await a()}catch(o){this.emit("error",o)}(i=this.stalledCheckStopper)===null||i===void 0||i.call(this),this.closed=!0,this.emit("closed")})})(),await this.closing)}async startStalledCheckTimer(){this.opts.skipStalledCheck||!this.closing&&!this.stalledCheckerRunning&&await this.trace(se.SpanKind.INTERNAL,"startStalledCheckTimer",this.name,async e=>{e?.setAttributes({[se.TelemetryAttributes.WorkerId]:this.id,[se.TelemetryAttributes.WorkerName]:this.opts.name}),this.stalledCheckerRunning=!0,this.stalledChecker().catch(t=>{this.emit("error",t)}).finally(()=>{this.stalledCheckerRunning=!1})})}async stalledChecker(){for(;!(this.closing||this.paused);)await this.checkConnectionError(()=>this.moveStalledJobsToWait()),await new Promise(e=>{let t=setTimeout(e,this.opts.stalledInterval);this.stalledCheckStopper=()=>{clearTimeout(t),e()}})}async whenCurrentJobsFinished(e=!0){this.waiting?await this.blockingConnection.disconnect(e):e=!1,this.mainLoopRunning&&await this.mainLoopRunning,e&&await this.blockingConnection.reconnect()}async retryIfFailed(e,t){var n;let i=0,s=t.maxRetries||1/0;do try{return await e()}catch(a){if((n=t.span)===null||n===void 0||n.recordException(a.message),(0,$n.isNotConnectionError)(a)){if(!this.paused&&!this.closing&&this.emit("error",a),t.onlyEmitError)return;throw a}else if(t.delayInMs&&!this.closing&&!this.closed&&await this.delay(t.delayInMs,this.abortDelayController),i+1>=s)throw a}while(++i<s)}async moveStalledJobsToWait(){await this.trace(se.SpanKind.INTERNAL,"moveStalledJobsToWait",this.name,async e=>{let t=await this.scripts.moveStalledJobsToWait();e?.setAttributes({[se.TelemetryAttributes.WorkerId]:this.id,[se.TelemetryAttributes.WorkerName]:this.opts.name,[se.TelemetryAttributes.WorkerStalledJobs]:t}),t.forEach(n=>{e?.addEvent("job stalled",{[se.TelemetryAttributes.JobId]:n}),this.emit("stalled",n,"active")})})}moveLimitedBackToWait(e,t){return e.moveToWait(t)}};$o.Worker=Fd});var mK=y(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});var Re=(Qe(),nt(He));Re.__exportStar(Nc(),je);Re.__exportStar(Lc(),je);Re.__exportStar(Jc(),je);Re.__exportStar(Gc(),je);Re.__exportStar(Ym(),je);Re.__exportStar(Ys(),je);Re.__exportStar(v0(),je);Re.__exportStar(Nn(),je);Re.__exportStar(qo(),je);Re.__exportStar(Rd(),je);Re.__exportStar(_r(),je);Re.__exportStar(lK(),je);Re.__exportStar(cK(),je);Re.__exportStar(Pd(),je);Re.__exportStar(ya(),je);Re.__exportStar(pK(),je);Re.__exportStar(Ii(),je);Re.__exportStar(Wo(),je);Re.__exportStar(Jd(),je);Re.__exportStar(Ju(),je);Re.__exportStar(hK(),je)});var gK=y(bK=>{"use strict";Object.defineProperty(bK,"__esModule",{value:!0})});var KK=y(vK=>{"use strict";Object.defineProperty(vK,"__esModule",{value:!0})});var EK=y(SK=>{"use strict";Object.defineProperty(SK,"__esModule",{value:!0})});var IK=y(kK=>{"use strict";Object.defineProperty(kK,"__esModule",{value:!0})});var wK=y(xK=>{"use strict";Object.defineProperty(xK,"__esModule",{value:!0})});var jK=y(TK=>{"use strict";Object.defineProperty(TK,"__esModule",{value:!0})});var DK=y(AK=>{"use strict";Object.defineProperty(AK,"__esModule",{value:!0})});var OK=y(RK=>{"use strict";Object.defineProperty(RK,"__esModule",{value:!0})});var _K=y(CK=>{"use strict";Object.defineProperty(CK,"__esModule",{value:!0})});var PK=y(MK=>{"use strict";Object.defineProperty(MK,"__esModule",{value:!0})});var LK=y(NK=>{"use strict";Object.defineProperty(NK,"__esModule",{value:!0})});var JK=y(qK=>{"use strict";Object.defineProperty(qK,"__esModule",{value:!0})});var VK=y(FK=>{"use strict";Object.defineProperty(FK,"__esModule",{value:!0})});var YK=y(GK=>{"use strict";Object.defineProperty(GK,"__esModule",{value:!0})});var WK=y(BK=>{"use strict";Object.defineProperty(BK,"__esModule",{value:!0})});var zK=y(UK=>{"use strict";Object.defineProperty(UK,"__esModule",{value:!0})});var HK=y($K=>{"use strict";Object.defineProperty($K,"__esModule",{value:!0})});var ZK=y(QK=>{"use strict";Object.defineProperty(QK,"__esModule",{value:!0})});var eS=y(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.ClientType=void 0;var XK;(function(r){r.blocking="blocking",r.normal="normal"})(XK||(Ho.ClientType=XK={}))});var rS=y(tS=>{"use strict";Object.defineProperty(tS,"__esModule",{value:!0})});var iS=y(nS=>{"use strict";Object.defineProperty(nS,"__esModule",{value:!0})});var aS=y(sS=>{"use strict";Object.defineProperty(sS,"__esModule",{value:!0})});var lS=y(oS=>{"use strict";Object.defineProperty(oS,"__esModule",{value:!0})});var uS=y(cS=>{"use strict";Object.defineProperty(cS,"__esModule",{value:!0})});var fS=y(dS=>{"use strict";Object.defineProperty(dS,"__esModule",{value:!0})});var yS=y(pS=>{"use strict";Object.defineProperty(pS,"__esModule",{value:!0})});var mS=y(hS=>{"use strict";Object.defineProperty(hS,"__esModule",{value:!0})});var gS=y(bS=>{"use strict";Object.defineProperty(bS,"__esModule",{value:!0})});var KS=y(vS=>{"use strict";Object.defineProperty(vS,"__esModule",{value:!0})});var ES=y(SS=>{"use strict";Object.defineProperty(SS,"__esModule",{value:!0})});var IS=y(kS=>{"use strict";Object.defineProperty(kS,"__esModule",{value:!0})});var wS=y(xS=>{"use strict";Object.defineProperty(xS,"__esModule",{value:!0})});var jS=y(TS=>{"use strict";Object.defineProperty(TS,"__esModule",{value:!0})});var AS=y(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});var ue=(Qe(),nt(He));ue.__exportStar(gK(),ce);ue.__exportStar(KK(),ce);ue.__exportStar(EK(),ce);ue.__exportStar(IK(),ce);ue.__exportStar(wK(),ce);ue.__exportStar(jK(),ce);ue.__exportStar(DK(),ce);ue.__exportStar(OK(),ce);ue.__exportStar(_K(),ce);ue.__exportStar(PK(),ce);ue.__exportStar(LK(),ce);ue.__exportStar(JK(),ce);ue.__exportStar(VK(),ce);ue.__exportStar(YK(),ce);ue.__exportStar(WK(),ce);ue.__exportStar(zK(),ce);ue.__exportStar(HK(),ce);ue.__exportStar(ZK(),ce);ue.__exportStar(eS(),ce);ue.__exportStar(rS(),ce);ue.__exportStar(iS(),ce);ue.__exportStar(aS(),ce);ue.__exportStar(lS(),ce);ue.__exportStar(uS(),ce);ue.__exportStar(fS(),ce);ue.__exportStar(yS(),ce);ue.__exportStar(mS(),ce);ue.__exportStar(gS(),ce);ue.__exportStar(KS(),ce);ue.__exportStar(ES(),ce);ue.__exportStar(IS(),ce);ue.__exportStar(wS(),ce);ue.__exportStar(jS(),ce)});var RS=y(DS=>{"use strict";Object.defineProperty(DS,"__esModule",{value:!0})});var CS=y(OS=>{"use strict";Object.defineProperty(OS,"__esModule",{value:!0})});var MS=y(_S=>{"use strict";Object.defineProperty(_S,"__esModule",{value:!0})});var NS=y(PS=>{"use strict";Object.defineProperty(PS,"__esModule",{value:!0})});var qS=y(LS=>{"use strict";Object.defineProperty(LS,"__esModule",{value:!0})});var FS=y(JS=>{"use strict";Object.defineProperty(JS,"__esModule",{value:!0})});var GS=y(VS=>{"use strict";Object.defineProperty(VS,"__esModule",{value:!0})});var BS=y(YS=>{"use strict";Object.defineProperty(YS,"__esModule",{value:!0})});var US=y(WS=>{"use strict";Object.defineProperty(WS,"__esModule",{value:!0})});var $S=y(zS=>{"use strict";Object.defineProperty(zS,"__esModule",{value:!0})});var QS=y(HS=>{"use strict";Object.defineProperty(HS,"__esModule",{value:!0})});var ZS=y(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});var Mt=(Qe(),nt(He));Mt.__exportStar(RS(),bt);Mt.__exportStar(CS(),bt);Mt.__exportStar(MS(),bt);Mt.__exportStar(NS(),bt);Mt.__exportStar(qS(),bt);Mt.__exportStar(FS(),bt);Mt.__exportStar(GS(),bt);Mt.__exportStar(BS(),bt);Mt.__exportStar(US(),bt);Mt.__exportStar($S(),bt);Mt.__exportStar(QS(),bt)});var eE=y(XS=>{"use strict";Object.defineProperty(XS,"__esModule",{value:!0})});var tE=y(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});var fn=(Qe(),nt(He));fn.__exportStar(mK(),or);fn.__exportStar(st(),or);fn.__exportStar(AS(),or);fn.__exportStar(ZS(),or);fn.__exportStar(ct(),or);fn.__exportStar(eE(),or);fn.__exportStar(fa(),or)});var Qd=sf(hs(),1);var Mr=sf(tE(),1);import{MessageId as S_}from"@workflow/world";import Qo from"node:crypto";var Li="0123456789ABCDEFGHJKMNPQRSTVWXYZ",qi=32;var iE=16,Zo=10,rE=0xffffffffffff;var lr;(function(r){r.Base32IncorrectEncoding="B32_ENC_INVALID",r.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",r.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",r.EncodeTimeNegative="ENC_TIME_NEG",r.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",r.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",r.PRNGDetectFailure="PRNG_DETECT",r.ULIDInvalid="ULID_INVALID",r.Unexpected="UNEXPECTED",r.UUIDInvalid="UUID_INVALID"})(lr||(lr={}));var cr=class extends Error{constructor(e,t){super(`${t} (${e})`),this.name="ULIDError",this.code=e}};function m_(r){let e=Math.floor(r()*qi)%qi;return Li.charAt(e)}function nE(r,e,t){return e>r.length-1?r:r.substr(0,e)+t+r.substr(e+1)}function b_(r){let e,t=r.length,n,i,s=r,a=qi-1;for(;!e&&t-->=0;){if(n=s[t],i=Li.indexOf(n),i===-1)throw new cr(lr.Base32IncorrectEncoding,"Incorrectly encoded string");if(i===a){s=nE(s,t,Li[0]);continue}e=nE(s,t,Li[i+1])}if(typeof e=="string")return e;throw new cr(lr.Base32IncorrectEncoding,"Failed incrementing string")}function sE(r){let e=g_(),t=e&&(e.crypto||e.msCrypto)||(typeof Qo<"u"?Qo:null);if(typeof t?.getRandomValues=="function")return()=>{let n=new Uint8Array(1);return t.getRandomValues(n),n[0]/256};if(typeof t?.randomBytes=="function")return()=>t.randomBytes(1).readUInt8()/256;if(Qo?.randomBytes)return()=>Qo.randomBytes(1).readUInt8()/256;throw new cr(lr.PRNGDetectFailure,"Failed to find a reliable PRNG")}function g_(){return v_()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function aE(r,e){let t="";for(;r>0;r--)t=m_(e)+t;return t}function Vd(r,e=Zo){if(isNaN(r))throw new cr(lr.EncodeTimeValueMalformed,`Time must be a number: ${r}`);if(r>rE)throw new cr(lr.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${rE}: ${r}`);if(r<0)throw new cr(lr.EncodeTimeNegative,`Time must be positive: ${r}`);if(Number.isInteger(r)===!1)throw new cr(lr.EncodeTimeValueMalformed,`Time must be an integer: ${r}`);let t,n="";for(let i=e;i>0;i--)t=r%qi,n=Li.charAt(t)+n,r=(r-t)/qi;return n}function v_(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function Xo(r){let e=r||sE(),t=0,n;return function(s){let a=!s||isNaN(s)?Date.now():s;if(a<=t){let l=n=b_(n);return Vd(t,Zo)+l}t=a;let o=n=aE(iE,e);return Vd(a,Zo)+o}}function el(r,e){let t=e||sE(),n=!r||isNaN(r)?Date.now():r;return Vd(n,Zo)+aE(iE,t)}function Ee(r){let e={};for(let t in r)r[t]!==null?e[t]=r[t]:e[t]=void 0;return e}function K_(r){return(...e)=>{let t=process.env.WORKFLOW_DEBUG;if(!t||!(t==="1"||t==="true"||t==="*"||t.split(",").some(o=>o.trim()===r)))return;let s=`[${new Date().toISOString()}] [${r}]`,a=e.map(o=>typeof o=="object"?JSON.stringify(o,null,2):String(o)).join(" ");process.stderr.write(`${s} ${a}
|
|
8913
|
-
`)}}var Gd=K_("stackbone-workflow-world");function oE(r){return new Promise(e=>setTimeout(e,r))}var E_=r=>r instanceof Error&&r.code===-2&&r.message.startsWith("Missing lock for job"),Yd=9e5,k_=(r,e,t)=>r?.name!=="TimeoutError"?r instanceof Error?r:new Error(String(r)):new Mr.UnrecoverableError(`Step dispatch to ${e} exceeded ${t}ms and was abandoned. The step may still be running there, so it is NOT retried \u2014 a retry would run a second copy alongside it. Raise WORKFLOW_HTTP_TIMEOUT_MS if the step legitimately needs longer.`),I_={workflow:"flow",step:"step"},x_=r=>{let e=/^__(?:[a-z][a-z0-9]*_)?wkf_(workflow|step)_/.exec(r);if(!e)throw new Error(`Invalid queue name: ${r}`);return e[1]};function lE(r,e){return Promise.race([r,new Promise(t=>{setTimeout(t,e).unref?.()})])}function w_(r){return r.baseUrl?r.baseUrl:process.env.WORKFLOW_BASE_URL?process.env.WORKFLOW_BASE_URL:`http://localhost:${process.env.PORT??"3000"}`}function cE(r,e){let t=Xo(),n=e.jobPrefix||"workflow_",i={workflow:`${n}flows`,step:`${n}steps`},s=e.maxAttempts??5,a=e.backoffType??"exponential",o=e.backoffDelayMs??1e3,l=e.httpTimeoutMs??Yd,c=e.stalledInterval??3e4,u=e.maxStalledCount??1,d=e.idempotencyTtlMs??6e4,p=e.closeTimeoutMs??5e3,f={...r.options,maxRetriesPerRequest:null,keyPrefix:void 0},h=new Map,g=new Map;for(let[w,K]of Object.entries(i))h.set(w,new Mr.Queue(K,{connection:f}));let k=async(w,K,M)=>{let V=x_(w),_=h.get(V);if(!_)throw new Error(`No BullMQ queue registered for kind ${V}`);let A=S_.parse(`msg_${t()}`),m=M?.delaySeconds?Math.max(0,M.delaySeconds*1e3):void 0;return await _.add(w,{queueName:w,message:K},{jobId:A,delay:m,attempts:s,backoff:{type:a,delay:o},...M?.idempotencyKey&&{deduplication:{id:M.idempotencyKey,ttl:d}},removeOnComplete:{age:86400,count:1e3},removeOnFail:{age:7*86400}}),{messageId:A}};function E(w){let K=I_[w];return async M=>{let _=`${w_(e)}/.well-known/workflow/v1/${K}`,A=M.id??`msg_${t()}`,m;try{m=await fetch(_,{method:"POST",headers:{...e.dispatchHeaders,"content-type":"application/json","x-vqs-queue-name":M.data.queueName,"x-vqs-message-id":A,"x-vqs-message-attempt":String(M.attemptsMade+1)},body:JSON.stringify(M.data.message),signal:AbortSignal.timeout(l)})}catch(x){throw k_(x,_,l)}if(m.ok)return;let T=await m.text();if(m.status===503){let x;try{let j=JSON.parse(T);typeof j?.timeoutSeconds=="number"&&(x=j.timeoutSeconds)}catch{}if(x!==void 0)throw await M.moveToDelayed(Date.now()+x*1e3,M.token),new Mr.DelayedError}throw new Error(`HTTP ${m.status}: ${T}`)}}let I=(w,K)=>async M=>{let V=M.headers.get("x-vqs-queue-name"),_=M.headers.get("x-vqs-message-id"),A=M.headers.get("x-vqs-message-attempt");if(!V||!_||!A||!M.body)return Response.json({error:"Missing required headers or body"},{status:400});if(!V.startsWith(w))return Response.json({error:"Unhandled queue"},{status:400});let m=Number.parseInt(A,10);try{let T=await M.json(),x=await K(T,{attempt:m,queueName:V,messageId:_});return x&&typeof x.timeoutSeconds=="number"?Response.json({timeoutSeconds:x.timeoutSeconds},{status:503}):Response.json({ok:!0})}catch(T){return Gd("queue handler error:",T),Response.json({error:String(T)},{status:500})}},O=async()=>"redis";async function D(){let w=e.queueConcurrency||10;for(let[K,M]of Object.entries(i)){let V=new Mr.Worker(M,E(K),{connection:f,concurrency:w,stalledInterval:c,maxStalledCount:u,drainDelay:300});V.on("failed",(_,A)=>{console.error(`Job ${_?.id} failed:`,A)}),V.on("error",_=>{if(E_(_)){Gd("worker lock race (auto-recovered):",_ instanceof Error?_.message:_);return}console.error("Worker error:",_)}),g.set(K,V)}await Promise.all(Array.from(g.values()).map(K=>K.waitUntilReady()))}async function B(){let w={waiting:0,active:0,completed:0,failed:0,delayed:0};for(let K of h.values()){let M=await K.getJobCounts("waiting","active","completed","failed","delayed");w.waiting+=M.waiting,w.active+=M.active,w.completed+=M.completed,w.failed+=M.failed,w.delayed+=M.delayed}return w}async function ae(){await Promise.all(Array.from(g.values()).map(w=>lE(w.close(),p).catch(()=>{}))),await Promise.all(Array.from(h.values()).map(w=>lE(w.close(),p).catch(()=>{})))}return{createQueueHandler:I,getDeploymentId:O,queue:k,getQueueStats:B,async start(){await D()},async stop(){await ae()}}}var uE=r=>`${r}events_notify`;function T_(r){let e;try{e=JSON.parse(r)}catch{return null}if(!e||typeof e!="object")return null;let{runId:t,eventId:n,eventType:i,correlationId:s}=e;return typeof t!="string"||typeof n!="string"||typeof i!="string"?null:{runId:t,eventId:n,eventType:i,...typeof s=="string"?{correlationId:s}:{}}}async function dE(r,e,t){try{await r.publish(uE(e),JSON.stringify(t))}catch{}}function fE(r){let{redis:e,keyPrefix:t}=r,n=uE(t),i=e.duplicate(),s=new Set,a=i.subscribe(n).then(()=>{});return i.on("message",(o,l)=>{if(o!==n)return;let c=T_(l);if(c)for(let u of s)try{u(c)}catch(d){console.error("Error in events-notify subscriber handler:",d)}}),{on(o){return s.add(o),()=>{s.delete(o)}},ready(){return a},async stop(){s.clear(),i.removeAllListeners("message");try{await i.quit()}catch{i.disconnect()}}}}var j_=3e4,A_=1440*60*1e3,D_=`-- fifo:admit
|
|
8909
|
+
`;yd.updateRepeatableJobMillis={name:"updateRepeatableJobMillis",content:ez,keys:1}});var nv=g(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});var ie=(Mt(),Yt(Nt));ie.__exportStar(oR(),te);ie.__exportStar(aR(),te);ie.__exportStar(AR(),te);ie.__exportStar(lR(),te);ie.__exportStar(cR(),te);ie.__exportStar(uR(),te);ie.__exportStar(dR(),te);ie.__exportStar(hR(),te);ie.__exportStar(fR(),te);ie.__exportStar(gR(),te);ie.__exportStar(pR(),te);ie.__exportStar(yR(),te);ie.__exportStar(ER(),te);ie.__exportStar(IR(),te);ie.__exportStar(mR(),te);ie.__exportStar(CR(),te);ie.__exportStar(bR(),te);ie.__exportStar(QR(),te);ie.__exportStar(BR(),te);ie.__exportStar(SR(),te);ie.__exportStar(wR(),te);ie.__exportStar(DR(),te);ie.__exportStar(kR(),te);ie.__exportStar(RR(),te);ie.__exportStar(vR(),te);ie.__exportStar(xR(),te);ie.__exportStar(TR(),te);ie.__exportStar(NR(),te);ie.__exportStar(MR(),te);ie.__exportStar(KR(),te);ie.__exportStar(FR(),te);ie.__exportStar(LR(),te);ie.__exportStar(OR(),te);ie.__exportStar(UR(),te);ie.__exportStar(jR(),te);ie.__exportStar(PR(),te);ie.__exportStar(_R(),te);ie.__exportStar(JR(),te);ie.__exportStar(YR(),te);ie.__exportStar(qR(),te);ie.__exportStar(GR(),te);ie.__exportStar(VR(),te);ie.__exportStar(HR(),te);ie.__exportStar(WR(),te);ie.__exportStar(zR(),te);ie.__exportStar(ZR(),te);ie.__exportStar(XR(),te);ie.__exportStar($R(),te);ie.__exportStar(ev(),te);ie.__exportStar(tv(),te);ie.__exportStar(rv(),te)});var CA=g(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});md.RedisConnection=void 0;var tz=(Mt(),Yt(Nt)),rz=S("events"),sv=Cc(),iv=ot(),Ut=sr(),nz=gu(),sz=nv(),iz=["BullMQ: WARNING! Your redis options maxRetriesPerRequest must be null","and will be overridden by BullMQ."].join(" "),oz="BullMQ: Your redis options maxRetriesPerRequest must be null.",Ed=Symbol("bullmqClusterReconnectPromise"),Hy=Symbol("bullmqClusterPatchedForBlocking"),Id=Symbol("bullmqClusterOriginalBzpopmin"),Wy=Symbol("bullmqClusterWrappedBzpopmin"),Go=Symbol("bullmqClusterPatchRefCount"),Qi=Symbol("bullmqClusterClosingRefCount"),mA=class r extends rz.EventEmitter{constructor(e,t){if(super(),this.extraOptions=t,this.capabilities={canDoubleTimeout:!1,canBlockFor1Ms:!0},this.status="initializing",this.dbType="redis",this.packageVersion=nz.version,this.disabledBlockingClusterReconnect=!1,this.extraOptions=Object.assign({shared:!1,blocking:!0,skipVersionCheck:!1,skipWaitingForReady:!1},t),!(0,Ut.isRedisInstance)(e))this.checkBlockingOptions(iz,e),this.opts=Object.assign({port:6379,host:"127.0.0.1",retryStrategy:function(n){return Math.max(Math.min(Math.exp(n),2e4),1e3)}},e),this.extraOptions.blocking&&(this.opts.maxRetriesPerRequest=null);else{if(this._client=e,this._client.options.keyPrefix)throw new Error("BullMQ: ioredis does not support ioredis prefixes, use the prefix option instead.");(0,Ut.isRedisCluster)(this._client)?this.opts=this._client.options.redisOptions:this.opts=this._client.options,this.checkBlockingOptions(oz,this.opts,!0)}this.skipVersionCheck=t?.skipVersionCheck||!!(this.opts&&this.opts.skipVersionCheck),this.handleClientError=n=>{this.emit("error",n)},this.handleClientClose=()=>{this.emit("close")},this.handleClientReady=()=>{this.emit("ready")},this.initializing=this.init(),this.initializing.catch(n=>this.emit("error",n))}checkBlockingOptions(e,t,n=!1){if(this.extraOptions.blocking&&t&&t.maxRetriesPerRequest){if(n)throw new Error(e);console.error(e)}}static async waitUntilReady(e){if(e.status==="ready"||e.status==="connect"&&(0,Ut.isRedisCluster)(e))return;if(e.status==="wait")return e.connect();if(e.status==="end")throw new Error(iv.CONNECTION_CLOSED_ERROR_MSG);let t,n,s;try{await new Promise((i,o)=>{let a;s=A=>{a=A},t=()=>{i()},n=()=>{e.status!=="end"?o(a||new Error(iv.CONNECTION_CLOSED_ERROR_MSG)):a?o(a):i()},(0,Ut.increaseMaxListeners)(e,3),e.once("ready",t),e.on("end",n),e.once("error",s)})}finally{e.removeListener("end",n),e.removeListener("error",s),e.removeListener("ready",t),(0,Ut.decreaseMaxListeners)(e,3)}}get client(){return this.initializing}loadCommands(e,t){let n=t||sz;for(let s in n){let i=`${n[s].name}:${e}`;this._client[i]||this._client.defineCommand(i,{numberOfKeys:n[s].keys,lua:n[s].content})}}async init(){if(!this._client){let e=this.opts,{url:t}=e,n=tz.__rest(e,["url"]);this._client=t?new sv.default(t,n):new sv.default(n)}if((0,Ut.increaseMaxListeners)(this._client,3),this._client.on("error",this.handleClientError),this._client.on("close",this.handleClientClose),this._client.on("ready",this.handleClientReady),this.patchBlockingClusterClient(),this.extraOptions.skipWaitingForReady||await r.waitUntilReady(this._client),this.loadCommands(this.packageVersion),this._client.status!=="end"){let e=await this.getRedisVersionAndType();if(this.version=e.version,this.dbType=e.databaseType,this.skipVersionCheck!==!0&&!this.closing){if((0,Ut.isRedisVersionLowerThan)(this.version,r.minimumVersion,this.dbType))throw new Error(`Redis version needs to be greater or equal than ${r.minimumVersion} Current: ${this.version}`);(0,Ut.isRedisVersionLowerThan)(this.version,r.recommendedMinimumVersion,this.dbType)&&console.warn(`It is highly recommended to use a minimum Redis version of ${r.recommendedMinimumVersion}
|
|
8910
|
+
Current: ${this.version}`)}this.capabilities={canDoubleTimeout:!(0,Ut.isRedisVersionLowerThan)(this.version,"6.0.0",this.dbType),canBlockFor1Ms:!(0,Ut.isRedisVersionLowerThan)(this.version,"7.0.8",this.dbType)},this.status="ready"}return this._client}patchBlockingClusterClient(){let e=this._client,t=e;if(!this.extraOptions.blocking||!(0,Ut.isRedisCluster)(e)||typeof t.bzpopmin!="function"||(t[Go]=(t[Go]||0)+1,this.patchedBlockingClusterClient=t,t[Hy]))return;let n=t.bzpopmin,s=async(...i)=>{await r.reconnectClusterIfNeeded(t);try{return await n.apply(t,i)}catch(o){let a=o;if(r.shouldReconnectClusterAfterError(t,a))try{await r.reconnectCluster(t)}catch{}throw a}};t[Id]=n,t[Wy]=s,t[Hy]=!0,t.bzpopmin=s}disableBlockingClusterReconnect(){let e=this.patchedBlockingClusterClient;!e||this.disabledBlockingClusterReconnect||(e[Qi]=(e[Qi]||0)+1,this.disabledBlockingClusterReconnect=!0)}releaseBlockingClusterClientPatch(){let e=this.patchedBlockingClusterClient;if(!e)return;if(this.disabledBlockingClusterReconnect){let n=(e[Qi]||1)-1;n>0?e[Qi]=n:delete e[Qi],this.disabledBlockingClusterReconnect=!1}let t=(e[Go]||1)-1;if(t>0){e[Go]=t,this.patchedBlockingClusterClient=void 0;return}e[Id]&&e.bzpopmin===e[Wy]&&(e.bzpopmin=e[Id]),delete e[Go],delete e[Qi],delete e[Id],delete e[Wy],delete e[Hy],this.patchedBlockingClusterClient=void 0}static isClusterWithEmptyNodes(e){return typeof e.nodes=="function"&&e.nodes().length===0}static isReconnectingDisabled(e){let t=e[Go]||0,n=e[Qi]||0;return t===0||n>=t||e.status==="end"||e.status==="closing"}static async reconnectClusterIfNeeded(e){!r.isReconnectingDisabled(e)&&r.isClusterWithEmptyNodes(e)&&await r.reconnectCluster(e)}static shouldReconnectClusterAfterError(e,t){var n,s;if(r.isReconnectingDisabled(e))return!1;let i=[t.message,(n=t.cause)===null||n===void 0?void 0:n.message,(s=t.lastNodeError)===null||s===void 0?void 0:s.message].join(" ");return r.isClusterWithEmptyNodes(e)||/Command timed out|Failed to refresh slots cache/i.test(i)}static async reconnectCluster(e){r.isReconnectingDisabled(e)||(e[Ed]||(e[Ed]=(async()=>{e.disconnect(!1),await e.connect()})().finally(()=>{e[Ed]=null})),await e[Ed])}async disconnect(e=!0){let t=await this.client;if(t.status!=="end"){let n,s;if(!e)return t.disconnect();let i=new Promise((o,a)=>{(0,Ut.increaseMaxListeners)(t,2),t.once("end",o),t.once("error",a),n=o,s=a});t.disconnect();try{await i}finally{(0,Ut.decreaseMaxListeners)(t,2),t.removeListener("end",n),t.removeListener("error",s)}}}async reconnect(){return(await this.client).connect()}async close(e=!1){if(!this.closing){let t=this.status;this.status="closing",this.closing=!0,this.disableBlockingClusterReconnect();try{t==="ready"&&await this.initializing,this.extraOptions.shared||(t=="initializing"||e?this._client.disconnect():await this._client.quit(),this._client.status="end")}catch(n){if((0,Ut.isNotConnectionError)(n))throw n}finally{this.releaseBlockingClusterClientPatch(),this._client.off("error",this.handleClientError),this._client.off("close",this.handleClientClose),this._client.off("ready",this.handleClientReady),(0,Ut.decreaseMaxListeners)(this._client,3),this.removeAllListeners(),this.status="closed"}}}async getRedisVersionAndType(){if(this.skipVersionCheck)return{version:r.minimumVersion,databaseType:"redis"};let e=await this._client.info(),t="redis_version:",n="maxmemory_policy:",s=e.split(/\r?\n/),i,o="redis";for(let a=0;a<s.length;a++){let A=s[a];if(A.includes("dragonfly_version:")||A.includes("server:Dragonfly")?(o="dragonfly",A.indexOf("dragonfly_version:")===0&&(i=A.substr(18))):A.includes("valkey_version:")||A.includes("server:Valkey")?(o="valkey",A.indexOf("valkey_version:")===0&&(i=A.substr(15))):A.indexOf(t)===0&&(i=A.substr(t.length),o==="redis"&&(o="redis")),A.indexOf(n)===0){let l=A.substr(n.length);l!=="noeviction"&&console.warn(`IMPORTANT! Eviction policy is ${l}. It should be "noeviction"`)}}if(!i){for(let a of s)if(a.includes("version:")){let A=a.split(":");if(A.length>=2){i=A[1];break}}}return{version:i||r.minimumVersion,databaseType:o}}get redisVersion(){return this.version}get databaseType(){return this.dbType}};md.RedisConnection=mA;mA.minimumVersion="5.0.0";mA.recommendedMinimumVersion="6.2.0"});var ov=g(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});bd.FlowProducer=void 0;var az=S("events"),ws=sr(),Az=qo(),Cd=mu(),lz=CA(),fn=Gt(),zy=class extends az.EventEmitter{constructor(e={connection:{}},t=lz.RedisConnection){super(),this.opts=e,this.opts=Object.assign({prefix:"bull"},e),this.connection=new t(e.connection,{shared:(0,ws.isRedisInstance)(e.connection),blocking:!1,skipVersionCheck:e.skipVersionCheck,skipWaitingForReady:e.skipWaitingForReady}),this.connection.on("error",n=>this.emit("error",n)),this.connection.on("close",()=>{this.closing||this.emit("ioredis:close")}),this.queueKeys=new Cd.QueueKeys(e.prefix),e?.telemetry&&(this.telemetry=e.telemetry)}emit(e,...t){return super.emit(e,...t)}off(e,t){return super.off(e,t),this}on(e,t){return super.on(e,t),this}once(e,t){return super.once(e,t),this}get client(){return this.connection.client}get Job(){return Az.Job}waitUntilReady(){return this.client}async add(e,t){var n;if(this.closing)return;let i=(await this.connection.client).multi(),o=(n=e?.opts)===null||n===void 0?void 0:n.parent,a=(0,ws.getParentKey)(o),A=a?`${a}:dependencies`:void 0;return(0,ws.trace)(this.telemetry,fn.SpanKind.PRODUCER,e.queueName,"addFlow",e.queueName,async l=>{l?.setAttributes({[fn.TelemetryAttributes.FlowName]:e.name});let c=await this.addNode({multi:i,node:e,queuesOpts:t?.queuesOptions,parent:{parentOpts:o,parentDependenciesKey:A}}),u=await i.exec(),[d]=u||[];if(d){let[h,f]=d;if(h)throw h;if(typeof f=="number"&&f<0)throw this.toFlowError(f,a);typeof f=="string"&&(c.job.id=f)}return c})}async getFlow(e){if(this.closing)return;let t=await this.connection.client,n=Object.assign({depth:10,maxChildren:20,prefix:this.opts.prefix},e);return this.getNode(t,n)}async addBulk(e){if(this.closing)return;let n=(await this.connection.client).multi();return(0,ws.trace)(this.telemetry,fn.SpanKind.PRODUCER,"","addBulkFlows","",async s=>{s?.setAttributes({[fn.TelemetryAttributes.BulkCount]:e.length,[fn.TelemetryAttributes.BulkNames]:e.map(a=>a.name).join(",")});let i=await this.addNodes(n,e),o=await n.exec();for(let a=0;a<i.length;++a){let A=o?.[a];if(!A)continue;let[l,c]=A;!l&&typeof c=="string"&&(i[a].job.id=c)}return i})}async addNode({multi:e,node:t,parent:n,queuesOpts:s}){var i,o;let a=t.prefix||this.opts.prefix,A=this.queueFromNode(t,new Cd.QueueKeys(a),a),l=s&&s[t.queueName],c=(i=l?.defaultJobOptions)!==null&&i!==void 0?i:{},u=((o=t.opts)===null||o===void 0?void 0:o.jobId)||(0,ws.randomUUID)();return(0,ws.trace)(this.telemetry,fn.SpanKind.PRODUCER,t.queueName,"addNode",t.queueName,async(d,h)=>{var f,p;d?.setAttributes({[fn.TelemetryAttributes.JobName]:t.name,[fn.TelemetryAttributes.JobId]:u});let I=t.opts,y=I?.telemetry;if(h&&I){let R=(f=I.telemetry)===null||f===void 0?void 0:f.omitContext,L=((p=I.telemetry)===null||p===void 0?void 0:p.metadata)||!R&&h;(L||R)&&(y={metadata:L,omitContext:R})}let m=new this.Job(A,t.name,t.data,Object.assign(Object.assign(Object.assign({},c),I),{parent:n?.parentOpts,telemetry:y}),u),w=(0,ws.getParentKey)(n?.parentOpts);if(t.children&&t.children.length>0){let R=u,L=new Cd.QueueKeys(t.prefix||this.opts.prefix);await m.addJob(e,{parentDependenciesKey:n?.parentDependenciesKey,addToWaitingChildren:!0,parentKey:w});let j=`${L.toKey(t.queueName,R)}:dependencies`,v=await this.addChildren({multi:e,nodes:t.children,parent:{parentOpts:{id:R,queue:L.getQueueQualifiedName(t.queueName)},parentDependenciesKey:j},queuesOpts:s});return{job:m,children:v}}else return await m.addJob(e,{parentDependenciesKey:n?.parentDependenciesKey,parentKey:w}),{job:m}})}addNodes(e,t){return Promise.all(t.map(n=>{var s;let i=(s=n?.opts)===null||s===void 0?void 0:s.parent,o=(0,ws.getParentKey)(i),a=o?`${o}:dependencies`:void 0;return this.addNode({multi:e,node:n,parent:{parentOpts:i,parentDependenciesKey:a}})}))}async getNode(e,t){let n=this.queueFromNode(t,new Cd.QueueKeys(t.prefix),t.prefix),s=await this.Job.fromId(n,t.id);if(s){let{processed:i={},unprocessed:o=[],failed:a=[],ignored:A={}}=await s.getDependencies({failed:{count:t.maxChildren},processed:{count:t.maxChildren},unprocessed:{count:t.maxChildren},ignored:{count:t.maxChildren}}),l=Object.keys(i),c=Object.keys(A),u=l.length+o.length+c.length+a.length,d=t.depth-1;if(u>0&&d){let h=await this.getChildren(e,[...l,...o,...a,...c],d,t.maxChildren);return{job:s,children:h}}else return{job:s}}}addChildren({multi:e,nodes:t,parent:n,queuesOpts:s}){return Promise.all(t.map(i=>this.addNode({multi:e,node:i,parent:n,queuesOpts:s})))}getChildren(e,t,n,s){let i=o=>{let[a,A,l]=o.split(":");return this.getNode(e,{id:l,queueName:A,prefix:a,depth:n,maxChildren:s})};return Promise.all([...t.map(i)])}queueFromNode(e,t,n){return{client:this.connection.client,name:e.queueName,keys:t.getKeys(e.queueName),toKey:s=>t.toKey(e.queueName,s),opts:{prefix:n,connection:{}},qualifiedName:t.getQueueQualifiedName(e.queueName),closing:this.closing,waitUntilReady:async()=>this.connection.client,removeListener:this.removeListener.bind(this),emit:this.emit.bind(this),on:this.on.bind(this),redisVersion:this.connection.redisVersion,databaseType:this.connection.databaseType,trace:async()=>{}}}toFlowError(e,t){let n;switch(e){case fn.ErrorCode.ParentJobNotExist:n=new Error(`Missing key for parent job ${t}. addJob`);break;case fn.ErrorCode.ParentJobCannotBeReplaced:n=new Error(`The parent job ${t} cannot be replaced. addJob`);break;default:n=new Error(`Unknown code ${e} error for addJob`)}return n.code=e,n}async close(){this.closing||(this.closing=this.connection.close()),await this.closing}disconnect(){return this.connection.disconnect()}};bd.FlowProducer=zy});var Fx=g(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});var _n=class extends Error{},oE=class extends _n{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}},aE=class extends _n{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}},AE=class extends _n{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}},Rs=class extends _n{},vd=class extends _n{constructor(e){super(`Invalid unit ${e}`)}},yt=class extends _n{},gn=class extends _n{constructor(){super("Zone is an abstract class")}},Y="numeric",Wr="short",lr="long",xd={year:Y,month:Y,day:Y},Lv={year:Y,month:Wr,day:Y},cz={year:Y,month:Wr,day:Y,weekday:Wr},Ov={year:Y,month:lr,day:Y},Uv={year:Y,month:lr,day:Y,weekday:lr},jv={hour:Y,minute:Y},Pv={hour:Y,minute:Y,second:Y},_v={hour:Y,minute:Y,second:Y,timeZoneName:Wr},Jv={hour:Y,minute:Y,second:Y,timeZoneName:lr},Yv={hour:Y,minute:Y,hourCycle:"h23"},qv={hour:Y,minute:Y,second:Y,hourCycle:"h23"},Gv={hour:Y,minute:Y,second:Y,hourCycle:"h23",timeZoneName:Wr},Vv={hour:Y,minute:Y,second:Y,hourCycle:"h23",timeZoneName:lr},Hv={year:Y,month:Y,day:Y,hour:Y,minute:Y},Wv={year:Y,month:Y,day:Y,hour:Y,minute:Y,second:Y},zv={year:Y,month:Wr,day:Y,hour:Y,minute:Y},Zv={year:Y,month:Wr,day:Y,hour:Y,minute:Y,second:Y},uz={year:Y,month:Wr,day:Y,weekday:Wr,hour:Y,minute:Y},Xv={year:Y,month:lr,day:Y,hour:Y,minute:Y,timeZoneName:Wr},$v={year:Y,month:lr,day:Y,hour:Y,minute:Y,second:Y,timeZoneName:Wr},ex={year:Y,month:lr,day:Y,weekday:lr,hour:Y,minute:Y,timeZoneName:lr},tx={year:Y,month:lr,day:Y,weekday:lr,hour:Y,minute:Y,second:Y,timeZoneName:lr},xs=class{get type(){throw new gn}get name(){throw new gn}get ianaName(){return this.name}get isUniversal(){throw new gn}offsetName(e,t){throw new gn}formatOffset(e,t){throw new gn}offset(e){throw new gn}equals(e){throw new gn}get isValid(){throw new gn}},Zy=null,DA=class r extends xs{static get instance(){return Zy===null&&(Zy=new r),Zy}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:n}){return dx(e,t,n)}formatOffset(e,t){return wA(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}},lE=new Map;function dz(r){let e=lE.get(r);return e===void 0&&(e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:r,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),lE.set(r,e)),e}var hz={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function fz(r,e){let t=r.format(e).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(t),[,s,i,o,a,A,l,c]=n;return[o,s,i,a,A,l,c]}function gz(r,e){let t=r.formatToParts(e),n=[];for(let s=0;s<t.length;s++){let{type:i,value:o}=t[s],a=hz[i];i==="era"?n[a]=o:Ae(a)||(n[a]=parseInt(o,10))}return n}var Xy=new Map,Jn=class r extends xs{static create(e){let t=Xy.get(e);return t===void 0&&Xy.set(e,t=new r(e)),t}static resetCache(){Xy.clear(),lE.clear()}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch{return!1}}constructor(e){super(),this.zoneName=e,this.valid=r.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:t,locale:n}){return dx(e,t,n,this.name)}formatOffset(e,t){return wA(this.offset(e),t)}offset(e){if(!this.valid)return NaN;let t=new Date(e);if(isNaN(t))return NaN;let n=dz(this.name),[s,i,o,a,A,l,c]=n.formatToParts?gz(n,t):fz(n,t);a==="BC"&&(s=-Math.abs(s)+1);let d=Od({year:s,month:i,day:o,hour:A===24?0:A,minute:l,second:c,millisecond:0}),h=+t,f=h%1e3;return h-=f>=0?f:1e3+f,(d-h)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}},av={};function pz(r,e={}){let t=JSON.stringify([r,e]),n=av[t];return n||(n=new Intl.ListFormat(r,e),av[t]=n),n}var cE=new Map;function uE(r,e={}){let t=JSON.stringify([r,e]),n=cE.get(t);return n===void 0&&(n=new Intl.DateTimeFormat(r,e),cE.set(t,n)),n}var dE=new Map;function yz(r,e={}){let t=JSON.stringify([r,e]),n=dE.get(t);return n===void 0&&(n=new Intl.NumberFormat(r,e),dE.set(t,n)),n}var hE=new Map;function Ez(r,e={}){let{base:t,...n}=e,s=JSON.stringify([r,n]),i=hE.get(s);return i===void 0&&(i=new Intl.RelativeTimeFormat(r,e),hE.set(s,i)),i}var QA=null;function Iz(){return QA||(QA=new Intl.DateTimeFormat().resolvedOptions().locale,QA)}var fE=new Map;function rx(r){let e=fE.get(r);return e===void 0&&(e=new Intl.DateTimeFormat(r).resolvedOptions(),fE.set(r,e)),e}var gE=new Map;function mz(r){let e=gE.get(r);if(!e){let t=new Intl.Locale(r);e="getWeekInfo"in t?t.getWeekInfo():t.weekInfo,"minimalDays"in e||(e={...nx,...e}),gE.set(r,e)}return e}function Cz(r){let e=r.indexOf("-x-");e!==-1&&(r=r.substring(0,e));let t=r.indexOf("-u-");if(t===-1)return[r];{let n,s;try{n=uE(r).resolvedOptions(),s=r}catch{let A=r.substring(0,t);n=uE(A).resolvedOptions(),s=A}let{numberingSystem:i,calendar:o}=n;return[s,i,o]}}function bz(r,e,t){return(t||e)&&(r.includes("-u-")||(r+="-u"),t&&(r+=`-ca-${t}`),e&&(r+=`-nu-${e}`)),r}function Qz(r){let e=[];for(let t=1;t<=12;t++){let n=He.utc(2009,t,1);e.push(r(n))}return e}function Bz(r){let e=[];for(let t=1;t<=7;t++){let n=He.utc(2016,11,13+t);e.push(r(n))}return e}function Qd(r,e,t,n){let s=r.listingMode();return s==="error"?null:s==="en"?t(e):n(e)}function Sz(r){return r.numberingSystem&&r.numberingSystem!=="latn"?!1:r.numberingSystem==="latn"||!r.locale||r.locale.startsWith("en")||rx(r.locale).numberingSystem==="latn"}var pE=class{constructor(e,t,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;let{padTo:s,floor:i,...o}=n;if(!t||Object.keys(o).length>0){let a={useGrouping:!1,...n};n.padTo>0&&(a.minimumIntegerDigits=n.padTo),this.inf=yz(e,a)}}format(e){if(this.inf){let t=this.floor?Math.floor(e):e;return this.inf.format(t)}else{let t=this.floor?Math.floor(e):DE(e,3);return at(t,this.padTo)}}},yE=class{constructor(e,t,n){this.opts=n,this.originalZone=void 0;let s;if(this.opts.timeZone)this.dt=e;else if(e.zone.type==="fixed"){let o=-1*(e.offset/60),a=o>=0?`Etc/GMT+${o}`:`Etc/GMT${o}`;e.offset!==0&&Jn.create(a).valid?(s=a,this.dt=e):(s="UTC",this.dt=e.offset===0?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else e.zone.type==="system"?this.dt=e:e.zone.type==="iana"?(this.dt=e,s=e.zone.name):(s="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);let i={...this.opts};i.timeZone=i.timeZone||s,this.dtf=uE(t,i)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(t=>{if(t.type==="timeZoneName"){let n=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...t,value:n}}else return t}):e}resolvedOptions(){return this.dtf.resolvedOptions()}},EE=class{constructor(e,t,n){this.opts={style:"long",...n},!t&&cx()&&(this.rtf=Ez(e,n))}format(e,t){return this.rtf?this.rtf.format(e,t):Gz(t,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}},nx={firstDay:1,minimalDays:4,weekend:[6,7]},Ue=class r{static fromOpts(e){return r.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,t,n,s,i=!1){let o=e||Ye.defaultLocale,a=o||(i?"en-US":Iz()),A=t||Ye.defaultNumberingSystem,l=n||Ye.defaultOutputCalendar,c=mE(s)||Ye.defaultWeekSettings;return new r(a,A,l,c,o)}static resetCache(){QA=null,cE.clear(),dE.clear(),hE.clear(),fE.clear(),gE.clear()}static fromObject({locale:e,numberingSystem:t,outputCalendar:n,weekSettings:s}={}){return r.create(e,t,n,s)}constructor(e,t,n,s,i){let[o,a,A]=Cz(e);this.locale=o,this.numberingSystem=t||a||null,this.outputCalendar=n||A||null,this.weekSettings=s,this.intl=bz(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=i,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=Sz(this)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),t=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&t?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:r.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,mE(e.weekSettings)||this.weekSettings,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1){return Qd(this,e,gx,()=>{let n=this.intl==="ja"||this.intl.startsWith("ja-");t&=!n;let s=t?{month:e,day:"numeric"}:{month:e},i=t?"format":"standalone";if(!this.monthsCache[i][e]){let o=n?a=>this.dtFormatter(a,s).format():a=>this.extract(a,s,"month");this.monthsCache[i][e]=Qz(o)}return this.monthsCache[i][e]})}weekdays(e,t=!1){return Qd(this,e,Ex,()=>{let n=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},s=t?"format":"standalone";return this.weekdaysCache[s][e]||(this.weekdaysCache[s][e]=Bz(i=>this.extract(i,n,"weekday"))),this.weekdaysCache[s][e]})}meridiems(){return Qd(this,void 0,()=>Ix,()=>{if(!this.meridiemCache){let e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[He.utc(2016,11,13,9),He.utc(2016,11,13,19)].map(t=>this.extract(t,e,"dayperiod"))}return this.meridiemCache})}eras(e){return Qd(this,e,mx,()=>{let t={era:e};return this.eraCache[e]||(this.eraCache[e]=[He.utc(-40,1,1),He.utc(2017,1,1)].map(n=>this.extract(n,t,"era"))),this.eraCache[e]})}extract(e,t,n){let s=this.dtFormatter(e,t),i=s.formatToParts(),o=i.find(a=>a.type.toLowerCase()===n);return o?o.value:null}numberFormatter(e={}){return new pE(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new yE(e,this.intl,t)}relFormatter(e={}){return new EE(this.intl,this.isEnglish(),e)}listFormatter(e={}){return pz(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||rx(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:ux()?mz(this.locale):nx}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}},$y=null,cr=class r extends xs{static get utcInstance(){return $y===null&&($y=new r(0)),$y}static instance(e){return e===0?r.utcInstance:new r(e)}static parseSpecifier(e){if(e){let t=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(t)return new r(Ud(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${wA(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${wA(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return wA(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}},Td=class extends xs{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function ks(r,e){if(Ae(r)||r===null)return e;if(r instanceof xs)return r;if(xz(r)){let t=r.toLowerCase();return t==="default"?e:t==="local"||t==="system"?DA.instance:t==="utc"||t==="gmt"?cr.utcInstance:cr.parseSpecifier(t)||Jn.create(r)}else return vs(r)?cr.instance(r):typeof r=="object"&&"offset"in r&&typeof r.offset=="function"?r:new Td(r)}var QE={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},Av={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},wz=QE.hanidec.replace(/[\[|\]]/g,"").split("");function Dz(r){let e=parseInt(r,10);if(isNaN(e)){e="";for(let t=0;t<r.length;t++){let n=r.charCodeAt(t);if(r[t].search(QE.hanidec)!==-1)e+=wz.indexOf(r[t]);else for(let s in Av){let[i,o]=Av[s];n>=i&&n<=o&&(e+=n-i)}}return parseInt(e,10)}else return e}var IE=new Map;function kz(){IE.clear()}function Vr({numberingSystem:r},e=""){let t=r||"latn",n=IE.get(t);n===void 0&&(n=new Map,IE.set(t,n));let s=n.get(e);return s===void 0&&(s=new RegExp(`${QE[t]}${e}`),n.set(e,s)),s}var lv=()=>Date.now(),cv="system",uv=null,dv=null,hv=null,fv=60,gv,pv=null,Ye=class{static get now(){return lv}static set now(e){lv=e}static set defaultZone(e){cv=e}static get defaultZone(){return ks(cv,DA.instance)}static get defaultLocale(){return uv}static set defaultLocale(e){uv=e}static get defaultNumberingSystem(){return dv}static set defaultNumberingSystem(e){dv=e}static get defaultOutputCalendar(){return hv}static set defaultOutputCalendar(e){hv=e}static get defaultWeekSettings(){return pv}static set defaultWeekSettings(e){pv=mE(e)}static get twoDigitCutoffYear(){return fv}static set twoDigitCutoffYear(e){fv=e%100}static get throwOnInvalid(){return gv}static set throwOnInvalid(e){gv=e}static resetCaches(){Ue.resetCache(),Jn.resetCache(),He.resetCache(),kz()}},Ar=class{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},sx=[0,31,59,90,120,151,181,212,243,273,304,334],ix=[0,31,60,91,121,152,182,213,244,274,305,335];function xr(r,e){return new Ar("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${r}, which is invalid`)}function BE(r,e,t){let n=new Date(Date.UTC(r,e-1,t));r<100&&r>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);let s=n.getUTCDay();return s===0?7:s}function ox(r,e,t){return t+(RA(r)?ix:sx)[e-1]}function ax(r,e){let t=RA(r)?ix:sx,n=t.findIndex(i=>i<e),s=e-t[n];return{month:n+1,day:s}}function SE(r,e){return(r-e+7)%7+1}function Nd(r,e=4,t=1){let{year:n,month:s,day:i}=r,o=ox(n,s,i),a=SE(BE(n,s,i),t),A=Math.floor((o-a+14-e)/7),l;return A<1?(l=n-1,A=kA(l,e,t)):A>kA(n,e,t)?(l=n+1,A=1):l=n,{weekYear:l,weekNumber:A,weekday:a,...jd(r)}}function yv(r,e=4,t=1){let{weekYear:n,weekNumber:s,weekday:i}=r,o=SE(BE(n,1,e),t),a=zo(n),A=s*7+i-o-7+e,l;A<1?(l=n-1,A+=zo(l)):A>a?(l=n+1,A-=zo(n)):l=n;let{month:c,day:u}=ax(l,A);return{year:l,month:c,day:u,...jd(r)}}function eE(r){let{year:e,month:t,day:n}=r,s=ox(e,t,n);return{year:e,ordinal:s,...jd(r)}}function Ev(r){let{year:e,ordinal:t}=r,{month:n,day:s}=ax(e,t);return{year:e,month:n,day:s,...jd(r)}}function Iv(r,e){if(!Ae(r.localWeekday)||!Ae(r.localWeekNumber)||!Ae(r.localWeekYear)){if(!Ae(r.weekday)||!Ae(r.weekNumber)||!Ae(r.weekYear))throw new Rs("Cannot mix locale-based week fields with ISO-based week fields");return Ae(r.localWeekday)||(r.weekday=r.localWeekday),Ae(r.localWeekNumber)||(r.weekNumber=r.localWeekNumber),Ae(r.localWeekYear)||(r.weekYear=r.localWeekYear),delete r.localWeekday,delete r.localWeekNumber,delete r.localWeekYear,{minDaysInFirstWeek:e.getMinDaysInFirstWeek(),startOfWeek:e.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function Rz(r,e=4,t=1){let n=Ld(r.weekYear),s=Tr(r.weekNumber,1,kA(r.weekYear,e,t)),i=Tr(r.weekday,1,7);return n?s?i?!1:xr("weekday",r.weekday):xr("week",r.weekNumber):xr("weekYear",r.weekYear)}function vz(r){let e=Ld(r.year),t=Tr(r.ordinal,1,zo(r.year));return e?t?!1:xr("ordinal",r.ordinal):xr("year",r.year)}function Ax(r){let e=Ld(r.year),t=Tr(r.month,1,12),n=Tr(r.day,1,Md(r.year,r.month));return e?t?n?!1:xr("day",r.day):xr("month",r.month):xr("year",r.year)}function lx(r){let{hour:e,minute:t,second:n,millisecond:s}=r,i=Tr(e,0,23)||e===24&&t===0&&n===0&&s===0,o=Tr(t,0,59),a=Tr(n,0,59),A=Tr(s,0,999);return i?o?a?A?!1:xr("millisecond",s):xr("second",n):xr("minute",t):xr("hour",e)}function Ae(r){return typeof r>"u"}function vs(r){return typeof r=="number"}function Ld(r){return typeof r=="number"&&r%1===0}function xz(r){return typeof r=="string"}function Tz(r){return Object.prototype.toString.call(r)==="[object Date]"}function cx(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function ux(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function Nz(r){return Array.isArray(r)?r:[r]}function mv(r,e,t){if(r.length!==0)return r.reduce((n,s)=>{let i=[e(s),s];return n&&t(n[0],i[0])===n[0]?n:i},null)[1]}function Mz(r,e){return e.reduce((t,n)=>(t[n]=r[n],t),{})}function Xo(r,e){return Object.prototype.hasOwnProperty.call(r,e)}function mE(r){if(r==null)return null;if(typeof r!="object")throw new yt("Week settings must be an object");if(!Tr(r.firstDay,1,7)||!Tr(r.minimalDays,1,7)||!Array.isArray(r.weekend)||r.weekend.some(e=>!Tr(e,1,7)))throw new yt("Invalid week settings");return{firstDay:r.firstDay,minimalDays:r.minimalDays,weekend:Array.from(r.weekend)}}function Tr(r,e,t){return Ld(r)&&r>=e&&r<=t}function Kz(r,e){return r-e*Math.floor(r/e)}function at(r,e=2){let t=r<0,n;return t?n="-"+(""+-r).padStart(e,"0"):n=(""+r).padStart(e,"0"),n}function Ds(r){if(!(Ae(r)||r===null||r===""))return parseInt(r,10)}function Bi(r){if(!(Ae(r)||r===null||r===""))return parseFloat(r)}function wE(r){if(!(Ae(r)||r===null||r==="")){let e=parseFloat("0."+r)*1e3;return Math.floor(e)}}function DE(r,e,t="round"){let n=10**e;switch(t){case"expand":return r>0?Math.ceil(r*n)/n:Math.floor(r*n)/n;case"trunc":return Math.trunc(r*n)/n;case"round":return Math.round(r*n)/n;case"floor":return Math.floor(r*n)/n;case"ceil":return Math.ceil(r*n)/n;default:throw new RangeError(`Value rounding ${t} is out of range`)}}function RA(r){return r%4===0&&(r%100!==0||r%400===0)}function zo(r){return RA(r)?366:365}function Md(r,e){let t=Kz(e-1,12)+1,n=r+(e-t)/12;return t===2?RA(n)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][t-1]}function Od(r){let e=Date.UTC(r.year,r.month-1,r.day,r.hour,r.minute,r.second,r.millisecond);return r.year<100&&r.year>=0&&(e=new Date(e),e.setUTCFullYear(r.year,r.month-1,r.day)),+e}function Cv(r,e,t){return-SE(BE(r,1,e),t)+e-1}function kA(r,e=4,t=1){let n=Cv(r,e,t),s=Cv(r+1,e,t);return(zo(r)-n+s)/7}function CE(r){return r>99?r:r>Ye.twoDigitCutoffYear?1900+r:2e3+r}function dx(r,e,t,n=null){let s=new Date(r),i={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(i.timeZone=n);let o={timeZoneName:e,...i},a=new Intl.DateTimeFormat(t,o).formatToParts(s).find(A=>A.type.toLowerCase()==="timezonename");return a?a.value:null}function Ud(r,e){let t=parseInt(r,10);Number.isNaN(t)&&(t=0);let n=parseInt(e,10)||0,s=t<0||Object.is(t,-0)?-n:n;return t*60+s}function hx(r){let e=Number(r);if(typeof r=="boolean"||r===""||!Number.isFinite(e))throw new yt(`Invalid unit value ${r}`);return e}function Kd(r,e){let t={};for(let n in r)if(Xo(r,n)){let s=r[n];if(s==null)continue;t[e(n)]=hx(s)}return t}function wA(r,e){let t=Math.trunc(Math.abs(r/60)),n=Math.trunc(Math.abs(r%60)),s=r>=0?"+":"-";switch(e){case"short":return`${s}${at(t,2)}:${at(n,2)}`;case"narrow":return`${s}${t}${n>0?`:${n}`:""}`;case"techie":return`${s}${at(t,2)}${at(n,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}function jd(r){return Mz(r,["hour","minute","second","millisecond"])}var Fz=["January","February","March","April","May","June","July","August","September","October","November","December"],fx=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Lz=["J","F","M","A","M","J","J","A","S","O","N","D"];function gx(r){switch(r){case"narrow":return[...Lz];case"short":return[...fx];case"long":return[...Fz];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var px=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],yx=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],Oz=["M","T","W","T","F","S","S"];function Ex(r){switch(r){case"narrow":return[...Oz];case"short":return[...yx];case"long":return[...px];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var Ix=["AM","PM"],Uz=["Before Christ","Anno Domini"],jz=["BC","AD"],Pz=["B","A"];function mx(r){switch(r){case"narrow":return[...Pz];case"short":return[...jz];case"long":return[...Uz];default:return null}}function _z(r){return Ix[r.hour<12?0:1]}function Jz(r,e){return Ex(e)[r.weekday-1]}function Yz(r,e){return gx(e)[r.month-1]}function qz(r,e){return mx(e)[r.year<0?0:1]}function Gz(r,e,t="always",n=!1){let s={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},i=["hours","minutes","seconds"].indexOf(r)===-1;if(t==="auto"&&i){let u=r==="days";switch(e){case 1:return u?"tomorrow":`next ${s[r][0]}`;case-1:return u?"yesterday":`last ${s[r][0]}`;case 0:return u?"today":`this ${s[r][0]}`}}let o=Object.is(e,-0)||e<0,a=Math.abs(e),A=a===1,l=s[r],c=n?A?l[1]:l[2]||l[1]:A?s[r][0]:r;return o?`${a} ${c} ago`:`in ${a} ${c}`}function bv(r,e){let t="";for(let n of r)n.literal?t+=n.val:t+=e(n.val);return t}var Vz={D:xd,DD:Lv,DDD:Ov,DDDD:Uv,t:jv,tt:Pv,ttt:_v,tttt:Jv,T:Yv,TT:qv,TTT:Gv,TTTT:Vv,f:Hv,ff:zv,fff:Xv,ffff:ex,F:Wv,FF:Zv,FFF:$v,FFFF:tx},ar=class r{static create(e,t={}){return new r(e,t)}static parseFormat(e){let t=null,n="",s=!1,i=[];for(let o=0;o<e.length;o++){let a=e.charAt(o);a==="'"?((n.length>0||s)&&i.push({literal:s||/^\s+$/.test(n),val:n===""?"'":n}),t=null,n="",s=!s):s||a===t?n+=a:(n.length>0&&i.push({literal:/^\s+$/.test(n),val:n}),n=a,t=a)}return n.length>0&&i.push({literal:s||/^\s+$/.test(n),val:n}),i}static macroTokenToFormatOpts(e){return Vz[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...t}).format()}dtFormatter(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t})}formatDateTime(e,t){return this.dtFormatter(e,t).format()}formatDateTimeParts(e,t){return this.dtFormatter(e,t).formatToParts()}formatInterval(e,t){return this.dtFormatter(e.start,t).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,t){return this.dtFormatter(e,t).resolvedOptions()}num(e,t=0,n=void 0){if(this.opts.forceSimple)return at(e,t);let s={...this.opts};return t>0&&(s.padTo=t),n&&(s.signDisplay=n),this.loc.numberFormatter(s).format(e)}formatDateTimeFromString(e,t){let n=this.loc.listingMode()==="en",s=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",i=(h,f)=>this.loc.extract(e,h,f),o=h=>e.isOffsetFixed&&e.offset===0&&h.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,h.format):"",a=()=>n?_z(e):i({hour:"numeric",hourCycle:"h12"},"dayperiod"),A=(h,f)=>n?Yz(e,h):i(f?{month:h}:{month:h,day:"numeric"},"month"),l=(h,f)=>n?Jz(e,h):i(f?{weekday:h}:{weekday:h,month:"long",day:"numeric"},"weekday"),c=h=>{let f=r.macroTokenToFormatOpts(h);return f?this.formatWithSystemDefault(e,f):h},u=h=>n?qz(e,h):i({era:h},"era"),d=h=>{switch(h){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return o({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return o({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return o({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return a();case"d":return s?i({day:"numeric"},"day"):this.num(e.day);case"dd":return s?i({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return s?i({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return s?i({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return A("short",!0);case"LLLL":return A("long",!0);case"LLLLL":return A("narrow",!0);case"M":return s?i({month:"numeric"},"month"):this.num(e.month);case"MM":return s?i({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return A("short",!1);case"MMMM":return A("long",!1);case"MMMMM":return A("narrow",!1);case"y":return s?i({year:"numeric"},"year"):this.num(e.year);case"yy":return s?i({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return s?i({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return s?i({year:"numeric"},"year"):this.num(e.year,6);case"G":return u("short");case"GG":return u("long");case"GGGGG":return u("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"n":return this.num(e.localWeekNumber);case"nn":return this.num(e.localWeekNumber,2);case"ii":return this.num(e.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(e.localWeekYear,4);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return c(h)}};return bv(r.parseFormat(t),d)}formatDurationFromString(e,t){let n=this.opts.signMode==="negativeLargestOnly"?-1:1,s=c=>{switch(c[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},i=(c,u)=>d=>{let h=s(d);if(h){let f=u.isNegativeDuration&&h!==u.largestUnit?n:1,p;return this.opts.signMode==="negativeLargestOnly"&&h!==u.largestUnit?p="never":this.opts.signMode==="all"?p="always":p="auto",this.num(c.get(h)*f,d.length,p)}else return d},o=r.parseFormat(t),a=o.reduce((c,{literal:u,val:d})=>u?c:c.concat(d),[]),A=e.shiftTo(...a.map(s).filter(c=>c)),l={isNegativeDuration:A<0,largestUnit:Object.keys(A.values)[0]};return bv(o,i(A,l))}},Cx=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function $o(...r){let e=r.reduce((t,n)=>t+n.source,"");return RegExp(`^${e}$`)}function ea(...r){return e=>r.reduce(([t,n,s],i)=>{let[o,a,A]=i(e,s);return[{...t,...o},a||n,A]},[{},null,1]).slice(0,2)}function ta(r,...e){if(r==null)return[null,null];for(let[t,n]of e){let s=t.exec(r);if(s)return n(s)}return[null,null]}function bx(...r){return(e,t)=>{let n={},s;for(s=0;s<r.length;s++)n[r[s]]=Ds(e[t+s]);return[n,null,t+s]}}var Qx=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,Hz=`(?:${Qx.source}?(?:\\[(${Cx.source})\\])?)?`,kE=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Bx=RegExp(`${kE.source}${Hz}`),RE=RegExp(`(?:[Tt]${Bx.source})?`),Wz=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,zz=/(\d{4})-?W(\d\d)(?:-?(\d))?/,Zz=/(\d{4})-?(\d{3})/,Xz=bx("weekYear","weekNumber","weekDay"),$z=bx("year","ordinal"),eZ=/(\d{4})-(\d\d)-(\d\d)/,Sx=RegExp(`${kE.source} ?(?:${Qx.source}|(${Cx.source}))?`),tZ=RegExp(`(?: ${Sx.source})?`);function Zo(r,e,t){let n=r[e];return Ae(n)?t:Ds(n)}function rZ(r,e){return[{year:Zo(r,e),month:Zo(r,e+1,1),day:Zo(r,e+2,1)},null,e+3]}function ra(r,e){return[{hours:Zo(r,e,0),minutes:Zo(r,e+1,0),seconds:Zo(r,e+2,0),milliseconds:wE(r[e+3])},null,e+4]}function vA(r,e){let t=!r[e]&&!r[e+1],n=Ud(r[e+1],r[e+2]),s=t?null:cr.instance(n);return[{},s,e+3]}function xA(r,e){let t=r[e]?Jn.create(r[e]):null;return[{},t,e+1]}var nZ=RegExp(`^T?${kE.source}$`),sZ=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function iZ(r){let[e,t,n,s,i,o,a,A,l]=r,c=e[0]==="-",u=A&&A[0]==="-",d=(h,f=!1)=>h!==void 0&&(f||h&&c)?-h:h;return[{years:d(Bi(t)),months:d(Bi(n)),weeks:d(Bi(s)),days:d(Bi(i)),hours:d(Bi(o)),minutes:d(Bi(a)),seconds:d(Bi(A),A==="-0"),milliseconds:d(wE(l),u)}]}var oZ={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function vE(r,e,t,n,s,i,o){let a={year:e.length===2?CE(Ds(e)):Ds(e),month:fx.indexOf(t)+1,day:Ds(n),hour:Ds(s),minute:Ds(i)};return o&&(a.second=Ds(o)),r&&(a.weekday=r.length>3?px.indexOf(r)+1:yx.indexOf(r)+1),a}var aZ=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function AZ(r){let[,e,t,n,s,i,o,a,A,l,c,u]=r,d=vE(e,s,n,t,i,o,a),h;return A?h=oZ[A]:l?h=0:h=Ud(c,u),[d,new cr(h)]}function lZ(r){return r.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var cZ=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,uZ=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,dZ=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Qv(r){let[,e,t,n,s,i,o,a]=r;return[vE(e,s,n,t,i,o,a),cr.utcInstance]}function hZ(r){let[,e,t,n,s,i,o,a]=r;return[vE(e,a,t,n,s,i,o),cr.utcInstance]}var fZ=$o(Wz,RE),gZ=$o(zz,RE),pZ=$o(Zz,RE),yZ=$o(Bx),wx=ea(rZ,ra,vA,xA),EZ=ea(Xz,ra,vA,xA),IZ=ea($z,ra,vA,xA),mZ=ea(ra,vA,xA);function CZ(r){return ta(r,[fZ,wx],[gZ,EZ],[pZ,IZ],[yZ,mZ])}function bZ(r){return ta(lZ(r),[aZ,AZ])}function QZ(r){return ta(r,[cZ,Qv],[uZ,Qv],[dZ,hZ])}function BZ(r){return ta(r,[sZ,iZ])}var SZ=ea(ra);function wZ(r){return ta(r,[nZ,SZ])}var DZ=$o(eZ,tZ),kZ=$o(Sx),RZ=ea(ra,vA,xA);function vZ(r){return ta(r,[DZ,wx],[kZ,RZ])}var Bv="Invalid Duration",Dx={weeks:{days:7,hours:168,minutes:10080,seconds:10080*60,milliseconds:10080*60*1e3},days:{hours:24,minutes:1440,seconds:1440*60,milliseconds:1440*60*1e3},hours:{minutes:60,seconds:3600,milliseconds:3600*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},xZ={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:2184*60,seconds:2184*60*60,milliseconds:2184*60*60*1e3},months:{weeks:4,days:30,hours:720,minutes:720*60,seconds:720*60*60,milliseconds:720*60*60*1e3},...Dx},vr=146097/400,Vo=146097/4800,TZ={years:{quarters:4,months:12,weeks:vr/7,days:vr,hours:vr*24,minutes:vr*24*60,seconds:vr*24*60*60,milliseconds:vr*24*60*60*1e3},quarters:{months:3,weeks:vr/28,days:vr/4,hours:vr*24/4,minutes:vr*24*60/4,seconds:vr*24*60*60/4,milliseconds:vr*24*60*60*1e3/4},months:{weeks:Vo/7,days:Vo,hours:Vo*24,minutes:Vo*24*60,seconds:Vo*24*60*60,milliseconds:Vo*24*60*60*1e3},...Dx},wi=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],NZ=wi.slice(0).reverse();function Pn(r,e,t=!1){let n={values:t?e.values:{...r.values,...e.values||{}},loc:r.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||r.conversionAccuracy,matrix:e.matrix||r.matrix};return new ht(n)}function kx(r,e){var t;let n=(t=e.milliseconds)!=null?t:0;for(let s of NZ.slice(1))e[s]&&(n+=e[s]*r[s].milliseconds);return n}function Sv(r,e){let t=kx(r,e)<0?-1:1;wi.reduceRight((n,s)=>{if(Ae(e[s]))return n;if(n){let i=e[n]*t,o=r[s][n],a=Math.floor(i/o);e[s]+=a*t,e[n]-=a*o*t}return s},null),wi.reduce((n,s)=>{if(Ae(e[s]))return n;if(n){let i=e[n]%1;e[n]-=i,e[s]+=i*r[n][s]}return s},null)}function wv(r){let e={};for(let[t,n]of Object.entries(r))n!==0&&(e[t]=n);return e}var ht=class r{constructor(e){let t=e.conversionAccuracy==="longterm"||!1,n=t?TZ:xZ;e.matrix&&(n=e.matrix),this.values=e.values,this.loc=e.loc||Ue.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(e,t){return r.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(e==null||typeof e!="object")throw new yt(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new r({values:Kd(e,r.normalizeUnit),loc:Ue.fromObject(t),conversionAccuracy:t.conversionAccuracy,matrix:t.matrix})}static fromDurationLike(e){if(vs(e))return r.fromMillis(e);if(r.isDuration(e))return e;if(typeof e=="object")return r.fromObject(e);throw new yt(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){let[n]=BZ(e);return n?r.fromObject(n,t):r.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,t){let[n]=wZ(e);return n?r.fromObject(n,t):r.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new yt("need to specify a reason the Duration is invalid");let n=e instanceof Ar?e:new Ar(e,t);if(Ye.throwOnInvalid)throw new AE(n);return new r({invalid:n})}static normalizeUnit(e){let t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!t)throw new vd(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){let n={...t,floor:t.round!==!1&&t.floor!==!1};return this.isValid?ar.create(this.loc,n).formatDurationFromString(this,e):Bv}toHuman(e={}){if(!this.isValid)return Bv;let t=e.showZeros!==!1,n=wi.map(s=>{let i=this.values[s];return Ae(i)||i===0&&!t?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:s.slice(0,-1)}).format(i)}).filter(s=>s);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=DE(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let t=this.toMillis();return t<0||t>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1},He.fromMillis(t,{zone:"UTC"}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?kx(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let t=r.fromDurationLike(e),n={};for(let s of wi)(Xo(t.values,s)||Xo(this.values,s))&&(n[s]=t.get(s)+this.get(s));return Pn(this,{values:n},!0)}minus(e){if(!this.isValid)return this;let t=r.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;let t={};for(let n of Object.keys(this.values))t[n]=hx(e(this.values[n],n));return Pn(this,{values:t},!0)}get(e){return this[r.normalizeUnit(e)]}set(e){if(!this.isValid)return this;let t={...this.values,...Kd(e,r.normalizeUnit)};return Pn(this,{values:t})}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:n,matrix:s}={}){let o={loc:this.loc.clone({locale:e,numberingSystem:t}),matrix:s,conversionAccuracy:n};return Pn(this,o)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return Sv(this.matrix,e),Pn(this,{values:e},!0)}rescale(){if(!this.isValid)return this;let e=wv(this.normalize().shiftToAll().toObject());return Pn(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(o=>r.normalizeUnit(o));let t={},n={},s=this.toObject(),i;for(let o of wi)if(e.indexOf(o)>=0){i=o;let a=0;for(let l in n)a+=this.matrix[l][o]*n[l],n[l]=0;vs(s[o])&&(a+=s[o]);let A=Math.trunc(a);t[o]=A,n[o]=(a*1e3-A*1e3)/1e3}else vs(s[o])&&(n[o]=s[o]);for(let o in n)n[o]!==0&&(t[i]+=o===i?n[o]:n[o]/this.matrix[i][o]);return Sv(this.matrix,t),Pn(this,{values:t},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let e={};for(let t of Object.keys(this.values))e[t]=this.values[t]===0?0:-this.values[t];return Pn(this,{values:e},!0)}removeZeros(){if(!this.isValid)return this;let e=wv(this.values);return Pn(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function t(n,s){return n===void 0||n===0?s===void 0||s===0:n===s}for(let n of wi)if(!t(this.values[n],e.values[n]))return!1;return!0}},Ho="Invalid Interval";function MZ(r,e){return!r||!r.isValid?ki.invalid("missing or invalid start"):!e||!e.isValid?ki.invalid("missing or invalid end"):e<r?ki.invalid("end before start",`The end of an interval must be after its start, but you had start=${r.toISO()} and end=${e.toISO()}`):null}var ki=class r{constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,t=null){if(!e)throw new yt("need to specify a reason the Interval is invalid");let n=e instanceof Ar?e:new Ar(e,t);if(Ye.throwOnInvalid)throw new aE(n);return new r({invalid:n})}static fromDateTimes(e,t){let n=bA(e),s=bA(t),i=MZ(n,s);return i??new r({start:n,end:s})}static after(e,t){let n=ht.fromDurationLike(t),s=bA(e);return r.fromDateTimes(s,s.plus(n))}static before(e,t){let n=ht.fromDurationLike(t),s=bA(e);return r.fromDateTimes(s.minus(n),s)}static fromISO(e,t){let[n,s]=(e||"").split("/",2);if(n&&s){let i,o;try{i=He.fromISO(n,t),o=i.isValid}catch{o=!1}let a,A;try{a=He.fromISO(s,t),A=a.isValid}catch{A=!1}if(o&&A)return r.fromDateTimes(i,a);if(o){let l=ht.fromISO(s,t);if(l.isValid)return r.after(i,l)}else if(A){let l=ht.fromISO(n,t);if(l.isValid)return r.before(a,l)}}return r.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds",t){if(!this.isValid)return NaN;let n=this.start.startOf(e,t),s;return t!=null&&t.useLocaleWeeks?s=this.end.reconfigure({locale:n.locale}):s=this.end,s=s.startOf(e,t),Math.floor(s.diff(n,e).get(e))+(s.valueOf()!==this.end.valueOf())}hasSame(e){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,e):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return this.isValid?this.s>e:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:t}={}){return this.isValid?r.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];let t=e.map(bA).filter(o=>this.contains(o)).sort((o,a)=>o.toMillis()-a.toMillis()),n=[],{s}=this,i=0;for(;s<this.e;){let o=t[i]||this.e,a=+o>+this.e?this.e:o;n.push(r.fromDateTimes(s,a)),s=a,i+=1}return n}splitBy(e){let t=ht.fromDurationLike(e);if(!this.isValid||!t.isValid||t.as("milliseconds")===0)return[];let{s:n}=this,s=1,i,o=[];for(;n<this.e;){let a=this.start.plus(t.mapUnits(A=>A*s));i=+a>+this.e?this.e:a,o.push(r.fromDateTimes(n,i)),n=i,s+=1}return o}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return this.isValid?+this.e==+e.s:!1}abutsEnd(e){return this.isValid?+e.e==+this.s:!1}engulfs(e){return this.isValid?this.s<=e.s&&this.e>=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let t=this.s>e.s?this.s:e.s,n=this.e<e.e?this.e:e.e;return t>=n?null:r.fromDateTimes(t,n)}union(e){if(!this.isValid)return this;let t=this.s<e.s?this.s:e.s,n=this.e>e.e?this.e:e.e;return r.fromDateTimes(t,n)}static merge(e){let[t,n]=e.sort((s,i)=>s.s-i.s).reduce(([s,i],o)=>i?i.overlaps(o)||i.abutsStart(o)?[s,i.union(o)]:[s.concat([i]),o]:[s,o],[[],null]);return n&&t.push(n),t}static xor(e){let t=null,n=0,s=[],i=e.map(A=>[{time:A.s,type:"s"},{time:A.e,type:"e"}]),o=Array.prototype.concat(...i),a=o.sort((A,l)=>A.time-l.time);for(let A of a)n+=A.type==="s"?1:-1,n===1?t=A.time:(t&&+t!=+A.time&&s.push(r.fromDateTimes(t,A.time)),t=null);return r.merge(s)}difference(...e){return r.xor([this].concat(e)).map(t=>this.intersection(t)).filter(t=>t&&!t.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:Ho}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(e=xd,t={}){return this.isValid?ar.create(this.s.loc.clone(t),e).formatInterval(this):Ho}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:Ho}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Ho}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:Ho}toFormat(e,{separator:t=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:Ho}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):ht.invalid(this.invalidReason)}mapEndpoints(e){return r.fromDateTimes(e(this.s),e(this.e))}},Di=class{static hasDST(e=Ye.defaultZone){let t=He.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return Jn.isValidZone(e)}static normalizeZone(e){return ks(e,Ye.defaultZone)}static getStartOfWeek({locale:e=null,locObj:t=null}={}){return(t||Ue.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:t=null}={}){return(t||Ue.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:t=null}={}){return(t||Ue.create(e)).getWeekendDays().slice()}static months(e="long",{locale:t=null,numberingSystem:n=null,locObj:s=null,outputCalendar:i="gregory"}={}){return(s||Ue.create(t,n,i)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:n=null,locObj:s=null,outputCalendar:i="gregory"}={}){return(s||Ue.create(t,n,i)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:n=null,locObj:s=null}={}){return(s||Ue.create(t,n,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:n=null,locObj:s=null}={}){return(s||Ue.create(t,n,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return Ue.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return Ue.create(t,null,"gregory").eras(e)}static features(){return{relative:cx(),localeWeek:ux()}}};function Dv(r,e){let t=s=>s.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),n=t(e)-t(r);return Math.floor(ht.fromMillis(n).as("days"))}function KZ(r,e,t){let n=[["years",(A,l)=>l.year-A.year],["quarters",(A,l)=>l.quarter-A.quarter+(l.year-A.year)*4],["months",(A,l)=>l.month-A.month+(l.year-A.year)*12],["weeks",(A,l)=>{let c=Dv(A,l);return(c-c%7)/7}],["days",Dv]],s={},i=r,o,a;for(let[A,l]of n)t.indexOf(A)>=0&&(o=A,s[A]=l(r,e),a=i.plus(s),a>e?(s[A]--,r=i.plus(s),r>e&&(a=r,s[A]--,r=i.plus(s))):r=a);return[r,s,a,o]}function FZ(r,e,t,n){let[s,i,o,a]=KZ(r,e,t),A=e-s,l=t.filter(u=>["hours","minutes","seconds","milliseconds"].indexOf(u)>=0);l.length===0&&(o<e&&(o=s.plus({[a]:1})),o!==s&&(i[a]=(i[a]||0)+A/(o-s)));let c=ht.fromObject(i,n);return l.length>0?ht.fromMillis(A,n).shiftTo(...l).plus(c):c}var LZ="missing Intl.DateTimeFormat.formatToParts support";function ve(r,e=t=>t){return{regex:r,deser:([t])=>e(Dz(t))}}var OZ="\xA0",Rx=`[ ${OZ}]`,vx=new RegExp(Rx,"g");function UZ(r){return r.replace(/\./g,"\\.?").replace(vx,Rx)}function kv(r){return r.replace(/\./g,"").replace(vx," ").toLowerCase()}function Hr(r,e){return r===null?null:{regex:RegExp(r.map(UZ).join("|")),deser:([t])=>r.findIndex(n=>kv(t)===kv(n))+e}}function Rv(r,e){return{regex:r,deser:([,t,n])=>Ud(t,n),groups:e}}function Bd(r){return{regex:r,deser:([e])=>e}}function jZ(r){return r.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function PZ(r,e){let t=Vr(e),n=Vr(e,"{2}"),s=Vr(e,"{3}"),i=Vr(e,"{4}"),o=Vr(e,"{6}"),a=Vr(e,"{1,2}"),A=Vr(e,"{1,3}"),l=Vr(e,"{1,6}"),c=Vr(e,"{1,9}"),u=Vr(e,"{2,4}"),d=Vr(e,"{4,6}"),h=I=>({regex:RegExp(jZ(I.val)),deser:([y])=>y,literal:!0}),p=(I=>{if(r.literal)return h(I);switch(I.val){case"G":return Hr(e.eras("short"),0);case"GG":return Hr(e.eras("long"),0);case"y":return ve(l);case"yy":return ve(u,CE);case"yyyy":return ve(i);case"yyyyy":return ve(d);case"yyyyyy":return ve(o);case"M":return ve(a);case"MM":return ve(n);case"MMM":return Hr(e.months("short",!0),1);case"MMMM":return Hr(e.months("long",!0),1);case"L":return ve(a);case"LL":return ve(n);case"LLL":return Hr(e.months("short",!1),1);case"LLLL":return Hr(e.months("long",!1),1);case"d":return ve(a);case"dd":return ve(n);case"o":return ve(A);case"ooo":return ve(s);case"HH":return ve(n);case"H":return ve(a);case"hh":return ve(n);case"h":return ve(a);case"mm":return ve(n);case"m":return ve(a);case"q":return ve(a);case"qq":return ve(n);case"s":return ve(a);case"ss":return ve(n);case"S":return ve(A);case"SSS":return ve(s);case"u":return Bd(c);case"uu":return Bd(a);case"uuu":return ve(t);case"a":return Hr(e.meridiems(),0);case"kkkk":return ve(i);case"kk":return ve(u,CE);case"W":return ve(a);case"WW":return ve(n);case"E":case"c":return ve(t);case"EEE":return Hr(e.weekdays("short",!1),1);case"EEEE":return Hr(e.weekdays("long",!1),1);case"ccc":return Hr(e.weekdays("short",!0),1);case"cccc":return Hr(e.weekdays("long",!0),1);case"Z":case"ZZ":return Rv(new RegExp(`([+-]${a.source})(?::(${n.source}))?`),2);case"ZZZ":return Rv(new RegExp(`([+-]${a.source})(${n.source})?`),2);case"z":return Bd(/[a-z_+-/]{1,256}?/i);case" ":return Bd(/[^\S\n\r]/);default:return h(I)}})(r)||{invalidReason:LZ};return p.token=r,p}var _Z={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function JZ(r,e,t){let{type:n,value:s}=r;if(n==="literal"){let A=/^\s+$/.test(s);return{literal:!A,val:A?" ":s}}let i=e[n],o=n;n==="hour"&&(e.hour12!=null?o=e.hour12?"hour12":"hour24":e.hourCycle!=null?e.hourCycle==="h11"||e.hourCycle==="h12"?o="hour12":o="hour24":o=t.hour12?"hour12":"hour24");let a=_Z[o];if(typeof a=="object"&&(a=a[i]),a)return{literal:!1,val:a}}function YZ(r){return[`^${r.map(t=>t.regex).reduce((t,n)=>`${t}(${n.source})`,"")}$`,r]}function qZ(r,e,t){let n=r.match(e);if(n){let s={},i=1;for(let o in t)if(Xo(t,o)){let a=t[o],A=a.groups?a.groups+1:1;!a.literal&&a.token&&(s[a.token.val[0]]=a.deser(n.slice(i,i+A))),i+=A}return[n,s]}else return[n,{}]}function GZ(r){let e=i=>{switch(i){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},t=null,n;return Ae(r.z)||(t=Jn.create(r.z)),Ae(r.Z)||(t||(t=new cr(r.Z)),n=r.Z),Ae(r.q)||(r.M=(r.q-1)*3+1),Ae(r.h)||(r.h<12&&r.a===1?r.h+=12:r.h===12&&r.a===0&&(r.h=0)),r.G===0&&r.y&&(r.y=-r.y),Ae(r.u)||(r.S=wE(r.u)),[Object.keys(r).reduce((i,o)=>{let a=e(o);return a&&(i[a]=r[o]),i},{}),t,n]}var tE=null;function VZ(){return tE||(tE=He.fromMillis(1555555555555)),tE}function HZ(r,e){if(r.literal)return r;let t=ar.macroTokenToFormatOpts(r.val),n=Nx(t,e);return n==null||n.includes(void 0)?r:n}function xx(r,e){return Array.prototype.concat(...r.map(t=>HZ(t,e)))}var Fd=class{constructor(e,t){if(this.locale=e,this.format=t,this.tokens=xx(ar.parseFormat(t),e),this.units=this.tokens.map(n=>PZ(n,e)),this.disqualifyingUnit=this.units.find(n=>n.invalidReason),!this.disqualifyingUnit){let[n,s]=YZ(this.units);this.regex=RegExp(n,"i"),this.handlers=s}}explainFromTokens(e){if(this.isValid){let[t,n]=qZ(e,this.regex,this.handlers),[s,i,o]=n?GZ(n):[null,null,void 0];if(Xo(n,"a")&&Xo(n,"H"))throw new Rs("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:t,matches:n,result:s,zone:i,specificOffset:o}}else return{input:e,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function Tx(r,e,t){return new Fd(r,t).explainFromTokens(e)}function WZ(r,e,t){let{result:n,zone:s,specificOffset:i,invalidReason:o}=Tx(r,e,t);return[n,s,i,o]}function Nx(r,e){if(!r)return null;let n=ar.create(e,r).dtFormatter(VZ()),s=n.formatToParts(),i=n.resolvedOptions();return s.map(o=>JZ(o,r,i))}var rE="Invalid DateTime",vv=864e13;function BA(r){return new Ar("unsupported zone",`the zone "${r.name}" is not supported`)}function nE(r){return r.weekData===null&&(r.weekData=Nd(r.c)),r.weekData}function sE(r){return r.localWeekData===null&&(r.localWeekData=Nd(r.c,r.loc.getMinDaysInFirstWeek(),r.loc.getStartOfWeek())),r.localWeekData}function Si(r,e){let t={ts:r.ts,zone:r.zone,c:r.c,o:r.o,loc:r.loc,invalid:r.invalid};return new He({...t,...e,old:t})}function Mx(r,e,t){let n=r-e*60*1e3,s=t.offset(n);if(e===s)return[n,e];n-=(s-e)*60*1e3;let i=t.offset(n);return s===i?[n,s]:[r-Math.min(s,i)*60*1e3,Math.max(s,i)]}function Sd(r,e){r+=e*60*1e3;let t=new Date(r);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:t.getUTCHours(),minute:t.getUTCMinutes(),second:t.getUTCSeconds(),millisecond:t.getUTCMilliseconds()}}function Dd(r,e,t){return Mx(Od(r),e,t)}function xv(r,e){let t=r.o,n=r.c.year+Math.trunc(e.years),s=r.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,i={...r.c,year:n,month:s,day:Math.min(r.c.day,Md(n,s))+Math.trunc(e.days)+Math.trunc(e.weeks)*7},o=ht.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),a=Od(i),[A,l]=Mx(a,t,r.zone);return o!==0&&(A+=o,l=r.zone.offset(A)),{ts:A,o:l}}function Wo(r,e,t,n,s,i){let{setZone:o,zone:a}=t;if(r&&Object.keys(r).length!==0||e){let A=e||a,l=He.fromObject(r,{...t,zone:A,specificOffset:i});return o?l:l.setZone(a)}else return He.invalid(new Ar("unparsable",`the input "${s}" can't be parsed as ${n}`))}function wd(r,e,t=!0){return r.isValid?ar.create(Ue.create("en-US"),{allowZ:t,forceSimple:!0}).formatDateTimeFromString(r,e):null}function iE(r,e,t){let n=r.c.year>9999||r.c.year<0,s="";if(n&&r.c.year>=0&&(s+="+"),s+=at(r.c.year,n?6:4),t==="year")return s;if(e){if(s+="-",s+=at(r.c.month),t==="month")return s;s+="-"}else if(s+=at(r.c.month),t==="month")return s;return s+=at(r.c.day),s}function Tv(r,e,t,n,s,i,o){let a=!t||r.c.millisecond!==0||r.c.second!==0,A="";switch(o){case"day":case"month":case"year":break;default:if(A+=at(r.c.hour),o==="hour")break;if(e){if(A+=":",A+=at(r.c.minute),o==="minute")break;a&&(A+=":",A+=at(r.c.second))}else{if(A+=at(r.c.minute),o==="minute")break;a&&(A+=at(r.c.second))}if(o==="second")break;a&&(!n||r.c.millisecond!==0)&&(A+=".",A+=at(r.c.millisecond,3))}return s&&(r.isOffsetFixed&&r.offset===0&&!i?A+="Z":r.o<0?(A+="-",A+=at(Math.trunc(-r.o/60)),A+=":",A+=at(Math.trunc(-r.o%60))):(A+="+",A+=at(Math.trunc(r.o/60)),A+=":",A+=at(Math.trunc(r.o%60)))),i&&(A+="["+r.zone.ianaName+"]"),A}var Kx={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},zZ={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},ZZ={ordinal:1,hour:0,minute:0,second:0,millisecond:0},kd=["year","month","day","hour","minute","second","millisecond"],XZ=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],$Z=["year","ordinal","hour","minute","second","millisecond"];function Rd(r){let e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[r.toLowerCase()];if(!e)throw new vd(r);return e}function Nv(r){switch(r.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return Rd(r)}}function eX(r){if(SA===void 0&&(SA=Ye.now()),r.type!=="iana")return r.offset(SA);let e=r.name,t=bE.get(e);return t===void 0&&(t=r.offset(SA),bE.set(e,t)),t}function Mv(r,e){let t=ks(e.zone,Ye.defaultZone);if(!t.isValid)return He.invalid(BA(t));let n=Ue.fromObject(e),s,i;if(Ae(r.year))s=Ye.now();else{for(let A of kd)Ae(r[A])&&(r[A]=Kx[A]);let o=Ax(r)||lx(r);if(o)return He.invalid(o);let a=eX(t);[s,i]=Dd(r,a,t)}return new He({ts:s,zone:t,loc:n,o:i})}function Kv(r,e,t){let n=Ae(t.round)?!0:t.round,s=Ae(t.rounding)?"trunc":t.rounding,i=(a,A)=>(a=DE(a,n||t.calendary?0:2,t.calendary?"round":s),e.loc.clone(t).relFormatter(t).format(a,A)),o=a=>t.calendary?e.hasSame(r,a)?0:e.startOf(a).diff(r.startOf(a),a).get(a):e.diff(r,a).get(a);if(t.unit)return i(o(t.unit),t.unit);for(let a of t.units){let A=o(a);if(Math.abs(A)>=1)return i(A,a)}return i(r>e?-0:0,t.units[t.units.length-1])}function Fv(r){let e={},t;return r.length>0&&typeof r[r.length-1]=="object"?(e=r[r.length-1],t=Array.from(r).slice(0,r.length-1)):t=Array.from(r),[e,t]}var SA,bE=new Map,He=class r{constructor(e){let t=e.zone||Ye.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new Ar("invalid input"):null)||(t.isValid?null:BA(t));this.ts=Ae(e.ts)?Ye.now():e.ts;let s=null,i=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[s,i]=[e.old.c,e.old.o];else{let a=vs(e.o)&&!e.old?e.o:t.offset(this.ts);s=Sd(this.ts,a),n=Number.isNaN(s.year)?new Ar("invalid input"):null,s=n?null:s,i=n?null:a}this._zone=t,this.loc=e.loc||Ue.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=s,this.o=i,this.isLuxonDateTime=!0}static now(){return new r({})}static local(){let[e,t]=Fv(arguments),[n,s,i,o,a,A,l]=t;return Mv({year:n,month:s,day:i,hour:o,minute:a,second:A,millisecond:l},e)}static utc(){let[e,t]=Fv(arguments),[n,s,i,o,a,A,l]=t;return e.zone=cr.utcInstance,Mv({year:n,month:s,day:i,hour:o,minute:a,second:A,millisecond:l},e)}static fromJSDate(e,t={}){let n=Tz(e)?e.valueOf():NaN;if(Number.isNaN(n))return r.invalid("invalid input");let s=ks(t.zone,Ye.defaultZone);return s.isValid?new r({ts:n,zone:s,loc:Ue.fromObject(t)}):r.invalid(BA(s))}static fromMillis(e,t={}){if(vs(e))return e<-vv||e>vv?r.invalid("Timestamp out of range"):new r({ts:e,zone:ks(t.zone,Ye.defaultZone),loc:Ue.fromObject(t)});throw new yt(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(vs(e))return new r({ts:e*1e3,zone:ks(t.zone,Ye.defaultZone),loc:Ue.fromObject(t)});throw new yt("fromSeconds requires a numerical input")}static fromObject(e,t={}){e=e||{};let n=ks(t.zone,Ye.defaultZone);if(!n.isValid)return r.invalid(BA(n));let s=Ue.fromObject(t),i=Kd(e,Nv),{minDaysInFirstWeek:o,startOfWeek:a}=Iv(i,s),A=Ye.now(),l=Ae(t.specificOffset)?n.offset(A):t.specificOffset,c=!Ae(i.ordinal),u=!Ae(i.year),d=!Ae(i.month)||!Ae(i.day),h=u||d,f=i.weekYear||i.weekNumber;if((h||c)&&f)throw new Rs("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&c)throw new Rs("Can't mix ordinal dates with month/day");let p=f||i.weekday&&!h,I,y,m=Sd(A,l);p?(I=XZ,y=zZ,m=Nd(m,o,a)):c?(I=$Z,y=ZZ,m=eE(m)):(I=kd,y=Kx);let w=!1;for(let O of I){let U=i[O];Ae(U)?w?i[O]=y[O]:i[O]=m[O]:w=!0}let R=p?Rz(i,o,a):c?vz(i):Ax(i),L=R||lx(i);if(L)return r.invalid(L);let j=p?yv(i,o,a):c?Ev(i):i,[v,C]=Dd(j,l,n),K=new r({ts:v,zone:n,o:C,loc:s});return i.weekday&&h&&e.weekday!==K.weekday?r.invalid("mismatched weekday",`you can't specify both a weekday of ${i.weekday} and a date of ${K.toISO()}`):K.isValid?K:r.invalid(K.invalid)}static fromISO(e,t={}){let[n,s]=CZ(e);return Wo(n,s,t,"ISO 8601",e)}static fromRFC2822(e,t={}){let[n,s]=bZ(e);return Wo(n,s,t,"RFC 2822",e)}static fromHTTP(e,t={}){let[n,s]=QZ(e);return Wo(n,s,t,"HTTP",t)}static fromFormat(e,t,n={}){if(Ae(e)||Ae(t))throw new yt("fromFormat requires an input string and a format");let{locale:s=null,numberingSystem:i=null}=n,o=Ue.fromOpts({locale:s,numberingSystem:i,defaultToEN:!0}),[a,A,l,c]=WZ(o,e,t);return c?r.invalid(c):Wo(a,A,n,`format ${t}`,e,l)}static fromString(e,t,n={}){return r.fromFormat(e,t,n)}static fromSQL(e,t={}){let[n,s]=vZ(e);return Wo(n,s,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new yt("need to specify a reason the DateTime is invalid");let n=e instanceof Ar?e:new Ar(e,t);if(Ye.throwOnInvalid)throw new oE(n);return new r({invalid:n})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,t={}){let n=Nx(e,Ue.fromObject(t));return n?n.map(s=>s?s.val:null).join(""):null}static expandFormat(e,t={}){return xx(ar.parseFormat(e),Ue.fromObject(t)).map(s=>s.val).join("")}static resetCache(){SA=void 0,bE.clear()}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?nE(this).weekYear:NaN}get weekNumber(){return this.isValid?nE(this).weekNumber:NaN}get weekday(){return this.isValid?nE(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?sE(this).weekday:NaN}get localWeekNumber(){return this.isValid?sE(this).weekNumber:NaN}get localWeekYear(){return this.isValid?sE(this).weekYear:NaN}get ordinal(){return this.isValid?eE(this.c).ordinal:NaN}get monthShort(){return this.isValid?Di.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Di.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Di.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Di.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let e=864e5,t=6e4,n=Od(this.c),s=this.zone.offset(n-e),i=this.zone.offset(n+e),o=this.zone.offset(n-s*t),a=this.zone.offset(n-i*t);if(o===a)return[this];let A=n-o*t,l=n-a*t,c=Sd(A,o),u=Sd(l,a);return c.hour===u.hour&&c.minute===u.minute&&c.second===u.second&&c.millisecond===u.millisecond?[Si(this,{ts:A}),Si(this,{ts:l})]:[this]}get isInLeapYear(){return RA(this.year)}get daysInMonth(){return Md(this.year,this.month)}get daysInYear(){return this.isValid?zo(this.year):NaN}get weeksInWeekYear(){return this.isValid?kA(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?kA(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){let{locale:t,numberingSystem:n,calendar:s}=ar.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:n,outputCalendar:s}}toUTC(e=0,t={}){return this.setZone(cr.instance(e),t)}toLocal(){return this.setZone(Ye.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:n=!1}={}){if(e=ks(e,Ye.defaultZone),e.equals(this.zone))return this;if(e.isValid){let s=this.ts;if(t||n){let i=e.offset(this.ts),o=this.toObject();[s]=Dd(o,i,e)}return Si(this,{ts:s,zone:e})}else return r.invalid(BA(e))}reconfigure({locale:e,numberingSystem:t,outputCalendar:n}={}){let s=this.loc.clone({locale:e,numberingSystem:t,outputCalendar:n});return Si(this,{loc:s})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let t=Kd(e,Nv),{minDaysInFirstWeek:n,startOfWeek:s}=Iv(t,this.loc),i=!Ae(t.weekYear)||!Ae(t.weekNumber)||!Ae(t.weekday),o=!Ae(t.ordinal),a=!Ae(t.year),A=!Ae(t.month)||!Ae(t.day),l=a||A,c=t.weekYear||t.weekNumber;if((l||o)&&c)throw new Rs("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(A&&o)throw new Rs("Can't mix ordinal dates with month/day");let u;i?u=yv({...Nd(this.c,n,s),...t},n,s):Ae(t.ordinal)?(u={...this.toObject(),...t},Ae(t.day)&&(u.day=Math.min(Md(u.year,u.month),u.day))):u=Ev({...eE(this.c),...t});let[d,h]=Dd(u,this.o,this.zone);return Si(this,{ts:d,o:h})}plus(e){if(!this.isValid)return this;let t=ht.fromDurationLike(e);return Si(this,xv(this,t))}minus(e){if(!this.isValid)return this;let t=ht.fromDurationLike(e).negate();return Si(this,xv(this,t))}startOf(e,{useLocaleWeeks:t=!1}={}){if(!this.isValid)return this;let n={},s=ht.normalizeUnit(e);switch(s){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0;break}if(s==="weeks")if(t){let i=this.loc.getStartOfWeek(),{weekday:o}=this;o<i&&(n.weekNumber=this.weekNumber-1),n.weekday=i}else n.weekday=1;if(s==="quarters"){let i=Math.ceil(this.month/3);n.month=(i-1)*3+1}return this.set(n)}endOf(e,t){return this.isValid?this.plus({[e]:1}).startOf(e,t).minus(1):this}toFormat(e,t={}){return this.isValid?ar.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):rE}toLocaleString(e=xd,t={}){return this.isValid?ar.create(this.loc.clone(t),e).formatDateTime(this):rE}toLocaleParts(e={}){return this.isValid?ar.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:t=!1,suppressMilliseconds:n=!1,includeOffset:s=!0,extendedZone:i=!1,precision:o="milliseconds"}={}){if(!this.isValid)return null;o=Rd(o);let a=e==="extended",A=iE(this,a,o);return kd.indexOf(o)>=3&&(A+="T"),A+=Tv(this,a,t,n,s,i,o),A}toISODate({format:e="extended",precision:t="day"}={}){return this.isValid?iE(this,e==="extended",Rd(t)):null}toISOWeekDate(){return wd(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:n=!0,includePrefix:s=!1,extendedZone:i=!1,format:o="extended",precision:a="milliseconds"}={}){return this.isValid?(a=Rd(a),(s&&kd.indexOf(a)>=3?"T":"")+Tv(this,o==="extended",t,e,n,i,a)):null}toRFC2822(){return wd(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return wd(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?iE(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:n=!0}={}){let s="HH:mm:ss.SSS";return(t||e)&&(n&&(s+=" "),t?s+="z":e&&(s+="ZZ")),wd(this,s,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():rE}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let t={...this.c};return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",n={}){if(!this.isValid||!e.isValid)return ht.invalid("created by diffing an invalid DateTime");let s={locale:this.locale,numberingSystem:this.numberingSystem,...n},i=Nz(t).map(ht.normalizeUnit),o=e.valueOf()>this.valueOf(),a=o?this:e,A=o?e:this,l=FZ(a,A,i,s);return o?l.negate():l}diffNow(e="milliseconds",t={}){return this.diff(r.now(),e,t)}until(e){return this.isValid?ki.fromDateTimes(this,e):this}hasSame(e,t,n){if(!this.isValid)return!1;let s=e.valueOf(),i=this.setZone(e.zone,{keepLocalTime:!0});return i.startOf(t,n)<=s&&s<=i.endOf(t,n)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let t=e.base||r.fromObject({},{zone:this.zone}),n=e.padding?this<t?-e.padding:e.padding:0,s=["years","months","days","hours","minutes","seconds"],i=e.unit;return Array.isArray(e.unit)&&(s=e.unit,i=void 0),Kv(t,this.plus(n),{...e,numeric:"always",units:s,unit:i})}toRelativeCalendar(e={}){return this.isValid?Kv(e.base||r.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(r.isDateTime))throw new yt("min requires all arguments be DateTimes");return mv(e,t=>t.valueOf(),Math.min)}static max(...e){if(!e.every(r.isDateTime))throw new yt("max requires all arguments be DateTimes");return mv(e,t=>t.valueOf(),Math.max)}static fromFormatExplain(e,t,n={}){let{locale:s=null,numberingSystem:i=null}=n,o=Ue.fromOpts({locale:s,numberingSystem:i,defaultToEN:!0});return Tx(o,e,t)}static fromStringExplain(e,t,n={}){return r.fromFormatExplain(e,t,n)}static buildFormatParser(e,t={}){let{locale:n=null,numberingSystem:s=null}=t,i=Ue.fromOpts({locale:n,numberingSystem:s,defaultToEN:!0});return new Fd(i,e)}static fromFormatParser(e,t,n={}){if(Ae(e)||Ae(t))throw new yt("fromFormatParser requires an input string and a format parser");let{locale:s=null,numberingSystem:i=null}=n,o=Ue.fromOpts({locale:s,numberingSystem:i,defaultToEN:!0});if(!o.equals(t.locale))throw new yt(`fromFormatParser called with a locale of ${o}, but the format parser was created for ${t.locale}`);let{result:a,zone:A,specificOffset:l,invalidReason:c}=t.explainFromTokens(e);return c?r.invalid(c):Wo(a,A,n,`format ${t.format}`,e,l)}static get DATE_SHORT(){return xd}static get DATE_MED(){return Lv}static get DATE_MED_WITH_WEEKDAY(){return cz}static get DATE_FULL(){return Ov}static get DATE_HUGE(){return Uv}static get TIME_SIMPLE(){return jv}static get TIME_WITH_SECONDS(){return Pv}static get TIME_WITH_SHORT_OFFSET(){return _v}static get TIME_WITH_LONG_OFFSET(){return Jv}static get TIME_24_SIMPLE(){return Yv}static get TIME_24_WITH_SECONDS(){return qv}static get TIME_24_WITH_SHORT_OFFSET(){return Gv}static get TIME_24_WITH_LONG_OFFSET(){return Vv}static get DATETIME_SHORT(){return Hv}static get DATETIME_SHORT_WITH_SECONDS(){return Wv}static get DATETIME_MED(){return zv}static get DATETIME_MED_WITH_SECONDS(){return Zv}static get DATETIME_MED_WITH_WEEKDAY(){return uz}static get DATETIME_FULL(){return Xv}static get DATETIME_FULL_WITH_SECONDS(){return $v}static get DATETIME_HUGE(){return ex}static get DATETIME_HUGE_WITH_SECONDS(){return tx}};function bA(r){if(He.isDateTime(r))return r;if(r&&r.valueOf&&vs(r.valueOf()))return He.fromJSDate(r);if(r&&typeof r=="object")return He.fromObject(r);throw new yt(`Unknown datetime argument: ${r}, of type ${typeof r}`)}var tX="3.7.2";ur.DateTime=He;ur.Duration=ht;ur.FixedOffsetZone=cr;ur.IANAZone=Jn;ur.Info=Di;ur.Interval=ki;ur.InvalidZone=Td;ur.Settings=Ye;ur.SystemZone=DA;ur.VERSION=tX;ur.Zone=xs});var Ox=g((Dfe,Lx)=>{"use strict";var Ri=Fx();ce.prototype.addYear=function(){this._date=this._date.plus({years:1})};ce.prototype.addMonth=function(){this._date=this._date.plus({months:1}).startOf("month")};ce.prototype.addDay=function(){this._date=this._date.plus({days:1}).startOf("day")};ce.prototype.addHour=function(){var r=this._date;this._date=this._date.plus({hours:1}).startOf("hour"),this._date<=r&&(this._date=this._date.plus({hours:1}))};ce.prototype.addMinute=function(){var r=this._date;this._date=this._date.plus({minutes:1}).startOf("minute"),this._date<r&&(this._date=this._date.plus({hours:1}))};ce.prototype.addSecond=function(){var r=this._date;this._date=this._date.plus({seconds:1}).startOf("second"),this._date<r&&(this._date=this._date.plus({hours:1}))};ce.prototype.subtractYear=function(){this._date=this._date.minus({years:1})};ce.prototype.subtractMonth=function(){this._date=this._date.minus({months:1}).endOf("month").startOf("second")};ce.prototype.subtractDay=function(){this._date=this._date.minus({days:1}).endOf("day").startOf("second")};ce.prototype.subtractHour=function(){var r=this._date;this._date=this._date.minus({hours:1}).endOf("hour").startOf("second"),this._date>=r&&(this._date=this._date.minus({hours:1}))};ce.prototype.subtractMinute=function(){var r=this._date;this._date=this._date.minus({minutes:1}).endOf("minute").startOf("second"),this._date>r&&(this._date=this._date.minus({hours:1}))};ce.prototype.subtractSecond=function(){var r=this._date;this._date=this._date.minus({seconds:1}).startOf("second"),this._date>r&&(this._date=this._date.minus({hours:1}))};ce.prototype.getDate=function(){return this._date.day};ce.prototype.getFullYear=function(){return this._date.year};ce.prototype.getDay=function(){var r=this._date.weekday;return r==7?0:r};ce.prototype.getMonth=function(){return this._date.month-1};ce.prototype.getHours=function(){return this._date.hour};ce.prototype.getMinutes=function(){return this._date.minute};ce.prototype.getSeconds=function(){return this._date.second};ce.prototype.getMilliseconds=function(){return this._date.millisecond};ce.prototype.getTime=function(){return this._date.valueOf()};ce.prototype.getUTCDate=function(){return this._getUTC().day};ce.prototype.getUTCFullYear=function(){return this._getUTC().year};ce.prototype.getUTCDay=function(){var r=this._getUTC().weekday;return r==7?0:r};ce.prototype.getUTCMonth=function(){return this._getUTC().month-1};ce.prototype.getUTCHours=function(){return this._getUTC().hour};ce.prototype.getUTCMinutes=function(){return this._getUTC().minute};ce.prototype.getUTCSeconds=function(){return this._getUTC().second};ce.prototype.toISOString=function(){return this._date.toUTC().toISO()};ce.prototype.toJSON=function(){return this._date.toJSON()};ce.prototype.setDate=function(r){this._date=this._date.set({day:r})};ce.prototype.setFullYear=function(r){this._date=this._date.set({year:r})};ce.prototype.setDay=function(r){this._date=this._date.set({weekday:r})};ce.prototype.setMonth=function(r){this._date=this._date.set({month:r+1})};ce.prototype.setHours=function(r){this._date=this._date.set({hour:r})};ce.prototype.setMinutes=function(r){this._date=this._date.set({minute:r})};ce.prototype.setSeconds=function(r){this._date=this._date.set({second:r})};ce.prototype.setMilliseconds=function(r){this._date=this._date.set({millisecond:r})};ce.prototype._getUTC=function(){return this._date.toUTC()};ce.prototype.toString=function(){return this.toDate().toString()};ce.prototype.toDate=function(){return this._date.toJSDate()};ce.prototype.isLastDayOfMonth=function(){var r=this._date.plus({days:1}).startOf("day");return this._date.month!==r.month};ce.prototype.isLastWeekdayOfMonth=function(){var r=this._date.plus({days:7}).startOf("day");return this._date.month!==r.month};function ce(r,e){var t={zone:e};if(r?r instanceof ce?this._date=r._date:r instanceof Date?this._date=Ri.DateTime.fromJSDate(r,t):typeof r=="number"?this._date=Ri.DateTime.fromMillis(r,t):typeof r=="string"&&(this._date=Ri.DateTime.fromISO(r,t),this._date.isValid||(this._date=Ri.DateTime.fromRFC2822(r,t)),this._date.isValid||(this._date=Ri.DateTime.fromSQL(r,t)),this._date.isValid||(this._date=Ri.DateTime.fromFormat(r,"EEE, d MMM yyyy HH:mm:ss",t))):this._date=Ri.DateTime.local(),!this._date||!this._date.isValid)throw new Error("CronDate: unhandled timestamp: "+JSON.stringify(r));e&&e!==this._date.zoneName&&(this._date=this._date.setZone(e))}Lx.exports=ce});var Px=g((kfe,jx)=>{"use strict";function vi(r){return{start:r,count:1}}function Ux(r,e){r.end=e,r.step=e-r.start,r.count=2}function xE(r,e,t){e&&(e.count===2?(r.push(vi(e.start)),r.push(vi(e.end))):r.push(e)),t&&r.push(t)}function rX(r){for(var e=[],t=void 0,n=0;n<r.length;n++){var s=r[n];typeof s!="number"?(xE(e,t,vi(s)),t=void 0):t?t.count===1?Ux(t,s):t.step===s-t.end?(t.count++,t.end=s):t.count===2?(e.push(vi(t.start)),t=vi(t.end),Ux(t,s)):(xE(e,t),t=vi(s)):t=vi(s)}return xE(e,t),e}jx.exports=rX});var Jx=g((Rfe,_x)=>{"use strict";var nX=Px();function sX(r,e,t){var n=nX(r);if(n.length===1){var s=n[0],i=s.step;if(i===1&&s.start===e&&s.end===t)return"*";if(i!==1&&s.start===e&&s.end===t-i+1)return"*/"+i}for(var o=[],a=0,A=n.length;a<A;++a){var l=n[a];if(l.count===1){o.push(l.start);continue}var i=l.step;if(l.step===1){o.push(l.start+"-"+l.end);continue}var c=l.start==0?l.count-1:l.count;l.step*c>l.end?o=o.concat(Array.from({length:l.end-l.start+1}).map(function(d,h){var f=l.start+h;return(f-l.start)%l.step===0?f:null}).filter(function(d){return d!=null})):l.end===t-l.step+1?o.push(l.start+"/"+l.step):o.push(l.start+"-"+l.end+"/"+l.step)}return o.join(",")}_x.exports=sX});var Gx=g((vfe,qx)=>{"use strict";var xi=Ox(),iX=Jx(),Yx=1e4;function q(r,e){this._options=e,this._utc=e.utc||!1,this._tz=this._utc?"UTC":e.tz,this._currentDate=new xi(e.currentDate,this._tz),this._startDate=e.startDate?new xi(e.startDate,this._tz):null,this._endDate=e.endDate?new xi(e.endDate,this._tz):null,this._isIterator=e.iterator||!1,this._hasIterated=!1,this._nthDayOfWeek=e.nthDayOfWeek||0,this.fields=q._freezeFields(r)}q.map=["second","minute","hour","dayOfMonth","month","dayOfWeek"];q.predefined={"@yearly":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@hourly":"0 * * * *"};q.constraints=[{min:0,max:59,chars:[]},{min:0,max:59,chars:[]},{min:0,max:23,chars:[]},{min:1,max:31,chars:["L"]},{min:1,max:12,chars:[]},{min:0,max:7,chars:["L"]}];q.daysInMonth=[31,29,31,30,31,30,31,31,30,31,30,31];q.aliases={month:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},dayOfWeek:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}};q.parseDefaults=["0","*","*","*","*","*"];q.standardValidCharacters=/^[,*\d/-]+$/;q.dayOfWeekValidCharacters=/^[?,*\dL#/-]+$/;q.dayOfMonthValidCharacters=/^[?,*\dL/-]+$/;q.validCharacters={second:q.standardValidCharacters,minute:q.standardValidCharacters,hour:q.standardValidCharacters,dayOfMonth:q.dayOfMonthValidCharacters,month:q.standardValidCharacters,dayOfWeek:q.dayOfWeekValidCharacters};q._isValidConstraintChar=function(e,t){return typeof t!="string"?!1:e.chars.some(function(n){return t.indexOf(n)>-1})};q._parseField=function(e,t,n){switch(e){case"month":case"dayOfWeek":var s=q.aliases[e];t=t.replace(/[a-z]{3}/gi,function(A){if(A=A.toLowerCase(),typeof s[A]<"u")return s[A];throw new Error('Validation error, cannot resolve alias "'+A+'"')});break}if(!q.validCharacters[e].test(t))throw new Error("Invalid characters, got value: "+t);t.indexOf("*")!==-1?t=t.replace(/\*/g,n.min+"-"+n.max):t.indexOf("?")!==-1&&(t=t.replace(/\?/g,n.min+"-"+n.max));function i(A){var l=[];function c(f){if(f instanceof Array)for(var p=0,I=f.length;p<I;p++){var y=f[p];if(q._isValidConstraintChar(n,y)){l.push(y);continue}if(typeof y!="number"||Number.isNaN(y)||y<n.min||y>n.max)throw new Error("Constraint error, got value "+y+" expected range "+n.min+"-"+n.max);l.push(y)}else{if(q._isValidConstraintChar(n,f)){l.push(f);return}var m=+f;if(Number.isNaN(m)||m<n.min||m>n.max)throw new Error("Constraint error, got value "+f+" expected range "+n.min+"-"+n.max);e==="dayOfWeek"&&(m=m%7),l.push(m)}}var u=A.split(",");if(!u.every(function(f){return f.length>0}))throw new Error("Invalid list value format");if(u.length>1)for(var d=0,h=u.length;d<h;d++)c(o(u[d]));else c(o(A));return l.sort(q._sortCompareFn),l}function o(A){var l=1,c=A.split("/");if(c.length>2)throw new Error("Invalid repeat: "+A);return c.length>1?(c[0]==+c[0]&&(c=[c[0]+"-"+n.max,c[1]]),a(c[0],c[c.length-1])):a(A,l)}function a(A,l){var c=[],u=A.split("-");if(u.length>1){if(u.length<2)return+A;if(!u[0].length){if(!u[1].length)throw new Error("Invalid range: "+A);return+A}var d=+u[0],h=+u[1];if(Number.isNaN(d)||Number.isNaN(h)||d<n.min||h>n.max)throw new Error("Constraint error, got range "+d+"-"+h+" expected range "+n.min+"-"+n.max);if(d>h)throw new Error("Invalid range: "+A);var f=+l;if(Number.isNaN(f)||f<=0)throw new Error("Constraint error, cannot repeat at every "+f+" time.");e==="dayOfWeek"&&h%7===0&&c.push(0);for(var p=d,I=h;p<=I;p++){var y=c.indexOf(p)!==-1;!y&&f>0&&f%l===0?(f=1,c.push(p)):f++}return c}return Number.isNaN(+A)?A:+A}return i(t)};q._sortCompareFn=function(r,e){var t=typeof r=="number",n=typeof e=="number";return t&&n?r-e:!t&&n?1:t&&!n?-1:r.localeCompare(e)};q._handleMaxDaysInMonth=function(r){if(r.month.length===1){var e=q.daysInMonth[r.month[0]-1];if(r.dayOfMonth[0]>e)throw new Error("Invalid explicit day of month definition");return r.dayOfMonth.filter(function(t){return t==="L"?!0:t<=e}).sort(q._sortCompareFn)}};q._freezeFields=function(r){for(var e=0,t=q.map.length;e<t;++e){var n=q.map[e],s=r[n];r[n]=Object.freeze(s)}return Object.freeze(r)};q.prototype._applyTimezoneShift=function(r,e,t){if(t==="Month"||t==="Day"){var n=r.getTime();r[e+t]();var s=r.getTime();n===s&&(r.getMinutes()===0&&r.getSeconds()===0?r.addHour():r.getMinutes()===59&&r.getSeconds()===59&&r.subtractHour())}else{var i=r.getHours();r[e+t]();var o=r.getHours(),a=o-i;a===2?this.fields.hour.length!==24&&(this._dstStart=o):a===0&&r.getMinutes()===0&&r.getSeconds()===0&&this.fields.hour.length!==24&&(this._dstEnd=o)}};q.prototype._findSchedule=function(e){function t(y,m){for(var w=0,R=m.length;w<R;w++)if(m[w]>=y)return m[w]===y;return m[0]===y}function n(y,m){if(m<6){if(y.getDate()<8&&m===1)return!0;var w=y.getDate()%7?1:0,R=y.getDate()-y.getDate()%7,L=Math.floor(R/7)+w;return L===m}return!1}function s(y){return y.length>0&&y.some(function(m){return typeof m=="string"&&m.indexOf("L")>=0})}e=e||!1;var i=e?"subtract":"add",o=new xi(this._currentDate,this._tz),a=this._startDate,A=this._endDate,l=o.getTime(),c=0;function u(y){return y.some(function(m){if(!s([m]))return!1;var w=Number.parseInt(m[0])%7;if(Number.isNaN(w))throw new Error("Invalid last weekday of the month expression: "+m);return o.getDay()===w&&o.isLastWeekdayOfMonth()})}for(;c<Yx;){if(c++,e){if(a&&o.getTime()-a.getTime()<0)throw new Error("Out of the timespan range")}else if(A&&A.getTime()-o.getTime()<0)throw new Error("Out of the timespan range");var d=t(o.getDate(),this.fields.dayOfMonth);s(this.fields.dayOfMonth)&&(d=d||o.isLastDayOfMonth());var h=t(o.getDay(),this.fields.dayOfWeek);s(this.fields.dayOfWeek)&&(h=h||u(this.fields.dayOfWeek));var f=this.fields.dayOfMonth.length>=q.daysInMonth[o.getMonth()],p=this.fields.dayOfWeek.length===q.constraints[5].max-q.constraints[5].min+1,I=o.getHours();if(!d&&(!h||p)){this._applyTimezoneShift(o,i,"Day");continue}if(!f&&p&&!d){this._applyTimezoneShift(o,i,"Day");continue}if(f&&!p&&!h){this._applyTimezoneShift(o,i,"Day");continue}if(this._nthDayOfWeek>0&&!n(o,this._nthDayOfWeek)){this._applyTimezoneShift(o,i,"Day");continue}if(!t(o.getMonth()+1,this.fields.month)){this._applyTimezoneShift(o,i,"Month");continue}if(t(I,this.fields.hour)){if(this._dstEnd===I&&!e){this._dstEnd=null,this._applyTimezoneShift(o,"add","Hour");continue}}else if(this._dstStart!==I){this._dstStart=null,this._applyTimezoneShift(o,i,"Hour");continue}else if(!t(I-1,this.fields.hour)){o[i+"Hour"]();continue}if(!t(o.getMinutes(),this.fields.minute)){this._applyTimezoneShift(o,i,"Minute");continue}if(!t(o.getSeconds(),this.fields.second)){this._applyTimezoneShift(o,i,"Second");continue}if(l===o.getTime()){i==="add"||o.getMilliseconds()===0?this._applyTimezoneShift(o,i,"Second"):o.setMilliseconds(0);continue}break}if(c>=Yx)throw new Error("Invalid expression, loop limit exceeded");return this._currentDate=new xi(o,this._tz),this._hasIterated=!0,o};q.prototype.next=function(){var e=this._findSchedule();return this._isIterator?{value:e,done:!this.hasNext()}:e};q.prototype.prev=function(){var e=this._findSchedule(!0);return this._isIterator?{value:e,done:!this.hasPrev()}:e};q.prototype.hasNext=function(){var r=this._currentDate,e=this._hasIterated;try{return this._findSchedule(),!0}catch{return!1}finally{this._currentDate=r,this._hasIterated=e}};q.prototype.hasPrev=function(){var r=this._currentDate,e=this._hasIterated;try{return this._findSchedule(!0),!0}catch{return!1}finally{this._currentDate=r,this._hasIterated=e}};q.prototype.iterate=function(e,t){var n=[];if(e>=0)for(var s=0,i=e;s<i;s++)try{var o=this.next();n.push(o),t&&t(o,s)}catch{break}else for(var s=0,i=e;s>i;s--)try{var o=this.prev();n.push(o),t&&t(o,s)}catch{break}return n};q.prototype.reset=function(e){this._currentDate=new xi(e||this._options.currentDate)};q.prototype.stringify=function(e){for(var t=[],n=e?0:1,s=q.map.length;n<s;++n){var i=q.map[n],o=this.fields[i],a=q.constraints[n];i==="dayOfMonth"&&this.fields.month.length===1?a={min:1,max:q.daysInMonth[this.fields.month[0]-1]}:i==="dayOfWeek"&&(a={min:0,max:6},o=o[o.length-1]===7?o.slice(0,-1):o),t.push(iX(o,a.min,a.max))}return t.join(" ")};q.parse=function(e,t){var n=this;typeof t=="function"&&(t={});function s(i,o){o||(o={}),typeof o.currentDate>"u"&&(o.currentDate=new xi(void 0,n._tz)),q.predefined[i]&&(i=q.predefined[i]);var a=[],A=(i+"").trim().split(/\s+/);if(A.length>6)throw new Error("Invalid cron expression");for(var l=q.map.length-A.length,c=0,u=q.map.length;c<u;++c){var d=q.map[c],h=A[A.length>u?c:c-l];if(c<l||!h)a.push(q._parseField(d,q.parseDefaults[c],q.constraints[c]));else{var f=d==="dayOfWeek"?m(h):h;a.push(q._parseField(d,f,q.constraints[c]))}}for(var p={},c=0,u=q.map.length;c<u;c++){var I=q.map[c];p[I]=a[c]}var y=q._handleMaxDaysInMonth(p);return p.dayOfMonth=y||p.dayOfMonth,new q(p,o);function m(w){var R=w.split("#");if(R.length>1){var L=+R[R.length-1];if(/,/.test(w))throw new Error("Constraint error, invalid dayOfWeek `#` and `,` special characters are incompatible");if(/\//.test(w))throw new Error("Constraint error, invalid dayOfWeek `#` and `/` special characters are incompatible");if(/-/.test(w))throw new Error("Constraint error, invalid dayOfWeek `#` and `-` special characters are incompatible");if(R.length>2||Number.isNaN(L)||L<1||L>5)throw new Error("Constraint error, invalid dayOfWeek occurrence number (#)");return o.nthDayOfWeek=L,R[0]}return w}}return s(e,t)};q.fieldsToExpression=function(e,t){function n(d,h,f){if(!h)throw new Error("Validation error, Field "+d+" is missing");if(h.length===0)throw new Error("Validation error, Field "+d+" contains no values");for(var p=0,I=h.length;p<I;p++){var y=h[p];if(!q._isValidConstraintChar(f,y)&&(typeof y!="number"||Number.isNaN(y)||y<f.min||y>f.max))throw new Error("Constraint error, got value "+y+" expected range "+f.min+"-"+f.max)}}for(var s={},i=0,o=q.map.length;i<o;++i){var a=q.map[i],A=e[a];n(a,A,q.constraints[i]);for(var l=[],c=-1;++c<A.length;)l[c]=A[c];if(A=l.sort(q._sortCompareFn).filter(function(d,h,f){return!h||d!==f[h-1]}),A.length!==l.length)throw new Error("Validation error, Field "+a+" contains duplicate values");s[a]=A}var u=q._handleMaxDaysInMonth(s);return s.dayOfMonth=u||s.dayOfMonth,new q(s,t||{})};qx.exports=q});var TE=g((xfe,Vx)=>{"use strict";var Pd=Gx();function Ts(){}Ts._parseEntry=function(e){var t=e.split(" ");if(t.length===6)return{interval:Pd.parse(e)};if(t.length>6)return{interval:Pd.parse(t.slice(0,6).join(" ")),command:t.slice(6,t.length)};throw new Error("Invalid entry: "+e)};Ts.parseExpression=function(e,t){return Pd.parse(e,t)};Ts.fieldsToExpression=function(e,t){return Pd.fieldsToExpression(e,t)};Ts.parseString=function(e){for(var t=e.split(`
|
|
8911
|
+
`),n={variables:{},expressions:[],errors:{}},s=0,i=t.length;s<i;s++){var o=t[s],a=null,A=o.trim();if(A.length>0){if(A.match(/^#/))continue;if(a=A.match(/^(.*)=(.*)$/))n.variables[a[1]]=a[2];else{var l=null;try{l=Ts._parseEntry("0 "+A),n.expressions.push(l.interval)}catch(c){n.errors[A]=c}}}}return n};Ts.parseFile=function(e,t){S("fs").readFile(e,function(n,s){if(n){t(n);return}return t(null,Ts.parseString(s.toString()))})};Vx.exports=Ts});var Ns=g(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.QueueBase=void 0;var oX=S("events"),TA=sr(),aX=Eu(),AX=CA(),lX=qo(),cX=mu(),NE=class extends oX.EventEmitter{constructor(e,t={connection:{}},n=AX.RedisConnection,s=!1){if(super(),this.name=e,this.opts=t,this.closed=!1,this.hasBlockingConnection=!1,this.hasBlockingConnection=s,this.opts=Object.assign({prefix:"bull"},t),!e)throw new Error("Queue name must be provided");if(e.includes(":"))throw new Error("Queue name cannot contain :");this.connection=new n(t.connection,{shared:(0,TA.isRedisInstance)(t.connection),blocking:s,skipVersionCheck:t.skipVersionCheck,skipWaitingForReady:t.skipWaitingForReady}),this.connection.on("error",o=>this.emit("error",o)),this.connection.on("close",()=>{this.closing||this.emit("ioredis:close")});let i=new cX.QueueKeys(t.prefix);this.qualifiedName=i.getQueueQualifiedName(e),this.keys=i.getKeys(e),this.toKey=o=>i.toKey(e,o),this.createScripts()}get client(){return this.connection.client}createScripts(){this.scripts=(0,aX.createScripts)(this)}get redisVersion(){return this.connection.redisVersion}get databaseType(){return this.connection.databaseType}get Job(){return lX.Job}emit(e,...t){try{return super.emit(e,...t)}catch(n){try{return super.emit("error",n)}catch(s){return console.error(s),!1}}}waitUntilReady(){return this.client}base64Name(){return Buffer.from(this.name).toString("base64")}clientName(e=""){let t=this.base64Name();return`${this.opts.prefix}:${t}${e}`}async close(){this.closing||(this.closing=this.connection.close()),await this.closing,this.closed=!0}disconnect(){return this.connection.disconnect()}async checkConnectionError(e,t=TA.DELAY_TIME_5){try{return await e()}catch(n){if((0,TA.isNotConnectionError)(n)&&this.emit("error",n),!this.closing&&t)await(0,TA.delay)(t);else return}}trace(e,t,n,s,i){return(0,TA.trace)(this.opts.telemetry,e,this.name,t,n,s,i)}};_d.QueueBase=NE});var Yd=g(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.defaultRepeatStrategy=Ti.JobScheduler=void 0;var uX=(Mt(),Yt(Nt)),dX=TE(),Jd=qo(),hX=Ns(),NA=Gt(),fX=sr(),ME=class extends hX.QueueBase{constructor(e,t,n){super(e,t,n),this.repeatStrategy=t.settings&&t.settings.repeatStrategy||Ti.defaultRepeatStrategy}async upsertJobScheduler(e,t,n,s,i,{override:o,producerId:a}){let{every:A,limit:l,pattern:c,offset:u}=t;if(c&&A)throw new Error("Both .pattern and .every options are defined for this repeatable job");if(!c&&!A)throw new Error("Either .pattern or .every options must be defined for this repeatable job");if(t.immediately&&t.startDate)throw new Error("Both .immediately and .startDate options are defined for this repeatable job");t.immediately&&t.every&&console.warn("Using option immediately with every does not affect the job's schedule. Job will run immediately anyway.");let d=t.count?t.count+1:1;if(typeof t.limit<"u"&&d>t.limit)return;let h=Date.now(),{endDate:f}=t;if(f&&h>new Date(f).getTime())return;let p=i.prevMillis||0;h=p<h?h:p;let{immediately:I}=t,y=uX.__rest(t,["immediately"]),m,w=null;if(c&&(m=await this.repeatStrategy(h,t,n),m<h&&(m=h)),m||A)return this.trace(NA.SpanKind.PRODUCER,"add",`${this.name}.${n}`,async(R,L)=>{var j,v;let C=i.telemetry;if(L){let O=(j=i.telemetry)===null||j===void 0?void 0:j.omitContext,U=((v=i.telemetry)===null||v===void 0?void 0:v.metadata)||!O&&L;(U||O)&&(C={metadata:U,omitContext:O})}let K=this.getNextJobOpts(m,e,Object.assign(Object.assign({},i),{repeat:y,telemetry:C}),d,w);if(o){m<h&&(m=h);let[O,U]=await this.scripts.addJobScheduler(e,m,JSON.stringify(typeof s>"u"?{}:s),Jd.Job.optsAsJSON(i),{name:n,startDate:t.startDate?new Date(t.startDate).getTime():void 0,endDate:f?new Date(f).getTime():void 0,tz:t.tz,pattern:c,every:A,limit:l,offset:w},Jd.Job.optsAsJSON(K),a),x=typeof U=="string"?parseInt(U,10):U,b=new this.Job(this,n,s,Object.assign(Object.assign({},K),{delay:x}),O);return b.id=O,R?.setAttributes({[NA.TelemetryAttributes.JobSchedulerId]:e,[NA.TelemetryAttributes.JobId]:b.id}),b}else{let O=await this.scripts.updateJobSchedulerNextMillis(e,m,JSON.stringify(typeof s>"u"?{}:s),Jd.Job.optsAsJSON(K),a);if(O){let U=new this.Job(this,n,s,K,O);return U.id=O,R?.setAttributes({[NA.TelemetryAttributes.JobSchedulerId]:e,[NA.TelemetryAttributes.JobId]:U.id}),U}}})}getNextJobOpts(e,t,n,s,i){var o,a;let A=this.getSchedulerNextJobId({jobSchedulerId:t,nextMillis:e}),l=Date.now(),c=e+i-l,u=Object.assign(Object.assign({},n),{jobId:A,delay:c<0?0:c,timestamp:l,prevMillis:e,repeatJobKey:t});return u.repeat=Object.assign(Object.assign({},n.repeat),{offset:i,count:s,startDate:!((o=n.repeat)===null||o===void 0)&&o.startDate?new Date(n.repeat.startDate).getTime():void 0,endDate:!((a=n.repeat)===null||a===void 0)&&a.endDate?new Date(n.repeat.endDate).getTime():void 0}),u}async removeJobScheduler(e){return this.scripts.removeJobScheduler(e)}async getSchedulerData(e,t,n){let s=await e.hgetall(this.toKey("repeat:"+t));return this.transformSchedulerData(t,s,n)}transformSchedulerData(e,t,n){if(t&&Object.keys(t).length>0){let s={key:e,name:t.name,next:n};return t.ic&&(s.iterationCount=parseInt(t.ic)),t.limit&&(s.limit=parseInt(t.limit)),t.startDate&&(s.startDate=parseInt(t.startDate)),t.endDate&&(s.endDate=parseInt(t.endDate)),t.tz&&(s.tz=t.tz),t.pattern&&(s.pattern=t.pattern),t.every&&(s.every=parseInt(t.every)),t.offset&&(s.offset=parseInt(t.offset)),(t.data||t.opts)&&(s.template=this.getTemplateFromJSON(t.data,t.opts)),s}if(e.includes(":"))return this.keyToData(e,n)}keyToData(e,t){let n=e.split(":"),s=n.slice(4).join(":")||null;return{key:e,name:n[0],id:n[1]||null,endDate:parseInt(n[2])||null,tz:n[3]||null,pattern:s,next:t}}async isJobScheduler(e){return await(await this.client).hexists(`${this.keys.repeat}:${e}`,"ic")===1}async getScheduler(e){let[t,n]=await this.scripts.getJobScheduler(e);return this.transformSchedulerData(e,t?(0,fX.array2obj)(t):null,n?parseInt(n):null)}getTemplateFromJSON(e,t){let n={};return e&&(n.data=JSON.parse(e)),t&&(n.opts=Jd.Job.optsFromJSON(t)),n}async getJobSchedulers(e=0,t=-1,n=!1){let s=await this.client,i=this.keys.repeat,o=n?await s.zrange(i,e,t,"WITHSCORES"):await s.zrevrange(i,e,t,"WITHSCORES"),a=[];for(let A=0;A<o.length;A+=2)a.push(this.getSchedulerData(s,o[A],parseInt(o[A+1])));return Promise.all(a)}async getSchedulersCount(){let e=this.keys.repeat;return(await this.client).zcard(e)}getSchedulerNextJobId({nextMillis:e,jobSchedulerId:t}){return`repeat:${t}:${e}`}};Ti.JobScheduler=ME;var gX=(r,e)=>{let{pattern:t}=e,n=new Date(r),s=e.startDate&&new Date(e.startDate),i=s>n?s:n,o=(0,dX.parseExpression)(t,Object.assign(Object.assign({},e),{currentDate:i}));try{return e.immediately?new Date().getTime():o.next().getTime()}catch{}};Ti.defaultRepeatStrategy=gX});var FE=g(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});Gd.LockManager=void 0;var pX=Fc(),qd=Gt(),KE=class{constructor(e,t){this.worker=e,this.opts=t,this.trackedJobs=new Map,this.closed=!1}start(){this.closed||this.opts.lockRenewTime>0&&this.startLockExtenderTimer()}async extendLocks(e){await this.worker.trace(qd.SpanKind.INTERNAL,"extendLocks",this.worker.name,async t=>{t?.setAttributes({[qd.TelemetryAttributes.WorkerId]:this.opts.workerId,[qd.TelemetryAttributes.WorkerName]:this.opts.workerName,[qd.TelemetryAttributes.WorkerJobsToExtendLocks]:e});try{let n=e.map(o=>{var a;return((a=this.trackedJobs.get(o))===null||a===void 0?void 0:a.token)||""}),s=await this.worker.extendJobLocks(e,n,this.opts.lockDuration);if(s.length>0){this.worker.emit("lockRenewalFailed",s);for(let o of s)this.worker.emit("error",new Error(`could not renew lock for job ${o}`))}let i=e.filter(o=>!s.includes(o));i.length>0&&this.worker.emit("locksRenewed",{count:i.length,jobIds:i})}catch(n){this.worker.emit("error",n)}})}startLockExtenderTimer(){clearTimeout(this.lockRenewalTimer),this.closed||(this.lockRenewalTimer=setTimeout(async()=>{let e=Date.now(),t=[];for(let n of this.trackedJobs.keys()){let s=this.trackedJobs.get(n),{ts:i,token:o,abortController:a}=s;if(!i){this.trackedJobs.set(n,{token:o,ts:e,abortController:a});continue}i+this.opts.lockRenewTime/2<e&&(this.trackedJobs.set(n,{token:o,ts:e,abortController:a}),t.push(n))}t.length&&await this.extendLocks(t),this.startLockExtenderTimer()},this.opts.lockRenewTime/2))}async close(){this.closed||(this.closed=!0,this.lockRenewalTimer&&(clearTimeout(this.lockRenewalTimer),this.lockRenewalTimer=void 0),this.trackedJobs.clear())}trackJob(e,t,n,s=!1){let i=s?new pX.AbortController:void 0;return!this.closed&&e&&this.trackedJobs.set(e,{token:t,ts:n,abortController:i}),i}untrackJob(e){this.trackedJobs.delete(e)}getActiveJobCount(){return this.trackedJobs.size}isRunning(){return!this.closed&&this.lockRenewalTimer!==void 0}cancelJob(e,t){let n=this.trackedJobs.get(e);return n?.abortController?(n.abortController.abort(t),!0):!1}cancelAllJobs(e){for(let t of this.trackedJobs.values())t.abortController&&t.abortController.abort(e)}getTrackedJobIds(){return Array.from(this.trackedJobs.keys())}};Gd.LockManager=KE});var Wx=g(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});Hd.QueueEvents=void 0;var Hx=(Mt(),Yt(Nt)),Vd=sr(),yX=Ns(),LE=class extends yX.QueueBase{constructor(e,t={connection:{}},n){var s,{connection:i,autorun:o=!0}=t,a=Hx.__rest(t,["connection","autorun"]);super(e,Object.assign(Object.assign({},a),{connection:(0,Vd.isRedisInstance)(i)?i.isCluster?i.duplicate(void 0,{redisOptions:(s=i.options)===null||s===void 0?void 0:s.redisOptions}):i.duplicate():i}),n,!0),this.running=!1,this.blocking=!1,this.opts=Object.assign({blockingTimeout:1e4},this.opts),o&&this.run().catch(A=>this.emit("error",A))}emit(e,...t){return super.emit(e,...t)}off(e,t){return super.off(e,t),this}on(e,t){return super.on(e,t),this}once(e,t){return super.once(e,t),this}async run(){if(this.running)throw new Error("Queue Events is already running.");try{this.running=!0;let e=await this.client;try{await e.client("SETNAME",this.clientName(Vd.QUEUE_EVENT_SUFFIX))}catch(t){if(!Vd.clientCommandMessageReg.test(t.message))throw t}await this.consumeEvents(e)}catch(e){throw this.running=!1,e}}async consumeEvents(e){let t=this.opts,n=this.keys.events,s=t.lastEventId||"$";for(;!this.closing;){this.blocking=!0;let i=await this.checkConnectionError(()=>e.xread("BLOCK",t.blockingTimeout,"STREAMS",n,s));if(this.blocking=!1,i){let a=i[0][1];for(let A=0;A<a.length;A++){s=a[A][0];let l=(0,Vd.array2obj)(a[A][1]);switch(l.event){case"progress":l.data=JSON.parse(l.data);break;case"completed":l.returnvalue=JSON.parse(l.returnvalue);break}let{event:c}=l,u=Hx.__rest(l,["event"]);c==="drained"?this.emit(c,s):(this.emit(c,u,s),u.jobId&&this.emit(`${c}:${u.jobId}`,u,s))}}}}async close(){return this.closing||(this.closing=(async()=>{try{(await this.client).disconnect(),await this.connection.close(this.blocking)}finally{this.closed=!0}})()),this.closing}};Hd.QueueEvents=LE});var zx=g(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.QueueEventsProducer=void 0;var EX=(Mt(),Yt(Nt)),IX=Ns(),OE=class extends IX.QueueBase{constructor(e,t={connection:{}},n){super(e,Object.assign({blockingConnection:!1},t),n),this.opts=t}async publishEvent(e,t=1e3){let n=await this.client,s=this.keys.events,{eventName:i}=e,o=EX.__rest(e,["eventName"]),a=["MAXLEN","~",t,"*","event",i];for(let[A,l]of Object.entries(o))a.push(A,l);await n.xadd(s,...a)}async close(){this.closing||(this.closing=this.connection.close()),await this.closing}};Wd.QueueEventsProducer=OE});var PE=g(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.QueueGetters=void 0;var mX=(Mt(),Yt(Nt)),CX=Ns(),Zx=sr(),UE=Gt();function Xx(r){return String(r).replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n")}var jE=class extends CX.QueueBase{getJob(e){return this.Job.fromId(this,e)}commandByType(e,t,n){return e.map(s=>{s=s==="waiting"?"wait":s;let i=this.toKey(s);switch(s){case"completed":case"failed":case"delayed":case"prioritized":case"repeat":case"waiting-children":return n(i,t?"zcard":"zrange");case"active":case"wait":case"paused":return n(i,t?"llen":"lrange")}})}sanitizeJobTypes(e){let t=typeof e=="string"?[e]:e;if(Array.isArray(t)&&t.length>0){let n=[...t];return n.indexOf("waiting")!==-1&&n.push("paused"),[...new Set(n)]}return["active","completed","delayed","failed","paused","prioritized","waiting","waiting-children"]}async count(){return await this.getJobCountByTypes("waiting","paused","delayed","prioritized","waiting-children")}async getRateLimitTtl(e){return this.scripts.getRateLimitTtl(e)}async getDebounceJobId(e){return(await this.client).get(`${this.keys.de}:${e}`)}async getDeduplicationJobId(e){return(await this.client).get(`${this.keys.de}:${e}`)}async getGlobalConcurrency(){let t=await(await this.client).hget(this.keys.meta,"concurrency");return t?Number(t):null}async getGlobalRateLimit(){let e=await this.client,[t,n]=await e.hmget(this.keys.meta,"max","duration");return t&&n?{max:Number(t),duration:Number(n)}:null}async getJobCountByTypes(...e){let t=await this.getJobCounts(...e);return Object.values(t).reduce((n,s)=>n+s,0)}async getJobCounts(...e){let t=this.sanitizeJobTypes(e),n=await this.scripts.getCounts(t),s={};return n.forEach((i,o)=>{s[t[o]]=i||0}),s}async recordJobCountsMetric(...e){var t;let n=await this.getJobCounts(...e),s=(t=this.opts.telemetry)===null||t===void 0?void 0:t.meter;if(s&&typeof s.createGauge=="function"){let i=s.createGauge(UE.MetricNames.QueueJobsCount,{description:"Number of jobs in the queue by state",unit:"{jobs}"});for(let[o,a]of Object.entries(n))i.record(a,{[UE.TelemetryAttributes.QueueName]:this.name,[UE.TelemetryAttributes.QueueJobsState]:o})}return n}getJobState(e){return this.scripts.getState(e)}async getMeta(){let t=await(await this.client).hgetall(this.keys.meta),{concurrency:n,max:s,duration:i,paused:o,"opts.maxLenEvents":a}=t,l=mX.__rest(t,["concurrency","max","duration","paused","opts.maxLenEvents"]);return n&&(l.concurrency=Number(n)),a&&(l.maxLenEvents=Number(a)),s&&(l.max=Number(s)),i&&(l.duration=Number(i)),l.paused=o==="1",l}getCompletedCount(){return this.getJobCountByTypes("completed")}getFailedCount(){return this.getJobCountByTypes("failed")}getDelayedCount(){return this.getJobCountByTypes("delayed")}getActiveCount(){return this.getJobCountByTypes("active")}getPrioritizedCount(){return this.getJobCountByTypes("prioritized")}async getCountsPerPriority(e){let t=[...new Set(e)],n=await this.scripts.getCountsPerPriority(t),s={};return n.forEach((i,o)=>{s[`${t[o]}`]=i||0}),s}getWaitingCount(){return this.getJobCountByTypes("waiting")}getWaitingChildrenCount(){return this.getJobCountByTypes("waiting-children")}getWaiting(e=0,t=-1){return this.getJobs(["waiting"],e,t,!0)}getWaitingChildren(e=0,t=-1){return this.getJobs(["waiting-children"],e,t,!0)}getActive(e=0,t=-1){return this.getJobs(["active"],e,t,!0)}getDelayed(e=0,t=-1){return this.getJobs(["delayed"],e,t,!0)}getPrioritized(e=0,t=-1){return this.getJobs(["prioritized"],e,t,!0)}getCompleted(e=0,t=-1){return this.getJobs(["completed"],e,t,!1)}getFailed(e=0,t=-1){return this.getJobs(["failed"],e,t,!1)}async getDependencies(e,t,n,s){let i=this.toKey(t=="processed"?`${e}:processed`:`${e}:dependencies`),{items:o,total:a,jobs:A}=await this.scripts.paginate(i,{start:n,end:s,fetchJobs:!0});return{items:o,jobs:A,total:a}}async getRanges(e,t=0,n=1,s=!1){let i=[];this.commandByType(e,!1,(A,l)=>{switch(l){case"lrange":i.push("lrange");break;case"zrange":i.push("zrange");break}});let o=await this.scripts.getRanges(e,t,n,s),a=[];return o.forEach((A,l)=>{let c=A||[];s&&i[l]==="lrange"?a=a.concat(c.reverse()):a=a.concat(c)}),[...new Set(a)]}async getJobs(e,t=0,n=-1,s=!1){let i=this.sanitizeJobTypes(e),o=await this.getRanges(i,t,n,s);return Promise.all(o.map(a=>this.Job.fromId(this,a)))}async getJobLogs(e,t=0,n=-1,s=!0){let o=(await this.client).multi(),a=this.toKey(e+":logs");s?o.lrange(a,t,n):o.lrange(a,-(n+1),-(t+1)),o.llen(a);let A=await o.exec();return s||A[0][1].reverse(),{logs:A[0][1],count:A[1][1]}}async baseGetClients(e){let t=await this.client;try{if(t.isCluster){let n=t.nodes(),s=[];for(let o=0;o<n.length;o++){let A=await n[o].client("LIST"),l=this.parseClientList(A,e);s.push(l)}return s.reduce((o,a)=>o.length>a.length?o:a,[])}else{let n=await t.client("LIST");return this.parseClientList(n,e)}}catch(n){if(!Zx.clientCommandMessageReg.test(n.message))throw n;return[{name:"GCP does not support client list"}]}}getWorkers(){let e=`${this.clientName()}`,t=`${this.clientName()}:w:`,n=s=>s&&(s===e||s.startsWith(t));return this.baseGetClients(n)}async getWorkersCount(){return(await this.getWorkers()).length}async getQueueEvents(){let e=`${this.clientName()}${Zx.QUEUE_EVENT_SUFFIX}`;return this.baseGetClients(t=>t===e)}async getMetrics(e,t=0,n=-1){let[s,i,o]=await this.scripts.getMetrics(e,t,n);return{meta:{count:parseInt(s[0]||"0",10),prevTS:parseInt(s[1]||"0",10),prevCount:parseInt(s[2]||"0",10)},data:i.map(a=>+a||0),count:o}}parseClientList(e,t){let n=e.split(/\r?\n/),s=[];return n.forEach(i=>{let o={};i.split(" ").forEach(function(l){let c=l.indexOf("="),u=l.substring(0,c),d=l.substring(c+1);o[u]=d});let A=o.name;t(A)&&(o.name=this.name,o.rawname=A,s.push(o))}),s}async exportPrometheusMetrics(e){let t=await this.getJobCounts(),n=[];n.push("# HELP bullmq_job_count Number of jobs in the queue by state"),n.push("# TYPE bullmq_job_count gauge");let s=Xx(this.name),i=e?Object.keys(e).reduce((A,l)=>`${A}, ${l}="${Xx(e[l])}"`,""):"";for(let[A,l]of Object.entries(t))n.push(`bullmq_job_count{queue="${s}", state="${A}"${i}} ${l}`);let[o,a]=await Promise.all([this.getMetrics("completed"),this.getMetrics("failed")]);return n.push("# HELP bullmq_job_completed_total Total number of completed jobs"),n.push("# TYPE bullmq_job_completed_total counter"),n.push(`bullmq_job_completed_total{queue="${s}"${i}} ${o.meta.count}`),n.push("# HELP bullmq_job_failed_total Total number of failed jobs"),n.push("# TYPE bullmq_job_failed_total counter"),n.push(`bullmq_job_failed_total{queue="${s}"${i}} ${a.meta.count}`),n.join(`
|
|
8912
|
+
`)}};zd.QueueGetters=jE});var Zd=g(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});Ni.getNextMillis=Ni.Repeat=void 0;var bX=(Mt(),Yt(Nt)),QX=TE(),BX=S("crypto"),SX=Ns(),_E=class extends SX.QueueBase{constructor(e,t,n){super(e,t,n),this.repeatStrategy=t.settings&&t.settings.repeatStrategy||Ni.getNextMillis,this.repeatKeyHashAlgorithm=t.settings&&t.settings.repeatKeyHashAlgorithm||"md5"}async updateRepeatableJob(e,t,n,{override:s}){var i,o;let a=Object.assign({},n.repeat);(i=a.pattern)!==null&&i!==void 0||(a.pattern=a.cron),delete a.cron;let A=a.count?a.count+1:1;if(typeof a.limit<"u"&&A>a.limit)return;let l=Date.now(),{endDate:c}=a;if(c&&l>new Date(c).getTime())return;let u=n.prevMillis||0;l=u<l?l:u;let d=await this.repeatStrategy(l,a,e),{every:h,pattern:f}=a,p=!!((h||f)&&a.immediately),I=p&&h?l-d:void 0;if(d){!u&&n.jobId&&(a.jobId=n.jobId);let y=$x(e,a),m=(o=n.repeat.key)!==null&&o!==void 0?o:this.hash(y),w;if(s)w=await this.scripts.addRepeatableJob(m,d,{name:e,endDate:c?new Date(c).getTime():void 0,tz:a.tz,pattern:f,every:h},y);else{let j=await this.client;w=await this.scripts.updateRepeatableJobMillis(j,m,d,y)}let{immediately:R}=a,L=bX.__rest(a,["immediately"]);return this.createNextJob(e,d,w,Object.assign(Object.assign({},n),{repeat:Object.assign({offset:I},L)}),t,A,p)}}async createNextJob(e,t,n,s,i,o,a){let A=this.getRepeatJobKey(e,t,n,i),l=Date.now(),c=t+(s.repeat.offset?s.repeat.offset:0)-l,u=Object.assign(Object.assign({},s),{jobId:A,delay:c<0||a?0:c,timestamp:l,prevMillis:t,repeatJobKey:n});return u.repeat=Object.assign(Object.assign({},s.repeat),{count:o}),this.Job.create(this,e,i,u)}getRepeatJobKey(e,t,n,s){return n.split(":").length>2?this.getRepeatJobId({name:e,nextMillis:t,namespace:this.hash(n),jobId:s?.id}):this.getRepeatDelayedJobId({customKey:n,nextMillis:t})}async removeRepeatable(e,t,n){var s;let i=$x(e,Object.assign(Object.assign({},t),{jobId:n})),o=(s=t.key)!==null&&s!==void 0?s:this.hash(i),a=this.getRepeatJobId({name:e,nextMillis:"",namespace:this.hash(i),jobId:n??t.jobId,key:t.key});return this.scripts.removeRepeatable(a,i,o)}async removeRepeatableByKey(e){let t=this.keyToData(e),n=this.getRepeatJobId({name:t.name,nextMillis:"",namespace:this.hash(e),jobId:t.id});return this.scripts.removeRepeatable(n,"",e)}async getRepeatableData(e,t,n){let s=await e.hgetall(this.toKey("repeat:"+t));return s?{key:t,name:s.name,endDate:parseInt(s.endDate)||null,tz:s.tz||null,pattern:s.pattern||null,every:s.every||null,next:n}:this.keyToData(t,n)}keyToData(e,t){let n=e.split(":"),s=n.slice(4).join(":")||null;return{key:e,name:n[0],id:n[1]||null,endDate:parseInt(n[2])||null,tz:n[3]||null,pattern:s,next:t}}async getRepeatableJobs(e=0,t=-1,n=!1){let s=await this.client,i=this.keys.repeat,o=n?await s.zrange(i,e,t,"WITHSCORES"):await s.zrevrange(i,e,t,"WITHSCORES"),a=[];for(let A=0;A<o.length;A+=2)a.push(this.getRepeatableData(s,o[A],parseInt(o[A+1])));return Promise.all(a)}async getRepeatableCount(){return(await this.client).zcard(this.toKey("repeat"))}hash(e){return(0,BX.createHash)(this.repeatKeyHashAlgorithm).update(e).digest("hex")}getRepeatDelayedJobId({nextMillis:e,customKey:t}){return`repeat:${t}:${e}`}getRepeatJobId({name:e,nextMillis:t,namespace:n,jobId:s,key:i}){return`repeat:${i??this.hash(`${e}${s||""}${n}`)}:${t}`}};Ni.Repeat=_E;function $x(r,e){let t=e.endDate?new Date(e.endDate).getTime():"",n=e.tz||"",s=e.pattern,i=s||String(e.every)||"",o=e.jobId?e.jobId:"";return`${r}:${o}:${t}:${n}:${i}`}var wX=(r,e)=>{let t=e.pattern;if(t&&e.every)throw new Error("Both .pattern and .every options are defined for this repeatable job");if(e.every)return Math.floor(r/e.every)*e.every+(e.immediately?0:e.every);let n=e.startDate&&new Date(e.startDate)>new Date(r)?new Date(e.startDate):new Date(r),s=(0,QX.parseExpression)(t,Object.assign(Object.assign({},e),{currentDate:n}));try{return e.immediately?new Date().getTime():s.next().getTime()}catch{}};Ni.getNextMillis=wX});var eT=g(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});Xd.Queue=void 0;var DX=qo(),kX=PE(),RX=Zd(),ge=Gt(),vX=Yd(),xX=gu(),TX=sr(),JE=class extends kX.QueueGetters{constructor(e,t,n){var s;super(e,Object.assign({},t),n),this.token=(0,TX.randomUUID)(),this.libName="bullmq",this.jobsOpts=(s=t?.defaultJobOptions)!==null&&s!==void 0?s:{},this.waitUntilReady().then(i=>{if(!this.closing&&!t?.skipMetasUpdate)return i.hmset(this.keys.meta,this.metaValues)}).catch(i=>{})}emit(e,...t){return super.emit(e,...t)}off(e,t){return super.off(e,t),this}on(e,t){return super.on(e,t),this}once(e,t){return super.once(e,t),this}get defaultJobOptions(){return Object.assign({},this.jobsOpts)}get metaValues(){var e,t,n,s;return{"opts.maxLenEvents":(s=(n=(t=(e=this.opts)===null||e===void 0?void 0:e.streams)===null||t===void 0?void 0:t.events)===null||n===void 0?void 0:n.maxLen)!==null&&s!==void 0?s:1e4,version:`${this.libName}:${xX.version}`}}async getVersion(){return await(await this.client).hget(this.keys.meta,"version")}get repeat(){return new Promise(async e=>{this._repeat||(this._repeat=new RX.Repeat(this.name,Object.assign(Object.assign({},this.opts),{connection:await this.client})),this._repeat.on("error",this.emit.bind(this,"error"))),e(this._repeat)})}get jobScheduler(){return new Promise(async e=>{this._jobScheduler||(this._jobScheduler=new vX.JobScheduler(this.name,Object.assign(Object.assign({},this.opts),{connection:await this.client})),this._jobScheduler.on("error",this.emit.bind(this,"error"))),e(this._jobScheduler)})}async setGlobalConcurrency(e){return(await this.client).hset(this.keys.meta,"concurrency",e)}async setGlobalRateLimit(e,t){return(await this.client).hset(this.keys.meta,"max",e,"duration",t)}async removeGlobalConcurrency(){return(await this.client).hdel(this.keys.meta,"concurrency")}async removeGlobalRateLimit(){return(await this.client).hdel(this.keys.meta,"max","duration")}async add(e,t,n){return this.trace(ge.SpanKind.PRODUCER,"add",`${this.name}.${e}`,async(s,i)=>{var o;if(i&&!(!((o=n?.telemetry)===null||o===void 0)&&o.omitContext)){let A={metadata:i};n=Object.assign(Object.assign({},n),{telemetry:A})}let a=await this.addJob(e,t,n);return s?.setAttributes({[ge.TelemetryAttributes.JobName]:e,[ge.TelemetryAttributes.JobId]:a.id}),a})}async addJob(e,t,n){if(n&&n.repeat){if(n.repeat.endDate&&+new Date(n.repeat.endDate)<Date.now())throw new Error("End date must be greater than current timestamp");return(await this.repeat).updateRepeatableJob(e,t,Object.assign(Object.assign({},this.jobsOpts),n),{override:!0})}else{let s=n?.jobId;if(s=="0"||s?.startsWith("0:"))throw new Error("JobId cannot be '0' or start with 0:");let i=Object.assign(Object.assign(Object.assign({},this.jobsOpts),n),{jobId:s}),o=await this.Job.create(this,e,t,i);return this.emit("waiting",o),o}}async addBulk(e){return this.trace(ge.SpanKind.PRODUCER,"addBulk",this.name,async(t,n)=>(t&&t.setAttributes({[ge.TelemetryAttributes.BulkNames]:e.map(s=>s.name),[ge.TelemetryAttributes.BulkCount]:e.length}),await this.Job.createBulk(this,e.map(s=>{var i,o,a,A,l,c;let u=(i=s.opts)===null||i===void 0?void 0:i.telemetry;if(n){let h=(a=(o=s.opts)===null||o===void 0?void 0:o.telemetry)===null||a===void 0?void 0:a.omitContext,f=((l=(A=s.opts)===null||A===void 0?void 0:A.telemetry)===null||l===void 0?void 0:l.metadata)||!h&&n;(f||h)&&(u={metadata:f,omitContext:h})}let d=Object.assign(Object.assign(Object.assign({},this.jobsOpts),s.opts),{jobId:(c=s.opts)===null||c===void 0?void 0:c.jobId,telemetry:u});return{name:s.name,data:s.data,opts:d}}))))}async upsertJobScheduler(e,t,n){var s,i;if(t.endDate&&+new Date(t.endDate)<Date.now())throw new Error("End date must be greater than current timestamp");return(await this.jobScheduler).upsertJobScheduler(e,t,(s=n?.name)!==null&&s!==void 0?s:e,(i=n?.data)!==null&&i!==void 0?i:{},Object.assign(Object.assign({},this.jobsOpts),n?.opts),{override:!0})}async pause(){await this.trace(ge.SpanKind.INTERNAL,"pause",this.name,async()=>{await this.scripts.pause(!0),this.emit("paused")})}async close(){await this.trace(ge.SpanKind.INTERNAL,"close",this.name,async()=>{this.closing||this._repeat&&await this._repeat.close(),await super.close()})}async rateLimit(e){await this.trace(ge.SpanKind.INTERNAL,"rateLimit",this.name,async t=>{t?.setAttributes({[ge.TelemetryAttributes.QueueRateLimit]:e}),await this.client.then(n=>n.set(this.keys.limiter,Number.MAX_SAFE_INTEGER,"PX",e))})}async resume(){await this.trace(ge.SpanKind.INTERNAL,"resume",this.name,async()=>{await this.scripts.pause(!1),this.emit("resumed")})}async isPaused(){return await(await this.client).hexists(this.keys.meta,"paused")===1}isMaxed(){return this.scripts.isMaxed()}async getRepeatableJobs(e,t,n){return(await this.repeat).getRepeatableJobs(e,t,n)}async getJobScheduler(e){return(await this.jobScheduler).getScheduler(e)}async getJobSchedulers(e,t,n){return(await this.jobScheduler).getJobSchedulers(e,t,n)}async getJobSchedulersCount(){return(await this.jobScheduler).getSchedulersCount()}async removeRepeatable(e,t,n){return this.trace(ge.SpanKind.INTERNAL,"removeRepeatable",`${this.name}.${e}`,async s=>(s?.setAttributes({[ge.TelemetryAttributes.JobName]:e,[ge.TelemetryAttributes.JobId]:n}),!await(await this.repeat).removeRepeatable(e,t,n)))}async removeJobScheduler(e){return!await(await this.jobScheduler).removeJobScheduler(e)}async removeDebounceKey(e){return this.trace(ge.SpanKind.INTERNAL,"removeDebounceKey",`${this.name}`,async t=>(t?.setAttributes({[ge.TelemetryAttributes.JobKey]:e}),await(await this.client).del(`${this.keys.de}:${e}`)))}async removeDeduplicationKey(e){return this.trace(ge.SpanKind.INTERNAL,"removeDeduplicationKey",`${this.name}`,async t=>(t?.setAttributes({[ge.TelemetryAttributes.DeduplicationKey]:e}),(await this.client).del(`${this.keys.de}:${e}`)))}async removeRateLimitKey(){return(await this.client).del(this.keys.limiter)}async removeRepeatableByKey(e){return this.trace(ge.SpanKind.INTERNAL,"removeRepeatableByKey",`${this.name}`,async t=>(t?.setAttributes({[ge.TelemetryAttributes.JobKey]:e}),!await(await this.repeat).removeRepeatableByKey(e)))}async remove(e,{removeChildren:t=!0}={}){return this.trace(ge.SpanKind.INTERNAL,"remove",this.name,async n=>{n?.setAttributes({[ge.TelemetryAttributes.JobId]:e,[ge.TelemetryAttributes.JobOptions]:JSON.stringify({removeChildren:t})});let s=await this.scripts.remove(e,t);return s===1&&this.emit("removed",e),s})}async updateJobProgress(e,t){await this.trace(ge.SpanKind.INTERNAL,"updateJobProgress",this.name,async n=>{n?.setAttributes({[ge.TelemetryAttributes.JobId]:e,[ge.TelemetryAttributes.JobProgress]:JSON.stringify(t)}),await this.scripts.updateProgress(e,t),this.emit("progress",e,t)})}async addJobLog(e,t,n){return DX.Job.addJobLog(this,e,t,n)}async drain(e=!1){await this.trace(ge.SpanKind.INTERNAL,"drain",this.name,async t=>{t?.setAttributes({[ge.TelemetryAttributes.QueueDrainDelay]:e}),await this.scripts.drain(e)})}async clean(e,t,n="completed"){return this.trace(ge.SpanKind.INTERNAL,"clean",this.name,async s=>{let i=t||1/0,o=Math.min(1e4,i),a=Date.now()-e,A=0,l=[],c=n==="waiting"?"wait":n;for(;A<i;){let u=await this.scripts.cleanJobsInSet(c,a,o);if(this.emit("cleaned",u,c),A+=u.length,l.push(...u),u.length<o)break}return s?.setAttributes({[ge.TelemetryAttributes.QueueGrace]:e,[ge.TelemetryAttributes.JobType]:n,[ge.TelemetryAttributes.QueueCleanLimit]:i,[ge.TelemetryAttributes.JobIds]:l}),l})}async obliterate(e){await this.trace(ge.SpanKind.INTERNAL,"obliterate",this.name,async()=>{await this.pause();let t=0;do t=await this.scripts.obliterate(Object.assign({force:!1,count:1e3},e));while(t)})}async retryJobs(e={}){await this.trace(ge.SpanKind.PRODUCER,"retryJobs",this.name,async t=>{t?.setAttributes({[ge.TelemetryAttributes.QueueOptions]:JSON.stringify(e)});let n=0;do n=await this.scripts.retryJobs(e.state,e.count,e.timestamp);while(n)})}async promoteJobs(e={}){await this.trace(ge.SpanKind.INTERNAL,"promoteJobs",this.name,async t=>{t?.setAttributes({[ge.TelemetryAttributes.QueueOptions]:JSON.stringify(e)});let n=0;do n=await this.scripts.promoteJobs(e.count);while(n)})}async trimEvents(e){return this.trace(ge.SpanKind.INTERNAL,"trimEvents",this.name,async t=>(t?.setAttributes({[ge.TelemetryAttributes.QueueEventMaxLength]:e}),await(await this.client).xtrim(this.keys.events,"MAXLEN","~",e)))}async removeDeprecatedPriorityKey(){return(await this.client).del(this.toKey("priority"))}async removeOrphanedJobs(e=1e3,t=0){let n=await this.client,s=new Set(Object.keys(this.keys)),i=Object.keys(this.keys).filter(u=>u!==""),o=["logs","dependencies","processed","failed","unsuccessful","lock"],a=this.qualifiedName+":",A=a+"*",l=0,c="0";do{let[u,d]=await n.scan(c,"MATCH",A,"COUNT",e);c=u;let h=new Set;for(let p of d){let I=p.slice(a.length);if(s.has(I))continue;let y=I.indexOf(":");if(y!==-1){let w=I.slice(0,y);if(s.has(w))continue}let m=y===-1?I:I.slice(0,y);if(y!==-1){let w=I.slice(y+1);if(!o.includes(w))continue}h.add(m)}if(h.size===0)continue;let f=await this.scripts.removeOrphanedJobs([...h],i,o);if(l+=f||0,t>0&&l>=t)break}while(c!=="0");return l}};Xd.Queue=JE});var qE=g(YE=>{"use strict";Object.defineProperty(YE,"__esModule",{value:!0});var At=Gt(),NX=(r,e)=>async function(n,s,i){let o,a,A,l;try{let c=new Promise((u,d)=>{(async()=>{try{A=(f,p)=>{d(new Error("Unexpected exit code: "+f+" signal: "+p))},o=await e.retain(r),o.on("exit",A),a=async f=>{var p,I,y,m,w;try{switch(f.cmd){case At.ParentCommand.Completed:u(f.value);break;case At.ParentCommand.Failed:case At.ParentCommand.Error:{let R=new Error;Object.assign(R,f.value),d(R);break}case At.ParentCommand.Progress:await n.updateProgress(f.value);break;case At.ParentCommand.Log:await n.log(f.value);break;case At.ParentCommand.MoveToDelayed:await n.moveToDelayed((p=f.value)===null||p===void 0?void 0:p.timestamp,(I=f.value)===null||I===void 0?void 0:I.token);break;case At.ParentCommand.MoveToWait:await n.moveToWait((y=f.value)===null||y===void 0?void 0:y.token);break;case At.ParentCommand.MoveToWaitingChildren:{let R=await n.moveToWaitingChildren((m=f.value)===null||m===void 0?void 0:m.token,(w=f.value)===null||w===void 0?void 0:w.opts);o.send({requestId:f.requestId,cmd:At.ChildCommand.MoveToWaitingChildrenResponse,value:R})}break;case At.ParentCommand.Update:await n.updateData(f.value);break;case At.ParentCommand.GetChildrenValues:{let R=await n.getChildrenValues();o.send({requestId:f.requestId,cmd:At.ChildCommand.GetChildrenValuesResponse,value:R})}break;case At.ParentCommand.GetIgnoredChildrenFailures:{let R=await n.getIgnoredChildrenFailures();o.send({requestId:f.requestId,cmd:At.ChildCommand.GetIgnoredChildrenFailuresResponse,value:R})}break;case At.ParentCommand.GetDependenciesCount:{let R=await n.getDependenciesCount(f.value);o.send({requestId:f.requestId,cmd:At.ChildCommand.GetDependenciesCountResponse,value:R})}break;case At.ParentCommand.GetDependencies:{let R=await n.getDependencies(f.value);o.send({requestId:f.requestId,cmd:At.ChildCommand.GetDependenciesResponse,value:R})}break}}catch(R){d(R)}},o.on("message",a),o.send({cmd:At.ChildCommand.Start,job:n.asJSONSandbox(),token:s}),i&&(l=()=>{try{o.send({cmd:At.ChildCommand.Cancel,value:i.reason})}catch{}},i.aborted?l():i.addEventListener("abort",l,{once:!0}))}catch(f){d(f)}})()});return await c,c}finally{i&&l&&i.removeEventListener("abort",l),o&&(o.off("message",a),o.off("exit",A),o.exitCode===null&&o.signalCode===null&&e.release(o))}};YE.default=NX});var rT=g((eh,tT)=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.Worker=void 0;var $d=S("fs"),MX=S("url"),MA=S("path"),KX=Fc(),na=sr(),FX=Ns(),LX=Zd(),OX=Hp(),UX=CA(),jX=qE(),PX=_p(),sa=zc(),pe=Gt(),_X=Yd(),JX=FE(),YX=10,GE=class extends FX.QueueBase{static RateLimitError(){return new sa.RateLimitError}constructor(e,t,n,s){var i;if(super(e,Object.assign(Object.assign({drainDelay:5,concurrency:1,lockDuration:3e4,maximumRateLimitDelay:3e4,maxStalledCount:1,stalledInterval:3e4,autorun:!0,runRetryDelay:15e3},n),{blockingConnection:!0}),s),this.abortDelayController=null,this.blockUntil=0,this.drained=!1,this.limitUntil=0,this.processorAcceptsSignal=!1,this.stalledCheckerRunning=!1,this.waiting=null,this.running=!1,this.mainLoopRunning=null,!n||!n.connection)throw new Error("Worker requires a connection");if(typeof this.opts.maxStalledCount!="number"||this.opts.maxStalledCount<0)throw new Error("maxStalledCount must be greater or equal than 0");if(typeof this.opts.maxStartedAttempts=="number"&&this.opts.maxStartedAttempts<0)throw new Error("maxStartedAttempts must be greater or equal than 0");if(typeof this.opts.stalledInterval!="number"||this.opts.stalledInterval<=0)throw new Error("stalledInterval must be greater than 0");if(typeof this.opts.drainDelay!="number"||this.opts.drainDelay<=0)throw new Error("drainDelay must be greater than 0");if(this.concurrency=this.opts.concurrency,this.opts.lockRenewTime=this.opts.lockRenewTime||this.opts.lockDuration/2,this.id=(0,na.randomUUID)(),this.createLockManager(),t){if(typeof t=="function")this.processFn=t,this.processorAcceptsSignal=t.length>=3;else{if(t instanceof MX.URL){if(!$d.existsSync(t))throw new Error(`URL ${t} does not exist in the local file system`);t=t.href}else{let d=t+([".js",".ts",".flow",".cjs",".mjs"].includes(MA.extname(t))?"":".js");if(!$d.existsSync(d))throw new Error(`File ${d} does not exist`)}let a=MA.dirname(tT.filename||__filename),A=MA.join(a,"main-worker.js"),l=MA.join(a,"main.js"),c=this.opts.useWorkerThreads?A:l;try{$d.statSync(c)}catch{let d=this.opts.useWorkerThreads?"main-worker.js":"main.js";c=MA.join(process.cwd(),`dist/cjs/classes/${d}`),$d.statSync(c)}this.childPool=new OX.ChildPool({mainFile:c,useWorkerThreads:this.opts.useWorkerThreads,workerForkOptions:this.opts.workerForkOptions,workerThreadsOptions:this.opts.workerThreadsOptions}),this.createSandbox(t),this.processorAcceptsSignal=!0}this.opts.autorun&&this.run().catch(a=>this.emit("error",a))}let o=this.clientName()+(this.opts.name?`:w:${this.opts.name}`:"");this.blockingConnection=new UX.RedisConnection((0,na.isRedisInstance)(n.connection)?n.connection.isCluster?n.connection.duplicate(void 0,{redisOptions:Object.assign(Object.assign({},((i=n.connection.options)===null||i===void 0?void 0:i.redisOptions)||{}),{connectionName:o})}):n.connection.duplicate({connectionName:o}):Object.assign(Object.assign({},n.connection),{connectionName:o}),{shared:!1,blocking:!0,skipVersionCheck:n.skipVersionCheck}),this.blockingConnection.on("error",a=>this.emit("error",a)),this.blockingConnection.on("ready",()=>setTimeout(()=>this.emit("ready"),0))}createLockManager(){this.lockManager=new JX.LockManager(this,{lockRenewTime:this.opts.lockRenewTime,lockDuration:this.opts.lockDuration,workerId:this.id,workerName:this.opts.name})}createSandbox(e){this.processFn=(0,jX.default)(e,this.childPool).bind(this)}async extendJobLocks(e,t,n){return this.scripts.extendLocks(e,t,n)}emit(e,...t){return super.emit(e,...t)}off(e,t){return super.off(e,t),this}on(e,t){return super.on(e,t),this}once(e,t){return super.once(e,t),this}callProcessJob(e,t,n){return this.processFn(e,t,n)}createJob(e,t){return this.Job.fromJSON(this,e,t)}async waitUntilReady(){return await super.waitUntilReady(),this.blockingConnection.client}cancelJob(e,t){return this.lockManager.cancelJob(e,t)}cancelAllJobs(e){this.lockManager.cancelAllJobs(e)}set concurrency(e){if(typeof e!="number"||e<1||!isFinite(e))throw new Error("concurrency must be a finite number greater than 0");this._concurrency=e}get concurrency(){return this._concurrency}get repeat(){return new Promise(async e=>{if(!this._repeat){let t=await this.client;this._repeat=new LX.Repeat(this.name,Object.assign(Object.assign({},this.opts),{connection:t})),this._repeat.on("error",this.emit.bind(this,"error"))}e(this._repeat)})}get jobScheduler(){return new Promise(async e=>{if(!this._jobScheduler){let t=await this.client;this._jobScheduler=new _X.JobScheduler(this.name,Object.assign(Object.assign({},this.opts),{connection:t})),this._jobScheduler.on("error",this.emit.bind(this,"error"))}e(this._jobScheduler)})}async run(){if(!this.processFn)throw new Error("No process function is defined.");if(this.running)throw new Error("Worker is already running.");try{if(this.running=!0,this.closing||this.paused)return;await this.startStalledCheckTimer(),this.opts.skipLockRenewal||this.lockManager.start();let e=await this.client,t=await this.blockingConnection.client;this.mainLoopRunning=this.mainLoop(e,t),await this.mainLoopRunning}finally{this.running=!1}}async waitForRateLimit(){var e;let t=this.limitUntil;if(t>Date.now()){(e=this.abortDelayController)===null||e===void 0||e.abort(),this.abortDelayController=new KX.AbortController;let n=this.getRateLimitDelay(t-Date.now());await this.delay(n,this.abortDelayController),this.drained=!1,this.limitUntil=0}}async mainLoop(e,t){let n=new PX.AsyncFifoQueue,s=0;for(;!this.closing&&!this.paused||n.numTotal()>0;){for(;!this.closing&&!this.paused&&!this.waiting&&n.numTotal()<this._concurrency&&!this.isRateLimited();){let o=`${this.id}:${s++}`,a=this.retryIfFailed(()=>this._getNextJob(e,t,o,{block:!0}),{delayInMs:this.opts.runRetryDelay,onlyEmitError:!0});if(n.add(a),this.waiting&&n.numTotal()>1||!await a&&n.numTotal()>1||this.blockUntil)break}let i;do i=await n.fetch();while(!i&&n.numQueued()>0);if(i){let o=i.token;n.add(this.processJob(i,o,()=>n.numTotal()<=this._concurrency))}else n.numQueued()===0&&await this.waitForRateLimit()}}async getNextJob(e,{block:t=!0}={}){var n,s;let i=await this._getNextJob(await this.client,await this.blockingConnection.client,e,{block:t});return this.trace(pe.SpanKind.INTERNAL,"getNextJob",this.name,async o=>(o?.setAttributes({[pe.TelemetryAttributes.WorkerId]:this.id,[pe.TelemetryAttributes.QueueName]:this.name,[pe.TelemetryAttributes.WorkerName]:this.opts.name,[pe.TelemetryAttributes.WorkerOptions]:JSON.stringify({block:t}),[pe.TelemetryAttributes.JobId]:i?.id}),i),(s=(n=i?.opts)===null||n===void 0?void 0:n.telemetry)===null||s===void 0?void 0:s.metadata)}async _getNextJob(e,t,n,{block:s=!0}={}){if(this.paused||this.closing)return;let i;if(this.drained&&s&&!this.limitUntil&&!this.waiting){this.waiting=this.waitForJob(t,this.blockUntil);try{this.blockUntil=await this.waiting,(this.blockUntil<=0||this.blockUntil-Date.now()<1)&&(i=await this.moveToActive(e,n,this.opts.name))}finally{this.waiting=null}}else this.isRateLimited()||(i=await this.moveToActive(e,n,this.opts.name));return i&&this.emit("active",i,"waiting"),i}async rateLimit(e){await this.trace(pe.SpanKind.INTERNAL,"rateLimit",this.name,async t=>{t?.setAttributes({[pe.TelemetryAttributes.WorkerId]:this.id,[pe.TelemetryAttributes.WorkerRateLimit]:e}),await this.client.then(n=>n.set(this.keys.limiter,Number.MAX_SAFE_INTEGER,"PX",e))})}get minimumBlockTimeout(){return this.blockingConnection.capabilities.canBlockFor1Ms?.001:.002}isRateLimited(){return this.limitUntil>Date.now()}async moveToActive(e,t,n){let[s,i,o,a]=await this.scripts.moveToActive(e,t,n);return this.updateDelays(o,a),this.nextJobFromJobData(s,i,t)}async waitForJob(e,t){if(this.paused)return 1/0;let n;try{if(!this.closing&&!this.isRateLimited()){let s=this.getBlockTimeout(t);if(s>0){s=this.blockingConnection.capabilities.canDoubleTimeout?s:Math.ceil(s),n=setTimeout(async()=>{e.disconnect(!this.closing)},s*1e3+1e3),this.updateDelays();let i=await e.bzpopmin(this.keys.marker,s);if(i){let[o,a,A]=i;if(a){let l=parseInt(A);return t&&l>t?t:l}}}return 0}}catch(s){(0,na.isNotConnectionError)(s)&&this.emit("error",s),this.closing||await this.delay()}finally{clearTimeout(n)}return 1/0}getBlockTimeout(e){let t=this.opts;if(e){let n=e-Date.now();return n<=0?n:n<this.minimumBlockTimeout*1e3?this.minimumBlockTimeout:Math.min(n/1e3,YX)}else return Math.max(t.drainDelay,this.minimumBlockTimeout)}getRateLimitDelay(e){return Math.min(e,this.opts.maximumRateLimitDelay)}async delay(e,t){await(0,na.delay)(e||na.DELAY_TIME_1,t)}updateDelays(e=0,t=0){let n=Math.max(e,0);n>0?this.limitUntil=Date.now()+n:this.limitUntil=0,this.blockUntil=Math.max(t,0)||0}async nextJobFromJobData(e,t,n){if(!e)this.drained||(this.emit("drained"),this.drained=!0);else{this.drained=!1;let s=this.createJob(e,t);s.token=n;try{await this.retryIfFailed(async()=>{let i=!!s.repeatJobKey,o=i&&s.repeatJobKey.split(":").length>=5,a=i&&!o;o&&(a=await(await this.jobScheduler).isJobScheduler(s.repeatJobKey)),a?await(await this.jobScheduler).upsertJobScheduler(s.repeatJobKey,s.opts.repeat,s.name,s.data,s.opts,{override:!1,producerId:s.id}):s.opts.repeat&&await(await this.repeat).updateRepeatableJob(s.name,s.data,s.opts,{override:!1})},{delayInMs:this.opts.runRetryDelay})}catch(i){let o=i instanceof Error?i.message:String(i),a=new Error(`Failed to add repeatable job for next iteration: ${o}`);this.emit("error",a);return}return s}}async processJob(e,t,n=()=>!0){var s,i;let o=(i=(s=e.opts)===null||s===void 0?void 0:s.telemetry)===null||i===void 0?void 0:i.metadata;return this.trace(pe.SpanKind.CONSUMER,"process",this.name,async a=>{a?.setAttributes({[pe.TelemetryAttributes.WorkerId]:this.id,[pe.TelemetryAttributes.WorkerName]:this.opts.name,[pe.TelemetryAttributes.JobId]:e.id,[pe.TelemetryAttributes.JobName]:e.name});let A=this.lockManager.trackJob(e.id,t,e.processedOn,this.processorAcceptsSignal);try{let l=this.getUnrecoverableErrorMessage(e);if(l)return await this.retryIfFailed(()=>(this.lockManager.untrackJob(e.id),this.handleFailed(new sa.UnrecoverableError(l),e,t,n,a)),{delayInMs:this.opts.runRetryDelay,span:a});let c=await this.callProcessJob(e,t,A?A.signal:void 0);return await this.retryIfFailed(()=>(this.lockManager.untrackJob(e.id),this.handleCompleted(c,e,t,n,a)),{delayInMs:this.opts.runRetryDelay,span:a})}catch(l){return await this.retryIfFailed(()=>(this.lockManager.untrackJob(e.id),this.handleFailed(l,e,t,n,a)),{delayInMs:this.opts.runRetryDelay,span:a,onlyEmitError:!0})}finally{this.lockManager.untrackJob(e.id);let l=Date.now();a?.setAttributes({[pe.TelemetryAttributes.JobFinishedTimestamp]:l,[pe.TelemetryAttributes.JobAttemptFinishedTimestamp]:e.finishedOn||l,[pe.TelemetryAttributes.JobProcessedTimestamp]:e.processedOn})}},o)}getUnrecoverableErrorMessage(e){if(e.deferredFailure)return e.deferredFailure;if(this.opts.maxStartedAttempts&&this.opts.maxStartedAttempts<e.attemptsStarted)return"job started more than allowable limit"}async handleCompleted(e,t,n,s=()=>!0,i){if(!this.connection.closing){let o=await t.moveToCompleted(e,n,s()&&!(this.closing||this.paused));if(this.emit("completed",t,e,"active"),i?.addEvent("job completed",{[pe.TelemetryAttributes.JobResult]:JSON.stringify(e)}),i?.setAttributes({[pe.TelemetryAttributes.JobAttemptsMade]:t.attemptsMade}),Array.isArray(o)){let[a,A,l,c]=o;return this.updateDelays(l,c),this.nextJobFromJobData(a,A,n)}}}async handleFailed(e,t,n,s=()=>!0,i){if(!this.connection.closing){if(e.message===sa.RATE_LIMIT_ERROR){let a=await this.moveLimitedBackToWait(t,n);this.limitUntil=a>0?Date.now()+a:0;return}if(e instanceof sa.DelayedError||e.name=="DelayedError"||e instanceof sa.WaitingError||e.name=="WaitingError"||e instanceof sa.WaitingChildrenError||e.name=="WaitingChildrenError"){let a=await this.client;return this.moveToActive(a,n,this.opts.name)}let o=await t.moveToFailed(e,n,s()&&!(this.closing||this.paused));if(this.emit("failed",t,e,"active"),i?.addEvent("job failed",{[pe.TelemetryAttributes.JobFailedReason]:e.message}),i?.setAttributes({[pe.TelemetryAttributes.JobAttemptsMade]:t.attemptsMade}),Array.isArray(o)){let[a,A,l,c]=o;return this.updateDelays(l,c),this.nextJobFromJobData(a,A,n)}}}async pause(e){await this.trace(pe.SpanKind.INTERNAL,"pause",this.name,async t=>{var n;t?.setAttributes({[pe.TelemetryAttributes.WorkerId]:this.id,[pe.TelemetryAttributes.WorkerName]:this.opts.name,[pe.TelemetryAttributes.WorkerDoNotWaitActive]:e}),this.paused||(this.paused=!0,e||await this.whenCurrentJobsFinished(),(n=this.stalledCheckStopper)===null||n===void 0||n.call(this),this.emit("paused"))})}resume(){(!this.running||this.paused)&&this.trace(pe.SpanKind.INTERNAL,"resume",this.name,e=>{e?.setAttributes({[pe.TelemetryAttributes.WorkerId]:this.id,[pe.TelemetryAttributes.WorkerName]:this.opts.name}),this.paused=!1,this.running?this.startStalledCheckTimer().catch(t=>{this.emit("error",t)}):this.processFn&&this.run(),this.emit("resumed")}).catch(e=>{this.emit("error",e)})}isPaused(){return!!this.paused}isRunning(){return this.running}async close(e=!1){return this.closing?this.closing:(this.closing=(async()=>{await this.trace(pe.SpanKind.INTERNAL,"close",this.name,async t=>{var n,s;t?.setAttributes({[pe.TelemetryAttributes.WorkerId]:this.id,[pe.TelemetryAttributes.WorkerName]:this.opts.name,[pe.TelemetryAttributes.WorkerForceClose]:e}),this.emit("closing","closing queue"),(n=this.abortDelayController)===null||n===void 0||n.abort();let i=[()=>e||this.whenCurrentJobsFinished(!1),()=>this.lockManager.close(),()=>{var o;return(o=this.childPool)===null||o===void 0?void 0:o.clean()},()=>this.blockingConnection.close(e),()=>this.connection.close(e)];for(let o of i)try{await o()}catch(a){this.emit("error",a)}(s=this.stalledCheckStopper)===null||s===void 0||s.call(this),this.closed=!0,this.emit("closed")})})(),await this.closing)}async startStalledCheckTimer(){this.opts.skipStalledCheck||!this.closing&&!this.stalledCheckerRunning&&await this.trace(pe.SpanKind.INTERNAL,"startStalledCheckTimer",this.name,async e=>{e?.setAttributes({[pe.TelemetryAttributes.WorkerId]:this.id,[pe.TelemetryAttributes.WorkerName]:this.opts.name}),this.stalledCheckerRunning=!0,this.stalledChecker().catch(t=>{this.emit("error",t)}).finally(()=>{this.stalledCheckerRunning=!1})})}async stalledChecker(){for(;!(this.closing||this.paused);)await this.checkConnectionError(()=>this.moveStalledJobsToWait()),await new Promise(e=>{let t=setTimeout(e,this.opts.stalledInterval);this.stalledCheckStopper=()=>{clearTimeout(t),e()}})}async whenCurrentJobsFinished(e=!0){this.waiting?await this.blockingConnection.disconnect(e):e=!1,this.mainLoopRunning&&await this.mainLoopRunning,e&&await this.blockingConnection.reconnect()}async retryIfFailed(e,t){var n;let s=0,i=t.maxRetries||1/0;do try{return await e()}catch(o){if((n=t.span)===null||n===void 0||n.recordException(o.message),(0,na.isNotConnectionError)(o)){if(!this.paused&&!this.closing&&this.emit("error",o),t.onlyEmitError)return;throw o}else if(t.delayInMs&&!this.closing&&!this.closed&&await this.delay(t.delayInMs,this.abortDelayController),s+1>=i)throw o}while(++s<i)}async moveStalledJobsToWait(){await this.trace(pe.SpanKind.INTERNAL,"moveStalledJobsToWait",this.name,async e=>{let t=await this.scripts.moveStalledJobsToWait();e?.setAttributes({[pe.TelemetryAttributes.WorkerId]:this.id,[pe.TelemetryAttributes.WorkerName]:this.opts.name,[pe.TelemetryAttributes.WorkerStalledJobs]:t}),t.forEach(n=>{e?.addEvent("job stalled",{[pe.TelemetryAttributes.JobId]:n}),this.emit("stalled",n,"active")})})}moveLimitedBackToWait(e,t){return e.moveToWait(t)}};eh.Worker=GE});var nT=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});var st=(Mt(),Yt(Nt));st.__exportStar(_p(),Ze);st.__exportStar(Jp(),Ze);st.__exportStar(qp(),Ze);st.__exportStar(Hp(),Ze);st.__exportStar(xD(),Ze);st.__exportStar(zc(),Ze);st.__exportStar(ov(),Ze);st.__exportStar(qo(),Ze);st.__exportStar(Yd(),Ze);st.__exportStar(FE(),Ze);st.__exportStar(Ns(),Ze);st.__exportStar(Wx(),Ze);st.__exportStar(zx(),Ze);st.__exportStar(PE(),Ze);st.__exportStar(mu(),Ze);st.__exportStar(eT(),Ze);st.__exportStar(CA(),Ze);st.__exportStar(Zd(),Ze);st.__exportStar(qE(),Ze);st.__exportStar(qy(),Ze);st.__exportStar(rT(),Ze)});var iT=g(sT=>{"use strict";Object.defineProperty(sT,"__esModule",{value:!0})});var aT=g(oT=>{"use strict";Object.defineProperty(oT,"__esModule",{value:!0})});var lT=g(AT=>{"use strict";Object.defineProperty(AT,"__esModule",{value:!0})});var uT=g(cT=>{"use strict";Object.defineProperty(cT,"__esModule",{value:!0})});var hT=g(dT=>{"use strict";Object.defineProperty(dT,"__esModule",{value:!0})});var gT=g(fT=>{"use strict";Object.defineProperty(fT,"__esModule",{value:!0})});var yT=g(pT=>{"use strict";Object.defineProperty(pT,"__esModule",{value:!0})});var IT=g(ET=>{"use strict";Object.defineProperty(ET,"__esModule",{value:!0})});var CT=g(mT=>{"use strict";Object.defineProperty(mT,"__esModule",{value:!0})});var QT=g(bT=>{"use strict";Object.defineProperty(bT,"__esModule",{value:!0})});var ST=g(BT=>{"use strict";Object.defineProperty(BT,"__esModule",{value:!0})});var DT=g(wT=>{"use strict";Object.defineProperty(wT,"__esModule",{value:!0})});var RT=g(kT=>{"use strict";Object.defineProperty(kT,"__esModule",{value:!0})});var xT=g(vT=>{"use strict";Object.defineProperty(vT,"__esModule",{value:!0})});var NT=g(TT=>{"use strict";Object.defineProperty(TT,"__esModule",{value:!0})});var KT=g(MT=>{"use strict";Object.defineProperty(MT,"__esModule",{value:!0})});var LT=g(FT=>{"use strict";Object.defineProperty(FT,"__esModule",{value:!0})});var UT=g(OT=>{"use strict";Object.defineProperty(OT,"__esModule",{value:!0})});var PT=g(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.ClientType=void 0;var jT;(function(r){r.blocking="blocking",r.normal="normal"})(jT||(th.ClientType=jT={}))});var JT=g(_T=>{"use strict";Object.defineProperty(_T,"__esModule",{value:!0})});var qT=g(YT=>{"use strict";Object.defineProperty(YT,"__esModule",{value:!0})});var VT=g(GT=>{"use strict";Object.defineProperty(GT,"__esModule",{value:!0})});var WT=g(HT=>{"use strict";Object.defineProperty(HT,"__esModule",{value:!0})});var ZT=g(zT=>{"use strict";Object.defineProperty(zT,"__esModule",{value:!0})});var $T=g(XT=>{"use strict";Object.defineProperty(XT,"__esModule",{value:!0})});var tN=g(eN=>{"use strict";Object.defineProperty(eN,"__esModule",{value:!0})});var nN=g(rN=>{"use strict";Object.defineProperty(rN,"__esModule",{value:!0})});var iN=g(sN=>{"use strict";Object.defineProperty(sN,"__esModule",{value:!0})});var aN=g(oN=>{"use strict";Object.defineProperty(oN,"__esModule",{value:!0})});var lN=g(AN=>{"use strict";Object.defineProperty(AN,"__esModule",{value:!0})});var uN=g(cN=>{"use strict";Object.defineProperty(cN,"__esModule",{value:!0})});var hN=g(dN=>{"use strict";Object.defineProperty(dN,"__esModule",{value:!0})});var gN=g(fN=>{"use strict";Object.defineProperty(fN,"__esModule",{value:!0})});var pN=g(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});var we=(Mt(),Yt(Nt));we.__exportStar(iT(),be);we.__exportStar(aT(),be);we.__exportStar(lT(),be);we.__exportStar(uT(),be);we.__exportStar(hT(),be);we.__exportStar(gT(),be);we.__exportStar(yT(),be);we.__exportStar(IT(),be);we.__exportStar(CT(),be);we.__exportStar(QT(),be);we.__exportStar(ST(),be);we.__exportStar(DT(),be);we.__exportStar(RT(),be);we.__exportStar(xT(),be);we.__exportStar(NT(),be);we.__exportStar(KT(),be);we.__exportStar(LT(),be);we.__exportStar(UT(),be);we.__exportStar(PT(),be);we.__exportStar(JT(),be);we.__exportStar(qT(),be);we.__exportStar(VT(),be);we.__exportStar(WT(),be);we.__exportStar(ZT(),be);we.__exportStar($T(),be);we.__exportStar(tN(),be);we.__exportStar(nN(),be);we.__exportStar(iN(),be);we.__exportStar(aN(),be);we.__exportStar(lN(),be);we.__exportStar(uN(),be);we.__exportStar(hN(),be);we.__exportStar(gN(),be)});var EN=g(yN=>{"use strict";Object.defineProperty(yN,"__esModule",{value:!0})});var mN=g(IN=>{"use strict";Object.defineProperty(IN,"__esModule",{value:!0})});var bN=g(CN=>{"use strict";Object.defineProperty(CN,"__esModule",{value:!0})});var BN=g(QN=>{"use strict";Object.defineProperty(QN,"__esModule",{value:!0})});var wN=g(SN=>{"use strict";Object.defineProperty(SN,"__esModule",{value:!0})});var kN=g(DN=>{"use strict";Object.defineProperty(DN,"__esModule",{value:!0})});var vN=g(RN=>{"use strict";Object.defineProperty(RN,"__esModule",{value:!0})});var TN=g(xN=>{"use strict";Object.defineProperty(xN,"__esModule",{value:!0})});var MN=g(NN=>{"use strict";Object.defineProperty(NN,"__esModule",{value:!0})});var FN=g(KN=>{"use strict";Object.defineProperty(KN,"__esModule",{value:!0})});var ON=g(LN=>{"use strict";Object.defineProperty(LN,"__esModule",{value:!0})});var UN=g(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});var zr=(Mt(),Yt(Nt));zr.__exportStar(EN(),dr);zr.__exportStar(mN(),dr);zr.__exportStar(bN(),dr);zr.__exportStar(BN(),dr);zr.__exportStar(wN(),dr);zr.__exportStar(kN(),dr);zr.__exportStar(vN(),dr);zr.__exportStar(TN(),dr);zr.__exportStar(MN(),dr);zr.__exportStar(FN(),dr);zr.__exportStar(ON(),dr)});var PN=g(jN=>{"use strict";Object.defineProperty(jN,"__esModule",{value:!0})});var _N=g(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});var Mi=(Mt(),Yt(Nt));Mi.__exportStar(nT(),Yn);Mi.__exportStar(Gt(),Yn);Mi.__exportStar(pN(),Yn);Mi.__exportStar(UN(),Yn);Mi.__exportStar(sr(),Yn);Mi.__exportStar(PN(),Yn);Mi.__exportStar(Eu(),Yn)});var Ke=g((Oge,HN)=>{"use strict";HN.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}});var eI=g((Uge,XN)=>{"use strict";var ia=0,HE=1e3,WE=(HE>>1)-1,Ms,zE=Symbol("kFastTimer"),Vn=[],ZE=-2,XE=-1,zN=0,WN=1;function $E(){ia+=WE;let r=0,e=Vn.length;for(;r<e;){let t=Vn[r];t._state===zN?(t._idleStart=ia-WE,t._state=WN):t._state===WN&&ia>=t._idleStart+t._idleTimeout&&(t._state=XE,t._idleStart=-1,t._onTimeout(t._timerArg)),t._state===XE?(t._state=ZE,--e!==0&&(Vn[r]=Vn[e])):++r}Vn.length=e,Vn.length!==0&&ZN()}function ZN(){Ms?.refresh?Ms.refresh():(clearTimeout(Ms),Ms=setTimeout($E,WE),Ms?.unref())}var oh=class{[zE]=!0;_state=ZE;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,n){this._onTimeout=e,this._idleTimeout=t,this._timerArg=n,this.refresh()}refresh(){this._state===ZE&&Vn.push(this),(!Ms||Vn.length===1)&&ZN(),this._state=zN}clear(){this._state=XE,this._idleStart=-1}};XN.exports={setTimeout(r,e,t){return e<=HE?setTimeout(r,e,t):new oh(r,e,t)},clearTimeout(r){r[zE]?r.clear():clearTimeout(r)},setFastTimeout(r,e,t){return new oh(r,e,t)},clearFastTimeout(r){r.clear()},now(){return ia},tick(r=0){ia+=r-HE+1,$E(),$E()},reset(){ia=0,Vn.length=0,clearTimeout(Ms),Ms=null},kFastTimer:zE}});var le=g((jge,QM)=>{"use strict";var $N=Symbol.for("undici.error.UND_ERR"),qe=class extends Error{constructor(e,t){super(e,t),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[$N]===!0}get[$N](){return!0}},eM=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),tI=class extends qe{constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[eM]===!0}get[eM](){return!0}},tM=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),rI=class extends qe{constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[tM]===!0}get[tM](){return!0}},rM=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),nI=class extends qe{constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[rM]===!0}get[rM](){return!0}},nM=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),sI=class extends qe{constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[nM]===!0}get[nM](){return!0}},sM=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),iI=class extends qe{constructor(e){super(e),this.name="InvalidArgumentError",this.message=e||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](e){return e&&e[sM]===!0}get[sM](){return!0}},iM=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),oI=class extends qe{constructor(e){super(e),this.name="InvalidReturnValueError",this.message=e||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](e){return e&&e[iM]===!0}get[iM](){return!0}},oM=Symbol.for("undici.error.UND_ERR_ABORT"),ah=class extends qe{constructor(e){super(e),this.name="AbortError",this.message=e||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](e){return e&&e[oM]===!0}get[oM](){return!0}},aM=Symbol.for("undici.error.UND_ERR_ABORTED"),aI=class extends ah{constructor(e){super(e),this.name="AbortError",this.message=e||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[aM]===!0}get[aM](){return!0}},AM=Symbol.for("undici.error.UND_ERR_INFO"),AI=class extends qe{constructor(e){super(e),this.name="InformationalError",this.message=e||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[AM]===!0}get[AM](){return!0}},lM=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),lI=class extends qe{constructor(e){super(e),this.name="RequestContentLengthMismatchError",this.message=e||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[lM]===!0}get[lM](){return!0}},cM=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),cI=class extends qe{constructor(e){super(e),this.name="ResponseContentLengthMismatchError",this.message=e||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[cM]===!0}get[cM](){return!0}},uM=Symbol.for("undici.error.UND_ERR_DESTROYED"),uI=class extends qe{constructor(e){super(e),this.name="ClientDestroyedError",this.message=e||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](e){return e&&e[uM]===!0}get[uM](){return!0}},dM=Symbol.for("undici.error.UND_ERR_CLOSED"),dI=class extends qe{constructor(e){super(e),this.name="ClientClosedError",this.message=e||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](e){return e&&e[dM]===!0}get[dM](){return!0}},hM=Symbol.for("undici.error.UND_ERR_SOCKET"),hI=class extends qe{constructor(e,t){super(e),this.name="SocketError",this.message=e||"Socket error",this.code="UND_ERR_SOCKET",this.socket=t}static[Symbol.hasInstance](e){return e&&e[hM]===!0}get[hM](){return!0}},fM=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),fI=class extends qe{constructor(e){super(e),this.name="NotSupportedError",this.message=e||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](e){return e&&e[fM]===!0}get[fM](){return!0}},gM=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),gI=class extends qe{constructor(e){super(e),this.name="MissingUpstreamError",this.message=e||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](e){return e&&e[gM]===!0}get[gM](){return!0}},pM=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),pI=class extends Error{constructor(e,t,n){super(e),this.name="HTTPParserError",this.code=t?`HPE_${t}`:void 0,this.data=n?n.toString():void 0}static[Symbol.hasInstance](e){return e&&e[pM]===!0}get[pM](){return!0}},yM=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),yI=class extends qe{constructor(e){super(e),this.name="ResponseExceededMaxSizeError",this.message=e||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](e){return e&&e[yM]===!0}get[yM](){return!0}},EM=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),EI=class extends qe{constructor(e,t,{headers:n,data:s}){super(e),this.name="RequestRetryError",this.message=e||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=t,this.data=s,this.headers=n}static[Symbol.hasInstance](e){return e&&e[EM]===!0}get[EM](){return!0}},IM=Symbol.for("undici.error.UND_ERR_RESPONSE"),II=class extends qe{constructor(e,t,{headers:n,body:s}){super(e),this.name="ResponseError",this.message=e||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=t,this.body=s,this.headers=n}static[Symbol.hasInstance](e){return e&&e[IM]===!0}get[IM](){return!0}},mM=Symbol.for("undici.error.UND_ERR_PRX_TLS"),mI=class extends qe{constructor(e,t,n={}){super(t,{cause:e,...n}),this.name="SecureProxyConnectionError",this.message=t||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=e}static[Symbol.hasInstance](e){return e&&e[mM]===!0}get[mM](){return!0}},CM=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED"),CI=class extends qe{constructor(e){super(e),this.name="MaxOriginsReachedError",this.message=e||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](e){return e&&e[CM]===!0}get[CM](){return!0}},bI=class extends qe{constructor(e,t){super(e),this.name="Socks5ProxyError",this.message=e||"SOCKS5 proxy error",this.code=t||"UND_ERR_SOCKS5"}},bM=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),QI=class extends qe{constructor(e){super(e),this.name="MessageSizeExceededError",this.message=e||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](e){return e&&e[bM]===!0}get[bM](){return!0}};QM.exports={AbortError:ah,HTTPParserError:pI,UndiciError:qe,HeadersTimeoutError:rI,HeadersOverflowError:nI,BodyTimeoutError:sI,RequestContentLengthMismatchError:lI,ConnectTimeoutError:tI,InvalidArgumentError:iI,InvalidReturnValueError:oI,RequestAbortedError:aI,ClientDestroyedError:uI,ClientClosedError:dI,InformationalError:AI,SocketError:hI,NotSupportedError:fI,ResponseContentLengthMismatchError:cI,BalancedPoolMissingUpstreamError:gI,ResponseExceededMaxSizeError:yI,RequestRetryError:EI,ResponseError:II,SecureProxyConnectionError:mI,MaxOriginsReachedError:CI,Socks5ProxyError:bI,MessageSizeExceededError:QI}});var lh=g((Pge,SM)=>{"use strict";var BI=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"],Ah={};Object.setPrototypeOf(Ah,null);var BM={};Object.setPrototypeOf(BM,null);function WX(r){let e=BM[r];return e===void 0&&(e=Buffer.from(r)),e}for(let r=0;r<BI.length;++r){let e=BI[r],t=e.toLowerCase();Ah[e]=Ah[t]=t}SM.exports={wellknownHeaderNames:BI,headerNameLowerCasedRecord:Ah,getHeaderNameAsBuffer:WX}});var RM=g((_ge,kM)=>{"use strict";var{wellknownHeaderNames:wM,headerNameLowerCasedRecord:zX}=lh(),SI=class r{value=null;left=null;middle=null;right=null;code;constructor(e,t,n){if(n===void 0||n>=e.length)throw new TypeError("Unreachable");if((this.code=e.charCodeAt(n))>127)throw new TypeError("key must be ascii string");e.length!==++n?this.middle=new r(e,t,n):this.value=t}add(e,t){let n=e.length;if(n===0)throw new TypeError("Unreachable");let s=0,i=this;for(;;){let o=e.charCodeAt(s);if(o>127)throw new TypeError("key must be ascii string");if(i.code===o)if(n===++s){i.value=t;break}else if(i.middle!==null)i=i.middle;else{i.middle=new r(e,t,s);break}else if(i.code<o)if(i.left!==null)i=i.left;else{i.left=new r(e,t,s);break}else if(i.right!==null)i=i.right;else{i.right=new r(e,t,s);break}}}search(e){let t=e.length,n=0,s=this;for(;s!==null&&n<t;){let i=e[n];for(i<=90&&i>=65&&(i|=32);s!==null;){if(i===s.code){if(t===++n)return s;s=s.middle;break}s=s.code<i?s.left:s.right}}return null}},ch=class{node=null;insert(e,t){this.node===null?this.node=new SI(e,t,0):this.node.add(e,t)}lookup(e){return this.node?.search(e)?.value??null}},DM=new ch;for(let r=0;r<wM.length;++r){let e=zX[wM[r]];DM.insert(e,e)}kM.exports={TernarySearchTree:ch,tree:DM}});var ue=g((Jge,zM)=>{"use strict";var LA=S("node:assert"),{kDestroyed:NM,kBodyUsed:oa,kListeners:dh,kBody:vM}=Ke(),{IncomingMessage:ZX}=S("node:http"),MM=S("node:stream"),XX=S("node:net"),{stringify:$X}=S("node:querystring"),{EventEmitter:e9}=S("node:events"),uh=eI(),{InvalidArgumentError:Et,ConnectTimeoutError:t9}=le(),{headerNameLowerCasedRecord:r9}=lh(),{tree:KM}=RM(),[n9,s9]=process.versions.node.split(".",2).map(r=>Number(r)),fh=class{constructor(e){this[vM]=e,this[oa]=!1}async*[Symbol.asyncIterator](){LA(!this[oa],"disturbed"),this[oa]=!0,yield*this[vM]}};function xM(){}function i9(r){return gh(r)?(PM(r)===0&&r.on("data",function(){LA(!1)}),typeof r.readableDidRead!="boolean"&&(r[oa]=!1,e9.prototype.on.call(r,"data",function(){this[oa]=!0})),r):r&&typeof r.pipeTo=="function"?new fh(r):r&&GM(r)?r:r&&typeof r!="string"&&!ArrayBuffer.isView(r)&&jM(r)?new fh(r):r}function gh(r){return r&&typeof r=="object"&&typeof r.pipe=="function"&&typeof r.on=="function"}function FM(r){if(r===null)return!1;if(r instanceof Blob)return!0;if(typeof r!="object")return!1;{let e=r[Symbol.toStringTag];return(e==="Blob"||e==="File")&&("stream"in r&&typeof r.stream=="function"||"arrayBuffer"in r&&typeof r.arrayBuffer=="function")}}function LM(r){return r.includes("?")||r.includes("#")}function o9(r,e){if(LM(r))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let t=$X(e);return t&&(r+="?"+t),r}function OM(r){let e=parseInt(r,10);return e===Number(r)&&e>=0&&e<=65535}function hh(r){return r!=null&&r[0]==="h"&&r[1]==="t"&&r[2]==="t"&&r[3]==="p"&&(r[4]===":"||r[4]==="s"&&r[5]===":")}function UM(r){if(typeof r=="string"){if(r=new URL(r),!hh(r.origin||r.protocol))throw new Et("Invalid URL protocol: the URL must start with `http:` or `https:`.");return r}if(!r||typeof r!="object")throw new Et("Invalid URL: The URL argument must be a non-null object.");if(!(r instanceof URL)){if(r.port!=null&&r.port!==""&&OM(r.port)===!1)throw new Et("Invalid URL: port must be a valid integer or a string representation of an integer.");if(r.path!=null&&typeof r.path!="string")throw new Et("Invalid URL path: the path must be a string or null/undefined.");if(r.pathname!=null&&typeof r.pathname!="string")throw new Et("Invalid URL pathname: the pathname must be a string or null/undefined.");if(r.hostname!=null&&typeof r.hostname!="string")throw new Et("Invalid URL hostname: the hostname must be a string or null/undefined.");if(r.origin!=null&&typeof r.origin!="string")throw new Et("Invalid URL origin: the origin must be a string or null/undefined.");if(!hh(r.origin||r.protocol))throw new Et("Invalid URL protocol: the URL must start with `http:` or `https:`.");let e=r.port!=null?r.port:r.protocol==="https:"?443:80,t=r.origin!=null?r.origin:`${r.protocol||""}//${r.hostname||""}:${e}`,n=r.path!=null?r.path:`${r.pathname||""}${r.search||""}`;return t[t.length-1]==="/"&&(t=t.slice(0,t.length-1)),n&&n[0]!=="/"&&(n=`/${n}`),new URL(`${t}${n}`)}if(!hh(r.origin||r.protocol))throw new Et("Invalid URL protocol: the URL must start with `http:` or `https:`.");return r}function a9(r){if(r=UM(r),r.pathname!=="/"||r.search||r.hash)throw new Et("invalid url");return r}function A9(r){if(r[0]==="["){let t=r.indexOf("]");return LA(t!==-1),r.substring(1,t)}let e=r.indexOf(":");return e===-1?r:r.substring(0,e)}function l9(r){if(!r)return null;LA(typeof r=="string");let e=A9(r);return XX.isIP(e)?"":e}function c9(r){return JSON.parse(JSON.stringify(r))}function u9(r){return r!=null&&typeof r[Symbol.asyncIterator]=="function"}function jM(r){return r!=null&&(typeof r[Symbol.iterator]=="function"||typeof r[Symbol.asyncIterator]=="function")}function d9(r){let e=Object.getPrototypeOf(r);return Object.prototype.hasOwnProperty.call(r,Symbol.iterator)||e!=null&&e!==Object.prototype&&typeof r[Symbol.iterator]=="function"}function PM(r){if(r==null)return 0;if(gh(r)){let e=r._readableState;return e&&e.objectMode===!1&&e.ended===!0&&Number.isFinite(e.length)?e.length:null}else{if(FM(r))return r.size!=null?r.size:null;if(qM(r))return r.byteLength}return null}function _M(r){return r&&!!(r.destroyed||r[NM]||MM.isDestroyed?.(r))}function JM(r,e){r==null||!gh(r)||_M(r)||(typeof r.destroy=="function"?(Object.getPrototypeOf(r).constructor===ZX&&(r.socket=null),r.destroy(e)):e&&queueMicrotask(()=>{r.emit("error",e)}),r.destroyed!==!0&&(r[NM]=!0))}var h9=/timeout=(\d+)/;function f9(r){let e=r.match(h9);return e?parseInt(e[1],10)*1e3:null}function YM(r){return typeof r=="string"?r9[r]??r.toLowerCase():KM.lookup(r)??r.toString("latin1").toLowerCase()}function g9(r){return KM.lookup(r)??r.toString("latin1").toLowerCase()}function p9(r,e){e===void 0&&(e={});for(let t=0;t<r.length;t+=2){let n=YM(r[t]),s=e[n];if(s!==void 0)if(Object.hasOwn(e,n))typeof s=="string"&&(s=[s],e[n]=s),s.push(r[t+1].toString("latin1"));else{let i=typeof r[t+1]=="string"?r[t+1]:Array.isArray(r[t+1])?r[t+1].map(o=>o.toString("latin1")):r[t+1].toString("latin1");n==="__proto__"?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i}else{let i=typeof r[t+1]=="string"?r[t+1]:Array.isArray(r[t+1])?r[t+1].map(o=>o.toString("latin1")):r[t+1].toString("latin1");e[n]=i}}return e}function y9(r){let e=r.length,t=new Array(e),n,s;for(let i=0;i<e;i+=2)n=r[i],s=r[i+1],typeof n!="string"&&(n=n.toString()),typeof s!="string"&&(s=s.toString("latin1")),t[i]=n,t[i+1]=s;return t}function E9(r){if(!Array.isArray(r))throw new TypeError("expected headers to be an array");return r.map(e=>Buffer.from(e))}function qM(r){return r instanceof Uint8Array||Buffer.isBuffer(r)}function I9(r,e,t){if(!r||typeof r!="object")throw new Et("handler must be an object");if(typeof r.onRequestStart!="function"){if(typeof r.onConnect!="function")throw new Et("invalid onConnect method");if(typeof r.onError!="function")throw new Et("invalid onError method");if(typeof r.onBodySent!="function"&&r.onBodySent!==void 0)throw new Et("invalid onBodySent method");if(t||e==="CONNECT"){if(typeof r.onUpgrade!="function")throw new Et("invalid onUpgrade method")}else{if(typeof r.onHeaders!="function")throw new Et("invalid onHeaders method");if(typeof r.onData!="function")throw new Et("invalid onData method");if(typeof r.onComplete!="function")throw new Et("invalid onComplete method")}}}function m9(r){return!!(r&&(MM.isDisturbed(r)||r[oa]))}function C9(r){return{localAddress:r.localAddress,localPort:r.localPort,remoteAddress:r.remoteAddress,remotePort:r.remotePort,remoteFamily:r.remoteFamily,timeout:r.timeout,bytesWritten:r.bytesWritten,bytesRead:r.bytesRead}}function b9(r){let e;return new ReadableStream({start(){e=r[Symbol.asyncIterator]()},pull(t){return e.next().then(({done:n,value:s})=>{if(n)return queueMicrotask(()=>{t.close(),t.byobRequest?.respond(0)});{let i=Buffer.isBuffer(s)?s:Buffer.from(s);return i.byteLength?t.enqueue(new Uint8Array(i)):this.pull(t)}})},cancel(){return e.return()},type:"bytes"})}function GM(r){return r&&typeof r=="object"&&typeof r.append=="function"&&typeof r.delete=="function"&&typeof r.get=="function"&&typeof r.getAll=="function"&&typeof r.has=="function"&&typeof r.set=="function"&&r[Symbol.toStringTag]==="FormData"}function Q9(r,e){return"addEventListener"in r?(r.addEventListener("abort",e,{once:!0}),()=>r.removeEventListener("abort",e)):(r.once("abort",e),()=>r.removeListener("abort",e))}var VM=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function B9(r){return VM[r]===1}var S9=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function w9(r){if(r.length>=12)return S9.test(r);if(r.length===0)return!1;for(let e=0;e<r.length;e++)if(VM[r.charCodeAt(e)]!==1)return!1;return!0}var D9=/[^\t\x20-\x7e\x80-\xff]/;function k9(r){return!D9.test(r)}var R9=/^bytes (\d+)-(\d+)\/(\d+)?$/;function v9(r){if(r==null||r==="")return{start:0,end:null,size:null};let e=r?r.match(R9):null;return e?{start:parseInt(e[1]),end:e[2]?parseInt(e[2]):null,size:e[3]?parseInt(e[3]):null}:null}function x9(r,e,t){return(r[dh]??=[]).push([e,t]),r.on(e,t),r}function T9(r){if(r[dh]!=null){for(let[e,t]of r[dh])r.removeListener(e,t);r[dh]=null}return r}function N9(r,e,t){try{e.onError(t),LA(e.aborted)}catch(n){r.emit("error",n)}}var M9=process.platform==="win32"?(r,e)=>{if(!e.timeout)return xM;let t=null,n=null,s=uh.setFastTimeout(()=>{t=setImmediate(()=>{n=setImmediate(()=>TM(r.deref(),e))})},e.timeout);return()=>{uh.clearFastTimeout(s),clearImmediate(t),clearImmediate(n)}}:(r,e)=>{if(!e.timeout)return xM;let t=null,n=uh.setFastTimeout(()=>{t=setImmediate(()=>{TM(r.deref(),e)})},e.timeout);return()=>{uh.clearFastTimeout(n),clearImmediate(t)}};function TM(r,e){if(r==null)return;let t="Connect Timeout Error";Array.isArray(r.autoSelectFamilyAttemptedAddresses)?t+=` (attempted addresses: ${r.autoSelectFamilyAttemptedAddresses.join(", ")},`:t+=` (attempted address: ${e.hostname}:${e.port},`,t+=` timeout: ${e.timeout}ms)`,JM(r,new t9(t))}function K9(r){if(r[0]==="h"&&r[1]==="t"&&r[2]==="t"&&r[3]==="p")switch(r[4]){case":":return"http:";case"s":if(r[5]===":")return"https:"}return r.slice(0,r.indexOf(":")+1)}var HM=Object.create(null);HM.enumerable=!0;var wI={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},WM={...wI,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(wI,null);Object.setPrototypeOf(WM,null);zM.exports={kEnumerableProperty:HM,isDisturbed:m9,isBlobLike:FM,parseOrigin:a9,parseURL:UM,getServerName:l9,isStream:gh,isIterable:jM,hasSafeIterator:d9,isAsyncIterable:u9,isDestroyed:_M,headerNameToString:YM,bufferToLowerCasedHeaderName:g9,addListener:x9,removeAllListeners:T9,errorRequest:N9,parseRawHeaders:y9,encodeRawHeaders:E9,parseHeaders:p9,parseKeepAliveTimeout:f9,destroy:JM,bodyLength:PM,deepClone:c9,ReadableStreamFrom:b9,isBuffer:qM,assertRequestHandler:I9,getSocketInfo:C9,isFormDataLike:GM,pathHasQueryOrFragment:LM,serializePathWithQuery:o9,addAbortListener:Q9,isValidHTTPToken:w9,isValidHeaderValue:k9,isTokenCharCode:B9,parseRangeHeader:v9,normalizedMethodRecordsBase:wI,normalizedMethodRecords:WM,isValidPort:OM,isHttpOrHttpsPrefixed:hh,nodeMajor:n9,nodeMinor:s9,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:i9,setupConnectTimeout:M9,getProtocolFromUrlString:K9}});var RI=g((Yge,tK)=>{"use strict";var{kConnected:ZM,kPending:XM,kRunning:$M,kSize:eK,kFree:F9,kQueued:L9}=Ke(),DI=class{constructor(e){this.connected=e[ZM],this.pending=e[XM],this.running=e[$M],this.size=e[eK]}},kI=class{constructor(e){this.connected=e[ZM],this.free=e[F9],this.pending=e[XM],this.queued=e[L9],this.running=e[$M],this.size=e[eK]}};tK.exports={ClientStats:DI,PoolStats:kI}});var Ks=g((qge,nK)=>{"use strict";var Fe=S("node:diagnostics_channel"),NI=S("node:util"),Ki=NI.debuglog("undici"),OA=NI.debuglog("fetch"),ph=NI.debuglog("websocket"),hr={beforeConnect:Fe.channel("undici:client:beforeConnect"),connected:Fe.channel("undici:client:connected"),connectError:Fe.channel("undici:client:connectError"),sendHeaders:Fe.channel("undici:client:sendHeaders"),create:Fe.channel("undici:request:create"),bodySent:Fe.channel("undici:request:bodySent"),bodyChunkSent:Fe.channel("undici:request:bodyChunkSent"),bodyChunkReceived:Fe.channel("undici:request:bodyChunkReceived"),headers:Fe.channel("undici:request:headers"),trailers:Fe.channel("undici:request:trailers"),error:Fe.channel("undici:request:error"),open:Fe.channel("undici:websocket:open"),close:Fe.channel("undici:websocket:close"),socketError:Fe.channel("undici:websocket:socket_error"),ping:Fe.channel("undici:websocket:ping"),pong:Fe.channel("undici:websocket:pong"),proxyConnected:Fe.channel("undici:proxy:connected")},vI=!1;function rK(r=Ki){if(!vI){if(hr.beforeConnect.hasSubscribers||hr.connected.hasSubscribers||hr.connectError.hasSubscribers||hr.sendHeaders.hasSubscribers){vI=!0;return}vI=!0,Fe.subscribe("undici:client:beforeConnect",e=>{let{connectParams:{version:t,protocol:n,port:s,host:i}}=e;r("connecting to %s%s using %s%s",i,s?`:${s}`:"",n,t)}),Fe.subscribe("undici:client:connected",e=>{let{connectParams:{version:t,protocol:n,port:s,host:i}}=e;r("connected to %s%s using %s%s",i,s?`:${s}`:"",n,t)}),Fe.subscribe("undici:client:connectError",e=>{let{connectParams:{version:t,protocol:n,port:s,host:i},error:o}=e;r("connection to %s%s using %s%s errored - %s",i,s?`:${s}`:"",n,t,o.message)}),Fe.subscribe("undici:client:sendHeaders",e=>{let{request:{method:t,path:n,origin:s}}=e;r("sending request to %s %s%s",t,s,n)})}}var xI=!1;function O9(r=Ki){if(!xI){if(hr.headers.hasSubscribers||hr.trailers.hasSubscribers||hr.error.hasSubscribers){xI=!0;return}xI=!0,Fe.subscribe("undici:request:headers",e=>{let{request:{method:t,path:n,origin:s},response:{statusCode:i}}=e;r("received response to %s %s%s - HTTP %d",t,s,n,i)}),Fe.subscribe("undici:request:trailers",e=>{let{request:{method:t,path:n,origin:s}}=e;r("trailers received from %s %s%s",t,s,n)}),Fe.subscribe("undici:request:error",e=>{let{request:{method:t,path:n,origin:s},error:i}=e;r("request to %s %s%s errored - %s",t,s,n,i.message)})}}var TI=!1;function U9(r=ph){if(!TI){if(hr.open.hasSubscribers||hr.close.hasSubscribers||hr.socketError.hasSubscribers||hr.ping.hasSubscribers||hr.pong.hasSubscribers){TI=!0;return}TI=!0,Fe.subscribe("undici:websocket:open",e=>{if(e.address!=null){let{address:t,port:n}=e.address;r("connection opened %s%s",t,n?`:${n}`:"")}else r("connection opened")}),Fe.subscribe("undici:websocket:close",e=>{let{websocket:t,code:n,reason:s}=e;r("closed connection to %s - %s %s",t.url,n,s)}),Fe.subscribe("undici:websocket:socket_error",e=>{r("connection errored - %s",e.message)}),Fe.subscribe("undici:websocket:ping",e=>{r("ping received")}),Fe.subscribe("undici:websocket:pong",e=>{r("pong received")})}}(Ki.enabled||OA.enabled)&&(rK(OA.enabled?OA:Ki),O9(OA.enabled?OA:Ki));ph.enabled&&(rK(Ki.enabled?Ki:ph),U9(ph));nK.exports={channels:hr}});var oK=g((Gge,iK)=>{"use strict";var{InvalidArgumentError:Re,NotSupportedError:j9}=le(),pn=S("node:assert"),{isValidHTTPToken:MI,isValidHeaderValue:UA,isStream:P9,destroy:_9,isBuffer:J9,isFormDataLike:Y9,isIterable:q9,hasSafeIterator:G9,isBlobLike:V9,serializePathWithQuery:H9,assertRequestHandler:W9,getServerName:z9,normalizedMethodRecords:Z9,getProtocolFromUrlString:X9}=ue(),{channels:Ht}=Ks(),{headerNameLowerCasedRecord:sK}=lh(),$9=/[^\u0021-\u00ff]/;function e5(r){if(typeof r!="string"||r.length===0)return!1;for(let e=0;e<r.length;e++){let t=r.charCodeAt(e);if(t<48||t>57)return!1}return!0}var Nr=Symbol("handler"),KI=class{constructor(e,{path:t,method:n,body:s,headers:i,query:o,idempotent:a,blocking:A,upgrade:l,headersTimeout:c,bodyTimeout:u,reset:d,expectContinue:h,servername:f,throwOnError:p,maxRedirections:I,typeOfService:y},m){if(typeof t!="string")throw new Re("path must be a string");if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&n!=="CONNECT")throw new Re("path must be an absolute URL or start with a slash");if($9.test(t))throw new Re("invalid request path");if(typeof n!="string")throw new Re("method must be a string");if(Z9[n]===void 0&&!MI(n))throw new Re("invalid request method");if(l&&typeof l!="string")throw new Re("upgrade must be a string");if(l&&!UA(l))throw new Re("invalid upgrade header");if(c!=null&&(!Number.isFinite(c)||c<0))throw new Re("invalid headersTimeout");if(u!=null&&(!Number.isFinite(u)||u<0))throw new Re("invalid bodyTimeout");if(d!=null&&typeof d!="boolean")throw new Re("invalid reset");if(h!=null&&typeof h!="boolean")throw new Re("invalid expectContinue");if(p!=null)throw new Re("invalid throwOnError");if(I!=null&&I!==0)throw new Re("maxRedirections is not supported, use the redirect interceptor");if(y!=null&&(!Number.isInteger(y)||y<0||y>255))throw new Re("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=c,this.bodyTimeout=u,this.method=n,this.typeOfService=y??0,this.abort=null,s==null)this.body=null;else if(P9(s)){this.body=s;let w=this.body._readableState;(!w||!w.autoDestroy)&&(this.endHandler=function(){_9(this)},this.body.on("end",this.endHandler)),this.errorHandler=R=>{this.abort?this.abort(R):this.error=R},this.body.on("error",this.errorHandler)}else if(J9(s))this.body=s.byteLength?s:null;else if(ArrayBuffer.isView(s))this.body=s.buffer.byteLength?Buffer.from(s.buffer,s.byteOffset,s.byteLength):null;else if(s instanceof ArrayBuffer)this.body=s.byteLength?Buffer.from(s):null;else if(typeof s=="string")this.body=s.length?Buffer.from(s):null;else if(Y9(s)||q9(s)||V9(s))this.body=s;else throw new Re("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=l||null,this.path=o?H9(t,o):t,this.origin=e,this.protocol=X9(e),this.idempotent=a??(n==="HEAD"||n==="GET"),this.blocking=A??this.method!=="HEAD",this.reset=d??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=h??!1,Array.isArray(i)){if(i.length%2!==0)throw new Re("headers array must be even");for(let w=0;w<i.length;w+=2)yh(this,i[w],i[w+1])}else if(i&&typeof i=="object")if(G9(i))for(let w of i){if(!Array.isArray(w)||w.length!==2)throw new Re("headers must be in key-value pair format");yh(this,w[0],w[1])}else{let w=Object.keys(i);for(let R=0;R<w.length;++R)yh(this,w[R],i[w[R]])}else if(i!=null)throw new Re("headers must be an object or an array");W9(m,n,l),this.servername=f||z9(this.host)||null,this[Nr]=m,Ht.create.hasSubscribers&&Ht.create.publish({request:this})}onBodySent(e){if(Ht.bodyChunkSent.hasSubscribers&&Ht.bodyChunkSent.publish({request:this,chunk:e}),this[Nr].onBodySent)try{return this[Nr].onBodySent(e)}catch(t){this.abort(t)}}onRequestSent(){if(Ht.bodySent.hasSubscribers&&Ht.bodySent.publish({request:this}),this[Nr].onRequestSent)try{return this[Nr].onRequestSent()}catch(e){this.abort(e)}}onConnect(e){if(pn(!this.aborted),pn(!this.completed),this.error)e(this.error);else return this.abort=e,this[Nr].onConnect(e)}onResponseStarted(){return this[Nr].onResponseStarted?.()}onHeaders(e,t,n,s){pn(!this.aborted),pn(!this.completed),Ht.headers.hasSubscribers&&Ht.headers.publish({request:this,response:{statusCode:e,headers:t,statusText:s}});try{return this[Nr].onHeaders(e,t,n,s)}catch(i){this.abort(i)}}onData(e){pn(!this.aborted),pn(!this.completed),Ht.bodyChunkReceived.hasSubscribers&&Ht.bodyChunkReceived.publish({request:this,chunk:e});try{return this[Nr].onData(e)}catch(t){return this.abort(t),!1}}onUpgrade(e,t,n){return pn(!this.aborted),pn(!this.completed),this[Nr].onUpgrade(e,t,n)}onComplete(e){this.onFinally(),pn(!this.aborted),pn(!this.completed),this.completed=!0,Ht.trailers.hasSubscribers&&Ht.trailers.publish({request:this,trailers:e});try{return this[Nr].onComplete(e)}catch(t){this.onError(t)}}onError(e){if(this.onFinally(),Ht.error.hasSubscribers&&Ht.error.publish({request:this,error:e}),!this.aborted)return this.aborted=!0,this[Nr].onError(e)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(e,t){return yh(this,e,t),this}};function yh(r,e,t){if(t&&typeof t=="object"&&!Array.isArray(t))throw new Re(`invalid ${e} header`);if(t===void 0)return;let n=sK[e];if(n===void 0&&(n=e.toLowerCase(),sK[n]===void 0&&!MI(n)))throw new Re("invalid header key");if(Array.isArray(t)){let s=[];for(let i=0;i<t.length;i++)if(typeof t[i]=="string"){if(!UA(t[i]))throw new Re(`invalid ${e} header`);s.push(t[i])}else if(t[i]===null)s.push("");else{if(typeof t[i]=="object")throw new Re(`invalid ${e} header`);{let o=`${t[i]}`;if(!UA(o))throw new Re(`invalid ${e} header`);s.push(o)}}t=s}else if(typeof t=="string"){if(!UA(t))throw new Re(`invalid ${e} header`)}else if(t===null)t="";else if(t=`${t}`,!UA(t))throw new Re(`invalid ${e} header`);if(n==="host"){if(r.host!==null)throw new Re("duplicate host header");if(typeof t!="string")throw new Re("invalid host header");r.host=t}else if(n==="content-length"){if(r.contentLength!==null)throw new Re("duplicate content-length header");if(!e5(t))throw new Re("invalid content-length header");r.contentLength=parseInt(t,10)}else if(r.contentType===null&&n==="content-type")r.contentType=t,r.headers.push(e,t);else{if(n==="transfer-encoding"||n==="keep-alive"||n==="upgrade")throw new Re(`invalid ${n} header`);if(n==="connection"){let s=typeof t=="string"?t:null;if(s===null)throw new Re("invalid connection header");for(let i of s.toLowerCase().split(",")){let o=i.trim();if(!MI(o))throw new Re("invalid connection header");o==="close"&&(r.reset=!0)}}else{if(n==="expect")throw new j9("expect header not supported");r.headers.push(e,t)}}}iK.exports=KI});var jA=g((Vge,AK)=>{"use strict";var{InvalidArgumentError:t5}=le();AK.exports=class aK{#e;constructor(e){this.#e=e}static wrap(e){return e.onRequestStart?e:new aK(e)}onConnect(e,t){return this.#e.onConnect?.(e,t)}onResponseStarted(){return this.#e.onResponseStarted?.()}onHeaders(e,t,n,s){return this.#e.onHeaders?.(e,t,n,s)}onUpgrade(e,t,n){return this.#e.onUpgrade?.(e,t,n)}onData(e){return this.#e.onData?.(e)}onComplete(e){return this.#e.onComplete?.(e)}onError(e){if(!this.#e.onError)throw e;return this.#e.onError?.(e)}onRequestStart(e,t){this.#e.onConnect?.(n=>e.abort(n),t)}onRequestUpgrade(e,t,n,s){let i=[];for(let[o,a]of Object.entries(n))i.push(Buffer.from(o,"latin1"),FI(a));this.#e.onUpgrade?.(t,i,s)}onResponseStart(e,t,n,s){let i=[];for(let[o,a]of Object.entries(n))i.push(Buffer.from(o,"latin1"),FI(a));this.#e.onHeaders?.(t,i,()=>e.resume(),s)===!1&&e.pause()}onResponseData(e,t){this.#e.onData?.(t)===!1&&e.pause()}onResponseEnd(e,t){let n=[];for(let[s,i]of Object.entries(t))n.push(Buffer.from(s,"latin1"),FI(i));this.#e.onComplete?.(n)}onResponseError(e,t){if(!this.#e.onError)throw new t5("invalid onError method");this.#e.onError?.(t)}};function FI(r){return Array.isArray(r)?r.map(e=>Buffer.from(e,"latin1")):Buffer.from(r,"latin1")}});var PA=g((Hge,lK)=>{"use strict";var r5=S("node:events"),n5=jA(),s5=r=>(e,t)=>r(e,n5.wrap(t)),LI=class extends r5{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){let t=Array.isArray(e[0])?e[0]:e,n=this.dispatch.bind(this);for(let s of t)if(s!=null){if(typeof s!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof s}`);if(n=s(n),n=s5(n),n==null||typeof n!="function"||n.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(s,i)=>i==="dispatch"?n:s[i]})}};lK.exports=LI});var dK=g((Wge,uK)=>{"use strict";var{parseHeaders:OI}=ue(),{InvalidArgumentError:i5}=le(),UI=Symbol("resume"),jI=class{#e=!1;#t=null;#r=!1;#n;[UI]=null;rawHeaders=null;rawTrailers=null;constructor(e){this.#n=e}pause(){this.#e=!0}resume(){this.#e&&(this.#e=!1,this[UI]?.())}abort(e){this.#r||(this.#r=!0,this.#t=e,this.#n(e))}get aborted(){return this.#r}get reason(){return this.#t}get paused(){return this.#e}};uK.exports=class cK{#e;#t;constructor(e){this.#e=e}static unwrap(e){return e.onRequestStart?new cK(e):e}onConnect(e,t){this.#t=new jI(e),this.#e.onRequestStart?.(this.#t,t)}onResponseStarted(){return this.#e.onResponseStarted?.()}onUpgrade(e,t,n){this.#t.rawHeaders=t,this.#e.onRequestUpgrade?.(this.#t,e,OI(t),n)}onHeaders(e,t,n,s){return this.#t[UI]=n,this.#t.rawHeaders=t,this.#e.onResponseStart?.(this.#t,e,OI(t),s),!this.#t.paused}onData(e){return this.#e.onResponseData?.(this.#t,e),!this.#t.paused}onComplete(e){this.#t.rawTrailers=e,this.#e.onResponseEnd?.(this.#t,OI(e))}onError(e){if(!this.#e.onResponseError)throw new i5("invalid onError method");this.#e.onResponseError?.(this.#t,e)}}});var Li=g((zge,hK)=>{"use strict";var o5=PA(),a5=dK(),{ClientDestroyedError:PI,ClientClosedError:A5,InvalidArgumentError:Eh}=le(),{kDestroy:l5,kClose:c5,kClosed:_A,kDestroyed:aa,kDispatch:u5}=Ke(),Fs=Symbol("onDestroyed"),Fi=Symbol("onClosed"),_I=Symbol("webSocketOptions"),JI=class extends o5{[aa]=!1;[Fs]=null;[_A]=!1;[Fi]=null;constructor(e){super(),this[_I]=e?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[_I].maxFragments??131072,maxPayloadSize:this[_I].maxPayloadSize??128*1024*1024}}get destroyed(){return this[aa]}get closed(){return this[_A]}close(e){if(e===void 0)return new Promise((n,s)=>{this.close((i,o)=>i?s(i):n(o))});if(typeof e!="function")throw new Eh("invalid callback");if(this[aa]){let n=new PI;queueMicrotask(()=>e(n,null));return}if(this[_A]){this[Fi]?this[Fi].push(e):queueMicrotask(()=>e(null,null));return}this[_A]=!0,this[Fi]??=[],this[Fi].push(e);let t=()=>{let n=this[Fi];this[Fi]=null;for(let s=0;s<n.length;s++)n[s](null,null)};this[c5]().then(()=>this.destroy()).then(()=>queueMicrotask(t))}destroy(e,t){if(typeof e=="function"&&(t=e,e=null),t===void 0)return new Promise((s,i)=>{this.destroy(e,(o,a)=>o?i(o):s(a))});if(typeof t!="function")throw new Eh("invalid callback");if(this[aa]){this[Fs]?this[Fs].push(t):queueMicrotask(()=>t(null,null));return}e||(e=new PI),this[aa]=!0,this[Fs]??=[],this[Fs].push(t);let n=()=>{let s=this[Fs];this[Fs]=null;for(let i=0;i<s.length;i++)s[i](null,null)};this[l5](e).then(()=>queueMicrotask(n))}dispatch(e,t){if(!t||typeof t!="object")throw new Eh("handler must be an object");t=a5.unwrap(t);try{if(!e||typeof e!="object")throw new Eh("opts must be an object.");if(this[aa]||this[Fs])throw new PI;if(this[_A])throw new A5;return this[u5](e,t)}catch(n){if(typeof t.onError!="function")throw n;return t.onError(n),!1}}};hK.exports=JI});var Oi=g((Xge,pK)=>{"use strict";var d5=S("node:net"),fK=S("node:assert"),gK=ue(),{InvalidArgumentError:h5}=le(),YI,f5=class{constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(t=>{if(this._sessionCache.size<this._maxCachedSessions)return;let n=this._sessionCache.get(t);n!==void 0&&n.deref()===void 0&&this._sessionCache.delete(t)})}get(e){let t=this._sessionCache.get(e);return t?t.deref():null}set(e,t){if(this._maxCachedSessions!==0){if(this._sessionCache.has(e))this._sessionCache.delete(e);else if(this._sessionCache.size>=this._maxCachedSessions){for(let[s,i]of this._sessionCache)if(i.deref()===void 0){this._sessionCache.delete(s);return}let n=this._sessionCache.keys().next();n.done||this._sessionCache.delete(n.value)}this._sessionCache.set(e,new WeakRef(t)),this._sessionRegistry.register(t,e)}}};function g5({allowH2:r,useH2c:e,maxCachedSessions:t,socketPath:n,timeout:s,session:i,...o}){if(t!=null&&(!Number.isInteger(t)||t<0))throw new h5("maxCachedSessions must be a positive integer or zero");let a={path:n,...o},A=new f5(t??100);return s=s??1e4,r=r??!1,function({hostname:c,host:u,protocol:d,port:h,servername:f,localAddress:p,httpSocket:I},y){let m;if(d==="https:"){YI||(YI=S("node:tls")),f=f||a.servername||gK.getServerName(u)||null;let R=f||c;fK(R);let L=i||A.get(R)||null;h=h||443,m=YI.connect({highWaterMark:16384,...a,servername:f,session:L,localAddress:p,ALPNProtocols:r?["http/1.1","h2"]:["http/1.1"],socket:I,port:h,host:c}),m.on("session",function(j){A.set(R,j)})}else fK(!I,"httpSocket can only be sent on TLS update"),h=h||80,m=d5.connect({highWaterMark:64*1024,...a,localAddress:p,port:h,host:c}),e===!0&&(m.alpnProtocol="h2");if(a.keepAlive==null||a.keepAlive){let R=a.keepAliveInitialDelay===void 0?6e4:a.keepAliveInitialDelay;m.setKeepAlive(!0,R)}let w=gK.setupConnectTimeout(new WeakRef(m),{timeout:s,hostname:c,port:h});return m.setNoDelay(!0).once(d==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(w),y){let R=y;y=null,R(null,this)}}).on("error",function(R){if(queueMicrotask(w),y){let L=y;y=null,L(R)}}),m}}pK.exports=g5});var yK=g(qI=>{"use strict";Object.defineProperty(qI,"__esModule",{value:!0});qI.enumToMap=p5;function p5(r,e=[],t=[]){let n=(e?.length??0)===0,s=(t?.length??0)===0;return Object.fromEntries(Object.entries(r).filter(([,i])=>typeof i=="number"&&(n||e.includes(i))&&(s||!t.includes(i))))}});var EK=g(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.SPECIAL_HEADERS=E.MINOR=E.MAJOR=E.HTAB_SP_VCHAR_OBS_TEXT=E.QUOTED_STRING=E.CONNECTION_TOKEN_CHARS=E.HEADER_CHARS=E.TOKEN=E.HEX=E.URL_CHAR=E.USERINFO_CHARS=E.MARK=E.ALPHANUM=E.NUM=E.HEX_MAP=E.NUM_MAP=E.ALPHA=E.STATUSES_HTTP=E.H_METHOD_MAP=E.METHOD_MAP=E.METHODS_RTSP=E.METHODS_ICE=E.METHODS_HTTP=E.HEADER_STATE=E.FINISH=E.STATUSES=E.METHODS=E.LENIENT_FLAGS=E.FLAGS=E.TYPE=E.ERROR=void 0;var y5=yK();E.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38};E.TYPE={BOTH:0,REQUEST:1,RESPONSE:2};E.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512};E.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512};E.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46};E.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599};E.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2};E.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8};E.METHODS_HTTP=[E.METHODS.DELETE,E.METHODS.GET,E.METHODS.HEAD,E.METHODS.POST,E.METHODS.PUT,E.METHODS.CONNECT,E.METHODS.OPTIONS,E.METHODS.TRACE,E.METHODS.COPY,E.METHODS.LOCK,E.METHODS.MKCOL,E.METHODS.MOVE,E.METHODS.PROPFIND,E.METHODS.PROPPATCH,E.METHODS.SEARCH,E.METHODS.UNLOCK,E.METHODS.BIND,E.METHODS.REBIND,E.METHODS.UNBIND,E.METHODS.ACL,E.METHODS.REPORT,E.METHODS.MKACTIVITY,E.METHODS.CHECKOUT,E.METHODS.MERGE,E.METHODS["M-SEARCH"],E.METHODS.NOTIFY,E.METHODS.SUBSCRIBE,E.METHODS.UNSUBSCRIBE,E.METHODS.PATCH,E.METHODS.PURGE,E.METHODS.MKCALENDAR,E.METHODS.LINK,E.METHODS.UNLINK,E.METHODS.PRI,E.METHODS.SOURCE,E.METHODS.QUERY];E.METHODS_ICE=[E.METHODS.SOURCE];E.METHODS_RTSP=[E.METHODS.OPTIONS,E.METHODS.DESCRIBE,E.METHODS.ANNOUNCE,E.METHODS.SETUP,E.METHODS.PLAY,E.METHODS.PAUSE,E.METHODS.TEARDOWN,E.METHODS.GET_PARAMETER,E.METHODS.SET_PARAMETER,E.METHODS.REDIRECT,E.METHODS.RECORD,E.METHODS.FLUSH,E.METHODS.GET,E.METHODS.POST];E.METHOD_MAP=(0,y5.enumToMap)(E.METHODS);E.H_METHOD_MAP=Object.fromEntries(Object.entries(E.METHODS).filter(([r])=>r.startsWith("H")));E.STATUSES_HTTP=[E.STATUSES.CONTINUE,E.STATUSES.SWITCHING_PROTOCOLS,E.STATUSES.PROCESSING,E.STATUSES.EARLY_HINTS,E.STATUSES.RESPONSE_IS_STALE,E.STATUSES.REVALIDATION_FAILED,E.STATUSES.DISCONNECTED_OPERATION,E.STATUSES.HEURISTIC_EXPIRATION,E.STATUSES.MISCELLANEOUS_WARNING,E.STATUSES.OK,E.STATUSES.CREATED,E.STATUSES.ACCEPTED,E.STATUSES.NON_AUTHORITATIVE_INFORMATION,E.STATUSES.NO_CONTENT,E.STATUSES.RESET_CONTENT,E.STATUSES.PARTIAL_CONTENT,E.STATUSES.MULTI_STATUS,E.STATUSES.ALREADY_REPORTED,E.STATUSES.TRANSFORMATION_APPLIED,E.STATUSES.IM_USED,E.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,E.STATUSES.MULTIPLE_CHOICES,E.STATUSES.MOVED_PERMANENTLY,E.STATUSES.FOUND,E.STATUSES.SEE_OTHER,E.STATUSES.NOT_MODIFIED,E.STATUSES.USE_PROXY,E.STATUSES.SWITCH_PROXY,E.STATUSES.TEMPORARY_REDIRECT,E.STATUSES.PERMANENT_REDIRECT,E.STATUSES.BAD_REQUEST,E.STATUSES.UNAUTHORIZED,E.STATUSES.PAYMENT_REQUIRED,E.STATUSES.FORBIDDEN,E.STATUSES.NOT_FOUND,E.STATUSES.METHOD_NOT_ALLOWED,E.STATUSES.NOT_ACCEPTABLE,E.STATUSES.PROXY_AUTHENTICATION_REQUIRED,E.STATUSES.REQUEST_TIMEOUT,E.STATUSES.CONFLICT,E.STATUSES.GONE,E.STATUSES.LENGTH_REQUIRED,E.STATUSES.PRECONDITION_FAILED,E.STATUSES.PAYLOAD_TOO_LARGE,E.STATUSES.URI_TOO_LONG,E.STATUSES.UNSUPPORTED_MEDIA_TYPE,E.STATUSES.RANGE_NOT_SATISFIABLE,E.STATUSES.EXPECTATION_FAILED,E.STATUSES.IM_A_TEAPOT,E.STATUSES.PAGE_EXPIRED,E.STATUSES.ENHANCE_YOUR_CALM,E.STATUSES.MISDIRECTED_REQUEST,E.STATUSES.UNPROCESSABLE_ENTITY,E.STATUSES.LOCKED,E.STATUSES.FAILED_DEPENDENCY,E.STATUSES.TOO_EARLY,E.STATUSES.UPGRADE_REQUIRED,E.STATUSES.PRECONDITION_REQUIRED,E.STATUSES.TOO_MANY_REQUESTS,E.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,E.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,E.STATUSES.LOGIN_TIMEOUT,E.STATUSES.NO_RESPONSE,E.STATUSES.RETRY_WITH,E.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,E.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,E.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,E.STATUSES.INVALID_X_FORWARDED_FOR,E.STATUSES.REQUEST_HEADER_TOO_LARGE,E.STATUSES.SSL_CERTIFICATE_ERROR,E.STATUSES.SSL_CERTIFICATE_REQUIRED,E.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,E.STATUSES.INVALID_TOKEN,E.STATUSES.CLIENT_CLOSED_REQUEST,E.STATUSES.INTERNAL_SERVER_ERROR,E.STATUSES.NOT_IMPLEMENTED,E.STATUSES.BAD_GATEWAY,E.STATUSES.SERVICE_UNAVAILABLE,E.STATUSES.GATEWAY_TIMEOUT,E.STATUSES.HTTP_VERSION_NOT_SUPPORTED,E.STATUSES.VARIANT_ALSO_NEGOTIATES,E.STATUSES.INSUFFICIENT_STORAGE,E.STATUSES.LOOP_DETECTED,E.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,E.STATUSES.NOT_EXTENDED,E.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,E.STATUSES.WEB_SERVER_UNKNOWN_ERROR,E.STATUSES.WEB_SERVER_IS_DOWN,E.STATUSES.CONNECTION_TIMEOUT,E.STATUSES.ORIGIN_IS_UNREACHABLE,E.STATUSES.TIMEOUT_OCCURED,E.STATUSES.SSL_HANDSHAKE_FAILED,E.STATUSES.INVALID_SSL_CERTIFICATE,E.STATUSES.RAILGUN_ERROR,E.STATUSES.SITE_IS_OVERLOADED,E.STATUSES.SITE_IS_FROZEN,E.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,E.STATUSES.NETWORK_READ_TIMEOUT,E.STATUSES.NETWORK_CONNECT_TIMEOUT];E.ALPHA=[];for(let r=65;r<=90;r++)E.ALPHA.push(String.fromCharCode(r)),E.ALPHA.push(String.fromCharCode(r+32));E.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};E.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};E.NUM=["0","1","2","3","4","5","6","7","8","9"];E.ALPHANUM=E.ALPHA.concat(E.NUM);E.MARK=["-","_",".","!","~","*","'","(",")"];E.USERINFO_CHARS=E.ALPHANUM.concat(E.MARK).concat(["%",";",":","&","=","+","$",","]);E.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(E.ALPHANUM);E.HEX=E.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);E.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(E.ALPHANUM);E.HEADER_CHARS=[" "];for(let r=32;r<=255;r++)r!==127&&E.HEADER_CHARS.push(r);E.CONNECTION_TOKEN_CHARS=E.HEADER_CHARS.filter(r=>r!==44);E.QUOTED_STRING=[" "," "];for(let r=33;r<=255;r++)r!==34&&r!==92&&E.QUOTED_STRING.push(r);E.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let r=33;r<=126;r++)E.HTAB_SP_VCHAR_OBS_TEXT.push(r);for(let r=128;r<=255;r++)E.HTAB_SP_VCHAR_OBS_TEXT.push(r);E.MAJOR=E.NUM_MAP;E.MINOR=E.MAJOR;E.SPECIAL_HEADERS={connection:E.HEADER_STATE.CONNECTION,"content-length":E.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":E.HEADER_STATE.CONNECTION,"transfer-encoding":E.HEADER_STATE.TRANSFER_ENCODING,upgrade:E.HEADER_STATE.UPGRADE};E.default={ERROR:E.ERROR,TYPE:E.TYPE,FLAGS:E.FLAGS,LENIENT_FLAGS:E.LENIENT_FLAGS,METHODS:E.METHODS,STATUSES:E.STATUSES,FINISH:E.FINISH,HEADER_STATE:E.HEADER_STATE,ALPHA:E.ALPHA,NUM_MAP:E.NUM_MAP,HEX_MAP:E.HEX_MAP,NUM:E.NUM,ALPHANUM:E.ALPHANUM,MARK:E.MARK,USERINFO_CHARS:E.USERINFO_CHARS,URL_CHAR:E.URL_CHAR,HEX:E.HEX,TOKEN:E.TOKEN,HEADER_CHARS:E.HEADER_CHARS,CONNECTION_TOKEN_CHARS:E.CONNECTION_TOKEN_CHARS,QUOTED_STRING:E.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:E.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:E.MAJOR,MINOR:E.MINOR,SPECIAL_HEADERS:E.SPECIAL_HEADERS,METHODS_HTTP:E.METHODS_HTTP,METHODS_ICE:E.METHODS_ICE,METHODS_RTSP:E.METHODS_RTSP,METHOD_MAP:E.METHOD_MAP,H_METHOD_MAP:E.H_METHOD_MAP,STATUSES_HTTP:E.STATUSES_HTTP}});var VI=g((tpe,IK)=>{"use strict";var{Buffer:E5}=S("node:buffer"),I5="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",GI;Object.defineProperty(IK,"exports",{get:()=>GI||(GI=E5.from(I5,"base64"))})});var CK=g((rpe,mK)=>{"use strict";var{Buffer:m5}=S("node:buffer"),C5="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",HI;Object.defineProperty(mK,"exports",{get:()=>HI||(HI=m5.from(C5,"base64"))})});var JA=g((npe,RK)=>{"use strict";var bK=["GET","HEAD","POST"],b5=new Set(bK),Q5=[101,204,205,304],QK=[301,302,303,307,308],B5=new Set(QK),BK=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],S5=new Set(BK),SK=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],w5=["",...SK],D5=new Set(SK),k5=["follow","manual","error"],wK=["GET","HEAD","OPTIONS","TRACE"],R5=new Set(wK),v5=["navigate","same-origin","no-cors","cors"],x5=["omit","same-origin","include"],T5=["default","no-store","reload","no-cache","force-cache","only-if-cached"],N5=["content-encoding","content-language","content-location","content-type","content-length"],M5=["half"],DK=["CONNECT","TRACE","TRACK"],K5=new Set(DK),kK=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],F5=new Set(kK);RK.exports={subresource:kK,forbiddenMethods:DK,requestBodyHeader:N5,referrerPolicy:w5,requestRedirect:k5,requestMode:v5,requestCredentials:x5,requestCache:T5,redirectStatus:QK,corsSafeListedMethods:bK,nullBodyStatus:Q5,safeMethods:wK,badPorts:BK,requestDuplex:M5,subresourceSet:F5,badPortsSet:S5,redirectStatusSet:B5,corsSafeListedMethodsSet:b5,safeMethodsSet:R5,forbiddenMethodsSet:K5,referrerPolicyTokens:D5}});var zI=g((spe,vK)=>{"use strict";var WI=Symbol.for("undici.globalOrigin.1");function L5(){return globalThis[WI]}function O5(r){if(r===void 0){Object.defineProperty(globalThis,WI,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let e=new URL(r);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${e.protocol}`);Object.defineProperty(globalThis,WI,{value:e,writable:!0,enumerable:!1,configurable:!1})}vK.exports={getGlobalOrigin:L5,setGlobalOrigin:O5}});var Ih=g((ipe,xK)=>{"use strict";var U5=new TextDecoder;function j5(r){return r.length===0?"":(r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3)),U5.decode(r))}xK.exports={utf8DecodeBytes:j5}});var Hn=g((ope,KK)=>{"use strict";var TK=S("node:assert"),{utf8DecodeBytes:P5}=Ih();function _5(r,e,t){let n="";for(;t.position<e.length&&r(e[t.position]);)n+=e[t.position],t.position++;return n}function J5(r,e,t){let n=e.indexOf(r,t.position),s=t.position;return n===-1?(t.position=e.length,e.slice(s)):(t.position=n,e.slice(s,t.position))}var Y5=/[\u0009\u000A\u000C\u000D\u0020]/g;function q5(r){r=r.replace(Y5,"");let e=r.length;if(e%4===0&&r.charCodeAt(e-1)===61&&(--e,r.charCodeAt(e-1)===61&&--e),e%4===1||/[^+/0-9A-Za-z]/.test(r.length===e?r:r.substring(0,e)))return"failure";let t=Buffer.from(r,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function NK(r){return r===9||r===10||r===12||r===13||r===32}function G5(r){let e=r.length;if(65535>e)return String.fromCharCode.apply(null,r);let t="",n=0,s=65535;for(;n<e;)n+s>e&&(s=e-n),t+=String.fromCharCode.apply(null,r.subarray(n,n+=s));return t}var V5=/[^\x00-\xFF]/;function H5(r){return TK(!V5.test(r)),r}function W5(r){return JSON.parse(P5(r))}function z5(r,e=!0,t=!0){return MK(r,e,t,NK)}function MK(r,e,t,n){let s=0,i=r.length-1;if(e)for(;s<r.length&&n(r.charCodeAt(s));)s++;if(t)for(;i>0&&n(r.charCodeAt(i));)i--;return s===0&&i===r.length-1?r:r.slice(s,i+1)}function Z5(r){let e=JSON.stringify(r);if(e===void 0)throw new TypeError("Value is not JSON serializable");return TK(typeof e=="string"),e}KK.exports={collectASequenceOfCodePoints:_5,collectASequenceOfCodePointsFast:J5,forgivingBase64:q5,isASCIIWhitespace:NK,isomorphicDecode:G5,isomorphicEncode:H5,parseJSONFromBytes:W5,removeASCIIWhitespace:z5,removeChars:MK,serializeJavascriptValueToJSONString:Z5}});var Mr=g((ape,PK)=>{"use strict";var Ch=S("node:assert"),{forgivingBase64:X5,collectASequenceOfCodePoints:ZI,collectASequenceOfCodePointsFast:YA,isomorphicDecode:$5,removeASCIIWhitespace:e8,removeChars:t8}=Hn(),r8=new TextEncoder,qA=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,n8=/[\u000A\u000D\u0009\u0020]/u,s8=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function i8(r){Ch(r.protocol==="data:");let e=OK(r,!0);e=e.slice(5);let t={position:0},n=YA(",",e,t),s=n.length;if(n=e8(n,!0,!0),t.position>=e.length)return"failure";t.position++;let i=e.slice(s+1),o=UK(i);if(/;(?:\u0020*)base64$/ui.test(n)){let A=$5(o);if(o=X5(A),o==="failure")return"failure";n=n.slice(0,-6),n=n.replace(/(\u0020+)$/u,""),n=n.slice(0,-1)}n.startsWith(";")&&(n="text/plain"+n);let a=XI(n);return a==="failure"&&(a=XI("text/plain;charset=US-ASCII")),{mimeType:a,body:o}}function OK(r,e=!1){if(!e)return r.href;let t=r.href,n=r.hash.length,s=n===0?t:t.substring(0,t.length-n);return!n&&t.endsWith("#")?s.slice(0,-1):s}function UK(r){let e=r8.encode(r);return o8(e)}function FK(r){return r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102}function LK(r){return r>=48&&r<=57?r-48:(r&223)-55}function o8(r){let e=r.length,t=new Uint8Array(e),n=0,s=0;for(;s<e;){let i=r[s];i!==37?t[n++]=i:i===37&&!(FK(r[s+1])&&FK(r[s+2]))?t[n++]=37:(t[n++]=LK(r[s+1])<<4|LK(r[s+2]),s+=2),++s}return e===n?t:t.subarray(0,n)}function XI(r){r=mh(r,!0,!0);let e={position:0},t=YA("/",r,e);if(t.length===0||!qA.test(t)||e.position>=r.length)return"failure";e.position++;let n=YA(";",r,e);if(n=mh(n,!1,!0),n.length===0||!qA.test(n))return"failure";let s=t.toLowerCase(),i=n.toLowerCase(),o={type:s,subtype:i,parameters:new Map,essence:`${s}/${i}`};for(;e.position<r.length;){e.position++,ZI(l=>n8.test(l),r,e);let a=ZI(l=>l!==";"&&l!=="=",r,e);if(a=a.toLowerCase(),e.position<r.length){if(r[e.position]===";")continue;e.position++}if(e.position>=r.length)break;let A=null;if(r[e.position]==='"')A=jK(r,e,!0),YA(";",r,e);else if(A=YA(";",r,e),A=mh(A,!1,!0),A.length===0)continue;a.length!==0&&qA.test(a)&&(A.length===0||s8.test(A))&&!o.parameters.has(a)&&o.parameters.set(a,A)}return o}function jK(r,e,t=!1){let n=e.position,s="";for(Ch(r[e.position]==='"'),e.position++;s+=ZI(o=>o!=='"'&&o!=="\\",r,e),!(e.position>=r.length);){let i=r[e.position];if(e.position++,i==="\\"){if(e.position>=r.length){s+="\\";break}s+=r[e.position],e.position++}else{Ch(i==='"');break}}return t?s:r.slice(n,e.position)}function a8(r){Ch(r!=="failure");let{parameters:e,essence:t}=r,n=t;for(let[s,i]of e.entries())n+=";",n+=s,n+="=",qA.test(i)||(i=i.replace(/[\\"]/ug,"\\$&"),i='"'+i,i+='"'),n+=i;return n}function A8(r){return r===13||r===10||r===9||r===32}function mh(r,e=!0,t=!0){return t8(r,e,t,A8)}function l8(r){switch(r.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return r.subtype.endsWith("+json")?"application/json":r.subtype.endsWith("+xml")?"application/xml":""}PK.exports={dataURLProcessor:i8,URLSerializer:OK,stringPercentDecode:UK,parseMIMEType:XI,collectAnHTTPQuotedString:jK,serializeAMimeType:a8,removeHTTPWhitespace:mh,minimizeSupportedMimeType:l8,HTTP_TOKEN_CODEPOINTS:qA}});var Wn=g((Ape,em)=>{"use strict";var _K={__proto__:null,"node:crypto":()=>S("node:crypto"),"node:sqlite":()=>S("node:sqlite"),"node:worker_threads":()=>S("node:worker_threads"),"node:zlib":()=>S("node:zlib")};function c8(r){try{return _K[r](),!0}catch(e){if(e.code!=="ERR_UNKNOWN_BUILTIN_MODULE"&&e.code!=="ERR_NO_CRYPTO")throw e;return!1}}function u8(r,e){return typeof _K[r]()[e]<"u"}var JK=["markAsUncloneable","zstd"],d8={markAsUncloneable:["node:worker_threads","markAsUncloneable"],zstd:["node:zlib","createZstdDecompress"]},YK=["crypto","sqlite"],h8=[...YK,...JK];function f8(r){if(YK.includes(r))return c8(`node:${r}`);if(JK.includes(r)){let[e,t]=d8[r];return u8(e,t)}throw new TypeError(`unknown feature: ${r}`)}var $I=class{#e=new Map;clear(){this.#e.clear()}has(e){return this.#e.get(e)??this.#t(e)}set(e,t){if(h8.includes(e)===!1)throw new TypeError(`unknown feature: ${e}`);this.#e.set(e,t)}#t(e){let t=f8(e);return this.#e.set(e,t),t}},qK=new $I;em.exports.runtimeFeatures=qK;em.exports.default=qK});var bt=g((lpe,VK)=>{"use strict";var g8=S("node:assert"),{types:et,inspect:p8}=S("node:util"),{runtimeFeatures:y8}=Wn(),tm=1,rm=2,bh=3,Qh=4,nm=5,Bh=6,sm=7,fr=8,GK=Function.call.bind(Function.prototype[Symbol.hasInstance]),D={converters:{},util:{},errors:{},is:{}};D.errors.exception=function(r){return new TypeError(`${r.header}: ${r.message}`)};D.errors.conversionFailed=function(r){let e=r.types.length===1?"":" one of",t=`${r.argument} could not be converted to${e}: ${r.types.join(", ")}.`;return D.errors.exception({header:r.prefix,message:t})};D.errors.invalidArgument=function(r){return D.errors.exception({header:r.prefix,message:`"${r.value}" is an invalid ${r.type}.`})};D.brandCheck=function(r,e){if(!GK(e,r)){let t=new TypeError("Illegal invocation");throw t.code="ERR_INVALID_THIS",t}};D.brandCheckMultiple=function(r){let e=r.map(t=>D.util.MakeTypeAssertion(t));return t=>{if(e.every(n=>!n(t))){let n=new TypeError("Illegal invocation");throw n.code="ERR_INVALID_THIS",n}}};D.argumentLengthCheck=function({length:r},e,t){if(r<e)throw D.errors.exception({message:`${e} argument${e!==1?"s":""} required, but${r?" only":""} ${r} found.`,header:t})};D.illegalConstructor=function(){throw D.errors.exception({header:"TypeError",message:"Illegal constructor"})};D.util.MakeTypeAssertion=function(r){return e=>GK(r,e)};D.util.Type=function(r){switch(typeof r){case"undefined":return tm;case"boolean":return rm;case"string":return bh;case"symbol":return Qh;case"number":return nm;case"bigint":return Bh;case"function":case"object":return r===null?sm:fr}};D.util.Types={UNDEFINED:tm,BOOLEAN:rm,STRING:bh,SYMBOL:Qh,NUMBER:nm,BIGINT:Bh,NULL:sm,OBJECT:fr};D.util.TypeValueToString=function(r){switch(D.util.Type(r)){case tm:return"Undefined";case rm:return"Boolean";case bh:return"String";case Qh:return"Symbol";case nm:return"Number";case Bh:return"BigInt";case sm:return"Null";case fr:return"Object"}};D.util.markAsUncloneable=y8.has("markAsUncloneable")?S("node:worker_threads").markAsUncloneable:()=>{};D.util.ConvertToInt=function(r,e,t,n){let s,i;e===64?(s=Math.pow(2,53)-1,t==="unsigned"?i=0:i=Math.pow(-2,53)+1):t==="unsigned"?(i=0,s=Math.pow(2,e)-1):(i=-Math.pow(2,e-1),s=Math.pow(2,e-1)-1);let o=Number(r);if(o===0&&(o=0),D.util.HasFlag(n,D.attributes.EnforceRange)){if(Number.isNaN(o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY)throw D.errors.exception({header:"Integer conversion",message:`Could not convert ${D.util.Stringify(r)} to an integer.`});if(o=D.util.IntegerPart(o),o<i||o>s)throw D.errors.exception({header:"Integer conversion",message:`Value must be between ${i}-${s}, got ${o}.`});return o}return!Number.isNaN(o)&&D.util.HasFlag(n,D.attributes.Clamp)?(o=Math.min(Math.max(o,i),s),Math.floor(o)%2===0?o=Math.floor(o):o=Math.ceil(o),o):Number.isNaN(o)||o===0&&Object.is(0,o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY?0:(o=D.util.IntegerPart(o),o=o%Math.pow(2,e),t==="signed"&&o>=Math.pow(2,e-1)?o-Math.pow(2,e):o)};D.util.IntegerPart=function(r){let e=Math.floor(Math.abs(r));return r<0?-1*e:e};D.util.Stringify=function(r){switch(D.util.Type(r)){case Qh:return`Symbol(${r.description})`;case fr:return p8(r);case bh:return`"${r}"`;case Bh:return`${r}n`;default:return`${r}`}};D.util.IsResizableArrayBuffer=function(r){if(et.isArrayBuffer(r))return r.resizable;if(et.isSharedArrayBuffer(r))return r.growable;throw D.errors.exception({header:"IsResizableArrayBuffer",message:`"${D.util.Stringify(r)}" is not an array buffer.`})};D.util.HasFlag=function(r,e){return typeof r=="number"&&(r&e)===e};D.sequenceConverter=function(r){return(e,t,n,s)=>{if(D.util.Type(e)!==fr)throw D.errors.exception({header:t,message:`${n} (${D.util.Stringify(e)}) is not iterable.`});let i=typeof s=="function"?s():e?.[Symbol.iterator]?.(),o=[],a=0;if(i===void 0||typeof i.next!="function")throw D.errors.exception({header:t,message:`${n} is not iterable.`});for(;;){let{done:A,value:l}=i.next();if(A)break;o.push(r(l,t,`${n}[${a++}]`))}return o}};D.recordConverter=function(r,e){return(t,n,s)=>{if(D.util.Type(t)!==fr)throw D.errors.exception({header:n,message:`${s} ("${D.util.TypeValueToString(t)}") is not an Object.`});let i={};if(!et.isProxy(t)){let a=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(let A of a){let l=D.util.Stringify(A),c=r(A,n,`Key ${l} in ${s}`),u=e(t[A],n,`${s}[${l}]`);i[c]=u}return i}let o=Reflect.ownKeys(t);for(let a of o)if(Reflect.getOwnPropertyDescriptor(t,a)?.enumerable){let l=r(a,n,s),c=e(t[a],n,s);i[l]=c}return i}};D.interfaceConverter=function(r,e){return(t,n,s)=>{if(!r(t))throw D.errors.exception({header:n,message:`Expected ${s} ("${D.util.Stringify(t)}") to be an instance of ${e}.`});return t}};D.dictionaryConverter=function(r){return r.sort((e,t)=>(e.key>t.key)-(e.key<t.key)),(e,t,n)=>{let s={};if(e!=null&&D.util.Type(e)!==fr)throw D.errors.exception({header:t,message:`Expected ${e} to be one of: Null, Undefined, Object.`});for(let i of r){let{key:o,defaultValue:a,required:A,converter:l}=i;if(A===!0&&(e==null||!Object.hasOwn(e,o)))throw D.errors.exception({header:t,message:`Missing required key "${o}".`});let c=e?.[o],u=a!==void 0;if(u&&c===void 0&&(c=a()),A||u||c!==void 0){if(c=l(c,t,`${n}.${o}`),i.allowedValues&&!i.allowedValues.includes(c))throw D.errors.exception({header:t,message:`${c} is not an accepted type. Expected one of ${i.allowedValues.join(", ")}.`});s[o]=c}}return s}};D.nullableConverter=function(r){return(e,t,n)=>e===null?e:r(e,t,n)};D.is.USVString=function(r){return typeof r=="string"&&r.isWellFormed()};D.is.ReadableStream=D.util.MakeTypeAssertion(ReadableStream);D.is.Blob=D.util.MakeTypeAssertion(Blob);D.is.URLSearchParams=D.util.MakeTypeAssertion(URLSearchParams);D.is.File=D.util.MakeTypeAssertion(File);D.is.URL=D.util.MakeTypeAssertion(URL);D.is.AbortSignal=D.util.MakeTypeAssertion(AbortSignal);D.is.MessagePort=D.util.MakeTypeAssertion(MessagePort);D.is.BufferSource=function(r){return et.isArrayBuffer(r)||ArrayBuffer.isView(r)&&et.isArrayBuffer(r.buffer)};D.util.getCopyOfBytesHeldByBufferSource=function(r){let e=r,t=e,n=0,s=0;if(et.isTypedArray(e)||et.isDataView(e)?(t=e.buffer,n=e.byteOffset,s=e.byteLength):(g8(et.isAnyArrayBuffer(e)),s=e.byteLength),t.detached)return new Uint8Array(0);let i=new Uint8Array(s),o=new Uint8Array(t,n,s);return i.set(o),i};D.converters.DOMString=function(r,e,t,n){if(r===null&&D.util.HasFlag(n,D.attributes.LegacyNullToEmptyString))return"";if(typeof r=="symbol")throw D.errors.exception({header:e,message:`${t} is a symbol, which cannot be converted to a DOMString.`});return String(r)};D.converters.ByteString=function(r,e,t){if(typeof r=="symbol")throw D.errors.exception({header:e,message:`${t} is a symbol, which cannot be converted to a ByteString.`});let n=String(r);for(let s=0;s<n.length;s++)if(n.charCodeAt(s)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${s} has a value of ${n.charCodeAt(s)} which is greater than 255.`);return n};D.converters.USVString=function(r){return typeof r=="string"?r.toWellFormed():`${r}`.toWellFormed()};D.converters.boolean=function(r){return!!r};D.converters.any=function(r){return r};D.converters["long long"]=function(r,e,t){return D.util.ConvertToInt(r,64,"signed",0,e,t)};D.converters["unsigned long long"]=function(r,e,t){return D.util.ConvertToInt(r,64,"unsigned",0,e,t)};D.converters["unsigned long"]=function(r,e,t){return D.util.ConvertToInt(r,32,"unsigned",0,e,t)};D.converters["unsigned short"]=function(r,e,t,n){return D.util.ConvertToInt(r,16,"unsigned",n,e,t)};D.converters.ArrayBuffer=function(r,e,t,n){if(D.util.Type(r)!==fr||!et.isArrayBuffer(r))throw D.errors.conversionFailed({prefix:e,argument:`${t} ("${D.util.Stringify(r)}")`,types:["ArrayBuffer"]});if(!D.util.HasFlag(n,D.attributes.AllowResizable)&&D.util.IsResizableArrayBuffer(r))throw D.errors.exception({header:e,message:`${t} cannot be a resizable ArrayBuffer.`});return r};D.converters.SharedArrayBuffer=function(r,e,t,n){if(D.util.Type(r)!==fr||!et.isSharedArrayBuffer(r))throw D.errors.conversionFailed({prefix:e,argument:`${t} ("${D.util.Stringify(r)}")`,types:["SharedArrayBuffer"]});if(!D.util.HasFlag(n,D.attributes.AllowResizable)&&D.util.IsResizableArrayBuffer(r))throw D.errors.exception({header:e,message:`${t} cannot be a resizable SharedArrayBuffer.`});return r};D.converters.TypedArray=function(r,e,t,n,s){if(D.util.Type(r)!==fr||!et.isTypedArray(r)||r.constructor.name!==e.name)throw D.errors.conversionFailed({prefix:t,argument:`${n} ("${D.util.Stringify(r)}")`,types:[e.name]});if(!D.util.HasFlag(s,D.attributes.AllowShared)&&et.isSharedArrayBuffer(r.buffer))throw D.errors.exception({header:t,message:`${n} cannot be a view on a shared array buffer.`});if(!D.util.HasFlag(s,D.attributes.AllowResizable)&&D.util.IsResizableArrayBuffer(r.buffer))throw D.errors.exception({header:t,message:`${n} cannot be a view on a resizable array buffer.`});return r};D.converters.DataView=function(r,e,t,n){if(D.util.Type(r)!==fr||!et.isDataView(r))throw D.errors.conversionFailed({prefix:e,argument:`${t} ("${D.util.Stringify(r)}")`,types:["DataView"]});if(!D.util.HasFlag(n,D.attributes.AllowShared)&&et.isSharedArrayBuffer(r.buffer))throw D.errors.exception({header:e,message:`${t} cannot be a view on a shared array buffer.`});if(!D.util.HasFlag(n,D.attributes.AllowResizable)&&D.util.IsResizableArrayBuffer(r.buffer))throw D.errors.exception({header:e,message:`${t} cannot be a view on a resizable array buffer.`});return r};D.converters.ArrayBufferView=function(r,e,t,n){if(D.util.Type(r)!==fr||!et.isArrayBufferView(r))throw D.errors.conversionFailed({prefix:e,argument:`${t} ("${D.util.Stringify(r)}")`,types:["ArrayBufferView"]});if(!D.util.HasFlag(n,D.attributes.AllowShared)&&et.isSharedArrayBuffer(r.buffer))throw D.errors.exception({header:e,message:`${t} cannot be a view on a shared array buffer.`});if(!D.util.HasFlag(n,D.attributes.AllowResizable)&&D.util.IsResizableArrayBuffer(r.buffer))throw D.errors.exception({header:e,message:`${t} cannot be a view on a resizable array buffer.`});return r};D.converters.BufferSource=function(r,e,t,n){if(et.isArrayBuffer(r))return D.converters.ArrayBuffer(r,e,t,n);if(et.isArrayBufferView(r))return n&=~D.attributes.AllowShared,D.converters.ArrayBufferView(r,e,t,n);throw et.isSharedArrayBuffer(r)?D.errors.exception({header:e,message:`${t} cannot be a SharedArrayBuffer.`}):D.errors.conversionFailed({prefix:e,argument:`${t} ("${D.util.Stringify(r)}")`,types:["ArrayBuffer","ArrayBufferView"]})};D.converters.AllowSharedBufferSource=function(r,e,t,n){if(et.isArrayBuffer(r))return D.converters.ArrayBuffer(r,e,t,n);if(et.isSharedArrayBuffer(r))return D.converters.SharedArrayBuffer(r,e,t,n);if(et.isArrayBufferView(r))return n|=D.attributes.AllowShared,D.converters.ArrayBufferView(r,e,t,n);throw D.errors.conversionFailed({prefix:e,argument:`${t} ("${D.util.Stringify(r)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})};D.converters["sequence<ByteString>"]=D.sequenceConverter(D.converters.ByteString);D.converters["sequence<sequence<ByteString>>"]=D.sequenceConverter(D.converters["sequence<ByteString>"]);D.converters["record<ByteString, ByteString>"]=D.recordConverter(D.converters.ByteString,D.converters.ByteString);D.converters.Blob=D.interfaceConverter(D.is.Blob,"Blob");D.converters.AbortSignal=D.interfaceConverter(D.is.AbortSignal,"AbortSignal");D.converters.EventHandlerNonNull=function(r){return D.util.Type(r)!==fr?null:typeof r=="function"?r:()=>{}};D.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16};VK.exports={webidl:D}});var gr=g((cpe,a1)=>{"use strict";var{Transform:E8}=S("node:stream"),HK=S("node:zlib"),{redirectStatusSet:I8,referrerPolicyTokens:m8,badPortsSet:C8}=JA(),{getGlobalOrigin:WK}=zI(),{collectAnHTTPQuotedString:b8,parseMIMEType:Q8}=Mr(),{performance:B8}=S("node:perf_hooks"),{ReadableStreamFrom:S8,isValidHTTPToken:zK,normalizedMethodRecordsBase:w8}=ue(),VA=S("node:assert"),{isUint8Array:D8}=S("node:util/types"),{webidl:Ls}=bt(),{isomorphicEncode:im,collectASequenceOfCodePoints:Ui,removeChars:k8}=Hn();function ZK(r){let e=r.urlList,t=e.length;return t===0?null:e[t-1].toString()}function R8(r,e){if(!I8.has(r.status))return null;let t=r.headersList.get("location",!0);return t!==null&&$K(t)&&(XK(t)||(t=v8(t)),t=new URL(t,ZK(r))),t&&!t.hash&&(t.hash=e),t}function XK(r){for(let e=0;e<r.length;++e){let t=r.charCodeAt(e);if(t>126||t<32)return!1}return!0}function v8(r){return Buffer.from(r,"binary").toString("utf8")}function Pi(r){return r.urlList[r.urlList.length-1]}function x8(r){let e=Pi(r);return i1(e)&&C8.has(e.port)?"blocked":"allowed"}function T8(r){return r instanceof Error||r?.constructor?.name==="Error"||r?.constructor?.name==="DOMException"}function N8(r){for(let e=0;e<r.length;++e){let t=r.charCodeAt(e);if(!(t===9||t>=32&&t<=126||t>=128&&t<=255))return!1}return!0}var M8=zK;function $K(r){return(r[0]===" "||r[0]===" "||r[r.length-1]===" "||r[r.length-1]===" "||r.includes(`
|
|
8913
|
+
`)||r.includes("\r")||r.includes("\0"))===!1}function K8(r){let e=(r.headersList.get("referrer-policy",!0)??"").split(","),t="";if(e.length)for(let n=e.length;n!==0;n--){let s=e[n-1].trim();if(m8.has(s)){t=s;break}}return t}function F8(r,e){let t=K8(e);t!==""&&(r.referrerPolicy=t)}function L8(){return"allowed"}function O8(){return"success"}function U8(){return"success"}function j8(r){let e=null;e=r.mode,r.headersList.set("sec-fetch-mode",e,!0)}function P8(r){let e=r.origin;if(!(e==="client"||e===void 0)){if(r.responseTainting==="cors"||r.mode==="websocket")r.headersList.append("origin",e,!0);else if(r.method!=="GET"&&r.method!=="HEAD"){switch(r.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":r.origin&&am(r.origin)&&!am(Pi(r))&&(e=null);break;case"same-origin":GA(r,Pi(r))||(e=null);break;default:}r.headersList.append("origin",e,!0)}}}function Aa(r,e){return r}function _8(r,e,t){return!r?.startTime||r.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:r?.ALPNNegotiatedProtocol}:{domainLookupStartTime:Aa(r.domainLookupStartTime,t),domainLookupEndTime:Aa(r.domainLookupEndTime,t),connectionStartTime:Aa(r.connectionStartTime,t),connectionEndTime:Aa(r.connectionEndTime,t),secureConnectionStartTime:Aa(r.secureConnectionStartTime,t),ALPNNegotiatedProtocol:r.ALPNNegotiatedProtocol}}function J8(r){return Aa(B8.now(),r)}function Y8(r){return{startTime:r.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:r.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function e1(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function q8(r){return{referrerPolicy:r.referrerPolicy}}function G8(r){let e=r.referrerPolicy;VA(e);let t=null;if(r.referrer==="client"){let i=WK();if(!i||i.origin==="null")return"no-referrer";t=new URL(i)}else Ls.is.URL(r.referrer)&&(t=r.referrer);let n=om(t),s=om(t,!0);switch(n.toString().length>4096&&(n=s),e){case"no-referrer":return"no-referrer";case"origin":return s??om(t,!0);case"unsafe-url":return n;case"strict-origin":{let i=Pi(r);return ji(n)&&!ji(i)?"no-referrer":s}case"strict-origin-when-cross-origin":{let i=Pi(r);return GA(n,i)?n:ji(n)&&!ji(i)?"no-referrer":s}case"same-origin":return GA(r,n)?n:"no-referrer";case"origin-when-cross-origin":return GA(r,n)?n:s;case"no-referrer-when-downgrade":{let i=Pi(r);return ji(n)&&!ji(i)?"no-referrer":n}}}function om(r,e=!1){return VA(Ls.is.URL(r)),r=new URL(r),s1(r)?"no-referrer":(r.username="",r.password="",r.hash="",e===!0&&(r.pathname="",r.search=""),r)}var V8=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),H8=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function t1(r){return r.includes(":")?(r[0]==="["&&r[r.length-1]==="]"&&(r=r.slice(1,-1)),H8(r)):V8(r)}function W8(r){return r==null||r==="null"?!1:(r=new URL(r),!!(r.protocol==="https:"||r.protocol==="wss:"||t1(r.hostname)||r.hostname==="localhost"||r.hostname==="localhost."||r.hostname.endsWith(".localhost")||r.hostname.endsWith(".localhost.")||r.protocol==="file:"))}function ji(r){return Ls.is.URL(r)?r.href==="about:blank"||r.href==="about:srcdoc"||r.protocol==="data:"||r.protocol==="blob:"?!0:W8(r.origin):!1}function z8(r){}function GA(r,e){return r.origin===e.origin&&r.origin==="null"||r.protocol===e.protocol&&r.hostname===e.hostname&&r.port===e.port}function Z8(r){return r.controller.state==="aborted"}function X8(r){return r.controller.state==="aborted"||r.controller.state==="terminated"}function $8(r){return w8[r.toLowerCase()]??r}var e$=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function r1(r,e,t=0,n=1){class s{#e;#t;#r;constructor(o,a){this.#e=o,this.#t=a,this.#r=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${r} Iterator.`);let o=this.#r,a=e(this.#e),A=a.length;if(o>=A)return{value:void 0,done:!0};let{[t]:l,[n]:c}=a[o];this.#r=o+1;let u;switch(this.#t){case"key":u=l;break;case"value":u=c;break;case"key+value":u=[l,c];break}return{value:u,done:!1}}}return delete s.prototype.constructor,Object.setPrototypeOf(s.prototype,e$),Object.defineProperties(s.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${r} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(i,o){return new s(i,o)}}function t$(r,e,t,n=0,s=1){let i=r1(r,t,n,s),o={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return Ls.brandCheck(this,e),i(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return Ls.brandCheck(this,e),i(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return Ls.brandCheck(this,e),i(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(A,l=globalThis){if(Ls.brandCheck(this,e),Ls.argumentLengthCheck(arguments,1,`${r}.forEach`),typeof A!="function")throw new TypeError(`Failed to execute 'forEach' on '${r}': parameter 1 is not of type 'Function'.`);for(let{0:c,1:u}of i(this,"key+value"))A.call(l,u,c,this)}}};return Object.defineProperties(e.prototype,{...o,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:o.entries.value}})}function r$(r,e,t){let n=e,s=t;try{let i=r.stream.getReader();n1(i,n,s)}catch(i){s(i)}}function n$(r){try{r.close(),r.byobRequest?.respond(0)}catch(e){if(!e.message.includes("Controller is already closed")&&!e.message.includes("ReadableStream is already closed"))throw e}}async function n1(r,e,t){try{let n=[],s=0;do{let{done:i,value:o}=await r.read();if(i){e(Buffer.concat(n,s));return}if(!D8(o)){t(new TypeError("Received non-Uint8Array chunk"));return}n.push(o),s+=o.length}while(!0)}catch(n){t(n)}}function s1(r){VA("protocol"in r);let e=r.protocol;return e==="about:"||e==="blob:"||e==="data:"}function am(r){return typeof r=="string"&&r[5]===":"&&r[0]==="h"&&r[1]==="t"&&r[2]==="t"&&r[3]==="p"&&r[4]==="s"||r.protocol==="https:"}function i1(r){VA("protocol"in r);let e=r.protocol;return e==="http:"||e==="https:"}function s$(r,e){let t=r;if(!t.startsWith("bytes"))return"failure";let n={position:5};if(e&&Ui(A=>A===" "||A===" ",t,n),t.charCodeAt(n.position)!==61)return"failure";n.position++,e&&Ui(A=>A===" "||A===" ",t,n);let s=Ui(A=>{let l=A.charCodeAt(0);return l>=48&&l<=57},t,n),i=s.length?Number(s):null;if(e&&Ui(A=>A===" "||A===" ",t,n),t.charCodeAt(n.position)!==45)return"failure";n.position++,e&&Ui(A=>A===" "||A===" ",t,n);let o=Ui(A=>{let l=A.charCodeAt(0);return l>=48&&l<=57},t,n),a=o.length?Number(o):null;return n.position<t.length||a===null&&i===null||i>a?"failure":{rangeStartValue:i,rangeEndValue:a}}function i$(r,e,t){let n="bytes ";return n+=im(`${r}`),n+="-",n+=im(`${e}`),n+="/",n+=im(`${t}`),n}var Am=class extends E8{#e;constructor(e){super(),this.#e=e}_transform(e,t,n){if(!this._inflateStream){if(e.length===0){n();return}this._inflateStream=(e[0]&15)===8?HK.createInflate(this.#e):HK.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",s=>this.destroy(s))}this._inflateStream.write(e,t,n)}_final(e){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),e()}};function o$(r){return new Am(r)}function a$(r){let e=null,t=null,n=null,s=o1("content-type",r);if(s===null)return"failure";for(let i of s){let o=Q8(i);o==="failure"||o.essence==="*/*"||(n=o,n.essence!==t?(e=null,n.parameters.has("charset")&&(e=n.parameters.get("charset")),t=n.essence):!n.parameters.has("charset")&&e!==null&&n.parameters.set("charset",e))}return n??"failure"}function A$(r){let e=r,t={position:0},n=[],s="";for(;t.position<e.length;){if(s+=Ui(i=>i!=='"'&&i!==",",e,t),t.position<e.length)if(e.charCodeAt(t.position)===34){if(s+=b8(e,t),t.position<e.length)continue}else VA(e.charCodeAt(t.position)===44),t.position++;s=k8(s,!0,!0,i=>i===9||i===32),n.push(s),s=""}return n}function o1(r,e){let t=e.get(r,!0);return t===null?null:A$(t)}function l$(r){return!1}function c$(r){return!!(r.username||r.password)}function u$(r){return r!=null&&r!=="client"&&r!=="no-traversable"}var lm=class{get baseUrl(){return WK()}get origin(){return this.baseUrl?.origin}policyContainer=e1()},cm=class{settingsObject=new lm},d$=new cm;a1.exports={isAborted:Z8,isCancelled:X8,isValidEncodedURL:XK,ReadableStreamFrom:S8,tryUpgradeRequestToAPotentiallyTrustworthyURL:z8,clampAndCoarsenConnectionTimingInfo:_8,coarsenedSharedCurrentTime:J8,determineRequestsReferrer:G8,makePolicyContainer:e1,clonePolicyContainer:q8,appendFetchMetadata:j8,appendRequestOriginHeader:P8,TAOCheck:U8,corsCheck:O8,crossOriginResourcePolicyCheck:L8,createOpaqueTimingInfo:Y8,setRequestReferrerPolicyOnRedirect:F8,isValidHTTPToken:zK,requestBadPort:x8,requestCurrentURL:Pi,responseURL:ZK,responseLocationURL:R8,isURLPotentiallyTrustworthy:ji,isValidReasonPhrase:N8,sameOrigin:GA,normalizeMethod:$8,iteratorMixin:t$,createIterator:r1,isValidHeaderName:M8,isValidHeaderValue:$K,isErrorLike:T8,fullyReadBody:r$,readableStreamClose:n$,urlIsLocal:s1,urlHasHttpsScheme:am,urlIsHttpHttpsScheme:i1,readAllBytes:n1,simpleRangeHeaderValue:s$,buildContentRange:i$,createInflate:o$,extractMimeType:a$,getDecodeSplit:o1,environmentSettingsObject:d$,isOriginIPPotentiallyTrustworthy:t1,hasAuthenticationEntry:l$,includesCredentials:c$,isTraversableNavigable:u$}});var Sh=g((upe,l1)=>{"use strict";var{iteratorMixin:h$}=gr(),{kEnumerableProperty:la}=ue(),{webidl:xe}=bt(),A1=S("node:util"),zn=class r{#e=[];constructor(e=void 0){if(xe.util.markAsUncloneable(this),e!==void 0)throw xe.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(e,t,n=void 0){xe.brandCheck(this,r);let s="FormData.append";xe.argumentLengthCheck(arguments,2,s),e=xe.converters.USVString(e),arguments.length===3||xe.is.Blob(t)?(t=xe.converters.Blob(t,s,"value"),n!==void 0&&(n=xe.converters.USVString(n))):t=xe.converters.USVString(t);let i=um(e,t,n);this.#e.push(i)}delete(e){xe.brandCheck(this,r),xe.argumentLengthCheck(arguments,1,"FormData.delete"),e=xe.converters.USVString(e),this.#e=this.#e.filter(n=>n.name!==e)}get(e){xe.brandCheck(this,r),xe.argumentLengthCheck(arguments,1,"FormData.get"),e=xe.converters.USVString(e);let n=this.#e.findIndex(s=>s.name===e);return n===-1?null:this.#e[n].value}getAll(e){return xe.brandCheck(this,r),xe.argumentLengthCheck(arguments,1,"FormData.getAll"),e=xe.converters.USVString(e),this.#e.filter(n=>n.name===e).map(n=>n.value)}has(e){return xe.brandCheck(this,r),xe.argumentLengthCheck(arguments,1,"FormData.has"),e=xe.converters.USVString(e),this.#e.findIndex(n=>n.name===e)!==-1}set(e,t,n=void 0){xe.brandCheck(this,r);let s="FormData.set";xe.argumentLengthCheck(arguments,2,s),e=xe.converters.USVString(e),arguments.length===3||xe.is.Blob(t)?(t=xe.converters.Blob(t,s,"value"),n!==void 0&&(n=xe.converters.USVString(n))):t=xe.converters.USVString(t);let i=um(e,t,n),o=this.#e.findIndex(a=>a.name===e);o!==-1?this.#e=[...this.#e.slice(0,o),i,...this.#e.slice(o+1).filter(a=>a.name!==e)]:this.#e.push(i)}[A1.inspect.custom](e,t){let n=this.#e.reduce((i,o)=>(i[o.name]?Array.isArray(i[o.name])?i[o.name].push(o.value):i[o.name]=[i[o.name],o.value]:i[o.name]=o.value,i),{__proto__:null});t.depth??=e,t.colors??=!0;let s=A1.formatWithOptions(t,n);return`FormData ${s.slice(s.indexOf("]")+2)}`}static getFormDataState(e){return e.#e}static setFormDataState(e,t){e.#e=t}},{getFormDataState:f$,setFormDataState:g$}=zn;Reflect.deleteProperty(zn,"getFormDataState");Reflect.deleteProperty(zn,"setFormDataState");h$("FormData",zn,f$,"name","value");Object.defineProperties(zn.prototype,{append:la,delete:la,get:la,getAll:la,has:la,set:la,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function um(r,e,t){if(typeof e!="string"){if(xe.is.File(e)||(e=new File([e],"blob",{type:e.type})),t!==void 0){let n={type:e.type,lastModified:e.lastModified};e=new File([e],t,n)}}return{name:r,value:e}}xe.is.FormData=xe.util.MakeTypeAssertion(zn);l1.exports={FormData:zn,makeEntry:um,setFormDataState:g$}});var d1=g((dpe,u1)=>{"use strict";var{bufferToLowerCasedHeaderName:p$}=ue(),{HTTP_TOKEN_CODEPOINTS:y$}=Mr(),{makeEntry:E$}=Sh(),{webidl:dm}=bt(),hm=S("node:assert"),{isomorphicDecode:c1}=Hn(),I$=Buffer.from("--"),fm=new TextDecoder,m$=new TextDecoder("utf-8",{ignoreBOM:!0});function C$(r){for(let e=0;e<r.length;++e)if((r.charCodeAt(e)&-128)!==0)return!1;return!0}function b$(r){let e=r.length;if(e<27||e>70)return!1;for(let t=0;t<e;++t){let n=r.charCodeAt(t);if(!(n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===39||n===45||n===95))return!1}return!0}function Q$(r,e){hm(e!=="failure"&&e.essence==="multipart/form-data");let t=e.parameters.get("boundary");if(t===void 0)throw Wt("missing boundary in content-type header");let n=Buffer.from(`--${t}`,"utf8"),s=[],i={position:0},o=r.indexOf(n);if(o===-1)throw Wt("no boundary found in multipart body");for(i.position=o;;){if(r.subarray(i.position,i.position+n.length).equals(n))i.position+=n.length;else throw Wt("expected a value starting with -- and the boundary");if(w$(r,I$,i))return s;if(r[i.position]!==13||r[i.position+1]!==10)throw Wt("expected CRLF");i.position+=2;let a=S$(r,i),{name:A,filename:l,contentType:c,encoding:u}=a;i.position+=2;let d;{let f=r.indexOf(n.subarray(2),i.position);if(f===-1)throw Wt("expected boundary after body");d=r.subarray(i.position,f-4),i.position+=d.length,u==="base64"&&(d=Buffer.from(d.toString(),"base64"))}if(r[i.position]!==13||r[i.position+1]!==10)throw Wt("expected CRLF");i.position+=2;let h;l!==null?(c??="text/plain",C$(c)||(c=""),h=new File([d],l,{type:c})):h=m$.decode(Buffer.from(d)),hm(dm.is.USVString(A)),hm(typeof h=="string"&&dm.is.USVString(h)||dm.is.File(h)),s.push(E$(A,h,l))}}function B$(r,e){r[e.position]===59&&e.position++,Kr(o=>o===32||o===9,r,e);let t=Kr(o=>pm(o)&&o!==61&&o!==42,r,e);if(t.length===0)return null;let n=t.toString("ascii").toLowerCase(),s=r[e.position]===42;if(s&&e.position++,r[e.position]!==61)return null;e.position++,Kr(o=>o===32||o===9,r,e);let i;if(s){let o=Kr(a=>a!==32&&a!==13&&a!==10&&a!==59,r,e);if(o[0]!==117&&o[0]!==85||o[1]!==116&&o[1]!==84||o[2]!==102&&o[2]!==70||o[3]!==45||o[4]!==56)throw Wt("unknown encoding, expected utf-8''");i=decodeURIComponent(fm.decode(o.subarray(7)))}else if(r[e.position]===34){e.position++;let o=Kr(a=>a!==10&&a!==13&&a!==34,r,e);if(r[e.position]!==34)throw Wt("Closing quote not found");e.position++,i=fm.decode(o).replace(/%0A/ig,`
|
|
8914
|
+
`).replace(/%0D/ig,"\r").replace(/%22/g,'"')}else{let o=Kr(a=>pm(a)&&a!==59,r,e);i=fm.decode(o)}return{name:n,value:i,extended:s}}function S$(r,e){let t=null,n=null,s=null,i=null;for(;;){if(r[e.position]===13&&r[e.position+1]===10){if(t===null)throw Wt("header name is null");return{name:t,filename:n,contentType:s,encoding:i}}let o=Kr(a=>a!==10&&a!==13&&a!==58,r,e);if(o=gm(o,!0,!0,a=>a===9||a===32),!y$.test(o.toString()))throw Wt("header name does not match the field-name token production");if(r[e.position]!==58)throw Wt("expected :");switch(e.position++,Kr(a=>a===32||a===9,r,e),p$(o)){case"content-disposition":{t=n=null;let a=!1;if(Kr(l=>pm(l),r,e).toString("ascii").toLowerCase()!=="form-data")throw Wt("expected form-data for content-disposition header");for(;e.position<r.length&&(r[e.position]!==13||r[e.position+1]!==10);){let l=B$(r,e);if(!l)break;l.name==="name"?t=l.value:l.name==="filename"&&(l.extended?(n=l.value,a=!0):a||(n=l.value))}if(t===null)throw Wt("name attribute is required in content-disposition header");break}case"content-type":{let a=Kr(A=>A!==10&&A!==13,r,e);a=gm(a,!1,!0,A=>A===9||A===32),s=c1(a);break}case"content-transfer-encoding":{let a=Kr(A=>A!==10&&A!==13,r,e);a=gm(a,!1,!0,A=>A===9||A===32),i=c1(a);break}default:Kr(a=>a!==10&&a!==13,r,e)}if(r[e.position]!==13||r[e.position+1]!==10)throw Wt("expected CRLF");e.position+=2}}function Kr(r,e,t){let n=t.position;for(;n<e.length&&r(e[n]);)++n;return e.subarray(t.position,t.position=n)}function gm(r,e,t,n){let s=0,i=r.length-1;if(e)for(;s<r.length&&n(r[s]);)s++;if(t)for(;i>0&&n(r[i]);)i--;return s===0&&i===r.length-1?r:r.subarray(s,i+1)}function w$(r,e,t){if(r.length<e.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==r[t.position+n])return!1;return!0}function Wt(r){return new TypeError("Failed to parse body as FormData.",{cause:new TypeError(r)})}function D$(r){return r<=31||r===127}function k$(r){return r===40||r===41||r===60||r===62||r===64||r===44||r===59||r===58||r===92||r===34||r===47||r===91||r===93||r===63||r===61}function pm(r){return r<=127&&r!==32&&r!==9&&!D$(r)&&!k$(r)}u1.exports={multipartFormDataParser:Q$,validateBoundary:b$}});var HA=g((hpe,h1)=>{"use strict";function R$(){let r,e;return{promise:new Promise((n,s)=>{r=n,e=s}),resolve:r,reject:e}}h1.exports={createDeferredPromise:R$}});var ua=g((fpe,E1)=>{"use strict";var Im=ue(),{ReadableStreamFrom:v$,readableStreamClose:x$,fullyReadBody:T$,extractMimeType:N$}=gr(),{FormData:f1,setFormDataState:M$}=Sh(),{webidl:Zr}=bt(),ym=S("node:assert"),{isErrored:Em,isDisturbed:K$}=S("node:stream"),{isUint8Array:F$}=S("node:util/types"),{serializeAMimeType:L$}=Mr(),{multipartFormDataParser:O$}=d1(),{createDeferredPromise:U$}=HA(),{parseJSONFromBytes:j$}=Hn(),{utf8DecodeBytes:P$}=Ih(),{runtimeFeatures:_$}=Wn(),J$=_$.has("crypto")?S("node:crypto").randomInt:r=>Math.floor(Math.random()*r),wh=new TextEncoder;function Y$(){}var q$=new FinalizationRegistry(r=>{let e=r.deref();e&&!e.locked&&!K$(e)&&!Em(e)&&e.cancel("Response object has been garbage collected").catch(Y$)});function p1(r,e=!1){let t=null,n=null;Zr.is.ReadableStream(r)?t=r:Zr.is.Blob(r)?t=r.stream():t=new ReadableStream({pull(){},start(l){n=l},cancel(){},type:"bytes"}),ym(Zr.is.ReadableStream(t));let s=null,i=null,o=null,a=null;if(typeof r=="string")i=r,a="text/plain;charset=UTF-8";else if(Zr.is.URLSearchParams(r))i=r.toString(),a="application/x-www-form-urlencoded;charset=UTF-8";else if(Zr.is.BufferSource(r))i=Zr.util.getCopyOfBytesHeldByBufferSource(r);else if(Zr.is.FormData(r)){let l=`----formdata-undici-0${`${J$(1e11)}`.padStart(11,"0")}`,c=`--${l}\r
|
|
8915
|
+
Content-Disposition: form-data`;let u=y=>y.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),d=y=>y.replace(/\r?\n|\r/g,`\r
|
|
8916
|
+
`),h=[],f=new Uint8Array([13,10]);o=0;let p=!1;for(let[y,m]of r)if(typeof m=="string"){let w=wh.encode(c+`; name="${u(d(y))}"\r
|
|
8917
|
+
\r
|
|
8918
|
+
${d(m)}\r
|
|
8919
|
+
`);h.push(w),o+=w.byteLength}else{let w=wh.encode(`${c}; name="${u(d(y))}"`+(m.name?`; filename="${u(m.name)}"`:"")+`\r
|
|
8920
|
+
Content-Type: ${m.type||"application/octet-stream"}\r
|
|
8921
|
+
\r
|
|
8922
|
+
`);h.push(w,m,f),typeof m.size=="number"?o+=w.byteLength+m.size+f.byteLength:p=!0}let I=wh.encode(`--${l}--\r
|
|
8923
|
+
`);h.push(I),o+=I.byteLength,p&&(o=null),i=r,s=async function*(){for(let y of h)y.stream?yield*y.stream():yield y},a=`multipart/form-data; boundary=${l}`}else if(Zr.is.Blob(r))i=r,o=r.size,r.type&&(a=r.type);else if(typeof r[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(Im.isDisturbed(r)||r.locked)throw new TypeError("Response body object should not be disturbed or locked");t=Zr.is.ReadableStream(r)?r:v$(r)}return(typeof i=="string"||F$(i))&&(s=()=>(o=typeof i=="string"?Buffer.byteLength(i):i.length,i)),s!=null&&(async()=>{let l=s(),c=l?.[Symbol.asyncIterator]?.();if(c)for await(let u of c){if(Em(t))break;u.length&&n.enqueue(new Uint8Array(u))}else l?.length&&!Em(t)&&n.enqueue(typeof l=="string"?wh.encode(l):new Uint8Array(l));queueMicrotask(()=>x$(n))})(),[{stream:t,source:i,length:o},a]}function G$(r,e=!1){return Zr.is.ReadableStream(r)&&(ym(!Im.isDisturbed(r),"The body has already been consumed."),ym(!r.locked,"The stream is locked.")),p1(r,e)}function V$(r){let{0:e,1:t}=r.stream.tee();return r.stream=e,{stream:t,length:r.length,source:r.source}}function H$(r,e){return{blob(){return ca(this,n=>{let s=g1(e(this));return s===null?s="":s&&(s=L$(s)),new Blob([n],{type:s})},r,e)},arrayBuffer(){return ca(this,n=>new Uint8Array(n).buffer,r,e)},text(){return ca(this,P$,r,e)},json(){return ca(this,j$,r,e)},formData(){return ca(this,n=>{let s=g1(e(this));if(s!==null)switch(s.essence){case"multipart/form-data":{let i=O$(n,s),o=new f1;return M$(o,i),o}case"application/x-www-form-urlencoded":{let i=new URLSearchParams(n.toString()),o=new f1;for(let[a,A]of i)o.append(a,A);return o}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},r,e)},bytes(){return ca(this,n=>new Uint8Array(n),r,e)}}}function W$(r,e){Object.assign(r.prototype,H$(r,e))}function ca(r,e,t,n){try{Zr.brandCheck(r,t)}catch(a){return Promise.reject(a)}if(r=n(r),y1(r))return Promise.reject(new TypeError("Body is unusable: Body has already been read"));let s=U$(),i=s.reject,o=a=>{try{s.resolve(e(a))}catch(A){i(A)}};return r.body==null?(o(Buffer.allocUnsafe(0)),s.promise):(T$(r.body,o,i),s.promise)}function y1(r){let e=r.body;return e!=null&&(e.stream.locked||Im.isDisturbed(e.stream))}function g1(r){let e=r.headersList,t=N$(e);return t==="failure"?null:t}E1.exports={extractBody:p1,safelyExtractBody:G$,cloneBody:V$,mixinBody:W$,streamRegistry:q$,bodyUnusable:y1}});var N1=g((gpe,T1)=>{"use strict";var ne=S("node:assert"),$=ue(),{channels:I1}=Ks(),mm=eI(),{RequestContentLengthMismatchError:_i,ResponseContentLengthMismatchError:m1,RequestAbortedError:k1,InvalidArgumentError:z$,HeadersTimeoutError:Z$,HeadersOverflowError:X$,SocketError:Ji,InformationalError:da,BodyTimeoutError:$$,HTTPParserError:e6,ResponseExceededMaxSizeError:t6}=le(),{kUrl:R1,kReset:zt,kClient:xh,kParser:Ge,kBlocking:ZA,kRunning:lt,kPending:Dm,kSize:C1,kWriting:Os,kQueue:Xr,kNoRef:WA,kKeepAliveDefaultTimeout:r6,kHostHeader:n6,kPendingIdx:s6,kRunningIdx:Fr,kError:jt,kPipelining:Rh,kSocket:qi,kKeepAliveTimeoutValue:Th,kMaxHeadersSize:i6,kKeepAliveMaxTimeout:o6,kKeepAliveTimeoutThreshold:a6,kHeadersTimeout:A6,kBodyTimeout:l6,kStrictContentLength:Qm,kMaxRequests:b1,kCounter:c6,kMaxResponseSize:u6,kOnError:Q1,kResume:Zn,kHTTPContext:v1,kClosed:Bm}=Ke(),pr=EK(),B1=Buffer.alloc(0),Dh=Buffer[Symbol.species],d6=$.removeAllListeners,Gi=Symbol("kIdleSocketValidation"),Yi=Symbol("kIdleSocketValidationTimeout"),km=Symbol("kSocketUsed"),Cm;function h6(){let r=process.env.JEST_WORKER_ID?VI():void 0,e,t=process.arch!=="ppc64";if(process.env.UNDICI_NO_WASM_SIMD==="1"?t=!1:process.env.UNDICI_NO_WASM_SIMD==="0"&&(t=!0),t)try{e=new WebAssembly.Module(CK())}catch{}return e||(e=new WebAssembly.Module(r||VI())),new WebAssembly.Instance(e,{env:{wasm_on_url:(n,s,i)=>0,wasm_on_status:(n,s,i)=>{ne(tt.ptr===n);let o=s-En+yn.byteOffset;return tt.onStatus(new Dh(yn.buffer,o,i))},wasm_on_message_begin:n=>(ne(tt.ptr===n),tt.onMessageBegin()),wasm_on_header_field:(n,s,i)=>{ne(tt.ptr===n);let o=s-En+yn.byteOffset;return tt.onHeaderField(new Dh(yn.buffer,o,i))},wasm_on_header_value:(n,s,i)=>{ne(tt.ptr===n);let o=s-En+yn.byteOffset;return tt.onHeaderValue(new Dh(yn.buffer,o,i))},wasm_on_headers_complete:(n,s,i,o)=>(ne(tt.ptr===n),tt.onHeadersComplete(s,i===1,o===1)),wasm_on_body:(n,s,i)=>{ne(tt.ptr===n);let o=s-En+yn.byteOffset;return tt.onBody(new Dh(yn.buffer,o,i))},wasm_on_message_complete:n=>(ne(tt.ptr===n),tt.onMessageComplete())}})}var bm=null,tt=null,yn=null,kh=0,En=null,f6=0,zA=1,ha=2|zA,vh=4|zA,Sm=8|f6,wm=class{constructor(e,t,{exports:n}){this.llhttp=n,this.ptr=this.llhttp.llhttp_alloc(pr.TYPE.RESPONSE),this.client=e,this.socket=t,this.timeout=null,this.timeoutWeakRef=new WeakRef(this),this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=e[i6],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=e[u6]}setTimeout(e,t){e!==this.timeoutValue||t&zA^this.timeoutType&zA?(this.timeout&&(mm.clearTimeout(this.timeout),this.timeout=null),e&&(t&zA?this.timeout=mm.setFastTimeout(S1,e,this.timeoutWeakRef):(this.timeout=setTimeout(S1,e,this.timeoutWeakRef),this.timeout?.unref())),this.timeoutValue=e):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=t}resume(){this.socket.destroyed||!this.paused||(ne(this.ptr!=null),ne(tt===null),this.llhttp.llhttp_resume(this.ptr),ne(this.timeoutType===vh),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||B1),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let e=this.socket.read();if(e===null)break;this.execute(e)}}execute(e){ne(tt===null),ne(this.ptr!=null),ne(!this.paused);let{socket:t,llhttp:n}=this;e.length>kh&&(En&&n.free(En),kh=Math.ceil(e.length/4096)*4096,En=n.malloc(kh)),new Uint8Array(n.memory.buffer,En,kh).set(e);try{let s;try{yn=e,tt=this,s=n.llhttp_execute(this.ptr,En,e.length)}finally{tt=null,yn=null}if(s!==pr.ERROR.OK){let i=e.subarray(n.llhttp_get_error_pos(this.ptr)-En);if(s===pr.ERROR.PAUSED_UPGRADE)this.onUpgrade(i);else if(s===pr.ERROR.PAUSED)this.paused=!0,t.unshift(i);else throw this.createError(s,i)}}catch(s){$.destroy(t,s)}}finish(){ne(tt===null),ne(this.ptr!=null),ne(!this.paused);let{llhttp:e}=this,t;try{tt=this,t=e.llhttp_finish(this.ptr)}finally{tt=null}return t===pr.ERROR.OK?null:t===pr.ERROR.PAUSED||t===pr.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(t,B1)}createError(e,t){let{llhttp:n,contentLength:s,bytesRead:i}=this;if(s&&i!==parseInt(s,10))return new m1;let o=n.llhttp_get_error_reason(this.ptr),a="";if(o){let A=new Uint8Array(n.memory.buffer,o).indexOf(0);a="Response does not match the HTTP/1.1 protocol ("+Buffer.from(n.memory.buffer,o,A).toString()+")"}return new e6(a,pr.ERROR[e],t)}destroy(){ne(tt===null),ne(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&mm.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(e){return this.statusText=e.toString(),0}onMessageBegin(){let{socket:e,client:t}=this;if(e.destroyed)return-1;if(t[lt]===0)return $.destroy(e,new Ji("bad response",$.getSocketInfo(e))),-1;let n=t[Xr][t[Fr]];return n?(n.onResponseStarted(),0):-1}onHeaderField(e){let t=this.headers.length;return(t&1)===0?this.headers.push(e):this.headers[t-1]=Buffer.concat([this.headers[t-1],e]),this.trackHeader(e.length),0}onHeaderValue(e){let t=this.headers.length;(t&1)===1?(this.headers.push(e),t+=1):this.headers[t-1]=Buffer.concat([this.headers[t-1],e]);let n=this.headers[t-2];if(n.length===10){let s=$.bufferToLowerCasedHeaderName(n);s==="keep-alive"?this.keepAlive+=e.toString():s==="connection"&&(this.connection+=e.toString())}else n.length===14&&$.bufferToLowerCasedHeaderName(n)==="content-length"&&(this.contentLength+=e.toString());return this.trackHeader(e.length),0}trackHeader(e){this.headersSize+=e,this.headersSize>=this.headersMaxSize&&$.destroy(this.socket,new X$)}onUpgrade(e){let{upgrade:t,client:n,socket:s,headers:i,statusCode:o}=this;ne(t),ne(n[qi]===s),ne(!s.destroyed),ne(!this.paused),ne((i.length&1)===0);let a=n[Xr][n[Fr]];ne(a),ne(a.upgrade||a.method==="CONNECT"),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,s.unshift(e),s[Ge].destroy(),s[Ge]=null,s[xh]=null,s[jt]=null,d6(s),n[qi]=null,n[v1]=null,n[Xr][n[Fr]++]=null,n.emit("disconnect",n[R1],[n],new da("upgrade"));try{a.onUpgrade(o,i,s)}catch(A){$.destroy(s,A)}n[Zn]()}onHeadersComplete(e,t,n){let{client:s,socket:i,headers:o,statusText:a}=this;if(i.destroyed)return-1;if(s[lt]===0)return $.destroy(i,new Ji("bad response",$.getSocketInfo(i))),-1;let A=s[Xr][s[Fr]];if(!A)return-1;if(ne(!this.upgrade),ne(this.statusCode<200),e===100)return $.destroy(i,new Ji("bad response",$.getSocketInfo(i))),-1;if(t&&!A.upgrade)return $.destroy(i,new Ji("bad upgrade",$.getSocketInfo(i))),-1;if(ne(this.timeoutType===ha),this.statusCode=e,this.shouldKeepAlive=n||A.method==="HEAD"&&!i[zt]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let c=A.bodyTimeout!=null?A.bodyTimeout:s[l6];this.setTimeout(c,vh)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(A.method==="CONNECT")return ne(s[lt]===1),this.upgrade=!0,2;if(t)return ne(s[lt]===1),this.upgrade=!0,2;if(ne((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&s[Rh]){let c=this.keepAlive?$.parseKeepAliveTimeout(this.keepAlive):null;if(c!=null){let u=Math.min(c-s[a6],s[o6]);u<=0?i[zt]=!0:s[Th]=u}else s[Th]=s[r6]}else i[zt]=!0;let l=A.onHeaders(e,o,this.resume,a)===!1;return A.aborted?-1:A.method==="HEAD"||e<200?1:(i[ZA]&&(i[ZA]=!1,s[Zn]()),l?pr.ERROR.PAUSED:0)}onBody(e){let{client:t,socket:n,statusCode:s,maxResponseSize:i}=this;if(n.destroyed)return-1;let o=t[Xr][t[Fr]];return ne(o),ne(this.timeoutType===vh),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),ne(s>=200),i>-1&&this.bytesRead+e.length>i?($.destroy(n,new t6),-1):(this.bytesRead+=e.length,o.onData(e)===!1?pr.ERROR.PAUSED:0)}onMessageComplete(){let{client:e,socket:t,statusCode:n,upgrade:s,headers:i,contentLength:o,bytesRead:a,shouldKeepAlive:A}=this;if(t.destroyed&&(!n||A))return-1;if(s)return 0;ne(n>=100),ne((this.headers.length&1)===0);let l=e[Xr][e[Fr]];if(ne(l),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,n<200)return 0;if(l.method!=="HEAD"&&o&&a!==parseInt(o,10))return $.destroy(t,new m1),-1;if(l.onComplete(i),e[Xr][e[Fr]++]=null,t[km]=e[Dm]===0,t[Os])return ne(e[lt]===0),$.destroy(t,new da("reset")),pr.ERROR.PAUSED;if(A){if(t[zt]&&e[lt]===0)return $.destroy(t,new da("reset")),pr.ERROR.PAUSED;e[Rh]==null||e[Rh]===1?setImmediate(e[Zn]):e[Zn]()}else return $.destroy(t,new da("reset")),pr.ERROR.PAUSED;return 0}};function S1(r){let e=r.deref();if(!e)return;let{socket:t,timeoutType:n,client:s,paused:i}=e;n===ha?(!t[Os]||t.writableNeedDrain||s[lt]>1)&&(ne(!i,"cannot be paused while waiting for headers"),$.destroy(t,new Z$)):n===vh?i||$.destroy(t,new $$):n===Sm&&(ne(s[lt]===0&&s[Th]),$.destroy(t,new da("socket idle timeout")))}function g6(r,e){if(r[qi]=e,bm||(bm=h6()),e.errored)throw e.errored;if(e.destroyed)throw new Ji("destroyed");return e[WA]=!1,e[Os]=!1,e[zt]=!1,e[ZA]=!1,e[Gi]=0,e[Yi]=null,e[km]=!1,e[Ge]=new wm(r,e,bm),$.addListener(e,"error",p6),$.addListener(e,"readable",y6),$.addListener(e,"end",E6),$.addListener(e,"close",I6),e[Bm]=!1,e.on("close",m6),{version:"h1",defaultPipelining:1,write(t){return B6(r,t)},resume(){b6(r)},destroy(t,n){e[Bm]?queueMicrotask(n):(e.on("close",n),e.destroy(t))},get destroyed(){return e.destroyed},busy(t){return!!(e[Os]||e[zt]||e[ZA]||e[Gi]===1||t&&(r[lt]>0&&!t.idempotent||r[lt]>0&&(t.upgrade||t.method==="CONNECT")||r[lt]>0&&$.bodyLength(t.body)!==0&&($.isStream(t.body)||$.isAsyncIterable(t.body)||$.isFormDataLike(t.body))))}}}function p6(r){ne(r.code!=="ERR_TLS_CERT_ALTNAME_INVALID");let e=this[Ge];if(r.code==="ECONNRESET"&&e.statusCode&&!e.shouldKeepAlive){let t=e.finish();t&&(this[jt]=t,this[xh][Q1](t));return}this[jt]=r,this[xh][Q1](r)}function y6(){this[Ge]?.readMore()}function E6(){let r=this[Ge];if(r.statusCode&&!r.shouldKeepAlive){let e=r.finish();e&&$.destroy(this,e);return}$.destroy(this,new Ji("other side closed",$.getSocketInfo(this)))}function I6(){let r=this[Ge];x1(this),r&&(!this[jt]&&r.statusCode&&!r.shouldKeepAlive&&(this[jt]=r.finish()||this[jt]),this[Ge].destroy(),this[Ge]=null);let e=this[jt]||new Ji("closed",$.getSocketInfo(this)),t=this[xh];if(t[qi]=null,t[v1]=null,t.destroyed){ne(t[Dm]===0);let n=t[Xr].splice(t[Fr]);for(let s=0;s<n.length;s++){let i=n[s];$.errorRequest(t,i,e)}}else if(t[lt]>0&&e.code!=="UND_ERR_INFO"){let n=t[Xr][t[Fr]];t[Xr][t[Fr]++]=null,$.errorRequest(t,n,e)}t[s6]=t[Fr],ne(t[lt]===0),t.emit("disconnect",t[R1],[t],e),t[Zn]()}function m6(){this[Bm]=!0}function x1(r){r[Yi]&&(clearTimeout(r[Yi]),r[Yi]=null),r[Gi]=0}function C6(r,e){e[Gi]=1,e[Yi]=setTimeout(()=>{e[Yi]=null,e[Gi]=2,r[qi]===e&&!e.destroyed&&r[Zn]()},0),e[Yi].unref?.()}function b6(r){let e=r[qi];if(e&&!e.destroyed){if(r[C1]===0?!e[WA]&&e.unref&&(e.unref(),e[WA]=!0):e[WA]&&e.ref&&(e.ref(),e[WA]=!1),r[lt]===0&&r[Dm]>0&&e[km]){if(e[Gi]===0)return C6(r,e),e[Ge].readMore(),e.destroyed,void 0;if(e[Gi]===1)return e[Ge].readMore(),e.destroyed,void 0}if(r[lt]===0&&(e[Ge].readMore(),e.destroyed))return;if(r[C1]===0)e[Ge].timeoutType!==Sm&&e[Ge].setTimeout(r[Th],Sm);else if(r[lt]>0&&e[Ge].statusCode<200&&e[Ge].timeoutType!==ha){let t=r[Xr][r[Fr]],n=t.headersTimeout!=null?t.headersTimeout:r[A6];e[Ge].setTimeout(n,ha)}}}function Q6(r){return r!=="GET"&&r!=="HEAD"&&r!=="OPTIONS"&&r!=="TRACE"&&r!=="CONNECT"}function B6(r,e){let{method:t,path:n,host:s,upgrade:i,blocking:o,reset:a}=e,{body:A,headers:l,contentLength:c}=e,u=t==="PUT"||t==="POST"||t==="PATCH"||t==="QUERY"||t==="PROPFIND"||t==="PROPPATCH";if($.isFormDataLike(A)){Cm||(Cm=ua().extractBody);let[I,y]=Cm(A);e.contentType==null&&l.push("content-type",y),A=I.stream,c=I.length}else if($.isBlobLike(A)&&e.contentType==null){let I=A.type;if(I){let y=`${I}`;if(!$.isValidHeaderValue(y))return $.errorRequest(r,e,new z$("invalid content-type header")),!1;l.push("content-type",y)}}A&&typeof A.read=="function"&&A.read(0);let d=$.bodyLength(A);if(c=d??c,c===null&&(c=e.contentLength),c===0&&!u&&(c=null),Q6(t)&&c>0&&e.contentLength!==null&&e.contentLength!==c){if(r[Qm])return $.errorRequest(r,e,new _i),!1;process.emitWarning(new _i)}let h=r[qi];x1(h);let f=I=>{e.aborted||e.completed||($.errorRequest(r,e,I||new k1),$.destroy(A),$.destroy(h,new da("aborted")))};try{e.onConnect(f)}catch(I){$.errorRequest(r,e,I)}if(e.aborted)return!1;t==="HEAD"&&(h[zt]=!0),(i||t==="CONNECT")&&(h[zt]=!0),a!=null&&(h[zt]=a),r[b1]&&h[c6]++>=r[b1]&&(h[zt]=!0),o&&(h[ZA]=!0),h.setTypeOfService&&h.setTypeOfService(e.typeOfService);let p=`${t} ${n} HTTP/1.1\r
|
|
8924
|
+
`;if(typeof s=="string"?p+=`host: ${s}\r
|
|
8925
|
+
`:p+=r[n6],i?p+=`connection: upgrade\r
|
|
8926
|
+
upgrade: ${i}\r
|
|
8927
|
+
`:r[Rh]&&!h[zt]?p+=`connection: keep-alive\r
|
|
8928
|
+
`:p+=`connection: close\r
|
|
8929
|
+
`,Array.isArray(l))for(let I=0;I<l.length;I+=2){let y=l[I+0],m=l[I+1];if(Array.isArray(m))for(let w=0;w<m.length;w++)p+=`${y}: ${m[w]}\r
|
|
8930
|
+
`;else p+=`${y}: ${m}\r
|
|
8931
|
+
`}return I1.sendHeaders.hasSubscribers&&I1.sendHeaders.publish({request:e,headers:p,socket:h}),!A||d===0?w1(f,null,r,e,h,c,p,u):$.isBuffer(A)?w1(f,A,r,e,h,c,p,u):$.isBlobLike(A)?typeof A.stream=="function"?D1(f,A.stream(),r,e,h,c,p,u):w6(f,A,r,e,h,c,p,u):$.isStream(A)?S6(f,A,r,e,h,c,p,u):$.isIterable(A)?D1(f,A,r,e,h,c,p,u):ne(!1),!0}function S6(r,e,t,n,s,i,o,a){ne(i!==0||t[lt]===0,"stream body cannot be pipelined");let A=!1,l=new Nh({abort:r,socket:s,request:n,contentLength:i,client:t,expectsPayload:a,header:o}),c=function(f){if(!A)try{!l.write(f)&&this.pause&&this.pause()}catch(p){$.destroy(this,p)}},u=function(){A||e.resume&&e.resume()},d=function(){if(queueMicrotask(()=>{e.removeListener("error",h)}),!A){let f=new k1;queueMicrotask(()=>h(f))}},h=function(f){if(!A){if(A=!0,ne(s.destroyed||s[Os]&&t[lt]<=1),s.off("drain",u).off("error",h),e.removeListener("data",c).removeListener("end",h).removeListener("close",d),!f)try{l.end()}catch(p){f=p}l.destroy(f),f&&(f.code!=="UND_ERR_INFO"||f.message!=="reset")?$.destroy(e,f):$.destroy(e)}};e.on("data",c).on("end",h).on("error",h).on("close",d),e.resume&&e.resume(),s.on("drain",u).on("error",h),e.errorEmitted??e.errored?setImmediate(h,e.errored):(e.endEmitted??e.readableEnded)&&setImmediate(h,null),(e.closeEmitted??e.closed)&&setImmediate(d)}function w1(r,e,t,n,s,i,o,a){try{e?$.isBuffer(e)&&(ne(i===e.byteLength,"buffer body must have content length"),s.cork(),s.write(`${o}content-length: ${i}\r
|
|
8932
|
+
\r
|
|
8933
|
+
`,"latin1"),s.write(e),s.uncork(),n.onBodySent(e),!a&&n.reset!==!1&&(s[zt]=!0)):i===0?s.write(`${o}content-length: 0\r
|
|
8934
|
+
\r
|
|
8935
|
+
`,"latin1"):(ne(i===null,"no body must not have content length"),s.write(`${o}\r
|
|
8936
|
+
`,"latin1")),n.onRequestSent(),t[Zn]()}catch(A){r(A)}}async function w6(r,e,t,n,s,i,o,a){ne(i===e.size,"blob body must have content length");try{if(i!=null&&i!==e.size)throw new _i;let A=Buffer.from(await e.arrayBuffer());s.cork(),s.write(`${o}content-length: ${i}\r
|
|
8937
|
+
\r
|
|
8938
|
+
`,"latin1"),s.write(A),s.uncork(),n.onBodySent(A),n.onRequestSent(),!a&&n.reset!==!1&&(s[zt]=!0),t[Zn]()}catch(A){r(A)}}async function D1(r,e,t,n,s,i,o,a){ne(i!==0||t[lt]===0,"iterator body cannot be pipelined");let A=null;function l(){if(A){let d=A;A=null,d()}}let c=()=>new Promise((d,h)=>{ne(A===null),s[jt]?h(s[jt]):A=d});s.on("close",l).on("drain",l);let u=new Nh({abort:r,socket:s,request:n,contentLength:i,client:t,expectsPayload:a,header:o});try{for await(let d of e){if(s[jt])throw s[jt];u.write(d)||await c()}u.end()}catch(d){u.destroy(d)}finally{s.off("close",l).off("drain",l)}}var Nh=class{constructor({abort:e,socket:t,request:n,contentLength:s,client:i,expectsPayload:o,header:a}){this.socket=t,this.request=n,this.contentLength=s,this.client=i,this.bytesWritten=0,this.expectsPayload=o,this.header=a,this.abort=e,t[Os]=!0}write(e){let{socket:t,request:n,contentLength:s,client:i,bytesWritten:o,expectsPayload:a,header:A}=this;if(t[jt])throw t[jt];if(t.destroyed)return!1;let l=Buffer.byteLength(e);if(!l)return!0;if(s!==null&&o+l>s){if(i[Qm])throw new _i;process.emitWarning(new _i)}t.cork(),o===0&&(!a&&n.reset!==!1&&(t[zt]=!0),s===null?t.write(`${A}transfer-encoding: chunked\r
|
|
8939
|
+
`,"latin1"):t.write(`${A}content-length: ${s}\r
|
|
8940
|
+
\r
|
|
8941
|
+
`,"latin1")),s===null&&t.write(`\r
|
|
8942
|
+
${l.toString(16)}\r
|
|
8943
|
+
`,"latin1"),this.bytesWritten+=l;let c=t.write(e);return t.uncork(),n.onBodySent(e),c||t[Ge].timeout&&t[Ge].timeoutType===ha&&t[Ge].timeout.refresh&&t[Ge].timeout.refresh(),c}end(){let{socket:e,contentLength:t,client:n,bytesWritten:s,expectsPayload:i,header:o,request:a}=this;if(a.onRequestSent(),e[Os]=!1,e[jt])throw e[jt];if(!e.destroyed){if(s===0?i?e.write(`${o}content-length: 0\r
|
|
8944
|
+
\r
|
|
8945
|
+
`,"latin1"):e.write(`${o}\r
|
|
8946
|
+
`,"latin1"):t===null&&e.write(`\r
|
|
8947
|
+
0\r
|
|
8948
|
+
\r
|
|
8949
|
+
`,"latin1"),t!==null&&s!==t){if(n[Qm])throw new _i;process.emitWarning(new _i)}e[Ge].timeout&&e[Ge].timeoutType===ha&&e[Ge].timeout.refresh&&e[Ge].timeout.refresh(),n[Zn]()}}destroy(e){let{socket:t,client:n,abort:s}=this;t[Os]=!1,e&&(ne(n[lt]<=1,"pipeline should only contain this request"),s(e))}};T1.exports=g6});var _1=g((ppe,P1)=>{"use strict";var Or=S("node:assert"),{pipeline:D6}=S("node:stream"),ye=ue(),{RequestContentLengthMismatchError:Tm,RequestAbortedError:k6,SocketError:tl,InformationalError:Us,InvalidArgumentError:R6}=le(),{kUrl:el,kReset:Lh,kClient:yr,kRunning:rl,kPending:v6,kQueue:js,kPendingIdx:Mm,kRunningIdx:$r,kError:Er,kSocket:Xe,kStrictContentLength:x6,kOnError:fa,kMaxConcurrentStreams:Kh,kPingInterval:M1,kHTTP2Session:Xn,kHTTP2InitialWindowSize:T6,kHTTP2ConnectionWindowSize:N6,kResume:In,kSize:M6,kHTTPContext:Km,kClosed:Nm,kBodyTimeout:K6,kEnableConnectProtocol:XA,kRemoteSettings:$A,kHTTP2Stream:Mh,kHTTP2SessionState:Fm}=Ke(),{channels:K1}=Ks(),Lr=Symbol("open streams"),F1,Fh;try{Fh=S("node:http2")}catch{Fh={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:F6,HTTP2_HEADER_METHOD:L1,HTTP2_HEADER_PATH:O1,HTTP2_HEADER_SCHEME:Rm,HTTP2_HEADER_CONTENT_LENGTH:L6,HTTP2_HEADER_EXPECT:O6,HTTP2_HEADER_STATUS:vm,HTTP2_HEADER_PROTOCOL:U6,NGHTTP2_REFUSED_STREAM:j6,NGHTTP2_CANCEL:P6}}=Fh;function xm(r){let e=[];for(let[t,n]of Object.entries(r))if(Array.isArray(n))for(let s of n)e.push(Buffer.from(t),Buffer.from(s));else e.push(Buffer.from(t),Buffer.from(n));return e}function _6(r,e){r[Xe]=e;let t=r[T6],n=r[N6],s=Fh.connect(r[el],{createConnection:()=>e,peerMaxConcurrentStreams:r[Kh],settings:{enablePush:!1,...t!=null?{initialWindowSize:t}:null}});return r[Xe]=e,s[Lr]=0,s[yr]=r,s[Xe]=e,s[Fm]={ping:{interval:r[M1]===0?null:setInterval(G6,r[M1],s).unref()}},s[XA]=!1,s[$A]=!1,n&&ye.addListener(s,"connect",Y6.bind(s,n)),ye.addListener(s,"error",V6),ye.addListener(s,"frameError",H6),ye.addListener(s,"end",W6),ye.addListener(s,"goaway",z6),ye.addListener(s,"close",Z6),ye.addListener(s,"remoteSettings",q6),s.unref(),r[Xn]=s,e[Xn]=s,ye.addListener(e,"error",$6),ye.addListener(e,"end",e7),ye.addListener(e,"close",X6),e[Nm]=!1,e.on("close",t7),{version:"h2",defaultPipelining:1/0,write(i){return n7(r,i)},resume(){J6(r)},destroy(i,o){e[Nm]?queueMicrotask(o):e.destroy(i).on("close",o)},get destroyed(){return e.destroyed},busy(i){if(i!=null)if(r[rl]>0){if(i.idempotent===!1||(i.upgrade==="websocket"||i.method==="CONNECT")&&s[$A]===!1||ye.bodyLength(i.body)!==0&&(ye.isStream(i.body)||ye.isAsyncIterable(i.body)||ye.isFormDataLike(i.body)))return!0}else return(i.upgrade==="websocket"||i.method==="CONNECT")&&s[$A]===!1;return!1}}}function J6(r){let e=r[Xe];e?.destroyed===!1&&(r[M6]===0||r[Kh]===0?(e.unref(),r[Xn].unref()):(e.ref(),r[Xn].ref()))}function Y6(r){try{typeof this.setLocalWindowSize=="function"&&this.setLocalWindowSize(r)}catch{}}function q6(r){if(this[yr][Kh]=r.maxConcurrentStreams??this[yr][Kh],this[$A]===!0&&this[XA]===!0&&r.enableConnectProtocol===!1){let e=new Us("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");this[Xe][Er]=e,this[yr][fa](e);return}this[XA]=r.enableConnectProtocol??this[XA],this[$A]=!0,this[yr][In]()}function G6(r){let e=r[Fm];if((r.closed||r.destroyed)&&e.ping.interval!=null){clearInterval(e.ping.interval),e.ping.interval=null;return}r.ping(t.bind(r));function t(n,s){let i=this[yr],o=this[yr];if(n!=null){let a=new Us(`HTTP/2: "PING" errored - type ${n.message}`);o[Er]=a,i[fa](a)}else i.emit("ping",s)}}function V6(r){Or(r.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Xe][Er]=r,this[yr][fa](r)}function H6(r,e,t){if(t===0){let n=new Us(`HTTP/2: "frameError" received - type ${r}, code ${e}`);this[Xe][Er]=n,this[yr][fa](n)}}function W6(){let r=new tl("other side closed",ye.getSocketInfo(this[Xe]));this.destroy(r),ye.destroy(this[Xe],r)}function z6(r){let e=this[Er]||new tl(`HTTP/2: "GOAWAY" frame received with code ${r}`,ye.getSocketInfo(this[Xe])),t=this[yr];if(t[Xe]=null,t[Km]=null,this.close(),this[Xn]=null,ye.destroy(this[Xe],e),t[$r]<t[js].length){let n=t[js][t[$r]];t[js][t[$r]++]=null,ye.errorRequest(t,n,e),t[Mm]=t[$r]}Or(t[rl]===0),t.emit("disconnect",t[el],[t],e),t.emit("connectionError",t[el],[t],e),t[In]()}function Z6(){let{[yr]:r,[Fm]:e}=this,{[Xe]:t}=r,n=this[Xe][Er]||this[Er]||new tl("closed",ye.getSocketInfo(t));if(r[Xe]=null,r[Km]=null,e.ping.interval!=null&&(clearInterval(e.ping.interval),e.ping.interval=null),r.destroyed){Or(r[v6]===0);let s=r[js].splice(r[$r]);for(let i=0;i<s.length;i++){let o=s[i];ye.errorRequest(r,o,n)}}}function X6(){let r=this[Er]||new tl("closed",ye.getSocketInfo(this)),e=this[Xn][yr];e[Xe]=null,e[Km]=null,this[Xn]!==null&&this[Xn].destroy(r),e[Mm]=e[$r],Or(e[rl]===0),e.emit("disconnect",e[el],[e],r),e[In]()}function $6(r){Or(r.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Er]=r,this[yr][fa](r)}function e7(){ye.destroy(this,new tl("other side closed",ye.getSocketInfo(this)))}function t7(){this[Nm]=!0}function r7(r){return r!=="GET"&&r!=="HEAD"&&r!=="OPTIONS"&&r!=="TRACE"&&r!=="CONNECT"}function n7(r,e){let t=e.bodyTimeout??r[K6],n=r[Xn],{method:s,path:i,host:o,upgrade:a,expectContinue:A,signal:l,protocol:c,headers:u}=e,{body:d}=e;if(a!=null&&a!=="websocket")return ye.errorRequest(r,e,new R6(`Custom upgrade "${a}" not supported over HTTP/2`)),!1;let h={};for(let v=0;v<u.length;v+=2){let C=u[v+0],K=u[v+1];if(C==="cookie"){h[C]!=null?h[C]=Array.isArray(h[C])?(h[C].push(K),h[C]):[h[C],K]:h[C]=K;continue}if(Array.isArray(K))for(let O=0;O<K.length;O++)h[C]?h[C]+=`, ${K[O]}`:h[C]=K[O];else h[C]?h[C]+=`, ${K}`:h[C]=K}let f=null,{hostname:p,port:I}=r[el];h[F6]=o||`${p}${I?`:${I}`:""}`,h[L1]=s;let y=v=>{e.aborted||e.completed||(v=v||new k6,ye.errorRequest(r,e,v),f!=null&&(f.removeAllListeners("data"),f.close(),r[fa](v),r[In]()),ye.destroy(d,v))};try{e.onConnect(y)}catch(v){ye.errorRequest(r,e,v)}if(e.aborted)return!1;if(a||s==="CONNECT")return n.ref(),a==="websocket"?n[XA]===!1?(ye.errorRequest(r,e,new Us("HTTP/2: Extended CONNECT protocol not supported by server")),n.unref(),!1):(h[L1]="CONNECT",h[U6]="websocket",h[O1]=i,c==="ws:"||c==="wss:"?h[Rm]=c==="ws:"?"http":"https":h[Rm]=c==="http:"?"http":"https",f=n.request(h,{endStream:!1,signal:l}),f[Mh]=!0,f.once("response",(v,C)=>{let{[vm]:K,...O}=v;e.onUpgrade(K,xm(O),f),++n[Lr],r[js][r[$r]++]=null}),f.on("error",()=>{(f.rstCode===j6||f.rstCode===P6)&&y(new Us(`HTTP/2: "stream error" received - code ${f.rstCode}`))}),f.once("close",()=>{n[Lr]-=1,n[Lr]===0&&n.unref()}),f.setTimeout(t),!0):(f=n.request(h,{endStream:!1,signal:l}),f[Mh]=!0,f.on("response",v=>{let{[vm]:C,...K}=v;e.onUpgrade(C,xm(K),f),++n[Lr],r[js][r[$r]++]=null}),f.once("close",()=>{n[Lr]-=1,n[Lr]===0&&n.unref()}),f.setTimeout(t),!0);h[O1]=i,h[Rm]=c==="http:"?"http":"https";let m=s==="PUT"||s==="POST"||s==="PATCH";d&&typeof d.read=="function"&&d.read(0);let w=ye.bodyLength(d);if(ye.isFormDataLike(d)){F1??=ua().extractBody;let[v,C]=F1(d);h["content-type"]=C,d=v.stream,w=v.length}if(w==null&&(w=e.contentLength),m||(w=null),r7(s)&&w>0&&e.contentLength!=null&&e.contentLength!==w){if(r[x6])return ye.errorRequest(r,e,new Tm),!1;process.emitWarning(new Tm)}if(w!=null&&(Or(d||w===0,"no body must not have content length"),h[L6]=`${w}`),n.ref(),K1.sendHeaders.hasSubscribers){let v="";for(let C in h)v+=`${C}: ${h[C]}\r
|
|
8950
|
+
`;K1.sendHeaders.publish({request:e,headers:v,socket:n[Xe]})}let R=s==="GET"||s==="HEAD"||d===null;A?(h[O6]="100-continue",f=n.request(h,{endStream:R,signal:l}),f[Mh]=!0,f.once("continue",j)):(f=n.request(h,{endStream:R,signal:l}),f[Mh]=!0,j()),++n[Lr],f.setTimeout(t);let L=!1;return f.once("response",v=>{let{[vm]:C,...K}=v;if(e.onResponseStarted(),L=!0,e.aborted){f.removeAllListeners("data");return}e.onHeaders(Number(C),xm(K),f.resume.bind(f),"")===!1&&f.pause(),f.on("data",O=>{e.aborted||e.completed||e.onData(O)===!1&&f.pause()})}),f.once("end",()=>{f.removeAllListeners("data"),L?(!e.aborted&&!e.completed&&e.onComplete({}),r[js][r[$r]++]=null,r[In]()):(y(new Us("HTTP/2: stream half-closed (remote)")),r[js][r[$r]++]=null,r[Mm]=r[$r],r[In]())}),f.once("close",()=>{f.removeAllListeners("data"),n[Lr]-=1,n[Lr]===0&&n.unref()}),f.once("error",function(v){f.removeAllListeners("data"),y(v)}),f.once("frameError",(v,C)=>{f.removeAllListeners("data"),y(new Us(`HTTP/2: "frameError" received - type ${v}, code ${C}`))}),f.on("aborted",()=>{f.removeAllListeners("data")}),f.on("timeout",()=>{let v=new Us(`HTTP/2: "stream timeout after ${t}"`);f.removeAllListeners("data"),n[Lr]-=1,n[Lr]===0&&n.unref(),y(v)}),f.once("trailers",v=>{e.aborted||e.completed||(f.removeAllListeners("data"),e.onComplete(v))}),!0;function j(){!d||w===0?U1(y,f,null,r,e,r[Xe],w,m):ye.isBuffer(d)?U1(y,f,d,r,e,r[Xe],w,m):ye.isBlobLike(d)?typeof d.stream=="function"?j1(y,f,d.stream(),r,e,r[Xe],w,m):i7(y,f,d,r,e,r[Xe],w,m):ye.isStream(d)?s7(y,r[Xe],m,f,d,r,e,w):ye.isIterable(d)?j1(y,f,d,r,e,r[Xe],w,m):Or(!1)}}function U1(r,e,t,n,s,i,o,a){try{t!=null&&ye.isBuffer(t)&&(Or(o===t.byteLength,"buffer body must have content length"),e.cork(),e.write(t),e.uncork(),e.end(),s.onBodySent(t)),a||(i[Lh]=!0),s.onRequestSent(),n[In]()}catch(A){r(A)}}function s7(r,e,t,n,s,i,o,a){Or(a!==0||i[rl]===0,"stream body cannot be pipelined");let A=D6(s,n,c=>{c?(ye.destroy(A,c),r(c)):(ye.removeAllListeners(A),o.onRequestSent(),t||(e[Lh]=!0),i[In]())});ye.addListener(A,"data",l);function l(c){o.onBodySent(c)}}async function i7(r,e,t,n,s,i,o,a){Or(o===t.size,"blob body must have content length");try{if(o!=null&&o!==t.size)throw new Tm;let A=Buffer.from(await t.arrayBuffer());e.cork(),e.write(A),e.uncork(),e.end(),s.onBodySent(A),s.onRequestSent(),a||(i[Lh]=!0),n[In]()}catch(A){r(A)}}async function j1(r,e,t,n,s,i,o,a){Or(o!==0||n[rl]===0,"iterator body cannot be pipelined");let A=null;function l(){if(A){let u=A;A=null,u()}}let c=()=>new Promise((u,d)=>{Or(A===null),i[Er]?d(i[Er]):A=u});e.on("close",l).on("drain",l);try{for await(let u of t){if(i[Er])throw i[Er];let d=e.write(u);s.onBodySent(u),d||await c()}e.end(),s.onRequestSent(),a||(i[Lh]=!0),n[In]()}catch(u){r(u)}finally{e.off("close",l).off("drain",l)}}P1.exports=_6});var Ys=g((ype,z1)=>{"use strict";var $n=S("node:assert"),G1=S("node:net"),nl=S("node:http"),Vi=ue(),{ClientStats:o7}=RI(),{channels:ga}=Ks(),a7=oK(),A7=Li(),{InvalidArgumentError:Ve,InformationalError:l7,ClientDestroyedError:c7}=le(),u7=Oi(),{kUrl:mn,kServerName:Js,kClient:d7,kBusy:Om,kConnect:h7,kResuming:Hi,kRunning:al,kPending:Al,kSize:sl,kQueue:en,kConnected:f7,kConnecting:pa,kNeedDrain:_s,kKeepAliveDefaultTimeout:J1,kHostHeader:g7,kPendingIdx:tn,kRunningIdx:ts,kError:p7,kPipelining:Oh,kKeepAliveTimeoutValue:y7,kMaxHeadersSize:E7,kKeepAliveMaxTimeout:I7,kKeepAliveTimeoutThreshold:m7,kHeadersTimeout:C7,kBodyTimeout:b7,kStrictContentLength:Q7,kConnector:il,kMaxRequests:Um,kCounter:B7,kClose:S7,kDestroy:w7,kDispatch:D7,kLocalAddress:ol,kMaxResponseSize:k7,kOnError:R7,kHTTPContext:it,kMaxConcurrentStreams:v7,kHTTP2InitialWindowSize:x7,kHTTP2ConnectionWindowSize:T7,kResume:es,kPingInterval:N7}=Ke(),M7=N1(),K7=_1(),Ps=Symbol("kClosedResolve"),F7=nl&&nl.maxHeaderSize&&Number.isInteger(nl.maxHeaderSize)&&nl.maxHeaderSize>0?()=>nl.maxHeaderSize:()=>{throw new Ve("http module not available or http.maxHeaderSize invalid")},Y1=()=>{};function V1(r){return r[Oh]??r[it]?.defaultPipelining??1}var jm=class extends A7{constructor(e,{maxHeaderSize:t,headersTimeout:n,socketTimeout:s,requestTimeout:i,connectTimeout:o,bodyTimeout:a,idleTimeout:A,keepAlive:l,keepAliveTimeout:c,maxKeepAliveTimeout:u,keepAliveMaxTimeout:d,keepAliveTimeoutThreshold:h,socketPath:f,pipelining:p,tls:I,strictContentLength:y,maxCachedSessions:m,connect:w,maxRequestsPerClient:R,localAddress:L,maxResponseSize:j,autoSelectFamily:v,autoSelectFamilyAttemptTimeout:C,maxConcurrentStreams:K,allowH2:O,useH2c:U,initialWindowSize:x,connectionWindowSize:b,pingInterval:T,webSocket:M}={}){if(l!==void 0)throw new Ve("unsupported keepAlive, use pipelining=0 instead");if(s!==void 0)throw new Ve("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(i!==void 0)throw new Ve("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(A!==void 0)throw new Ve("unsupported idleTimeout, use keepAliveTimeout instead");if(u!==void 0)throw new Ve("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(t!=null){if(!Number.isInteger(t)||t<1)throw new Ve("invalid maxHeaderSize")}else t=F7();if(f!=null&&typeof f!="string")throw new Ve("invalid socketPath");if(o!=null&&(!Number.isFinite(o)||o<0))throw new Ve("invalid connectTimeout");if(c!=null&&(!Number.isFinite(c)||c<=0))throw new Ve("invalid keepAliveTimeout");if(d!=null&&(!Number.isFinite(d)||d<=0))throw new Ve("invalid keepAliveMaxTimeout");if(h!=null&&!Number.isFinite(h))throw new Ve("invalid keepAliveTimeoutThreshold");if(n!=null&&(!Number.isInteger(n)||n<0))throw new Ve("headersTimeout must be a positive integer or zero");if(a!=null&&(!Number.isInteger(a)||a<0))throw new Ve("bodyTimeout must be a positive integer or zero");if(w!=null&&typeof w!="function"&&typeof w!="object")throw new Ve("connect must be a function or an object");if(R!=null&&(!Number.isInteger(R)||R<0))throw new Ve("maxRequestsPerClient must be a positive number");if(L!=null&&(typeof L!="string"||G1.isIP(L)===0))throw new Ve("localAddress must be valid string IP address");if(j!=null&&(!Number.isInteger(j)||j<-1))throw new Ve("maxResponseSize must be a positive number");if(C!=null&&(!Number.isInteger(C)||C<-1))throw new Ve("autoSelectFamilyAttemptTimeout must be a positive number");if(O!=null&&typeof O!="boolean")throw new Ve("allowH2 must be a valid boolean value");if(K!=null&&(typeof K!="number"||K<1))throw new Ve("maxConcurrentStreams must be a positive integer, greater than 0");if(U!=null&&typeof U!="boolean")throw new Ve("useH2c must be a valid boolean value");if(x!=null&&(!Number.isInteger(x)||x<1))throw new Ve("initialWindowSize must be a positive integer, greater than 0");if(b!=null&&(!Number.isInteger(b)||b<1))throw new Ve("connectionWindowSize must be a positive integer, greater than 0");if(T!=null&&(typeof T!="number"||!Number.isInteger(T)||T<0))throw new Ve("pingInterval must be a positive integer, greater or equal to 0");if(super({webSocket:M}),typeof w!="function")w=u7({...I,maxCachedSessions:m,allowH2:O,useH2c:U,socketPath:f,timeout:o,...typeof v=="boolean"?{autoSelectFamily:v,autoSelectFamilyAttemptTimeout:C}:void 0,...w});else{let N=w;w=(F,W)=>N({...F,...f!=null?{socketPath:f}:null,...O!=null?{allowH2:O}:null},W)}this[mn]=Vi.parseOrigin(e),this[il]=w,this[Oh]=p??1,this[E7]=t,this[J1]=c??4e3,this[I7]=d??6e5,this[m7]=h??2e3,this[y7]=this[J1],this[Js]=null,this[ol]=L??null,this[Hi]=0,this[_s]=0,this[g7]=`host: ${this[mn].hostname}${this[mn].port?`:${this[mn].port}`:""}\r
|
|
8951
|
+
`,this[b7]=a??3e5,this[C7]=n??3e5,this[Q7]=y??!0,this[Um]=R,this[Ps]=null,this[k7]=j>-1?j:-1,this[it]=null,this[v7]=K??100,this[x7]=x??262144,this[T7]=b??524288,this[N7]=T??6e4,this[en]=[],this[ts]=0,this[tn]=0,this[es]=N=>Pm(this,N),this[R7]=N=>H1(this,N)}get pipelining(){return this[Oh]}set pipelining(e){this[Oh]=e,this[es](!0)}get stats(){return new o7(this)}get[Al](){return this[en].length-this[tn]}get[al](){return this[tn]-this[ts]}get[sl](){return this[en].length-this[ts]}get[f7](){return!!this[it]&&!this[pa]&&!this[it].destroyed}get[Om](){return!!(this[it]?.busy(null)||this[sl]>=(V1(this)||1)||this[Al]>0)}[h7](e){W1(this),this.once("connect",e)}[D7](e,t){let n=new a7(this[mn].origin,e,t);return this[en].push(n),this[Hi]||(Vi.bodyLength(n.body)==null&&Vi.isIterable(n.body)?(this[Hi]=1,queueMicrotask(()=>Pm(this))):this[es](!0)),this[Hi]&&this[_s]!==2&&this[Om]&&(this[_s]=2),this[_s]<2}[S7](){return new Promise(e=>{this[sl]?this[Ps]=e:e(null)})}[w7](e){return new Promise(t=>{let n=this[en].splice(this[tn]);for(let i=0;i<n.length;i++){let o=n[i];Vi.errorRequest(this,o,e)}let s=()=>{this[Ps]&&(this[Ps](),this[Ps]=null),t(null)};this[it]?(this[it].destroy(e,s),this[it]=null):queueMicrotask(s),this[es]()})}};function H1(r,e){if(r[al]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){$n(r[tn]===r[ts]);let t=r[en].splice(r[ts]);for(let n=0;n<t.length;n++){let s=t[n];Vi.errorRequest(r,s,e)}$n(r[sl]===0)}}function W1(r){$n(!r[pa]),$n(!r[it]);let{host:e,hostname:t,protocol:n,port:s}=r[mn];if(t[0]==="["){let i=t.indexOf("]");$n(i!==-1);let o=t.substring(1,i);$n(G1.isIPv6(o)),t=o}r[pa]=!0,ga.beforeConnect.hasSubscribers&&ga.beforeConnect.publish({connectParams:{host:e,hostname:t,protocol:n,port:s,version:r[it]?.version,servername:r[Js],localAddress:r[ol]},connector:r[il]});try{r[il]({host:e,hostname:t,protocol:n,port:s,servername:r[Js],localAddress:r[ol]},(i,o)=>{if(i){Lm(r,i,{host:e,hostname:t,protocol:n,port:s}),r[es]();return}if(r.destroyed){Vi.destroy(o.on("error",Y1),new c7),r[es]();return}$n(o);try{r[it]=o.alpnProtocol==="h2"?K7(r,o):M7(r,o)}catch(a){o.destroy().on("error",Y1),Lm(r,a,{host:e,hostname:t,protocol:n,port:s}),r[es]();return}r[pa]=!1,o[B7]=0,o[Um]=r[Um],o[d7]=r,o[p7]=null,ga.connected.hasSubscribers&&ga.connected.publish({connectParams:{host:e,hostname:t,protocol:n,port:s,version:r[it]?.version,servername:r[Js],localAddress:r[ol]},connector:r[il],socket:o}),r.emit("connect",r[mn],[r]),r[es]()})}catch(i){Lm(r,i,{host:e,hostname:t,protocol:n,port:s}),r[es]()}}function Lm(r,e,{host:t,hostname:n,protocol:s,port:i}){if(!r.destroyed){if(r[pa]=!1,ga.connectError.hasSubscribers&&ga.connectError.publish({connectParams:{host:t,hostname:n,protocol:s,port:i,version:r[it]?.version,servername:r[Js],localAddress:r[ol]},connector:r[il],error:e}),e.code==="ERR_TLS_CERT_ALTNAME_INVALID")for($n(r[al]===0);r[Al]>0&&r[en][r[tn]].servername===r[Js];){let o=r[en][r[tn]++];Vi.errorRequest(r,o,e)}else H1(r,e);r.emit("connectionError",r[mn],[r],e)}}function q1(r){r[_s]=0,r.emit("drain",r[mn],[r])}function Pm(r,e){r[Hi]!==2&&(r[Hi]=2,L7(r,e),r[Hi]=0,r[ts]>256&&(r[en].splice(0,r[ts]),r[tn]-=r[ts],r[ts]=0))}function L7(r,e){for(;;){if(r.destroyed){$n(r[Al]===0);return}if(r[Ps]&&!r[sl]){r[Ps](),r[Ps]=null;return}if(r[it]&&r[it].resume(),r[Om])r[_s]=2;else if(r[_s]===2){e?(r[_s]=1,queueMicrotask(()=>q1(r))):q1(r);continue}if(r[Al]===0||r[al]>=(V1(r)||1))return;let t=r[en][r[tn]];if(t===null)return;if(r[mn].protocol==="https:"&&r[Js]!==t.servername){if(r[al]>0)return;r[Js]=t.servername,r[it]?.destroy(new l7("servername changed"),()=>{r[it]=null,Pm(r)})}if(r[pa])return;if(!r[it]){W1(r);return}if(r[it].destroyed||r[it].busy(t))return;!t.aborted&&r[it].write(t)?r[tn]++:r[en].splice(r[tn],1)}}z1.exports=jm});var _m=g((Ipe,Z1)=>{"use strict";var Uh=class{bottom=0;top=0;list=new Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};Z1.exports=class{constructor(){this.head=this.tail=new Uh}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new Uh),this.head.push(e)}shift(){let e=this.tail,t=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next,e.next=null),t}}});var jh=g((mpe,oF)=>{"use strict";var{PoolStats:O7}=RI(),U7=Li(),j7=_m(),{kConnected:Jm,kSize:X1,kRunning:$1,kPending:eF,kQueued:ll,kBusy:P7,kFree:_7,kUrl:J7,kClose:Y7,kDestroy:q7,kDispatch:G7}=Ke(),It=Symbol("clients"),Pt=Symbol("needDrain"),cl=Symbol("queue"),Ym=Symbol("closed resolve"),qm=Symbol("onDrain"),tF=Symbol("onConnect"),rF=Symbol("onDisconnect"),nF=Symbol("onConnectionError"),Gm=Symbol("get dispatcher"),sF=Symbol("add client"),iF=Symbol("remove client"),Vm=class extends U7{[cl]=new j7;[ll]=0;[It]=[];[Pt]=!1;[qm](e,t,n){let s=this[cl],i=!1;for(;!i;){let o=s.shift();if(!o)break;this[ll]--,i=!e.dispatch(o.opts,o.handler)}if(e[Pt]=i,!i&&this[Pt]&&(this[Pt]=!1,this.emit("drain",t,[this,...n])),this[Ym]&&s.isEmpty()){let o=[];for(let a=0;a<this[It].length;a++){let A=this[It][a];A.destroyed||o.push(A.close())}return Promise.all(o).then(this[Ym])}}[tF]=(e,t)=>{this.emit("connect",e,[this,...t])};[rF]=(e,t,n)=>{this.emit("disconnect",e,[this,...t],n)};[nF]=(e,t,n)=>{this.emit("connectionError",e,[this,...t],n)};get[P7](){return this[Pt]}get[Jm](){let e=0;for(let{[Jm]:t}of this[It])e+=t;return e}get[_7](){let e=0;for(let{[Jm]:t,[Pt]:n}of this[It])e+=t&&!n;return e}get[eF](){let e=this[ll];for(let{[eF]:t}of this[It])e+=t;return e}get[$1](){let e=0;for(let{[$1]:t}of this[It])e+=t;return e}get[X1](){let e=this[ll];for(let{[X1]:t}of this[It])e+=t;return e}get stats(){return new O7(this)}[Y7](){if(this[cl].isEmpty()){let e=[];for(let t=0;t<this[It].length;t++){let n=this[It][t];n.destroyed||e.push(n.close())}return Promise.all(e)}else return new Promise(e=>{this[Ym]=e})}[q7](e){for(;;){let n=this[cl].shift();if(!n)break;n.handler.onError(e)}let t=new Array(this[It].length);for(let n=0;n<this[It].length;n++)t[n]=this[It][n].destroy(e);return Promise.all(t)}[G7](e,t){let n=this[Gm]();return n?n.dispatch(e,t)||(n[Pt]=!0,this[Pt]=!this[Gm]()):(this[Pt]=!0,this[cl].push({opts:e,handler:t}),this[ll]++),!this[Pt]}[sF](e){return e.on("drain",this[qm].bind(this,e)).on("connect",this[tF]).on("disconnect",this[rF]).on("connectionError",this[nF]),this[It].push(e),this[Pt]&&queueMicrotask(()=>{this[Pt]&&this[qm](e,e[J7],[e,this])}),this}[iF](e){e.close(()=>{let t=this[It].indexOf(e);t!==-1&&this[It].splice(t,1)}),this[Pt]=this[It].some(t=>!t[Pt]&&t.closed!==!0&&t.destroyed!==!0)}};oF.exports={PoolBase:Vm,kClients:It,kNeedDrain:Pt,kAddClient:sF,kRemoveClient:iF,kGetDispatcher:Gm}});var Wi=g((Cpe,cF)=>{"use strict";var{PoolBase:V7,kClients:Ph,kNeedDrain:H7,kAddClient:W7,kGetDispatcher:z7,kRemoveClient:Z7}=jh(),X7=Ys(),{InvalidArgumentError:Hm}=le(),aF=ue(),{kUrl:AF}=Ke(),$7=Oi(),_h=Symbol("options"),Wm=Symbol("connections"),lF=Symbol("factory");function eee(r,e){return new X7(r,e)}var zm=class extends V7{constructor(e,{connections:t,factory:n=eee,connect:s,connectTimeout:i,tls:o,maxCachedSessions:a,socketPath:A,autoSelectFamily:l,autoSelectFamilyAttemptTimeout:c,allowH2:u,clientTtl:d,...h}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new Hm("invalid connections");if(typeof n!="function")throw new Hm("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new Hm("connect must be a function or an object");typeof s!="function"&&(s=$7({...o,maxCachedSessions:a,allowH2:u,socketPath:A,timeout:i,...typeof l=="boolean"?{autoSelectFamily:l,autoSelectFamilyAttemptTimeout:c}:void 0,...s})),super(h),this[Wm]=t||null,this[AF]=aF.parseOrigin(e),this[_h]={...aF.deepClone(h),connect:s,allowH2:u,clientTtl:d,socketPath:A},this[_h].interceptors=h.interceptors?{...h.interceptors}:void 0,this[lF]=n,this.on("connect",(f,p)=>{if(d!=null&&d>0)for(let I of p)Object.assign(I,{ttl:Date.now()})}),this.on("connectionError",(f,p,I)=>{for(let y of p){let m=this[Ph].indexOf(y);m!==-1&&this[Ph].splice(m,1)}})}[z7](){let e=this[_h].clientTtl;for(let t of this[Ph])if(e!=null&&e>0&&t.ttl&&Date.now()-t.ttl>e)this[Z7](t);else if(!t[H7])return t;if(!this[Wm]||this[Ph].length<this[Wm]){let t=this[lF](this[AF],this[_h]);return this[W7](t),t}}};cF.exports=zm});var fF=g((bpe,hF)=>{"use strict";var{BalancedPoolMissingUpstreamError:tee,InvalidArgumentError:ree}=le(),{PoolBase:nee,kClients:Qt,kNeedDrain:ul,kAddClient:see,kRemoveClient:iee,kGetDispatcher:oee}=jh(),aee=Wi(),{kUrl:Jh}=Ke(),Yh=ue(),uF=Symbol("factory"),dl=Symbol("options"),dF=Symbol("kGreatestCommonDivisor"),zi=Symbol("kCurrentWeight"),Zi=Symbol("kIndex"),Ur=Symbol("kWeight"),qh=Symbol("kMaxWeightPerServer"),Gh=Symbol("kErrorPenalty");function Aee(r,e){if(r===0)return e;for(;e!==0;){let t=e;e=r%e,r=t}return r}function lee(r,e){return new aee(r,e)}var Zm=class extends nee{constructor(e=[],{factory:t=lee,...n}={}){if(typeof t!="function")throw new ree("factory must be a function.");super(n),this[dl]={...Yh.deepClone(n)},this[dl].interceptors=n.interceptors?{...n.interceptors}:void 0,this[Zi]=-1,this[zi]=0,this[qh]=this[dl].maxWeightPerServer||100,this[Gh]=this[dl].errorPenalty||15,Array.isArray(e)||(e=[e]),this[uF]=t;for(let s of e)this.addUpstream(s);this._updateBalancedPoolStats()}addUpstream(e){let t=Yh.parseOrigin(e).origin;if(this[Qt].find(s=>s[Jh].origin===t&&s.closed!==!0&&s.destroyed!==!0))return this;let n=this[uF](t,this[dl]);this[see](n),n.on("connect",()=>{n[Ur]=Math.min(this[qh],n[Ur]+this[Gh])}),n.on("connectionError",()=>{n[Ur]=Math.max(1,n[Ur]-this[Gh]),this._updateBalancedPoolStats()}),n.on("disconnect",(...s)=>{let i=s[2];i&&i.code==="UND_ERR_SOCKET"&&(n[Ur]=Math.max(1,n[Ur]-this[Gh]),this._updateBalancedPoolStats())});for(let s of this[Qt])s[Ur]=this[qh];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let e=0;for(let t=0;t<this[Qt].length;t++)e=Aee(this[Qt][t][Ur],e);this[dF]=e}removeUpstream(e){let t=Yh.parseOrigin(e).origin,n=this[Qt].find(s=>s[Jh].origin===t&&s.closed!==!0&&s.destroyed!==!0);return n&&this[iee](n),this}getUpstream(e){let t=Yh.parseOrigin(e).origin;return this[Qt].find(n=>n[Jh].origin===t&&n.closed!==!0&&n.destroyed!==!0)}get upstreams(){return this[Qt].filter(e=>e.closed!==!0&&e.destroyed!==!0).map(e=>e[Jh].origin)}[oee](){if(this[Qt].length===0)throw new tee;if(!this[Qt].find(i=>!i[ul]&&i.closed!==!0&&i.destroyed!==!0)||this[Qt].map(i=>i[ul]).reduce((i,o)=>i&&o,!0))return;let n=0,s=this[Qt].findIndex(i=>!i[ul]);for(;n++<this[Qt].length;){this[Zi]=(this[Zi]+1)%this[Qt].length;let i=this[Qt][this[Zi]];if(i[Ur]>this[Qt][s][Ur]&&!i[ul]&&(s=this[Zi]),this[Zi]===0&&(this[zi]=this[zi]-this[dF],this[zi]<=0&&(this[zi]=this[qh])),i[Ur]>=this[zi]&&!i[ul])return i}return this[zi]=this[Qt][s][Ur],this[Zi]=s,this[Qt][s]}};hF.exports=Zm});var EF=g((Qpe,yF)=>{"use strict";var{PoolBase:cee,kClients:Vh,kNeedDrain:uee,kAddClient:gF,kGetDispatcher:dee,kRemoveClient:hee}=jh(),fee=Ys(),{InvalidArgumentError:Xm}=le(),pF=ue(),{kUrl:$m}=Ke(),gee=Oi(),hl=Symbol("options"),eC=Symbol("connections"),tC=Symbol("factory"),Hh=Symbol("index");function pee(r,e){return new fee(r,e)}var rC=class extends cee{constructor(e,{connections:t,factory:n=pee,connect:s,connectTimeout:i,tls:o,maxCachedSessions:a,socketPath:A,autoSelectFamily:l,autoSelectFamilyAttemptTimeout:c,allowH2:u,clientTtl:d,...h}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new Xm("invalid connections");if(typeof n!="function")throw new Xm("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new Xm("connect must be a function or an object");typeof s!="function"&&(s=gee({...o,maxCachedSessions:a,allowH2:u,socketPath:A,timeout:i,...typeof l=="boolean"?{autoSelectFamily:l,autoSelectFamilyAttemptTimeout:c}:void 0,...s})),super(),this[eC]=t||null,this[$m]=pF.parseOrigin(e),this[hl]={...pF.deepClone(h),connect:s,allowH2:u,clientTtl:d,socketPath:A},this[hl].interceptors=h.interceptors?{...h.interceptors}:void 0,this[tC]=n,this[Hh]=-1,this.on("connect",(f,p)=>{if(d!=null&&d>0)for(let I of p)Object.assign(I,{ttl:Date.now()})}),this.on("connectionError",(f,p,I)=>{for(let y of p){let m=this[Vh].indexOf(y);m!==-1&&this[Vh].splice(m,1)}})}[dee](){let e=this[hl].clientTtl,t=this[Vh].length;if(t===0){let s=this[tC](this[$m],this[hl]);return this[gF](s),s}let n=0;for(;n<t;){this[Hh]=(this[Hh]+1)%t;let s=this[Vh][this[Hh]];if(e!=null&&e>0&&s.ttl&&Date.now()-s.ttl>e){this[hee](s),n++;continue}if(!s[uee])return s;n++}if(!this[eC]||t<this[eC]){let s=this[tC](this[$m],this[hl]);return this[gF](s),s}}};yF.exports=rC});var Xi=g((Bpe,SF)=>{"use strict";var{InvalidArgumentError:Wh,MaxOriginsReachedError:yee}=le(),{kClients:jr,kRunning:IF,kClose:Eee,kDestroy:Iee,kDispatch:mee,kUrl:Cee}=Ke(),bee=Li(),Qee=Wi(),Bee=Ys(),See=ue(),mF=Symbol("onConnect"),CF=Symbol("onDisconnect"),bF=Symbol("onConnectionError"),QF=Symbol("onDrain"),BF=Symbol("factory"),nC=Symbol("options"),fl=Symbol("origins");function wee(r,e){return e&&e.connections===1?new Bee(r,e):new Qee(r,e)}var sC=class extends bee{constructor({factory:e=wee,maxOrigins:t=1/0,connect:n,...s}={}){if(typeof e!="function")throw new Wh("factory must be a function.");if(n!=null&&typeof n!="function"&&typeof n!="object")throw new Wh("connect must be a function or an object");if(typeof t!="number"||Number.isNaN(t)||t<=0)throw new Wh("maxOrigins must be a number greater than 0");super(s),n&&typeof n!="function"&&(n={...n}),this[nC]={...See.deepClone(s),maxOrigins:t,connect:n},this[BF]=e,this[jr]=new Map,this[fl]=new Set,this[QF]=(i,o)=>{this.emit("drain",i,[this,...o])},this[mF]=(i,o)=>{this.emit("connect",i,[this,...o])},this[CF]=(i,o,a)=>{this.emit("disconnect",i,[this,...o],a)},this[bF]=(i,o,a)=>{this.emit("connectionError",i,[this,...o],a)}}get[IF](){let e=0;for(let{dispatcher:t}of this[jr].values())e+=t[IF];return e}[mee](e,t){let n;if(e.origin&&(typeof e.origin=="string"||e.origin instanceof URL))n=String(e.origin);else throw new Wh("opts.origin must be a non-empty string or URL.");if(this[fl].size>=this[nC].maxOrigins&&!this[fl].has(n))throw new yee;let s=this[jr].get(n),i=s&&s.dispatcher;if(!i){let o=a=>{let A=this[jr].get(n);A&&(a&&(A.count-=1),A.count<=0&&(this[jr].delete(n),A.dispatcher.destroyed||A.dispatcher.close()),this[fl].delete(n))};i=this[BF](e.origin,this[nC]).on("drain",this[QF]).on("connect",(a,A)=>{let l=this[jr].get(n);l&&(l.count+=1),this[mF](a,A)}).on("disconnect",(a,A,l)=>{o(!0),this[CF](a,A,l)}).on("connectionError",(a,A,l)=>{o(!1),this[bF](a,A,l)}),this[jr].set(n,{count:0,dispatcher:i}),this[fl].add(n)}return i.dispatch(e,t)}[Eee](){let e=[];for(let{dispatcher:t}of this[jr].values())e.push(t.close());return this[jr].clear(),Promise.all(e)}[Iee](e){let t=[];for(let{dispatcher:n}of this[jr].values())t.push(n.destroy(e));return this[jr].clear(),Promise.all(t)}get stats(){let e={};for(let{dispatcher:t}of this[jr].values())t.stats&&(e[t[Cee].origin]=t.stats);return e}};SF.exports=sC});var kF=g((Spe,DF)=>{"use strict";var{Buffer:Gs}=S("node:buffer"),iC=S("node:net"),{InvalidArgumentError:qs}=le();function Dee(r){if(iC.isIPv4(r)){let t=r.split(".").map(Number);return{type:1,buffer:Gs.from(t)}}if(iC.isIPv6(r))return{type:4,buffer:wF(r)};let e=Gs.from(r,"utf8");if(e.length>255)throw new qs("Domain name too long (max 255 bytes)");return{type:3,buffer:Gs.concat([Gs.from([e.length]),e])}}function wF(r){let e=Gs.alloc(16),t=r;if(r.includes(".")){let s=r.lastIndexOf(":"),i=r.slice(s+1);if(iC.isIPv4(i)){let o=i.split(".").map(Number),a=(o[0]<<8|o[1]).toString(16),A=(o[2]<<8|o[3]).toString(16);t=`${r.slice(0,s)}:${a}:${A}`}}let n=t.indexOf("::");if(n!==-1){let s=t.slice(0,n),i=t.slice(n+2),o=s===""?[]:s.split(":"),a=i===""?[]:i.split(":"),A=0;for(let l of o)e.writeUInt16BE(parseInt(l,16),A),A+=2;A=16-a.length*2;for(let l of a)e.writeUInt16BE(parseInt(l,16),A),A+=2}else{let s=t.split(":");for(let i=0;i<s.length;i++)e.writeUInt16BE(parseInt(s[i],16),i*2)}return e}function kee(r,e,t){let n=Gs.allocUnsafe(2);return n.writeUInt16BE(t,0),Gs.concat([Gs.from([r]),e,n])}function Ree(r,e=0){if(r.length<e+1)throw new qs("Buffer too small to contain address type");let t=r[e],n,s=e+1;switch(t){case 1:{if(r.length<s+6)throw new qs("Buffer too small for IPv4 address");n=Array.from(r.subarray(s,s+4)).join("."),s+=4;break}case 3:{if(r.length<s+1)throw new qs("Buffer too small for domain length");let o=r[s];if(s+=1,r.length<s+o+2)throw new qs("Buffer too small for domain address");n=r.subarray(s,s+o).toString("utf8"),s+=o;break}case 4:{if(r.length<s+18)throw new qs("Buffer too small for IPv6 address");let o=[];for(let a=0;a<8;a++){let A=r.readUInt16BE(s+a*2);o.push(A.toString(16))}n=o.join(":"),s+=16;break}default:throw new qs(`Invalid address type: ${t}`)}if(r.length<s+2)throw new qs("Buffer too small for port");let i=r.readUInt16BE(s);return s+=2,{address:n,port:i,bytesRead:s-e}}function vee(r){let t={1:"General SOCKS server failure",2:"Connection not allowed by ruleset",3:"Network unreachable",4:"Host unreachable",5:"Connection refused",6:"TTL expired",7:"Command not supported",8:"Address type not supported"}[r]||`Unknown SOCKS5 error code: ${r}`,n=new Error(t);return n.code=`SOCKS5_${r}`,n}DF.exports={parseAddress:Dee,parseIPv6:wF,buildAddressBuffer:kee,parseResponseAddress:Ree,createReplyError:vee}});var TF=g((wpe,xF)=>{"use strict";var{EventEmitter:xee}=S("node:events"),{Buffer:$i}=S("node:buffer"),{InvalidArgumentError:ya,Socks5ProxyError:Vs}=le(),{debuglog:Tee}=S("node:util"),{parseAddress:Nee}=kF(),rs=Tee("undici:socks5"),RF=$i.alloc(0),zh=5,Ea={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},vF={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},eo={IPV4:1,DOMAIN:3,IPV6:4},Cn={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},Rt={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",AUTHENTICATED:"authenticated",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"},oC=class extends xee{constructor(e,t={}){if(super(),!e)throw new ya("socket is required");this.socket=e,this.options=t,this.state=Rt.INITIAL,this.buffer=RF,this.onSocketData=this.onData.bind(this),this.onSocketError=this.onError.bind(this),this.onSocketClose=this.onClose.bind(this),this.authMethods=[],t.username&&t.password&&this.authMethods.push(Ea.USERNAME_PASSWORD),this.authMethods.push(Ea.NO_AUTH),this.socket.on("data",this.onSocketData),this.socket.on("error",this.onSocketError),this.socket.on("close",this.onSocketClose)}onData(e){rs("received data",e.length,"bytes in state",this.state),this.buffer=$i.concat([this.buffer,e]);try{switch(this.state){case Rt.HANDSHAKING:this.handleHandshakeResponse();break;case Rt.AUTHENTICATING:this.handleAuthResponse();break;case Rt.CONNECTING:this.handleConnectResponse();break}}catch(t){this.onError(t)}}onError(e){rs("socket error",e),this.state=Rt.ERROR,this.emit("error",e),this.destroy()}onClose(){rs("socket closed"),this.state=Rt.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}markAuthenticated(){this.state=Rt.AUTHENTICATED,this.emit("authenticated")}handshake(){if(this.state!==Rt.INITIAL)throw new ya("Handshake already started");rs("starting handshake with",this.authMethods.length,"auth methods"),this.state=Rt.HANDSHAKING;let e=$i.alloc(2+this.authMethods.length);e[0]=zh,e[1]=this.authMethods.length,this.authMethods.forEach((t,n)=>{e[2+n]=t}),this.socket.write(e)}handleHandshakeResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==zh)throw new Vs(`Invalid SOCKS version: ${e}`,"UND_ERR_SOCKS5_VERSION");if(t===Ea.NO_ACCEPTABLE)throw new Vs("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),rs("server selected auth method",t),t===Ea.NO_AUTH)this.markAuthenticated();else if(t===Ea.USERNAME_PASSWORD)this.state=Rt.AUTHENTICATING,this.sendAuthRequest();else throw new Vs(`Unsupported authentication method: ${t}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){let{username:e,password:t}=this.options;if(!e||!t)throw new ya("Username and password required for authentication");rs("sending username/password auth");let n=$i.from(e),s=$i.from(t);if(n.length>255||s.length>255)throw new ya("Username or password too long");let i=$i.alloc(3+n.length+s.length);i[0]=1,i[1]=n.length,n.copy(i,2),i[2+n.length]=s.length,s.copy(i,3+n.length),this.socket.write(i)}handleAuthResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==1)throw new Vs(`Invalid auth sub-negotiation version: ${e}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(t!==0)throw new Vs("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),rs("authentication successful"),this.markAuthenticated()}connect(e,t){if(this.state===Rt.CONNECTING||this.state===Rt.CONNECTED)throw new ya("Connection already in progress");if(this.state!==Rt.AUTHENTICATED)throw new ya("Client must be authenticated before CONNECT");rs("connecting to",e,t),this.state=Rt.CONNECTING;let n=this.buildConnectRequest(vF.CONNECT,e,t);this.socket.write(n)}buildConnectRequest(e,t,n){let{type:s,buffer:i}=Nee(t),o=$i.alloc(4+i.length+2);return o[0]=zh,o[1]=e,o[2]=0,o[3]=s,i.copy(o,4),o.writeUInt16BE(n,4+i.length),o}handleConnectResponse(){if(this.buffer.length<4)return;let e=this.buffer[0],t=this.buffer[1],n=this.buffer[3];if(e!==zh)throw new Vs(`Invalid SOCKS version in reply: ${e}`,"UND_ERR_SOCKS5_REPLY_VERSION");let s=4;if(n===eo.IPV4)s+=6;else if(n===eo.DOMAIN){if(this.buffer.length<5)return;s+=1+this.buffer[4]+2}else if(n===eo.IPV6)s+=18;else throw new Vs(`Invalid address type in reply: ${n}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<s)return;if(t!==Cn.SUCCEEDED){let A=this.getReplyErrorMessage(t);throw new Vs(`SOCKS5 connection failed: ${A}`,`UND_ERR_SOCKS5_REPLY_${t}`)}let i,o=4;if(n===eo.IPV4)i=Array.from(this.buffer.subarray(o,o+4)).join("."),o+=4;else if(n===eo.DOMAIN){let A=this.buffer[o];o+=1,i=this.buffer.subarray(o,o+A).toString(),o+=A}else if(n===eo.IPV6){let A=[];for(let l=0;l<8;l++){let c=this.buffer.readUInt16BE(o+l*2);A.push(c.toString(16))}i=A.join(":"),o+=16}let a=this.buffer.readUInt16BE(o);this.buffer=RF,this.state=Rt.CONNECTED,this.socket.removeListener("data",this.onSocketData),rs("connected, bound address:",i,"port:",a),this.emit("connected",{address:i,port:a})}getReplyErrorMessage(e){switch(e){case Cn.GENERAL_FAILURE:return"General SOCKS server failure";case Cn.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case Cn.NETWORK_UNREACHABLE:return"Network unreachable";case Cn.HOST_UNREACHABLE:return"Host unreachable";case Cn.CONNECTION_REFUSED:return"Connection refused";case Cn.TTL_EXPIRED:return"TTL expired";case Cn.COMMAND_NOT_SUPPORTED:return"Command not supported";case Cn.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${e}`}}};xF.exports={Socks5Client:oC,AUTH_METHODS:Ea,COMMANDS:vF,ADDRESS_TYPES:eo,REPLY_CODES:Cn,STATES:Rt}});var uC=g((Dpe,jF)=>{"use strict";var{URL:NF}=S("node:url"),aC,Mee=Li(),{InvalidArgumentError:MF}=le(),{Socks5Client:Kee,STATES:Fee}=TF(),{kDispatch:KF,kClose:Lee,kDestroy:Oee}=Ke(),Uee=Wi(),jee=Oi(),{debuglog:Pee}=S("node:util"),Hs=Pee("undici:socks5-proxy"),AC=Symbol("proxy url"),_ee=Symbol("proxy headers"),FF=Symbol("proxy auth"),LF=Symbol("proxy protocol"),to=Symbol("pools"),OF=Symbol("connector"),lC=Symbol("request tls settings"),UF=!1,cC=class extends Mee{constructor(e,t={}){if(super(),UF||(process.emitWarning("SOCKS5 proxy support is experimental and subject to change","ExperimentalWarning"),UF=!0),!e)throw new MF("Proxy URL is mandatory");let n=typeof e=="string"?new NF(e):e;if(n.protocol!=="socks5:"&&n.protocol!=="socks:")throw new MF("Proxy URL must use socks5:// or socks:// protocol");this[AC]=n,this[_ee]=t.headers||{},this[LF]=t.proxyTls?"https:":"http:",this[lC]=t.requestTls,this[FF]={username:t.username||(n.username?decodeURIComponent(n.username):null),password:t.password||(n.password?decodeURIComponent(n.password):null)},this[OF]=t.connect||jee({...t.proxyTls,servername:t.proxyTls?.servername||n.hostname}),this[to]=new Map}async createSocks5Connection(e,t){let n=this[AC].hostname,s=parseInt(this[AC].port)||1080;Hs("creating SOCKS5 connection to",n,s);let i=await new Promise((a,A)=>{this[OF]({hostname:n,host:n,port:s,protocol:this[LF]},(l,c)=>{l?A(l):a(c)})}),o=new Kee(i,this[FF]);return o.on("error",a=>{Hs("SOCKS5 error:",a),i.destroy()}),await o.handshake(),await new Promise((a,A)=>{let l=setTimeout(()=>{A(new Error("SOCKS5 authentication timeout"))},5e3),c=()=>{clearTimeout(l),o.removeListener("error",u),a()},u=d=>{clearTimeout(l),o.removeListener("authenticated",c),A(d)};o.state===Fee.AUTHENTICATED?(clearTimeout(l),a()):(o.once("authenticated",c),o.once("error",u))}),await o.connect(e,t),await new Promise((a,A)=>{let l=setTimeout(()=>{A(new Error("SOCKS5 connection timeout"))},5e3),c=d=>{Hs("SOCKS5 tunnel established to",e,t,"via",d),clearTimeout(l),o.removeListener("error",u),a()},u=d=>{clearTimeout(l),o.removeListener("connected",c),A(d)};o.once("connected",c),o.once("error",u)}),i}[KF](e,t){let{origin:n}=e;Hs("dispatching request to",n,"via SOCKS5");try{let s=String(n),i=this[to].get(s);return(!i||i.destroyed||i.closed)&&(i=new Uee(n,{pipelining:e.pipelining,connections:e.connections,connect:async(o,a)=>{try{let A=new NF(n),l=A.hostname,c=parseInt(A.port)||(A.protocol==="https:"?443:80);Hs("establishing SOCKS5 connection to",l,c);let u=await this.createSocks5Connection(l,c),d=u;A.protocol==="https:"&&(aC||(aC=S("node:tls")),Hs("upgrading to TLS"),d=aC.connect({...this[lC],socket:u,servername:this[lC]?.servername||l}),await new Promise((h,f)=>{d.once("secureConnect",h),d.once("error",f)})),a(null,d)}catch(A){Hs("SOCKS5 connection error:",A),a(A)}}}),this[to].set(s,i)),i[KF](e,t)}catch(s){if(Hs("dispatch error:",s),typeof t.onResponseError=="function")return t.onResponseError(null,s),!1;if(typeof t.onError=="function")return t.onError(s),!1;throw s}}async[Lee](){let e=[];for(let t of this[to].values())e.push(t.close());this[to].clear(),await Promise.all(e)}async[Oee](e){let t=[];for(let n of this[to].values())t.push(n.destroy(e));this[to].clear(),await Promise.all(t)}};jF.exports=cC});var gC=g((kpe,XF)=>{"use strict";var{kProxy:Ia,kClose:VF,kDestroy:HF,kDispatch:PF}=Ke(),Jee=Xi(),WF=Wi(),zF=Li(),{InvalidArgumentError:ro,RequestAbortedError:Yee,SecureProxyConnectionError:qee}=le(),_F=Oi(),ZF=Ys(),{channels:JF}=Ks(),Gee=uC(),Zh=Symbol("proxy agent"),Ws=Symbol("proxy client"),ns=Symbol("proxy headers"),dC=Symbol("request tls settings"),YF=Symbol("proxy tls settings"),qF=Symbol("connect endpoint function"),GF=Symbol("tunnel proxy");function Vee(r){return r==="https:"?443:80}function Hee(r,e){return new WF(r,e)}var Wee=()=>{};function zee(r,e){return e.connections===1?new ZF(r,e):new WF(r,e)}var hC=class extends zF{#e;constructor(e,{headers:t={},connect:n,factory:s}){if(!e)throw new ro("Proxy URL is mandatory");super(),this[ns]=t,s?this.#e=s(e,{connect:n}):this.#e=new ZF(e,{connect:n})}[PF](e,t){let n=t.onHeaders;t.onHeaders=function(a,A,l){if(a===407){typeof t.onError=="function"&&t.onError(new ro("Proxy Authentication Required (407)"));return}n&&n.call(this,a,A,l)};let{origin:s,path:i="/",headers:o={}}=e;if(e.path=s+i,!("host"in o)&&!("Host"in o)){let{host:a}=new URL(s);o.host=a}return e.headers={...this[ns],...o},this.#e[PF](e,t)}[VF](){return this.#e.close()}[HF](e){return this.#e.destroy(e)}},fC=class extends zF{constructor(e){if(!e||typeof e=="object"&&!(e instanceof URL)&&!e.uri)throw new ro("Proxy uri is mandatory");let{clientFactory:t=Hee}=e;if(typeof t!="function")throw new ro("Proxy opts.clientFactory must be a function.");let{proxyTunnel:n=!0}=e;super();let s=this.#e(e),{href:i,origin:o,port:a,protocol:A,username:l,password:c,hostname:u}=s;if(this[Ia]={uri:i,protocol:A},this[dC]=e.requestTls,this[YF]=e.proxyTls,this[ns]=e.headers||{},this[GF]=n,e.auth&&e.token)throw new ro("opts.auth cannot be used in combination with opts.token");e.auth?this[ns]["proxy-authorization"]=`Basic ${e.auth}`:e.token?this[ns]["proxy-authorization"]=e.token:l&&c&&(this[ns]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(l)}:${decodeURIComponent(c)}`).toString("base64")}`);let d=_F({...e.proxyTls});this[qF]=_F({...e.requestTls});let h=e.factory||zee,f=(p,I)=>{let{protocol:y}=new URL(p);return this[Ia].protocol==="socks5:"||this[Ia].protocol==="socks:"?new Gee(this[Ia].uri,{headers:this[ns],connect:d,factory:h,username:e.username||l,password:e.password||c,proxyTls:e.proxyTls,requestTls:e.requestTls}):!this[GF]&&y==="http:"&&this[Ia].protocol==="http:"?new hC(this[Ia].uri,{headers:this[ns],connect:d,factory:h}):h(p,I)};A==="socks5:"||A==="socks:"?this[Ws]=null:this[Ws]=t(s,{connect:d}),this[Zh]=new Jee({...e,factory:f,connect:async(p,I)=>{if(!this[Ws]){I(new ro("Cannot establish tunnel connection without a proxy client"));return}let y=p.host;p.port||(y+=`:${Vee(p.protocol)}`);try{let m={origin:o,port:a,path:y,signal:p.signal,headers:{...this[ns],host:p.host,...p.connections==null||p.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[YF]?.servername||u},{socket:w,statusCode:R}=await this[Ws].connect(m);if(R!==200){w.on("error",Wee).destroy(),I(new Yee(`Proxy response (${R}) !== 200 when HTTP Tunneling`));return}if(JF.proxyConnected.hasSubscribers&&JF.proxyConnected.publish({socket:w,connectParams:m}),p.protocol!=="https:"){I(null,w);return}let L;this[dC]?L=this[dC].servername:L=p.servername,this[qF]({...p,servername:L,httpSocket:w},I)}catch(m){m.code==="ERR_TLS_CERT_ALTNAME_INVALID"?I(new qee(m)):I(m)}}})}dispatch(e,t){let n=Zee(e.headers);if(Xee(n),n&&!("host"in n)&&!("Host"in n)){let{host:s}=new URL(e.origin);n.host=s}return this[Zh].dispatch({...e,headers:n},t)}#e(e){return typeof e=="string"?new URL(e):e instanceof URL?e:new URL(e.uri)}[VF](){let e=[this[Zh].close()];return this[Ws]&&e.push(this[Ws].close()),Promise.all(e)}[HF](){let e=[this[Zh].destroy()];return this[Ws]&&e.push(this[Ws].destroy()),Promise.all(e)}};function Zee(r){if(Array.isArray(r)){let e={};for(let t=0;t<r.length;t+=2)e[r[t]]=r[t+1];return e}return r}function Xee(r){if(r&&Object.keys(r).find(t=>t.toLowerCase()==="proxy-authorization"))throw new ro("Proxy-Authorization should be sent in ProxyAgent constructor")}XF.exports=fC});var nL=g((Rpe,rL)=>{"use strict";var $ee=Li(),{kClose:ete,kDestroy:tte,kClosed:$F,kDestroyed:eL,kDispatch:rte,kNoProxyAgent:gl,kHttpProxyAgent:zs,kHttpsProxyAgent:no}=Ke(),tL=gC(),nte=Xi(),ste={"http:":80,"https:":443},pC=class extends $ee{#e=null;#t=null;#r=null;constructor(e={}){super(),this.#r=e;let{httpProxy:t,httpsProxy:n,noProxy:s,...i}=e;this[gl]=new nte(i);let o=t??process.env.http_proxy??process.env.HTTP_PROXY;o?this[zs]=new tL({...i,uri:o}):this[zs]=this[gl];let a=n??process.env.https_proxy??process.env.HTTPS_PROXY;a?this[no]=new tL({...i,uri:a}):this[no]=this[zs],this.#s()}[rte](e,t){let n=new URL(e.origin);return this.#n(n).dispatch(e,t)}[ete](){return Promise.all([this[gl].close(),!this[zs][$F]&&this[zs].close(),!this[no][$F]&&this[no].close()])}[tte](e){return Promise.all([this[gl].destroy(e),!this[zs][eL]&&this[zs].destroy(e),!this[no][eL]&&this[no].destroy(e)])}#n(e){let{protocol:t,host:n,port:s}=e;return n=n.replace(/:\d*$/,"").toLowerCase(),s=Number.parseInt(s,10)||ste[t]||0,this.#i(n,s)?t==="https:"?this[no]:this[zs]:this[gl]}#i(e,t){if(this.#A&&this.#s(),this.#t.length===0)return!0;if(this.#e==="*")return!1;for(let n=0;n<this.#t.length;n++){let s=this.#t[n];if(!(s.port&&s.port!==t)&&(e===s.hostname||e.slice(-(s.hostname.length+1))===`.${s.hostname}`))return!1}return!0}#s(){let e=this.#r.noProxy??this.#o,t=e.split(/[,\s]/),n=[];for(let s=0;s<t.length;s++){let i=t[s];if(!i)continue;let o=i.match(/^(.+):(\d+)$/);n.push({hostname:(o?o[1]:i).replace(/^\*?\./,"").toLowerCase(),port:o?Number.parseInt(o[2],10):0})}this.#e=e,this.#t=n}get#A(){return this.#r.noProxy!==void 0?!1:this.#e!==this.#o}get#o(){return process.env.no_proxy??process.env.NO_PROXY??""}};rL.exports=pC});var Xh=g((vpe,AL)=>{"use strict";var ma=S("node:assert"),{kRetryHandlerDefaultRetry:sL}=Ke(),{RequestRetryError:Ca}=le(),ite=jA(),{isDisturbed:iL,parseRangeHeader:oL,wrapRequestBody:ote}=ue();function ate(r){let e=new Date(r).getTime();return isNaN(e)?0:e-Date.now()}function aL(r,e,t,n){let s=r["content-length"];if(s==null||!Number.isFinite(e.start)||!Number.isFinite(e.end))return;let i=Number(s),o=e.end-e.start+1;if(!Number.isFinite(i)||i!==o)throw new Ca("Content-Length mismatch",t,{headers:r,data:{count:n}})}var yC=class r{constructor(e,{dispatch:t,handler:n}){let{retryOptions:s,...i}=e,{retry:o,maxRetries:a,maxTimeout:A,minTimeout:l,timeoutFactor:c,methods:u,errorCodes:d,retryAfter:h,statusCodes:f,throwOnError:p}=s??{};this.error=null,this.dispatch=t,this.handler=ite.wrap(n),this.opts={...i,body:ote(e.body)},this.retryOpts={throwOnError:p??!0,retry:o??r[sL],retryAfter:h??!0,maxTimeout:A??30*1e3,minTimeout:l??500,timeoutFactor:c??2,maxRetries:a??5,methods:u??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:f??[500,502,503,504,429],errorCodes:d??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null}onResponseStartWithRetry(e,t,n,s,i){if(this.retryOpts.throwOnError){this.retryOpts.statusCodes.includes(t)===!1?(this.headersSent=!0,this.handler.onResponseStart?.(e,t,n,s)):this.error=i;return}if(iL(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(e,t,n,s);return}function o(a){if(a){this.headersSent=!0,this.handler.onResponseStart?.(e,t,n,s),e.resume();return}this.error=i,e.resume()}e.pause(),this.retryOpts.retry(i,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},o.bind(this))}onRequestStart(e,t){this.headersSent||this.handler.onRequestStart?.(e,t)}onRequestUpgrade(e,t,n,s){this.handler.onRequestUpgrade?.(e,t,n,s)}static[sL](e,{state:t,opts:n},s){let{statusCode:i,code:o,headers:a}=e,{method:A,retryOptions:l}=n,{maxRetries:c,minTimeout:u,maxTimeout:d,timeoutFactor:h,statusCodes:f,errorCodes:p,methods:I}=l,{counter:y}=t;if(o&&o!=="UND_ERR_REQ_RETRY"&&!p.includes(o)){s(e);return}if(Array.isArray(I)&&!I.includes(A)){s(e);return}if(i!=null&&Array.isArray(f)&&!f.includes(i)){s(e);return}if(y>c){s(e);return}let m=a?.["retry-after"];m&&(m=Number(m),m=Number.isNaN(m)?ate(a["retry-after"]):m*1e3);let w=m>0?Math.min(m,d):Math.min(u*h**(y-1),d);setTimeout(()=>s(null),w)}onResponseStart(e,t,n,s){if(this.error=null,this.retryCount+=1,t>=300){let i=new Ca("Request failed",t,{headers:n,data:{count:this.retryCount}});this.onResponseStartWithRetry(e,t,n,s,i);return}if(this.headersSent){if(t!==206&&(this.start>0||t!==200))throw new Ca("server does not support the range header and the payload was partially consumed",t,{headers:n,data:{count:this.retryCount}});let i=oL(n["content-range"]);if(!i)throw new Ca("Content-Range mismatch",t,{headers:n,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==n.etag)throw new Ca("ETag mismatch",t,{headers:n,data:{count:this.retryCount}});aL(n,i,t,this.retryCount);let{start:o,size:a,end:A=a?a-1:null}=i;ma(this.start===o,"content-range mismatch"),ma(this.end==null||this.end===A,"content-range mismatch");return}if(this.end==null){if(t===206){let i=oL(n["content-range"]);if(i==null){this.headersSent=!0,this.handler.onResponseStart?.(e,t,n,s);return}aL(n,i,t,this.retryCount);let{start:o,size:a,end:A=a?a-1:null}=i;ma(o!=null&&Number.isFinite(o),"content-range mismatch"),ma(A!=null&&Number.isFinite(A),"invalid content-length"),this.start=o,this.end=A}if(this.end==null){let i=n["content-length"];this.end=i!=null?Number(i)-1:null}ma(Number.isFinite(this.start)),ma(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=n.etag!=null?n.etag:null,this.etag!=null&&this.etag[0]==="W"&&this.etag[1]==="/"&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(e,t,n,s)}else throw new Ca("Request failed",t,{headers:n,data:{count:this.retryCount}})}onResponseData(e,t){this.error||(this.start+=t.length,this.handler.onResponseData?.(e,t))}onResponseEnd(e,t){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error)return this.retryCount=0,this.handler.onResponseEnd?.(e,t);this.retry(e)}retry(e){if(this.start!==0){let t={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(t["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...t}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(t){this.handler.onResponseError?.(e,t)}}onResponseError(e,t){if(e?.aborted||iL(this.opts.body)){this.handler.onResponseError?.(e,t);return}function n(s){if(!s){this.retry(e);return}this.handler?.onResponseError?.(e,s)}this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(t,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},n.bind(this))}};AL.exports=yC});var cL=g((xpe,lL)=>{"use strict";var Ate=PA(),lte=Xh(),EC=class extends Ate{#e=null;#t=null;constructor(e,t={}){super(t),this.#e=e,this.#t=t}dispatch(e,t){let n=new lte({...e,retryOptions:this.#t},{dispatch:this.#e.dispatch.bind(this.#e),handler:t});return this.#e.dispatch(e,n)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}};lL.exports=EC});var hL=g((Tpe,dL)=>{"use strict";var{InvalidArgumentError:uL}=le(),cte=Ys(),IC=class extends cte{constructor(e,t){if(typeof e=="string"&&(e=new URL(e)),e.protocol!=="http:")throw new uL("h2c-client: Only h2c protocol is supported");let{maxConcurrentStreams:n,pipelining:s,...i}=t??{},o=100,a=100;if(n!=null&&Number.isInteger(n)&&n>0&&(o=n),s!=null&&Number.isInteger(s)&&s>0&&(a=s),a>o)throw new uL("h2c-client: pipelining cannot be greater than maxConcurrentStreams");super(e,{...i,maxConcurrentStreams:o,pipelining:a,allowH2:!0,useH2c:!0})}};dL.exports=IC});var bL=g((Npe,CL)=>{"use strict";var yL=S("node:assert"),{Readable:ute}=S("node:stream"),{RequestAbortedError:EL,NotSupportedError:dte,InvalidArgumentError:hte,AbortError:$h}=le(),IL=ue(),{ReadableStreamFrom:fte}=ue(),Ir=Symbol("kConsume"),ef=Symbol("kReading"),so=Symbol("kBody"),fL=Symbol("kAbort"),mL=Symbol("kContentType"),mC=Symbol("kContentLength"),CC=Symbol("kUsed"),tf=Symbol("kBytesRead"),gte=()=>{},bC=class extends ute{constructor({resume:e,abort:t,contentType:n="",contentLength:s,highWaterMark:i=64*1024}){super({autoDestroy:!0,read:e,highWaterMark:i}),this._readableState.dataEmitted=!1,this[fL]=t,this[Ir]=null,this[tf]=0,this[so]=null,this[CC]=!1,this[mL]=n,this[mC]=Number.isFinite(s)?s:null,this[ef]=!1}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new EL),e&&this[fL](),this[CC]?t(e):setImmediate(t,e)}on(e,t){return(e==="data"||e==="readable")&&(this[ef]=!0,this[CC]=!0),super.on(e,t)}addListener(e,t){return this.on(e,t)}off(e,t){let n=super.off(e,t);return(e==="data"||e==="readable")&&(this[ef]=this.listenerCount("data")>0||this.listenerCount("readable")>0),n}removeListener(e,t){return this.off(e,t)}push(e){return e&&(this[tf]+=e.length,this[Ir])?(BC(this[Ir],e),this[ef]?super.push(e):!0):super.push(e)}text(){return pl(this,"text")}json(){return pl(this,"json")}blob(){return pl(this,"blob")}bytes(){return pl(this,"bytes")}arrayBuffer(){return pl(this,"arrayBuffer")}async formData(){throw new dte}get bodyUsed(){return IL.isDisturbed(this)}get body(){return this[so]||(this[so]=fte(this),this[Ir]&&(this[so].getReader(),yL(this[so].locked))),this[so]}dump(e){let t=e?.signal;if(t!=null&&(typeof t!="object"||!("aborted"in t)))return Promise.reject(new hte("signal must be an AbortSignal"));let n=e?.limit&&Number.isFinite(e.limit)?e.limit:128*1024;return t?.aborted?Promise.reject(t.reason??new $h):this._readableState.closeEmitted?Promise.resolve(null):new Promise((s,i)=>{if((this[mC]&&this[mC]>n||this[tf]>n)&&this.destroy(new $h),t){let o=()=>{this.destroy(t.reason??new $h)};t.addEventListener("abort",o),this.on("close",function(){t.removeEventListener("abort",o),t.aborted?i(t.reason??new $h):s(null)})}else this.on("close",s);this.on("error",gte).on("data",()=>{this[tf]>n&&this.destroy()}).resume()})}setEncoding(e){return Buffer.isEncoding(e)&&(this._readableState.encoding=e),this}};function pte(r){return r[so]?.locked===!0||r[Ir]!==null}function yte(r){return IL.isDisturbed(r)||pte(r)}function pl(r,e){return yL(!r[Ir]),new Promise((t,n)=>{if(yte(r)){let s=r._readableState;s.destroyed&&s.closeEmitted===!1?r.on("error",n).on("close",()=>{n(new TypeError("unusable"))}):n(s.errored??new TypeError("unusable"))}else queueMicrotask(()=>{r[Ir]={type:e,stream:r,resolve:t,reject:n,length:0,body:[]},r.on("error",function(s){SC(this[Ir],s)}).on("close",function(){this[Ir].body!==null&&SC(this[Ir],new EL)}),Ete(r[Ir])})})}function Ete(r){if(r.body===null)return;let{_readableState:e}=r.stream;if(e.bufferIndex){let t=e.bufferIndex,n=e.buffer.length;for(let s=t;s<n;s++)BC(r,e.buffer[s])}else for(let t of e.buffer)BC(r,t);for(e.endEmitted?pL(this[Ir],this._readableState.encoding):r.stream.on("end",function(){pL(this[Ir],this._readableState.encoding)}),r.stream.resume();r.stream.read()!=null;);}function QC(r,e,t){if(r.length===0||e===0)return"";let n=r.length===1?r[0]:Buffer.concat(r,e),s=n.length,i=s>2&&n[0]===239&&n[1]===187&&n[2]===191?3:0;return!t||t==="utf8"||t==="utf-8"?n.utf8Slice(i,s):n.subarray(i,s).toString(t)}function gL(r,e){if(r.length===0||e===0)return new Uint8Array(0);if(r.length===1)return new Uint8Array(r[0]);let t=new Uint8Array(Buffer.allocUnsafeSlow(e).buffer),n=0;for(let s=0;s<r.length;++s){let i=r[s];t.set(i,n),n+=i.length}return t}function pL(r,e){let{type:t,body:n,resolve:s,stream:i,length:o}=r;try{t==="text"?s(QC(n,o,e)):t==="json"?s(JSON.parse(QC(n,o,e))):t==="arrayBuffer"?s(gL(n,o).buffer):t==="blob"?s(new Blob(n,{type:i[mL]})):t==="bytes"&&s(gL(n,o)),SC(r)}catch(a){i.destroy(a)}}function BC(r,e){r.length+=e.length,r.body.push(e)}function SC(r,e){r.body!==null&&(e?r.reject(e):r.resolve(),r.type=null,r.stream=null,r.resolve=null,r.reject=null,r.length=0,r.body=null)}CL.exports={Readable:bC,chunksDecode:QC}});var SL=g((Mpe,wC)=>{"use strict";var Ite=S("node:assert"),{AsyncResource:mte}=S("node:async_hooks"),{Readable:Cte}=bL(),{InvalidArgumentError:ba,RequestAbortedError:QL}=le(),Pr=ue();function yl(){}var rf=class extends mte{constructor(e,t){if(!e||typeof e!="object")throw new ba("invalid opts");let{signal:n,method:s,opaque:i,body:o,onInfo:a,responseHeaders:A,highWaterMark:l}=e;try{if(typeof t!="function")throw new ba("invalid callback");if(l!=null&&(!Number.isFinite(l)||l<0))throw new ba("invalid highWaterMark");if(n&&typeof n.on!="function"&&typeof n.addEventListener!="function")throw new ba("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new ba("invalid method");if(a&&typeof a!="function")throw new ba("invalid onInfo callback");super("UNDICI_REQUEST")}catch(c){throw Pr.isStream(o)&&Pr.destroy(o.on("error",yl),c),c}this.method=s,this.responseHeaders=A||null,this.opaque=i||null,this.callback=t,this.res=null,this.abort=null,this.body=o,this.trailers={},this.context=null,this.onInfo=a||null,this.highWaterMark=l,this.reason=null,this.removeAbortListener=null,n?.aborted?this.reason=n.reason??new QL:n&&(this.removeAbortListener=Pr.addAbortListener(n,()=>{this.reason=n.reason??new QL,this.res?Pr.destroy(this.res.on("error",yl),this.reason):this.abort&&this.abort(this.reason)}))}onConnect(e,t){if(this.reason){e(this.reason);return}Ite(this.callback),this.abort=e,this.context=t}onHeaders(e,t,n,s){let{callback:i,opaque:o,abort:a,context:A,responseHeaders:l,highWaterMark:c}=this,u=l==="raw"?Pr.parseRawHeaders(t):Pr.parseHeaders(t);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:u});return}let d=l==="raw"?Pr.parseHeaders(t):u,h=d["content-type"],f=d["content-length"],p=new Cte({resume:n,abort:a,contentType:h,contentLength:this.method!=="HEAD"&&f?Number(f):null,highWaterMark:c});if(this.removeAbortListener&&(p.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=p,i!==null)try{this.runInAsyncScope(i,null,null,{statusCode:e,statusText:s,headers:u,trailers:this.trailers,opaque:o,body:p,context:A})}catch(I){this.res=null,Pr.destroy(p.on("error",yl),I),queueMicrotask(()=>{throw I})}}onData(e){return this.res.push(e)}onComplete(e){Pr.parseHeaders(e,this.trailers),this.res.push(null)}onError(e){let{res:t,callback:n,body:s,opaque:i}=this;n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,e,{opaque:i})})),t&&(this.res=null,queueMicrotask(()=>{Pr.destroy(t.on("error",yl),e)})),s&&(this.body=null,Pr.isStream(s)&&(s.on("error",yl),Pr.destroy(s,e))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}};function BL(r,e){if(e===void 0)return new Promise((t,n)=>{BL.call(this,r,(s,i)=>s?n(s):t(i))});try{let t=new rf(r,e);this.dispatch(r,t)}catch(t){if(typeof e!="function")throw t;let n=r?.opaque;queueMicrotask(()=>e(t,{opaque:n}))}}wC.exports=BL;wC.exports.RequestHandler=rf});var El=g((Kpe,kL)=>{"use strict";var{addAbortListener:bte}=ue(),{RequestAbortedError:Qte}=le(),Qa=Symbol("kListener"),bn=Symbol("kSignal");function wL(r){r.abort?r.abort(r[bn]?.reason):r.reason=r[bn]?.reason??new Qte,DL(r)}function Bte(r,e){if(r.reason=null,r[bn]=null,r[Qa]=null,!!e){if(e.aborted){wL(r);return}r[bn]=e,r[Qa]=()=>{wL(r)},bte(r[bn],r[Qa])}}function DL(r){r[bn]&&("removeEventListener"in r[bn]?r[bn].removeEventListener("abort",r[Qa]):r[bn].removeListener("abort",r[Qa]),r[bn]=null,r[Qa]=null)}kL.exports={addSignal:Bte,removeSignal:DL}});var TL=g((Fpe,xL)=>{"use strict";var Ste=S("node:assert"),{finished:wte}=S("node:stream"),{AsyncResource:Dte}=S("node:async_hooks"),{InvalidArgumentError:Ba,InvalidReturnValueError:kte}=le(),ss=ue(),{addSignal:Rte,removeSignal:RL}=El();function vte(){}var DC=class extends Dte{constructor(e,t,n){if(!e||typeof e!="object")throw new Ba("invalid opts");let{signal:s,method:i,opaque:o,body:a,onInfo:A,responseHeaders:l}=e;try{if(typeof n!="function")throw new Ba("invalid callback");if(typeof t!="function")throw new Ba("invalid factory");if(s&&typeof s.on!="function"&&typeof s.addEventListener!="function")throw new Ba("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new Ba("invalid method");if(A&&typeof A!="function")throw new Ba("invalid onInfo callback");super("UNDICI_STREAM")}catch(c){throw ss.isStream(a)&&ss.destroy(a.on("error",vte),c),c}this.responseHeaders=l||null,this.opaque=o||null,this.factory=t,this.callback=n,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=a,this.onInfo=A||null,ss.isStream(a)&&a.on("error",c=>{this.onError(c)}),Rte(this,s)}onConnect(e,t){if(this.reason){e(this.reason);return}Ste(this.callback),this.abort=e,this.context=t}onHeaders(e,t,n,s){let{factory:i,opaque:o,context:a,responseHeaders:A}=this,l=A==="raw"?ss.parseRawHeaders(t):ss.parseHeaders(t);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:l});return}if(this.factory=null,i===null)return;let c=this.runInAsyncScope(i,null,{statusCode:e,headers:l,opaque:o,context:a});if(!c||typeof c.write!="function"||typeof c.end!="function"||typeof c.on!="function")throw new kte("expected Writable");return wte(c,{readable:!1},d=>{let{callback:h,res:f,opaque:p,trailers:I,abort:y}=this;this.res=null,(d||!f?.readable)&&ss.destroy(f,d),this.callback=null,this.runInAsyncScope(h,null,d||null,{opaque:p,trailers:I}),d&&y()}),c.on("drain",n),this.res=c,(c.writableNeedDrain!==void 0?c.writableNeedDrain:c._writableState?.needDrain)!==!0}onData(e){let{res:t}=this;return t?t.write(e):!0}onComplete(e){let{res:t}=this;RL(this),t&&(this.trailers=ss.parseHeaders(e),t.end())}onError(e){let{res:t,callback:n,opaque:s,body:i}=this;RL(this),this.factory=null,t?(this.res=null,ss.destroy(t,e)):n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,e,{opaque:s})})),i&&(this.body=null,ss.destroy(i,e))}};function vL(r,e,t){if(t===void 0)return new Promise((n,s)=>{vL.call(this,r,e,(i,o)=>i?s(i):n(o))});try{let n=new DC(r,e,t);this.dispatch(r,n)}catch(n){if(typeof t!="function")throw n;let s=r?.opaque;queueMicrotask(()=>t(n,{opaque:s}))}}xL.exports=vL});var FL=g((Lpe,KL)=>{"use strict";var{Readable:ML,Duplex:xte,PassThrough:Tte}=S("node:stream"),Nte=S("node:assert"),{AsyncResource:Mte}=S("node:async_hooks"),{InvalidArgumentError:Il,InvalidReturnValueError:Kte,RequestAbortedError:kC}=le(),Qn=ue(),{addSignal:Fte,removeSignal:Lte}=El();function NL(){}var Sa=Symbol("resume"),RC=class extends ML{constructor(){super({autoDestroy:!0}),this[Sa]=null}_read(){let{[Sa]:e}=this;e&&(this[Sa]=null,e())}_destroy(e,t){this._read(),t(e)}},vC=class extends ML{constructor(e){super({autoDestroy:!0}),this[Sa]=e}_read(){this[Sa]()}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new kC),t(e)}},xC=class extends Mte{constructor(e,t){if(!e||typeof e!="object")throw new Il("invalid opts");if(typeof t!="function")throw new Il("invalid handler");let{signal:n,method:s,opaque:i,onInfo:o,responseHeaders:a}=e;if(n&&typeof n.on!="function"&&typeof n.addEventListener!="function")throw new Il("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new Il("invalid method");if(o&&typeof o!="function")throw new Il("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=i||null,this.responseHeaders=a||null,this.handler=t,this.abort=null,this.context=null,this.onInfo=o||null,this.req=new RC().on("error",NL),this.ret=new xte({readableObjectMode:e.objectMode,autoDestroy:!0,read:()=>{let{body:A}=this;A?.resume&&A.resume()},write:(A,l,c)=>{let{req:u}=this;u.push(A,l)||u._readableState.destroyed?c():u[Sa]=c},destroy:(A,l)=>{let{body:c,req:u,res:d,ret:h,abort:f}=this;!A&&!h._readableState.endEmitted&&(A=new kC),f&&A&&f(),Qn.destroy(c,A),Qn.destroy(u,A),Qn.destroy(d,A),Lte(this),l(A)}}).on("prefinish",()=>{let{req:A}=this;A.push(null)}),this.res=null,Fte(this,n)}onConnect(e,t){let{res:n}=this;if(this.reason){e(this.reason);return}Nte(!n,"pipeline cannot be retried"),this.abort=e,this.context=t}onHeaders(e,t,n){let{opaque:s,handler:i,context:o}=this;if(e<200){if(this.onInfo){let A=this.responseHeaders==="raw"?Qn.parseRawHeaders(t):Qn.parseHeaders(t);this.onInfo({statusCode:e,headers:A})}return}this.res=new vC(n);let a;try{this.handler=null;let A=this.responseHeaders==="raw"?Qn.parseRawHeaders(t):Qn.parseHeaders(t);a=this.runInAsyncScope(i,null,{statusCode:e,headers:A,opaque:s,body:this.res,context:o})}catch(A){throw this.res.on("error",NL),A}if(!a||typeof a.on!="function")throw new Kte("expected Readable");a.on("data",A=>{let{ret:l,body:c}=this;!l.push(A)&&c.pause&&c.pause()}).on("error",A=>{let{ret:l}=this;Qn.destroy(l,A)}).on("end",()=>{let{ret:A}=this;A.push(null)}).on("close",()=>{let{ret:A}=this;A._readableState.ended||Qn.destroy(A,new kC)}),this.body=a}onData(e){let{res:t}=this;return t.push(e)}onComplete(e){let{res:t}=this;t.push(null)}onError(e){let{ret:t}=this;this.handler=null,Qn.destroy(t,e)}};function Ote(r,e){try{let t=new xC(r,e);return this.dispatch({...r,body:t.req},t),t.ret}catch(t){return new Tte().destroy(t)}}KL.exports=Ote});var _L=g((Ope,PL)=>{"use strict";var{InvalidArgumentError:TC,SocketError:Ute}=le(),{AsyncResource:jte}=S("node:async_hooks"),LL=S("node:assert"),OL=ue(),{kHTTP2Stream:Pte}=Ke(),{addSignal:_te,removeSignal:UL}=El(),NC=class extends jte{constructor(e,t){if(!e||typeof e!="object")throw new TC("invalid opts");if(typeof t!="function")throw new TC("invalid callback");let{signal:n,opaque:s,responseHeaders:i}=e;if(n&&typeof n.on!="function"&&typeof n.addEventListener!="function")throw new TC("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=i||null,this.opaque=s||null,this.callback=t,this.abort=null,this.context=null,_te(this,n)}onConnect(e,t){if(this.reason){e(this.reason);return}LL(this.callback),this.abort=e,this.context=null}onHeaders(){throw new Ute("bad upgrade",null)}onUpgrade(e,t,n){LL(n[Pte]===!0?e===200:e===101);let{callback:s,opaque:i,context:o}=this;UL(this),this.callback=null;let a=this.responseHeaders==="raw"?OL.parseRawHeaders(t):OL.parseHeaders(t);this.runInAsyncScope(s,null,null,{headers:a,socket:n,opaque:i,context:o})}onError(e){let{callback:t,opaque:n}=this;UL(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:n})}))}};function jL(r,e){if(e===void 0)return new Promise((t,n)=>{jL.call(this,r,(s,i)=>s?n(s):t(i))});try{let t=new NC(r,e),n={...r,method:r.method||"GET",upgrade:r.protocol||"Websocket"};this.dispatch(n,t)}catch(t){if(typeof e!="function")throw t;let n=r?.opaque;queueMicrotask(()=>e(t,{opaque:n}))}}PL.exports=jL});var VL=g((Upe,GL)=>{"use strict";var Jte=S("node:assert"),{AsyncResource:Yte}=S("node:async_hooks"),{InvalidArgumentError:MC,SocketError:qte}=le(),JL=ue(),{addSignal:Gte,removeSignal:YL}=El(),KC=class extends Yte{constructor(e,t){if(!e||typeof e!="object")throw new MC("invalid opts");if(typeof t!="function")throw new MC("invalid callback");let{signal:n,opaque:s,responseHeaders:i}=e;if(n&&typeof n.on!="function"&&typeof n.addEventListener!="function")throw new MC("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=s||null,this.responseHeaders=i||null,this.callback=t,this.abort=null,Gte(this,n)}onConnect(e,t){if(this.reason){e(this.reason);return}Jte(this.callback),this.abort=e,this.context=t}onHeaders(){throw new qte("bad connect",null)}onUpgrade(e,t,n){let{callback:s,opaque:i,context:o}=this;YL(this),this.callback=null;let a=t;a!=null&&(a=this.responseHeaders==="raw"?JL.parseRawHeaders(t):JL.parseHeaders(t)),this.runInAsyncScope(s,null,null,{statusCode:e,headers:a,socket:n,opaque:i,context:o})}onError(e){let{callback:t,opaque:n}=this;YL(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:n})}))}};function qL(r,e){if(e===void 0)return new Promise((t,n)=>{qL.call(this,r,(s,i)=>s?n(s):t(i))});try{let t=new KC(r,e),n={...r,method:"CONNECT"};this.dispatch(n,t)}catch(t){if(typeof e!="function")throw t;let n=r?.opaque;queueMicrotask(()=>e(t,{opaque:n}))}}GL.exports=qL});var HL=g((jpe,wa)=>{"use strict";wa.exports.request=SL();wa.exports.stream=TL();wa.exports.pipeline=FL();wa.exports.upgrade=_L();wa.exports.connect=VL()});var LC=g((Ppe,zL)=>{"use strict";var{UndiciError:Vte}=le(),WL=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"),FC=class extends Vte{constructor(e){super(e),this.name="MockNotMatchedError",this.message=e||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](e){return e&&e[WL]===!0}get[WL](){return!0}};zL.exports={MockNotMatchedError:FC}});var io=g((_pe,ZL)=>{"use strict";ZL.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOriginalDispatch:Symbol("original dispatch"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected"),kIgnoreTrailingSlash:Symbol("ignore trailing slash"),kMockAgentMockCallHistoryInstance:Symbol("mock agent mock call history name"),kMockAgentRegisterCallHistory:Symbol("mock agent register mock call history"),kMockAgentAddCallHistoryLog:Symbol("mock agent add call history log"),kMockAgentIsCallHistoryEnabled:Symbol("mock agent is call history enabled"),kMockAgentAcceptsNonStandardSearchParameters:Symbol("mock agent accepts non standard search parameters"),kMockCallHistoryAddLog:Symbol("mock call history add log"),kTotalDispatchCount:Symbol("total dispatch count")}});var ml=g((Jpe,AO)=>{"use strict";var{MockNotMatchedError:Da}=LC(),{kDispatches:oo,kMockAgent:Hte,kOriginalDispatch:Wte,kOrigin:zte,kGetNetConnect:Zte,kTotalDispatchCount:jC}=io(),{serializePathWithQuery:Xte}=ue(),{STATUS_CODES:$te}=S("node:http"),{types:{isPromise:ere}}=S("node:util"),{InvalidArgumentError:OC}=le();function Bn(r,e){return typeof r=="string"?r===e:r instanceof RegExp?r.test(e):typeof r=="function"?r(e)===!0:!1}function $L(r){return Object.fromEntries(Object.entries(r).map(([e,t])=>[e.toLocaleLowerCase(),t]))}function eO(r,e){if(Array.isArray(r)){for(let t=0;t<r.length;t+=2)if(r[t].toLocaleLowerCase()===e.toLocaleLowerCase())return r[t+1];return}else return typeof r.get=="function"?r.get(e):$L(r)[e.toLocaleLowerCase()]}function JC(r){let e=r.slice(),t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);return Object.fromEntries(t)}function tO(r,e){if(typeof r.headers=="function")return Array.isArray(e)&&(e=JC(e)),r.headers(e?$L(e):{});if(typeof r.headers>"u")return!0;if(typeof e!="object"||typeof r.headers!="object")return!1;for(let[t,n]of Object.entries(r.headers)){let s=eO(e,t);if(!Bn(n,s))return!1}return!0}function tre(r){if(typeof r!="string")return r;let e=new URLSearchParams(r),t=new URLSearchParams;for(let[n,s]of e.entries()){if(n=n.replace("[]",""),/^(['"]).*\1$/.test(s)){t.append(n,s);continue}if(s.includes(",")){let o=s.split(",");for(let a of o)t.append(n,a);continue}t.append(n,s)}return t}function UC(r){if(typeof r!="string")return r;let e=r.split("?",3);if(e.length!==2)return r;let t=new URLSearchParams(e.pop());return t.sort(),[...e,t.toString()].join("?")}function rre(r,{path:e,method:t,body:n,headers:s}){let i=Bn(r.path,e),o=Bn(r.method,t),a=typeof r.body<"u"?Bn(r.body,n):!0,A=tO(r,s);return i&&o&&a&&A}function rO(r){return Buffer.isBuffer(r)||r instanceof Uint8Array||r instanceof ArrayBuffer?r:typeof r=="object"?JSON.stringify(r):r?r.toString():""}function nO(r,e){let t=e.query?Xte(e.path,e.query):e.path,n=typeof t=="string"?UC(t):t,s=XL(n),i=r.filter(({consumed:o})=>!o).filter(({path:o,ignoreTrailingSlash:a})=>a?Bn(XL(UC(o)),s):Bn(UC(o),n));if(i.length===0)throw new Da(`Mock dispatch not matched for path '${n}'`);if(i=i.filter(({method:o})=>Bn(o,e.method)),i.length===0)throw new Da(`Mock dispatch not matched for method '${e.method}' on path '${n}'`);if(i=i.filter(({body:o})=>typeof o<"u"?Bn(o,e.body):!0),i.length===0)throw new Da(`Mock dispatch not matched for body '${e.body}' on path '${n}'`);if(i=i.filter(o=>tO(o,e.headers)),i.length===0){let o=typeof e.headers=="object"?JSON.stringify(e.headers):e.headers;throw new Da(`Mock dispatch not matched for headers '${o}' on path '${n}'`)}return i[0]}function nre(r,e,t,n){let s={timesInvoked:0,times:1,persist:!1,consumed:!1,...n},i=typeof t=="function"?{callback:t}:{...t},o={...s,...e,pending:!0,data:{error:null,...i}};return r.push(o),r[jC]=(r[jC]||0)+1,o}function PC(r,e){let t=r.findIndex(n=>n.consumed?rre(n,e):!1);t!==-1&&r.splice(t,1)}function XL(r){for(;r.endsWith("/");)r=r.slice(0,-1);return r.length===0&&(r="/"),r}function sO(r){let{path:e,method:t,body:n,headers:s,query:i}=r;return{path:e,method:t,body:n,headers:s,query:i}}function _C(r){let e=Object.keys(r),t=[];for(let n=0;n<e.length;++n){let s=e[n],i=r[s],o=Buffer.from(`${s}`);if(Array.isArray(i))for(let a=0;a<i.length;++a)t.push(o,Buffer.from(`${i[a]}`));else t.push(o,Buffer.from(`${i}`))}return t}function iO(r){return $te[r]||"unknown"}async function sre(r){let e=[];for await(let t of r)e.push(t);return Buffer.concat(e).toString("utf8")}function oO(r,e){let t=sO(r),n=nO(this[oo],t);n.timesInvoked++,n.data.callback&&(n.data={...n.data,...n.data.callback(r)});let{data:{statusCode:s,data:i,headers:o,trailers:a,error:A},delay:l,persist:c}=n,{timesInvoked:u,times:d}=n;if(n.consumed=!c&&u>=d,n.pending=u<d,A!==null)return PC(this[oo],t),e.onError(A),!0;let h=!1,f=null;function p(m){h||(h=!0,f!==null&&(clearTimeout(f),f=null),e.onError(m))}e.onConnect?.(p,null),typeof l=="number"&&l>0?f=setTimeout(()=>{f=null,I(this[oo])},l):I(this[oo]);function I(m,w=i){if(h)return;let R=Array.isArray(r.headers)?JC(r.headers):r.headers,L=typeof w=="function"?w({...r,headers:R}):w;if(ere(L))return L.then(K=>I(m,K));if(h)return;let j=rO(L),v=_C(o),C=_C(a);e.onHeaders?.(s,v,y,iO(s)),e.onData?.(Buffer.from(j)),e.onComplete?.(C),PC(m,t)}function y(){}return!0}function ire(){let r=this[Hte],e=this[zte],t=this[Wte];return function(s,i){if(r.isMockActive)try{oO.call(this,s,i)}catch(o){if(o.code==="UND_MOCK_ERR_MOCK_NOT_MATCHED"){let a=r[Zte](),A=this[oo][jC]||this[oo].length,c=`, ${this[oo].filter(({consumed:u})=>!u).length} interceptor(s) remaining out of ${A} defined`;if(a===!1)throw new Da(`${o.message}: subsequent request to origin ${e} was not allowed (net.connect disabled)${c}`);if(aO(a,e))t.call(this,s,i);else throw new Da(`${o.message}: subsequent request to origin ${e} was not allowed (net.connect is not enabled for this origin)${c}`)}else throw o}else t.call(this,s,i)}}function aO(r,e){let t=new URL(e);return r===!0?!0:!!(Array.isArray(r)&&r.some(n=>Bn(n,t.host)))}function ore(r){return typeof r!="string"&&!(r instanceof URL)?r:r instanceof URL?r.origin:r.toLowerCase()}function are(r){let{agent:e,...t}=r;if("enableCallHistory"in t&&typeof t.enableCallHistory!="boolean")throw new OC("options.enableCallHistory must to be a boolean");if("acceptNonStandardSearchParameters"in t&&typeof t.acceptNonStandardSearchParameters!="boolean")throw new OC("options.acceptNonStandardSearchParameters must to be a boolean");if("ignoreTrailingSlash"in t&&typeof t.ignoreTrailingSlash!="boolean")throw new OC("options.ignoreTrailingSlash must to be a boolean");return t}AO.exports={getResponseData:rO,getMockDispatch:nO,addMockDispatch:nre,deleteMockDispatch:PC,buildKey:sO,generateKeyValues:_C,matchValue:Bn,getResponse:sre,getStatusText:iO,mockDispatch:oO,buildMockDispatch:ire,checkNetConnect:aO,buildAndValidateMockOptions:are,getHeaderByName:eO,buildHeadersFromArray:JC,normalizeSearchParams:tre,normalizeOrigin:ore}});var zC=g((Ype,WC)=>{"use strict";var{getResponseData:Are,buildKey:lre,addMockDispatch:YC}=ml(),{kDispatches:nf,kDispatchKey:sf,kDefaultHeaders:qC,kDefaultTrailers:GC,kContentLength:VC,kMockDispatch:of,kIgnoreTrailingSlash:af}=io(),{InvalidArgumentError:Sn}=le(),{serializePathWithQuery:cre}=ue(),ka=class{constructor(e){this[of]=e}delay(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new Sn("waitInMs must be a valid integer > 0");return this[of].delay=e,this}persist(){return this[of].persist=!0,this}times(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new Sn("repeatTimes must be a valid integer > 0");return this[of].times=e,this}},HC=class{constructor(e,t){if(typeof e!="object")throw new Sn("opts must be an object");if(typeof e.path>"u")throw new Sn("opts.path must be defined");if(typeof e.method>"u"&&(e.method="GET"),typeof e.path=="string")if(e.query)e.path=cre(e.path,e.query);else{let n=new URL(e.path,"data://");e.path=n.pathname+n.search}typeof e.method=="string"&&(e.method=e.method.toUpperCase()),this[sf]=lre(e),this[nf]=t,this[af]=e.ignoreTrailingSlash??!1,this[qC]={},this[GC]={},this[VC]=!1}createMockScopeDispatchData({statusCode:e,data:t,responseOptions:n}){let s=Are(t),i=this[VC]?{"content-length":s.length}:{},o={...this[qC],...i,...n.headers},a={...this[GC],...n.trailers};return{statusCode:e,data:t,headers:o,trailers:a}}validateReplyParameters(e){if(typeof e.statusCode>"u")throw new Sn("statusCode must be defined");if(typeof e.responseOptions!="object"||e.responseOptions===null)throw new Sn("responseOptions must be an object")}reply(e){if(typeof e=="function"){let i=a=>{let A=e(a);if(typeof A!="object"||A===null)throw new Sn("reply options callback must return an object");let l={data:"",responseOptions:{},...A};return this.validateReplyParameters(l),{...this.createMockScopeDispatchData(l)}},o=YC(this[nf],this[sf],i,{ignoreTrailingSlash:this[af]});return new ka(o)}let t={statusCode:e,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(t);let n=this.createMockScopeDispatchData(t),s=YC(this[nf],this[sf],n,{ignoreTrailingSlash:this[af]});return new ka(s)}replyWithError(e){if(typeof e>"u")throw new Sn("error must be defined");let t=YC(this[nf],this[sf],{error:e},{ignoreTrailingSlash:this[af]});return new ka(t)}defaultReplyHeaders(e){if(typeof e>"u")throw new Sn("headers must be defined");return this[qC]=e,this}defaultReplyTrailers(e){if(typeof e>"u")throw new Sn("trailers must be defined");return this[GC]=e,this}replyContentLength(){return this[VC]=!0,this}};WC.exports.MockInterceptor=HC;WC.exports.MockScope=ka});var eb=g((qpe,gO)=>{"use strict";var{promisify:ure}=S("node:util"),dre=Ys(),{buildMockDispatch:hre}=ml(),{kDispatches:ZC,kMockAgent:lO,kClose:cO,kOriginalClose:uO,kOrigin:dO,kOriginalDispatch:fre,kConnected:XC,kIgnoreTrailingSlash:hO}=io(),{MockInterceptor:gre}=zC(),fO=Ke(),{InvalidArgumentError:pre}=le(),$C=class extends dre{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!="function")throw new pre("Argument opts.agent must implement Agent");super(e,t),this[lO]=t.agent,this[dO]=e,this[hO]=t.ignoreTrailingSlash??!1,this[ZC]=[],this[XC]=1,this[fre]=this.dispatch,this[uO]=this.close.bind(this),this.dispatch=hre.call(this),this.close=this[cO]}get[fO.kConnected](){return this[XC]}intercept(e){return new gre(e&&{ignoreTrailingSlash:this[hO],...e},this[ZC])}cleanMocks(){this[ZC]=[]}async[cO](){await ure(this[uO])(),this[XC]=0,this[lO][fO.kClients].delete(this[dO])}};gO.exports=$C});var nb=g((Gpe,rb)=>{"use strict";var{kMockCallHistoryAddLog:yre}=io(),{InvalidArgumentError:$s}=le();function Zs(r,e,t,n,s){switch(e.operator){case"OR":return n.push(...t(r,s)),n;case"AND":return t(r,n);default:throw new $s("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function Ere(r={}){let e={};if("operator"in r){if(typeof r.operator!="string"||r.operator.toUpperCase()!=="OR"&&r.operator.toUpperCase()!=="AND")throw new $s("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...e,operator:r.operator.toUpperCase()}}return e}function Xs(r){return(e,t)=>{if(typeof e=="string"||e==null)return t.filter(n=>n[r]===e);if(e instanceof RegExp)return t.filter(n=>e.test(n[r]));throw new $s(`${r} parameter should be one of string, regexp, undefined or null`)}}function Ire(r){try{let e=new URL(r.path,r.origin);return e.search.length!==0||(e.search=new URLSearchParams(r.query).toString()),e}catch(e){throw new $s("An error occurred when computing MockCallHistoryLog.url",{cause:e})}}var Af=class{constructor(e={}){this.body=e.body,this.headers=e.headers,this.method=e.method;let t=Ire(e);this.fullUrl=t.toString(),this.origin=t.origin,this.path=t.pathname,this.searchParams=Object.fromEntries(t.searchParams),this.protocol=t.protocol,this.host=t.host,this.port=t.port,this.hash=t.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){let e={betweenKeyValueSeparator:"->",betweenPairSeparator:"|"},t="";return this.toMap().forEach((n,s)=>{(typeof n=="string"||n===void 0||n===null)&&(t=`${t}${s}${e.betweenKeyValueSeparator}${n}${e.betweenPairSeparator}`),(typeof n=="object"&&n!==null||Array.isArray(n))&&(t=`${t}${s}${e.betweenKeyValueSeparator}${JSON.stringify(n)}${e.betweenPairSeparator}`)}),t.slice(0,-1)}},tb=class{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(e){if(typeof e!="number")throw new $s("nthCall must be called with a number");if(!Number.isInteger(e))throw new $s("nthCall must be called with an integer");if(Math.sign(e)!==1)throw new $s("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(e-1)}filterCalls(e,t){if(this.logs.length===0)return this.logs;if(typeof e=="function")return this.logs.filter(e);if(e instanceof RegExp)return this.logs.filter(n=>e.test(n.toString()));if(typeof e=="object"&&e!==null){if(Object.keys(e).length===0)return this.logs;let n={operator:"OR",...Ere(t)},s=n.operator==="AND"?this.logs:[];return"protocol"in e&&(s=Zs(e.protocol,n,this.filterCallsByProtocol,s,this.logs)),"host"in e&&(s=Zs(e.host,n,this.filterCallsByHost,s,this.logs)),"port"in e&&(s=Zs(e.port,n,this.filterCallsByPort,s,this.logs)),"origin"in e&&(s=Zs(e.origin,n,this.filterCallsByOrigin,s,this.logs)),"path"in e&&(s=Zs(e.path,n,this.filterCallsByPath,s,this.logs)),"hash"in e&&(s=Zs(e.hash,n,this.filterCallsByHash,s,this.logs)),"fullUrl"in e&&(s=Zs(e.fullUrl,n,this.filterCallsByFullUrl,s,this.logs)),"method"in e&&(s=Zs(e.method,n,this.filterCallsByMethod,s,this.logs)),[...new Set(s)]}throw new $s("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=Xs.call(this,"protocol");filterCallsByHost=Xs.call(this,"host");filterCallsByPort=Xs.call(this,"port");filterCallsByOrigin=Xs.call(this,"origin");filterCallsByPath=Xs.call(this,"path");filterCallsByHash=Xs.call(this,"hash");filterCallsByFullUrl=Xs.call(this,"fullUrl");filterCallsByMethod=Xs.call(this,"method");clear(){this.logs=[]}[yre](e){let t=new Af(e);return this.logs.push(t),t}*[Symbol.iterator](){for(let e of this.calls())yield e}};rb.exports.MockCallHistory=tb;rb.exports.MockCallHistoryLog=Af});var ab=g((Vpe,bO)=>{"use strict";var{promisify:mre}=S("node:util"),Cre=Wi(),{buildMockDispatch:bre}=ml(),{kDispatches:sb,kMockAgent:pO,kClose:yO,kOriginalClose:EO,kOrigin:IO,kOriginalDispatch:Qre,kConnected:ib,kIgnoreTrailingSlash:mO}=io(),{MockInterceptor:Bre}=zC(),CO=Ke(),{InvalidArgumentError:Sre}=le(),ob=class extends Cre{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!="function")throw new Sre("Argument opts.agent must implement Agent");super(e,t),this[pO]=t.agent,this[IO]=e,this[mO]=t.ignoreTrailingSlash??!1,this[sb]=[],this[ib]=1,this[Qre]=this.dispatch,this[EO]=this.close.bind(this),this.dispatch=bre.call(this),this.close=this[yO]}get[CO.kConnected](){return this[ib]}intercept(e){return new Bre(e&&{ignoreTrailingSlash:this[mO],...e},this[sb])}cleanMocks(){this[sb]=[]}async[yO](){await mre(this[EO])(),this[ib]=0,this[pO][CO.kClients].delete(this[IO])}};bO.exports=ob});var BO=g((Wpe,QO)=>{"use strict";var{Transform:wre}=S("node:stream"),{Console:Dre}=S("node:console"),kre=process.versions.icu?"\u2705":"Y ",Rre=process.versions.icu?"\u274C":"N ";QO.exports=class{constructor({disableColors:e}={}){this.transform=new wre({transform(t,n,s){s(null,t)}}),this.logger=new Dre({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){let t=e.map(({method:n,path:s,data:{statusCode:i},persist:o,times:a,timesInvoked:A,origin:l})=>({Method:n,Origin:l,Path:s,"Status code":i,Persistent:o?kre:Rre,Invocations:A,Remaining:o?1/0:a-A}));return this.logger.table(t),this.transform.read().toString()}}});var db=g((zpe,xO)=>{"use strict";var{kClients:ao}=Ke(),vre=Xi(),{kAgent:Ab,kMockAgentSet:lf,kMockAgentGet:SO,kDispatches:lb,kIsMockActive:cf,kNetConnect:Ao,kGetNetConnect:xre,kOptions:uf,kFactory:df,kMockAgentRegisterCallHistory:cb,kMockAgentIsCallHistoryEnabled:Cl,kMockAgentAddCallHistoryLog:wO,kMockAgentMockCallHistoryInstance:Ra,kMockAgentAcceptsNonStandardSearchParameters:DO,kMockCallHistoryAddLog:Tre,kIgnoreTrailingSlash:kO}=io(),Nre=eb(),Mre=ab(),{matchValue:Kre,normalizeSearchParams:Fre,buildAndValidateMockOptions:Lre,normalizeOrigin:RO}=ml(),{InvalidArgumentError:vO,UndiciError:Ore}=le(),Ure=PA(),jre=BO(),{MockCallHistory:Pre}=nb(),ub=class extends Ure{constructor(e={}){super(e);let t=Lre(e);if(this[Ao]=!0,this[cf]=!0,this[Cl]=t.enableCallHistory??!1,this[DO]=t.acceptNonStandardSearchParameters??!1,this[kO]=t.ignoreTrailingSlash??!1,e?.agent&&typeof e.agent.dispatch!="function")throw new vO("Argument opts.agent must implement Agent");let n=e?.agent?e.agent:new vre(e);this[Ab]=n,this[ao]=n[ao],this[uf]=t,this[Cl]&&this[cb]()}get(e){let t=RO(e),n=this[kO]?t.replace(/\/$/,""):t,s=this[SO](n);return s||(s=this[df](n),this[lf](n,s)),s}dispatch(e,t){e.origin=RO(e.origin),this.get(e.origin),this[wO](e);let n=this[DO],s={...e};if(n&&s.path){let[i,o]=s.path.split("?"),a=Fre(o,n);s.path=`${i}?${a}`}return this[Ab].dispatch(s,t)}async close(){this.clearCallHistory(),await this[Ab].close(),this[ao].clear()}deactivate(){this[cf]=!1}activate(){this[cf]=!0}enableNetConnect(e){if(typeof e=="string"||typeof e=="function"||e instanceof RegExp)Array.isArray(this[Ao])?this[Ao].push(e):this[Ao]=[e];else if(typeof e>"u")this[Ao]=!0;else throw new vO("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[Ao]=!1}enableCallHistory(){return this[Cl]=!0,this}disableCallHistory(){return this[Cl]=!1,this}getCallHistory(){return this[Ra]}clearCallHistory(){this[Ra]!==void 0&&this[Ra].clear()}get isMockActive(){return this[cf]}[cb](){this[Ra]===void 0&&(this[Ra]=new Pre)}[wO](e){this[Cl]&&(this[cb](),this[Ra][Tre](e))}[lf](e,t){this[ao].set(e,{count:0,dispatcher:t})}[df](e){let t=Object.assign({agent:this},this[uf]);return this[uf]&&this[uf].connections===1?new Nre(e,t):new Mre(e,t)}[SO](e){let t=this[ao].get(e);if(t?.dispatcher)return t.dispatcher;if(typeof e!="string"){let n=this[df]("http://localhost:9999");return this[lf](e,n),n}for(let[n,s]of Array.from(this[ao]))if(s&&typeof n!="string"&&Kre(n,e)){let i=this[df](e);return this[lf](e,i),i[lb]=s.dispatcher[lb],i}}[xre](){return this[Ao]}pendingInterceptors(){let e=this[ao];return Array.from(e.entries()).flatMap(([t,n])=>n.dispatcher[lb].map(s=>({...s,origin:t}))).filter(({pending:t})=>t)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new jre}={}){let t=this.pendingInterceptors();if(t.length!==0)throw new Ore(t.length===1?`1 interceptor is pending:
|
|
8952
|
+
|
|
8953
|
+
${e.format(t)}`.trim():`${t.length} interceptors are pending:
|
|
8954
|
+
|
|
8955
|
+
${e.format(t)}`.trim())}};xO.exports=ub});var hb=g((Zpe,KO)=>{"use strict";var{InvalidArgumentError:_re}=le(),{runtimeFeatures:Jre}=Wn();function Yre(r={}){let{ignoreHeaders:e=[],excludeHeaders:t=[],matchHeaders:n=[],caseSensitive:s=!1}=r;return{ignore:new Set(e.map(i=>s?i:i.toLowerCase())),exclude:new Set(t.map(i=>s?i:i.toLowerCase())),match:new Set(n.map(i=>s?i:i.toLowerCase()))}}var TO=Jre.has("crypto")?S("node:crypto"):null,qre=TO?.hash?r=>TO.hash("sha256",r,"base64url"):r=>Buffer.from(r).toString("base64url");function MO(r){return Array.isArray(r)&&(r.length&1)===0}function Gre(r=[]){return r.length===0?()=>!1:function(t){let n;for(let s of r)if(typeof s=="string"){if(n||(n=t.toLowerCase()),n.includes(s.toLowerCase()))return!0}else if(s instanceof RegExp&&s.test(t))return!0;return!1}}function Vre(r){let e={};if(!r)return e;if(MO(r)){for(let t=0;t<r.length;t+=2){let n=r[t],s=r[t+1];if(n&&s!==void 0){let i=Buffer.isBuffer(n)?n.toString():n,o=Buffer.isBuffer(s)?s.toString():s;e[i.toLowerCase()]=o}}return e}if(r&&typeof r=="object")for(let[t,n]of Object.entries(r))t&&typeof t=="string"&&(e[t.toLowerCase()]=Array.isArray(n)?n.join(", "):String(n));return e}var NO=["record","playback","update"];function Hre(r){if(!NO.includes(r))throw new _re(`Invalid snapshot mode: ${r}. Must be one of: ${NO.join(", ")}`)}KO.exports={createHeaderFilters:Yre,hashId:qre,isUndiciHeaders:MO,normalizeHeaders:Vre,isUrlExcludedFactory:Gre,validateSnapshotMode:Hre}});var YO=g((Xpe,JO)=>{"use strict";var{writeFile:Wre,readFile:zre,mkdir:Zre}=S("node:fs/promises"),{dirname:Xre,resolve:FO}=S("node:path"),{setTimeout:$re,clearTimeout:LO}=S("node:timers"),{InvalidArgumentError:OO,UndiciError:ene}=le(),{hashId:tne,isUrlExcludedFactory:rne,normalizeHeaders:UO,createHeaderFilters:jO}=hb();function bl(r,e,t={}){let n=new URL(r.path,r.origin),s=r._normalizedHeaders||UO(r.headers);return r._normalizedHeaders||(r._normalizedHeaders=s),{method:r.method||"GET",url:t.matchQuery!==!1?n.toString():`${n.origin}${n.pathname}`,headers:PO(s,e,t),body:t.matchBody!==!1&&r.body?String(r.body):""}}function PO(r,e,t={}){if(!r||typeof r!="object")return{};let{caseSensitive:n=!1}=t,s={},{ignore:i,exclude:o,match:a}=e;for(let[A,l]of Object.entries(r)){let c=n?A:A.toLowerCase();o.has(c)||i.has(c)||a.size!==0&&!a.has(c)||(s[c]=l)}return s}function _O(r,e,t={}){if(!r||typeof r!="object")return{};let{caseSensitive:n=!1}=t,s={},{exclude:i}=e;for(let[o,a]of Object.entries(r)){let A=n?o:o.toLowerCase();i.has(A)||(s[A]=a)}return s}function Ql(r){let e=[r.method,r.url];if(r.headers&&typeof r.headers=="object"){let n=Object.keys(r.headers).sort();for(let s of n){let i=Array.isArray(r.headers[s])?r.headers[s]:[r.headers[s]];e.push(s);for(let o of i.sort())e.push(String(o))}}e.push(r.body);let t=e.join("|");return tne(t)}var fb=class{#e;#t;#r=new Map;#n;#i=1/0;#s=!1;#A;constructor(e={}){this.#n=e.snapshotPath,this.#i=e.maxSnapshots||1/0,this.#s=e.autoFlush||!1,this.flushInterval=e.flushInterval||3e4,this._flushTimer=null,this.matchOptions={matchHeaders:e.matchHeaders||[],ignoreHeaders:e.ignoreHeaders||[],excludeHeaders:e.excludeHeaders||[],matchBody:e.matchBody!==!1,matchQuery:e.matchQuery!==!1,caseSensitive:e.caseSensitive||!1},this.#A=jO(this.matchOptions),this.shouldRecord=e.shouldRecord||(()=>!0),this.shouldPlayback=e.shouldPlayback||(()=>!0),this.#t=rne(e.excludeUrls),this.#s&&this.#n&&this.#o()}async record(e,t){if(!this.shouldRecord(e)||this.isUrlExcluded(e))return;let n=bl(e,this.#A,this.matchOptions),s=Ql(n),i=UO(t.headers),o={statusCode:t.statusCode,headers:_O(i,this.#A,this.matchOptions),body:Buffer.isBuffer(t.body)?t.body.toString("base64"):Buffer.from(String(t.body||"")).toString("base64"),trailers:t.trailers};if(this.#r.size>=this.#i&&!this.#r.has(s)){let A=this.#r.keys().next().value;this.#r.delete(A)}let a=this.#r.get(s);a&&a.responses?(a.responses.push(o),a.timestamp=new Date().toISOString()):this.#r.set(s,{request:n,responses:[o],callCount:0,timestamp:new Date().toISOString()}),this.#s&&this.#n&&this.#l()}isUrlExcluded(e){let t=new URL(e.path,e.origin).toString();return this.#t(t)}findSnapshot(e){if(!this.shouldPlayback(e)||this.isUrlExcluded(e))return;let t=bl(e,this.#A,this.matchOptions),n=Ql(t),s=this.#r.get(n);if(!s)return;let i=s.callCount||0,o=Math.min(i,s.responses.length-1);return s.callCount=i+1,{...s,response:s.responses[o]}}async loadSnapshots(e){let t=e||this.#n;if(!t)throw new OO("Snapshot path is required");try{let n=await zre(FO(t),"utf8"),s=JSON.parse(n);if(Array.isArray(s)){this.#r.clear();for(let{hash:i,snapshot:o}of s)this.#r.set(i,o)}else this.#r=new Map(Object.entries(s))}catch(n){if(n.code==="ENOENT")this.#r.clear();else throw new ene(`Failed to load snapshots from ${t}`,{cause:n})}}async saveSnapshots(e){let t=e||this.#n;if(!t)throw new OO("Snapshot path is required");let n=FO(t);await Zre(Xre(n),{recursive:!0});let s=Array.from(this.#r.entries()).map(([i,o])=>({hash:i,snapshot:o}));await Wre(n,JSON.stringify(s,null,2),{flush:!0})}clear(){this.#r.clear()}getSnapshots(){return Array.from(this.#r.values())}size(){return this.#r.size}resetCallCounts(){for(let e of this.#r.values())e.callCount=0}deleteSnapshot(e){let t=bl(e,this.#A,this.matchOptions),n=Ql(t);return this.#r.delete(n)}getSnapshotInfo(e){let t=bl(e,this.#A,this.matchOptions),n=Ql(t),s=this.#r.get(n);return s?{hash:n,request:s.request,responseCount:s.responses?s.responses.length:s.response?1:0,callCount:s.callCount||0,timestamp:s.timestamp}:null}replaceSnapshots(e){if(this.#r.clear(),Array.isArray(e))for(let{hash:t,snapshot:n}of e)this.#r.set(t,n);else e&&typeof e=="object"&&(this.#r=new Map(Object.entries(e)))}#o(){return this.#l()}#a(){this.#e&&(LO(this.#e),this.saveSnapshots().catch(()=>{}),this.#e=null)}#l(){this.#e=$re(()=>{this.saveSnapshots().catch(()=>{}),this.#s?this.#e?.refresh():this.#e=null},1e3)}destroy(){this.#a(),this.#e&&(LO(this.#e),this.#e=null)}async close(){this.#n&&this.#r.size!==0&&await this.saveSnapshots(),this.destroy()}};JO.exports={SnapshotRecorder:fb,formatRequestKey:bl,createRequestHash:Ql,filterHeadersForMatching:PO,filterHeadersForStorage:_O,createHeaderFilters:jO}});var VO=g(($pe,GO)=>{"use strict";var nne=Xi(),sne=db(),{SnapshotRecorder:ine}=YO(),one=jA(),{InvalidArgumentError:ane,UndiciError:Ane}=le(),{validateSnapshotMode:lne}=hb(),Zt=Symbol("kSnapshotRecorder"),wn=Symbol("kSnapshotMode"),Bl=Symbol("kSnapshotPath"),gb=Symbol("kSnapshotLoaded"),hf=Symbol("kRealAgent"),qO=!1,pb=class extends sne{constructor(e={}){qO||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),qO=!0);let{mode:t="record",snapshotPath:n=null,...s}=e;if(super(s),lne(t),(t==="playback"||t==="update")&&!n)throw new ane(`snapshotPath is required when mode is '${t}'`);this[wn]=t,this[Bl]=n,this[Zt]=new ine({snapshotPath:this[Bl],mode:this[wn],maxSnapshots:e.maxSnapshots,autoFlush:e.autoFlush,flushInterval:e.flushInterval,matchHeaders:e.matchHeaders,ignoreHeaders:e.ignoreHeaders,excludeHeaders:e.excludeHeaders,matchBody:e.matchBody,matchQuery:e.matchQuery,caseSensitive:e.caseSensitive,shouldRecord:e.shouldRecord,shouldPlayback:e.shouldPlayback,excludeUrls:e.excludeUrls}),this[gb]=!1,(this[wn]==="record"||this[wn]==="update"||this[wn]==="playback"&&e.excludeUrls&&e.excludeUrls.length>0)&&(this[hf]=new nne(e)),(this[wn]==="playback"||this[wn]==="update")&&this[Bl]&&this.loadSnapshots().catch(()=>{})}dispatch(e,t){t=one.wrap(t);let n=this[wn];if(this[Zt].isUrlExcluded(e))return this[hf].dispatch(e,t);if(n==="playback"||n==="update"){if(!this[gb])return this.#e(e,t);let s=this[Zt].findSnapshot(e);if(s)return this.#r(s,t);if(n==="update")return this.#t(e,t);{let i=new Ane(`No snapshot found for ${e.method||"GET"} ${e.path}`);if(t.onError){t.onError(i);return}throw i}}else if(n==="record")return this.#t(e,t)}async#e(e,t){return await this.loadSnapshots(),this.dispatch(e,t)}#t(e,t){let n={statusCode:null,headers:{},trailers:{},body:[]},s=this,i={onRequestStart(a,A){return t.onRequestStart(a,{...A,history:this.history})},onRequestUpgrade(a,A,l,c){return t.onRequestUpgrade(a,A,l,c)},onResponseStart(a,A,l,c){return n.statusCode=A,n.headers=l,t.onResponseStart(a,A,l,c)},onResponseData(a,A){return n.body.push(A),t.onResponseData(a,A)},onResponseEnd(a,A){n.trailers=A;let l=Buffer.concat(n.body);s[Zt].record(e,{statusCode:n.statusCode,headers:n.headers,body:l,trailers:n.trailers}).then(()=>t.onResponseEnd(a,A)).catch(c=>t.onResponseError(a,c))}};return this[hf].dispatch(e,i)}#r(e,t){try{let{response:n}=e,s={pause(){},resume(){},abort(o){this.aborted=!0,this.reason=o},aborted:!1,paused:!1};t.onRequestStart(s),t.onResponseStart(s,n.statusCode,n.headers);let i=Buffer.from(n.body,"base64");t.onResponseData(s,i),t.onResponseEnd(s,n.trailers)}catch(n){t.onError?.(n)}}async loadSnapshots(e){await this[Zt].loadSnapshots(e||this[Bl]),this[gb]=!0,this[wn]==="playback"&&this.#n()}async saveSnapshots(e){return this[Zt].saveSnapshots(e||this[Bl])}#n(){for(let e of this[Zt].getSnapshots()){let{request:t,responses:n,response:s}=e,i=new URL(t.url),o=this.get(i.origin),a=n?n[0]:s;a&&o.intercept({path:i.pathname+i.search,method:t.method,headers:t.headers,body:t.body}).reply(a.statusCode,a.body,{headers:a.headers,trailers:a.trailers}).persist()}}getRecorder(){return this[Zt]}getMode(){return this[wn]}clearSnapshots(){this[Zt].clear()}resetCallCounts(){this[Zt].resetCallCounts()}deleteSnapshot(e){return this[Zt].deleteSnapshot(e)}getSnapshotInfo(e){return this[Zt].getSnapshotInfo(e)}replaceSnapshots(e){this[Zt].replaceSnapshots(e)}async close(){await this[Zt].close(),await this[hf]?.close(),await super.close()}};GO.exports=pb});var ff=g((eye,ZO)=>{"use strict";var cne=Symbol.for("undici.globalDispatcher.2"),HO=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:une}=le(),dne=Xi();zO()===void 0&&WO(new dne);function WO(r){if(!r||typeof r.dispatch!="function")throw new une("Argument agent must implement Agent");Object.defineProperty(globalThis,cne,{value:r,writable:!0,enumerable:!1,configurable:!1}),Object.defineProperty(globalThis,HO,{value:r,writable:!0,enumerable:!1,configurable:!1})}function zO(){return globalThis[HO]}var hne=["fetch","Headers","Response","Request","FormData","WebSocket","CloseEvent","ErrorEvent","MessageEvent","EventSource"];ZO.exports={setGlobalDispatcher:WO,getGlobalDispatcher:zO,installedExports:hne}});var va=g((rye,XO)=>{"use strict";var is=S("node:assert"),fne=jA();XO.exports=class{#e;#t=!1;#r=!1;#n=!1;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=fne.wrap(e)}onRequestStart(...e){this.#e.onRequestStart?.(...e)}onRequestUpgrade(...e){return is(!this.#t),is(!this.#r),this.#e.onRequestUpgrade?.(...e)}onResponseStart(...e){return is(!this.#t),is(!this.#r),is(!this.#n),this.#n=!0,this.#e.onResponseStart?.(...e)}onResponseData(...e){return is(!this.#t),is(!this.#r),this.#e.onResponseData?.(...e)}onResponseEnd(...e){return is(!this.#t),is(!this.#r),this.#t=!0,this.#e.onResponseEnd?.(...e)}onResponseError(...e){return this.#r=!0,this.#e.onResponseError?.(...e)}onBodySent(){}}});var mb=g((nye,rU)=>{"use strict";var Xt=ue(),{kBodyUsed:Sl}=Ke(),Ib=S("node:assert"),{InvalidArgumentError:yb}=le(),gne=S("node:events"),pne=[300,301,302,303,307,308],$O=Symbol("body"),eU=()=>{},gf=class{constructor(e){this[$O]=e,this[Sl]=!1}async*[Symbol.asyncIterator](){Ib(!this[Sl],"disturbed"),this[Sl]=!0,yield*this[$O]}},Eb=class r{static buildDispatch(e,t){if(t!=null&&(!Number.isInteger(t)||t<0))throw new yb("maxRedirections must be a positive number");let n=e.dispatch.bind(e);return(s,i)=>n(s,new r(n,t,s,i))}constructor(e,t,n,s){if(t!=null&&(!Number.isInteger(t)||t<0))throw new yb("maxRedirections must be a positive number");this.dispatch=e,this.location=null;let{maxRedirections:i,...o}=n;this.opts=o,this.maxRedirections=t,this.handler=s,this.history=[],Xt.isStream(this.opts.body)?(Xt.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){Ib(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[Sl]=!1,gne.prototype.on.call(this.opts.body,"data",function(){this[Sl]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new gf(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&Xt.isIterable(this.opts.body)&&!Xt.isFormDataLike(this.opts.body)&&(this.opts.body=new gf(this.opts.body))}onRequestStart(e,t){this.handler.onRequestStart?.(e,{...t,history:this.history})}onRequestUpgrade(e,t,n,s){this.handler.onRequestUpgrade?.(e,t,n,s)}onResponseStart(e,t,n,s){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw new Error("max redirects");if((t===301||t===302)&&this.opts.method==="POST"&&(this.opts.method="GET",Xt.isStream(this.opts.body)&&Xt.destroy(this.opts.body.on("error",eU)),this.opts.body=null),t===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",Xt.isStream(this.opts.body)&&Xt.destroy(this.opts.body.on("error",eU)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||Xt.isDisturbed(this.opts.body)||pne.indexOf(t)===-1?null:n.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location){this.handler.onResponseStart?.(e,t,n,s);return}let{origin:i,pathname:o,search:a}=Xt.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),A=a?`${o}${a}`:o,l=`${i}${A}`;for(let c of this.history)if(c.toString()===l)throw new yb(`Redirect loop detected. Cannot redirect to ${i}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=yne(this.opts.headers,t===303,this.opts.origin!==i),this.opts.path=A,this.opts.origin=i,this.opts.query=null}onResponseData(e,t){this.location||this.handler.onResponseData?.(e,t)}onResponseEnd(e,t){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(e,t)}onResponseError(e,t){this.handler.onResponseError?.(e,t)}};function tU(r,e,t){if(r.length===4)return Xt.headerNameToString(r)==="host";if(e&&Xt.headerNameToString(r).startsWith("content-"))return!0;if(t&&(r.length===13||r.length===6||r.length===19)){let n=Xt.headerNameToString(r);return n==="authorization"||n==="cookie"||n==="proxy-authorization"}return!1}function yne(r,e,t){let n=[];if(Array.isArray(r))for(let s=0;s<r.length;s+=2)tU(r[s],e,t)||n.push(r[s],r[s+1]);else if(r&&typeof r=="object"){let s=Xt.hasSafeIterator(r)?r:Object.entries(r);for(let[i,o]of s)tU(i,e,t)||n.push(i,o)}else Ib(r==null,"headers must be an object or an array");return n}rU.exports=Eb});var sU=g((sye,nU)=>{"use strict";var Ene=mb();function Ine({maxRedirections:r}={}){return e=>function(n,s){let{maxRedirections:i=r,...o}=n;if(i==null||i===0)return e(n,s);let a={...o},A=new Ene(e,i,a,s);return e(a,A)}}nU.exports=Ine});var oU=g((iye,iU)=>{"use strict";var mne=va(),{ResponseError:Cne}=le(),Cb=class extends mne{#e;#t;#r;#n;#i;constructor(e,{handler:t}){super(t)}#s(e){return(this.#t??"").indexOf(e)===0}onRequestStart(e,t){return this.#e=0,this.#t=null,this.#r=null,this.#n=null,this.#i="",super.onRequestStart(e,t)}onResponseStart(e,t,n,s){if(this.#e=t,this.#n=n,this.#t=n["content-type"],this.#e<400)return super.onResponseStart(e,t,n,s);(this.#s("application/json")||this.#s("text/plain"))&&(this.#r=new TextDecoder("utf-8"))}onResponseData(e,t){if(this.#e<400)return super.onResponseData(e,t);this.#i+=this.#r?.decode(t,{stream:!0})??""}onResponseEnd(e,t){if(this.#e>=400){if(this.#i+=this.#r?.decode(void 0,{stream:!1})??"",this.#s("application/json"))try{this.#i=JSON.parse(this.#i)}catch{}let n,s=Error.stackTraceLimit;Error.stackTraceLimit=0;try{n=new Cne("Response Error",this.#e,{body:this.#i,headers:this.#n})}finally{Error.stackTraceLimit=s}super.onResponseError(e,n)}else super.onResponseEnd(e,t)}onResponseError(e,t){super.onResponseError(e,t)}};iU.exports=()=>r=>function(t,n){return r(t,new Cb(t,{handler:n}))}});var AU=g((oye,aU)=>{"use strict";var bne=Xh();aU.exports=r=>e=>function(n,s){return e(n,new bne({...n,retryOptions:{...r,...n.retryOptions}},{handler:s,dispatch:e}))}});var cU=g((aye,lU)=>{"use strict";var{InvalidArgumentError:Qne,RequestAbortedError:Bne}=le(),Sne=va(),bb=class extends Sne{#e=1024*1024;#t=!1;#r=0;#n=null;aborted=!1;reason=!1;constructor({maxSize:e,signal:t},n){if(e!=null&&(!Number.isFinite(e)||e<1))throw new Qne("maxSize must be a number greater than 0");super(n),this.#e=e??this.#e}#i(e){this.aborted=!0,this.reason=e}onRequestStart(e,t){return e.abort=this.#i.bind(this),this.#n=e,super.onRequestStart(e,t)}onResponseStart(e,t,n,s){let i=n["content-length"];if(i!=null&&i>this.#e)throw new Bne(`Response size (${i}) larger than maxSize (${this.#e})`);return this.aborted===!0?!0:super.onResponseStart(e,t,n,s)}onResponseError(e,t){this.#t||(t=this.#n?.reason??t,super.onResponseError(e,t))}onResponseData(e,t){return this.#r=this.#r+t.length,this.#r>=this.#e&&(this.#t=!0,this.aborted===!0?super.onResponseError(e,this.reason):super.onResponseEnd(e,{})),!0}onResponseEnd(e,t){if(!this.#t){if(this.#n.aborted===!0){super.onResponseError(e,this.reason);return}super.onResponseEnd(e,t)}}};function wne({maxSize:r}={maxSize:1024*1024}){return e=>function(n,s){let{dumpMaxSize:i=r}=n,o=new bb({maxSize:i,signal:n.signal},s);return e(n,o)}}lU.exports=wne});var fU=g((Aye,hU)=>{"use strict";var{isIP:Dne}=S("node:net"),{lookup:kne}=S("node:dns"),Rne=va(),{InvalidArgumentError:lo,InformationalError:vne}=le(),Qb=Math.pow(2,31)-1;function xne(r){let e=Object.getPrototypeOf(r);return Object.prototype.hasOwnProperty.call(r,Symbol.iterator)||e!=null&&e!==Object.prototype&&typeof r[Symbol.iterator]=="function"}function uU(r){return typeof r=="string"&&r.toLowerCase()==="host"}function Tne(r){if(r==null)return null;if(Array.isArray(r)){if(r.length===0||!Array.isArray(r[0]))return r;let e=[];for(let t of r)Array.isArray(t)&&t.length===2?e.push(t[0],t[1]):e.push(t);return e}if(typeof r=="object"&&xne(r)){let e=[];for(let t of r)Array.isArray(t)&&t.length===2?e.push(t[0],t[1]):e.push(t);return e}return r}function Nne(r){if(r==null)return!1;if(Array.isArray(r)){if(r.length===0)return!1;for(let e=0;e<r.length;e+=2)if(uU(r[e]))return!0;return!1}if(typeof r=="object"){for(let e in r)if(uU(e))return!0}return!1}function dU(r,e){let t=Tne(e);return Nne(t)?t:Array.isArray(t)?["host",r,...t]:t&&typeof t=="object"?{host:r,...t}:{host:r}}var Bb=class{#e=0;#t=new Map;constructor(e){this.#e=e.maxItems}get size(){return this.#t.size}get(e){return this.#t.get(e)??null}set(e,t){this.#t.set(e,t)}delete(e){this.#t.delete(e)}full(){return this.size>=this.#e}},Sb=class{#e=0;#t=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#r,this.pick=e.pick??this.#n,this.storage=e.storage??new Bb(e)}runLookup(e,t,n){let s=this.storage.get(e.hostname);if(s==null&&this.storage.full()){n(null,e);return}let i={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#e,maxItems:this.#t};if(s==null)this.lookup(e,i,(o,a)=>{if(o||a==null||a.length===0){n(o??new vne("No DNS entries found"));return}this.setRecords(e,a);let A=this.storage.get(e.hostname),l=this.pick(e,A,i.affinity),c;typeof l.port=="number"?c=`:${l.port}`:e.port!==""?c=`:${e.port}`:c="",n(null,new URL(`${e.protocol}//${l.family===6?`[${l.address}]`:l.address}${c}`))});else{let o=this.pick(e,s,i.affinity);if(o==null){this.storage.delete(e.hostname),this.runLookup(e,t,n);return}let a;typeof o.port=="number"?a=`:${o.port}`:e.port!==""?a=`:${e.port}`:a="",n(null,new URL(`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${a}`))}}#r(e,t,n){kne(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,i)=>{if(s)return n(s);let o=new Map;for(let a of i)o.set(`${a.address}:${a.family}`,a);n(null,o.values())})}#n(e,t,n){let s=null,{records:i,offset:o}=t,a;if(this.dualStack?(n==null&&(o==null||o===Qb?(t.offset=0,n=4):(t.offset++,n=(t.offset&1)===1?6:4)),i[n]!=null&&i[n].ips.length>0?a=i[n]:a=i[n===4?6:4]):a=i[n],a==null||a.ips.length===0)return s;a.offset==null||a.offset===Qb?a.offset=0:a.offset++;let A=a.offset%a.ips.length;return s=a.ips[A]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(a.ips.splice(A,1),this.pick(e,t,n)):s}pickFamily(e,t){let n=this.storage.get(e.hostname)?.records;if(!n)return null;let s=n[t];if(!s)return null;s.offset==null||s.offset===Qb?s.offset=0:s.offset++;let i=s.offset%s.ips.length,o=s.ips[i]??null;return o==null||Date.now()-o.timestamp>o.ttl&&s.ips.splice(i,1),o}setRecords(e,t){let n=Date.now(),s={records:{4:null,6:null}},i=this.#e;for(let o of t){o.timestamp=n,typeof o.ttl=="number"?(o.ttl=Math.min(o.ttl,this.#e),i=Math.min(i,o.ttl)):o.ttl=this.#e;let a=s.records[o.family]??{ips:[]};a.ips.push(o),s.records[o.family]=a}this.storage.set(e.hostname,s,{ttl:i})}deleteRecords(e){this.storage.delete(e.hostname)}getHandler(e,t){return new wb(this,e,t)}},wb=class extends Rne{#e=null;#t=null;#r=null;#n=null;#i=null;#s=null;#A=!0;constructor(e,{origin:t,handler:n,dispatch:s,newOrigin:i},o){super(n),this.#n=t,this.#s=i,this.#t={...o},this.#e=e,this.#r=s}onResponseError(e,t){switch(t.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){if(!this.#A){super.onResponseError(e,t);return}this.#A=!1;let n=this.#s.hostname[0]==="["?4:6,s=this.#e.pickFamily(this.#n,n);if(s==null){super.onResponseError(e,t);return}let i;typeof s.port=="number"?i=`:${s.port}`:this.#n.port!==""?i=`:${this.#n.port}`:i="";let o={...this.#t,origin:`${this.#n.protocol}//${s.family===6?`[${s.address}]`:s.address}${i}`,headers:dU(this.#n.host,this.#t.headers)};this.#r(o,this);return}super.onResponseError(e,t);break}case"ENOTFOUND":this.#e.deleteRecords(this.#n),super.onResponseError(e,t);break;default:super.onResponseError(e,t);break}}};hU.exports=r=>{if(r?.maxTTL!=null&&(typeof r?.maxTTL!="number"||r?.maxTTL<0))throw new lo("Invalid maxTTL. Must be a positive number");if(r?.maxItems!=null&&(typeof r?.maxItems!="number"||r?.maxItems<1))throw new lo("Invalid maxItems. Must be a positive number and greater than zero");if(r?.affinity!=null&&r?.affinity!==4&&r?.affinity!==6)throw new lo("Invalid affinity. Must be either 4 or 6");if(r?.dualStack!=null&&typeof r?.dualStack!="boolean")throw new lo("Invalid dualStack. Must be a boolean");if(r?.lookup!=null&&typeof r?.lookup!="function")throw new lo("Invalid lookup. Must be a function");if(r?.pick!=null&&typeof r?.pick!="function")throw new lo("Invalid pick. Must be a function");if(r?.storage!=null&&(typeof r?.storage?.get!="function"||typeof r?.storage?.set!="function"||typeof r?.storage?.full!="function"||typeof r?.storage?.delete!="function"))throw new lo("Invalid storage. Must be a object with methods: { get, set, full, delete }");let e=r?.dualStack??!0,t;e?t=r?.affinity??null:t=r?.affinity??4;let n={maxTTL:r?.maxTTL??1e4,lookup:r?.lookup??null,pick:r?.pick??null,dualStack:e,affinity:t,maxItems:r?.maxItems??1/0,storage:r?.storage},s=new Sb(n);return i=>function(a,A){let l=a.origin.constructor===URL?a.origin:new URL(a.origin);return Dne(l.hostname)!==0?i(a,A):(s.runLookup(l,a,(c,u)=>{if(c)return A.onResponseError(null,c);let d={...a,servername:l.hostname,origin:u.origin,headers:dU(l.host,a.headers)};i(d,s.getHandler({origin:l,dispatch:i,handler:A,newOrigin:u},a))}),!0)}}});var xa=g((lye,SU)=>{"use strict";var{safeHTTPMethods:gU,pathHasQueryOrFragment:Mne,hasSafeIterator:Kne,isValidHTTPToken:wl}=ue(),{serializePathWithQuery:Fne}=ue(),Lne=2147483647,pU=["no-store","private","no-cache"],Db=Symbol("invalid cache-control directives");function co(r){return r.replace(/^[\t ]+|[\t ]+$/g,"")}function bU(r,e){for(let t=0;t<r.length;t++)if(r[t]===e)return!0;return!1}function yU(r){return r.replace(/^[\t ]+/,"")}function EU(r){return r.replace(/[\t ]+$/,"")}function IU(r,e){let t=!1;for(let n=e;n<r.length;n++)if(t)t=!1;else if(r[n]==="\\")t=!0;else if(r[n]==='"')return n;return-1}function One(r){let e=[],t=0,n=-1,s=!1,i=!1;for(let l=0;l<r.length;l++)s?i?i=!1:r[l]==="\\"?i=!0:r[l]==='"'&&(s=!1,n=-1):r[l]==='"'?(s=!0,n=l):r[l]===","&&(e.push({value:r.substring(t,l),fromMalformedQuote:!1}),t=l+1);if(!s)return e.push({value:r.substring(t),fromMalformedQuote:!1}),e;let o=r.substring(t),a=n-t,A=0;for(let l=0;l<o.length;l++)o[l]===","&&(e.push({value:o.substring(A,l),fromMalformedQuote:A>a}),A=l+1);return e.push({value:o.substring(A),fromMalformedQuote:A>a}),e}function mU(r,e){let t=r[Db];t===void 0&&(t=new Set,Object.defineProperty(r,Db,{value:t})),t.add(e)}function Une(r,e){return r[Db]?.has(e)===!0}function jne(r){for(let n of pU)if(r.startsWith(n)&&r.length>n.length&&!wl(r[n.length]))return n;let e="",t=!1;for(let n=0;n<r.length;n++)wl(r[n])?e+=r[n]:t=!0;if(t&&bU(pU,e))return e}function Pne(r){if(!r.origin)throw new Error("opts.origin is undefined");let e=r.path||"/";return r.query&&!Mne(e)&&(e=Fne(e,r.query)),{origin:r.origin.toString(),method:r.method,path:e,headers:r.headers}}function CU(r,e,t){let n=e.toLowerCase(),s=r[n],i=Array.isArray(t)?t:[t];s===void 0?r[n]=Array.isArray(t)?t.slice():t:Array.isArray(s)?s.push(...i):r[n]=[s,...i]}function _ne(r){let e;if(r.headers==null)e={};else if(typeof r.headers=="object")if(e={},Kne(r.headers))for(let t of r.headers){if(!Array.isArray(t))throw new Error("opts.headers is not a valid header map");let[n,s]=t;if(typeof n!="string"||typeof s!="string")throw new Error("opts.headers is not a valid header map");CU(e,n,s)}else for(let t of Object.keys(r.headers))CU(e,t,r.headers[t]);else throw new Error("opts.headers is not an object");return e}function Jne(r){if(typeof r!="object")throw new TypeError(`expected key to be object, got ${typeof r}`);for(let e of["origin","method","path"])if(typeof r[e]!="string")throw new TypeError(`expected key.${e} to be string, got ${typeof r[e]}`);if(r.headers!==void 0&&typeof r.headers!="object")throw new TypeError(`expected headers to be object, got ${typeof r}`)}function Yne(r){if(typeof r!="object")throw new TypeError(`expected value to be object, got ${typeof r}`);for(let e of["statusCode","cachedAt","staleAt","deleteAt"])if(typeof r[e]!="number")throw new TypeError(`expected value.${e} to be number, got ${typeof r[e]}`);if(typeof r.statusMessage!="string")throw new TypeError(`expected value.statusMessage to be string, got ${typeof r.statusMessage}`);if(r.headers!=null&&typeof r.headers!="object")throw new TypeError(`expected value.rawHeaders to be object, got ${typeof r.headers}`);if(r.vary!==void 0&&typeof r.vary!="object")throw new TypeError(`expected value.vary to be object, got ${typeof r.vary}`);if(r.etag!==void 0&&typeof r.etag!="string")throw new TypeError(`expected value.etag to be string, got ${typeof r.etag}`)}function qne(r){let e={},t=new Set,n=new Set,s=One(Array.isArray(r)?r.join(","):r);for(let i=0;i<s.length;i++){let o=s[i],a=o.value.toLowerCase(),A=o.fromMalformedQuote,l=a.indexOf("="),c,u,d=!1,h=!1;if(l!==-1){let p=a.substring(0,l),I=a.substring(l+1);d=EU(p)!==p,h=yU(I)!==I,c=co(p),u=yU(I)}else c=co(a);let f=jne(c);if(f!==void 0){e[f]=!0;continue}switch(c){case"min-fresh":case"max-stale":case"max-age":case"s-maxage":case"stale-while-revalidate":case"stale-if-error":{if(A||t.has(c))continue;if(u===void 0||d||h){delete e[c],t.add(c),mU(e,c);continue}if(u.length>=2&&u[0]==='"'&&u[u.length-1]==='"'&&(u=u.substring(1,u.length-1)),!/^[0-9]+$/.test(u)){delete e[c],t.add(c),mU(e,c);continue}let p=Math.min(parseInt(u,10),Lne);c==="min-fresh"?(!(c in e)||e[c]<p)&&(e[c]=p):(!(c in e)||e[c]>p)&&(e[c]=p);break}case"private":case"no-cache":{if(A){e[c]=!0;break}if(u!==void 0&&u.length===0){e[c]=!0;break}if(u){if(u[0]==='"'){u=EU(u);let p="",I=i,y=!1,m=IU(u,1);if(m!==-1)p=u.substring(1,m),y=!0;else{let L=[u.substring(1)];for(let j=i+1;j<s.length;j++){let v=co(s[j].value),C=IU(v,0);if(I=j,C!==-1){L.push(v.substring(0,C)),y=!0;break}L.push(v)}p=L.join(",")}if(!y){e[c]=!0;break}i=I;let w=p.split(","),R=!0;for(let L=0;L<w.length;L++)w[L]=co(w[L]),wl(w[L])||(R=!1);R?e[c]!==!0&&(c in e?e[c]=e[c].concat(w):e[c]=w):e[c]=!0}else{let p=co(u);wl(p)?e[c]!==!0&&(c in e?e[c]=e[c].concat(p):e[c]=[p]):e[c]=!0}break}}case"public":case"must-revalidate":case"proxy-revalidate":case"immutable":case"no-transform":case"must-understand":case"only-if-cached":if(A||n.has(c))continue;if(u!==void 0){delete e[c],n.add(c);continue}e[c]=!0;break;case"no-store":e[c]=!0;break;default:continue}}return e}function QU(r){let e=Array.isArray(r)?r:[r],t=[];for(let n=0;n<e.length;n++){let s=e[n].split(",");for(let i=0;i<s.length;i++)t.push(s[i])}return t}function kb(r){let e=QU(r);for(let t=0;t<e.length;t++)if(co(e[t]).indexOf("*")!==-1)return!0;return!1}function BU(r,e){if(kb(r))return e;let t={},n=QU(r);for(let s of n){let i=co(s).toLowerCase();if(i.length===0)continue;if(!wl(i))return;let o=e[i];t[i]=Array.isArray(o)?o.slice():o??null}return t}function Gne(r){return kb(r)||BU(r,{})===void 0}function Vne(r){return r.length<=2?!1:r[0]==='"'&&r[r.length-1]==='"'?!(r[1]==='"'||r.startsWith('"W/')):r.startsWith('W/"')&&r[r.length-1]==='"'?r.length!==4:!1}function Hne(r,e="CacheStore"){if(typeof r!="object"||r===null)throw new TypeError(`expected type of ${e} to be a CacheStore, got ${r===null?"null":typeof r}`);for(let t of["get","createWriteStream","delete"])if(typeof r[t]!="function")throw new TypeError(`${e} needs to have a \`${t}()\` function`)}function Wne(r,e="CacheMethods"){if(!Array.isArray(r))throw new TypeError(`expected type of ${e} needs to be an array, got ${r===null?"null":typeof r}`);if(r.length===0)throw new TypeError(`${e} needs to have at least one method`);for(let t of r)if(!bU(gU,t))throw new TypeError(`element of ${e}-array needs to be one of following values: ${gU.join(", ")}, got ${t}`)}function zne(r,e){let t={};if(r.headers){let n=Object.keys(r.headers).sort();for(let s of n)e?.has(s.toLowerCase())||(t[s]=r.headers[s])}return JSON.stringify([r.origin,r.method,r.path,t])}SU.exports={makeCacheKey:Pne,normalizeHeaders:_ne,assertCacheKey:Jne,assertCacheValue:Yne,parseCacheControlHeader:qne,hasInvalidCacheControlDirective:Une,parseVaryHeader:BU,hasVaryStar:kb,isInvalidOrWildcardVaryHeader:Gne,isEtagUsable:Vne,assertCacheMethods:Wne,assertCacheStore:Hne,makeDeduplicationKey:zne}});var vb=g((cye,wU)=>{"use strict";function Zne(r){switch(r[3]){case",":return Xne(r);case" ":return $ne(r);default:return ese(r)}}function Rb(r,e,t,n,s,i,o){let a=new Date(Date.UTC(r,e,t,n,s,i));return r>=0&&r<=99&&a.setUTCFullYear(r),a.getUTCFullYear()===r&&a.getUTCMonth()===e&&a.getUTCDate()===t&&a.getUTCHours()===n&&a.getUTCMinutes()===s&&a.getUTCSeconds()===i&&a.getUTCDay()===o?a:void 0}function Xne(r){if(r.length!==29||r[4]!==" "||r[7]!==" "||r[11]!==" "||r[16]!==" "||r[19]!==":"||r[22]!==":"||r[25]!==" "||r[26]!=="G"||r[27]!=="M"||r[28]!=="T")return;let e=-1;if(r[0]==="S"&&r[1]==="u"&&r[2]==="n")e=0;else if(r[0]==="M"&&r[1]==="o"&&r[2]==="n")e=1;else if(r[0]==="T"&&r[1]==="u"&&r[2]==="e")e=2;else if(r[0]==="W"&&r[1]==="e"&&r[2]==="d")e=3;else if(r[0]==="T"&&r[1]==="h"&&r[2]==="u")e=4;else if(r[0]==="F"&&r[1]==="r"&&r[2]==="i")e=5;else if(r[0]==="S"&&r[1]==="a"&&r[2]==="t")e=6;else return;let t=0;if(r[5]==="0"){let d=r.charCodeAt(6);if(d<49||d>57)return;t=d-48}else{let d=r.charCodeAt(5);if(d<49||d>51)return;let h=r.charCodeAt(6);if(h<48||h>57)return;t=(d-48)*10+(h-48)}let n=-1;if(r[8]==="J"&&r[9]==="a"&&r[10]==="n")n=0;else if(r[8]==="F"&&r[9]==="e"&&r[10]==="b")n=1;else if(r[8]==="M"&&r[9]==="a")if(r[10]==="r")n=2;else if(r[10]==="y")n=4;else return;else if(r[8]==="J")if(r[9]==="a"&&r[10]==="n")n=0;else if(r[9]==="u")if(r[10]==="n")n=5;else if(r[10]==="l")n=6;else return;else return;else if(r[8]==="A")if(r[9]==="p"&&r[10]==="r")n=3;else if(r[9]==="u"&&r[10]==="g")n=7;else return;else if(r[8]==="S"&&r[9]==="e"&&r[10]==="p")n=8;else if(r[8]==="O"&&r[9]==="c"&&r[10]==="t")n=9;else if(r[8]==="N"&&r[9]==="o"&&r[10]==="v")n=10;else if(r[8]==="D"&&r[9]==="e"&&r[10]==="c")n=11;else return;let s=r.charCodeAt(12);if(s<48||s>57)return;let i=r.charCodeAt(13);if(i<48||i>57)return;let o=r.charCodeAt(14);if(o<48||o>57)return;let a=r.charCodeAt(15);if(a<48||a>57)return;let A=(s-48)*1e3+(i-48)*100+(o-48)*10+(a-48),l=0;if(r[17]==="0"){let d=r.charCodeAt(18);if(d<48||d>57)return;l=d-48}else{let d=r.charCodeAt(17);if(d<48||d>50)return;let h=r.charCodeAt(18);if(h<48||h>57||d===50&&h>51)return;l=(d-48)*10+(h-48)}let c=0;if(r[20]==="0"){let d=r.charCodeAt(21);if(d<48||d>57)return;c=d-48}else{let d=r.charCodeAt(20);if(d<48||d>53)return;let h=r.charCodeAt(21);if(h<48||h>57)return;c=(d-48)*10+(h-48)}let u=0;if(r[23]==="0"){let d=r.charCodeAt(24);if(d<48||d>57)return;u=d-48}else{let d=r.charCodeAt(23);if(d<48||d>53)return;let h=r.charCodeAt(24);if(h<48||h>57)return;u=(d-48)*10+(h-48)}return Rb(A,n,t,l,c,u,e)}function $ne(r){if(r.length!==24||r[7]!==" "||r[10]!==" "||r[19]!==" ")return;let e=-1;if(r[0]==="S"&&r[1]==="u"&&r[2]==="n")e=0;else if(r[0]==="M"&&r[1]==="o"&&r[2]==="n")e=1;else if(r[0]==="T"&&r[1]==="u"&&r[2]==="e")e=2;else if(r[0]==="W"&&r[1]==="e"&&r[2]==="d")e=3;else if(r[0]==="T"&&r[1]==="h"&&r[2]==="u")e=4;else if(r[0]==="F"&&r[1]==="r"&&r[2]==="i")e=5;else if(r[0]==="S"&&r[1]==="a"&&r[2]==="t")e=6;else return;let t=-1;if(r[4]==="J"&&r[5]==="a"&&r[6]==="n")t=0;else if(r[4]==="F"&&r[5]==="e"&&r[6]==="b")t=1;else if(r[4]==="M"&&r[5]==="a")if(r[6]==="r")t=2;else if(r[6]==="y")t=4;else return;else if(r[4]==="J")if(r[5]==="a"&&r[6]==="n")t=0;else if(r[5]==="u")if(r[6]==="n")t=5;else if(r[6]==="l")t=6;else return;else return;else if(r[4]==="A")if(r[5]==="p"&&r[6]==="r")t=3;else if(r[5]==="u"&&r[6]==="g")t=7;else return;else if(r[4]==="S"&&r[5]==="e"&&r[6]==="p")t=8;else if(r[4]==="O"&&r[5]==="c"&&r[6]==="t")t=9;else if(r[4]==="N"&&r[5]==="o"&&r[6]==="v")t=10;else if(r[4]==="D"&&r[5]==="e"&&r[6]==="c")t=11;else return;let n=0;if(r[8]===" "){let d=r.charCodeAt(9);if(d<49||d>57)return;n=d-48}else{let d=r.charCodeAt(8);if(d<49||d>51)return;let h=r.charCodeAt(9);if(h<48||h>57)return;n=(d-48)*10+(h-48)}let s=0;if(r[11]==="0"){let d=r.charCodeAt(12);if(d<48||d>57)return;s=d-48}else{let d=r.charCodeAt(11);if(d<48||d>50)return;let h=r.charCodeAt(12);if(h<48||h>57||d===50&&h>51)return;s=(d-48)*10+(h-48)}let i=0;if(r[14]==="0"){let d=r.charCodeAt(15);if(d<48||d>57)return;i=d-48}else{let d=r.charCodeAt(14);if(d<48||d>53)return;let h=r.charCodeAt(15);if(h<48||h>57)return;i=(d-48)*10+(h-48)}let o=0;if(r[17]==="0"){let d=r.charCodeAt(18);if(d<48||d>57)return;o=d-48}else{let d=r.charCodeAt(17);if(d<48||d>53)return;let h=r.charCodeAt(18);if(h<48||h>57)return;o=(d-48)*10+(h-48)}let a=r.charCodeAt(20);if(a<48||a>57)return;let A=r.charCodeAt(21);if(A<48||A>57)return;let l=r.charCodeAt(22);if(l<48||l>57)return;let c=r.charCodeAt(23);if(c<48||c>57)return;let u=(a-48)*1e3+(A-48)*100+(l-48)*10+(c-48);return Rb(u,t,n,s,i,o,e)}function ese(r){let e=-1,t=-1;if(r[0]==="S")r[1]==="u"&&r[2]==="n"&&r[3]==="d"&&r[4]==="a"&&r[5]==="y"?(t=0,e=6):r[1]==="a"&&r[2]==="t"&&r[3]==="u"&&r[4]==="r"&&r[5]==="d"&&r[6]==="a"&&r[7]==="y"&&(t=6,e=8);else if(r[0]==="M"&&r[1]==="o"&&r[2]==="n"&&r[3]==="d"&&r[4]==="a"&&r[5]==="y")t=1,e=6;else if(r[0]==="T")r[1]==="u"&&r[2]==="e"&&r[3]==="s"&&r[4]==="d"&&r[5]==="a"&&r[6]==="y"?(t=2,e=7):r[1]==="h"&&r[2]==="u"&&r[3]==="r"&&r[4]==="s"&&r[5]==="d"&&r[6]==="a"&&r[7]==="y"&&(t=4,e=8);else if(r[0]==="W"&&r[1]==="e"&&r[2]==="d"&&r[3]==="n"&&r[4]==="e"&&r[5]==="s"&&r[6]==="d"&&r[7]==="a"&&r[8]==="y")t=3,e=9;else if(r[0]==="F"&&r[1]==="r"&&r[2]==="i"&&r[3]==="d"&&r[4]==="a"&&r[5]==="y")t=5,e=6;else return;if(r[e]!==","||r.length-e-1!==23||r[e+1]!==" "||r[e+4]!=="-"||r[e+8]!=="-"||r[e+11]!==" "||r[e+14]!==":"||r[e+17]!==":"||r[e+20]!==" "||r[e+21]!=="G"||r[e+22]!=="M"||r[e+23]!=="T")return;let n=0;if(r[e+2]==="0"){let u=r.charCodeAt(e+3);if(u<49||u>57)return;n=u-48}else{let u=r.charCodeAt(e+2);if(u<49||u>51)return;let d=r.charCodeAt(e+3);if(d<48||d>57)return;n=(u-48)*10+(d-48)}let s=-1;if(r[e+5]==="J"&&r[e+6]==="a"&&r[e+7]==="n")s=0;else if(r[e+5]==="F"&&r[e+6]==="e"&&r[e+7]==="b")s=1;else if(r[e+5]==="M"&&r[e+6]==="a"&&r[e+7]==="r")s=2;else if(r[e+5]==="A"&&r[e+6]==="p"&&r[e+7]==="r")s=3;else if(r[e+5]==="M"&&r[e+6]==="a"&&r[e+7]==="y")s=4;else if(r[e+5]==="J"&&r[e+6]==="u"&&r[e+7]==="n")s=5;else if(r[e+5]==="J"&&r[e+6]==="u"&&r[e+7]==="l")s=6;else if(r[e+5]==="A"&&r[e+6]==="u"&&r[e+7]==="g")s=7;else if(r[e+5]==="S"&&r[e+6]==="e"&&r[e+7]==="p")s=8;else if(r[e+5]==="O"&&r[e+6]==="c"&&r[e+7]==="t")s=9;else if(r[e+5]==="N"&&r[e+6]==="o"&&r[e+7]==="v")s=10;else if(r[e+5]==="D"&&r[e+6]==="e"&&r[e+7]==="c")s=11;else return;let i=r.charCodeAt(e+9);if(i<48||i>57)return;let o=r.charCodeAt(e+10);if(o<48||o>57)return;let a=(i-48)*10+(o-48);a+=a<70?2e3:1900;let A=0;if(r[e+12]==="0"){let u=r.charCodeAt(e+13);if(u<48||u>57)return;A=u-48}else{let u=r.charCodeAt(e+12);if(u<48||u>50)return;let d=r.charCodeAt(e+13);if(d<48||d>57||u===50&&d>51)return;A=(u-48)*10+(d-48)}let l=0;if(r[e+15]==="0"){let u=r.charCodeAt(e+16);if(u<48||u>57)return;l=u-48}else{let u=r.charCodeAt(e+15);if(u<48||u>53)return;let d=r.charCodeAt(e+16);if(d<48||d>57)return;l=(u-48)*10+(d-48)}let c=0;if(r[e+18]==="0"){let u=r.charCodeAt(e+19);if(u<48||u>57)return;c=u-48}else{let u=r.charCodeAt(e+18);if(u<48||u>53)return;let d=r.charCodeAt(e+19);if(d<48||d>57)return;c=(u-48)*10+(d-48)}return Rb(a,s,n,A,l,c,t)}wU.exports={parseHttpDate:Zne}});var NU=g((uye,TU)=>{"use strict";var xb=ue(),{parseCacheControlHeader:tse,hasInvalidCacheControlDirective:DU,parseVaryHeader:rse,hasVaryStar:nse,isInvalidOrWildcardVaryHeader:RU,isEtagUsable:sse}=xa(),{parseHttpDate:Tb}=vb();function ise(){}var vU=[200,203,204,206,300,301,308,404,405,410,414,501],ose=[206],Dl=2147483647e3;function ase(r){return r.replace(/^[\t ]+|[\t ]+$/g,"")}function Ta(r,e){for(let t=0;t<r.length;t++)if(r[t]===e)return!0;return!1}function Ase(r,e){let t=Array.isArray(e)?e:[e];for(let n=0;n<t.length;n++){let s=t[n].split(",");for(let i=0;i<s.length;i++)r.push(ase(s[i]).toLowerCase())}}function lse(r,e){if(typeof e!="string")return;let t,n,s;try{t=new URL(r.origin),n=new URL(r.path,t),s=new URL(e,n)}catch{return}if(s.origin===t.origin)return s.pathname+s.search}function xU(r,e,t){kl(r,{...e,path:t});for(let n=0;n<xb.safeHTTPMethods.length;n++){let s=xb.safeHTTPMethods[n];s!==e.method&&kl(r,{...e,method:s,path:t})}}function kU(r,e,t){if(t===void 0)return;let n=Array.isArray(t)?t:[t];for(let s=0;s<n.length;s++){let i=lse(e,n[s]);i!==void 0&&xU(r,e,i)}}function cse(r,e,t){xU(r,e,e.path),kU(r,e,t.location),kU(r,e,t["content-location"])}var Nb=class{#e;#t;#r;#n;#i;#s;constructor({store:e,type:t,cacheByDefault:n},s,i){this.#n=e,this.#t=t,this.#r=n,this.#e=s,this.#i=i}onRequestStart(e,t){this.#s?.destroy(),this.#s=void 0,this.#i.onRequestStart?.(e,t)}onRequestUpgrade(e,t,n,s){this.#i.onRequestUpgrade?.(e,t,n,s)}onResponseStart(e,t,n,s){let i=()=>this.#i.onResponseStart?.(e,t,n,s),o=this;if(!Ta(xb.safeHTTPMethods,this.#e.method)&&t>=200&&t<=399)return cse(this.#n,this.#e,n),i();let a=n["cache-control"],A=n["last-modified"]&&Ta(vU,t);if(!a&&!n.expires&&!A&&!this.#r)return t===304&&n.vary&&RU(n.vary)&&kl(this.#n,this.#e),i();let l=a?tse(a):{};if(!dse(this.#t,t,n,l,this.#e.headers))return t===304&&(a||use(this.#t,n,l))&&kl(this.#n,this.#e),i();let c=Date.now(),u=Object.hasOwn(n,"age")?fse(n.age):void 0;if(u!==void 0&&u>=Dl)return pf(t,this.#n,this.#e),i();let d=Object.hasOwn(n,"date")?hse(n.date):void 0;if(d===null)return pf(t,this.#n,this.#e),i();let h=d?Math.max(0,c-d.getTime()):0,f=Math.max(h,u??0),p=gse(this.#t,c,u,n,d,l)??this.#r;if(p===void 0||f>=p)return(a||p!==void 0)&&pf(t,this.#n,this.#e),i();let I=c-f,y=p+I;if(c>=y)return pf(t,this.#n,this.#e),i();let m;if(this.#e.headers&&n.vary&&(m=rse(n.vary,this.#e.headers),!m))return i();let w=I,R=pse(I,c,l,y),L=yse(n,l),j={statusCode:t,statusMessage:s,headers:L,vary:m,cacheControlDirectives:l,cachedAt:w,staleAt:y,deleteAt:R};if(t===304){let v=K=>{if(!K)return i();if(j.statusCode=K.statusCode,j.statusMessage=K.statusMessage,j.etag=K.etag,j.vary=m??K.vary,j.headers={...K.headers,...L},i(),this.#s=this.#n.createWriteStream(this.#e,j),!(!this.#s||!K?.body))if(typeof K.body.values=="function"){let O=K.body.values(),U=()=>{for(let x of O){let b=this.#s.write(x)===!1;if(this.#i.onResponseData?.(e,x),b)break}};this.#s.on("error",function(){o.#s=void 0,o.#n.delete(o.#e)}).on("drain",()=>{U()}).on("close",function(){o.#s===this&&(o.#s=void 0)}),U()}else typeof K.body.on=="function"&&(K.body.on("data",O=>{this.#s.write(O),this.#i.onResponseData?.(e,O)}).on("end",()=>{this.#s.end()}).on("error",()=>{this.#s=void 0,this.#n.delete(this.#e)}),this.#s.on("error",function(){o.#s=void 0,o.#n.delete(o.#e)}).on("close",function(){o.#s===this&&(o.#s=void 0)}))},C=this.#n.get(this.#e);C&&typeof C.then=="function"?C.then(v):v(C)}else{if(typeof n.etag=="string"&&sse(n.etag)&&(j.etag=n.etag),this.#s=this.#n.createWriteStream(this.#e,j),!this.#s)return i();this.#s.on("drain",()=>e.resume()).on("error",function(){o.#s=void 0,o.#n.delete(o.#e)}).on("close",function(){o.#s===this&&(o.#s=void 0),e.resume()}),i()}}onResponseData(e,t){this.#s?.write(t)===!1&&e.pause(),this.#i.onResponseData?.(e,t)}onResponseEnd(e,t){this.#s?.end(),this.#i.onResponseEnd?.(e,t)}onResponseError(e,t){this.#s?.destroy(t),this.#s=void 0,this.#i.onResponseError?.(e,t)}};function kl(r,e){try{r.delete(e)?.catch?.(ise)}catch{}}function pf(r,e,t){r===304&&kl(e,t)}function use(r,e,t){return t["no-store"]===!0||r==="shared"&&t.private===!0||(e.vary?RU(e.vary):!1)}function dse(r,e,t,n,s){return!(e<200||Ta(ose,e)||!Ta(vU,e)&&!t.expires&&!n.public&&n["max-age"]===void 0&&!(n.private&&r==="private")&&!(n["s-maxage"]!==void 0&&r==="shared")||n["no-store"]||r==="shared"&&n.private===!0||t.vary&&nse(t.vary)||s!=null&&Object.hasOwn(s,"authorization")&&(!n.public&&!n["s-maxage"]&&!n["must-revalidate"]||typeof s.authorization!="string"||Array.isArray(n["no-cache"])&&Ta(n["no-cache"],"authorization")||Array.isArray(n.private)&&Ta(n.private,"authorization")))}function hse(r){let e=r;if(Array.isArray(e)){if(e.length!==1)return null;e=e[0]}return typeof e!="string"?null:Tb(e)}function fse(r){let e=r;if(Array.isArray(e)){if(e.length!==1)return Dl;e=e[0]}if(typeof e!="string"||!/^[\t ]*[0-9]+[\t ]*$/.test(e))return Dl;let t=BigInt(e.replace(/^[\t ]+|[\t ]+$/g,""));return t>=BigInt(Dl/1e3)?Dl:Number(t)*1e3}function gse(r,e,t,n,s,i){if(r==="shared"){if(DU(i,"s-maxage"))return 0;let a=i["s-maxage"];if(a!==void 0)return a*1e3}if(DU(i,"max-age"))return 0;let o=i["max-age"];if(o!==void 0)return o*1e3;if(Object.hasOwn(n,"expires")){if(typeof n.expires!="string")return 0;let a=Tb(n.expires);if(!a||e>=a.getTime())return 0;if(s){if(s>=a)return 0;let A=a.getTime()-s.getTime();return t!==void 0&&t>=A?0:A}return a.getTime()-e}if(typeof n["last-modified"]=="string"){let a=Tb(n["last-modified"]);if(a)return a.getTime()>=e?void 0:(e-a.getTime())*.1}if(i.immutable)return 31536e6}function pse(r,e,t,n){let s=-1/0,i=-1/0,o=-1/0;if(t["stale-while-revalidate"]&&(s=n+t["stale-while-revalidate"]*1e3),t["stale-if-error"]&&(i=n+t["stale-if-error"]*1e3),t.immutable&&s===-1/0&&i===-1/0&&(o=e+31536e6),s===-1/0&&i===-1/0&&o===-1/0){let a=n-r,A=Math.min(Math.max(e-r,0),1e3);return n+a+A}return Math.max(n,s,i,o)}function yse(r,e){let t=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];r.connection&&Ase(t,r.connection),Array.isArray(e["no-cache"])&&t.push(...e["no-cache"]),Array.isArray(e.private)&&t.push(...e.private);let n;for(let s of t)Object.hasOwn(r,s)&&(n??={...r},delete n[s]);return n??r}TU.exports=Nb});var Kb=g((dye,FU)=>{"use strict";var{Writable:Ese}=S("node:stream"),{EventEmitter:Ise}=S("node:events"),{assertCacheKey:MU,assertCacheValue:mse}=xa(),Mb=class extends Ise{#e=1024;#t=104857600;#r=5242880;#n=0;#i=0;#s=new Map;#A=!1;constructor(e){if(super(),e){if(typeof e!="object")throw new TypeError("MemoryCacheStore options must be an object");if(e.maxCount!==void 0){if(typeof e.maxCount!="number"||!Number.isInteger(e.maxCount)||e.maxCount<0)throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#e=e.maxCount}if(e.maxSize!==void 0){if(typeof e.maxSize!="number"||!Number.isInteger(e.maxSize)||e.maxSize<0)throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#t=e.maxSize}if(e.maxEntrySize!==void 0){if(typeof e.maxEntrySize!="number"||!Number.isInteger(e.maxEntrySize)||e.maxEntrySize<0)throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#r=e.maxEntrySize}}}get size(){return this.#n}isFull(){return this.#n>=this.#t||this.#i>=this.#e}get(e){MU(e);let t=`${e.origin}:${e.path}`,n=Date.now(),s=this.#s.get(t),i=s?KU(e,s,n):null;return i==null?void 0:{statusMessage:i.statusMessage,statusCode:i.statusCode,headers:i.headers,body:i.body,vary:i.vary?i.vary:void 0,etag:i.etag,cacheControlDirectives:i.cacheControlDirectives,cachedAt:i.cachedAt,staleAt:i.staleAt,deleteAt:i.deleteAt}}createWriteStream(e,t){MU(e),mse(t);let n=`${e.origin}:${e.path}`,s=this,i={...e,...t,body:[],size:0};return new Ese({write(o,a,A){typeof o=="string"&&(o=Buffer.from(o,a)),i.size+=o.byteLength,i.size>=s.#r?this.destroy():i.body.push(o),A(null)},final(o){let a=s.#s.get(n);a||(a=[],s.#s.set(n,a));let A=KU(e,a,Date.now());if(A){let l=a.indexOf(A);a.splice(l,1,i),s.#n-=A.size}else a.push(i),s.#i+=1;if(s.#n+=i.size,s.#n>s.#t||s.#i>s.#e){s.#A||(s.emit("maxSizeExceeded",{size:s.#n,maxSize:s.#t,count:s.#i,maxCount:s.#e}),s.#A=!0);for(let[l,c]of s.#s){for(let u of c.splice(0,c.length/2))s.#n-=u.size,s.#i-=1;c.length===0&&s.#s.delete(l)}s.#n<s.#t&&s.#i<s.#e&&(s.#A=!1)}o(null)}})}delete(e){if(typeof e!="object")throw new TypeError(`expected key to be object, got ${typeof e}`);let t=`${e.origin}:${e.path}`;for(let n of this.#s.get(t)??[])this.#n-=n.size,this.#i-=1;this.#s.delete(t)}};function KU(r,e,t){for(let n=0;n<e.length;n++){let s=e[n];if(s.deleteAt>t&&s.method===r.method&&Cse(r,s))return s}}function Cse(r,e){if(e.vary==null)return!0;for(let t in e.vary)if(Object.hasOwn(e.vary,t)&&!bse(r.headers?.[t],e.vary[t]))return!1;return!0}function bse(r,e){if(r==null&&e==null)return!0;if(r==null&&e!=null||r!=null&&e==null)return!1;if(Array.isArray(r)&&Array.isArray(e)){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}return r===e}FU.exports=Mb});var OU=g((hye,LU)=>{"use strict";var Qse=S("node:assert"),Fb=class{#e=!1;#t;#r;#n;#i;constructor(e,t,n){if(typeof e!="function")throw new TypeError("callback must be a function");this.#t=e,this.#r=t,this.#i=n}onRequestStart(e,t){this.#e=!1,this.#n=t}onRequestUpgrade(e,t,n,s){this.#r.onRequestUpgrade?.(e,t,n,s)}onResponseStart(e,t,n,s){if(Qse(this.#t!=null),this.#e=t===304||this.#i&&t>=500&&t<=504,this.#t(this.#e,this.#n,t,n),this.#t=null,this.#e)return!0;this.#r.onRequestStart?.(e,this.#n),this.#r.onResponseStart?.(e,t,n,s)}onResponseData(e,t){if(!this.#e)return this.#r.onResponseData?.(e,t)}onResponseEnd(e,t){this.#e||this.#r.onResponseEnd?.(e,t)}onResponseError(e,t){if(!this.#e)if(this.#t&&(this.#t(!1),this.#t=null),typeof this.#r.onResponseError=="function")this.#r.onResponseError(e,t);else throw t}};LU.exports=Fb});var GU=g((fye,qU)=>{"use strict";var UU=S("node:assert"),{Readable:Bse}=S("node:stream"),ei=ue(),Na=NU(),Sse=Kb(),wse=OU(),{assertCacheStore:Dse,assertCacheMethods:kse,makeCacheKey:Rse,normalizeHeaders:vse,parseCacheControlHeader:YU,isInvalidOrWildcardVaryHeader:xse}=xa(),{AbortError:Tse}=le(),{parseHttpDate:Nse}=vb();function Mse(r,e){if(r!==void 0){if(!Array.isArray(r))throw new TypeError(`expected ${e} to be an array or undefined, got ${typeof r}`);for(let t=0;t<r.length;t++){let n=r[t];if(typeof n!="string"&&!(n instanceof RegExp))throw new TypeError(`expected ${e}[${t}] to be a string or RegExp, got ${typeof n}`)}}}var Rl=()=>{};function Kse(r){return r.replace(/^[\t ]+|[\t ]+$/g,"")}function jU(r,e){for(let t=0;t<r.length;t++)if(r[t]===e)return!0;return!1}function Fse(r){let e=r?.pragma;if(!e)return!1;let t=Array.isArray(e)?e:[e];for(let n=0;n<t.length;n++){let s=t[n];if(typeof s!="string")continue;let i=s.split(",");for(let o=0;o<i.length;o++)if(Kse(i[o]).toLowerCase()==="no-cache")return!0}return!1}function Lse(r,e,{headers:t={}}){return!!(e?.["no-cache"]||r.cacheControlDirectives?.["no-cache"]&&!Array.isArray(r.cacheControlDirectives["no-cache"])||t["if-modified-since"]||t["if-none-match"])}function Ob(r,e){return r.cacheControlDirectives?.["must-revalidate"]===!0||e==="shared"&&(r.cacheControlDirectives?.["proxy-revalidate"]===!0||r.cacheControlDirectives?.["s-maxage"]!==void 0)}function Ose(r,e){if(e.vary&&xse(e.vary))return!0;let t=e["cache-control"];if(!t)return!1;let n=YU(t);return n["no-store"]===!0||r==="shared"&&n.private===!0}function Use(r){return r["cache-control"]!==void 0}function PU(r,e){try{r.delete(e)?.catch?.(Rl)}catch{}}function jse(r){let e=r?.["last-modified"];if(typeof e=="string"&&Nse(e))return e}function _U(r,e){let t={...r.headers,"if-modified-since":jse(e.headers)??new Date(e.cachedAt).toUTCString()};if(e.etag&&(t["if-none-match"]=e.etag),e.vary)for(let n in e.vary)e.vary[n]!=null&&(t[n]=e.vary[n]);return t}function Pse(r,e,t){let n=Date.now();if(n>r.staleAt){if(!Ob(r,t)&&e?.["max-stale"]){let s=r.staleAt+e["max-stale"]*1e3;return n>s}return!0}if(e?.["min-fresh"]){let s=r.staleAt-n,i=e["min-fresh"]*1e3;return s<=i}return!1}function _se(r,e){let t=r.cacheControlDirectives?.["stale-while-revalidate"];if(!t||Ob(r,e))return!1;let n=Date.now(),s=r.staleAt+t*1e3;return n<=s}function Jse(r,e,t,n,s,i){if(i?.["only-if-cached"]){let o=!1;try{if(typeof n.onConnect=="function"&&(n.onConnect(()=>{o=!0}),o)||typeof n.onHeaders=="function"&&(n.onHeaders(504,[],Rl,"Gateway Timeout"),o))return;typeof n.onComplete=="function"&&n.onComplete([])}catch(a){typeof n.onError=="function"&&n.onError(a)}return!0}return r(s,new Na(e,t,n))}function Lb(r,e,t,n,s,i){let o=ei.isStream(t.body)?t.body:Bse.from(t.body??[]);UU(!o.destroyed,"stream should not be destroyed"),UU(!o.readableDidRead,"stream should not be readableDidRead");let a={resume(){o.resume()},pause(){o.pause()},get paused(){return o.isPaused()},get aborted(){return o.destroyed},get reason(){return o.errored},abort(l){o.destroy(l??new Tse)}};if(o.on("error",function(l){if(!this.readableEnded)if(typeof r.onResponseError=="function")r.onResponseError(a,l);else throw l}).on("close",function(){this.errored||r.onResponseEnd?.(a,{})}),r.onRequestStart?.(a,s),o.destroyed)return;let A={...t.headers,age:String(n)};i&&(A.warning='110 - "response is stale"'),r.onResponseStart?.(a,t.statusCode,A,t.statusMessage),e.method==="HEAD"?o.destroy():o.on("data",function(l){r.onResponseData?.(a,l)})}function JU(r,e,t,n,s,i,o){if(!o)return Jse(r,e,t,n,s,i);let a=Date.now();if(a>o.deleteAt)return r(s,new Na(e,t,n));let A=Math.round((a-o.cachedAt)/1e3),l=i?.["max-age"]!==void 0&&A>=i["max-age"],c=l||Pse(o,i,e.type),u=l||Lse(o,i,s);if(c||u){if(ei.isStream(s.body)&&ei.bodyLength(s.body)!==0)return r(s,new Na(e,t,n));if(!u&&_se(o,e.type))return Lb(n,s,o,A,null,!0),queueMicrotask(()=>{let f=_U(s,o);r({...s,headers:f},new Na(e,t,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let d=!1;if(!Ob(o,e.type)){let f=o.cacheControlDirectives["stale-if-error"]??i?.["stale-if-error"];f&&(d=a<o.staleAt+f*1e3)}let h=_U(s,o);return r({...s,headers:h},new wse((f,p,I,y)=>{if(f){if(I===304){if(Ose(e.type,y))return ei.isStream(o.body)&&o.body.on("error",Rl).destroy(),PU(e.store,t),r(s,new Na(e,t,n));Use(y)&&PU(e.store,t)}Lb(n,s,o,A,p,c)}else ei.isStream(o.body)&&o.body.on("error",Rl).destroy()},new Na(e,t,n),d))}ei.isStream(s.body)&&s.body.on("error",Rl).destroy(),Lb(n,s,o,A,null,!1)}qU.exports=(r={})=>{let{store:e=new Sse,methods:t=["GET"],cacheByDefault:n=void 0,type:s="shared",origins:i=void 0}=r;if(typeof r!="object"||r===null)throw new TypeError(`expected type of opts to be an Object, got ${r===null?"null":typeof r}`);if(Dse(e,"opts.store"),kse(t,"opts.methods"),Mse(i,"opts.origins"),typeof n<"u"&&typeof n!="number")throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof n}`);if(typeof s<"u"&&s!=="shared"&&s!=="private")throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof s}`);let o={store:e,methods:t,cacheByDefault:n,type:s},a=[];for(let A=0;A<ei.safeHTTPMethods.length;A++){let l=ei.safeHTTPMethods[A];jU(t,l)||a.push(l)}return A=>(l,c)=>{if(!l.origin||jU(a,l.method))return A(l,c);if(i!==void 0){let f=l.origin.toString().toLowerCase(),p=!1;for(let I=0;I<i.length;I++){let y=i[I];if(typeof y=="string"){if(y.toLowerCase()===f){p=!0;break}}else if(y.test(f)){p=!0;break}}if(!p)return A(l,c)}l={...l,headers:vse(l)};let u=l.headers?.["cache-control"]?YU(l.headers["cache-control"]):Fse(l.headers)?{"no-cache":!0}:void 0;if(u?.["no-store"])return A(l,c);let d=Rse(l),h=e.get(d);return h&&typeof h.then=="function"?h.then(f=>JU(A,o,d,c,l,u,f)):JU(A,o,d,c,l,u,h)}}});var ZU=g((gye,zU)=>{"use strict";var{createInflate:Ub,createGunzip:VU,createBrotliDecompress:Yse,createZstdDecompress:qse}=S("node:zlib"),{pipeline:Gse}=S("node:stream"),Vse=va(),{runtimeFeatures:Hse}=Wn(),HU={gzip:VU,"x-gzip":VU,br:Yse,deflate:Ub,compress:Ub,"x-compress":Ub,...Hse.has("zstd")?{zstd:qse}:{}},Wse=[204,304],WU=!1,jb=class extends Vse{#e=[];#t;#r;constructor(e,{skipStatusCodes:t=Wse,skipErrorResponses:n=!0}={}){super(e),this.#t=t,this.#r=n}#n(e,t){return!!(!e||t<200||this.#t.includes(t)||this.#r&&t>=400)}#i(e){let t=e.split(","),n=5;if(t.length>n)throw new Error(`too many content-encodings in response: ${t.length}, maximum allowed is ${n}`);let s=[];for(let i=t.length-1;i>=0;i--){let o=t[i].trim();if(o){if(!HU[o])return s.length=0,s;s.push(HU[o]())}}return s}#s(e,t){e.on("readable",()=>{let n;for(;(n=e.read())!==null&&super.onResponseData(t,n)!==!1;);}),e.on("error",n=>{super.onResponseError(t,n)})}#A(e){let t=this.#e[0];this.#s(t,e),t.on("end",()=>{super.onResponseEnd(e,{})})}#o(e){let t=this.#e[this.#e.length-1];this.#s(t,e),Gse(this.#e,n=>{if(n){super.onResponseError(e,n);return}super.onResponseEnd(e,{})})}#a(){this.#e.length=0}onResponseStart(e,t,n,s){let i=n["content-encoding"];if(this.#n(i,t))return super.onResponseStart(e,t,n,s);let o=this.#i(i.toLowerCase());if(o.length===0)return this.#a(),super.onResponseStart(e,t,n,s);this.#e=o;let{"content-encoding":a,"content-length":A,...l}=n;return this.#e.length===1?this.#A(e):this.#o(e),super.onResponseStart(e,t,l,s)}onResponseData(e,t){if(this.#e.length>0){this.#e[0].write(t);return}super.onResponseData(e,t)}onResponseEnd(e,t){if(this.#e.length>0){this.#e[0].end(),this.#a();return}super.onResponseEnd(e,t)}onResponseError(e,t){if(this.#e.length>0){for(let n of this.#e)n.destroy(t);this.#a()}super.onResponseError(e,t)}};function zse(r={}){return WU||(process.emitWarning("DecompressInterceptor is experimental and subject to change","ExperimentalWarning"),WU=!0),e=>(t,n)=>{let s=new jb(n,r);return e(t,s)}}zU.exports=zse});var ej=g((pye,$U)=>{"use strict";var{RequestAbortedError:Zse}=le(),XU=5*1024*1024,Pb=class{#e;#t=[];#r=XU;#n=0;#i={};#s="";#A=!1;#o=!1;#a=!1;#l=!1;#u=null;#c=null;constructor(e,t,n=XU){this.#e=e,this.#c=t,this.#r=n}addWaitingHandler(e){if(this.#l||this.#a)return!1;let t=this.#d(e),n=t.controller;try{if(e.onRequestStart?.(n,null),n.aborted)return t.done=!0,!0;this.#o&&e.onResponseStart?.(n,this.#n,this.#i,this.#s)}catch{return t.done=!0,!0}return n.aborted||this.#t.push(t),!0}onRequestStart(e,t){this.#u=e,this.#e.onRequestStart?.(e,t)}onRequestUpgrade(e,t,n,s){this.#e.onRequestUpgrade?.(e,t,n,s)}onResponseStart(e,t,n,s){this.#o=!0,this.#n=t,this.#i=n,this.#s=s,this.#e.onResponseStart?.(e,t,n,s);for(let i of this.#t){let{handler:o,controller:a}=i;if(i.done||a.aborted){i.done=!0;continue}try{o.onResponseStart?.(a,t,n,s)}catch{}a.aborted&&(i.done=!0)}this.#g()}onResponseData(e,t){if(!(this.#A||this.#l)){this.#a=!0,this.#e.onResponseData?.(e,t);for(let n of this.#t){let{handler:s,controller:i}=n;if(n.done||i.aborted){n.done=!0;continue}if(i.paused){this.#h(n,t);continue}try{s.onResponseData?.(i,t)}catch{}i.aborted&&(n.done=!0,n.bufferedChunks=[],n.bufferedBytes=0)}this.#g()}}onResponseEnd(e,t){if(!(this.#A||this.#l)){this.#l=!0,this.#e.onResponseEnd?.(e,t);for(let n of this.#t){if(n.done||n.controller.aborted){n.done=!0;continue}if(this.#f(n),n.done||n.controller.aborted){n.done=!0;continue}if(n.controller.paused&&n.bufferedChunks.length>0){n.pendingTrailers=t;continue}try{n.handler.onResponseEnd?.(n.controller,t)}catch{}n.done=!0}this.#g(),this.#c?.()}}onResponseError(e,t){if(!this.#l){this.#A=!0,this.#l=!0,this.#e.onResponseError?.(e,t);for(let n of this.#t)this.#p(n,t);this.#t=[],this.#c?.()}}#d(e){let t={handler:e,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},n={aborted:!1,paused:!1,reason:null};return t.controller={resume:()=>{if(!n.aborted){if(n.paused=!1,this.#f(t),this.#l&&t.pendingTrailers&&t.bufferedChunks.length===0&&!n.paused&&!n.aborted){try{t.handler.onResponseEnd?.(t.controller,t.pendingTrailers)}catch{}t.pendingTrailers=null,t.done=!0}this.#g()}},pause:()=>{n.aborted||(n.paused=!0)},get paused(){return n.paused},get aborted(){return n.aborted},get reason(){return n.reason},abort:s=>{n.aborted=!0,n.reason=s??null,t.done=!0,t.pendingTrailers=null,t.bufferedChunks=[],t.bufferedBytes=0}},t}#h(e,t){if(e.done||e.controller.aborted){e.done=!0,e.bufferedChunks=[],e.bufferedBytes=0;return}let n=Buffer.from(t);if(e.bufferedChunks.push(n),e.bufferedBytes+=n.length,e.bufferedBytes>this.#r){let s=new Zse(`Deduplicated waiting handler exceeded maxBufferSize (${this.#r} bytes) while paused`);this.#p(e,s)}}#f(e){let{handler:t,controller:n}=e;for(;!e.done&&!n.aborted&&!n.paused&&e.bufferedChunks.length>0;){let s=e.bufferedChunks.shift();e.bufferedBytes-=s.length;try{t.onResponseData?.(n,s)}catch{}if(n.aborted){e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0;break}}}#p(e,t){if(!e.done){e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0;try{e.controller.abort(t),e.handler.onResponseError?.(e.controller,t)}catch{}}}#g(){this.#t=this.#t.filter(e=>e.done===!1)}};$U.exports=Pb});var rj=g((yye,tj)=>{"use strict";var Xse=S("node:diagnostics_channel"),$se=ue(),eie=ej(),{normalizeHeaders:tie,makeCacheKey:rie,makeDeduplicationKey:nie}=xa(),yf=Xse.channel("undici:request:pending-requests");tj.exports=(r={})=>{let{methods:e=["GET"],skipHeaderNames:t=[],excludeHeaderNames:n=[],maxBufferSize:s=5*1024*1024}=r;if(typeof r!="object"||r===null)throw new TypeError(`expected type of opts to be an Object, got ${r===null?"null":typeof r}`);if(!Array.isArray(e))throw new TypeError(`expected opts.methods to be an array, got ${typeof e}`);for(let A of e)if(!$se.safeHTTPMethods.includes(A))throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${A}`);if(!Array.isArray(t))throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof t}`);if(!Array.isArray(n))throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof n}`);if(!Number.isFinite(s)||s<=0)throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${s}`);let i=new Set(t.map(A=>A.toLowerCase())),o=new Set(n.map(A=>A.toLowerCase())),a=new Map;return A=>(l,c)=>{if(!l.origin||e.includes(l.method)===!1)return A(l,c);if(l={...l,headers:tie(l)},i.size>0){for(let p of Object.keys(l.headers))if(i.has(p.toLowerCase()))return A(l,c)}let u=rie(l),d=nie(u,o),h=a.get(d);if(h)return h.addWaitingHandler(c)?!0:A(l,c);let f=new eie(c,()=>{a.delete(d),yf.hasSubscribers&&yf.publish({size:a.size,key:d,type:"removed"})},s);return a.set(d,f),yf.hasSubscribers&&yf.publish({size:a.size,key:d,type:"added"}),A(l,f)}}});var ij=g((Iye,sj)=>{"use strict";var{Writable:sie}=S("node:stream"),{assertCacheKey:_b,assertCacheValue:iie}=xa(),Jb,mr=3,nj=2*1e3*1e3*1e3;sj.exports=class{#e=nj;#t=1/0;#r;#n;#i;#s;#A;#o;#a;#l;constructor(e){if(e){if(typeof e!="object")throw new TypeError("SqliteCacheStore options must be an object");if(e.maxEntrySize!==void 0){if(typeof e.maxEntrySize!="number"||!Number.isInteger(e.maxEntrySize)||e.maxEntrySize<0)throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(e.maxEntrySize>nj)throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#e=e.maxEntrySize}if(e.maxCount!==void 0){if(typeof e.maxCount!="number"||!Number.isInteger(e.maxCount)||e.maxCount<0)throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#t=e.maxCount}}Jb||(Jb=S("node:sqlite").DatabaseSync),this.#r=new Jb(e?.location??":memory:"),this.#r.exec(`
|
|
8956
|
+
PRAGMA journal_mode = WAL;
|
|
8957
|
+
PRAGMA synchronous = NORMAL;
|
|
8958
|
+
PRAGMA temp_store = memory;
|
|
8959
|
+
PRAGMA optimize;
|
|
8960
|
+
|
|
8961
|
+
CREATE TABLE IF NOT EXISTS cacheInterceptorV${mr} (
|
|
8962
|
+
-- Data specific to us
|
|
8963
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
8964
|
+
url TEXT NOT NULL,
|
|
8965
|
+
method TEXT NOT NULL,
|
|
8966
|
+
|
|
8967
|
+
-- Data returned to the interceptor
|
|
8968
|
+
body BUF NULL,
|
|
8969
|
+
deleteAt INTEGER NOT NULL,
|
|
8970
|
+
statusCode INTEGER NOT NULL,
|
|
8971
|
+
statusMessage TEXT NOT NULL,
|
|
8972
|
+
headers TEXT NULL,
|
|
8973
|
+
cacheControlDirectives TEXT NULL,
|
|
8974
|
+
etag TEXT NULL,
|
|
8975
|
+
vary TEXT NULL,
|
|
8976
|
+
cachedAt INTEGER NOT NULL,
|
|
8977
|
+
staleAt INTEGER NOT NULL
|
|
8978
|
+
);
|
|
8979
|
+
|
|
8980
|
+
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${mr}_getValuesQuery ON cacheInterceptorV${mr}(url, method, deleteAt);
|
|
8981
|
+
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${mr}_deleteByUrlQuery ON cacheInterceptorV${mr}(deleteAt);
|
|
8982
|
+
`),this.#n=this.#r.prepare(`
|
|
8983
|
+
SELECT
|
|
8984
|
+
id,
|
|
8985
|
+
body,
|
|
8986
|
+
deleteAt,
|
|
8987
|
+
statusCode,
|
|
8988
|
+
statusMessage,
|
|
8989
|
+
headers,
|
|
8990
|
+
etag,
|
|
8991
|
+
cacheControlDirectives,
|
|
8992
|
+
vary,
|
|
8993
|
+
cachedAt,
|
|
8994
|
+
staleAt
|
|
8995
|
+
FROM cacheInterceptorV${mr}
|
|
8996
|
+
WHERE
|
|
8997
|
+
url = ?
|
|
8998
|
+
AND method = ?
|
|
8999
|
+
ORDER BY
|
|
9000
|
+
deleteAt ASC
|
|
9001
|
+
`),this.#i=this.#r.prepare(`
|
|
9002
|
+
UPDATE cacheInterceptorV${mr} SET
|
|
9003
|
+
body = ?,
|
|
9004
|
+
deleteAt = ?,
|
|
9005
|
+
statusCode = ?,
|
|
9006
|
+
statusMessage = ?,
|
|
9007
|
+
headers = ?,
|
|
9008
|
+
etag = ?,
|
|
9009
|
+
cacheControlDirectives = ?,
|
|
9010
|
+
cachedAt = ?,
|
|
9011
|
+
staleAt = ?
|
|
9012
|
+
WHERE
|
|
9013
|
+
id = ?
|
|
9014
|
+
`),this.#s=this.#r.prepare(`
|
|
9015
|
+
INSERT INTO cacheInterceptorV${mr} (
|
|
9016
|
+
url,
|
|
9017
|
+
method,
|
|
9018
|
+
body,
|
|
9019
|
+
deleteAt,
|
|
9020
|
+
statusCode,
|
|
9021
|
+
statusMessage,
|
|
9022
|
+
headers,
|
|
9023
|
+
etag,
|
|
9024
|
+
cacheControlDirectives,
|
|
9025
|
+
vary,
|
|
9026
|
+
cachedAt,
|
|
9027
|
+
staleAt
|
|
9028
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
9029
|
+
`),this.#o=this.#r.prepare(`DELETE FROM cacheInterceptorV${mr} WHERE url = ?`),this.#a=this.#r.prepare(`SELECT COUNT(*) AS total FROM cacheInterceptorV${mr}`),this.#A=this.#r.prepare(`DELETE FROM cacheInterceptorV${mr} WHERE deleteAt <= ?`),this.#l=this.#t===1/0?null:this.#r.prepare(`
|
|
9030
|
+
DELETE FROM cacheInterceptorV${mr}
|
|
9031
|
+
WHERE id IN (
|
|
9032
|
+
SELECT
|
|
9033
|
+
id
|
|
9034
|
+
FROM cacheInterceptorV${mr}
|
|
9035
|
+
ORDER BY cachedAt ASC
|
|
9036
|
+
LIMIT ?
|
|
9037
|
+
)
|
|
9038
|
+
`)}close(){this.#r.close()}get(e){_b(e);let t=this.#d(e);return t?{body:t.body?Buffer.from(t.body.buffer,t.body.byteOffset,t.body.byteLength):void 0,statusCode:t.statusCode,statusMessage:t.statusMessage,headers:t.headers?JSON.parse(t.headers):void 0,etag:t.etag?t.etag:void 0,vary:t.vary?JSON.parse(t.vary):void 0,cacheControlDirectives:t.cacheControlDirectives?JSON.parse(t.cacheControlDirectives):void 0,cachedAt:t.cachedAt,staleAt:t.staleAt,deleteAt:t.deleteAt}:void 0}set(e,t){_b(e);let n=this.#c(e),s=Array.isArray(t.body)?Buffer.concat(t.body):t.body,i=s?.byteLength;if(i&&i>this.#e)return;let o=this.#d(e,!0);o?this.#i.run(s,t.deleteAt,t.statusCode,t.statusMessage,t.headers?JSON.stringify(t.headers):null,t.etag?t.etag:null,t.cacheControlDirectives?JSON.stringify(t.cacheControlDirectives):null,t.cachedAt,t.staleAt,o.id):(this.#s.run(n,e.method,s,t.deleteAt,t.statusCode,t.statusMessage,t.headers?JSON.stringify(t.headers):null,t.etag?t.etag:null,t.cacheControlDirectives?JSON.stringify(t.cacheControlDirectives):null,t.vary?JSON.stringify(t.vary):null,t.cachedAt,t.staleAt),this.#u())}createWriteStream(e,t){_b(e),iie(t);let n=0,s=[],i=this;return new sie({decodeStrings:!0,write(o,a,A){n+=o.byteLength,n<i.#e?s.push(o):this.destroy(),A()},final(o){i.set(e,{...t,body:s}),o()}})}delete(e){if(typeof e!="object")throw new TypeError(`expected key to be object, got ${typeof e}`);this.#o.run(this.#c(e))}#u(){if(Number.isFinite(this.#t)&&this.size<=this.#t)return 0;{let e=this.#A.run(Date.now()).changes;if(e)return e}{let e=this.#l?.run(Math.max(Math.floor(this.#t*.1),1)).changes;if(e)return e}return 0}get size(){let{total:e}=this.#a.get();return e}#c(e){return`${e.origin}/${e.path}`}#d(e,t=!1){let n=this.#c(e),{headers:s,method:i}=e,o=this.#n.all(n,i);if(o.length===0)return;let a=Date.now();for(let A of o){if(a>=A.deleteAt&&!t)continue;let l=!0;if(A.vary){let c=JSON.parse(A.vary);for(let u in c)if(!oie(s[u],c[u])){l=!1;break}}if(l)return A}}};function oie(r,e){if(r==null&&e==null)return!0;if(r==null&&e!=null||r!=null&&e==null)return!1;if(Array.isArray(r)&&Array.isArray(e)){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}return r===e}});var uo=g((mye,dj)=>{"use strict";var{kConstruct:aie}=Ke(),{kEnumerableProperty:Ma}=ue(),{iteratorMixin:Aie,isValidHeaderName:vl,isValidHeaderValue:aj}=gr(),{webidl:Qe}=bt(),Yb=S("node:assert"),Ef=S("node:util");function oj(r){return r===10||r===13||r===9||r===32}function Aj(r){let e=0,t=r.length;for(;t>e&&oj(r.charCodeAt(t-1));)--t;for(;t>e&&oj(r.charCodeAt(e));)++e;return e===0&&t===r.length?r:r.substring(e,t)}function lj(r,e){if(Array.isArray(e))for(let t=0;t<e.length;++t){let n=e[t];if(n.length!==2)throw Qe.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${n.length}.`});qb(r,n[0],n[1])}else if(typeof e=="object"&&e!==null){let t=Object.keys(e);for(let n=0;n<t.length;++n)qb(r,t[n],e[t[n]])}else throw Qe.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function qb(r,e,t){if(t=Aj(t),vl(e)){if(!aj(t))throw Qe.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw Qe.errors.invalidArgument({prefix:"Headers.append",value:e,type:"header name"});if(uj(r)==="immutable")throw new TypeError("immutable");return mf(r).append(e,t,!1)}function lie(r){let e=mf(r);if(!e)return[];if(e.sortedMap)return e.sortedMap;let t=[],n=e.toSortedArray(),s=e.cookies;if(s===null||s.length===1)return e.sortedMap=n;for(let i=0;i<n.length;++i){let{0:o,1:a}=n[i];if(o==="set-cookie")for(let A=0;A<s.length;++A)t.push([o,s[A]]);else t.push([o,a])}return e.sortedMap=t}function cj(r,e){return r[0]<e[0]?-1:1}var If=class r{cookies=null;sortedMap;headersMap;constructor(e){e instanceof r?(this.headersMap=new Map(e.headersMap),this.sortedMap=e.sortedMap,this.cookies=e.cookies===null?null:[...e.cookies]):(this.headersMap=new Map(e),this.sortedMap=null)}contains(e,t){return this.headersMap.has(t?e:e.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(e,t,n){this.sortedMap=null;let s=n?e:e.toLowerCase(),i=this.headersMap.get(s);if(i){let o=s==="cookie"?"; ":", ";this.headersMap.set(s,{name:i.name,value:`${i.value}${o}${t}`})}else this.headersMap.set(s,{name:e,value:t});s==="set-cookie"&&(this.cookies??=[]).push(t)}set(e,t,n){this.sortedMap=null;let s=n?e:e.toLowerCase();s==="set-cookie"&&(this.cookies=[t]),this.headersMap.set(s,{name:e,value:t})}delete(e,t){this.sortedMap=null,t||(e=e.toLowerCase()),e==="set-cookie"&&(this.cookies=null),this.headersMap.delete(e)}get(e,t){return this.headersMap.get(t?e:e.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:e,1:{value:t}}of this.headersMap)yield[e,t]}get entries(){let e={};if(this.headersMap.size!==0)for(let{name:t,value:n}of this.headersMap.values())e[t]=n;return e}rawValues(){return this.headersMap.values()}get entriesList(){let e=[];if(this.headersMap.size!==0)for(let{0:t,1:{name:n,value:s}}of this.headersMap)if(t==="set-cookie")for(let i of this.cookies)e.push([n,i]);else e.push([n,s]);return e}toSortedArray(){let e=this.headersMap.size,t=new Array(e);if(e<=32){if(e===0)return t;let n=this.headersMap[Symbol.iterator](),s=n.next().value;t[0]=[s[0],s[1].value],Yb(s[1].value!==null);for(let i=1,o=0,a=0,A=0,l=0,c,u;i<e;++i){for(u=n.next().value,c=t[i]=[u[0],u[1].value],Yb(c[1]!==null),A=0,a=i;A<a;)l=A+(a-A>>1),t[l][0]<=c[0]?A=l+1:a=l;if(i!==l){for(o=i;o>A;)t[o]=t[--o];t[A]=c}}if(!n.next().done)throw new TypeError("Unreachable");return t}else{let n=0;for(let{0:s,1:{value:i}}of this.headersMap)t[n++]=[s,i],Yb(i!==null);return t.sort(cj)}}},rn=class r{#e;#t;constructor(e=void 0){Qe.util.markAsUncloneable(this),e!==aie&&(this.#t=new If,this.#e="none",e!==void 0&&(e=Qe.converters.HeadersInit(e,"Headers constructor","init"),lj(this,e)))}append(e,t){Qe.brandCheck(this,r),Qe.argumentLengthCheck(arguments,2,"Headers.append");let n="Headers.append";return e=Qe.converters.ByteString(e,n,"name"),t=Qe.converters.ByteString(t,n,"value"),qb(this,e,t)}delete(e){if(Qe.brandCheck(this,r),Qe.argumentLengthCheck(arguments,1,"Headers.delete"),e=Qe.converters.ByteString(e,"Headers.delete","name"),!vl(e))throw Qe.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.contains(e,!1)&&this.#t.delete(e,!1)}get(e){Qe.brandCheck(this,r),Qe.argumentLengthCheck(arguments,1,"Headers.get");let t="Headers.get";if(e=Qe.converters.ByteString(e,t,"name"),!vl(e))throw Qe.errors.invalidArgument({prefix:t,value:e,type:"header name"});return this.#t.get(e,!1)}has(e){Qe.brandCheck(this,r),Qe.argumentLengthCheck(arguments,1,"Headers.has");let t="Headers.has";if(e=Qe.converters.ByteString(e,t,"name"),!vl(e))throw Qe.errors.invalidArgument({prefix:t,value:e,type:"header name"});return this.#t.contains(e,!1)}set(e,t){Qe.brandCheck(this,r),Qe.argumentLengthCheck(arguments,2,"Headers.set");let n="Headers.set";if(e=Qe.converters.ByteString(e,n,"name"),t=Qe.converters.ByteString(t,n,"value"),t=Aj(t),vl(e)){if(!aj(t))throw Qe.errors.invalidArgument({prefix:n,value:t,type:"header value"})}else throw Qe.errors.invalidArgument({prefix:n,value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.set(e,t,!1)}getSetCookie(){Qe.brandCheck(this,r);let e=this.#t.cookies;return e?[...e]:[]}[Ef.inspect.custom](e,t){return t.depth??=e,`Headers ${Ef.formatWithOptions(t,this.#t.entries)}`}static getHeadersGuard(e){return e.#e}static setHeadersGuard(e,t){e.#e=t}static getHeadersList(e){return e.#t}static setHeadersList(e,t){e.#t=t}},{getHeadersGuard:uj,setHeadersGuard:cie,getHeadersList:mf,setHeadersList:uie}=rn;Reflect.deleteProperty(rn,"getHeadersGuard");Reflect.deleteProperty(rn,"setHeadersGuard");Reflect.deleteProperty(rn,"getHeadersList");Reflect.deleteProperty(rn,"setHeadersList");Aie("Headers",rn,lie,0,1);Object.defineProperties(rn.prototype,{append:Ma,delete:Ma,get:Ma,has:Ma,set:Ma,getSetCookie:Ma,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[Ef.inspect.custom]:{enumerable:!1}});Qe.converters.HeadersInit=function(r,e,t){if(Qe.util.Type(r)===Qe.util.Types.OBJECT){let n=Reflect.get(r,Symbol.iterator);if(!Ef.types.isProxy(r)&&n===rn.prototype.entries)try{return mf(r).entriesList}catch{}return typeof n=="function"?Qe.converters["sequence<sequence<ByteString>>"](r,e,t,n.bind(r)):Qe.converters["record<ByteString, ByteString>"](r,e,t)}throw Qe.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};dj.exports={fill:lj,compareHeaderName:cj,Headers:rn,HeadersList:If,getHeadersGuard:uj,setHeadersGuard:cie,setHeadersList:uie,getHeadersList:mf}});var Tl=g((Cye,Bj)=>{"use strict";var{Headers:Ej,HeadersList:hj,fill:die,getHeadersGuard:hie,setHeadersGuard:Ij,setHeadersList:mj}=uo(),{extractBody:fj,cloneBody:fie,mixinBody:gie,streamRegistry:Cj,bodyUnusable:pie}=ua(),bj=ue(),gj=S("node:util"),{kEnumerableProperty:Cr}=bj,{isValidReasonPhrase:yie,isCancelled:Eie,isAborted:Iie,isErrorLike:mie,environmentSettingsObject:Cie}=gr(),{redirectStatusSet:bie,nullBodyStatus:Qie}=JA(),{webidl:Ie}=bt(),{URLSerializer:pj}=Mr(),{kConstruct:bf}=Ke(),Gb=S("node:assert"),{isomorphicEncode:Bie,serializeJavascriptValueToJSONString:Sie}=Hn(),wie=new TextEncoder("utf-8"),br=class r{#e;#t;static error(){return xl(Qf(),"immutable")}static json(e,t=void 0){Ie.argumentLengthCheck(arguments,1,"Response.json"),t!==null&&(t=Ie.converters.ResponseInit(t));let n=wie.encode(Sie(e)),s=fj(n),i=xl(Ka({}),"response");return yj(i,t,{body:s[0],type:"application/json"}),i}static redirect(e,t=302){Ie.argumentLengthCheck(arguments,1,"Response.redirect"),e=Ie.converters.USVString(e),t=Ie.converters["unsigned short"](t);let n;try{n=new URL(e,Cie.settingsObject.baseUrl)}catch(o){throw new TypeError(`Failed to parse URL from ${e}`,{cause:o})}if(!bie.has(t))throw new RangeError(`Invalid status code ${t}`);let s=xl(Ka({}),"immutable");s.#t.status=t;let i=Bie(pj(n));return s.#t.headersList.append("location",i,!0),s}constructor(e=null,t=void 0){if(Ie.util.markAsUncloneable(this),e===bf)return;e!==null&&(e=Ie.converters.BodyInit(e,"Response","body")),t=Ie.converters.ResponseInit(t),this.#t=Ka({}),this.#e=new Ej(bf),Ij(this.#e,"response"),mj(this.#e,this.#t.headersList);let n=null;if(e!=null){let[s,i]=fj(e);n={body:s,type:i}}yj(this,t,n)}get type(){return Ie.brandCheck(this,r),this.#t.type}get url(){Ie.brandCheck(this,r);let e=this.#t.urlList,t=e[e.length-1]??null;return t===null?"":pj(t,!0)}get redirected(){return Ie.brandCheck(this,r),this.#t.urlList.length>1}get status(){return Ie.brandCheck(this,r),this.#t.status}get ok(){return Ie.brandCheck(this,r),this.#t.status>=200&&this.#t.status<=299}get statusText(){return Ie.brandCheck(this,r),this.#t.statusText}get headers(){return Ie.brandCheck(this,r),this.#e}get body(){return Ie.brandCheck(this,r),this.#t.body?this.#t.body.stream:null}get bodyUsed(){return Ie.brandCheck(this,r),!!this.#t.body&&bj.isDisturbed(this.#t.body.stream)}clone(){if(Ie.brandCheck(this,r),pie(this.#t))throw Ie.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let e=Vb(this.#t);return this.#t.urlList.length!==0&&this.#t.body?.stream&&Cj.register(this,new WeakRef(this.#t.body.stream)),xl(e,hie(this.#e))}[gj.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.colors??=!0;let n={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${gj.formatWithOptions(t,n)}`}static getResponseHeaders(e){return e.#e}static setResponseHeaders(e,t){e.#e=t}static getResponseState(e){return e.#t}static setResponseState(e,t){e.#t=t}},{getResponseHeaders:Die,setResponseHeaders:kie,getResponseState:ho,setResponseState:Rie}=br;Reflect.deleteProperty(br,"getResponseHeaders");Reflect.deleteProperty(br,"setResponseHeaders");Reflect.deleteProperty(br,"getResponseState");Reflect.deleteProperty(br,"setResponseState");gie(br,ho);Object.defineProperties(br.prototype,{type:Cr,url:Cr,status:Cr,ok:Cr,redirected:Cr,statusText:Cr,headers:Cr,clone:Cr,body:Cr,bodyUsed:Cr,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(br,{json:Cr,redirect:Cr,error:Cr});function Vb(r){if(r.internalResponse)return Qj(Vb(r.internalResponse),r.type);let e=Ka({...r,body:null});return r.body!=null&&(e.body=fie(r.body)),e}function Ka(r){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...r,headersList:r?.headersList?new hj(r?.headersList):new hj,urlList:r?.urlList?[...r.urlList]:[]}}function Qf(r){let e=mie(r);return Ka({type:"error",status:0,error:e?r:new Error(r&&String(r)),aborted:r&&r.name==="AbortError"})}function vie(r){return r.type==="error"&&r.status===0}function Cf(r,e){return e={internalResponse:r,...e},new Proxy(r,{get(t,n){return n in e?e[n]:t[n]},set(t,n,s){return Gb(!(n in e)),t[n]=s,!0}})}function Qj(r,e){if(e==="basic")return Cf(r,{type:"basic",headersList:r.headersList});if(e==="cors")return Cf(r,{type:"cors",headersList:r.headersList});if(e==="opaque")return Cf(r,{type:"opaque",urlList:[],status:0,statusText:"",body:null});if(e==="opaqueredirect")return Cf(r,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});Gb(!1)}function xie(r,e=null){return Gb(Eie(r)),Iie(r)?Qf(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:e})):Qf(Object.assign(new DOMException("Request was cancelled."),{cause:e}))}function yj(r,e,t){if(e.status!==null&&(e.status<200||e.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in e&&e.statusText!=null&&!yie(String(e.statusText)))throw new TypeError("Invalid statusText");if("status"in e&&e.status!=null&&(ho(r).status=e.status),"statusText"in e&&e.statusText!=null&&(ho(r).statusText=e.statusText),"headers"in e&&e.headers!=null&&die(Die(r),e.headers),t){if(Qie.includes(r.status))throw Ie.errors.exception({header:"Response constructor",message:`Invalid response status code ${r.status}`});ho(r).body=t.body,t.type!=null&&!ho(r).headersList.contains("content-type",!0)&&ho(r).headersList.append("content-type",t.type,!0)}}function xl(r,e){let t=new br(bf);Rie(t,r);let n=new Ej(bf);return kie(t,n),mj(n,r.headersList),Ij(n,e),r.urlList.length!==0&&r.body?.stream&&Cj.register(t,new WeakRef(r.body.stream)),t}Ie.converters.XMLHttpRequestBodyInit=function(r,e,t){return typeof r=="string"?Ie.converters.USVString(r,e,t):Ie.is.Blob(r)||Ie.is.BufferSource(r)||Ie.is.FormData(r)||Ie.is.URLSearchParams(r)?r:Ie.converters.DOMString(r,e,t)};Ie.converters.BodyInit=function(r,e,t){return Ie.is.ReadableStream(r)||r?.[Symbol.asyncIterator]?r:Ie.converters.XMLHttpRequestBodyInit(r,e,t)};Ie.converters.ResponseInit=Ie.dictionaryConverter([{key:"status",converter:Ie.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:Ie.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:Ie.converters.HeadersInit}]);Ie.is.Response=Ie.util.MakeTypeAssertion(br);Bj.exports={isNetworkError:vie,makeNetworkError:Qf,makeResponse:Ka,makeAppropriateNetworkError:xie,filterResponse:Qj,Response:br,cloneResponse:Vb,fromInnerResponse:xl,getResponseState:ho}});var Fa=g((bye,Oj)=>{"use strict";var{extractBody:Tie,mixinBody:Nie,cloneBody:Mie,bodyUnusable:Sj}=ua(),{Headers:xj,fill:Kie,HeadersList:wf,setHeadersGuard:Hb,getHeadersGuard:Fie,setHeadersList:Tj,getHeadersList:wj}=uo(),Sf=ue(),Dj=S("node:util"),{isValidHTTPToken:Lie,sameOrigin:kj,environmentSettingsObject:Bf}=gr(),{forbiddenMethodsSet:Oie,corsSafeListedMethodsSet:Uie,referrerPolicy:jie,requestRedirect:Pie,requestMode:_ie,requestCredentials:Jie,requestCache:Yie,requestDuplex:qie}=JA(),{kEnumerableProperty:ct,normalizedMethodRecordsBase:Gie,normalizedMethodRecords:Vie}=Sf,{webidl:se}=bt(),{URLSerializer:Hie}=Mr(),{kConstruct:Df}=Ke(),Wie=S("node:assert"),{getMaxListeners:Nj,setMaxListeners:zie,defaultMaxListeners:Zie}=S("node:events"),Xie=Symbol("abortController"),Mj=new FinalizationRegistry(({signal:r,abort:e})=>{r.removeEventListener("abort",e)}),kf=new WeakMap,Wb;try{Wb=Nj(new AbortController().signal)>0}catch{Wb=!1}function Rj(r){return e;function e(){let t=r.deref();if(t!==void 0){Mj.unregister(e),this.removeEventListener("abort",e),t.abort(this.reason);let n=kf.get(t.signal);if(n!==void 0){if(n.size!==0){for(let s of n){let i=s.deref();i!==void 0&&i.abort(this.reason)}n.clear()}kf.delete(t.signal)}}}}var vj=!1,$t=class r{#e;#t;#r;#n;constructor(e,t=void 0){if(se.util.markAsUncloneable(this),e===Df)return;se.argumentLengthCheck(arguments,1,"Request constructor"),e=se.converters.RequestInfo(e),t=se.converters.RequestInit(t);let s=null,i=null,o=Bf.settingsObject.baseUrl,a=null;if(typeof e=="string"){this.#t=t.dispatcher;let y;try{y=new URL(e,o)}catch(m){throw new TypeError("Failed to parse URL from "+e,{cause:m})}if(y.username||y.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e);s=Rf({urlList:[y]}),i="cors"}else Wie(se.is.Request(e)),s=e.#n,a=e.#e,this.#t=t.dispatcher||e.#t;let A=Bf.settingsObject.origin,l="client";if(s.window?.constructor?.name==="EnvironmentSettingsObject"&&kj(s.window,A)&&(l=s.window),t.window!=null)throw new TypeError(`'window' option '${l}' must be null`);"window"in t&&(l="no-window"),s=Rf({method:s.method,headersList:s.headersList,unsafeRequest:s.unsafeRequest,client:Bf.settingsObject,window:l,priority:s.priority,origin:s.origin,referrer:s.referrer,referrerPolicy:s.referrerPolicy,mode:s.mode,credentials:s.credentials,cache:s.cache,redirect:s.redirect,integrity:s.integrity,keepalive:s.keepalive,reloadNavigation:s.reloadNavigation,historyNavigation:s.historyNavigation,urlList:[...s.urlList]});let c=Object.keys(t).length!==0;if(c&&(s.mode==="navigate"&&(s.mode="same-origin"),s.reloadNavigation=!1,s.historyNavigation=!1,s.origin="client",s.referrer="client",s.referrerPolicy="",s.url=s.urlList[s.urlList.length-1],s.urlList=[s.url]),t.referrer!==void 0){let y=t.referrer;if(y==="")s.referrer="no-referrer";else{let m;try{m=new URL(y,o)}catch(w){throw new TypeError(`Referrer "${y}" is not a valid URL.`,{cause:w})}m.protocol==="about:"&&m.hostname==="client"||A&&!kj(m,Bf.settingsObject.baseUrl)?s.referrer="client":s.referrer=m}}t.referrerPolicy!==void 0&&(s.referrerPolicy=t.referrerPolicy);let u;if(t.mode!==void 0?u=t.mode:u=i,u==="navigate")throw se.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(u!=null&&(s.mode=u),t.credentials!==void 0&&(s.credentials=t.credentials),t.cache!==void 0&&(s.cache=t.cache),s.cache==="only-if-cached"&&s.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(t.redirect!==void 0&&(s.redirect=t.redirect),t.integrity!=null&&(s.integrity=String(t.integrity)),t.keepalive!==void 0&&(s.keepalive=!!t.keepalive),t.method!==void 0){let y=t.method,m=Vie[y];if(m!==void 0)s.method=m;else{if(!Lie(y))throw new TypeError(`'${y}' is not a valid HTTP method.`);let w=y.toUpperCase();if(Oie.has(w))throw new TypeError(`'${y}' HTTP method is unsupported.`);y=Gie[w]??y,s.method=y}!vj&&s.method==="patch"&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),vj=!0)}t.signal!==void 0&&(a=t.signal),this.#n=s;let d=new AbortController;if(this.#e=d.signal,a!=null)if(a.aborted)d.abort(a.reason);else{this[Xie]=d;let y=new WeakRef(d),m=Rj(y);Wb&&Nj(a)===Zie&&zie(1500,a),Sf.addAbortListener(a,m),Mj.register(d,{signal:a,abort:m},m)}if(this.#r=new xj(Df),Tj(this.#r,s.headersList),Hb(this.#r,"request"),u==="no-cors"){if(!Uie.has(s.method))throw new TypeError(`'${s.method} is unsupported in no-cors mode.`);Hb(this.#r,"request-no-cors")}if(c){let y=wj(this.#r),m=t.headers!==void 0?t.headers:new wf(y);if(y.clear(),m instanceof wf){for(let{name:w,value:R}of m.rawValues())y.append(w,R,!1);y.cookies=m.cookies}else Kie(this.#r,m)}let h=se.is.Request(e)?e.#n.body:null;if((t.body!=null||h!=null)&&(s.method==="GET"||s.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let f=null;if(t.body!=null){let[y,m]=Tie(t.body,s.keepalive);f=y,m&&!wj(this.#r).contains("content-type",!0)&&this.#r.append("content-type",m,!0)}let p=f??h;if(p!=null&&p.source==null){if(f!=null&&t.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(s.mode!=="same-origin"&&s.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');s.useCORSPreflightFlag=!0}let I=p;if(f==null&&h!=null){if(Sj(e.#n))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let y=new TransformStream;h.stream.pipeThrough(y),I={source:h.source,length:h.length,stream:y.readable}}this.#n.body=I}get method(){return se.brandCheck(this,r),this.#n.method}get url(){return se.brandCheck(this,r),Hie(this.#n.url)}get headers(){return se.brandCheck(this,r),this.#r}get destination(){return se.brandCheck(this,r),this.#n.destination}get referrer(){return se.brandCheck(this,r),this.#n.referrer==="no-referrer"?"":this.#n.referrer==="client"?"about:client":this.#n.referrer.toString()}get referrerPolicy(){return se.brandCheck(this,r),this.#n.referrerPolicy}get mode(){return se.brandCheck(this,r),this.#n.mode}get credentials(){return se.brandCheck(this,r),this.#n.credentials}get cache(){return se.brandCheck(this,r),this.#n.cache}get redirect(){return se.brandCheck(this,r),this.#n.redirect}get integrity(){return se.brandCheck(this,r),this.#n.integrity}get keepalive(){return se.brandCheck(this,r),this.#n.keepalive}get isReloadNavigation(){return se.brandCheck(this,r),this.#n.reloadNavigation}get isHistoryNavigation(){return se.brandCheck(this,r),this.#n.historyNavigation}get signal(){return se.brandCheck(this,r),this.#e}get body(){return se.brandCheck(this,r),this.#n.body?this.#n.body.stream:null}get bodyUsed(){return se.brandCheck(this,r),!!this.#n.body&&Sf.isDisturbed(this.#n.body.stream)}get duplex(){return se.brandCheck(this,r),"half"}clone(){if(se.brandCheck(this,r),Sj(this.#n))throw new TypeError("unusable");let e=Fj(this.#n),t=new AbortController;if(this.signal.aborted)t.abort(this.signal.reason);else{let n=kf.get(this.signal);n===void 0&&(n=new Set,kf.set(this.signal,n));let s=new WeakRef(t);n.add(s),Sf.addAbortListener(t.signal,Rj(s))}return Lj(e,this.#t,t.signal,Fie(this.#r))}[Dj.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.colors??=!0;let n={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${Dj.formatWithOptions(t,n)}`}static setRequestSignal(e,t){return e.#e=t,e}static getRequestDispatcher(e){return e.#t}static setRequestDispatcher(e,t){e.#t=t}static setRequestHeaders(e,t){e.#r=t}static getRequestState(e){return e.#n}static setRequestState(e,t){e.#n=t}},{setRequestSignal:$ie,getRequestDispatcher:eoe,setRequestDispatcher:toe,setRequestHeaders:roe,getRequestState:Kj,setRequestState:noe}=$t;Reflect.deleteProperty($t,"setRequestSignal");Reflect.deleteProperty($t,"getRequestDispatcher");Reflect.deleteProperty($t,"setRequestDispatcher");Reflect.deleteProperty($t,"setRequestHeaders");Reflect.deleteProperty($t,"getRequestState");Reflect.deleteProperty($t,"setRequestState");Nie($t,Kj);function Rf(r){return{method:r.method??"GET",localURLsOnly:r.localURLsOnly??!1,unsafeRequest:r.unsafeRequest??!1,body:r.body??null,client:r.client??null,reservedClient:r.reservedClient??null,replacesClientId:r.replacesClientId??"",window:r.window??"client",keepalive:r.keepalive??!1,serviceWorkers:r.serviceWorkers??"all",initiator:r.initiator??"",destination:r.destination??"",priority:r.priority??null,origin:r.origin??"client",policyContainer:r.policyContainer??"client",referrer:r.referrer??"client",referrerPolicy:r.referrerPolicy??"",mode:r.mode??"no-cors",useCORSPreflightFlag:r.useCORSPreflightFlag??!1,credentials:r.credentials??"same-origin",useCredentials:r.useCredentials??!1,cache:r.cache??"default",redirect:r.redirect??"follow",integrity:r.integrity??"",cryptoGraphicsNonceMetadata:r.cryptoGraphicsNonceMetadata??"",parserMetadata:r.parserMetadata??"",reloadNavigation:r.reloadNavigation??!1,historyNavigation:r.historyNavigation??!1,userActivation:r.userActivation??!1,taintedOrigin:r.taintedOrigin??!1,redirectCount:r.redirectCount??0,responseTainting:r.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:r.preventNoCacheCacheControlHeaderModification??!1,done:r.done??!1,timingAllowFailed:r.timingAllowFailed??!1,useURLCredentials:r.useURLCredentials??void 0,traversableForUserPrompts:r.traversableForUserPrompts??"client",urlList:r.urlList,url:r.urlList[0],headersList:r.headersList?new wf(r.headersList):new wf}}function Fj(r){let e=Rf({...r,body:null});return r.body!=null&&(e.body=Mie(r.body)),e}function Lj(r,e,t,n){let s=new $t(Df);noe(s,r),toe(s,e),$ie(s,t);let i=new xj(Df);return roe(s,i),Tj(i,r.headersList),Hb(i,n),s}Object.defineProperties($t.prototype,{method:ct,url:ct,headers:ct,redirect:ct,clone:ct,signal:ct,duplex:ct,destination:ct,body:ct,bodyUsed:ct,isHistoryNavigation:ct,isReloadNavigation:ct,keepalive:ct,integrity:ct,cache:ct,credentials:ct,attribute:ct,referrerPolicy:ct,referrer:ct,mode:ct,[Symbol.toStringTag]:{value:"Request",configurable:!0}});se.is.Request=se.util.MakeTypeAssertion($t);se.converters.RequestInfo=function(r){return typeof r=="string"?se.converters.USVString(r):se.is.Request(r)?r:se.converters.USVString(r)};se.converters.RequestInit=se.dictionaryConverter([{key:"method",converter:se.converters.ByteString},{key:"headers",converter:se.converters.HeadersInit},{key:"body",converter:se.nullableConverter(se.converters.BodyInit)},{key:"referrer",converter:se.converters.USVString},{key:"referrerPolicy",converter:se.converters.DOMString,allowedValues:jie},{key:"mode",converter:se.converters.DOMString,allowedValues:_ie},{key:"credentials",converter:se.converters.DOMString,allowedValues:Jie},{key:"cache",converter:se.converters.DOMString,allowedValues:Yie},{key:"redirect",converter:se.converters.DOMString,allowedValues:Pie},{key:"integrity",converter:se.converters.DOMString},{key:"keepalive",converter:se.converters.boolean},{key:"signal",converter:se.nullableConverter(r=>se.converters.AbortSignal(r,"RequestInit","signal"))},{key:"window",converter:se.converters.any},{key:"duplex",converter:se.converters.DOMString,allowedValues:qie},{key:"dispatcher",converter:se.converters.any},{key:"priority",converter:se.converters.DOMString,allowedValues:["high","low","auto"],defaultValue:()=>"auto"}]);Oj.exports={Request:$t,makeRequest:Rf,fromInnerRequest:Lj,cloneRequest:Fj,getRequestDispatcher:eoe,getRequestState:Kj}});var Gj=g((Qye,qj)=>{"use strict";var soe=S("node:assert"),{runtimeFeatures:jj}=Wn(),fo=new Map([["sha256",0],["sha384",1],["sha512",2]]),zb;if(jj.has("crypto")){zb=S("node:crypto");let r=zb.getHashes();r.length===0&&fo.clear();for(let e of fo.keys())r.includes(e)===!1&&fo.delete(e)}else fo.clear();var Uj=Map.prototype.get.bind(fo),Zb=Map.prototype.has.bind(fo),ioe=jj.has("crypto")===!1||fo.size===0?()=>!0:(r,e)=>{let t=_j(e);if(t.length===0)return!0;let n=Pj(t);for(let s of n){let i=s.alg,o=s.val,a=Jj(i,r);if(Yj(a,o))return!0}return!1};function Pj(r){let e=[],t=null;for(let n of r){if(soe(Zb(n.alg),"Invalid SRI hash algorithm token"),e.length===0){e.push(n),t=n;continue}let s=t.alg,i=Uj(s),o=n.alg,a=Uj(o);a<i||(a>i?(t=n,e[0]=n,e.length=1):e.push(n))}return e}function _j(r){let e=[];for(let t of r.split(" ")){let s=t.split("?",1)[0],i="",o=[s.slice(0,6),s.slice(7)],a=o[0];if(!Zb(a))continue;o[1]&&(i=o[1]);let A={alg:a,val:i};e.push(A)}return e}var Jj=(r,e)=>zb.hash(r,e,"base64");function Yj(r,e){let t=r.length;t!==0&&r[t-1]==="="&&(t-=1),t!==0&&r[t-1]==="="&&(t-=1);let n=e.length;if(n!==0&&e[n-1]==="="&&(n-=1),n!==0&&e[n-1]==="="&&(n-=1),t!==n)return!1;for(let s=0;s<t;++s)if(!(r[s]===e[s]||r[s]==="+"&&e[s]==="-"||r[s]==="/"&&e[s]==="_"))return!1;return!0}qj.exports={applyAlgorithmToBytes:Jj,bytesMatch:ioe,caseSensitiveMatch:Yj,isValidSRIHashAlgorithm:Zb,getStrongestMetadata:Pj,parseMetadata:_j}});var Kl=g((Bye,o2)=>{"use strict";var{makeNetworkError:Le,makeAppropriateNetworkError:Nl,filterResponse:Xb,makeResponse:vf,fromInnerResponse:ooe,getResponseState:aoe}=Tl(),{HeadersList:$b}=uo(),{Request:Aoe,cloneRequest:loe,getRequestDispatcher:coe,getRequestState:uoe}=Fa(),nn=S("node:zlib"),{makePolicyContainer:doe,clonePolicyContainer:hoe,requestBadPort:foe,TAOCheck:goe,appendRequestOriginHeader:poe,responseLocationURL:yoe,requestCurrentURL:Qr,setRequestReferrerPolicyOnRedirect:Eoe,tryUpgradeRequestToAPotentiallyTrustworthyURL:Ioe,createOpaqueTimingInfo:iQ,appendFetchMetadata:moe,corsCheck:Coe,crossOriginResourcePolicyCheck:boe,determineRequestsReferrer:Qoe,coarsenedSharedCurrentTime:Ml,sameOrigin:nQ,isCancelled:ti,isAborted:Vj,isErrorLike:Boe,fullyReadBody:Soe,readableStreamClose:woe,urlIsLocal:Doe,urlIsHttpHttpsScheme:Mf,urlHasHttpsScheme:koe,clampAndCoarsenConnectionTimingInfo:Roe,simpleRangeHeaderValue:voe,buildContentRange:xoe,createInflate:Toe,extractMimeType:Noe,hasAuthenticationEntry:Moe,includesCredentials:Hj,isTraversableNavigable:Koe}=gr(),go=S("node:assert"),{safelyExtractBody:Kf,extractBody:Wj}=ua(),{redirectStatusSet:$j,nullBodyStatus:e2,safeMethodsSet:Foe,requestBodyHeader:Loe,subresourceSet:Ooe}=JA(),Uoe=S("node:events"),{Readable:joe,pipeline:Poe,finished:_oe,isErrored:Joe,isReadable:xf}=S("node:stream"),{addAbortListener:Yoe,bufferToLowerCasedHeaderName:zj}=ue(),{dataURLProcessor:qoe,serializeAMimeType:Goe,minimizeSupportedMimeType:Voe}=Mr(),{getGlobalDispatcher:Hoe}=ff(),{webidl:oQ}=bt(),{STATUS_CODES:Zj}=S("node:http"),{bytesMatch:Woe}=Gj(),{createDeferredPromise:zoe}=HA(),{isomorphicEncode:Tf}=Hn(),{runtimeFeatures:Zoe}=Wn(),Xoe=Zoe.has("zstd"),$oe=["GET","HEAD"],eae=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",eQ,Nf=class extends Uoe{constructor(e){super(),this.dispatcher=e,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(e){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(e),this.emit("terminated",e))}abort(e){this.state==="ongoing"&&(this.state="aborted",e||(e=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=e,this.connection?.destroy(e),this.emit("terminated",e))}};function tae(r){t2(r,"fetch")}function rae(r,e=void 0){oQ.argumentLengthCheck(arguments,1,"globalThis.fetch");let t=zoe(),n;try{n=new Aoe(r,e)}catch(c){return t.reject(c),t.promise}let s=uoe(n);if(n.signal.aborted)return tQ(t,s,null,n.signal.reason,null),t.promise;s.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(s.serviceWorkers="none");let o=null,a=!1,A=null;return Yoe(n.signal,()=>{a=!0,go(A!=null),A.abort(n.signal.reason);let c=o?.deref();tQ(t,s,c,n.signal.reason,A.controller)}),A=n2({request:s,processResponseEndOfBody:tae,processResponse:c=>{if(!a){if(c.aborted){tQ(t,s,o,A.serializedAbortReason,A.controller);return}if(c.type==="error"){t.reject(new TypeError("fetch failed",{cause:c.error}));return}o=new WeakRef(ooe(c,"immutable")),t.resolve(o.deref()),t=null}},dispatcher:coe(n),requestObject:n}),t.promise}function t2(r,e="other"){if(r.type==="error"&&r.aborted||!r.urlList?.length)return;let t=r.urlList[0],n=r.timingInfo,s=r.cacheState;Mf(t)&&n!==null&&(r.timingAllowPassed||(n=iQ({startTime:n.startTime}),s=""),n.endTime=Ml(),r.timingInfo=n,r2(n,t.href,e,globalThis,s,"",r.status))}var r2=performance.markResourceTiming;function tQ(r,e,t,n,s){if(r&&r.reject(n),e.body?.stream!=null&&xf(e.body.stream)&&e.body.stream.cancel(n).catch(o=>{if(o.code!=="ERR_INVALID_STATE")throw o}),t==null)return;let i=aoe(t);i.body?.stream!=null&&xf(i.body.stream)&&s.error(n)}function n2({request:r,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:n,processResponseEndOfBody:s,processResponseConsumeBody:i,useParallelQueue:o=!1,dispatcher:a=Hoe(),requestObject:A=null}){go(a);let l=null,c=!1;r.client!=null&&(l=r.client.globalObject,c=r.client.crossOriginIsolatedCapability);let u=Ml(c),d=iQ({startTime:u}),h={controller:new Nf(a),request:r,timingInfo:d,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:n,processResponseConsumeBody:i,processResponseEndOfBody:s,taskDestination:l,crossOriginIsolatedCapability:c,requestObject:A};return go(!r.body||r.body.stream),r.window==="client"&&(r.window=r.client?.globalObject?.constructor?.name==="Window"?r.client:"no-window"),r.origin==="client"&&(r.origin=r.client.origin),r.policyContainer==="client"&&(r.client!=null?r.policyContainer=hoe(r.client.policyContainer):r.policyContainer=doe()),r.headersList.contains("accept",!0)||r.headersList.append("accept","*/*",!0),r.headersList.contains("accept-language",!0)||r.headersList.append("accept-language","*",!0),r.priority,Ooe.has(r.destination),s2(h,!1),h.controller}async function s2(r,e){try{let t=r.request,n=null;if(t.localURLsOnly&&!Doe(Qr(t))&&(n=Le("local URLs only")),Ioe(t),foe(t)==="blocked"&&(n=Le("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=Qoe(t)),n===null){let i=Qr(t);nQ(i,t.url)&&t.responseTainting==="basic"||i.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",n=await Xj(r)):t.mode==="same-origin"?n=Le('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?n=Le('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",n=await Xj(r)):Mf(Qr(t))?(t.responseTainting="cors",n=await i2(r)):n=Le("URL scheme must be a HTTP(S) scheme")}if(e)return n;n.status!==0&&!n.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?n=Xb(n,"basic"):t.responseTainting==="cors"?n=Xb(n,"cors"):t.responseTainting==="opaque"?n=Xb(n,"opaque"):go(!1));let s=n.status===0?n:n.internalResponse;if(s.urlList.length===0&&s.urlList.push(...t.urlList),t.timingAllowFailed||(n.timingAllowPassed=!0),n.type==="opaque"&&s.status===206&&s.rangeRequested&&!t.headers.contains("range",!0)&&(n=s=Le()),n.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||e2.includes(s.status))&&(s.body=null,r.controller.dump=!0),t.integrity){let i=a=>rQ(r,Le(a));if(t.responseTainting==="opaque"||n.body==null){i(n.error);return}let o=a=>{if(!Woe(a,t.integrity)){i("integrity mismatch");return}n.body=Kf(a)[0],rQ(r,n)};Soe(n.body,o,i)}else rQ(r,n)}catch(t){r.controller.terminate(t)}}function Xj(r){if(ti(r)&&r.request.redirectCount===0)return Promise.resolve(Nl(r));let{request:e}=r,{protocol:t}=Qr(e);switch(t){case"about:":return Promise.resolve(Le("about scheme is not supported"));case"blob:":{eQ||(eQ=S("node:buffer").resolveObjectURL);let n=Qr(e);if(n.search.length!==0)return Promise.resolve(Le("NetworkError when attempting to fetch resource."));let s=eQ(n.toString());if(e.method!=="GET"||!oQ.is.Blob(s))return Promise.resolve(Le("invalid method"));let i=vf(),o=s.size,a=Tf(`${o}`),A=s.type;if(e.headersList.contains("range",!0)){i.rangeRequested=!0;let l=e.headersList.get("range",!0),c=voe(l,!0);if(c==="failure")return Promise.resolve(Le("failed to fetch the data URL"));let{rangeStartValue:u,rangeEndValue:d}=c;if(u===null)u=o-d,d=u+d-1;else{if(u>=o)return Promise.resolve(Le("Range start is greater than the blob's size."));(d===null||d>=o)&&(d=o-1)}let h=s.slice(u,d+1,A),f=Wj(h);i.body=f[0];let p=Tf(`${h.size}`),I=xoe(u,d,o);i.status=206,i.statusText="Partial Content",i.headersList.set("content-length",p,!0),i.headersList.set("content-type",A,!0),i.headersList.set("content-range",I,!0)}else{let l=Wj(s);i.statusText="OK",i.body=l[0],i.headersList.set("content-length",a,!0),i.headersList.set("content-type",A,!0)}return Promise.resolve(i)}case"data:":{let n=Qr(e),s=qoe(n);if(s==="failure")return Promise.resolve(Le("failed to fetch the data URL"));let i=Goe(s.mimeType);return Promise.resolve(vf({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:i}]],body:Kf(s.body)[0]}))}case"file:":return Promise.resolve(Le("not implemented... yet..."));case"http:":case"https:":return i2(r).catch(n=>Le(n));default:return Promise.resolve(Le("unknown scheme"))}}function nae(r,e){r.request.done=!0,r.processResponseDone!=null&&queueMicrotask(()=>r.processResponseDone(e))}function rQ(r,e){let t=r.timingInfo,n=()=>{let i=Date.now();r.request.destination==="document"&&(r.controller.fullTimingInfo=t),r.controller.reportTimingSteps=()=>{if(!Mf(r.request.url))return;t.endTime=i;let a=e.cacheState,A=e.bodyInfo;e.timingAllowPassed||(t=iQ(t),a="");let l=0;if(r.request.mode!=="navigate"||!e.hasCrossOriginRedirects){l=e.status;let c=Noe(e.headersList);c!=="failure"&&(A.contentType=Voe(c))}r.request.initiatorType!=null&&r2(t,r.request.url.href,r.request.initiatorType,globalThis,a,A,l)};let o=()=>{r.request.done=!0,r.processResponseEndOfBody!=null&&queueMicrotask(()=>r.processResponseEndOfBody(e)),r.request.initiatorType!=null&&r.controller.reportTimingSteps()};queueMicrotask(()=>o())};r.processResponse!=null&&queueMicrotask(()=>{r.processResponse(e),r.processResponse=null});let s=e.type==="error"?e:e.internalResponse??e;s.body==null?n():_oe(s.body.stream,()=>{n()})}async function i2(r){let e=r.request,t=null,n=null,s=r.timingInfo;if(e.serviceWorkers,t===null){if(e.redirect==="follow"&&(e.serviceWorkers="none"),n=t=await sQ(r),e.responseTainting==="cors"&&Coe(e,t)==="failure")return Le("cors failure");goe(e,t)==="failure"&&(e.timingAllowFailed=!0)}return(e.responseTainting==="opaque"||t.type==="opaque")&&boe(e.origin,e.client,e.destination,n)==="blocked"?Le("blocked"):($j.has(n.status)&&(e.redirect!=="manual"&&r.controller.connection.destroy(void 0,!1),e.redirect==="error"?t=Le("unexpected redirect"):e.redirect==="manual"?t=n:e.redirect==="follow"?t=await sae(r,t):go(!1)),t.timingInfo=s,t)}function sae(r,e){let t=r.request,n=e.internalResponse?e.internalResponse:e,s;try{if(s=yoe(n,Qr(t).hash),s==null)return e}catch(o){return Promise.resolve(Le(o))}if(!Mf(s))return Promise.resolve(Le("URL scheme must be a HTTP(S) scheme"));if(t.redirectCount===20)return Promise.resolve(Le("redirect count exceeded"));if(t.redirectCount+=1,t.mode==="cors"&&(s.username||s.password)&&!nQ(t,s))return Promise.resolve(Le('cross origin not allowed for request mode "cors"'));if(t.responseTainting==="cors"&&(s.username||s.password))return Promise.resolve(Le('URL cannot contain credentials for request mode "cors"'));if(n.status!==303&&t.body!=null&&t.body.source==null)return Promise.resolve(Le());if([301,302].includes(n.status)&&t.method==="POST"||n.status===303&&!$oe.includes(t.method)){t.method="GET",t.body=null;for(let o of Loe)t.headersList.delete(o)}nQ(Qr(t),s)||(t.headersList.delete("authorization",!0),t.headersList.delete("proxy-authorization",!0),t.headersList.delete("cookie",!0),t.headersList.delete("host",!0)),t.body!=null&&(go(t.body.source!=null),t.body=Kf(t.body.source)[0]);let i=r.timingInfo;return i.redirectEndTime=i.postRedirectStartTime=Ml(r.crossOriginIsolatedCapability),i.redirectStartTime===0&&(i.redirectStartTime=i.startTime),t.urlList.push(s),Eoe(t,n),s2(r,!0)}async function sQ(r,e=!1,t=!1){let n=r.request,s=null,i=null,o=null,a=null,A=!1;n.window==="no-window"&&n.redirect==="error"?(s=r,i=n):(i=loe(n),s={...r},s.request=i);let l=n.credentials==="include"||n.credentials==="same-origin"&&n.responseTainting==="basic",c=i.body?i.body.length:null,u=null;if(i.body==null&&["POST","PUT"].includes(i.method)&&(u="0"),c!=null&&(u=Tf(`${c}`)),u!=null&&!i.headersList.contains("content-length",!0)&&i.headersList.append("content-length",u,!0),c!=null&&i.keepalive,oQ.is.URL(i.referrer)&&i.headersList.append("referer",Tf(i.referrer.href),!0),poe(i),moe(i),i.headersList.contains("user-agent",!0)||i.headersList.append("user-agent",eae,!0),i.cache==="default"&&(i.headersList.contains("if-modified-since",!0)||i.headersList.contains("if-none-match",!0)||i.headersList.contains("if-unmodified-since",!0)||i.headersList.contains("if-match",!0)||i.headersList.contains("if-range",!0))&&(i.cache="no-store"),i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control",!0)&&i.headersList.append("cache-control","max-age=0",!0),(i.cache==="no-store"||i.cache==="reload")&&(i.headersList.contains("pragma",!0)||i.headersList.append("pragma","no-cache",!0),i.headersList.contains("cache-control",!0)||i.headersList.append("cache-control","no-cache",!0)),i.headersList.contains("range",!0)&&i.headersList.append("accept-encoding","identity",!0),i.headersList.contains("accept-encoding",!0)||(koe(Qr(i))?i.headersList.append("accept-encoding","br, gzip, deflate",!0):i.headersList.append("accept-encoding","gzip, deflate",!0)),i.headersList.delete("host",!0),l&&!i.headersList.contains("authorization",!0)){let d=null;if(!(Moe(i)&&(i.useURLCredentials===void 0||!Hj(Qr(i))))){if(Hj(Qr(i))&&e){let{username:h,password:f}=Qr(i);d=`Basic ${Buffer.from(`${h}:${f}`).toString("base64")}`}}d!==null&&i.headersList.append("Authorization",d,!1)}if(a==null&&(i.cache="no-store"),i.cache!=="no-store"&&i.cache,o==null){if(i.cache==="only-if-cached")return Le("only if cached");let d=await iae(s,l,t);!Foe.has(i.method)&&d.status>=200&&d.status<=399,A&&d.status,o==null&&(o=d)}if(o.urlList=[...i.urlList],i.headersList.contains("range",!0)&&(o.rangeRequested=!0),o.requestIncludesCredentials=l,o.status===401&&i.responseTainting!=="cors"&&l&&(n.useURLCredentials!==void 0||Koe(n.traversableForUserPrompts))){if(n.body!=null){if(n.body.source==null)return o;n.body=Kf(n.body.source)[0]}if(n.useURLCredentials===void 0||e)return ti(r)?Nl(r):o;r.controller.connection.destroy(),o=await sQ(r,!0)}if(o.status===407)return n.window==="no-window"?Le():ti(r)?Nl(r):Le("proxy authentication required");if(o.status===421&&!t&&(n.body==null||n.body.source!=null)){if(ti(r))return Nl(r);r.controller.connection.destroy(),o=await sQ(r,e,!0)}return o}async function iae(r,e=!1,t=!1){go(!r.controller.connection||r.controller.connection.destroyed),r.controller.connection={abort:null,destroyed:!1,destroy(f,p=!0){this.destroyed||(this.destroyed=!0,p&&this.abort?.(f??new DOMException("The operation was aborted.","AbortError")))}};let n=r.request,s=null,i=r.timingInfo;null==null&&(n.cache="no-store");let a=t?"yes":"no";n.mode;let A=null;if(n.body==null&&r.processRequestEndOfBody)queueMicrotask(()=>r.processRequestEndOfBody());else if(n.body!=null){let f=async function*(y){ti(r)||(yield y,r.processRequestBodyChunkLength?.(y.byteLength))},p=()=>{ti(r)||r.processRequestEndOfBody&&r.processRequestEndOfBody()},I=y=>{ti(r)||(y.name==="AbortError"?r.controller.abort():r.controller.terminate(y))};A=(async function*(){try{for await(let y of n.body.stream)yield*f(y);p()}catch(y){I(y)}})()}try{let{body:f,status:p,statusText:I,headersList:y,socket:m}=await h({body:A});if(m)s=vf({status:p,statusText:I,headersList:y,socket:m});else{let w=f[Symbol.asyncIterator]();r.controller.next=()=>w.next(),s=vf({status:p,statusText:I,headersList:y})}}catch(f){return f.name==="AbortError"?(r.controller.connection.destroy(),Nl(r,f)):Le(f)}let l=()=>r.controller.resume(),c=f=>{ti(r)||r.controller.abort(f)},u=new ReadableStream({start(f){r.controller.controller=f},pull:l,cancel:c,type:"bytes"});s.body={stream:u,source:null,length:null},r.controller.resume||r.controller.on("terminated",d),r.controller.resume=async()=>{for(;;){let f,p;try{let{done:y,value:m}=await r.controller.next();if(Vj(r))break;f=y?void 0:m}catch(y){r.controller.ended&&!i.encodedBodySize?f=void 0:(f=y,p=!0)}if(f===void 0){woe(r.controller.controller),nae(r,s);return}if(i.decodedBodySize+=f?.byteLength??0,p){r.controller.terminate(f);return}let I=new Uint8Array(f);if(I.byteLength&&r.controller.controller.enqueue(I),Joe(u)){r.controller.terminate();return}if(r.controller.controller.desiredSize<=0)return}};function d(f){Vj(r)?(s.aborted=!0,xf(u)&&r.controller.controller.error(r.controller.serializedAbortReason)):xf(u)&&r.controller.controller.error(new TypeError("terminated",{cause:Boe(f)?f:void 0})),r.controller.connection.destroy()}return s;function h({body:f}){let p=Qr(n),I=r.controller.dispatcher,y=p.pathname+p.search,m=p.search.length===0&&p.href[p.href.length-p.hash.length-1]==="?";return new Promise((w,R)=>I.dispatch({path:m?`${y}?`:y,origin:p.origin,method:n.method,body:I.isMockActive?n.body&&(n.body.source||n.body.stream):f,headers:n.headersList.entries,maxRedirections:0,upgrade:n.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(L){let{connection:j}=r.controller;i.finalConnectionTimingInfo=Roe(void 0,i.postRedirectStartTime,r.crossOriginIsolatedCapability),j.destroyed?L(new DOMException("The operation was aborted.","AbortError")):(r.controller.on("terminated",L),this.abort=j.abort=L),i.finalNetworkRequestStartTime=Ml(r.crossOriginIsolatedCapability)},onResponseStarted(){i.finalNetworkResponseStartTime=Ml(r.crossOriginIsolatedCapability)},onHeaders(L,j,v,C){if(L<200)return!1;let K=new $b;for(let T=0;T<j.length;T+=2){let M=zj(j[T]),N=j[T+1];if(Array.isArray(N)&&!Buffer.isBuffer(j[T+1]))for(let F of N)K.append(M,F.toString("latin1"),!0);else K.append(M,N.toString("latin1"),!0)}let O=K.get("location",!0);this.body=new joe({read:v});let U=O&&n.redirect==="follow"&&$j.has(L),x=[];if(n.method!=="HEAD"&&n.method!=="CONNECT"&&!e2.includes(L)&&!U){let T=K.get("content-encoding",!0),M=T?T.toLowerCase().split(","):[],N=5;if(M.length>N)return R(new Error(`too many content-encodings in response: ${M.length}, maximum allowed is ${N}`)),!0;for(let F=M.length-1;F>=0;--F){let W=M[F].trim();if(W==="x-gzip"||W==="gzip")x.push(nn.createGunzip({flush:nn.constants.Z_SYNC_FLUSH,finishFlush:nn.constants.Z_SYNC_FLUSH}));else if(W==="deflate")x.push(Toe({flush:nn.constants.Z_SYNC_FLUSH,finishFlush:nn.constants.Z_SYNC_FLUSH}));else if(W==="br")x.push(nn.createBrotliDecompress({flush:nn.constants.BROTLI_OPERATION_FLUSH,finishFlush:nn.constants.BROTLI_OPERATION_FLUSH}));else if(W==="zstd"&&Xoe)x.push(nn.createZstdDecompress({flush:nn.constants.ZSTD_e_continue,finishFlush:nn.constants.ZSTD_e_end}));else{x.length=0;break}}}let b=this.onError.bind(this);return w({status:L,statusText:C,headersList:K,body:x.length?Poe(this.body,...x,T=>{T&&this.onError(T)}).on("error",b):this.body.on("error",b)}),!0},onData(L){if(r.controller.dump)return;let j=L;return i.encodedBodySize+=j.byteLength,this.body.push(j)},onComplete(){this.abort&&r.controller.off("terminated",this.abort),r.controller.ended=!0,this.body.push(null)},onError(L){this.abort&&r.controller.off("terminated",this.abort),this.body?.destroy(L),r.controller.terminate(L),R(L)},onRequestUpgrade(L,j,v,C){if(C.session!=null&&j!==200||C.session==null&&j!==101)return!1;let K=new $b;for(let[O,U]of Object.entries(v)){if(U==null)continue;let x=O.toLowerCase();if(Array.isArray(U))for(let b of U)K.append(x,String(b),!0);else K.append(x,String(U),!0)}return w({status:j,statusText:Zj[j],headersList:K,socket:C}),!0},onUpgrade(L,j,v){if(v.session!=null&&L!==200||v.session==null&&L!==101)return!1;let C=new $b;for(let K=0;K<j.length;K+=2){let O=zj(j[K]),U=j[K+1];if(Array.isArray(U)&&!Buffer.isBuffer(j[K+1]))for(let x of U)C.append(O,x.toString("latin1"),!0);else C.append(O,U.toString("latin1"),!0)}return w({status:L,statusText:Zj[L],headersList:C,socket:v}),!0}}))}}o2.exports={fetch:rae,Fetch:Nf,fetching:n2,finalizeAndReportTiming:t2}});var l2=g((Sye,A2)=>{"use strict";var oae=S("node:assert"),{URLSerializer:a2}=Mr(),{isValidHeaderName:aae}=gr();function Aae(r,e,t=!1){let n=a2(r,t),s=a2(e,t);return n===s}function lae(r){oae(r!==null);let e=[];for(let t of r.split(","))t=t.trim(),aae(t)&&e.push(t);return e}A2.exports={urlEquals:Aae,getFieldValues:lae}});var h2=g((wye,d2)=>{"use strict";var aQ=S("node:assert"),{kConstruct:cae}=Ke(),{urlEquals:uae,getFieldValues:AQ}=l2(),{kEnumerableProperty:po,isDisturbed:dae}=ue(),{webidl:z}=bt(),{cloneResponse:c2,fromInnerResponse:hae,getResponseState:fae}=Tl(),{Request:Fl,fromInnerRequest:gae,getRequestState:Dn}=Fa(),{fetching:pae}=Kl(),{urlIsHttpHttpsScheme:Ff,readAllBytes:yae}=gr(),{createDeferredPromise:La}=HA(),Lf=class r{#e;constructor(){arguments[0]!==cae&&z.illegalConstructor(),z.util.markAsUncloneable(this),this.#e=arguments[1]}async match(e,t={}){z.brandCheck(this,r);let n="Cache.match";z.argumentLengthCheck(arguments,1,n),e=z.converters.RequestInfo(e),t=z.converters.CacheQueryOptions(t,n,"options");let s=this.#i(e,t,1);if(s.length!==0)return s[0]}async matchAll(e=void 0,t={}){z.brandCheck(this,r);let n="Cache.matchAll";return e!==void 0&&(e=z.converters.RequestInfo(e)),t=z.converters.CacheQueryOptions(t,n,"options"),this.#i(e,t)}async add(e){z.brandCheck(this,r),z.argumentLengthCheck(arguments,1,"Cache.add"),e=z.converters.RequestInfo(e);let n=[e];return await this.addAll(n)}async addAll(e){z.brandCheck(this,r);let t="Cache.addAll";z.argumentLengthCheck(arguments,1,t);let n=[],s=[];for(let d of e){if(d===void 0)throw z.errors.conversionFailed({prefix:t,argument:"Argument 1",types:["undefined is not allowed"]});if(d=z.converters.RequestInfo(d),typeof d=="string")continue;let h=Dn(d);if(!Ff(h.url)||h.method!=="GET")throw z.errors.exception({header:t,message:"Expected http/s scheme when method is not GET."})}let i=[];for(let d of e){let h=Dn(new Fl(d));if(!Ff(h.url))throw z.errors.exception({header:t,message:"Expected http/s scheme."});h.initiator="fetch",h.destination="subresource",s.push(h);let f=La();i.push(pae({request:h,processResponse(p){if(p.type==="error"||p.status===206||p.status<200||p.status>299)f.reject(z.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(p.headersList.contains("vary")){let I=AQ(p.headersList.get("vary"));for(let y of I)if(y==="*"){f.reject(z.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let m of i)m.abort();return}}},processResponseEndOfBody(p){if(p.aborted){f.reject(new DOMException("aborted","AbortError"));return}f.resolve(p)}})),n.push(f.promise)}let a=await Promise.all(n),A=[],l=0;for(let d of a){let h={type:"put",request:s[l],response:d};A.push(h),l++}let c=La(),u=null;try{this.#t(A)}catch(d){u=d}return queueMicrotask(()=>{u===null?c.resolve(void 0):c.reject(u)}),c.promise}async put(e,t){z.brandCheck(this,r);let n="Cache.put";z.argumentLengthCheck(arguments,2,n),e=z.converters.RequestInfo(e),t=z.converters.Response(t,n,"response");let s=null;if(z.is.Request(e)?s=Dn(e):s=Dn(new Fl(e)),!Ff(s.url)||s.method!=="GET")throw z.errors.exception({header:n,message:"Expected an http/s scheme when method is not GET"});let i=fae(t);if(i.status===206)throw z.errors.exception({header:n,message:"Got 206 status"});if(i.headersList.contains("vary")){let h=AQ(i.headersList.get("vary"));for(let f of h)if(f==="*")throw z.errors.exception({header:n,message:"Got * vary field value"})}if(i.body&&(dae(i.body.stream)||i.body.stream.locked))throw z.errors.exception({header:n,message:"Response body is locked or disturbed"});let o=c2(i),a=La();if(i.body!=null){let f=i.body.stream.getReader();yae(f,a.resolve,a.reject)}else a.resolve(void 0);let A=[],l={type:"put",request:s,response:o};A.push(l);let c=await a.promise;o.body!=null&&(o.body.source=c);let u=La(),d=null;try{this.#t(A)}catch(h){d=h}return queueMicrotask(()=>{d===null?u.resolve():u.reject(d)}),u.promise}async delete(e,t={}){z.brandCheck(this,r);let n="Cache.delete";z.argumentLengthCheck(arguments,1,n),e=z.converters.RequestInfo(e),t=z.converters.CacheQueryOptions(t,n,"options");let s=null;if(z.is.Request(e)){if(s=Dn(e),s.method!=="GET"&&!t.ignoreMethod)return!1}else aQ(typeof e=="string"),s=Dn(new Fl(e));let i=[],o={type:"delete",request:s,options:t};i.push(o);let a=La(),A=null,l;try{l=this.#t(i)}catch(c){A=c}return queueMicrotask(()=>{A===null?a.resolve(!!l?.length):a.reject(A)}),a.promise}async keys(e=void 0,t={}){z.brandCheck(this,r);let n="Cache.keys";e!==void 0&&(e=z.converters.RequestInfo(e)),t=z.converters.CacheQueryOptions(t,n,"options");let s=null;if(e!==void 0)if(z.is.Request(e)){if(s=Dn(e),s.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(s=Dn(new Fl(e)));let i=La(),o=[];if(e===void 0)for(let a of this.#e)o.push(a[0]);else{let a=this.#r(s,t);for(let A of a)o.push(A[0])}return queueMicrotask(()=>{let a=[];for(let A of o){let l=gae(A,void 0,new AbortController().signal,"immutable");a.push(l)}i.resolve(Object.freeze(a))}),i.promise}#t(e){let t=this.#e,n=[...t],s=[],i=[];try{for(let o of e){if(o.type!=="delete"&&o.type!=="put")throw z.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(o.type==="delete"&&o.response!=null)throw z.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#r(o.request,o.options,s).length)throw new DOMException("???","InvalidStateError");let a;if(o.type==="delete"){if(a=this.#r(o.request,o.options),a.length===0)return[];for(let A of a){let l=t.indexOf(A);aQ(l!==-1),t.splice(l,1)}}else if(o.type==="put"){if(o.response==null)throw z.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let A=o.request;if(!Ff(A.url))throw z.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(A.method!=="GET")throw z.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(o.options!=null)throw z.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});a=this.#r(o.request);for(let l of a){let c=t.indexOf(l);aQ(c!==-1),t.splice(c,1)}t.push([o.request,o.response]),s.push([o.request,o.response])}i.push([o.request,o.response])}return i}catch(o){throw this.#e.length=0,this.#e=n,o}}#r(e,t,n){let s=[],i=n??this.#e;for(let o of i){let[a,A]=o;this.#n(e,a,A,t)&&s.push(o)}return s}#n(e,t,n=null,s){let i=new URL(e.url),o=new URL(t.url);if(s?.ignoreSearch&&(o.search="",i.search=""),!uae(i,o,!0))return!1;if(n==null||s?.ignoreVary||!n.headersList.contains("vary"))return!0;let a=AQ(n.headersList.get("vary"));for(let A of a){if(A==="*")return!1;let l=t.headersList.get(A),c=e.headersList.get(A);if(l!==c)return!1}return!0}#i(e,t,n=1/0){let s=null;if(e!==void 0)if(z.is.Request(e)){if(s=Dn(e),s.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(s=Dn(new Fl(e)));let i=[];if(e===void 0)for(let a of this.#e)i.push(a[1]);else{let a=this.#r(s,t);for(let A of a)i.push(A[1])}let o=[];for(let a of i){let A=hae(c2(a),"immutable");if(o.push(A),o.length>=n)break}return Object.freeze(o)}};Object.defineProperties(Lf.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:po,matchAll:po,add:po,addAll:po,put:po,delete:po,keys:po});var u2=[{key:"ignoreSearch",converter:z.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:z.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:z.converters.boolean,defaultValue:()=>!1}];z.converters.CacheQueryOptions=z.dictionaryConverter(u2);z.converters.MultiCacheQueryOptions=z.dictionaryConverter([...u2,{key:"cacheName",converter:z.converters.DOMString}]);z.converters.Response=z.interfaceConverter(z.is.Response,"Response");z.converters["sequence<RequestInfo>"]=z.sequenceConverter(z.converters.RequestInfo);d2.exports={Cache:Lf}});var g2=g((Dye,f2)=>{"use strict";var{Cache:Of}=h2(),{webidl:vt}=bt(),{kEnumerableProperty:Ll}=ue(),{kConstruct:Ol}=Ke(),Uf=class r{#e=new Map;constructor(){arguments[0]!==Ol&&vt.illegalConstructor(),vt.util.markAsUncloneable(this)}async match(e,t={}){if(vt.brandCheck(this,r),vt.argumentLengthCheck(arguments,1,"CacheStorage.match"),e=vt.converters.RequestInfo(e),t=vt.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#e.has(t.cacheName)){let n=this.#e.get(t.cacheName);return await new Of(Ol,n).match(e,t)}}else for(let n of this.#e.values()){let i=await new Of(Ol,n).match(e,t);if(i!==void 0)return i}}async has(e){vt.brandCheck(this,r);let t="CacheStorage.has";return vt.argumentLengthCheck(arguments,1,t),e=vt.converters.DOMString(e,t,"cacheName"),this.#e.has(e)}async open(e){vt.brandCheck(this,r);let t="CacheStorage.open";if(vt.argumentLengthCheck(arguments,1,t),e=vt.converters.DOMString(e,t,"cacheName"),this.#e.has(e)){let s=this.#e.get(e);return new Of(Ol,s)}let n=[];return this.#e.set(e,n),new Of(Ol,n)}async delete(e){vt.brandCheck(this,r);let t="CacheStorage.delete";return vt.argumentLengthCheck(arguments,1,t),e=vt.converters.DOMString(e,t,"cacheName"),this.#e.delete(e)}async keys(){return vt.brandCheck(this,r),[...this.#e.keys()]}};Object.defineProperties(Uf.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:Ll,has:Ll,open:Ll,delete:Ll,keys:Ll});f2.exports={CacheStorage:Uf}});var y2=g((kye,p2)=>{"use strict";p2.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var uQ=g((Rye,C2)=>{"use strict";function Eae(r){for(let e=0;e<r.length;++e){let t=r.charCodeAt(e);if(t>=0&&t<=8||t>=10&&t<=31||t===127)return!0}return!1}function lQ(r){for(let e=0;e<r.length;++e){let t=r.charCodeAt(e);if(t<33||t>126||t===34||t===40||t===41||t===60||t===62||t===64||t===44||t===59||t===58||t===92||t===47||t===91||t===93||t===63||t===61||t===123||t===125)throw new Error("Invalid cookie name")}}function cQ(r){let e=r.length,t=0;if(r[0]==='"'){if(e===1||r[e-1]!=='"')throw new Error("Invalid cookie value");--e,++t}for(;t<e;){let n=r.charCodeAt(t++);if(n<33||n>126||n===34||n===44||n===59||n===92)throw new Error("Invalid cookie value")}}function I2(r){for(let e=0;e<r.length;++e){let t=r.charCodeAt(e);if(t<32||t>126||t===59)throw new Error("Invalid cookie path")}}function E2(r){return r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122}function Iae(r){if(r===" ")return;if(r.length>255)throw new Error("Invalid cookie domain");let e=0;for(let t=0;t<r.length;++t){let n=r.charCodeAt(t);if(n===46){if(e===0)throw new Error("Invalid cookie domain");if(r.charCodeAt(t-1)===45)throw new Error("Invalid cookie domain");e=0;continue}if(e===0&&!E2(n))throw new Error("Invalid cookie domain");if(!E2(n)&&n!==45)throw new Error("Invalid cookie domain");if(++e>63)throw new Error("Invalid cookie domain")}if(e===0||r.charCodeAt(r.length-1)===45)throw new Error("Invalid cookie domain")}var mae=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Cae=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],jf=Array(61).fill(0).map((r,e)=>e.toString().padStart(2,"0"));function m2(r){return typeof r=="number"&&(r=new Date(r)),`${mae[r.getUTCDay()]}, ${jf[r.getUTCDate()]} ${Cae[r.getUTCMonth()]} ${r.getUTCFullYear()} ${jf[r.getUTCHours()]}:${jf[r.getUTCMinutes()]}:${jf[r.getUTCSeconds()]} GMT`}function bae(r){if(r<0)throw new Error("Invalid cookie max-age")}function Qae(r){if(r.name.length===0)return null;lQ(r.name),cQ(r.value);let e=[`${r.name}=${r.value}`];r.name.startsWith("__Secure-")&&(r.secure=!0),r.name.startsWith("__Host-")&&(r.secure=!0,r.domain=null,r.path="/"),r.secure&&e.push("Secure"),r.httpOnly&&e.push("HttpOnly"),typeof r.maxAge=="number"&&(bae(r.maxAge),e.push(`Max-Age=${r.maxAge}`)),r.domain&&(Iae(r.domain),e.push(`Domain=${r.domain}`)),r.path&&(I2(r.path),e.push(`Path=${r.path}`)),r.expires&&r.expires.toString()!=="Invalid Date"&&e.push(`Expires=${m2(r.expires)}`),r.sameSite&&e.push(`SameSite=${r.sameSite}`);for(let t of r.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[n,...s]=t.split("="),i=n.trim(),o=s.join("=");lQ(i),cQ(o),e.push(`${i}=${o}`)}return e.join("; ")}C2.exports={isCTLExcludingHtab:Eae,validateCookieName:lQ,validateCookiePath:I2,validateCookieValue:cQ,toIMFDate:m2,stringify:Qae}});var Q2=g((vye,b2)=>{"use strict";var{collectASequenceOfCodePointsFast:Pf}=Hn(),{maxNameValuePairSize:Bae,maxAttributeValueSize:Sae}=y2(),{isCTLExcludingHtab:wae}=uQ(),Dae=S("node:assert");function kae(r){if(wae(r))return null;let e="",t="",n="",s="";if(r.includes(";")){let i={position:0};e=Pf(";",r,i),t=r.slice(i.position)}else e=r;if(!e.includes("="))s=e;else{let i={position:0};n=Pf("=",e,i),s=e.slice(i.position+1)}return n=n.trim(),s=s.trim(),n.length+s.length>Bae?null:{name:n,value:s,...Oa(t)}}function Oa(r,e={}){if(r.length===0)return e;Dae(r[0]===";"),r=r.slice(1);let t="";r.includes(";")?(t=Pf(";",r,{position:0}),r=r.slice(t.length)):(t=r,r="");let n="",s="";if(t.includes("=")){let o={position:0};n=Pf("=",t,o),s=t.slice(o.position+1)}else n=t;if(n=n.trim(),s=s.trim(),s.length>Sae)return Oa(r,e);let i=n.toLowerCase();if(i==="expires"){let o=new Date(s);e.expires=o}else if(i==="max-age"){let o=s.charCodeAt(0);if((o<48||o>57)&&s[0]!=="-"||!/^\d+$/.test(s))return Oa(r,e);let a=Number(s);e.maxAge=a}else if(i==="domain"){let o=s;o[0]==="."&&(o=o.slice(1)),o=o.toLowerCase(),e.domain=o}else if(i==="path"){let o="";s.length===0||s[0]!=="/"?o="/":o=s,e.path=o}else if(i==="secure")e.secure=!0;else if(i==="httponly")e.httpOnly=!0;else if(i==="samesite"){let o=s.toLowerCase();o==="none"?e.sameSite="None":o==="strict"?e.sameSite="Strict":o==="lax"&&(e.sameSite="Lax")}else e.unparsed??=[],e.unparsed.push(`${n}=${s}`);return Oa(r,e)}b2.exports={parseSetCookie:kae,parseUnparsedAttributes:Oa}});var D2=g((xye,w2)=>{"use strict";var{parseSetCookie:B2}=Q2(),{stringify:Rae}=uQ(),{webidl:Se}=bt(),{Headers:vae}=uo(),_f=Se.brandCheckMultiple([vae,globalThis.Headers].filter(Boolean));function xae(r){Se.argumentLengthCheck(arguments,1,"getCookies"),_f(r);let e=r.get("cookie"),t={};if(!e)return t;for(let n of e.split(";")){let[s,...i]=n.split("=");t[s.trim()]=i.join("=")}return t}function Tae(r,e,t){_f(r);let n="deleteCookie";Se.argumentLengthCheck(arguments,2,n),e=Se.converters.DOMString(e,n,"name"),t=Se.converters.DeleteCookieAttributes(t),S2(r,{name:e,value:"",expires:new Date(0),...t})}function Nae(r){Se.argumentLengthCheck(arguments,1,"getSetCookies"),_f(r);let e=r.getSetCookie();return e?e.map(t=>B2(t)):[]}function Mae(r){return r=Se.converters.DOMString(r),B2(r)}function S2(r,e){Se.argumentLengthCheck(arguments,2,"setCookie"),_f(r),e=Se.converters.Cookie(e);let t=Rae(e);t&&r.append("set-cookie",t,!0)}Se.converters.DeleteCookieAttributes=Se.dictionaryConverter([{converter:Se.nullableConverter(Se.converters.DOMString),key:"path",defaultValue:()=>null},{converter:Se.nullableConverter(Se.converters.DOMString),key:"domain",defaultValue:()=>null}]);Se.converters.Cookie=Se.dictionaryConverter([{converter:Se.converters.DOMString,key:"name"},{converter:Se.converters.DOMString,key:"value"},{converter:Se.nullableConverter(r=>typeof r=="number"?Se.converters["unsigned long long"](r):new Date(r)),key:"expires",defaultValue:()=>null},{converter:Se.nullableConverter(Se.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:Se.nullableConverter(Se.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:Se.nullableConverter(Se.converters.DOMString),key:"path",defaultValue:()=>null},{converter:Se.nullableConverter(Se.converters.boolean),key:"secure",defaultValue:()=>null},{converter:Se.nullableConverter(Se.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:Se.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:Se.sequenceConverter(Se.converters.DOMString),key:"unparsed",defaultValue:()=>[]}]);w2.exports={getCookies:xae,deleteCookie:Tae,getSetCookies:Nae,setCookie:S2,parseCookie:Mae}});var qf=g((Tye,R2)=>{"use strict";var{webidl:Z}=bt(),{kEnumerableProperty:er}=ue(),{kConstruct:k2}=Ke(),Ua=class r extends Event{#e;constructor(e,t={}){if(e===k2){super(arguments[1],arguments[2]),Z.util.markAsUncloneable(this);return}let n="MessageEvent constructor";Z.argumentLengthCheck(arguments,1,n),e=Z.converters.DOMString(e,n,"type"),t=Z.converters.MessageEventInit(t,n,"eventInitDict"),super(e,t),this.#e=t,Z.util.markAsUncloneable(this)}get data(){return Z.brandCheck(this,r),this.#e.data}get origin(){return Z.brandCheck(this,r),this.#e.origin}get lastEventId(){return Z.brandCheck(this,r),this.#e.lastEventId}get source(){return Z.brandCheck(this,r),this.#e.source}get ports(){return Z.brandCheck(this,r),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(e,t=!1,n=!1,s=null,i="",o="",a=null,A=[]){return Z.brandCheck(this,r),Z.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new r(e,{bubbles:t,cancelable:n,data:s,origin:i,lastEventId:o,source:a,ports:A})}static createFastMessageEvent(e,t){let n=new r(k2,e,t);return n.#e=t,n.#e.data??=null,n.#e.origin??="",n.#e.lastEventId??="",n.#e.source??=null,n.#e.ports??=[],n}},{createFastMessageEvent:Kae}=Ua;delete Ua.createFastMessageEvent;var Jf=class r extends Event{#e;constructor(e,t={}){let n="CloseEvent constructor";Z.argumentLengthCheck(arguments,1,n),e=Z.converters.DOMString(e,n,"type"),t=Z.converters.CloseEventInit(t),super(e,t),this.#e=t,Z.util.markAsUncloneable(this)}get wasClean(){return Z.brandCheck(this,r),this.#e.wasClean}get code(){return Z.brandCheck(this,r),this.#e.code}get reason(){return Z.brandCheck(this,r),this.#e.reason}},Yf=class r extends Event{#e;constructor(e,t){let n="ErrorEvent constructor";Z.argumentLengthCheck(arguments,1,n),super(e,t),Z.util.markAsUncloneable(this),e=Z.converters.DOMString(e,n,"type"),t=Z.converters.ErrorEventInit(t??{}),this.#e=t}get message(){return Z.brandCheck(this,r),this.#e.message}get filename(){return Z.brandCheck(this,r),this.#e.filename}get lineno(){return Z.brandCheck(this,r),this.#e.lineno}get colno(){return Z.brandCheck(this,r),this.#e.colno}get error(){return Z.brandCheck(this,r),this.#e.error}};Object.defineProperties(Ua.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:er,origin:er,lastEventId:er,source:er,ports:er,initMessageEvent:er});Object.defineProperties(Jf.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:er,code:er,wasClean:er});Object.defineProperties(Yf.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:er,filename:er,lineno:er,colno:er,error:er});Z.converters.MessagePort=Z.interfaceConverter(Z.is.MessagePort,"MessagePort");Z.converters["sequence<MessagePort>"]=Z.sequenceConverter(Z.converters.MessagePort);var dQ=[{key:"bubbles",converter:Z.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:Z.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:Z.converters.boolean,defaultValue:()=>!1}];Z.converters.MessageEventInit=Z.dictionaryConverter([...dQ,{key:"data",converter:Z.converters.any,defaultValue:()=>null},{key:"origin",converter:Z.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:Z.converters.DOMString,defaultValue:()=>""},{key:"source",converter:Z.nullableConverter(Z.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:Z.converters["sequence<MessagePort>"],defaultValue:()=>[]}]);Z.converters.CloseEventInit=Z.dictionaryConverter([...dQ,{key:"wasClean",converter:Z.converters.boolean,defaultValue:()=>!1},{key:"code",converter:Z.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:Z.converters.USVString,defaultValue:()=>""}]);Z.converters.ErrorEventInit=Z.dictionaryConverter([...dQ,{key:"message",converter:Z.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:Z.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:Z.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:Z.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:Z.converters.any}]);R2.exports={MessageEvent:Ua,CloseEvent:Jf,ErrorEvent:Yf,createFastMessageEvent:Kae}});var ri=g((Nye,v2)=>{"use strict";var Fae="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",Lae={enumerable:!0,writable:!1,configurable:!1},Oae={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},Uae={SENT:1,RECEIVED:2},jae={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},Pae=65535,_ae={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},Jae=Buffer.allocUnsafe(0),Yae={text:1,typedArray:2,arrayBuffer:3,blob:4};v2.exports={uid:Fae,sentCloseFrameState:Uae,staticPropertyDescriptors:Lae,states:Oae,opcodes:jae,maxUnsigned16Bit:Pae,parserStates:_ae,emptyBuffer:Jae,sendHints:Yae}});var yo=g((Mye,K2)=>{"use strict";var{states:Gf,opcodes:ja}=ri(),{isUtf8:qae}=S("node:buffer"),{removeHTTPWhitespace:x2}=Mr(),{collectASequenceOfCodePointsFast:Gae}=Hn();function Vae(r){return r===Gf.CONNECTING}function Hae(r){return r===Gf.OPEN}function Wae(r){return r===Gf.CLOSING}function zae(r){return r===Gf.CLOSED}function Zae(r,e,t=(s,i)=>new Event(s,i),n={}){let s=t(r,n);e.dispatchEvent(s)}function Xae(r,e,t){r.onMessage(e,t)}function $ae(r){return r.byteLength===r.buffer.byteLength?r.buffer:new Uint8Array(r).buffer}function eAe(r){if(r.length===0)return!1;for(let e=0;e<r.length;++e){let t=r.charCodeAt(e);if(t<33||t>126||t===34||t===40||t===41||t===44||t===47||t===58||t===59||t===60||t===61||t===62||t===63||t===64||t===91||t===92||t===93||t===123||t===125)return!1}return!0}function tAe(r){return r>=1e3&&r<1015?r!==1004&&r!==1005&&r!==1006:r>=3e3&&r<=4999}function T2(r){return r===ja.CLOSE||r===ja.PING||r===ja.PONG}function N2(r){return r===ja.CONTINUATION}function M2(r){return r===ja.TEXT||r===ja.BINARY}function rAe(r){return M2(r)||N2(r)||T2(r)}function nAe(r){let e={position:0},t=new Map;for(;e.position<r.length;){let n=Gae(";",r,e),[s,i=""]=n.split("=",2);t.set(x2(s,!0,!1),x2(i,!1,!0)),e.position++}return t}function sAe(r){if(r.length===0)return!1;for(let t=0;t<r.length;t++){let n=r.charCodeAt(t);if(n<48||n>57)return!1}let e=Number.parseInt(r,10);return e>=8&&e<=15}function iAe(r,e){let t;try{t=new URL(r,e)}catch(n){throw new DOMException(n,"SyntaxError")}if(t.protocol==="http:"?t.protocol="ws:":t.protocol==="https:"&&(t.protocol="wss:"),t.protocol!=="ws:"&&t.protocol!=="wss:")throw new DOMException("expected a ws: or wss: url","SyntaxError");if(t.hash.length||t.href.endsWith("#"))throw new DOMException("hash","SyntaxError");return t}function oAe(r,e){if(r!==null&&r!==1e3&&(r<3e3||r>4999))throw new DOMException("invalid code","InvalidAccessError");if(e!==null){let t=Buffer.byteLength(e);if(t>123)throw new DOMException(`Reason must be less than 123 bytes; received ${t}`,"SyntaxError")}}var aAe=(()=>{if(typeof process.versions.icu=="string"){let r=new TextDecoder("utf-8",{fatal:!0});return r.decode.bind(r)}return function(r){if(qae(r))return r.toString("utf-8");throw new TypeError("Invalid utf-8 received.")}})();K2.exports={isConnecting:Vae,isEstablished:Hae,isClosing:Wae,isClosed:zae,fireEvent:Zae,isValidSubprotocol:eAe,isValidStatusCode:tAe,websocketMessageReceived:Xae,utf8Decode:aAe,isControlFrame:T2,isContinuationFrame:N2,isTextBinaryFrame:M2,isValidOpcode:rAe,parseExtensions:nAe,isValidClientWindowBits:sAe,toArrayBuffer:$ae,getURLRecord:iAe,validateCloseCodeAndReason:oAe}});var _a=g((Kye,L2)=>{"use strict";var{runtimeFeatures:AAe}=Wn(),{maxUnsigned16Bit:F2,opcodes:lAe}=ri(),Vf=8*1024,Ul=null,Pa=Vf,cAe=AAe.has("crypto")?S("node:crypto").randomFillSync:function(e,t,n){for(let s=0;s<e.length;++s)e[s]=Math.random()*255|0;return e};function hQ(){return Pa===Vf&&(Pa=0,cAe(Ul??=Buffer.allocUnsafeSlow(Vf),0,Vf)),[Ul[Pa++],Ul[Pa++],Ul[Pa++],Ul[Pa++]]}var fQ=class{constructor(e){this.frameData=e}createFrame(e){let t=this.frameData,n=hQ(),s=t?.byteLength??0,i=s,o=6;s>F2?(o+=8,i=127):s>125&&(o+=2,i=126);let a=Buffer.allocUnsafe(s+o);a[0]=a[1]=0,a[0]|=128,a[0]=(a[0]&240)+e;a[o-4]=n[0],a[o-3]=n[1],a[o-2]=n[2],a[o-1]=n[3],a[1]=i,i===126?a.writeUInt16BE(s,2):i===127&&(a[2]=a[3]=0,a.writeUIntBE(s,4,6)),a[1]|=128;for(let A=0;A<s;++A)a[o+A]=t[A]^n[A&3];return a}static createFastTextFrame(e){let t=hQ(),n=e.length;for(let a=0;a<n;++a)e[a]^=t[a&3];let s=n,i=6;n>F2?(i+=8,s=127):n>125&&(i+=2,s=126);let o=Buffer.allocUnsafeSlow(i);return o[0]=128|lAe.TEXT,o[1]=s|128,o[i-4]=t[0],o[i-3]=t[1],o[i-2]=t[2],o[i-1]=t[3],s===126?o.writeUInt16BE(n,2):s===127&&(o[2]=o[3]=0,o.writeUIntBE(n,4,6)),[o,e]}};L2.exports={WebsocketFrameSend:fQ,generateMask:hQ}});var Hf=g((Fye,J2)=>{"use strict";var{uid:uAe,states:gQ,sentCloseFrameState:pQ,emptyBuffer:O2,opcodes:dAe}=ri(),{parseExtensions:hAe,isClosed:fAe,isClosing:gAe,isEstablished:P2,isConnecting:pAe,validateCloseCodeAndReason:yAe}=yo(),{makeRequest:EAe}=Fa(),{fetching:IAe}=Kl(),{Headers:mAe,getHeadersList:CAe}=uo(),{getDecodeSplit:bAe}=gr(),{WebsocketFrameSend:QAe}=_a(),BAe=S("node:assert"),{runtimeFeatures:SAe}=Wn(),U2=SAe.has("crypto")?S("node:crypto"):null,j2=!1;function wAe(r,e,t,n,s){let i=r;i.protocol=r.protocol==="ws:"?"http:":"https:";let o=EAe({urlList:[i],client:t,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});if(s.headers){let c=CAe(new mAe(s.headers));o.headersList=c}let a=U2.randomBytes(16).toString("base64");o.headersList.append("sec-websocket-key",a,!0),o.headersList.append("sec-websocket-version","13",!0);for(let c of e)o.headersList.append("sec-websocket-protocol",c,!0);return o.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),IAe({request:o,useParallelQueue:!0,dispatcher:s.dispatcher,processResponse(c){if(c.type==="error"||c.status!==101){if(c.socket?.session==null){kn(n,1002,"Received network error or non-101 status code.",c.error);return}if(c.status!==200){kn(n,1002,"Received network error or non-200 status code.",c.error);return}}if(j2===!1&&c.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),j2=!0),e.length!==0&&!c.headersList.get("Sec-WebSocket-Protocol")){kn(n,1002,"Server did not respond with sent protocols.");return}if(c.socket.session==null&&c.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){kn(n,1002,'Server did not set Upgrade header to "websocket".');return}if(c.socket.session==null&&c.headersList.get("Connection")?.toLowerCase()!=="upgrade"){kn(n,1002,'Server did not set Connection header to "upgrade".');return}let u=c.headersList.get("Sec-WebSocket-Accept"),d=U2.hash("sha1",a+uAe,"base64");if(u!==d){kn(n,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let h=c.headersList.get("Sec-WebSocket-Extensions"),f;if(h!==null&&(f=hAe(h),!f.has("permessage-deflate"))){kn(n,1002,"Sec-WebSocket-Extensions header does not match.");return}let p=c.headersList.get("Sec-WebSocket-Protocol");if(p!==null&&!bAe("sec-websocket-protocol",o.headersList).includes(p)){kn(n,1002,"Protocol was not set in the opening handshake.");return}c.socket.on("data",n.onSocketData),c.socket.on("close",n.onSocketClose),c.socket.on("error",n.onSocketError),n.wasEverConnected=!0,n.onConnectionEstablished(c,f)}})}function _2(r,e,t,n=!1){if(e??=null,t??="",n&&yAe(e,t),!(fAe(r.readyState)||gAe(r.readyState)))if(!P2(r.readyState))kn(r),r.readyState=gQ.CLOSING;else if(!r.closeState.has(pQ.SENT)&&!r.closeState.has(pQ.RECEIVED)){let s=new QAe;t.length!==0&&e===null&&(e=1e3),BAe(e===null||Number.isInteger(e)),e===null&&t.length===0?s.frameData=O2:e!==null&&t===null?(s.frameData=Buffer.allocUnsafe(2),s.frameData.writeUInt16BE(e,0)):e!==null&&t!==null?(s.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(t)),s.frameData.writeUInt16BE(e,0),s.frameData.write(t,2,"utf-8")):s.frameData=O2,r.socket.write(s.createFrame(dAe.CLOSE)),r.closeState.add(pQ.SENT),r.readyState=gQ.CLOSING}else r.readyState=gQ.CLOSING}function kn(r,e,t,n){P2(r.readyState)&&_2(r,e,t,!1),r.controller.abort(),pAe(r.readyState)?r.onSocketClose():r.socket?.destroyed===!1&&r.socket.destroy()}J2.exports={establishWebSocketConnection:wAe,failWebsocketConnection:kn,closeWebSocketConnection:_2}});var q2=g((Lye,Y2)=>{"use strict";var{createInflateRaw:DAe,Z_DEFAULT_WINDOWBITS:kAe}=S("node:zlib"),{isValidClientWindowBits:RAe}=yo(),{MessageSizeExceededError:vAe}=le(),xAe=Buffer.from([0,0,255,255]),Wf=Symbol("kBuffer"),jl=Symbol("kLength"),yQ=class{#e;#t={};#r=0;constructor(e,t){this.#t.serverNoContextTakeover=e.has("server_no_context_takeover"),this.#t.serverMaxWindowBits=e.get("server_max_window_bits"),this.#r=t.maxPayloadSize}decompress(e,t,n){if(!this.#e){let s=kAe;if(this.#t.serverMaxWindowBits){if(!RAe(this.#t.serverMaxWindowBits)){n(new Error("Invalid server_max_window_bits"));return}s=Number.parseInt(this.#t.serverMaxWindowBits)}try{this.#e=DAe({windowBits:s})}catch(i){n(i);return}this.#e[Wf]=[],this.#e[jl]=0,this.#e.on("data",i=>{if(this.#e[jl]+=i.length,this.#r>0&&this.#e[jl]>this.#r){n(new vAe),this.#e.removeAllListeners(),this.#e=null;return}this.#e[Wf].push(i)}),this.#e.on("error",i=>{this.#e=null,n(i)})}this.#e.write(e),t&&this.#e.write(xAe),this.#e.flush(()=>{if(!this.#e)return;let s=Buffer.concat(this.#e[Wf],this.#e[jl]);this.#e[Wf].length=0,this.#e[jl]=0,n(null,s)})}};Y2.exports={PerMessageDeflate:yQ}});var CQ=g((Oye,z2)=>{"use strict";var{Writable:TAe}=S("node:stream"),NAe=S("node:assert"),{parserStates:tr,opcodes:Ja,states:MAe,emptyBuffer:G2,sentCloseFrameState:Pl}=ri(),{isValidStatusCode:KAe,isValidOpcode:FAe,websocketMessageReceived:V2,utf8Decode:LAe,isControlFrame:EQ,isTextBinaryFrame:IQ,isContinuationFrame:OAe}=yo(),{failWebsocketConnection:xt}=Hf(),{WebsocketFrameSend:H2}=_a(),{PerMessageDeflate:UAe}=q2(),{MessageSizeExceededError:W2}=le(),mQ=class extends TAe{#e=[];#t=0;#r=0;#n=!1;#i=tr.INFO;#s={};#A=[];#o;#a;#l;#u;constructor(e,t,n={}){super(),this.#a=e,this.#o=t??new Map,this.#l=n.maxFragments??0,this.#u=n.maxPayloadSize??0,this.#o.has("permessage-deflate")&&this.#o.set("permessage-deflate",new UAe(t,n))}_write(e,t,n){this.#e.push(e),this.#r+=e.length,this.#n=!0,this.run(n)}#c(){return this.#u>0&&!EQ(this.#s.opcode)&&this.#s.payloadLength+this.#t>this.#u?(xt(this.#a,1009,"Payload size exceeds maximum allowed size"),!1):!0}run(e){for(;this.#n;)if(this.#i===tr.INFO){if(this.#r<2)return e();let t=this.consume(2),n=(t[0]&128)!==0,s=t[0]&15,i=(t[1]&128)===128,o=!n&&s!==Ja.CONTINUATION,a=t[1]&127,A=t[0]&64,l=t[0]&32,c=t[0]&16;if(!FAe(s))return xt(this.#a,1002,"Invalid opcode received"),e();if(i)return xt(this.#a,1002,"Frame cannot be masked"),e();if(A!==0&&!this.#o.has("permessage-deflate")){xt(this.#a,1002,"Expected RSV1 to be clear.");return}if(l!==0||c!==0){xt(this.#a,1002,"RSV1, RSV2, RSV3 must be clear");return}if(o&&!IQ(s)){xt(this.#a,1002,"Invalid frame type was fragmented.");return}if(IQ(s)&&this.#A.length>0){xt(this.#a,1002,"Expected continuation frame");return}if(this.#s.fragmented&&o){xt(this.#a,1002,"Fragmented frame exceeded 125 bytes.");return}if((a>125||o)&&EQ(s)){xt(this.#a,1002,"Control frame either too large or fragmented");return}if(OAe(s)&&this.#A.length===0&&!this.#s.compressed){xt(this.#a,1002,"Unexpected continuation frame");return}if(a<=125){if(this.#s.payloadLength=a,this.#i=tr.READ_DATA,!this.#c())return}else a===126?this.#i=tr.PAYLOADLENGTH_16:a===127&&(this.#i=tr.PAYLOADLENGTH_64);IQ(s)&&(this.#s.binaryType=s,this.#s.compressed=A!==0),this.#s.opcode=s,this.#s.masked=i,this.#s.fin=n,this.#s.fragmented=o}else if(this.#i===tr.PAYLOADLENGTH_16){if(this.#r<2)return e();let t=this.consume(2);if(this.#s.payloadLength=t.readUInt16BE(0),this.#i=tr.READ_DATA,!this.#c())return}else if(this.#i===tr.PAYLOADLENGTH_64){if(this.#r<8)return e();let t=this.consume(8),n=t.readUInt32BE(0),s=t.readUInt32BE(4);if(n!==0||s>2**31-1){xt(this.#a,1009,"Received payload length > 2^31 bytes.");return}if(this.#s.payloadLength=s,this.#i=tr.READ_DATA,!this.#c())return}else if(this.#i===tr.READ_DATA){if(this.#r<this.#s.payloadLength)return e();let t=this.consume(this.#s.payloadLength);if(EQ(this.#s.opcode))this.#n=this.parseControlFrame(t),this.#i=tr.INFO;else if(this.#s.compressed){this.#o.get("permessage-deflate").decompress(t,this.#s.fin,(n,s)=>{if(n){let i=n instanceof W2?1009:1007;xt(this.#a,i,n.message);return}if(this.writeFragments(s)){if(this.#u>0&&this.#t>this.#u){xt(this.#a,1009,new W2().message);return}if(!this.#s.fin){this.#i=tr.INFO,this.#n=!0,this.run(e);return}V2(this.#a,this.#s.binaryType,this.consumeFragments()),this.#n=!0,this.#i=tr.INFO,this.run(e)}},this.#t),this.#n=!1;break}else{if(!this.writeFragments(t))return;!this.#s.fragmented&&this.#s.fin&&V2(this.#a,this.#s.binaryType,this.consumeFragments()),this.#i=tr.INFO}}}consume(e){if(e>this.#r)throw new Error("Called consume() before buffers satiated.");if(e===0)return G2;this.#r-=e;let t=this.#e[0];if(t.length>e)return this.#e[0]=t.subarray(e,t.length),t.subarray(0,e);if(t.length===e)return this.#e.shift();{let n=0,s=Buffer.allocUnsafeSlow(e);for(;n!==e;){let i=this.#e[0],o=i.length;if(o+n===e){s.set(this.#e.shift(),n);break}else if(o+n>e){s.set(i.subarray(0,e-n),n),this.#e[0]=i.subarray(e-n);break}else s.set(this.#e.shift(),n),n+=o}return s}}writeFragments(e){return this.#l>0&&this.#A.length===this.#l?(xt(this.#a,1008,"Too many message fragments"),!1):(this.#t+=e.length,this.#A.push(e),!0)}consumeFragments(){let e=this.#A;if(e.length===1)return this.#t=0,e.shift();let t=0,n=Buffer.allocUnsafeSlow(this.#t);for(let s=0;s<e.length;++s){let i=e[s];n.set(i,t),t+=i.length}return this.#A=[],this.#t=0,n}parseCloseBody(e){NAe(e.length!==1);let t;if(e.length>=2&&(t=e.readUInt16BE(0)),t!==void 0&&!KAe(t))return{code:1002,reason:"Invalid status code",error:!0};let n=e.subarray(2);n[0]===239&&n[1]===187&&n[2]===191&&(n=n.subarray(3));try{n=LAe(n)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:t,reason:n,error:!1}}parseControlFrame(e){let{opcode:t,payloadLength:n}=this.#s;if(t===Ja.CLOSE){if(n===1)return xt(this.#a,1002,"Received close frame with a 1-byte body."),!1;if(this.#s.closeInfo=this.parseCloseBody(e),this.#s.closeInfo.error){let{code:s,reason:i}=this.#s.closeInfo;return xt(this.#a,s,i),!1}if(!this.#a.closeState.has(Pl.SENT)&&!this.#a.closeState.has(Pl.RECEIVED)){let s=G2;this.#s.closeInfo.code&&(s=Buffer.allocUnsafe(2),s.writeUInt16BE(this.#s.closeInfo.code,0));let i=new H2(s);this.#a.socket.write(i.createFrame(Ja.CLOSE)),this.#a.closeState.add(Pl.SENT)}return this.#a.readyState=MAe.CLOSING,this.#a.closeState.add(Pl.RECEIVED),!1}else if(t===Ja.PING){if(!this.#a.closeState.has(Pl.RECEIVED)){let s=new H2(e);this.#a.socket.write(s.createFrame(Ja.PONG)),this.#a.onPing(e)}}else t===Ja.PONG&&this.#a.onPong(e);return!0}get closingInfo(){return this.#s.closeInfo}};z2.exports={ByteParser:mQ}});var eP=g((Uye,$2)=>{"use strict";var{WebsocketFrameSend:X2}=_a(),{opcodes:Z2,sendHints:Eo}=ri(),jAe=_m(),QQ=class{#e=new jAe;#t=!1;#r;constructor(e){this.#r=e}add(e,t,n){if(n!==Eo.blob){if(this.#t){let i={promise:null,callback:t,frame:bQ(e,n)};this.#e.push(i)}else if(n===Eo.text){let{0:i,1:o}=X2.createFastTextFrame(e);this.#r.cork(),this.#r.write(i),this.#r.write(o,t),this.#r.uncork()}else this.#r.write(bQ(e,n),t);return}let s={promise:e.arrayBuffer().then(i=>{s.promise=null,s.frame=bQ(i,n)}),callback:t,frame:null};this.#e.push(s),this.#t||this.#n()}async#n(){this.#t=!0;let e=this.#e;for(;!e.isEmpty();){let t=e.shift();t.promise!==null&&await t.promise,this.#r.write(t.frame,t.callback),t.callback=t.frame=null}this.#t=!1}};function bQ(r,e){return new X2(PAe(r,e)).createFrame(e===Eo.text?Z2.TEXT:Z2.BINARY)}function PAe(r,e){switch(e){case Eo.text:case Eo.typedArray:return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);case Eo.arrayBuffer:case Eo.blob:return new Uint8Array(r)}}$2.exports={SendQueue:QQ}});var oP=g((jye,iP)=>{"use strict";var{isArrayBuffer:_Ae}=S("node:util/types"),{webidl:X}=bt(),{URLSerializer:JAe}=Mr(),{environmentSettingsObject:tP}=gr(),{staticPropertyDescriptors:ni,states:os,sentCloseFrameState:BQ,sendHints:zf,opcodes:SQ}=ri(),{isConnecting:YAe,isEstablished:rP,isClosing:nP,isClosed:qAe,isValidSubprotocol:GAe,fireEvent:Zf,utf8Decode:VAe,toArrayBuffer:HAe,getURLRecord:WAe}=yo(),{establishWebSocketConnection:zAe,closeWebSocketConnection:ZAe,failWebsocketConnection:sP}=Hf(),{ByteParser:XAe}=CQ(),{kEnumerableProperty:_r}=ue(),{getGlobalDispatcher:$Ae}=ff(),{ErrorEvent:ele,CloseEvent:tle,createFastMessageEvent:rle}=qf(),{SendQueue:nle}=eP(),{WebsocketFrameSend:sle}=_a(),{channels:Rn}=Ks();function ile(r){return typeof r?.address=="function"?r.address():typeof r?.session?.socket?.address=="function"?r.session.socket.address():null}var _t=class r extends EventTarget{#e={open:null,error:null,close:null,message:null};#t=0;#r="";#n="";#i;#s={onConnectionEstablished:(e,t)=>this.#l(e,t),onMessage:(e,t)=>this.#u(e,t),onParserError:e=>sP(this.#s,null,e.message),onParserDrain:()=>this.#c(),onSocketData:e=>{this.#a.write(e)||this.#s.socket.pause()},onSocketError:e=>{this.#s.readyState=os.CLOSING,Rn.socketError.hasSubscribers&&Rn.socketError.publish(e),this.#s.socket.destroy()},onSocketClose:()=>this.#d(),onPing:e=>{Rn.ping.hasSubscribers&&Rn.ping.publish({payload:e,websocket:this})},onPong:e=>{Rn.pong.hasSubscribers&&Rn.pong.publish({payload:e,websocket:this})},readyState:os.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#A;#o;#a;constructor(e,t=[]){super(),X.util.markAsUncloneable(this);let n="WebSocket constructor";X.argumentLengthCheck(arguments,1,n);let s=X.converters["DOMString or sequence<DOMString> or WebSocketInit"](t,n,"options");e=X.converters.USVString(e),t=s.protocols;let i=tP.settingsObject.baseUrl,o=WAe(e,i);if(typeof t=="string"&&(t=[t]),t.length!==new Set(t.map(A=>A.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(t.length>0&&!t.every(A=>GAe(A)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#A=new URL(o.href);let a=tP.settingsObject;this.#s.controller=zAe(o,t,a,this.#s,s),this.#s.readyState=r.CONNECTING,this.#o="blob"}close(e=void 0,t=void 0){X.brandCheck(this,r),e!==void 0&&(e=X.converters["unsigned short"](e,"WebSocket.close","code",X.attributes.Clamp)),t!==void 0&&(t=X.converters.USVString(t)),e??=null,t??="",ZAe(this.#s,e,t,!0)}send(e){X.brandCheck(this,r);let t="WebSocket.send";if(X.argumentLengthCheck(arguments,1,t),e=X.converters.WebSocketSendData(e,t,"data"),YAe(this.#s.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!rP(this.#s.readyState)||nP(this.#s.readyState)))if(typeof e=="string"){let n=Buffer.from(e);this.#t+=n.byteLength,this.#i.add(n,()=>{this.#t-=n.byteLength},zf.text)}else _Ae(e)?(this.#t+=e.byteLength,this.#i.add(e,()=>{this.#t-=e.byteLength},zf.arrayBuffer)):ArrayBuffer.isView(e)?(this.#t+=e.byteLength,this.#i.add(e,()=>{this.#t-=e.byteLength},zf.typedArray)):X.is.Blob(e)&&(this.#t+=e.size,this.#i.add(e,()=>{this.#t-=e.size},zf.blob))}get readyState(){return X.brandCheck(this,r),this.#s.readyState}get bufferedAmount(){return X.brandCheck(this,r),this.#t}get url(){return X.brandCheck(this,r),JAe(this.#A)}get extensions(){return X.brandCheck(this,r),this.#n}get protocol(){return X.brandCheck(this,r),this.#r}get onopen(){return X.brandCheck(this,r),this.#e.open}set onopen(e){X.brandCheck(this,r),this.#e.open&&this.removeEventListener("open",this.#e.open);let t=X.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("open",t),this.#e.open=e):this.#e.open=null}get onerror(){return X.brandCheck(this,r),this.#e.error}set onerror(e){X.brandCheck(this,r),this.#e.error&&this.removeEventListener("error",this.#e.error);let t=X.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("error",t),this.#e.error=e):this.#e.error=null}get onclose(){return X.brandCheck(this,r),this.#e.close}set onclose(e){X.brandCheck(this,r),this.#e.close&&this.removeEventListener("close",this.#e.close);let t=X.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("close",t),this.#e.close=e):this.#e.close=null}get onmessage(){return X.brandCheck(this,r),this.#e.message}set onmessage(e){X.brandCheck(this,r),this.#e.message&&this.removeEventListener("message",this.#e.message);let t=X.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("message",t),this.#e.message=e):this.#e.message=null}get binaryType(){return X.brandCheck(this,r),this.#o}set binaryType(e){X.brandCheck(this,r),e!=="blob"&&e!=="arraybuffer"?this.#o="blob":this.#o=e}#l(e,t){this.#s.socket=e.socket;let n=this.#s.controller.dispatcher?.webSocketOptions,s=n?.maxFragments,i=n?.maxPayloadSize,o=new XAe(this.#s,t,{maxFragments:s,maxPayloadSize:i});o.on("drain",()=>this.#s.onParserDrain()),o.on("error",l=>this.#s.onParserError(l)),this.#a=o,this.#i=new nle(e.socket),this.#s.readyState=os.OPEN;let a=e.headersList.get("sec-websocket-extensions");a!==null&&(this.#n=a);let A=e.headersList.get("sec-websocket-protocol");if(A!==null&&(this.#r=A),Zf("open",this),Rn.open.hasSubscribers){let l=e.headersList.entries;Rn.open.publish({address:ile(e.socket),protocol:this.#r,extensions:this.#n,websocket:this,handshakeResponse:{status:e.status,statusText:e.statusText,headers:l}})}}#u(e,t){if(this.#s.readyState!==os.OPEN)return;let n;if(e===SQ.TEXT)try{n=VAe(t)}catch{sP(this.#s,1007,"Received invalid UTF-8 in text frame.");return}else e===SQ.BINARY&&(this.#o==="blob"?n=new Blob([t]):n=HAe(t));Zf("message",this,rle,{origin:this.#A.origin,data:n})}#c(){this.#s.socket.resume()}#d(){let e=this.#s.closeState.has(BQ.SENT)&&this.#s.closeState.has(BQ.RECEIVED),t=1005,n="",s=this.#a?.closingInfo;s&&!s.error&&(t=s.code??1005,n=s.reason),this.#s.readyState=os.CLOSED,this.#s.closeState.has(BQ.RECEIVED)||(t=1006,Zf("error",this,(i,o)=>new ele(i,o),{error:new TypeError(n)})),Zf("close",this,(i,o)=>new tle(i,o),{wasClean:e,code:t,reason:n}),Rn.close.hasSubscribers&&Rn.close.publish({websocket:this,code:t,reason:n})}static ping(e,t){if(Buffer.isBuffer(t)){if(t.length>125)throw new TypeError("A PING frame cannot have a body larger than 125 bytes.")}else if(t!==void 0)throw new TypeError("Expected buffer payload");let n=e.#s.readyState;if(rP(n)&&!nP(n)&&!qAe(n)){let s=new sle(t);e.#s.socket.write(s.createFrame(SQ.PING))}}},{ping:ole}=_t;Reflect.deleteProperty(_t,"ping");_t.CONNECTING=_t.prototype.CONNECTING=os.CONNECTING;_t.OPEN=_t.prototype.OPEN=os.OPEN;_t.CLOSING=_t.prototype.CLOSING=os.CLOSING;_t.CLOSED=_t.prototype.CLOSED=os.CLOSED;Object.defineProperties(_t.prototype,{CONNECTING:ni,OPEN:ni,CLOSING:ni,CLOSED:ni,url:_r,readyState:_r,bufferedAmount:_r,onopen:_r,onerror:_r,onclose:_r,close:_r,onmessage:_r,binaryType:_r,send:_r,extensions:_r,protocol:_r,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(_t,{CONNECTING:ni,OPEN:ni,CLOSING:ni,CLOSED:ni});X.converters["sequence<DOMString>"]=X.sequenceConverter(X.converters.DOMString);X.converters["DOMString or sequence<DOMString>"]=function(r,e,t){return X.util.Type(r)===X.util.Types.OBJECT&&Symbol.iterator in r?X.converters["sequence<DOMString>"](r):X.converters.DOMString(r,e,t)};X.converters.WebSocketInit=X.dictionaryConverter([{key:"protocols",converter:X.converters["DOMString or sequence<DOMString>"],defaultValue:()=>[]},{key:"dispatcher",converter:X.converters.any,defaultValue:()=>$Ae()},{key:"headers",converter:X.nullableConverter(X.converters.HeadersInit)}]);X.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(r){return X.util.Type(r)===X.util.Types.OBJECT&&!(Symbol.iterator in r)?X.converters.WebSocketInit(r):{protocols:X.converters["DOMString or sequence<DOMString>"](r)}};X.converters.WebSocketSendData=function(r){return X.util.Type(r)===X.util.Types.OBJECT&&(X.is.Blob(r)||X.is.BufferSource(r))?r:X.converters.USVString(r)};iP.exports={WebSocket:_t,ping:ole}});var wQ=g((Pye,lP)=>{"use strict";var{webidl:Xf}=bt(),{validateCloseCodeAndReason:ale}=yo(),{kConstruct:aP}=Ke(),{kEnumerableProperty:AP}=ue();function Ale(){class r extends DOMException{get reason(){return""}}return new r().reason!==void 0?DOMException:new Proxy(DOMException,{construct(e,t,n){let s=Reflect.construct(e,t,e);return Object.setPrototypeOf(s,n.prototype),s}})}var Io=class r extends Ale(){#e;#t;constructor(e="",t=void 0){if(e=Xf.converters.DOMString(e,"WebSocketError","message"),super(e,"WebSocketError"),t===aP)return;t!==null&&(t=Xf.converters.WebSocketCloseInfo(t));let n=t.closeCode??null,s=t.reason??"";ale(n,s),s.length!==0&&n===null&&(n=1e3),this.#e=n,this.#t=s}get closeCode(){return this.#e}get reason(){return this.#t}static createUnvalidatedWebSocketError(e,t,n){let s=new r(e,aP);return s.#e=t,s.#t=n,s}},{createUnvalidatedWebSocketError:lle}=Io;delete Io.createUnvalidatedWebSocketError;Object.defineProperties(Io.prototype,{closeCode:AP,reason:AP,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}});Xf.is.WebSocketError=Xf.util.MakeTypeAssertion(Io);lP.exports={WebSocketError:Io,createUnvalidatedWebSocketError:lle}});var fP=g((_ye,hP)=>{"use strict";var{createDeferredPromise:DQ}=HA(),{environmentSettingsObject:cP}=gr(),{states:Ya,opcodes:$f,sentCloseFrameState:qa}=ri(),{webidl:rt}=bt(),{getURLRecord:cle,isValidSubprotocol:ule,isEstablished:dle,utf8Decode:hle}=yo(),{establishWebSocketConnection:fle,failWebsocketConnection:kQ,closeWebSocketConnection:RQ}=Hf(),{channels:uP}=Ks(),{WebsocketFrameSend:gle}=_a(),{ByteParser:ple}=CQ(),{WebSocketError:yle,createUnvalidatedWebSocketError:Ele}=wQ(),{kEnumerableProperty:eg}=ue(),{utf8DecodeBytes:Ile}=Ih(),dP=!1,tg=class{#e;#t;#r;#n;#i;#s;#A=!1;#o={onConnectionEstablished:(e,t)=>this.#u(e,t),onMessage:(e,t)=>this.#c(e,t),onParserError:e=>kQ(this.#o,null,e.message),onParserDrain:()=>this.#o.socket.resume(),onSocketData:e=>{this.#a.write(e)||this.#o.socket.pause()},onSocketError:e=>{this.#o.readyState=Ya.CLOSING,uP.socketError.hasSubscribers&&uP.socketError.publish(e),this.#o.socket.destroy()},onSocketClose:()=>this.#d(),onPing:()=>{},onPong:()=>{},readyState:Ya.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#a;constructor(e,t=void 0){dP||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),dP=!0),rt.argumentLengthCheck(arguments,1,"WebSocket"),e=rt.converters.USVString(e),t!==null&&(t=rt.converters.WebSocketStreamOptions(t));let n=cP.settingsObject.baseUrl,s=cle(e,n),i=t.protocols;if(i.length!==new Set(i.map(a=>a.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(i.length>0&&!i.every(a=>ule(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#e=s.toString(),this.#t=DQ(),this.#r=DQ(),t.signal!=null){let a=t.signal;if(a.aborted){this.#t.reject(a.reason),this.#r.reject(a.reason);return}a.addEventListener("abort",()=>{dle(this.#o.readyState)||(kQ(this.#o),this.#o.readyState=Ya.CLOSING,this.#t.reject(a.reason),this.#r.reject(a.reason),this.#A=!0)},{once:!0})}let o=cP.settingsObject;this.#o.controller=fle(s,i,o,this.#o,t)}get url(){return this.#e.toString()}get opened(){return this.#t.promise}get closed(){return this.#r.promise}close(e=void 0){e!==null&&(e=rt.converters.WebSocketCloseInfo(e));let t=e.closeCode??null,n=e.reason;RQ(this.#o,t,n,!0)}#l(e){e=rt.converters.WebSocketStreamWrite(e);let t=DQ(),n=null,s=null;if(rt.is.BufferSource(e))n=new Uint8Array(ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e.slice()),s=$f.BINARY;else{let i;try{i=rt.converters.DOMString(e)}catch(o){return t.reject(o),t.promise}n=new TextEncoder().encode(i),s=$f.TEXT}if(!this.#o.closeState.has(qa.SENT)&&!this.#o.closeState.has(qa.RECEIVED)){let i=new gle(n);this.#o.socket.write(i.createFrame(s),()=>{t.resolve(void 0)})}return t.promise}#u(e,t){this.#o.socket=e.socket;let n=this.#o.controller.dispatcher?.webSocketOptions?.maxFragments,s=this.#o.controller.dispatcher?.webSocketOptions?.maxPayloadSize,i=new ple(this.#o,t,{maxFragments:n,maxPayloadSize:s});i.on("drain",()=>this.#o.onParserDrain()),i.on("error",c=>this.#o.onParserError(c)),this.#a=i,this.#o.readyState=Ya.OPEN;let o=t??"",a=e.headersList.get("sec-websocket-protocol")??"",A=new ReadableStream({start:c=>{this.#i=c},cancel:c=>this.#f(c)}),l=new WritableStream({write:c=>this.#l(c),close:()=>RQ(this.#o,null,null),abort:c=>this.#h(c)});this.#n=A,this.#s=l,this.#t.resolve({extensions:o,protocol:a,readable:A,writable:l})}#c(e,t){if(this.#o.readyState!==Ya.OPEN)return;let n;if(e===$f.TEXT)try{n=hle(t)}catch{kQ(this.#o,1007,"Received invalid UTF-8 in text frame.");return}else e===$f.BINARY&&(n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength));this.#i.enqueue(n)}#d(){let e=this.#o.closeState.has(qa.SENT)&&this.#o.closeState.has(qa.RECEIVED);if(this.#o.readyState=Ya.CLOSED,this.#A)return;this.#o.wasEverConnected||this.#t.reject(new yle("Socket never opened"));let t=this.#a?.closingInfo,n=t?.code??1005;!this.#o.closeState.has(qa.SENT)&&!this.#o.closeState.has(qa.RECEIVED)&&(n=1006);let s=t?.reason==null?"":Ile(Buffer.from(t.reason));if(e)this.#i.close(),this.#s.locked||this.#s.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#r.resolve({closeCode:n,reason:s});else{let i=Ele("unclean close",n,s);this.#i?.error(i),this.#s?.abort(i),this.#r.reject(i)}}#h(e){let t=null,n="";rt.is.WebSocketError(e)&&(t=e.closeCode,n=e.reason),RQ(this.#o,t,n)}#f(e){this.#h(e)}};Object.defineProperties(tg.prototype,{url:eg,opened:eg,closed:eg,close:eg,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}});rt.converters.WebSocketStreamOptions=rt.dictionaryConverter([{key:"protocols",converter:rt.sequenceConverter(rt.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:rt.nullableConverter(rt.converters.AbortSignal),defaultValue:()=>null}]);rt.converters.WebSocketCloseInfo=rt.dictionaryConverter([{key:"closeCode",converter:r=>rt.converters["unsigned short"](r,rt.attributes.EnforceRange)},{key:"reason",converter:rt.converters.USVString,defaultValue:()=>""}]);rt.converters.WebSocketStreamWrite=function(r){return typeof r=="string"?rt.converters.USVString(r):rt.converters.BufferSource(r)};hP.exports={WebSocketStream:tg}});var pP=g((Jye,gP)=>{"use strict";function mle(r){return r.indexOf("\0")===-1}function Cle(r){if(r.length===0)return!1;for(let e=0;e<r.length;e++)if(r.charCodeAt(e)<48||r.charCodeAt(e)>57)return!1;return!0}gP.exports={isValidLastEventId:mle,isASCIINumber:Cle}});var mP=g((Yye,IP)=>{"use strict";var{Transform:ble}=S("node:stream"),{isASCIINumber:yP,isValidLastEventId:EP}=pP(),as=[239,187,191],vQ=10,rg=13,Qle=58,Ble=32,xQ=class extends ble{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;buffer=null;pos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(e={}){e.readableObjectMode=!0,super(e),this.state=e.eventSourceSettings||{},e.push&&(this.push=e.push)}_transform(e,t,n){if(e.length===0){n();return}if(this.buffer?this.buffer=Buffer.concat([this.buffer,e]):this.buffer=e,this.checkBOM)switch(this.buffer.length){case 1:if(this.buffer[0]===as[0]){n();return}this.checkBOM=!1,n();return;case 2:if(this.buffer[0]===as[0]&&this.buffer[1]===as[1]){n();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===as[0]&&this.buffer[1]===as[1]&&this.buffer[2]===as[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,n();return}this.checkBOM=!1;break;default:this.buffer[0]===as[0]&&this.buffer[1]===as[1]&&this.buffer[2]===as[2]&&(this.buffer=this.buffer.subarray(3)),this.checkBOM=!1;break}for(;this.pos<this.buffer.length;){if(this.eventEndCheck){if(this.crlfCheck){if(this.buffer[this.pos]===vQ){this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.crlfCheck=!1;continue}this.crlfCheck=!1}if(this.buffer[this.pos]===vQ||this.buffer[this.pos]===rg){this.buffer[this.pos]===rg&&(this.crlfCheck=!0),this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,(this.event.data!==void 0||this.event.event||this.event.id!==void 0||this.event.retry)&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(this.buffer[this.pos]===vQ||this.buffer[this.pos]===rg){this.buffer[this.pos]===rg&&(this.crlfCheck=!0),this.parseLine(this.buffer.subarray(0,this.pos),this.event),this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.eventEndCheck=!0;continue}this.pos++}n()}parseLine(e,t){if(e.length===0)return;let n=e.indexOf(Qle);if(n===0)return;let s="",i="";if(n!==-1){s=e.subarray(0,n).toString("utf8");let o=n+1;e[o]===Ble&&++o,i=e.subarray(o).toString("utf8")}else s=e.toString("utf8"),i="";switch(s){case"data":t[s]===void 0?t[s]=i:t[s]+=`
|
|
9039
|
+
${i}`;break;case"retry":yP(i)&&(t[s]=i);break;case"id":EP(i)&&(t[s]=i);break;case"event":i.length>0&&(t[s]=i);break}}processEvent(e){e.retry&&yP(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id!==void 0&&EP(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};IP.exports={EventSourceStream:xQ}});var kP=g((qye,DP)=>{"use strict";var{pipeline:Sle}=S("node:stream"),{fetching:wle}=Kl(),{makeRequest:Dle}=Fa(),{webidl:Jt}=bt(),{EventSourceStream:kle}=mP(),{parseMIMEType:Rle}=Mr(),{createFastMessageEvent:vle}=qf(),{isNetworkError:CP}=Tl(),{kEnumerableProperty:mo}=ue(),{environmentSettingsObject:bP}=gr(),QP=!1,BP=3e3,_l=0,SP=1,Jl=2,xle="anonymous",Tle="use-credentials",Ga=class r extends EventTarget{#e={open:null,error:null,message:null};#t;#r=!1;#n=_l;#i=null;#s=null;#A;#o;constructor(e,t={}){super(),Jt.util.markAsUncloneable(this);let n="EventSource constructor";Jt.argumentLengthCheck(arguments,1,n),QP||(QP=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=Jt.converters.USVString(e),t=Jt.converters.EventSourceInitDict(t,n,"eventSourceInitDict"),this.#A=t.node.dispatcher||t.dispatcher,this.#o={lastEventId:"",reconnectionTime:t.node.reconnectionTime};let s=bP,i;try{i=new URL(e,s.settingsObject.baseUrl),this.#o.origin=i.origin}catch(A){throw new DOMException(A,"SyntaxError")}this.#t=i.href;let o=xle;t.withCredentials===!0&&(o=Tle,this.#r=!0);let a={redirect:"follow",keepalive:!0,mode:"cors",credentials:o==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};a.client=bP.settingsObject,a.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],a.cache="no-store",a.initiator="other",a.urlList=[new URL(this.#t)],this.#i=Dle(a),this.#a()}get readyState(){return this.#n}get url(){return this.#t}get withCredentials(){return this.#r}#a(){if(this.#n===Jl)return;this.#n=_l;let e={request:this.#i,dispatcher:this.#A},t=n=>{if(!CP(n))return this.#l()};e.processResponseEndOfBody=t,e.processResponse=n=>{if(CP(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#l();return}let s=n.headersList.get("content-type",!0),i=s!==null?Rle(s):"failure",o=i!=="failure"&&i.essence==="text/event-stream";if(n.status!==200||o===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#n=SP,this.dispatchEvent(new Event("open")),this.#o.origin=n.urlList[n.urlList.length-1].origin;let a=new kle({eventSourceSettings:this.#o,push:A=>{this.dispatchEvent(vle(A.type,A.options))}});Sle(n.body.stream,a,A=>{A?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#s=wle(e)}#l(){this.#n!==Jl&&(this.#n=_l,this.dispatchEvent(new Event("error")),setTimeout(()=>{this.#n===_l&&(this.#o.lastEventId.length&&this.#i.headersList.set("last-event-id",this.#o.lastEventId,!0),this.#a())},this.#o.reconnectionTime)?.unref())}close(){Jt.brandCheck(this,r),this.#n!==Jl&&(this.#n=Jl,this.#s.abort(),this.#i=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open);let t=Jt.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("open",t),this.#e.open=e):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message);let t=Jt.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("message",t),this.#e.message=e):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error);let t=Jt.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("error",t),this.#e.error=e):this.#e.error=null}},wP={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:_l,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:SP,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:Jl,writable:!1}};Object.defineProperties(Ga,wP);Object.defineProperties(Ga.prototype,wP);Object.defineProperties(Ga.prototype,{close:mo,onerror:mo,onmessage:mo,onopen:mo,readyState:mo,url:mo,withCredentials:mo});Jt.converters.EventSourceInitDict=Jt.dictionaryConverter([{key:"withCredentials",converter:Jt.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:Jt.converters.any},{key:"node",converter:Jt.dictionaryConverter([{key:"reconnectionTime",converter:Jt.converters["unsigned long"],defaultValue:()=>BP},{key:"dispatcher",converter:Jt.converters.any}]),defaultValue:()=>({})}]);DP.exports={EventSource:Ga,defaultReconnectionTime:BP}});var MP=g((Gye,G)=>{"use strict";var Nle=Ys(),vP=PA(),Mle=Wi(),Kle=fF(),Fle=EF(),Lle=Xi(),Ole=gC(),Ule=uC(),jle=nL(),Ple=cL(),_le=hL(),xP=le(),sg=ue(),{InvalidArgumentError:ng}=xP,Va=HL(),Jle=Oi(),Yle=eb(),{MockCallHistory:qle,MockCallHistoryLog:Gle}=nb(),Vle=db(),Hle=ab(),Wle=VO(),zle=LC(),Zle=Xh(),{getGlobalDispatcher:TP,setGlobalDispatcher:Xle}=ff(),$le=va(),ece=mb();Object.assign(vP.prototype,Va);G.exports.Dispatcher=vP;G.exports.Client=Nle;G.exports.Pool=Mle;G.exports.BalancedPool=Kle;G.exports.RoundRobinPool=Fle;G.exports.Agent=Lle;G.exports.ProxyAgent=Ole;G.exports.Socks5ProxyAgent=Ule;G.exports.EnvHttpProxyAgent=jle;G.exports.RetryAgent=Ple;G.exports.H2CClient=_le;G.exports.RetryHandler=Zle;G.exports.DecoratorHandler=$le;G.exports.RedirectHandler=ece;G.exports.interceptors={redirect:sU(),responseError:oU(),retry:AU(),dump:cU(),dns:fU(),cache:GU(),decompress:ZU(),deduplicate:rj()};G.exports.cacheStores={MemoryCacheStore:Kb()};var tce=ij();G.exports.cacheStores.SqliteCacheStore=tce;G.exports.buildConnector=Jle;G.exports.errors=xP;G.exports.util={parseHeaders:sg.parseHeaders,headerNameToString:sg.headerNameToString};function Yl(r){return(e,t,n)=>{if(typeof t=="function"&&(n=t,t=null),!e||typeof e!="string"&&typeof e!="object"&&!(e instanceof URL))throw new ng("invalid url");if(t!=null&&typeof t!="object")throw new ng("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new ng("invalid opts.path");let o=t.path;t.path.startsWith("/")||(o=`/${o}`),e=new URL(sg.parseOrigin(e).origin+o)}else t||(t=typeof e=="object"?e:{}),e=sg.parseURL(e);let{agent:s,dispatcher:i=TP()}=t;if(s)throw new ng("unsupported opts.agent. Did you mean opts.client?");return r.call(i,{...t,origin:e.origin,path:e.search?`${e.pathname}${e.search}`:e.pathname,method:t.method||(t.body?"PUT":"GET")},n)}}G.exports.setGlobalDispatcher=Xle;G.exports.getGlobalDispatcher=TP;var rce=Kl().fetch,RP=typeof __filename<"u"?__filename:void 0;function NP(r,e){if(!r||typeof r!="object")return;let t=typeof r.stack=="string"?r.stack:"",n=e.replace(/\\/g,"/");if(t&&(t.includes(e)||t.includes(n)))return;let s={};if(Error.captureStackTrace(s,NP),!s.stack)return;let i=s.stack.split(`
|
|
9040
|
+
`).slice(1).join(`
|
|
9041
|
+
`);r.stack=t?`${t}
|
|
9042
|
+
${i}`:s.stack}G.exports.fetch=function(e,t=void 0){return rce(e,t).catch(n=>{throw RP?NP(n,RP):n&&typeof n=="object"&&Error.captureStackTrace(n,G.exports.fetch),n})};G.exports.Headers=uo().Headers;G.exports.Response=Tl().Response;G.exports.Request=Fa().Request;G.exports.FormData=Sh().FormData;var{setGlobalOrigin:nce,getGlobalOrigin:sce}=zI();G.exports.setGlobalOrigin=nce;G.exports.getGlobalOrigin=sce;var{CacheStorage:ice}=g2(),{kConstruct:oce}=Ke();G.exports.caches=new ice(oce);var{deleteCookie:ace,getCookies:Ace,getSetCookies:lce,setCookie:cce,parseCookie:uce}=D2();G.exports.deleteCookie=ace;G.exports.getCookies=Ace;G.exports.getSetCookies=lce;G.exports.setCookie=cce;G.exports.parseCookie=uce;var{parseMIMEType:dce,serializeAMimeType:hce}=Mr();G.exports.parseMIMEType=dce;G.exports.serializeAMimeType=hce;var{CloseEvent:fce,ErrorEvent:gce,MessageEvent:pce}=qf(),{WebSocket:yce,ping:Ece}=oP();G.exports.WebSocket=yce;G.exports.CloseEvent=fce;G.exports.ErrorEvent=gce;G.exports.MessageEvent=pce;G.exports.ping=Ece;G.exports.WebSocketStream=fP().WebSocketStream;G.exports.WebSocketError=wQ().WebSocketError;G.exports.request=Yl(Va.request);G.exports.stream=Yl(Va.stream);G.exports.pipeline=Yl(Va.pipeline);G.exports.connect=Yl(Va.connect);G.exports.upgrade=Yl(Va.upgrade);G.exports.MockClient=Yle;G.exports.MockCallHistory=qle;G.exports.MockCallHistoryLog=Gle;G.exports.MockPool=Hle;G.exports.MockAgent=Vle;G.exports.SnapshotAgent=Wle;G.exports.mockErrors=zle;var{EventSource:Ice}=kP();G.exports.EventSource=Ice;function mce(){globalThis.fetch=G.exports.fetch,globalThis.Headers=G.exports.Headers,globalThis.Response=G.exports.Response,globalThis.Request=G.exports.Request,globalThis.FormData=G.exports.FormData,globalThis.WebSocket=G.exports.WebSocket,globalThis.CloseEvent=G.exports.CloseEvent,globalThis.ErrorEvent=G.exports.ErrorEvent,globalThis.MessageEvent=G.exports.MessageEvent,globalThis.EventSource=G.exports.EventSource}G.exports.install=mce});var jQ=ug(Cc(),1);var si=ug(_N(),1);import{MessageId as bce}from"@workflow/world";import rh from"node:crypto";var KA="0123456789ABCDEFGHJKMNPQRSTVWXYZ",FA=32;var qN=16,nh=10,JN=0xffffffffffff;var qn;(function(r){r.Base32IncorrectEncoding="B32_ENC_INVALID",r.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",r.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",r.EncodeTimeNegative="ENC_TIME_NEG",r.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",r.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",r.PRNGDetectFailure="PRNG_DETECT",r.ULIDInvalid="ULID_INVALID",r.Unexpected="UNEXPECTED",r.UUIDInvalid="UUID_INVALID"})(qn||(qn={}));var Gn=class extends Error{constructor(e,t){super(`${t} (${e})`),this.name="ULIDError",this.code=e}};function qX(r){let e=Math.floor(r()*FA)%FA;return KA.charAt(e)}function YN(r,e,t){return e>r.length-1?r:r.substr(0,e)+t+r.substr(e+1)}function GX(r){let e,t=r.length,n,s,i=r,o=FA-1;for(;!e&&t-->=0;){if(n=i[t],s=KA.indexOf(n),s===-1)throw new Gn(qn.Base32IncorrectEncoding,"Incorrectly encoded string");if(s===o){i=YN(i,t,KA[0]);continue}e=YN(i,t,KA[s+1])}if(typeof e=="string")return e;throw new Gn(qn.Base32IncorrectEncoding,"Failed incrementing string")}function GN(r){let e=VX(),t=e&&(e.crypto||e.msCrypto)||(typeof rh<"u"?rh:null);if(typeof t?.getRandomValues=="function")return()=>{let n=new Uint8Array(1);return t.getRandomValues(n),n[0]/256};if(typeof t?.randomBytes=="function")return()=>t.randomBytes(1).readUInt8()/256;if(rh?.randomBytes)return()=>rh.randomBytes(1).readUInt8()/256;throw new Gn(qn.PRNGDetectFailure,"Failed to find a reliable PRNG")}function VX(){return HX()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function VN(r,e){let t="";for(;r>0;r--)t=qX(e)+t;return t}function VE(r,e=nh){if(isNaN(r))throw new Gn(qn.EncodeTimeValueMalformed,`Time must be a number: ${r}`);if(r>JN)throw new Gn(qn.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${JN}: ${r}`);if(r<0)throw new Gn(qn.EncodeTimeNegative,`Time must be positive: ${r}`);if(Number.isInteger(r)===!1)throw new Gn(qn.EncodeTimeValueMalformed,`Time must be an integer: ${r}`);let t,n="";for(let s=e;s>0;s--)t=r%FA,n=KA.charAt(t)+n,r=(r-t)/FA;return n}function HX(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function sh(r){let e=r||GN(),t=0,n;return function(i){let o=!i||isNaN(i)?Date.now():i;if(o<=t){let A=n=GX(n);return VE(t,nh)+A}t=o;let a=n=VN(qN,e);return VE(o,nh)+a}}function ih(r,e){let t=e||GN(),n=!r||isNaN(r)?Date.now():r;return VE(n,nh)+VN(qN,t)}var LP=ug(MP(),1);function _e(r){let e={};for(let t in r)r[t]!==null?e[t]=r[t]:e[t]=void 0;return e}function Cce(r){return(...e)=>{let t=process.env.WORKFLOW_DEBUG;if(!t||!(t==="1"||t==="true"||t==="*"||t.split(",").some(a=>a.trim()===r)))return;let i=`[${new Date().toISOString()}] [${r}]`,o=e.map(a=>typeof a=="object"?JSON.stringify(a,null,2):String(a)).join(" ");process.stderr.write(`${i} ${o}
|
|
9043
|
+
`)}}var TQ=Cce("stackbone-workflow-world");function KP(r){return new Promise(e=>setTimeout(e,r))}var Qce=r=>r instanceof Error&&r.code===-2&&r.message.startsWith("Missing lock for job"),NQ=9e5,Bce=(r,e,t)=>{let n=r,s=n?.cause?.code??n?.code,i=s==="UND_ERR_HEADERS_TIMEOUT"||s==="UND_ERR_BODY_TIMEOUT"||s==="UND_ERR_DESTROYED";if(n?.name!=="TimeoutError"&&!i)return r instanceof Error?r:new Error(String(r));let o=i?`failed with ${s} (configured deadline ${t}ms)`:`exceeded ${t}ms`,a=new si.UnrecoverableError(`Step dispatch to ${e} ${o} and was abandoned. The step may still be running there, so it is NOT retried \u2014 a retry would run a second copy alongside it. Raise WORKFLOW_HTTP_TIMEOUT_MS if the step legitimately needs longer.`);return a.cause=r,a},Sce={workflow:"flow",step:"step"},wce=r=>{let e=/^__(?:[a-z][a-z0-9]*_)?wkf_(workflow|step)_/.exec(r);if(!e)throw new Error(`Invalid queue name: ${r}`);return e[1]};function FP(r,e){return Promise.race([r,new Promise(t=>{setTimeout(t,e).unref?.()})])}function Dce(r){return r.baseUrl?r.baseUrl:process.env.WORKFLOW_BASE_URL?process.env.WORKFLOW_BASE_URL:`http://localhost:${process.env.PORT??"3000"}`}function OP(r,e){let t=sh(),n=e.jobPrefix||"workflow_",s={workflow:`${n}flows`,step:`${n}steps`},i=e.maxAttempts??5,o=e.backoffType??"exponential",a=e.backoffDelayMs??1e3,A=e.httpTimeoutMs??NQ,l=e.stalledInterval??3e4,c=e.maxStalledCount??1,u=e.idempotencyTtlMs??6e4,d=e.closeTimeoutMs??5e3,h=new LP.Agent({headersTimeout:0,bodyTimeout:0}),f={...r.options,maxRetriesPerRequest:null,keyPrefix:void 0},p=new Map,I=new Map;for(let[C,K]of Object.entries(s))p.set(C,new si.Queue(K,{connection:f}));let y=async(C,K,O)=>{let U=wce(C),x=p.get(U);if(!x)throw new Error(`No BullMQ queue registered for kind ${U}`);let b=bce.parse(`msg_${t()}`),T=O?.delaySeconds?Math.max(0,O.delaySeconds*1e3):void 0;return await x.add(C,{queueName:C,message:K},{jobId:b,delay:T,attempts:i,backoff:{type:o,delay:a},...O?.idempotencyKey&&{deduplication:{id:O.idempotencyKey,ttl:u}},removeOnComplete:{age:86400,count:1e3},removeOnFail:{age:7*86400}}),{messageId:b}};function m(C){let K=Sce[C];return async O=>{let x=`${Dce(e)}/.well-known/workflow/v1/${K}`,b=O.id??`msg_${t()}`,T,M,N=AbortSignal.timeout(A);try{let F={method:"POST",headers:{...e.dispatchHeaders,"content-type":"application/json","x-vqs-queue-name":O.data.queueName,"x-vqs-message-id":b,"x-vqs-message-attempt":String(O.attemptsMade+1)},body:JSON.stringify(O.data.message),signal:N,dispatcher:h};if(T=await fetch(x,F),T.ok){await T.body?.cancel();return}M=await T.text()}catch(F){throw Bce(N.aborted?N.reason:F,x,A)}if(T.status===503){let F;try{let W=JSON.parse(M);typeof W?.timeoutSeconds=="number"&&(F=W.timeoutSeconds)}catch{}if(F!==void 0)throw await O.moveToDelayed(Date.now()+F*1e3,O.token),new si.DelayedError}throw new Error(`HTTP ${T.status}: ${M}`)}}let w=(C,K)=>async O=>{let U=O.headers.get("x-vqs-queue-name"),x=O.headers.get("x-vqs-message-id"),b=O.headers.get("x-vqs-message-attempt");if(!U||!x||!b||!O.body)return Response.json({error:"Missing required headers or body"},{status:400});if(!U.startsWith(C))return Response.json({error:"Unhandled queue"},{status:400});let T=Number.parseInt(b,10);try{let M=await O.json(),N=await K(M,{attempt:T,queueName:U,messageId:x});return N&&typeof N.timeoutSeconds=="number"?Response.json({timeoutSeconds:N.timeoutSeconds},{status:503}):Response.json({ok:!0})}catch(M){return TQ("queue handler error:",M),Response.json({error:String(M)},{status:500})}},R=async()=>"redis";async function L(){let C=e.queueConcurrency||10;for(let[K,O]of Object.entries(s)){let U=new si.Worker(O,m(K),{connection:f,concurrency:C,stalledInterval:l,maxStalledCount:c,drainDelay:300});U.on("failed",(x,b)=>{console.error(`Job ${x?.id} failed:`,b)}),U.on("error",x=>{if(Qce(x)){TQ("worker lock race (auto-recovered):",x instanceof Error?x.message:x);return}console.error("Worker error:",x)}),I.set(K,U)}await Promise.all(Array.from(I.values()).map(K=>K.waitUntilReady()))}async function j(){let C={waiting:0,active:0,completed:0,failed:0,delayed:0};for(let K of p.values()){let O=await K.getJobCounts("waiting","active","completed","failed","delayed");C.waiting+=O.waiting,C.active+=O.active,C.completed+=O.completed,C.failed+=O.failed,C.delayed+=O.delayed}return C}async function v(){await Promise.all(Array.from(I.values()).map(C=>FP(C.close(),d).catch(()=>{}))),await Promise.all(Array.from(p.values()).map(C=>FP(C.close(),d).catch(()=>{})))}return{createQueueHandler:w,getDeploymentId:R,queue:y,getQueueStats:j,async start(){await L()},async stop(){await v(),await h.destroy()}}}var UP=r=>`${r}events_notify`;function kce(r){let e;try{e=JSON.parse(r)}catch{return null}if(!e||typeof e!="object")return null;let{runId:t,eventId:n,eventType:s,correlationId:i}=e;return typeof t!="string"||typeof n!="string"||typeof s!="string"?null:{runId:t,eventId:n,eventType:s,...typeof i=="string"?{correlationId:i}:{}}}async function jP(r,e,t){try{await r.publish(UP(e),JSON.stringify(t))}catch{}}function PP(r){let{redis:e,keyPrefix:t}=r,n=UP(t),s=e.duplicate(),i=new Set,o=s.subscribe(n).then(()=>{});return s.on("message",(a,A)=>{if(a!==n)return;let l=kce(A);if(l)for(let c of i)try{c(l)}catch(u){console.error("Error in events-notify subscriber handler:",u)}}),{on(a){return i.add(a),()=>{i.delete(a)}},ready(){return o},async stop(){i.clear(),s.removeAllListeners("message");try{await s.quit()}catch{s.disconnect()}}}}var Rce=3e4,vce=1440*60*1e3,xce=`-- fifo:admit
|
|
8914
9044
|
if redis.call('EXISTS', KEYS[3]) == 0 and redis.call('SET', KEYS[1], ARGV[1], 'NX', 'PX', tonumber(ARGV[3])) then
|
|
8915
9045
|
return 'admitted'
|
|
8916
9046
|
end
|
|
8917
9047
|
redis.call('RPUSH', KEYS[2], ARGV[2])
|
|
8918
|
-
return 'queued'`,
|
|
9048
|
+
return 'queued'`,Tce=`-- fifo:release
|
|
8919
9049
|
if redis.call('GET', KEYS[1]) ~= ARGV[1] then
|
|
8920
9050
|
return nil
|
|
8921
9051
|
end
|
|
@@ -8930,12 +9060,12 @@ if nxt then
|
|
|
8930
9060
|
return nxt
|
|
8931
9061
|
end
|
|
8932
9062
|
redis.call('DEL', KEYS[1])
|
|
8933
|
-
return nil`,
|
|
9063
|
+
return nil`,Nce=`-- fifo:renew
|
|
8934
9064
|
if redis.call('GET', KEYS[1]) == ARGV[1] then
|
|
8935
9065
|
redis.call('PEXPIRE', KEYS[1], tonumber(ARGV[2]))
|
|
8936
9066
|
return 1
|
|
8937
9067
|
end
|
|
8938
|
-
return 0`,
|
|
9068
|
+
return 0`,Mce=`-- fifo:recover
|
|
8939
9069
|
if redis.call('EXISTS', KEYS[1]) == 1 then
|
|
8940
9070
|
return nil
|
|
8941
9071
|
end
|
|
@@ -8953,7 +9083,7 @@ if nxt then
|
|
|
8953
9083
|
redis.call('SET', KEYS[3], cjson.encode({payload=nxt, token=ARGV[1], attempted=false}), 'PX', tonumber(ARGV[3]))
|
|
8954
9084
|
return nxt
|
|
8955
9085
|
end
|
|
8956
|
-
return nil`,
|
|
9086
|
+
return nil`,Kce=`-- fifo:mark-attempt
|
|
8957
9087
|
if redis.call('GET', KEYS[1]) ~= ARGV[1] then
|
|
8958
9088
|
return 0
|
|
8959
9089
|
end
|
|
@@ -8963,15 +9093,23 @@ local entry = cjson.decode(raw)
|
|
|
8963
9093
|
if entry.token ~= ARGV[1] or entry.attempted then return 0 end
|
|
8964
9094
|
entry.attempted = true
|
|
8965
9095
|
redis.call('SET', KEYS[2], cjson.encode(entry), 'KEEPTTL')
|
|
8966
|
-
return 1`,
|
|
9096
|
+
return 1`,Fce=`-- fifo:acknowledge
|
|
8967
9097
|
local raw = redis.call('GET', KEYS[1])
|
|
8968
9098
|
if raw and cjson.decode(raw).token == ARGV[1] then
|
|
8969
9099
|
redis.call('DEL', KEYS[1])
|
|
8970
9100
|
end
|
|
8971
|
-
return nil`,
|
|
9101
|
+
return nil`,Lce=`-- fifo:requeue
|
|
8972
9102
|
local raw = redis.call('GET', KEYS[3])
|
|
8973
9103
|
if raw and cjson.decode(raw).token == ARGV[1] then
|
|
8974
9104
|
redis.call('RPUSH', KEYS[2], ARGV[2])
|
|
8975
9105
|
redis.call('DEL', KEYS[3])
|
|
8976
9106
|
end
|
|
8977
|
-
return nil`,Qn="__fifoEnc";function Bd(r){if(r instanceof Uint8Array)return{[Qn]:"u8",d:Array.from(r)};if(r instanceof Date)return{[Qn]:"date",d:r.toISOString()};if(Array.isArray(r))return r.map(Bd);if(r&&typeof r=="object"){let e={};for(let[t,n]of Object.entries(r))e[t]=Bd(n);return Qn in e?{[Qn]:"esc",d:e}:e}return r}function pE(r){let e={};for(let[t,n]of Object.entries(r))e[t]=Wd(n);return e}function Wd(r){if(Array.isArray(r))return r.map(Wd);if(r&&typeof r=="object"){let e=r;if(Qn in e)switch(e[Qn]){case"u8":return new Uint8Array(e.d);case"date":return new Date(e.d);case"esc":return pE(e.d)}return pE(e)}return r}function yE(r){return JSON.stringify(Bd(r))}function hE(r){return Wd(JSON.parse(r))}function mE(r,e={}){let{redis:t,keyPrefix:n}=r,i=e.lockTtlMs??j_,s=i+A_,a=c=>`${n}serial:lock:${c}`,o=c=>`${n}serial:wait:${c}`,l=c=>`${n}serial:inflight:${c}`;return{async tryAdmit(c,u){let d=el();return await t.eval(D_,3,a(c),o(c),l(c),d,yE(u),String(i))==="admitted"?{admitted:!0,token:d}:{admitted:!1}},async release(c,u){let d=el(),p=await t.eval(R_,3,a(c),o(c),l(c),u,d,String(i),String(s));return p===null?null:{trigger:hE(p),token:d}},async renew(c,u){return await t.eval(O_,1,a(c),u,String(i))===1},async recoverOrphans(c){let u=el(),d=await t.eval(C_,3,a(c),o(c),l(c),u,String(i),String(s));return d===null?null:{trigger:hE(d),token:u}},async markAttempt(c,u){return await t.eval(__,2,a(c),l(c),u)===1},async acknowledge(c,u){await t.eval(M_,1,l(c),u)},async requeue(c,u,d){await t.eval(P_,3,a(c),o(c),l(c),d,yE(u))}}}import{EntityConflictError as Zn,HookNotFoundError as N_,RunExpiredError as bE,TooEarlyError as L_,WorkflowWorldError as ur}from"@workflow/errors";import{EventSchema as pn,HookSchema as tl,isLegacySpecVersion as q_,requiresNewerWorld as J_,SPEC_VERSION_CURRENT as Ud,StepSchema as Pr,WorkflowRunSchema as Ut}from"@workflow/world";var F_=3,V_=30,G_=1e3,Y_=["createdAt","updatedAt","startedAt","completedAt","retryAfter"],Ji="__uint8array";function B_(r){if(!r||typeof r!="object"||r instanceof Uint8Array||r instanceof Date)return r;let{toJSON:e}=r;return typeof e=="function"?e.call(r):r}function zd(r){return W_(B_(r))}function W_(r){if(r instanceof Uint8Array)return{[Ji]:!0,data:Array.from(r)};if(Array.isArray(r))return r.map(zd);if(r&&typeof r=="object"&&!(r instanceof Date)){let e={};for(let[t,n]of Object.entries(r))e[t]=zd(n);return Ji in e?{[Ji]:"esc",d:e}:e}return r}function gE(r){let e={};for(let[t,n]of Object.entries(r))e[t]=$d(n);return e}function $d(r){if(Array.isArray(r))return r.map($d);if(r&&typeof r=="object"){let e=r;if(e[Ji]===!0)return new Uint8Array(e.data);let t=e[Ji]==="esc"?e.d:void 0;return t&&typeof t=="object"&&!Array.isArray(t)?gE(t):gE(e)}return r}function vE(r,e){let t=r[e];if(typeof t!="string")return;let n=new Date(t);Number.isNaN(n.getTime())||(r[e]=n)}function Ve(r){return JSON.stringify(zd(r))}function he(r){let e=$d(JSON.parse(r));for(let n of Y_)vE(e,n);let t=e.eventData;return t&&typeof t=="object"&&!Array.isArray(t)&&vE(t,"retryAfter"),e}function Hd(){let r=new Map;return async function(t,n){let i=r.get(t)??Promise.resolve(),s,a=new Promise(l=>{s=l}),o=i.then(()=>a);r.set(t,o);try{return await i,await n()}finally{s(),r.get(t)===o&&r.delete(t)}}}async function Fi(r,e,t,n="desc"){if(!t)return 0;let i=n==="desc"?await r.zrevrank(e,t):await r.zrank(e,t);return i===null?0:i+1}async function EE(r,e,t){let n=l=>`${e}hook:${l}`,i=l=>`${e}hooks:by_token:${l}`,s=`${e}hooks:by_run:${t}`,a=await r.zrange(s,0,-1),o=r.pipeline();for(let l of a){let c=await r.get(n(l));if(c){let u=he(c);o.del(n(l)),o.del(i(u.token))}}o.del(s),await o.exec()}function KE(r,e){if(e==="none"&&"metadata"in r){let{metadata:t,...n}=r;return{metadata:void 0,...n}}return r}function SE(r,e){if(e==="none"){let{input:t,output:n,...i}=r;return{input:void 0,output:void 0,...i}}return r}function rl(r,e){if(e==="none"){let{input:t,output:n,...i}=r;return{input:void 0,output:void 0,...i}}return r}function yn(r,e){if(e==="none"&&"eventData"in r){let{eventData:t,...n}=r;return n}return r}function kE(r){let{redis:e,keyPrefix:t}=r,n=r.listScanLimit??G_,i=u=>`${t}run:${u}`,s=()=>`${t}runs:index`,a=u=>`${t}runs:by_name:${u}`,o=u=>`${t}runs:by_status:${u}`;function l(u){return u?.workflowName&&u?.status||u?.workflowName?a(u.workflowName):u?.status?o(u.status):s()}function c(u,d){let p=[];for(let f of u??[]){if(!f?.[1])continue;let h=he(f[1]),g=!d?.status||h.status===d.status,k=!d?.workflowName||h.workflowName===d.workflowName;if(g&&k){let E=d?.resolveData??"all",I=Ut.parse(Ee(h));p.push(rl(I,E))}}return p}return{get:(async(u,d)=>{let p=await e.get(i(u));if(!p)throw new ur(`Run not found: ${u}`,{status:404});let f=he(p),h=Ut.parse(Ee(f)),g=d?.resolveData??"all";return rl(h,g)}),list:(async u=>{let d=u?.pagination?.limit??20,p=l(u),f=await Fi(e,p,u?.pagination?.cursor),h=[],g=0,k,E=!1;for(;;){let D=await e.zrevrange(p,f,f+d);if(D.length===0){E=!0;break}let B=e.pipeline();for(let ae of D)B.get(i(ae));if(h.push(...c(await B.exec(),u)),g+=D.length,k=D.at(-1),D.length<d+1){E=!0;break}if(h.length>d||g>=n)break;f+=D.length}let I=h.slice(0,d),O=!E&&h.length<=d;return{data:I,hasMore:h.length>d||!E,cursor:(O?k:I.at(-1)?.runId)??null}})}}function IE(r){let{redis:e,keyPrefix:t}=r,n=Xo(),i=w=>`${t}event:${w}`,s=w=>`${t}events:by_run:${w}`,a=w=>`${t}events:by_correlation:${w}`,o=w=>`${t}run:${w}`,l=()=>`${t}runs:index`,c=w=>`${t}runs:by_name:${w}`,u=w=>`${t}runs:by_status:${w}`,d=(w,K)=>`${t}step:${w}:${K}`,p=w=>`${t}steps:by_run:${w}`,f=w=>`${t}hook:${w}`,h=w=>`${t}hooks:by_token:${w}`,g=w=>`${t}hooks:by_run:${w}`;async function k(w){await EE(e,t,w)}async function E(w,K,M,V){return e[V==="desc"?"zrevrange":"zrange"](w,K,K+M)}function I(w){let K=[];for(let M of w??[])if(M?.[1]){let V=he(M[1]);K.push(V)}return K}async function O(w,K,M,V,_){let A=_?.resolveData??"all";switch(M.eventType){case"run_cancelled":{let m=new Date,T=await e.get(o(w));if(T){let x=he(T),j={...x,status:"cancelled",completedAt:m,updatedAt:m};await e.set(o(w),Ve(j));let R=e.pipeline();R.zrem(u(x.status),w),R.zadd(u("cancelled"),m.getTime(),w),await R.exec(),await k(w);let W=Ut.parse(Ee(j));return{run:rl(W,A)}}return{}}case"wait_completed":case"hook_received":{let m=new Date,T={...M,runId:w,eventId:K,createdAt:m,specVersion:Ud};await e.set(i(K),Ve(T));let x=m.getTime(),j=e.pipeline();j.zadd(s(w),x,K),M.correlationId&&j.zadd(a(M.correlationId),x,K),await j.exec();let R=pn.parse(T);return{event:yn(R,A)}}default:throw new Error(`Event type '${M.eventType}' not supported for legacy runs (specVersion: ${V.specVersion||"undefined"}). Please upgrade @workflow packages.`)}}async function D(w,K){if(await e.zcard(a(w))>0)throw new Zn(`${K} "${w}" already created`)}let B=Hd(),ae=async(w,K,M)=>{let V=`wevt_${n()}`,_=new Date,A;if(K.eventType==="run_created"&&(!w||w===""))A=`wrun_${n()}`;else if(w)A=w;else throw new Error("runId is required for non-run_created events");let m=K.specVersion??Ud,T,x,j,R=P=>["completed","failed","cancelled"].includes(P),W=P=>["completed","failed","cancelled"].includes(P),q=null,G=["step_completed","step_retrying"];if(K.eventType!=="run_created"&&!G.includes(K.eventType)){let P=await e.get(o(A));if(P){let U=he(P);q={status:U.status,specVersion:U.specVersion}}}if(K.eventType==="run_started"&&!q&&"eventData"in K&&K.eventData){let P=K.eventData;if(P.deploymentId&&P.workflowName&&P.input!==void 0){let U={runId:A,deploymentId:P.deploymentId,workflowName:P.workflowName,specVersion:m,input:P.input,executionContext:P.executionContext,status:"pending",output:void 0,error:void 0,completedAt:void 0,startedAt:void 0,createdAt:_,updatedAt:_};if(await e.setnx(o(A),Ve(U))===1){let Q=_.getTime();await e.pipeline().zadd(l(),Q,A).zadd(c(P.workflowName),Q,A).zadd(u("pending"),Q,A).exec();let de=`wevt_${n()}`,Pt={eventType:"run_created",eventData:{deploymentId:P.deploymentId,workflowName:P.workflowName,input:P.input,executionContext:P.executionContext},runId:A,eventId:de,createdAt:_,specVersion:m};await e.set(i(de),Ve(Pt)),await e.zadd(s(A),_.getTime(),de),q={status:"pending",specVersion:m}}else{let Q=await e.get(o(A));if(Q){let de=he(Q);q={status:de.status,specVersion:de.specVersion}}}}}if(q){if(J_(q.specVersion))throw new(await import("@workflow/errors")).RunNotSupportedError(q.specVersion,Ud);if(q_(q.specVersion))return O(A,V,K,q,M)}if(q&&R(q.status)){let P=["run_started","run_completed","run_failed"];if(K.eventType==="run_cancelled"&&q.status==="cancelled"){let U=await e.get(o(A)),te=new Date,Q={...K,runId:A,eventId:V,createdAt:te,specVersion:m};await e.set(i(V),Ve(Q));let de=te.getTime();await e.zadd(s(A),de,V);let Pt=pn.parse(Q),sl=M?.resolveData??"all";return{event:yn(Pt,sl),run:U?he(U):void 0}}if(K.eventType==="run_started")throw new bE(`Workflow run "${A}" is already in terminal state "${q.status}"`);if(P.includes(K.eventType)||K.eventType==="run_cancelled")throw new Zn(`Cannot transition run from terminal state "${q.status}"`);if(K.eventType==="step_created"||K.eventType==="hook_created")throw new Zn(`Cannot create new entities on run in terminal state "${q.status}"`)}let re=null;if(["step_started","step_retrying"].includes(K.eventType)&&K.correlationId){let P=await e.get(d(A,K.correlationId));if(P){let U=he(P);re={status:U.status,startedAt:U.startedAt,retryAfter:U.retryAfter}}if(!re)throw new ur(`Step "${K.correlationId}" not found`,{status:404});if(W(re.status))throw new Zn(`Cannot modify step in terminal state "${re.status}"`);if(q&&R(q.status)&&re.status!=="running")throw new bE(`Cannot modify non-running step on run in terminal state "${q.status}"`);if(K.eventType==="step_started"&&re.retryAfter){let U=new Date(re.retryAfter).getTime(),te=U-_.getTime();if(Number.isFinite(U)&&te>0)throw new L_(`Step "${K.correlationId}" cannot start before ${new Date(U).toISOString()}`,{retryAfter:Math.ceil(te/1e3)})}}if(["hook_disposed","hook_received"].includes(K.eventType)&&K.correlationId&&!await e.get(f(K.correlationId)))throw new ur(`Hook "${K.correlationId}" not found`,{status:404});if(K.eventType==="run_created"){let P=K.eventData,U={runId:A,deploymentId:P.deploymentId,workflowName:P.workflowName,specVersion:m,input:P.input,executionContext:P.executionContext,status:"pending",output:void 0,error:void 0,completedAt:void 0,startedAt:void 0,createdAt:_,updatedAt:_},te=await e.setnx(o(A),Ve(U)),Q=_.getTime();if(await e.pipeline().zadd(l(),Q,A).zadd(c(P.workflowName),Q,A).zadd(u("pending"),Q,A).exec(),te===1)T=Ut.parse(Ee(U));else{let de=await e.get(o(A));de&&(T=Ut.parse(Ee(he(de))))}}if(K.eventType==="run_started"){if(q?.status==="running"){let U=await e.get(o(A));U&&(T=Ut.parse(Ee(he(U))));let te=M?.resolveData??"all";return{run:T?rl(T,te):void 0}}let P=await e.get(o(A));if(P){let U=he(P),te={...U,status:"running",startedAt:_,updatedAt:_};await e.set(o(A),Ve(te));let Q=e.pipeline();Q.zrem(u(U.status),A),Q.zadd(u("running"),_.getTime(),A),await Q.exec(),T=Ut.parse(Ee(te))}}if(K.eventType==="run_completed"){let P=K.eventData,U=await e.get(o(A));if(U){let te=he(U),Q={...te,status:"completed",output:P.output,completedAt:_,updatedAt:_};await e.set(o(A),Ve(Q));let de=e.pipeline();de.zrem(u(te.status),A),de.zadd(u("completed"),_.getTime(),A),await de.exec(),await k(A),T=Ut.parse(Ee(Q))}}if(K.eventType==="run_failed"){let P=K.eventData,U=typeof P.error=="string"?P.error:P.error?.message??"Unknown error",te=await e.get(o(A));if(te){let Q=he(te),de={...Q,status:"failed",error:{message:U,stack:P.error?.stack,code:P.errorCode},completedAt:_,updatedAt:_};await e.set(o(A),Ve(de));let Pt=e.pipeline();Pt.zrem(u(Q.status),A),Pt.zadd(u("failed"),_.getTime(),A),await Pt.exec(),await k(A),T=Ut.parse(Ee(de))}}if(K.eventType==="run_cancelled"){let P=await e.get(o(A));if(P){let U=he(P),te={...U,status:"cancelled",completedAt:_,updatedAt:_};await e.set(o(A),Ve(te));let Q=e.pipeline();Q.zrem(u(U.status),A),Q.zadd(u("cancelled"),_.getTime(),A),await Q.exec(),await k(A),T=Ut.parse(Ee(te))}}if(K.eventType==="step_created"){await D(K.correlationId,"Step");let P=K.eventData,U={runId:A,stepId:K.correlationId,stepName:P.stepName,input:P.input,status:"pending",attempt:0,specVersion:m,createdAt:_,updatedAt:_},te=await e.setnx(d(A,K.correlationId),Ve(U));if(await e.zadd(p(A),_.getTime(),K.correlationId),te===1)x=Pr.parse(Ee(U));else{let Q=await e.get(d(A,K.correlationId));Q&&(x=Pr.parse(Ee(he(Q))))}}if(K.eventType==="step_started"){let P=!re?.startedAt,U=await e.get(d(A,K.correlationId));if(U){let te=he(U),Q={...te,status:"running",attempt:te.attempt+1,...P?{startedAt:_}:{},updatedAt:_};await e.set(d(A,K.correlationId),Ve(Q)),x=Pr.parse(Ee(Q))}}if(K.eventType==="step_completed"){let P=K.eventData,U=await e.get(d(A,K.correlationId));if(U){let te=he(U);if(["completed","failed","cancelled"].includes(te.status))throw new Zn(`Cannot modify step in terminal state "${te.status}"`);let Q={...te,status:"completed",output:P.result,completedAt:_,updatedAt:_};await e.set(d(A,K.correlationId),Ve(Q)),x=Pr.parse(Ee(Q))}else throw new ur(`Step "${K.correlationId}" not found`,{status:404})}if(K.eventType==="step_failed"){let P=K.eventData,U=typeof P.error=="string"?P.error:P.error?.message??"Unknown error",te=await e.get(d(A,K.correlationId));if(te){let Q=he(te);if(["completed","failed","cancelled"].includes(Q.status))throw new Zn(`Cannot modify step in terminal state "${Q.status}"`);let de={...Q,status:"failed",error:{message:U,stack:P.stack},completedAt:_,updatedAt:_};await e.set(d(A,K.correlationId),Ve(de)),x=Pr.parse(Ee(de))}else throw new ur(`Step "${K.correlationId}" not found`,{status:404})}if(K.eventType==="step_retrying"){let P=K.eventData,U=typeof P.error=="string"?P.error:P.error?.message??"Unknown error",te=await e.get(d(A,K.correlationId));if(te){let de={...he(te),status:"pending",error:{message:U,stack:P.stack},retryAfter:P.retryAfter,updatedAt:_};await e.set(d(A,K.correlationId),Ve(de)),x=Pr.parse(Ee(de))}}if(K.eventType==="wait_created"&&K.correlationId&&await D(K.correlationId,"Wait"),K.eventType==="hook_created"){let P=K.eventData,U=await e.get(h(P.token));if(U&&U!==K.correlationId){let de=await e.get(f(U)),Pt=de?he(de).runId:void 0,sl={token:P.token,...Pt?{conflictingRunId:Pt}:{}},ef=new Date,tf={eventType:"hook_conflict",correlationId:K.correlationId,eventData:sl,runId:A,eventId:V,createdAt:ef,specVersion:m};await e.set(i(V),Ve(tf));let rf=ef.getTime(),al=e.pipeline();al.zadd(s(A),rf,V),K.correlationId&&al.zadd(a(K.correlationId),rf,V),await al.exec();let RE=pn.parse(tf),OE=M?.resolveData??"all";return{event:yn(RE,OE),run:T,step:x,hook:void 0}}await D(K.correlationId,"Hook");let te={runId:A,hookId:K.correlationId,token:P.token,ownerId:"",projectId:"",environment:"",metadata:P.metadata,specVersion:m,createdAt:_},Q=await e.setnx(f(K.correlationId),Ve(te));if(await e.pipeline().set(h(P.token),K.correlationId).zadd(g(A),_.getTime(),K.correlationId).exec(),Q===1)j=tl.parse(Ee(te));else{let de=await e.get(f(K.correlationId));de&&(j=tl.parse(Ee(he(de))))}}if(K.eventType==="hook_disposed"&&K.correlationId){let P=await e.get(f(K.correlationId));if(P){let U=he(P);await e.pipeline().del(f(K.correlationId)).del(h(U.token)).zrem(g(A),K.correlationId).exec()}}let jt=new Date,zt={...K,runId:A,eventId:V,createdAt:jt,specVersion:m};K.eventType==="run_started"&&delete zt.eventData,await e.set(i(V),Ve(zt));let Zd=jt.getTime(),nl=e.pipeline();nl.zadd(s(A),Zd,V),K.correlationId&&nl.zadd(a(K.correlationId),Zd,V),await nl.exec(),await dE(e,t,{runId:A,eventId:V,eventType:K.eventType,...K.correlationId?{correlationId:K.correlationId}:{}});let DE=pn.parse(zt),Xd=M?.resolveData??"all",il;if(K.eventType==="run_started"&&T){let P=await e.zrange(s(A),0,-1);if(P.length>0){let U=e.pipeline();for(let Q of P)U.get(i(Q));let te=await U.exec();il=I(te).map(Q=>{let de=pn.parse(Ee(Q));return yn(de,Xd)})}else il=[]}return{event:yn(DE,Xd),run:T,step:x,hook:j,events:il}};return{create(w,K,M){return w?B(w,()=>ae(w,K,M)):ae(w,K,M)},async get(w,K){let M=await e.get(i(K));if(!M)throw new ur(`Event not found: ${K}`,{status:404});return he(M)},async list(w){let K=w?.pagination?.limit??100,M=w.pagination?.sortOrder||"asc",V=w?.pagination?.cursor,_=s(w.runId),A=await Fi(e,_,V,M),m=await E(_,A,K,M),T=e.pipeline();for(let G of m)T.get(i(G));let x=await T.exec(),j=I(x),R=j.slice(0,K),W=j.length>K,q=w?.resolveData??"all";return{data:R.map(G=>{let re=pn.parse(Ee(G));return yn(re,q)}),cursor:R.at(-1)?.eventId??null,hasMore:W}},async listByCorrelationId(w){let K=w?.pagination?.limit??100,M=w.pagination?.sortOrder||"asc",V=w?.pagination?.cursor,_=a(w.correlationId),A=await Fi(e,_,V,M),m=await E(_,A,K,M),T=e.pipeline();for(let G of m)T.get(i(G));let x=await T.exec(),j=I(x),R=j.slice(0,K),W=j.length>K,q=w?.resolveData??"all";return{data:R.map(G=>{let re=pn.parse(Ee(G));return yn(re,q)}),cursor:R.at(-1)?.eventId??null,hasMore:W}}}}function xE(r){let{redis:e,keyPrefix:t}=r,n=(o,l)=>`${t}step:${o}:${l}`,i=o=>`${t}steps:by_run:${o}`;async function s(o){let l="0";do{let[c,u]=await e.scan(l,"MATCH",o,"COUNT",100);if(u.length>0)return u[0];l=c}while(l!=="0");return null}async function a(o,l,c){let u=await e.get(o);if(!u)throw new ur(`Step not found: ${l}`,{status:404});let d=he(u),p=Pr.parse(Ee(d)),f=c?.resolveData??"all";return SE(p,f)}return{get:(async(o,l,c)=>{if(!o){let u=`${t}step:*:${l}`,d=await s(u);if(!d)throw new ur(`Step not found: ${l}`,{status:404});return a(d,l,c)}return a(n(o,l),l,c)}),list:(async o=>{let l=o?.pagination?.limit??20,c=o?.pagination?.cursor,u=i(o.runId),d=await Fi(e,u,c),p=await e.zrevrange(u,d,d+l),f=e.pipeline();for(let O of p)f.get(n(o.runId,O));let h=await f.exec(),g=o?.resolveData??"all",k=[];for(let O of h??[])if(O?.[1]){let D=he(O[1]),B=Pr.parse(Ee(D));k.push(SE(B,g))}let E=k.slice(0,l),I=k.length>l;return{data:E,hasMore:I,cursor:E.at(-1)?.stepId??null}})}}function wE(r){let{redis:e,keyPrefix:t}=r,n=r.hookResolveRetries??F_,i=r.hookResolveRetryMs??V_,s=l=>`${t}hook:${l}`,a=l=>`${t}hooks:by_token:${l}`,o=l=>`${t}hooks:by_run:${l}`;return{async get(l,c){let u=await e.get(s(l));if(!u)throw new ur(`Hook not found: ${l}`,{status:404});let d=he(u),p=tl.parse(Ee(d)),f=c?.resolveData??"all";return KE(p,f)},async getByToken(l,c){for(let u=0;;u++){let d=await e.get(a(l));if(d)return this.get(d,c);if(u>=n)throw new N_(l);await oE(i)}},async list(l){let c=l?.pagination?.limit??100,u=l?.pagination?.cursor;if(!l.runId)return{data:[],cursor:null,hasMore:!1};let d=o(l.runId),p=await Fi(e,d,u),f=await e.zrevrange(d,p,p+c),h=e.pipeline();for(let O of f)h.get(s(O));let g=await h.exec(),k=[];for(let O of g??[])if(O?.[1]){let D=he(O[1]),B=tl.parse(Ee(D)),ae=KE(B,l?.resolveData??"all");k.push(ae)}let E=k.slice(0,c),I=k.length>c;return{data:E,cursor:E.at(-1)?.hookId??null,hasMore:I}}}}var TE=10080*60*1e3;function jE(r,e,t){let{redis:n,keyPrefix:i}=r,s=p=>`${i}run:${p}`,a=p=>`${i}runs:by_status:${p}`,o=p=>`${i}events:by_run:${p}`,l=`${i}hooks:by_run:*`,c=`${i}hooks:by_run:`,u=new Set(["completed","failed","cancelled"]);async function d(p){let f=new Set,h="0";do{let[g,k]=await n.scan(h,"MATCH",p,"COUNT",200);for(let E of k)f.add(E);h=g}while(h!=="0");return[...f]}return async function(f){let h=f?.enableRunCancellation??t.enableRunCancellation,g=f?.maxRunAgeMs??t.maxRunAgeMs,k=f?.now??Date.now,E=0,I=0,O=await d(l);for(let D of O){let B=D.slice(c.length);if(B)try{let ae=await n.get(s(B)),w=!1;if(!ae)w=!0;else{let K=he(ae);u.has(K.status)&&(w=!0)}w&&(await EE(n,i,B),E+=1)}catch{}}if(h){let D=await n.zrange(a("running"),0,-1);for(let B of D)try{let ae=await n.get(s(B));if(!ae||he(ae).status!=="running")continue;let K=await n.zrevrange(o(B),0,0,"WITHSCORES"),M=K.length===2?Number(K[1]):void 0;if(M===void 0||Number.isNaN(M)||k()-M<=g)continue;await e.create(B,{eventType:"run_cancelled"}),I+=1}catch{}}return{orphanHookRunsPruned:E,staleRunsCancelled:I}}}import{EventEmitter as U_}from"node:events";function z_(r){let e;try{e=JSON.parse(r)}catch{return null}if(!e||typeof e!="object")return null;let{streamId:t,entryId:n}=e;return typeof t!="string"||typeof n!="string"?null:{streamId:t,entryId:n}}function $_(r,e){let[t,n]=r.split("-").map(Number),[i,s]=e.split("-").map(Number);return t===i?n-s:t-i}function AE(r){let{redis:e,keyPrefix:t}=r,n=new U_,i=Hd(),s=f=>`${t}stream:${f}`,a=`${t}stream_notify`,o=e.duplicate(),l=o.subscribe(a).then(()=>{});o.on("message",async(f,h)=>{if(f===a)try{let g=z_(h);if(!g)return;let k=`strm:${g.streamId}`;if(!n.listenerCount(k))return;await i(k,async()=>{let E=await e.xrange(s(g.streamId),g.entryId,g.entryId);if(E.length===0)return;let[I,O]=E[0],D=Buffer.from(O[1],"base64"),B=O[3]==="true";n.emit(k,{id:I,data:D,eof:B})})}catch(g){console.error("Error processing stream notification:",g)}});async function c(f,h,g){let k=Buffer.isBuffer(g)?g:Buffer.from(g),E=await e.xadd(s(h),"*","data",k.toString("base64"),"eof","false");await l,await e.publish(a,JSON.stringify({streamId:h,entryId:E}))}async function u(f,h){let g=await e.xadd(s(h),"*","data","","eof","true");await l,await e.publish(a,JSON.stringify({streamId:h,entryId:g}))}async function d(f,h,g){let k=[];return new ReadableStream({async start(E){let I="",O=g??0,D=[],B=A=>I!==""&&$_(I,A)>=0,ae=()=>O>0?(O--,!0):!1,w=A=>{A.data.byteLength&&E.enqueue(new Uint8Array(A.data)),A.eof&&(E.close(),k.forEach(m=>{m()})),I=A.id};function K(A){B(A.id)||!A.eof&&ae()||w(A)}function M(A){if(D){D.push(A);return}K(A)}n.on(`strm:${h}`,M),k.push(()=>{n.off(`strm:${h}`,M)});let V=await e.xrange(s(h),"-","+"),_=[];for(let[A,m]of V){let T=Buffer.from(m[1],"base64"),x=m[3]==="true";_.push({id:A,data:T,eof:x})}for(let A of[..._,...D??[]])K(A);D=null},cancel(){k.forEach(E=>{E()})}})}async function p(f){let h=await e.xrange(s(f),"-","+"),g=[],k=!1;for(let[,E]of h){if(E[3]==="true"){k=!0;continue}g.push(new Uint8Array(Buffer.from(E[1],"base64")))}return{chunks:g,done:k}}return{streams:{write:c,close:u,get:d,async list(f){let h=`${t}stream:`,g=[],k="0";do{let[E,I]=await e.scan(k,"MATCH",`${h}*`,"COUNT",200);k=E;for(let O of I)g.push(O.slice(h.length))}while(k!=="0");return g},async getChunks(f,h,g){let k=Math.min(Math.max(g?.limit??100,1),1e3),E=g?.cursor&&Number.parseInt(g.cursor,10)||0,{chunks:I,done:O}=await p(h),D=I.slice(E,E+k).map((w,K)=>({index:E+K,data:w})),B=E+D.length,ae=B<I.length;return{data:D,cursor:ae?String(B):null,hasMore:ae,done:O}},async getInfo(f,h){let{chunks:g,done:k}=await p(h);return{tailIndex:g.length-1,done:k}}},async stop(){o.removeAllListeners("message");try{await o.quit()}catch{o.disconnect()}}}}function Vi(r,e,t=0){if(r===void 0||r==="")return e;let n=Number.parseInt(r,10);return Number.isNaN(n)?e:Math.max(t,n)}var H_=3600*1e3;function Q_(r,e,t,n){let i={redis:r,keyPrefix:e,hookResolveRetries:t,hookResolveRetryMs:n};return{runs:kE(i),events:IE(i),hooks:wE(i),steps:xE(i)}}function sJ(r={redis:process.env.WORKFLOW_REDIS_URL||process.env.REDIS_URL||"redis://localhost:6379",jobPrefix:process.env.WORKFLOW_REDIS_JOB_PREFIX,queueConcurrency:Number.parseInt(process.env.WORKFLOW_REDIS_WORKER_CONCURRENCY||"10",10)||10,keyPrefix:process.env.WORKFLOW_REDIS_KEY_PREFIX||"workflow:"}){let e=typeof r.redis=="string"?new Qd.Redis(r.redis):new Qd.Redis(r.redis),t=r.keyPrefix||"workflow:",n=r.hookResolveRetries??Vi(process.env.WORKFLOW_HOOK_RESOLVE_RETRIES,3),i=r.hookResolveRetryMs??Vi(process.env.WORKFLOW_HOOK_RESOLVE_RETRY_MS,30),s=r.enableRunCancellationGc??process.env.WORKFLOW_ENABLE_RUN_CANCELLATION_GC==="true",a=r.maxRunAgeForCancellationMs??Vi(process.env.WORKFLOW_RUN_CANCELLATION_AGE_MS,TE,H_),o=r.serialLockTtlMs??Vi(process.env.WORKFLOW_SERIAL_LOCK_TTL_MS,3e4,1),l=r.httpTimeoutMs??Vi(process.env.WORKFLOW_HTTP_TIMEOUT_MS,Yd,1e3),c=cE(e,{...r,httpTimeoutMs:l}),u=Q_(e,t,n,i),d=mE({redis:e,keyPrefix:t},{lockTtlMs:o}),p=jE({redis:e,keyPrefix:t},u.events,{enableRunCancellation:s,maxRunAgeMs:a}),{stop:f,...h}=AE({redis:e,keyPrefix:t}),g=fE({redis:e,keyPrefix:t});return{...u,...h,...c,eventsSubscriber:g,pruneOrphanState:p,serialGate:d,specVersion:5,processExitTriggersQueueRedelivery:!1,async start(){await c.start()},async close(){try{await c.stop()}catch{}try{await f()}catch{}try{await g.stop()}catch{}try{await e.quit()}catch{}},async resolveLatestDeploymentId(){return"redis"}}}export{sJ as createWorld};
|
|
9107
|
+
return nil`,Ha="__fifoEnc";function MQ(r){if(r instanceof Uint8Array)return{[Ha]:"u8",d:Array.from(r)};if(r instanceof Date)return{[Ha]:"date",d:r.toISOString()};if(Array.isArray(r))return r.map(MQ);if(r&&typeof r=="object"){let e={};for(let[t,n]of Object.entries(r))e[t]=MQ(n);return Ha in e?{[Ha]:"esc",d:e}:e}return r}function _P(r){let e={};for(let[t,n]of Object.entries(r))e[t]=KQ(n);return e}function KQ(r){if(Array.isArray(r))return r.map(KQ);if(r&&typeof r=="object"){let e=r;if(Ha in e)switch(e[Ha]){case"u8":return new Uint8Array(e.d);case"date":return new Date(e.d);case"esc":return _P(e.d)}return _P(e)}return r}function JP(r){return JSON.stringify(MQ(r))}function YP(r){return KQ(JSON.parse(r))}function qP(r,e={}){let{redis:t,keyPrefix:n}=r,s=e.lockTtlMs??Rce,i=s+vce,o=l=>`${n}serial:lock:${l}`,a=l=>`${n}serial:wait:${l}`,A=l=>`${n}serial:inflight:${l}`;return{async tryAdmit(l,c){let u=ih();return await t.eval(xce,3,o(l),a(l),A(l),u,JP(c),String(s))==="admitted"?{admitted:!0,token:u}:{admitted:!1}},async release(l,c){let u=ih(),d=await t.eval(Tce,3,o(l),a(l),A(l),c,u,String(s),String(i));return d===null?null:{trigger:YP(d),token:u}},async renew(l,c){return await t.eval(Nce,1,o(l),c,String(s))===1},async recoverOrphans(l){let c=ih(),u=await t.eval(Mce,3,o(l),a(l),A(l),c,String(s),String(i));return u===null?null:{trigger:YP(u),token:c}},async markAttempt(l,c){return await t.eval(Kce,2,o(l),A(l),c)===1},async acknowledge(l,c){await t.eval(Fce,1,A(l),c)},async requeue(l,c,u){await t.eval(Lce,3,o(l),a(l),A(l),u,JP(c))}}}import{EntityConflictError as Wa,HookNotFoundError as Oce,RunExpiredError as GP,TooEarlyError as Uce,WorkflowWorldError as As}from"@workflow/errors";import{EventSchema as Co,HookSchema as ig,isLegacySpecVersion as jce,requiresNewerWorld as Pce,SPEC_VERSION_CURRENT as FQ,StepSchema as ii,WorkflowRunSchema as vn}from"@workflow/world";var _ce=3,Jce=30,Yce=1e3,qce=["createdAt","updatedAt","startedAt","completedAt","retryAfter"],ql="__uint8array";function Gce(r){if(!r||typeof r!="object"||r instanceof Uint8Array||r instanceof Date)return r;let{toJSON:e}=r;return typeof e=="function"?e.call(r):r}function LQ(r){return Vce(Gce(r))}function Vce(r){if(r instanceof Uint8Array)return{[ql]:!0,data:Array.from(r)};if(Array.isArray(r))return r.map(LQ);if(r&&typeof r=="object"&&!(r instanceof Date)){let e={};for(let[t,n]of Object.entries(r))e[t]=LQ(n);return ql in e?{[ql]:"esc",d:e}:e}return r}function VP(r){let e={};for(let[t,n]of Object.entries(r))e[t]=OQ(n);return e}function OQ(r){if(Array.isArray(r))return r.map(OQ);if(r&&typeof r=="object"){let e=r;if(e[ql]===!0)return new Uint8Array(e.data);let t=e[ql]==="esc"?e.d:void 0;return t&&typeof t=="object"&&!Array.isArray(t)?VP(t):VP(e)}return r}function HP(r,e){let t=r[e];if(typeof t!="string")return;let n=new Date(t);Number.isNaN(n.getTime())||(r[e]=n)}function mt(r){return JSON.stringify(LQ(r))}function Ne(r){let e=OQ(JSON.parse(r));for(let n of qce)HP(e,n);let t=e.eventData;return t&&typeof t=="object"&&!Array.isArray(t)&&HP(t,"retryAfter"),e}function UQ(){let r=new Map;return async function(t,n){let s=r.get(t)??Promise.resolve(),i,o=new Promise(A=>{i=A}),a=s.then(()=>o);r.set(t,a);try{return await s,await n()}finally{i(),r.get(t)===a&&r.delete(t)}}}async function Gl(r,e,t,n="desc"){if(!t)return 0;let s=n==="desc"?await r.zrevrank(e,t):await r.zrank(e,t);return s===null?0:s+1}async function ZP(r,e,t){let n=A=>`${e}hook:${A}`,s=A=>`${e}hooks:by_token:${A}`,i=`${e}hooks:by_run:${t}`,o=await r.zrange(i,0,-1),a=r.pipeline();for(let A of o){let l=await r.get(n(A));if(l){let c=Ne(l);a.del(n(A)),a.del(s(c.token))}}a.del(i),await a.exec()}function WP(r,e){if(e==="none"&&"metadata"in r){let{metadata:t,...n}=r;return{metadata:void 0,...n}}return r}function zP(r,e){if(e==="none"){let{input:t,output:n,...s}=r;return{input:void 0,output:void 0,...s}}return r}function og(r,e){if(e==="none"){let{input:t,output:n,...s}=r;return{input:void 0,output:void 0,...s}}return r}function bo(r,e){if(e==="none"&&"eventData"in r){let{eventData:t,...n}=r;return n}return r}function XP(r){let{redis:e,keyPrefix:t}=r,n=r.listScanLimit??Yce,s=c=>`${t}run:${c}`,i=()=>`${t}runs:index`,o=c=>`${t}runs:by_name:${c}`,a=c=>`${t}runs:by_status:${c}`;function A(c){return c?.workflowName&&c?.status||c?.workflowName?o(c.workflowName):c?.status?a(c.status):i()}function l(c,u){let d=[];for(let h of c??[]){if(!h?.[1])continue;let f=Ne(h[1]),p=!u?.status||f.status===u.status,I=!u?.workflowName||f.workflowName===u.workflowName;if(p&&I){let y=u?.resolveData??"all",m=vn.parse(_e(f));d.push(og(m,y))}}return d}return{get:(async(c,u)=>{let d=await e.get(s(c));if(!d)throw new As(`Run not found: ${c}`,{status:404});let h=Ne(d),f=vn.parse(_e(h)),p=u?.resolveData??"all";return og(f,p)}),list:(async c=>{let u=c?.pagination?.limit??20,d=A(c),h=await Gl(e,d,c?.pagination?.cursor),f=[],p=0,I,y=!1;for(;;){let R=await e.zrevrange(d,h,h+u);if(R.length===0){y=!0;break}let L=e.pipeline();for(let j of R)L.get(s(j));if(f.push(...l(await L.exec(),c)),p+=R.length,I=R.at(-1),R.length<u+1){y=!0;break}if(f.length>u||p>=n)break;h+=R.length}let m=f.slice(0,u),w=!y&&f.length<=u;return{data:m,hasMore:f.length>u||!y,cursor:(w?I:m.at(-1)?.runId)??null}})}}function $P(r){let{redis:e,keyPrefix:t}=r,n=sh(),s=v=>`${t}event:${v}`,i=v=>`${t}events:by_run:${v}`,o=v=>`${t}events:by_correlation:${v}`,a=v=>`${t}run:${v}`,A=()=>`${t}runs:index`,l=v=>`${t}runs:by_name:${v}`,c=v=>`${t}runs:by_status:${v}`,u=(v,C)=>`${t}step:${v}:${C}`,d=v=>`${t}steps:by_run:${v}`,h=v=>`${t}hook:${v}`,f=v=>`${t}hooks:by_token:${v}`,p=v=>`${t}hooks:by_run:${v}`;async function I(v){await ZP(e,t,v)}async function y(v,C,K,O){return e[O==="desc"?"zrevrange":"zrange"](v,C,C+K)}function m(v){let C=[];for(let K of v??[])if(K?.[1]){let O=Ne(K[1]);C.push(O)}return C}async function w(v,C,K,O,U){let x=U?.resolveData??"all";switch(K.eventType){case"run_cancelled":{let b=new Date,T=await e.get(a(v));if(T){let M=Ne(T),N={...M,status:"cancelled",completedAt:b,updatedAt:b};await e.set(a(v),mt(N));let F=e.pipeline();F.zrem(c(M.status),v),F.zadd(c("cancelled"),b.getTime(),v),await F.exec(),await I(v);let W=vn.parse(_e(N));return{run:og(W,x)}}return{}}case"wait_completed":case"hook_received":{let b=new Date,T={...K,runId:v,eventId:C,createdAt:b,specVersion:FQ};await e.set(s(C),mt(T));let M=b.getTime(),N=e.pipeline();N.zadd(i(v),M,C),K.correlationId&&N.zadd(o(K.correlationId),M,C),await N.exec();let F=Co.parse(T);return{event:bo(F,x)}}default:throw new Error(`Event type '${K.eventType}' not supported for legacy runs (specVersion: ${O.specVersion||"undefined"}). Please upgrade @workflow packages.`)}}async function R(v,C){if(await e.zcard(o(v))>0)throw new Wa(`${C} "${v}" already created`)}let L=UQ(),j=async(v,C,K)=>{let O=`wevt_${n()}`,U=new Date,x;if(C.eventType==="run_created"&&(!v||v===""))x=`wrun_${n()}`;else if(v)x=v;else throw new Error("runId is required for non-run_created events");let b=C.specVersion??FQ,T,M,N,F,W=J=>["completed","failed","cancelled"].includes(J),re=J=>["completed","failed","cancelled"].includes(J),_=null,Be=["step_completed","step_retrying"];if(C.eventType!=="run_created"&&!Be.includes(C.eventType)){let J=await e.get(a(x));if(J){let ee=Ne(J);_={status:ee.status,specVersion:ee.specVersion}}}if(C.eventType==="run_started"&&!_&&"eventData"in C&&C.eventData){let J=C.eventData;if(J.deploymentId&&J.workflowName&&J.input!==void 0){let ee={runId:x,deploymentId:J.deploymentId,workflowName:J.workflowName,specVersion:b,input:J.input,executionContext:J.executionContext,status:"pending",output:void 0,error:void 0,completedAt:void 0,startedAt:void 0,createdAt:U,updatedAt:U};if(await e.setnx(a(x),mt(ee))===1){let ae=U.getTime();await e.pipeline().zadd(A(),ae,x).zadd(l(J.workflowName),ae,x).zadd(c("pending"),ae,x).exec();let De=`wevt_${n()}`,sn={eventType:"run_created",eventData:{deploymentId:J.deploymentId,workflowName:J.workflowName,input:J.input,executionContext:J.executionContext},runId:x,eventId:De,createdAt:U,specVersion:b};await e.set(s(De),mt(sn)),await e.zadd(i(x),U.getTime(),De),_={status:"pending",specVersion:b}}else{let ae=await e.get(a(x));if(ae){let De=Ne(ae);_={status:De.status,specVersion:De.specVersion}}}}}if(_){if(Pce(_.specVersion))throw new(await import("@workflow/errors")).RunNotSupportedError(_.specVersion,FQ);if(jce(_.specVersion))return w(x,O,C,_,K)}if(_&&W(_.status)){let J=["run_started","run_completed","run_failed"];if(C.eventType==="run_cancelled"&&_.status==="cancelled"){let ee=await e.get(a(x)),he=new Date,ae={...C,runId:x,eventId:O,createdAt:he,specVersion:b};await e.set(s(O),mt(ae));let De=he.getTime();await e.zadd(i(x),De,O);let sn=Co.parse(ae),lg=K?.resolveData??"all";return{event:bo(sn,lg),run:ee?Ne(ee):void 0}}if(C.eventType==="run_started")throw new GP(`Workflow run "${x}" is already in terminal state "${_.status}"`);if(J.includes(C.eventType)||C.eventType==="run_cancelled")throw new Wa(`Cannot transition run from terminal state "${_.status}"`);if(C.eventType==="step_created"||C.eventType==="hook_created")throw new Wa(`Cannot create new entities on run in terminal state "${_.status}"`)}let Ee=null;if(["step_started","step_retrying"].includes(C.eventType)&&C.correlationId){let J=await e.get(u(x,C.correlationId));if(J){let ee=Ne(J);Ee={status:ee.status,startedAt:ee.startedAt,retryAfter:ee.retryAfter}}if(!Ee)throw new As(`Step "${C.correlationId}" not found`,{status:404});if(re(Ee.status))throw new Wa(`Cannot modify step in terminal state "${Ee.status}"`);if(_&&W(_.status)&&Ee.status!=="running")throw new GP(`Cannot modify non-running step on run in terminal state "${_.status}"`);if(C.eventType==="step_started"&&Ee.retryAfter){let ee=new Date(Ee.retryAfter).getTime(),he=ee-U.getTime();if(Number.isFinite(ee)&&he>0)throw new Uce(`Step "${C.correlationId}" cannot start before ${new Date(ee).toISOString()}`,{retryAfter:Math.ceil(he/1e3)})}}if(["hook_disposed","hook_received"].includes(C.eventType)&&C.correlationId&&!await e.get(h(C.correlationId)))throw new As(`Hook "${C.correlationId}" not found`,{status:404});if(C.eventType==="run_created"){let J=C.eventData,ee={runId:x,deploymentId:J.deploymentId,workflowName:J.workflowName,specVersion:b,input:J.input,executionContext:J.executionContext,status:"pending",output:void 0,error:void 0,completedAt:void 0,startedAt:void 0,createdAt:U,updatedAt:U},he=await e.setnx(a(x),mt(ee)),ae=U.getTime();if(await e.pipeline().zadd(A(),ae,x).zadd(l(J.workflowName),ae,x).zadd(c("pending"),ae,x).exec(),he===1)T=vn.parse(_e(ee));else{let De=await e.get(a(x));De&&(T=vn.parse(_e(Ne(De))))}}if(C.eventType==="run_started"){if(_?.status==="running"){let ee=await e.get(a(x));ee&&(T=vn.parse(_e(Ne(ee))));let he=K?.resolveData??"all";return{run:T?og(T,he):void 0}}let J=await e.get(a(x));if(J){let ee=Ne(J),he={...ee,status:"running",startedAt:U,updatedAt:U};await e.set(a(x),mt(he));let ae=e.pipeline();ae.zrem(c(ee.status),x),ae.zadd(c("running"),U.getTime(),x),await ae.exec(),T=vn.parse(_e(he))}}if(C.eventType==="run_completed"){let J=C.eventData,ee=await e.get(a(x));if(ee){let he=Ne(ee),ae={...he,status:"completed",output:J.output,completedAt:U,updatedAt:U};await e.set(a(x),mt(ae));let De=e.pipeline();De.zrem(c(he.status),x),De.zadd(c("completed"),U.getTime(),x),await De.exec(),await I(x),T=vn.parse(_e(ae))}}if(C.eventType==="run_failed"){let J=C.eventData,ee=typeof J.error=="string"?J.error:J.error?.message??"Unknown error",he=await e.get(a(x));if(he){let ae=Ne(he),De={...ae,status:"failed",error:{message:ee,stack:J.error?.stack,code:J.errorCode},completedAt:U,updatedAt:U};F=sn=>{sn.set(a(x),mt(De)),sn.zrem(c(ae.status),x),sn.zadd(c("failed"),U.getTime(),x)},T=vn.parse(_e(De))}}if(C.eventType==="run_cancelled"){let J=await e.get(a(x));if(J){let ee=Ne(J),he={...ee,status:"cancelled",completedAt:U,updatedAt:U};await e.set(a(x),mt(he));let ae=e.pipeline();ae.zrem(c(ee.status),x),ae.zadd(c("cancelled"),U.getTime(),x),await ae.exec(),await I(x),T=vn.parse(_e(he))}}if(C.eventType==="step_created"){await R(C.correlationId,"Step");let J=C.eventData,ee={runId:x,stepId:C.correlationId,stepName:J.stepName,input:J.input,status:"pending",attempt:0,specVersion:b,createdAt:U,updatedAt:U},he=await e.setnx(u(x,C.correlationId),mt(ee));if(await e.zadd(d(x),U.getTime(),C.correlationId),he===1)M=ii.parse(_e(ee));else{let ae=await e.get(u(x,C.correlationId));ae&&(M=ii.parse(_e(Ne(ae))))}}if(C.eventType==="step_started"){let J=!Ee?.startedAt,ee=await e.get(u(x,C.correlationId));if(ee){let he=Ne(ee),ae={...he,status:"running",attempt:he.attempt+1,...J?{startedAt:U}:{},updatedAt:U};await e.set(u(x,C.correlationId),mt(ae)),M=ii.parse(_e(ae))}}if(C.eventType==="step_completed"){let J=C.eventData,ee=await e.get(u(x,C.correlationId));if(ee){let he=Ne(ee);if(["completed","failed","cancelled"].includes(he.status))throw new Wa(`Cannot modify step in terminal state "${he.status}"`);let ae={...he,status:"completed",output:J.result,completedAt:U,updatedAt:U};await e.set(u(x,C.correlationId),mt(ae)),M=ii.parse(_e(ae))}else throw new As(`Step "${C.correlationId}" not found`,{status:404})}if(C.eventType==="step_failed"){let J=C.eventData,ee=typeof J.error=="string"?J.error:J.error?.message??"Unknown error",he=await e.get(u(x,C.correlationId));if(he){let ae=Ne(he);if(["completed","failed","cancelled"].includes(ae.status))throw new Wa(`Cannot modify step in terminal state "${ae.status}"`);let De={...ae,status:"failed",error:{message:ee,stack:J.stack},completedAt:U,updatedAt:U};await e.set(u(x,C.correlationId),mt(De)),M=ii.parse(_e(De))}else throw new As(`Step "${C.correlationId}" not found`,{status:404})}if(C.eventType==="step_retrying"){let J=C.eventData,ee=typeof J.error=="string"?J.error:J.error?.message??"Unknown error",he=await e.get(u(x,C.correlationId));if(he){let De={...Ne(he),status:"pending",error:{message:ee,stack:J.stack},retryAfter:J.retryAfter,updatedAt:U};await e.set(u(x,C.correlationId),mt(De)),M=ii.parse(_e(De))}}if(C.eventType==="wait_created"&&C.correlationId&&await R(C.correlationId,"Wait"),C.eventType==="hook_created"){let J=C.eventData,ee=await e.get(f(J.token));if(ee&&ee!==C.correlationId){let De=await e.get(h(ee)),sn=De?Ne(De).runId:void 0,lg={token:J.token,...sn?{conflictingRunId:sn}:{}},JQ=new Date,YQ={eventType:"hook_conflict",correlationId:C.correlationId,eventData:lg,runId:x,eventId:O,createdAt:JQ,specVersion:b};await e.set(s(O),mt(YQ));let qQ=JQ.getTime(),cg=e.pipeline();cg.zadd(i(x),qQ,O),C.correlationId&&cg.zadd(o(C.correlationId),qQ,O),await cg.exec();let o_=Co.parse(YQ),a_=K?.resolveData??"all";return{event:bo(o_,a_),run:T,step:M,hook:void 0}}await R(C.correlationId,"Hook");let he={runId:x,hookId:C.correlationId,token:J.token,ownerId:"",projectId:"",environment:"",metadata:J.metadata,specVersion:b,createdAt:U},ae=await e.setnx(h(C.correlationId),mt(he));if(await e.pipeline().set(f(J.token),C.correlationId).zadd(p(x),U.getTime(),C.correlationId).exec(),ae===1)N=ig.parse(_e(he));else{let De=await e.get(h(C.correlationId));De&&(N=ig.parse(_e(Ne(De))))}}if(C.eventType==="hook_disposed"&&C.correlationId){let J=await e.get(h(C.correlationId));if(J){let ee=Ne(J);await e.pipeline().del(h(C.correlationId)).del(f(ee.token)).zrem(p(x),C.correlationId).exec()}}let ls=new Date,ag={...C,runId:x,eventId:O,createdAt:ls,specVersion:b};C.eventType==="run_started"&&delete ag.eventData,await e.set(s(O),mt(ag));let PQ=ls.getTime(),Hl=F?e.multi():e.pipeline();Hl.zadd(i(x),PQ,O),C.correlationId&&Hl.zadd(o(C.correlationId),PQ,O),F?.(Hl),await Hl.exec(),F&&await I(x),await jP(e,t,{runId:x,eventId:O,eventType:C.eventType,...C.correlationId?{correlationId:C.correlationId}:{}});let i_=Co.parse(ag),_Q=K?.resolveData??"all",Ag;if(C.eventType==="run_started"&&T){let J=await e.zrange(i(x),0,-1);if(J.length>0){let ee=e.pipeline();for(let ae of J)ee.get(s(ae));let he=await ee.exec();Ag=m(he).map(ae=>{let De=Co.parse(_e(ae));return bo(De,_Q)})}else Ag=[]}return{event:bo(i_,_Q),run:T,step:M,hook:N,events:Ag}};return{create(v,C,K){return v?L(v,()=>j(v,C,K)):j(v,C,K)},async get(v,C){let K=await e.get(s(C));if(!K)throw new As(`Event not found: ${C}`,{status:404});return Ne(K)},async list(v){let C=v?.pagination?.limit??100,K=v.pagination?.sortOrder||"asc",O=v?.pagination?.cursor,U=i(v.runId),x=await Gl(e,U,O,K),b=await y(U,x,C,K),T=e.pipeline();for(let _ of b)T.get(s(_));let M=await T.exec(),N=m(M),F=N.slice(0,C),W=N.length>C,re=v?.resolveData??"all";return{data:F.map(_=>{let Be=Co.parse(_e(_));return bo(Be,re)}),cursor:F.at(-1)?.eventId??null,hasMore:W}},async listByCorrelationId(v){let C=v?.pagination?.limit??100,K=v.pagination?.sortOrder||"asc",O=v?.pagination?.cursor,U=o(v.correlationId),x=await Gl(e,U,O,K),b=await y(U,x,C,K),T=e.pipeline();for(let _ of b)T.get(s(_));let M=await T.exec(),N=m(M),F=N.slice(0,C),W=N.length>C,re=v?.resolveData??"all";return{data:F.map(_=>{let Be=Co.parse(_e(_));return bo(Be,re)}),cursor:F.at(-1)?.eventId??null,hasMore:W}}}}function e_(r){let{redis:e,keyPrefix:t}=r,n=(a,A)=>`${t}step:${a}:${A}`,s=a=>`${t}steps:by_run:${a}`;async function i(a){let A="0";do{let[l,c]=await e.scan(A,"MATCH",a,"COUNT",100);if(c.length>0)return c[0];A=l}while(A!=="0");return null}async function o(a,A,l){let c=await e.get(a);if(!c)throw new As(`Step not found: ${A}`,{status:404});let u=Ne(c),d=ii.parse(_e(u)),h=l?.resolveData??"all";return zP(d,h)}return{get:(async(a,A,l)=>{if(!a){let c=`${t}step:*:${A}`,u=await i(c);if(!u)throw new As(`Step not found: ${A}`,{status:404});return o(u,A,l)}return o(n(a,A),A,l)}),list:(async a=>{let A=a?.pagination?.limit??20,l=a?.pagination?.cursor,c=s(a.runId),u=await Gl(e,c,l),d=await e.zrevrange(c,u,u+A),h=e.pipeline();for(let w of d)h.get(n(a.runId,w));let f=await h.exec(),p=a?.resolveData??"all",I=[];for(let w of f??[])if(w?.[1]){let R=Ne(w[1]),L=ii.parse(_e(R));I.push(zP(L,p))}let y=I.slice(0,A),m=I.length>A;return{data:y,hasMore:m,cursor:y.at(-1)?.stepId??null}})}}function t_(r){let{redis:e,keyPrefix:t}=r,n=r.hookResolveRetries??_ce,s=r.hookResolveRetryMs??Jce,i=A=>`${t}hook:${A}`,o=A=>`${t}hooks:by_token:${A}`,a=A=>`${t}hooks:by_run:${A}`;return{async get(A,l){let c=await e.get(i(A));if(!c)throw new As(`Hook not found: ${A}`,{status:404});let u=Ne(c),d=ig.parse(_e(u)),h=l?.resolveData??"all";return WP(d,h)},async getByToken(A,l){for(let c=0;;c++){let u=await e.get(o(A));if(u)return this.get(u,l);if(c>=n)throw new Oce(A);await KP(s)}},async list(A){let l=A?.pagination?.limit??100,c=A?.pagination?.cursor;if(!A.runId)return{data:[],cursor:null,hasMore:!1};let u=a(A.runId),d=await Gl(e,u,c),h=await e.zrevrange(u,d,d+l),f=e.pipeline();for(let w of h)f.get(i(w));let p=await f.exec(),I=[];for(let w of p??[])if(w?.[1]){let R=Ne(w[1]),L=ig.parse(_e(R)),j=WP(L,A?.resolveData??"all");I.push(j)}let y=I.slice(0,l),m=I.length>l;return{data:y,cursor:y.at(-1)?.hookId??null,hasMore:m}}}}var r_=10080*60*1e3;function n_(r,e,t){let{redis:n,keyPrefix:s}=r,i=d=>`${s}run:${d}`,o=d=>`${s}runs:by_status:${d}`,a=d=>`${s}events:by_run:${d}`,A=`${s}hooks:by_run:*`,l=`${s}hooks:by_run:`,c=new Set(["completed","failed","cancelled"]);async function u(d){let h=new Set,f="0";do{let[p,I]=await n.scan(f,"MATCH",d,"COUNT",200);for(let y of I)h.add(y);f=p}while(f!=="0");return[...h]}return async function(h){let f=h?.enableRunCancellation??t.enableRunCancellation,p=h?.maxRunAgeMs??t.maxRunAgeMs,I=h?.now??Date.now,y=0,m=0,w=await u(A);for(let R of w){let L=R.slice(l.length);if(L)try{let j=await n.get(i(L)),v=!1;if(!j)v=!0;else{let C=Ne(j);c.has(C.status)&&(v=!0)}v&&(await ZP(n,s,L),y+=1)}catch{}}if(f){let R=await n.zrange(o("running"),0,-1);for(let L of R)try{let j=await n.get(i(L));if(!j||Ne(j).status!=="running")continue;let C=await n.zrevrange(a(L),0,0,"WITHSCORES"),K=C.length===2?Number(C[1]):void 0;if(K===void 0||Number.isNaN(K)||I()-K<=p)continue;await e.create(L,{eventType:"run_cancelled"}),m+=1}catch{}}return{orphanHookRunsPruned:y,staleRunsCancelled:m}}}import{EventEmitter as Hce}from"node:events";function Wce(r){let e;try{e=JSON.parse(r)}catch{return null}if(!e||typeof e!="object")return null;let{streamId:t,entryId:n}=e;return typeof t!="string"||typeof n!="string"?null:{streamId:t,entryId:n}}function zce(r,e){let[t,n]=r.split("-").map(Number),[s,i]=e.split("-").map(Number);return t===s?n-i:t-s}function s_(r){let{redis:e,keyPrefix:t}=r,n=new Hce,s=UQ(),i=h=>`${t}stream:${h}`,o=`${t}stream_notify`,a=e.duplicate(),A=a.subscribe(o).then(()=>{});a.on("message",async(h,f)=>{if(h===o)try{let p=Wce(f);if(!p)return;let I=`strm:${p.streamId}`;if(!n.listenerCount(I))return;await s(I,async()=>{let y=await e.xrange(i(p.streamId),p.entryId,p.entryId);if(y.length===0)return;let[m,w]=y[0],R=Buffer.from(w[1],"base64"),L=w[3]==="true";n.emit(I,{id:m,data:R,eof:L})})}catch(p){console.error("Error processing stream notification:",p)}});async function l(h,f,p){let I=Buffer.isBuffer(p)?p:Buffer.from(p),y=await e.xadd(i(f),"*","data",I.toString("base64"),"eof","false");await A,await e.publish(o,JSON.stringify({streamId:f,entryId:y}))}async function c(h,f){let p=await e.xadd(i(f),"*","data","","eof","true");await A,await e.publish(o,JSON.stringify({streamId:f,entryId:p}))}async function u(h,f,p){let I=[];return new ReadableStream({async start(y){let m="",w=p??0,R=[],L=x=>m!==""&&zce(m,x)>=0,j=()=>w>0?(w--,!0):!1,v=x=>{x.data.byteLength&&y.enqueue(new Uint8Array(x.data)),x.eof&&(y.close(),I.forEach(b=>{b()})),m=x.id};function C(x){L(x.id)||!x.eof&&j()||v(x)}function K(x){if(R){R.push(x);return}C(x)}n.on(`strm:${f}`,K),I.push(()=>{n.off(`strm:${f}`,K)});let O=await e.xrange(i(f),"-","+"),U=[];for(let[x,b]of O){let T=Buffer.from(b[1],"base64"),M=b[3]==="true";U.push({id:x,data:T,eof:M})}for(let x of[...U,...R??[]])C(x);R=null},cancel(){I.forEach(y=>{y()})}})}async function d(h){let f=await e.xrange(i(h),"-","+"),p=[],I=!1;for(let[,y]of f){if(y[3]==="true"){I=!0;continue}p.push(new Uint8Array(Buffer.from(y[1],"base64")))}return{chunks:p,done:I}}return{streams:{write:l,close:c,get:u,async list(h){let f=`${t}stream:`,p=[],I="0";do{let[y,m]=await e.scan(I,"MATCH",`${f}*`,"COUNT",200);I=y;for(let w of m)p.push(w.slice(f.length))}while(I!=="0");return p},async getChunks(h,f,p){let I=Math.min(Math.max(p?.limit??100,1),1e3),y=p?.cursor&&Number.parseInt(p.cursor,10)||0,{chunks:m,done:w}=await d(f),R=m.slice(y,y+I).map((v,C)=>({index:y+C,data:v})),L=y+R.length,j=L<m.length;return{data:R,cursor:j?String(L):null,hasMore:j,done:w}},async getInfo(h,f){let{chunks:p,done:I}=await d(f);return{tailIndex:p.length-1,done:I}}},async stop(){a.removeAllListeners("message");try{await a.quit()}catch{a.disconnect()}}}}function Vl(r,e,t=0){if(r===void 0||r==="")return e;let n=Number.parseInt(r,10);return Number.isNaN(n)?e:Math.max(t,n)}var Zce=3600*1e3;function Xce(r,e,t,n){let s={redis:r,keyPrefix:e,hookResolveRetries:t,hookResolveRetryMs:n};return{runs:XP(s),events:$P(s),hooks:t_(s),steps:e_(s)}}function gEe(r={redis:process.env.WORKFLOW_REDIS_URL||process.env.REDIS_URL||"redis://localhost:6379",jobPrefix:process.env.WORKFLOW_REDIS_JOB_PREFIX,queueConcurrency:Number.parseInt(process.env.WORKFLOW_REDIS_WORKER_CONCURRENCY||"10",10)||10,keyPrefix:process.env.WORKFLOW_REDIS_KEY_PREFIX||"workflow:"}){let e=typeof r.redis=="string"?new jQ.Redis(r.redis):new jQ.Redis(r.redis),t=r.keyPrefix||"workflow:",n=r.hookResolveRetries??Vl(process.env.WORKFLOW_HOOK_RESOLVE_RETRIES,3),s=r.hookResolveRetryMs??Vl(process.env.WORKFLOW_HOOK_RESOLVE_RETRY_MS,30),i=r.enableRunCancellationGc??process.env.WORKFLOW_ENABLE_RUN_CANCELLATION_GC==="true",o=r.maxRunAgeForCancellationMs??Vl(process.env.WORKFLOW_RUN_CANCELLATION_AGE_MS,r_,Zce),a=r.serialLockTtlMs??Vl(process.env.WORKFLOW_SERIAL_LOCK_TTL_MS,3e4,1),A=r.httpTimeoutMs??Vl(process.env.WORKFLOW_HTTP_TIMEOUT_MS,NQ,1e3),l=OP(e,{...r,httpTimeoutMs:A}),c=Xce(e,t,n,s),u=qP({redis:e,keyPrefix:t},{lockTtlMs:a}),d=n_({redis:e,keyPrefix:t},c.events,{enableRunCancellation:i,maxRunAgeMs:o}),{stop:h,...f}=s_({redis:e,keyPrefix:t}),p=PP({redis:e,keyPrefix:t});return{...c,...f,...l,eventsSubscriber:p,pruneOrphanState:d,serialGate:u,specVersion:5,processExitTriggersQueueRedelivery:!1,async start(){await l.start()},async close(){try{await l.stop()}catch{}try{await h()}catch{}try{await p.stop()}catch{}try{await e.quit()}catch{}},async resolveLatestDeploymentId(){return"redis"}}}export{gEe as createWorld};
|
|
9108
|
+
/*! Bundled license information:
|
|
9109
|
+
|
|
9110
|
+
undici/lib/web/fetch/body.js:
|
|
9111
|
+
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
9112
|
+
|
|
9113
|
+
undici/lib/web/websocket/frame.js:
|
|
9114
|
+
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
|
9115
|
+
*/
|