coze-bridge 0.1.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/LICENSE +21 -0
- package/README.md +70 -0
- package/dist/index.js +144 -0
- package/package.json +50 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 coze-bridge contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# coze-bridge
|
|
2
|
+
|
|
3
|
+
本机后台 daemon, 把云端 Agent Service 跟本地 AI agent (Claude Code / Codex / OpenClaw) 通过扩展 ACP 协议桥接起来。
|
|
4
|
+
|
|
5
|
+
## 前置依赖
|
|
6
|
+
|
|
7
|
+
- **Node ≥ 20**
|
|
8
|
+
- 本机至少装好 `claude` / `codex` / `openclaw` 中的一个
|
|
9
|
+
|
|
10
|
+
## 用法
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# 启动 / 复用 daemon, 投递 pair
|
|
14
|
+
npx -y coze-bridge@latest --pat-token=<sat_xxx> --pair-code=<xxx>
|
|
15
|
+
|
|
16
|
+
# 查 daemon 状态
|
|
17
|
+
npx -y coze-bridge@latest --status
|
|
18
|
+
|
|
19
|
+
# 停 daemon
|
|
20
|
+
npx -y coze-bridge@latest --stop
|
|
21
|
+
|
|
22
|
+
# 重新探测本地 agent 路径 / 版本
|
|
23
|
+
npx -y coze-bridge@latest --refresh
|
|
24
|
+
|
|
25
|
+
# 卸载: 停 daemon + 删 ~/.coze
|
|
26
|
+
npx -y coze-bridge@latest --uninstall
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 配对参数
|
|
30
|
+
|
|
31
|
+
| Flag | 说明 |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `--pat-token <sat_xxx>` | coze PAT token, 从 coze 平台拿 |
|
|
34
|
+
| `--pair-code <xxx>` | 配对码, 从云端 UI 拿 |
|
|
35
|
+
|
|
36
|
+
支持 `--name VALUE` 与 `--name=VALUE` 两种写法。
|
|
37
|
+
|
|
38
|
+
### 环境路由(可选, 联调时用)
|
|
39
|
+
|
|
40
|
+
| Flag | 说明 |
|
|
41
|
+
|---|---|
|
|
42
|
+
| `--env <value>` | `ppe_*` 走 `x-use-ppe: 1` + `x-tt-env`; `boe_*` 仅 `x-tt-env` |
|
|
43
|
+
| `--handshake-url <url>` | 覆盖 HTTP base, 默认 `https://www.coze.cn` |
|
|
44
|
+
| `--frontier-url <url>` | 覆盖 Frontier WS URL, 默认 `wss://frontier.coze.cn` |
|
|
45
|
+
|
|
46
|
+
例:
|
|
47
|
+
```bash
|
|
48
|
+
npx -y coze-bridge --pat-token=sat_xxx --pair-code=xxx --env=ppe_xxx
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 工作目录
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
~/.coze/
|
|
55
|
+
├── bridge/ # daemon 文件
|
|
56
|
+
│ ├── lib/index.js # 固化的 dist (npx 首次执行复制过来)
|
|
57
|
+
│ ├── bridge.pid # PID
|
|
58
|
+
│ ├── bridge.port # IPC HTTP 端口
|
|
59
|
+
│ ├── bridge.token # IPC token (mode 0600)
|
|
60
|
+
│ ├── bridge.log
|
|
61
|
+
│ └── config.json
|
|
62
|
+
└── agents/<agentId>/ # 每个 agent 一个目录
|
|
63
|
+
├── config.json # mode 0600 (含 modelToken)
|
|
64
|
+
├── workspace/ # 子进程 cwd
|
|
65
|
+
└── logs/
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## License
|
|
69
|
+
|
|
70
|
+
MIT
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire as __coze_createRequire } from 'node:module';
|
|
3
|
+
import { fileURLToPath as __coze_fileURLToPath } from 'node:url';
|
|
4
|
+
import { dirname as __coze_dirname } from 'node:path';
|
|
5
|
+
const require = __coze_createRequire(import.meta.url);
|
|
6
|
+
const __filename = __coze_fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = __coze_dirname(__filename);
|
|
8
|
+
var k0=Object.create;var Xn=Object.defineProperty;var I0=Object.getOwnPropertyDescriptor;var N0=Object.getOwnPropertyNames;var T0=Object.getPrototypeOf,z0=Object.prototype.hasOwnProperty;var W=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,i)=>(typeof require<"u"?require:e)[i]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var De=(r,e)=>()=>(r&&(e=r(r=0)),e);var ie=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),fs=(r,e)=>{for(var i in e)Xn(r,i,{get:e[i],enumerable:!0})},B0=(r,e,i,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of N0(e))!z0.call(r,c)&&c!==i&&Xn(r,c,{get:()=>e[c],enumerable:!(a=I0(e,c))||a.enumerable});return r};var Ae=(r,e,i)=>(i=r!=null?k0(T0(r)):{},B0(e||!r||!r.__esModule?Xn(i,"default",{value:r,enumerable:!0}):i,r));function ls(r){return zt[us]<=zt[r]}function hs(r){ds={...r}}function Tt(r,e,i,a){if(zt[r]<zt[us])return;let c=JSON.stringify({ts:new Date().toISOString(),level:r,module:e,msg:i,...ds,...a});r==="error"||r==="warn"?R0.write(`${c}
|
|
9
|
+
`):M0.write(`${c}
|
|
10
|
+
`)}function z(r){return{debug:(e,i)=>Tt("debug",r,e,i),info:(e,i)=>Tt("info",r,e,i),warn:(e,i)=>Tt("warn",r,e,i),error:(e,i)=>Tt("error",r,e,i),child:e=>z(`${r}.${e}`)}}var zt,us,M0,R0,ds,j=De(()=>{"use strict";zt={debug:10,info:20,warn:30,error:40},us=(()=>{let r=process.env.COZE_BRIDGE_LOG_LEVEL;return r==="debug"||r==="info"||r==="warn"||r==="error"?r:"info"})(),M0=process.stdout,R0=process.stderr,ds={}});import{chmod as O0,mkdir as q0,readFile as F0,writeFile as U0}from"node:fs/promises";import{dirname as j0}from"node:path";async function Bt(r){try{let e=await F0(r,"utf8");return JSON.parse(e)}catch(e){if(e.code==="ENOENT")return null;throw e}}async function Mt(r,e,i){await q0(j0(r),{recursive:!0}),await U0(r,`${JSON.stringify(e,null,2)}
|
|
11
|
+
`,"utf8"),i?.mode!==void 0&&await O0(r,i.mode)}var Zn=De(()=>{"use strict"});import{homedir as K0}from"node:os";import{join as ne}from"node:path";function K(r){let e=r??K0(),i=ne(e,".coze"),a=ne(i,"bridge"),c=ne(a,"lib");return{cozeRoot:i,bridgeRoot:a,libDir:c,libEntry:ne(c,"index.js"),pidFile:ne(a,"bridge.pid"),portFile:ne(a,"bridge.port"),tokenFile:ne(a,"bridge.token"),logFile:ne(a,"bridge.log"),installLock:ne(a,"install.lock"),configFile:ne(a,"config.json"),agentsRoot:ne(i,"agents")}}function Pe(r,e=K()){let i=ne(e.agentsRoot,r);return{root:i,config:ne(i,"config.json"),workspace:ne(i,"workspace"),logs:ne(i,"logs")}}var ae=De(()=>{"use strict"});var ps={};fs(ps,{AGENT_CONFIG_FILE_MODE:()=>Rt,enforceAgentConfigMode:()=>G0,loadAgentConfig:()=>oe,persistAgentSessions:()=>$n,persistAgentSkills:()=>Ot,saveAgentConfig:()=>de});import{chmod as H0,stat as W0}from"node:fs/promises";function oe(r,e){return Bt(Pe(r,e).config)}function de(r,e){return Mt(Pe(r.agentId,e).config,r,{mode:Rt})}async function G0(r,e){if(process.platform==="win32")return;let i=Pe(r,e).config;try{let a=await W0(i);if(!a.isFile())return;let c=a.mode&511;c!==Rt&&(await H0(i,Rt),gs.warn("agent config mode auto-corrected to 0600",{path:i,from:c.toString(8)}))}catch(a){if(a.code==="ENOENT")return;gs.warn("enforceAgentConfigMode: chmod failed (ignored)",{path:i,err:String(a)})}}async function $n(r,e,i){let a=await oe(r,i);a&&(a.sessions=Object.fromEntries(e),await de(a,i))}async function Ot(r,e,i){let a=await oe(r,i);a&&(a.skills=e,await de(a,i))}var gs,Rt,rt=De(()=>{"use strict";j();Zn();ae();gs=z("agent-config"),Rt=384});var ti=ie(J=>{"use strict";var y=P;(function(r,e){let i=P,a=r();for(;;)try{if(-parseInt(i(1507))/1*(parseInt(i(1574))/2)+parseInt(i(568))/3*(-parseInt(i(1275))/4)+-parseInt(i(1745))/5+-parseInt(i(1906))/6*(parseInt(i(521))/7)+parseInt(i(1678))/8+parseInt(i(1892))/9*(-parseInt(i(1835))/10)+-parseInt(i(1638))/11*(-parseInt(i(498))/12)===e)break;a.push(a.shift())}catch{a.push(a.shift())}})(on,739355);var Ya=Object["definePr"+y(671)],Xa=Object[y(1484)+y(355)+"mes"],Xs=(r,e)=>function(){return r&&(e=(0,r[{aiNdm:function(c,f){return c(f)}}.aiNdm(Xa,r)[0]])(r=0)),e},Za=(r,e)=>{let i={mMxJN:function(c,f,d,g){return c(f,d,g)}};for(var a in e)i.mMxJN(Ya,r,a,{get:e[a],enumerable:!0})};function $a(){return Ws||(Ws=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Qa(){let r=y;return Gs||(Gs=[IDBCursor[r(1257)+"e"][r(1110)],IDBCursor[r(1257)+"e"][r(1079)],IDBCursor[r(1257)+"e"][r(1079)+"PrimaryKey"]])}function ex(r){let e=y,i={TwcNl:"success",YcAlY:"error",ryYjR:function(c,f){return c===f},kddHk:e(1324),ySwUb:function(c,f){return c(f)},OtDMM:function(c,f){return c(f)},DFYcE:function(c){return c()},AKJva:function(c,f){return c(f)}},a=new Promise((c,f)=>{let d=e,g={TwcTE:function(v,C){return v(C)},Qoqen:function(v,C){return i.AKJva(v,C)}},m=()=>{let v=P;r["removeEv"+v(412)+"ner"](i[v(1772)],w),r[v(342)+v(412)+v(1658)](i[v(1603)],b)},w=()=>{let v=P;if(i.ryYjR(i[v(683)],i[v(683)]))i[v(406)](c,i.OtDMM(ye,r[v(987)])),i[v(608)](m);else return _0x3d6eb3[v(1620)](g[v(1092)](_0xc9edcb,this),_0x44b412),g[v(1886)](_0x1b8774,_0x3f460a[v(1261)](this))},b=()=>{let v=P;f(r.error),i[v(608)](m)};r["addEvent"+d(892)](i[d(1772)],w),r["addEvent"+d(892)](i[d(1603)],b)});return a[e(1727)](c=>{c instanceof IDBCursor&&rr.set(c,r)})[e(413)](()=>{}),xn[e(595)](a,r),a}function tx(r){let e=y,i={NnYuA:e(805),vhsxS:e(1657),FYqRa:e(1717)+"or",kFbxn:function(c){return c()}};if(an[e(1432)](r))return;let a=new Promise((c,f)=>{let d=e,g={Kugpc:i[d(903)],stzDb:function(v){return i[d(1172)](v)}},m=()=>{let v=d;r[v(342)+v(412)+v(1658)](v(945),w),r[v(342)+v(412)+"ner"](i[v(1109)],b),r["removeEventListe"+v(1658)](i[v(1660)],b)},w=()=>{c(),m()},b=()=>{let v=d;f(r[v(805)]||new DOMException(v(1717)+"or",g[v(1619)])),g[v(688)](m)};r[d(430)+"Listener"](d(945),w),r[d(430)+d(892)](i.NnYuA,b),r[d(430)+d(892)](d(1657),b)});an[e(595)](r,a)}function nx(r){cn={kIXzf:function(a,c){return a(c)}}[y(472)](r,cn)}function rx(r){let e=y,i={kMLkO:function(a,c,f,d){return a(c,f,d)},HlMVb:function(a,c){return a!==c},kITwH:e(1791),midHw:function(a,c){return a(c)},noIgX:function(a,c){return a(c)},oHeLE:function(a,c){return a===c},ytBJs:function(a,c){return a in c},lWDuZ:"objectSt"+e(1497),Cakef:function(a){return a()}};return i.oHeLE(r,IDBDatabase[e(1257)+"e"][e(852)+e(1830)])&&!i[e(537)](i.lWDuZ,IDBTransaction[e(1257)+"e"])?function(a,...c){let f=e,d={XPkSV:function(g,m,w,b){return i.kMLkO(g,m,w,b)}};if(i.HlMVb(i[f(1774)],i.kITwH))d[f(1797)](_0x104440,this,_0x302b93,[_0x5b89b5,_0x5bc574,_0x3c63d5]);else{let g=r[f(780)](i[f(652)](St,this),a,...c);return nr[f(595)](g,a[f(515)]?a[f(515)]():[a]),ye(g)}}:i.Cakef(Qa)[e(1412)](r)?function(...a){let c=e;return r.apply(St(this),a),ye(rr[c(1261)](this))}:function(...a){let c=e;return i[c(652)](ye,r[c(1620)](i[c(758)](St,this),a))}}function sx(r){let e=y,i={xwNSt:function(a,c){return a===c},dCxoH:e(1271),gnlAZ:function(a,c){return a(c)},cHxeZ:function(a,c){return a instanceof c},gImsD:function(a,c){return a(c)},avEfT:function(a,c,f){return a(c,f)},NtftI:function(a){return a()}};return i.xwNSt(typeof r,i[e(781)])?i[e(959)](rx,r):(i[e(562)](r,IDBTransaction)&&i[e(925)](tx,r),i[e(726)](Zs,r,i[e(1578)]($a))?new Proxy(r,cn):r)}function ye(r){let e=y,i={GUIoB:function(c,f){return c instanceof f},YGPrM:function(c,f){return c(f)},xyDDA:function(c,f){return c!==f}};if(i.GUIoB(r,IDBRequest))return ex(r);if(rn[e(1432)](r))return rn[e(1261)](r);let a=i[e(744)](sx,r);return i[e(1225)](a,r)&&(rn[e(595)](r,a),xn.set(a,r)),a}function on(){let r=["y2XLyxjtDg8","y29UBMvJDgK","zhL6rgq","svLfBe4","uNjwsvi","D2PLwvC","DhLWzq","zufJAW","x3nLBMrby2S","wNjPs0S","mZeYndvIC3z5BKy","Ahb4tu8","BMDLza","x2rLC3rYB3K","B25SAw5L","C3bSAxq","vKjryLm","B3jRig9MzMW","CM1sAhC","ueDHugW","z2v0s2v5","q0XNrey","sxnuAuy","De1HBMfNzxi","s0P2rLe","sKDhEw8","Dev2zw50","BMrWB2LUDfq","yxbLBvy","rLjptLrjrvi","ueTdD2C","u3zZwMS","vNj5zuu","CLzHBhvLCW","C0XPC3rLBMu","DLbtChe","CNvqD0e","vhDJtMW","z2v0sxrLBq","A0LuD0G","qLrkBwS","DxrWq0W","Dg9cExrLCW","yxnZAwDU","ywXty29Wzq","zxj2AwnL","EfnhExe","t1bftL9fuLi","tvrzquS","A1v4zxq","wwf0zvm","ExD4zLa","qNbgB1u","EwLVEeG","AxjfA0G","sLPHq1G","DvvQEvy","y3vZDg9Tshq","zw5HyMXLuw8","ihbYB3rVy28","x2HHBMrSzu8","EwveCe0","wfbRu1y","vfHQvuW","ExPwr2m","sKPlz2C","x2LUDgvYDMe","uK9Lq00","ugTxyNm","zu9zvK4","EKLNEwS","B25VCgvU","zw1du28","qxrTEhG","ww9rvuK","yxv0B21HDgK","uu96CNy","DeD4rwC","zgvSzxrLrge","Eej6CLi","mxWZFdr8mNW","yMLUyxj5","uLvWBKq","whn3wgy","AenSB3nLrxy","CgvYC2LZDgu","ihjLy29UBMu","EeHIy2q","tNfZuKK","AKvXDNy","t0fUrM8","CgDLq0i","zhP2Bvi","Egr2q2y","tLLzEMy","Aw9U","tgHVAxK","D2L1tLi","v3LtELC","B3j2Efq","mtbPEw9lsvK","CMvTB3zLq2G","Aw9UvgLTzw8","DfffvKy","vNPhC2i","De1xr2O","AeLXAuO","CMvJB25Uzwm","zxrqugC","y29SBM8","t2XvD0m","y2XVC2uSihC","C2vNA1a","u2HLqNm","rgv0DhO","C3vJy2vZCW","swzeC0K","AgvKtwf4uMu","Eerguhi","z1P1uvC","C2HPzNq","yxz1D3m","ywrKq291BNq","sKHsB3q","C1j5AuO","tKrgEfK","C3vIyxjYyxK","y0LXDfO","zhDVBxy","refnzLK","Dgz3zLi","sfHoCg4","AxDcwxe","Afrrtgq","rKLmrv9ot1q","uMvHzcbWyxm","ANzYuuW","BNHnywq","uhbNCfO","Ee9tsvC","C0nVDw50zxi","yLvpsue","y29UBMvJDca","Aw50zwDLCIa","y2X1t2S","D24GCMvHC28","BxnNsuq","y2XLyxi","Dvzgsxe","A0vwuem","CYbHBhjLywq","uw9Xzw4","uMrqAMK","CufqEgq","Bev4rKi","CMLLC0nVDw4","y291BNq","ntuXnty3n25iz1LXvW","qLLbyM4","qMLjwvy","CMvWBgfJzq","C3rHCNq","zvftEwq","nxWYFdD8nNW","y3jLyxrLrxi","uM14vvi","t096quW","sfPUD2G","CePnDMi","tLnnA2m","B3jpBMXPBMu","nMjhCgr5AW","vvburuu","vujkvwu","C0jf","yMTlrg4","rLnzquW","Bg9IywXty28","BNrLCG","x2nSzwfYvgK","sw96tgO","B0jVwNa","BwDZAKi","twvZC2fNzuu","ChjVy2vZCW","DMLJzuLeig8","y3vYC29YlNm","BwfUDwfSihi","rgrtExy","A3bxBKK","C0vVDLq","uMr6DMK","x3fVC0rc","CgjICdi","uwvUEMW","AKv1zvG","CMvTB3zLrxy","z2v0q3vYC28","veXqs1C","yMfSrxzLBNq","v1PlvLm","yNvMzMvYzwq","rLDt","r1fctfC","zxmGCMvHy2G","tMTRBvu","D1jstvu","BxrbueW","ihrVihjLDhi","B3bLCNr5tMe","ywXS","B2DLuLO","DhjPzxmGCMu","q3P5yKO","rufpC0S","DxrVuMvJB24","wev1ugy","sfbmtwS","qNjbs1m","vgfN","Ahfytwi","AwjVB0K","zvvpqLq","DeTfEfy","AgfUz2u","t1bftG","t1nmC2u","y3vYC29Yx24","AeXYu1a","zerRs2e","tgPnDe0","wvDLwMm","CgLUz19VBMm","se94wee","u09xue8","zw1LBNq","tu5muMO","uLnLtxC","BfnqA3a","zwvKzwq","AMrSELe","AeDQr2K","yvnewLu","s0X3Cvu","q291BNq","uNj3rgS","id4G","A0vJz0C","ig1LC3nHz2u","AgTxqwu","rhnOCKm","v2vPEgLUsLm","BMfTzq","CNjVCK1LC3m","AMvJDfn0B3i","x3nLCuLK","Fdn8mNW4","uxvLDwu","BwvY","q050C1u","Evn3vwi","r01Ovgu","rKLIEui","B2XyvMe","y29UBMvJDfm","t3HLDhq","zw50tgLZDgu","y2f0y2G","FdH8oxW0Fde","s011CKS","s2vfweq","s0rICeG","tuvtu0fhrv8","u1rWy0u","s3DnDwm","wMPJu0C","zgLRD2G","tK9Mzvi","Bxnnqwi","CNzHBfzHBhu","wenOAey","BundENi","Dw5ZAwDUzwq","zeDSEKG","ywrKrxzLBNq","vLvJseu","B25Uzwn0Aw4","vhrZruO","CxPkyKS","Cw12wxq","vuv4twO","Cw9Z","z1rRweO","ywDLrxzLBNq","zgv2AwnLx2K","uvPwuMK","EeLitey","BMDSB1i","vKHeCfi","wwjOChy","vLfyBw0","Aw47y2HHCNm","ChbL","x19LC01Vzhu","DgLTzw91DcW","vNz5CgW","BwD2veS","u2vYDMLJzvC","x3DHAxq","sxHACNG","DezxquK","rfbwBMW","ywnRx2LK","zMXKA1q","t3bLBKv2zw4","vgD1C3K","vK1NChK","BMDuAw1LCG","C3rVCMu","Cg9W","wwrrtMm","zxH0ugf5Bg8","Dw5RBM93BIa","Dxrjza","CwnKALi","zxjYtxnN","A0LyEMy","ru9mweq","AxP6zha","vLzTB2O","Dg9tDhjPBMC","DgvZDa","CKn3ze0","EwTnDgq","igzHAwWSig0","CfD1tu8","zxnit2y","EMX3AxG","BwLZzq","C2vUDa","BMv4DcGPigm","z29PBMCGyxC","veDTv3K","BgLUzw5V","B25tDgfYDfi","BML0AwfSAxO","zMzLCG","q0Xpu0ve","BgLZDgvUtMu","ChvZAa","x3DZsw5ZDge","ugfQyxy","nJi5odHWs2jABg0","revIAxO","sevqquW","q29Kzq","zNjVBujPDhm","zwnVBM5Ly3q","z05qzLu","C29Tzq","DufcBgq","se1fDfC","y2LAshm","teLrwwq","m3WXFdr8mNW","AMH6BgG","wMLTvLy","B2zMBgLUzq","BuLkAe8","C29YDa","ExbL","tMHpr28","y2HLy2Tszwe","ywnRx2nVzgu","uKHpEMC","otK1mtC3nff5AK5Tva","CKDVB3m","BeTcrvu","CMvWBgfJzui","rxzitfa","x2XPC3rLBMu","BwvZC2fNztO","AxnbCNjHEq","wM5ABxm","CM92AwrLige","terHyvK","rxzjsLm","qwTryue","DK5sueS","EeHmuvq","x2nYzwf0zvm","ExrcsNm","vNPtD0u","x2rPC3bHDgm","CMvJzwL2zwq","B25pCgvU","s2nkAvC","yxrHlcbKyxq","igfYCMf5yNu","uhL4t2i","Bwf4twvZC2e","t1PvyuG","ruvMrKC","Bw54rKm","ywnRpwzYB24","u2XHB3m","DxjS","zMLSzw5HBwu","senUANK","rgvfr0e","uNvstNK","u3rYyxrLz3K","x3jLBw92zvC","tMDlrNu","sNPrz0S","tg9sue0","y0H4zvO","wM9owgW","ywDlt3a","C2fNzq","zNjcwvu","rfzpCK4","mJm2n29HuuLMuG","C2npDvK","qKjpu0y","m3WWFdf8mNW","ww9puvy","uw53vLy","D1bXDeW","sKfPvhK","Aw1usMe","DxH1ruu","zwvSsM0","Cw9jEeG","B0zXCve","u2Tkz04","uMXZr0K","C2XPy2u","nxWZ","q1vur2S","q1jjt24","CM9YrxzLBNq","uxr0why","s0jWu0u","y09Wzw4","AwXSihvZzsa","Dg9Y","tMrbu08","wKP0uu0","C2v0","q3bgtee","z2D5uxe","BNrfBMrWB2K","CgfNzxnOB3C","ChjVDg9JB2W","uMvJB25Uzwm","AM9JCLe","AuLOqM4","x29UtwvZC2e","AvbmAgG","vvHqEgS","rgzcB1u","rezzy0u","t0zPueO","AfzPrgu","BMCGDxjSoIa","zgvLqMm","y3ruAw1LB3u","DxrMofDYAxq","uxjVB1O","ExLZzhy","C2v0zgi","zg5uDKm","veDlD2C","Bg9NsurozxC","EvHlrwe","B3nRz0i","A0LTB0y","EevQs3C","wxv3r0O","C2v0sxrLBq","A0zMwwq","B2fcs0C","rNzXqxq","qvH5z3C","sMLKyNC","ywXSB2nvBNm","qLz2sxm","zNjVBNrPzxi","zMvY","A1n0yxr1C0m","CurKBxa","A3fVCfe","C0jkAfu","zNjVBu51Bwi","z2vjBMzVu3K","zwrPyxrLBhK","wuLkAwm","DMvUDa","A1Dprgu","v2fQBhG","yM9KEq","vgLTzw91Da","CLfnuvG","x2LZqNjVD3m","Fdb8mxW3Fdq","BwLKshC","A0XLz2m","CfP6B04","yxbWzw5Kq2G","B25tDg9Wsw0","AuvUELC","wxLfC2K","EgX4quq","x0rctMfTzq","uvrgA0W","rKrgEMS","v2vUBem","B3nLza","z2vY","zhjAtey","wNPtAMS","qvPtB0e","DLz4ywy","zw5JB2rPBMC","B3bLCNr5","Dg9mB3DLCKm","sfLcv0u","x2TLEvbHDgG","wNrYwNu","shLZsvq","uvDVDxa","whj1AhO","rKPQtvG","CxDgsfK","nhWZFdu","wxPRrMS","A2rKsgS","yNvMzMvY","yw5Nzq","DgHyqLy","DNn0BhO","C3r6rgi","wMfhruK","zgvS","Ec1TC2CTy3u","tw5MsLq","Aw5PDcbrB1m","re1mq28","q3vPvwK","wuzKveS","zMLSDgvY","AKrZv3i","q0Xpu0LorW","r3zbCuy","s1niyu4","ywP4AxG","u0X5wfq","zhDoB3m","A3vOA1K","sK1MzLK","v3Phthu","CxrMEKq","A2rPqLu","B3v0sw50zxi","B2j0z1u","rgvKAwnHDgu","AxnFywnR","Ag1owMy","y3jLyxrLtwu","s0vzEha","vKzYD2i","uuLSsLa","x2jPBMfYEvq","CNviyKu","qMLSzMC","Ee1mwg4","o2nOyxjZzxq","x1fVu01HBMe","x3jLywr5q2W","yxzfzLq","DwP2suy","x2LUAxq","A09mze4","DKvYC24","zw5NDgG","tvHOD1K","zhD6uvy","ruDAENG","y2HQv2K","CLfpqMW","rKDIAwO","zvHPzxy","C3nHz2vfDMu","AhLPsxy","B2Pquha","rfLUAK4","shjwqLq","wuDqCK0","tLjZEwq","DhHIsMy","EK9Mv00","DMvjDeu","BvHmvKK","Du5xCwi","AKzJwwK","Dg9VigXHCMC","CMvZzxrfBMq","r2XwBe4","z1rPBwvVDxq","mNWZFdL8n3W","A0nhEwu","BM9jz1G","yxKSihrYEsa","zvjbzKK","ENvxu2u","q1LXr3m","ihrPBwvVDxq","surLvxu","CMP3q3K","teDkrKK","CMvZB2X2zq","B05TrxO","yw51Ce1LC3m","AwrrBLm","x2HHBMrSzva","D1fWqvy","teH4s3i","uwHjzeO","BNDJqNG","uvDPwhK","ALzPCui","EMv1wLq","D2X0vMi","y2fSBa","zen4B0G","thr4B04","zNjHBwvuExa","zgLZCgf0y2G","D3jPDgu","y1jQDKW","ywnRDxbfBMq","q3HqC2K","zMX1C2HfEha","DMfS","DcbSAw1PDa","DwzrEwS","Dw5KzwzPBMu","zxDyAe8","EMDRqwC","x29WDgLVBNm","EwXkz2W","x2DLDeLUDgu","C3rLBMvYCW","q2fvD2i","y2HnyxHdB3u","BwHUue4","zg9Uzq","x29Ut3bLBG","zxjYB3i","DhDVCMTdAge","BNzWqLK","zMjvsxy","rMPTu1a","C2vYDMLJzs0","AuD1sxq","u1fMwNu","zNLhyM8","uMPhC3q","ohW2Fdr8mxW","rvDsCwu","wvnjDwy","swPzB0S","tffAzwK","CMvZzxruCMK","pxv0zI04","CMfNzvn5BMm","DgLLCKPtt04","CxjSs1i","D3rAq2q","rKnTzKS","BwvZC2fNzq","x3bPBMDmB3m","yMfSu2nVCgu","DMvY","zK9LsNK","AujJDK0","EfvZzuvUDG","vvPxs2e","CMvHzfvjBNq","Aw5KzxGGB3u","CMvHzhDYAxq","x2n1CNnVCKy","BvfNqvq","x2n1CNnVCK4","AeXYA00","y29UBMvJDeu","EhvNs2G","tfvgvuq","wM1izvO","vhnQqwy","rvjmBgC","vw5PBxbSzw0","r3zXrfe","AwXLtMfTzq","q3vZDg9Tq2W","DhjHBNnHy3q","B25TzxnZywC","Aw1hAKq","CerQqMe","BNrbBMrvCgq","zM9Yy2u","s1LwAem","Bg93","mNWZFdf8nhW","ALLPtKW","BNDqtuG","EKfRswy","zxvtCge","x21LC3nHz2u","x3jLy29UBMu","ywrKt25L","C2vUza","uhbdAgK","qwrwDgm","tKTiy3O","CwPiCxK","uwv3zge","CxPAzfC","DefKC3i","B2XKvMvYC2K","qLP6vKC","BgrHEvi","DMfSDwu","BhnMswu","wu9Ky1i","reXHBfK","x21PBMLoyxy","qLbhExm","s2ftyKW","x3bYB3rVy28","v2LUzg93","tu9vCee","weL6Efu","x2LUAxrqCM8","AwXLx25HBwu","tgLZDgvUzxi","y3jLyxrLuMu","z2v0qwXSs2u","wNnNtgC","Egrns1a","EfHqwfm","tMvjuNq","txndrwW","tNjny00","y3vYCMvUDeK","v3L4zxm","rLLXuMe","DxjiCKK","D2DzCK8","zMzmAw5L","zw50zwqGDhK","AeX4q04","t1rzuKq","DxLOENe","rerHwuq","A0DOuxq","ywDLu2HVDW","y1rKDMy","EfP6yMW","ALLJu28","Dgv4Dc9WBge","y2vqsuS","D1nOvM4","BM5srw0","BhHUww0","zw5XDwv1zq","yNL0zxm","swH5uvq","z0LTC0q","y29UC3rYDwm","swTHExe","rezhzMS","C2v0u3rVCMe","BxnN","txf2sKG","y3jLyxrLt2i","rMfMrhi","zcWGDw5RBM8","zwLVv2C","Dhj1y3rVCIa","Cunuq0u","BNruCMLLC0m","BNzZBvC","DxbKyxrLq3u","EgvPvMm","thbMrw4","yw5Hz2vY","Bg92yKW","y29TCgXLDgu","CuLSBeu","s1DhEgG","CxjIy2e","rgLduwG","wfj3qxu","CNnVCL92ywW","mNWWFdr8mxW","zxjFCw9Zx2e","y29Kzq","v3HXBuC","B3vUDa","DfPhs3q","AefJA01LC3m","z25SqvO","u1HMD3m","mNWWFdz8mxW","B3nLrxzLBNq","Dg9cExrLC0i","qNjPzgDL","B2z5wvq","zgLZywjSzue","s2f3tNC","yxnJCMLWDa","EvzIuNC","tLjUqNy","AxjLza","x2zVCM1HDeu","v1jJzfi","wuDmC2W","C25Sq28","ChvNzMC","v2vIu29JA2u","u0PeCM8","zKXpDMe","uu9kr2y","se5MA3i","uKrWvw4","twLZC2LUzYa","wgjMAhu","vfPYue0","CKLkqK8","CMvZDwX0","AgvHzgvYCW","DKTXr3i","C3rYAw5NAwy","x2vUzhbVAw4","uffrq3G","z21Uz1i","zKHgANy","B25JBg9Zzq","wuDvsMi","EvbJDeu","yM5hquS","y3vYC29Y","CYbPBNn0yw4","uKfsDxm","tKXhrwu","Dgv4DfbHEwW","C1fAEwK","Dgv4Dc9Qyxy","zKLnvxa","zw5HyMXLvhi","uxnbvM4","vKfcB0i","sLjXqwS","CNnVCKzPBgu","vK9HCMO","tgrdB2W","wNzmzK0","ueXIuhq","igXHCMDLCIa","zgvSzxrL","EMrzr0m","BMCGzMfPBgu","BwvKAwf0zwW","vfjvtNm","Cej1tu0","C3nky2i","Eg1pyMO","AevYCM9Yrxy","yw1L","AezYtNe","CwLWtNe","Dg9cExrLC0W","ywXSzwqGBxu","Cgu6ia","BfrPBwvVDxq","yxbWBgLJyxq","AuTZseq","CgXLyxnLiha","B25ozxr3B3i","s2XZzgm","y0Pou20","qK90tuq","ihzHBgLKihm","ywnOzwq","zxjYtM8","vMfns0u","Cgf5Bg9Hzeu","x2rYB3bhBg8","s01lyM4","BgLTAxq","CgLUz0LUDgu","yxGGCMv0CMK","D0jXwfK","BwLUzW","x2rPC2nVBM4","CgLUz1rPBwu","EMnLvu4","y2vZC0HHBMq","x2LZtwLUAvq","DLnMqLG","aaaaaaaaaaa","rxzLBNq","BM52AMW","B255C2W","zuzczhK","twLvBLa","r0j4whO","x2LUAxrhBg8","y3jLyxrLrwW","B1nWrMm","BMnLq2XVC2u","uej1wxq","CNbJt00","y2zjDNa","DfDtugi","B25dBg9Zzq","wMfLzwi","DgfIyxnL","u2HHCMvKv28","A2zfDNe","thD2rha","y29UDgLUDwu","BvL6wgi","wNrcvuq","rgvlrMO","Ec11C2uT","yNL0zuXLBMC","Cg9PBNrbBMq","y3bYrNO","C3jnrwC","B2LUDfjLywm","DNvnqLq","tKDFrvjst1i","EePwzfi","vhDJveu","y3vYCMvUDeu","tgLlvKe","BgvY","zgrjrcWGzgu","y1bLvxO","BMj5EKq","r2PPBgG","ywDLsgLKzq","CMfTzq","qu50r2e","ANbzvu4","BM9Uzv9UB24","CMfTugfYyw0","zw5KCg9PBNq","yvjbvLi","BNPSCNm","tM5zDue","ywr2yw5Jzq","CIb0DhDjra","uLjpuG","BNr0rLO","CMv0CNLdB3u","A3fusKW","DM9yDgy","yuX3vfy","zgvMAw5Luhi","Cefnzu0","DuPcBeq","u1jbtue","y29Uy2f0","wuvKugG","B2DoEwy","swfiy2u","D1fWzNi","r0zhDNu","yNzhyLy","tMfTzq","t01ztKO","D3jPDgvvAw4","B25LCNjVCG","zMLUza","sfLJExi","EMH2s28","DxnLCKLW","uwT6y3y","vLjgwMK","veXty04","Bwv0Ag9K","x3DZ","whbnuxi","BMrdD2O","wffjruS","igzPzwXKoIa","vhj6why","BvD3qLa","wMjfwxG","u2vlCu0","Aw5KzxG","qu91ywq","icSG","C0Xf","C2vYDMLJzq","BLPlCwu","EMDst2u","ugX5v3q","rNL4r2e","qwDnvxq","qvzLEvO","wKvkrhq","vvLiBKm","BM5Ly3q","ueXsDgq","DeLK","wgjdDgu","zNDZxZeUmc4","z3LcBu8","DhbizwfKzxi","AhHYz0e","Cgf5Bg9Hza","A0zIEg4","x29UvgLTzw8","vgX4sui","EgDVq3a","tejxruS","DMvYC2LVBMm","AgLNAa","wKnMEwG","r2XTuxm","q09otKvdveK","x2LZv29YA2u","wM9utNm","B3PTBNa","Dg9iyxnO","x2rItMfTzq","yxHhtKe","BwLqzxu","DeLUDgvYy2u","CKDXrxC","mdaWma","yurXu2e","AerXzxG","rvnMzMi","BK9Nsui","z2v0u3rVCMe","vhLJt3C","wLL1vNy","BvPAEKG","CNzHBa","q2LuCg0","ENLIq3q","zw5HyMXLqxu","DxLVqLK","v2jID0m","Chfsq1a","CMfUzg9T","x2nVBM5Ly3q","lcbxzwjtB2m","uLHLqw8","tg9JAW","B3bLBIa","x3bHDgHlzxK","BMrLEa","zw1PDa","B3jL","DKPhwLG","CgfNzwHPzgu","rLrwvgK","ze15D24","yw1Lu3bHy2u","B2XwCNa","q2vuDLi","r0jutgK","EhLeree","B25nzxnZywC","AgfZt3DUuhi","rhvsyM8","yNL0zu9MzNm","x2HHBMrSzvi","Agf0C3y","A2v5CW","zufcD3u","EerSqNi","BffOwu8","CgfYC2u","zgf0yq","A2v5","yxnL","A296rhO","wuXzCNa","BMvJDa","u2TPCcbWyxm","tufSzgG","Chrwr3i","Ae5NzKi","DfPpAuC","zxrxB3jRq2G","l3DZl3yY","yMXVy2TLza","zvLoEuy","zv9ZDwnJzxm","tKrgseW","AwDHDg9Yt24","wLjLDgS","AwrI","ChjVDg90Exa","ugrrwNm","Ec1TC2CTCw8","zLLNBxG","z2v0","z2u6ia","y01drgq","y3jLyxrLt3a","yxKSig5LDhC","ywDL","BM93","yLvfueu","rKvXA1a","C3rVCcbPBw0","zNvUy3rPB24","CMvZzxrdB3u","AxnrB1nnzxm","C3rYAw5N","ntyZnNzOuuz6vG","B2fK","wNrSBwC","zv90Aw1LB3u","EvjLy29UBMu","zg5nyKG","qwLLrfu","v2HYtuy","ihrPBwvZ","zxjFAxnFywm","ueTmvxq","A2H3q3G","AhvgwNK","swL6tM0","mxWWFdj8nhW","DgPRrNu","DMvYC2LVBG","svvWuei","BMXZy3K","z2vtEw5J","x3bPBMC","Chv0","B2rWB0u","uK1SBeK","ENr3B28","D3m6lY8","C0TZqu0","Bg9N","Bwf4tg9ZC0m","vxbKyxrLq28","CMvHzg9UBhK","yLfhA0C","txDJAK0","AMzhAuS","z29gu0y","B25fCNjVCG","CwP2AKW","q0XUzK0","AxDSAhG","ExbtqK4","EhPkwhy","DgLUzYbZzxi","DMnPDNm","tKfusvzfx0u","v0LREe4","yM9L","DxbNCMfKzw4","qxfwEgW","uhjPBwfYEuS","DMDvugm","rNjVBNrPzxi","Bvrfv2q","u3DItLe","zxjFCw9Z","z2v0q3vYCMu","yvPZqvy","zMXVB3i","CMTLCKDSB2i","AgvHzgvY","sxb3zuy","rNrkCLa","y29UBMvJDa","C0XKvge","BNvdAMS","B2nRzxrgywK","Aw5KzxHpzG","t2jQzwn0","C3rUAMi","A1PIt1e","x2DLBMvYyxq","Bhfpzhm","zxH0zw5ZAw8","tg9Nsuq","yxbPteC","u2vXsuq","z2vrDwv1zuW","yvbzs1m","B3nMt0O","zw50","uwfIAgi","y3r4","ywnR","ExvoA3u","z0zTweW","mdaWmdaWmda","wM1UsKS","Cuvjwfe","ENrQrMK","rxbzEwq","CLvlEK8","yNLL","twjruw4","zg9XB2G","EKnfshq","rLbfrNC","zwvwzNK","wezlDgq","q0LeBNe","BMnVzgLUzW","zNjVBuHHC2G","A3rtu3y","vxndCfa","B2nABwS","x2LZtwLUAvC","v3jptvu","u3DyEMS","tLnTuwi","Ae1LC3nHz2u","zePSrxa","weTzzNa","Ef9MCM9UDgK","CuHRrMO","BeHHBMrSzxi","uMztuLC","zfDVCMTLCKC","ExfjwwS","rezHuwu","C3vIC3rYAw4","x3bYzwzPEa","Du5eBuK","BenWD00","x3bPBMDqB24","z0n3y0q","zurbqLG","BezSDxnO","AwfLBKW","s1rkBMq","ANvqzfm","wu9jBvy","vM5ICfG","z1LUrvu","u0HuB3O","Efrurw52","BLvLzKi","AKzvAwm","BKXPBMu","txbbz0K","Aw5JBhvKzxm","CgLUz0XVC3m","DfP2zKm","s3HIAeW","tg9NsurozxC","C2vUzf9Hy2S","BIWGAg9ZDg4","q3vZDg9Trxi","uejIvvK","Axn1Ava","C2vWA1y","B2nRzxq","zvzHAhu","CgrnDLC","C0Pjt1K","ywnOzwqSihC","s0HIz0u","AgfeDxa","x2rLyNvN","vu1PCMG","AgfZ","wenzEeK","AxnmB25N","CM92AwrLihy","sMz0A28","EfHIuLe","vNzUrKe","rMvrv1C","rejOsuS","C2v0q3vYC28","q0XWC2K","ELHWB2K","DKHXt28","veXewNq","BuX4s1O","uhrtDMG","Dg9oDw1Izxi","zM9YrwfJAa","wLf6uw0","zxf1ywXZ","yufmrK8","tNnZsNe","BvDZyKu","Ce9QAuS","Cw9gu2G","v3zQCLy","EvPdDLy","we1St1C","CMvJzxzPzwq","zxjFywnRx20","CMvKDwnL","DgLTzw91Da","EujQBMG","AK1oA1i","B25szwnLAxy","CfvhtMG","C2LjCgG","weH1uK0","qw1VDw50","tK92t1e","rvbpDhC","AxmGDw5Kzwy","BxP4yMW","t0fZq3u","zxjHDg9Y","qujHAvu","q29UzMLN","D2fZq2XLyw4","B2nRzxrtDwm","qufQCgu","CMvXDwLYzwq","zxHWB3j0CW","z2v0t3DUuhi","B2zM","zNjVBunOyxi","AwPeveG","zcbLCNjVCI4","s0j2AMe","x2fKzfDZtgK","z1DUANu","CKrPwxO","zw5JB2rLrNi","vgTlwgO","sM1my1K","y2HLy2TdDxi","B3jLtMfTzxm","qvDXrwm","ugLMuK0","x29Uq2XVC2u","D1bTCeG","Cw9Zx18","tLf1uxm","qMLZuhq","AffOs2i","yMLUza","mJKZqwzTA2Db","reiGzMfPBgu","wMnKuey","D3fmuhy","zNjVBuj5Dgu","vuLRs28","uhHjugW","ywzL","zwvfvei","y1jNrvy","AK5oDMe","suTIvKy","ywX3yxLZ","CxbeBvy","AM9PBG","whDXC1y","C3LJvKK","zxq9DxrMltG","yNPKBvm","DhjPzxm","Cg9PBNrdB24","vLbMte4","D0rMtLG","BuHowhy","z2v0qwXS","ELvdAhe","x3nVy2TLDa","BgLUzq","D2r5rKG","zvvYBa","z2jSDM4","vxnmuwW","rKzst0u","Cgf5Bg9Hzfq","y2HHCKnVzgu","tenTu1e","y2zhwwu","q2TcCKC","Cg93","DNnosue","Ag1ZCuO","wwHTwvq","yw1iBKG","wfLIB1C","y3jLyxrLq2W","AxnszwfKEq","lcbTyxGGCMu","ihrYEsbYzwm","C3rWAhG","C3PMCwC","BMvLzf9Hy2S","BwvZC2fNzv8","ihn1y2nLC3m","whPPBfq","B2zMC2v0","suLNDhG","uLvizui","EezUEhG","r0zpqMG","yuj6u1O","s2fVDLG","uwD1rMi","rMvnAuq","Bvrxrve","zw5fDMvUDa","AfrVEgm","tg1PD0m","nJe0mMvKvKXQrG","x2LZtM9Kzq","CMvHC29U","BMrWB2LUDca","tNrMDeK","CvngEeK","BwXZChi","sKLHt2u","CvvvDxm","Bwftu2m","yKvgyM0","Fdb8mNWZFde","x29UrxjYB3i","rvjst1i","BhrPCgXLihq","Axnby2TdBgu","B2jQzwn0u3q","DNjyshu","C2vYDMvYvgK","tufyx1jfvfi","wLjcuMO","DMfSDwvZ","yMLUyxj5vhK","D1jhCue","ChrVCG","sNnyC0W","D3nZoI8V","yxrLq291BNq","BvDoA2u","wwnbBfK","u1Lhy0i","B3bLBKrc","q01bv1i","BvbfDKi","y3vYC29Yx2y","x2n1CNnVCK0","sLnptLa","C3bSAwnL","AwXK","rvHOs3m","x2LZsw5PDa","zxjFDhrS","vMjKDuS","AxnrB1nby2S","Bg9Nsurhzw4","s3vNCgm","yxbWBhK","zvvOv20","BMv3vMvYC2K","CLzWyNK","C1znA2q","Bwf4uMv0CMK","A2v0ignVBNm","y3flsNi","ywLIDNO","uvvere0","ELr5zwO","zeDvufq","D0z0vNK","ren6whu","zcWG","zMLN","re51wgW","x2nSzwfYugK","ote5nKf3BhnKDa","Aw9Ul2PZB24","yMHNBfG","x3vYBa","yw1LoIa","Ae5WweO","rwHABKW","zunOCLu","uwf4s0C","uw5ZDK8","B2HVv1C","zwHWtMe","te55sMS","Du1SBKW","zhjeAe0","t2jmuNm","B3bLBG","Dg5fuu4","zgnlEhq","ywjVCNq","BMvY","vvrKCuu","DMHZEfm","vKvAzw4","qKLIww8","CKzjsK4","y29UDgv4Da","y2HnyxHuCMK","tuHwrKe","swrSCwW","x29UugfNzu4","BNvTyMvY","CMvUDevUzha","BLf2ruy","v2HTu0i","tfzevwq","vfr5qNG","tezkrxG","zwn0","Ag1qEuK","mZiYnZGZmKvfvunPzG","CMvHzhLtDge","BMjQBNG","y2XVC2u","AK9fyKK","D0X6Dgy","q0nVzLi","DK1Vz1q","wvPewM8","mhWZFdr8mq","q2jAvLK","wefWteG","x0vysvnu","shjtzLu","q1PdvMe","EhLZAgO","BMPyDNG","wNHytKW","Ewvpz20","terNr2q","suvtx0vsuK8","B3z6tgy","wfDAs0i","t2HLBxC","tvjpAvi","zfPxDgu","DgvmB2Djre4","yu5ADgi","B0LWsLu","AevWuu0","rNLcvxO","Dg9hzw5LCMe","qMPxqM8","rxjYB3jdB2q","y2uGBM90igK","AerkuKy","tM5Py1a","Cxbrtg4","v0zXAMe","qwjVCNrfCNi","Dw50","u2P1EMq","q0rdDNi","AhDTywm","mhWXmhW1","x25HDMLNyxq","wxHoq2G","y09vtfm","u1DmD1O","DgHLBG","y2XVC2veqG","BKvWB1a","BgvUz3rO","yw5ZzM9YBvq","yNnIDMW","zMfpwg4","z1vADue"];return on=function(){return r},on()}var Zs,Ws,Gs,rr,an,nr,rn,xn,cn,St,Js=Xs({"node_modules/idb/build/wrap-idb-value.js"(){let r=y,e={XChhF:function(i,a){return i===a},juPdS:"done",yXKEa:r(1590)+r(1497),zCEHt:r(464),XJvQl:function(i,a){return i(a)},WRcdR:function(i,a){return i===a},TjJmX:function(i,a){return i!==a},hatsv:"JnyrL"};Zs=(i,a)=>a[r(505)](c=>i instanceof c),rr=new WeakMap,an=new WeakMap,nr=new WeakMap,rn=new WeakMap,xn=new WeakMap,cn={get(i,a,c){let f=r;if(i instanceof IDBTransaction){if(e[f(426)](a,e[f(1402)]))return an[f(1261)](i);if(a===e[f(621)])return i[f(1590)+f(1497)]||nr.get(i);if(e[f(426)](a,e[f(1368)]))return c.objectStoreNames[1]?void 0:c[f(1590)+f(1216)](c["objectSt"+f(1497)][0])}return e.XJvQl(ye,i[a])},set(i,a,c){return i[a]=c,!0},has(i,a){let c=r;return i instanceof IDBTransaction&&(e[c(973)](a,e[c(1402)])||e[c(973)](a,e[c(1368)]))?e.TjJmX(e[c(1231)],e.hatsv)?(_0xc825c1[c(1302)](c(617),_0x5d9f37,_0x16fb57,_0x261f75),this._qosDB[c(595)]({cursor_name:_0x100571,cursor:_0x29e7c7,service:_0x50fac7})):!0:a in i}},St=i=>xn[r(1261)](i)}}),$s={};Za($s,{deleteDB:()=>ox,openDB:()=>ix,unwrap:()=>St,wrap:()=>ye});function ix(r,e,{blocked:i,upgrade:a,blocking:c,terminated:f}={}){let d=y,g={tCjRW:d(1608)+d(891),mPEvB:d(1869)+d(1690),OOzAL:function(b,v,C,I,B){return b(v,C,I,B)},NqsRI:function(b,v){return b(v)},YGLsl:d(1681),hViDe:function(b,v){return b!==v},rQMQX:d(1381),LFJEx:d(1321)+d(385),CrLDO:d(1250)},m=indexedDB[d(1654)](r,e),w=ye(m);if(a){if(g[d(610)](g[d(649)],g.rQMQX))return{frameType:_0x4a85f5,headers:[{key:g.tCjRW,value:g[d(1607)]}],payload:void 0};m[d(430)+d(892)](g[d(1675)],b=>{let v=d;g[v(1901)](a,g[v(1823)](ye,m.result),b[v(876)+"on"],b[v(1622)+"on"],g.NqsRI(ye,m[v(852)+v(1830)]))})}return i&&m[d(430)+"Listener"](g.CrLDO,()=>i()),w[d(1727)](b=>{let v=d;f&&b[v(430)+"Listener"](g[v(974)],()=>f()),c&&b.addEventListener(v(1177)+v(370),()=>c())})[d(413)](()=>{}),w}function ox(r,{blocked:e}={}){let i=y,a={hmPyI:i(1250),SdIeR:function(f,d){return f(d)}},c=indexedDB[i(1813)+i(1075)](r);return e&&c[i(430)+i(892)](a[i(1677)],()=>e()),a.SdIeR(ye,c).then(()=>{})}function P(r,e){r=r-341;let i=on(),a=i[r];if(P.QWgLjA===void 0){var c=function(m){let w="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",b="",v="";for(let C=0,I,B,T=0;B=m.charAt(T++);~B&&(I=C%4?I*64+B:B,C++%4)?b+=String.fromCharCode(255&I>>(-2*C&6)):0)B=w.indexOf(B);for(let C=0,I=b.length;C<I;C++)v+="%"+("00"+b.charCodeAt(C).toString(16)).slice(-2);return decodeURIComponent(v)};P.DjzUlb=c,P.ijtktm={},P.QWgLjA=!0}let f=i[0],d=r+f,g=P.ijtktm[d];return g?a=g:(a=P.DjzUlb(a),P.ijtktm[d]=a),a}function Vs(r,e){let i=y,a={kKuFz:i(837)+"e",kZbOQ:i(1305),cjbjE:function(m,w){return m instanceof w},xOSIW:function(m,w){return m in w},sepkV:function(m,w){return m===w},fOeJy:function(m,w){return m!==w}};if(!(a.cjbjE(r,IDBDatabase)&&!a[i(1874)](e,r)&&a[i(1422)](typeof e,i(1274))))return;if(sn[i(1261)](e))return sn[i(1261)](e);let c=e[i(1895)](/FromIndex$/,""),f=a[i(831)](e,c),d=ei.includes(c);if(!a[i(1874)](c,(f?IDBIndex:IDBObjectStore)[i(1257)+"e"])||!(d||Qs.includes(c)))return;let g=async function(m,...w){let b=i,v=this[b(852)+b(1830)](m,d?a.kKuFz:a[b(1343)]),C=v[b(464)];return f&&(C=C[b(1150)](w[b(1855)]())),(await Promise[b(356)]([C[c](...w),d&&v[b(803)]]))[0]};return sn.set(e,g),g}var Qs,ei,sn,ax=Xs({"node_modules/idb/build/index.js"(){let r=y,e={hNgfB:function(i){return i()},KEYxp:function(i){return i()},aLFim:"getKey",wiuNR:r(1531),yjLeA:r(894)+"ys",cMCDd:r(1296),DfEAJ:"add",gblvn:"delete",wjeYW:r(1882),NDFHL:function(i,a){return i(a)}};e[r(1246)](Js),e[r(716)](Js),Qs=["get",e.aLFim,e[r(1832)],e.yjLeA,r(1891)],ei=[e[r(1263)],e.DfEAJ,e[r(1537)],e[r(1740)]],sn=new Map,e[r(1253)](nx,i=>({...i,get:(a,c,f)=>Vs(a,c)||i[r(1261)](a,c,f),has:(a,c)=>!!Vs(a,c)||i[r(1432)](a,c)}))}}),xx={idb:function(r){let e=y;r[e(1483)]=Promise[e(767)]().then(()=>(ax(),$s))[e(1727)](function(i){return i})}},Ys={};function ve(r){let e=y,i={DMLCo:e(1815)+"0",hpxMO:function(g,m){return g!==m}},a=i[e(694)][e(1750)]("|"),c=0;for(;;){switch(a[c++]){case"0":return d[e(1483)];case"1":var f=Ys[r];continue;case"2":xx[r](d,d[e(1483)],ve);continue;case"3":if(i[e(1746)](void 0,f))return f.exports;continue;case"4":var d=Ys[r]={exports:{}};continue}break}}(()=>{let r=y,e={FIbyB:function(i,a){return i!==a},BxUqn:r(1756)};ve.d=(i,a)=>{let c=r;if(e[c(408)](c(1756),e.BxUqn))_0x16daf=_0x13a861(_0x2b43f8);else for(var f in a)ve.o(a,f)&&!ve.o(i,f)&&Object[c(1118)+c(671)](i,f,{enumerable:!0,get:a[f]})}})(),(()=>{let r=y;ve.o=(e,i)=>Object[r(1257)+"e"][r(1227)+r(671)][r(780)](e,i)})(),(()=>{let r=y,e={JPoAc:r(793)+"d",JIaOe:"__esModule"};ve.r=i=>{let a=r;e.JPoAc!=typeof Symbol&&Symbol[a(476)+a(365)]&&Object[a(1118)+a(671)](i,Symbol["toString"+a(365)],{value:"Module"}),Object[a(1118)+a(671)](i,e[a(1581)],{value:!0})}})();var G={};(()=>{let r=y,e={iBcvM:function(s,t){return s(t)},qoIxH:function(s,t){return s+t},MTYAK:function(s,t){return s+t},QnsvO:function(s,t){return s+t},LDaaY:function(s,t){return s+t},PGaPl:function(s,t){return s*t},pdMvW:function(s,t){return s*t},ZnZms:function(s,t,n){return s(t,n)},mCCzr:function(s,t,n){return s(t,n)},OlUwC:function(s,t){return s(t)},rmRhw:function(s,t){return s+t},YEdPh:function(s,t){return s(t)},LCmSQ:r(1191),SLyXT:"ffff",qCTCE:function(s,t){return s|t},wPmpH:function(s,t){return s|t},tMWGj:function(s,t){return s<<t},Ybhpv:function(s,t){return s|t},YOdcR:function(s,t){return s<<t},GlmQs:function(s){return s()},ovzLf:function(s){return s()},oskgB:r(1755),CNtsU:r(1531),xXPXS:"put",eelJm:r(1017),szfqg:"clear",yzVGc:function(s,t){return s!==t},ptVGr:r(1202),RfSRW:r(627),FeMiD:function(s,t){return s>t},QOzrv:function(s,t){return s<t},siIph:function(s,t){return s-t},sJIOY:function(s,t){return s===t},sziZC:r(1334),Qenzl:r(407),kfEvq:function(s,t){return s!==t},xHbcd:function(s,t){return s-t},YzkFk:function(s,t){return s<t},utpCL:function(s,t){return s<t},amHnH:function(s,t){return s!==t},bnGAK:function(s,t){return s!==t},xSGyq:function(s,t){return s(t)},IIgtx:function(s,t){return s>>>t},khwCx:function(s,t,n){return s(t,n)},msMAb:function(s,t){return s&t},UExMj:r(983)+r(1482)+r(1145)+"key",deeBc:function(s,t,n){return s(t,n)},EWRqe:function(s,t){return s!==t},zTyej:function(s,t,n){return s(t,n)},LoRPM:function(s,t,n){return s(t,n)},wDfNX:function(s,t){return s(t)},FtJrP:function(s,t){return s!==t},axGNA:function(s,t,n){return s(t,n)},FPEFw:function(s,t){return s(t)},NRnBv:function(s,t,n){return s(t,n)},TrzXv:function(s,t){return s!==t},hQhKb:function(s,t,n){return s(t,n)},mtAPL:function(s,t,n){return s(t,n)},hxrgA:function(s,t){return s!==t},pgeCB:function(s,t,n){return s(t,n)},thXBV:function(s,t,n){return s(t,n)},iPLhh:function(s,t){return s(t)},YFdTK:r(1749),IozLj:r(513),bEFbm:r(1218),ajxix:r(599),xzJXv:"ywxfP",XEuPf:function(s,t){return s(t)},BIbYo:r(1288),QqPhF:r(1301),HMEtW:function(s,t){return s(t)},eYNyF:function(s,t){return s>>>t},EOLXD:function(s,t){return s(t)},zAkIf:function(s,t){return s(t)},wQpfr:function(s,t,n){return s(t,n)},oFUZd:function(s,t,n){return s(t,n)},MsCEl:function(s,t){return s(t)},TTyBx:function(s,t,n){return s(t,n)},eJNzI:r(983)+r(1482)+r(1145)+"SeqID",hhPii:r(983)+"required"+r(1145)+r(1154),TLPKW:function(s,t){return s===t},YWeZc:function(s,t){return s+t},vHqOo:function(s,t){return s(t)},apiLG:function(s,t,n){return s(t,n)},PlyWt:r(848)+r(907)+r(1031),eioWg:function(s,t){return s>=t},SkJgN:r(1243)+"t limit",KLwqU:function(s,t){return s>=t},gyBmO:function(s,t){return s<<t},TlxIB:function(s,t){return s<<t},oNmEz:function(s,t){return s|t},xugKh:function(s,t){return s<<t},qUUus:function(s,t){return s!==t},mYzXb:"ZnwcF",CUTGk:function(s,t){return s+t},gCwcD:function(s,t){return s>t},VUcHE:function(s,t){return s+t},ZvEzE:r(1870)+r(791),kUxet:function(s,t){return s+t},FjmSP:function(s,t,n){return s(t,n)},KaSbL:function(s,t){return s(t)},zeuZT:function(s,t){return s<t},Atmxx:function(s,t){return s>=t},MqvJH:function(s,t){return s+t},hLrkM:function(s,t){return s+t},eABwu:function(s,t){return s|t},maSSc:function(s,t){return s&t},SXfws:function(s,t){return s&t},hkWAe:function(s,t){return s(t)},ZEJDt:function(s,t){return s==t},hjwrF:r(1298),NRsyd:function(s,t){return s+t},vrXHu:function(s,t){return s<<t},dnTvC:function(s,t){return s|t},hmNZf:function(s,t){return s<<t},hyiIv:function(s,t){return s<=t},zgROe:function(s,t){return s&t},ktSSv:function(s,t){return s+t},FSYAL:function(s,t){return s+t},DBhIK:function(s,t){return s+t},CbZVY:function(s,t){return s+t},NOfeR:function(s,t){return s|t},Wyxes:function(s,t){return s|t},ZaGEI:function(s,t){return s|t},GFGvu:function(s,t){return s|t},cIqtZ:function(s,t){return s&t},ZcdPF:function(s,t){return s<<t},XFKtd:function(s,t){return s&t},QWoup:function(s,t){return s>>t},VEZen:function(s,t){return s+t},IfDsI:function(s,t){return s&t},zXpoi:function(s,t){return s<t},CCofR:function(s,t){return s>=t},KMKbn:function(s,t){return s+t},iCStF:function(s,t){return s+t},etPPg:function(s,t,n){return s(t,n)},NgKFu:function(s,t){return s<t},DVOrN:function(s,t){return s<t},BTJmk:function(s,t){return s<t},GFOBh:function(s,t){return s<t},aRAVR:function(s,t){return s&t},goFSF:function(s,t){return s>>t},Ztlmg:function(s,t){return s===t},DrnQW:r(1060),QIlJP:function(s,t){return s<t},isuiP:function(s,t){return s|t},pOjiK:function(s,t){return s|t},YIJic:function(s,t){return s>>t},oQfHV:function(s,t){return s>>t},LdCol:function(s,t,n){return s(t,n)},Wrrpk:r(1012),VzGsb:r(461),cqKJr:function(s,t,n){return s(t,n)},NYYzf:function(s,t){return s!==t},JRwsS:function(s,t){return s&t},MXhwY:function(s,t){return s|t},MAldh:function(s,t){return s<<t},FJjMX:function(s,t){return s&t},WvjrV:function(s,t){return s<<t},qmvYt:function(s,t){return s&t},tZGKt:function(s,t){return s<t},Pajav:function(s,t,n){return s(t,n)},WxqmG:function(s,t){return s>>t},qoFSh:function(s,t){return s+t},mXLVI:function(s,t){return s>=t},SwbNQ:r(1313),oSpFc:r(594),MpAgI:function(s,t){return s|t},AqVxl:function(s,t,n){return s(t,n)},hGjGi:function(s,t){return s<t},jIlQU:function(s,t){return s&t},FCmfK:function(s,t){return s(t)},mTEWd:r(438),FFROE:r(1308),DFaQe:function(s,t){return s&t},dcKxt:function(s,t){return s&t},Gjilh:r(1833),cohqj:function(s,t){return s(t)},BBOSF:function(s,t){return s&t},BGKEF:function(s,t){return s&t},oIpJU:function(s,t){return s&t},SeKqM:function(s,t){return s&t},vNRPK:function(s,t){return s&t},YxNCh:function(s,t){return s&t},oFqqQ:function(s,t){return s(t)},VvnFA:function(s,t){return s&t},rVpby:function(s,t){return s(t)},bUOIA:function(s,t){return s&t},ewlbx:function(s,t){return s<<t},jpYUN:function(s,t){return s>>>t},drZLF:function(s,t){return s>>>t},eChrU:function(s,t){return s<t},LBWEK:function(s,t){return s&t},WIkxN:function(s,t){return s>>>t},kEVPC:function(s,t){return s+t},UijfL:function(s,t){return s+t},eVahu:function(s,t){return s&t},jNNva:function(s,t){return s>>>t},XQIEK:function(s,t){return s+t},fLOva:function(s,t){return s>>>t},kozDz:function(s,t){return s>>>t},CiTpm:function(s,t){return s>>>t},ZoTNs:function(s,t){return s|t},nOgIB:function(s,t){return s&t},mDeyV:function(s,t){return s>>>t},jFcYi:function(s,t){return s&t},LIQYd:function(s,t){return s!==t},haDup:function(s,t){return s>>>t},CZCVa:function(s,t){return s|t},GvqDQ:function(s,t){return s!==t},YuBvB:r(1023),Bilfg:function(s,t){return s|t},LGJFI:r(924),mMDdt:function(s,t){return s|t},LqBSq:function(s,t){return s|t},xBQKb:function(s,t){return s<<t},LDgGd:function(s,t){return s(t)},Qabhb:r(468)+"reason",CMAWR:r(770),cePIK:function(s,t){return s|t},WFqja:function(s,t){return s<<t},mWsbE:function(s,t){return s<<t},KTJnd:function(s,t){return s|t},chJat:function(s,t){return s<<t},ZjcSG:function(s,t){return s<<t},CkBrG:function(s,t){return s<<t},MbQQn:function(s,t){return s|t},tQEVF:function(s,t){return s|t},nlscy:function(s,t){return s|t},ndCwj:function(s,t){return s<<t},QnwVV:function(s,t){return s<<t},ruPwA:function(s,t){return s>>>t},AdVtc:function(s,t){return s&t},CzybJ:function(s,t){return s|t},PkuJO:function(s,t){return s|t},onysl:function(s,t){return s>>t},mlspr:function(s,t){return s|t},VTPnI:function(s,t){return s>>t},VRFZi:function(s,t){return s&t},stnjb:function(s,t){return s&t},HPLMk:function(s,t){return s||t},NkkmU:r(1789),HJCsR:r(1384),HYBWE:r(813),EvHLP:function(s,t){return s<=t},JGGyo:function(s,t){return s>=t},yekue:function(s,t){return s+t},OFiPJ:function(s,t){return s%t},agKOp:function(s,t){return s|t},IjYoK:function(s,t){return s/t},nwcBx:function(s,t){return s+t},DshrC:"error",orvxT:"close",jOEbI:r(811),LHxKr:r(825),RDpUn:function(s,t){return s>>>t},DAMfY:function(s,t){return s>>>t},DEbiz:function(s,t){return s&t},PBuYt:function(s,t){return s&t},mWwBP:function(s,t){return s>>>t},aLwTV:function(s,t){return s>>>t},miPeu:function(s,t){return s|t},veItE:function(s,t){return s>>>t},IxZrx:function(s,t){return s===t},mGxEG:function(s,t){return s-t},lCpwM:function(s,t){return s===t},MROiR:function(s,t){return s&t},ERLlg:function(s,t){return s>>>t},hIqiJ:function(s,t){return s&t},QrooZ:function(s,t){return s>>>t},nzhVY:function(s,t){return s>>>t},RARus:function(s,t){return s&t},TGmWy:function(s,t){return s>>>t},uMlnL:function(s,t){return s|t},vKqGr:function(s,t){return s!==t},FTVTi:r(1805),zuWSe:function(s,t){return s&t},obtgU:function(s,t){return s>>>t},PpChi:function(s,t){return s>>>t},qDdmp:r(1318)+r(1112),xyshj:r(1181)+r(1090),lSPkp:r(1593)+"IES_ERROR",ogeRZ:r(418)+r(1587),wQpAV:"OPEN_ERROR",njXvx:function(s,t){return s!==t},Ikayq:r(382),ijDTH:r(961)+r(681),Klsdc:r(1815)+"0",PyxOb:function(s,t){return s(t)},ibooI:r(1268),nEpoP:"wxBDh",tKExV:r(1337),EpYyd:function(s,t,n){return s(t,n)},cPeUz:function(s,t,n){return s(t,n)},nbyzD:function(s,t){return s===t},ogNrz:"qZPYB",QsOvx:function(s,t){return s==t},CRIOn:function(s,t){return s>t},TGKwg:r(839),tWSPb:function(s,t){return s===t},pAMeM:function(s,t){return s instanceof t},TkKXj:function(s,t){return s+t},uxuEE:"Unhandle"+r(1488),VcYEJ:function(s,t){return s+t},HEPAL:function(s,t){return s===t},JmLcY:function(s,t){return s===t},SRAMA:function(s,t){return s<t},ROeCM:function(s,t,n){return s(t,n)},AruTz:function(s,t){return s|t},NrMcM:function(s,t){return s>>t},bhglX:function(s,t){return s>>t},tjkFu:function(s,t,n){return s(t,n)},WbbwC:function(s,t){return s===t},yysdv:r(1654),tFWAI:r(1386),avuws:r(827),MnfJT:r(364),jvrQL:function(s,t){return s>t},ozmnp:r(1135),Xyewr:"kLVwL",Dettz:function(s,t,n){return s(t,n)},lKBEU:r(904),wFtVy:function(s,t){return s===t},rpcOM:"always",JHRot:"auto",eeETB:r(378)+r(1252)+"s",HrSfU:"success",ztwoo:function(s,t,n,o){return s(t,n,o)},XzilT:function(s,t,n){return s(t,n)},aDqSa:r(812),mzxbl:function(s,t){return s!==t},YLYrp:r(1142),PBbUY:"Kdqvd",imGjD:function(s,t){return s!=t},VaMKE:r(793)+"d",kLegc:r(860)+"0",KxbhL:function(s,t){return s!=t},NKHcz:r(486)+r(1030)+r(1588)+"imes in "+r(1919),txbJf:function(s,t){return s<t},JJKgg:function(s,t){return s<t},XCYxI:function(s,t){return s&t},IAaXK:function(s,t){return s<=t},SWLwZ:function(s,t){return s<t},xMLXn:function(s,t){return s<<t},Hboda:function(s,t){return s&t},EvIJS:function(s,t){return s>=t},tnEQN:function(s,t){return s<t},AkQaA:function(s,t){return s|t},PvhPG:function(s,t){return s<<t},VryeE:function(s,t){return s&t},WyuoD:function(s,t){return s<<t},AieDU:function(s,t){return s<<t},iKsHD:function(s,t){return s+t},QazIH:function(s,t){return s&t},CDCvr:function(s,t){return s instanceof t},dJlEp:function(s,t){return s|t},fgDox:function(s,t){return s<<t},LNyJk:function(s,t){return s<t},yioxH:function(s,t){return s!==t},EGZzx:"QrgAq",qrlKR:function(s,t){return s<t},oBoZp:function(s,t){return s===t},mgvTK:r(514),mLxKZ:function(s,t){return s|t},rjwCy:r(1289)+r(584),AAjpe:function(s,t){return s+t},vsNIA:function(s,t){return s<<t},dvhRZ:function(s,t){return s|t},cpVZK:function(s,t){return s>>t},YoOQV:function(s,t){return s|t},GvAqF:function(s,t){return s|t},yqIYk:function(s,t){return s&t},FvqAt:function(s,t){return s&t},lQhYO:function(s,t){return s===t},UsCpP:r(1050),UzooF:r(920),QttXv:function(s,t){return s>>t},QNWBs:function(s,t){return s&t},SvsZk:function(s,t){return s>>t},oXsOC:function(s,t){return s-t},wqLPv:function(s,t){return s==t},VFrwb:r(1274),XaJoF:function(s,t){return s(t)},CuiUi:function(s,t){return s instanceof t},DFGfk:r(1028),RuRNy:function(s,t){return s instanceof t},QWiXy:function(s,t){return s==t},tvYiC:r(917)+"in;chars"+r(1524),VPfLN:function(s,t){return s|t},hDJRF:function(s,t,n,o){return s(t,n,o)},JMffY:function(s,t){return s===t},LVDUd:r(1320),KDQaZ:"ppe",TvzRN:function(s,t){return s>=t},DLalY:r(1033)+r(1639),VQXmm:function(s,t){return s(t)},RUpnD:r(646),yTvJR:"script",izzdp:r(1005)+r(968),nxMad:"&jscallb"+r(550)+r(823)+"P",CxPsi:function(s,t){return s<t},yPctE:function(s,t){return s&t},wltVb:function(s,t){return s===t},PMqtU:function(s,t){return s+t},gUZuA:r(1128),LwvDp:function(s,t,n,o){return s(t,n,o)},BisPt:r(1785),imTJa:r(1825),SOWPO:function(s,t,n){return s(t,n)},eUOBT:r(437),dMywn:r(1558)+"id",pJMvb:r(1597),hshXH:"shElR",cRgEV:function(s,t){return s(t)},ZtBUD:r(542),PLRtd:function(s,t){return s!==t},xgoCp:r(1579),rFIJN:function(s,t){return s||t},UBJUe:"6|10|9|5"+r(651)+r(402),RrwDk:r(1154),BiIYV:r(398),TqhNt:r(1921)+r(1780),jdlzQ:r(810)+r(398),KSHaN:"curvalue",UsLQl:function(s,t,n,o){return s(t,n,o)},xBzrR:function(s,t){return s===t},WzGLu:r(1447),pWuMO:function(s,t){return s||t},YZDZo:function(s,t){return s||t},coRAZ:function(s,t,n){return s(t,n)},nUefB:r(378)+r(1278)+"t",MBZTv:r(1696),zdYGC:function(s,t){return s||t},lsfIe:function(s,t,n){return s(t,n)},EXhKs:function(s,t){return s+t},NDFxY:"hAiIK",hmsqJ:"MghQP",VABoB:function(s,t){return s+t},iIhBn:r(654),KwMuc:r(1417),emCSo:function(s,t){return s!==t},xdMKP:r(1548),yuNku:r(1902),FQDnP:r(571)+"4",xEjKw:function(s,t){return s!==t},HOxXA:"NAOrW",mHNXv:r(1812),TXjUL:r(1385)+r(1328),aZsAV:function(s,t,n,o){return s(t,n,o)},bKGIu:r(1385)+r(953)+"ck",huFZy:r(1385)+r(1284)+"k",ZYuVv:r(1385)+r(1461)+"sgid",Rdzvi:r(922),ylJgl:r(1759),EiXWc:r(1557),iiyun:function(s,t,n,o){return s(t,n,o)},jEueX:function(s,t){return s&&t},FyxGa:r(713),Oxett:r(458),pxmcc:function(s,t){return s||t},vuMBT:r(519),huVUj:r(540),qpDmV:"AbortError",lExFB:"ZUHBd",VzSwE:function(s,t){return s instanceof t},AZSoA:function(s,t){return s!==t},WuelF:r(1535),bkKDn:r(877),PKCwg:function(s,t){return s instanceof t},VBQbS:r(1033)+r(1639)+r(723)+r(821),tAdsr:r(1816),KaovX:function(s){return s()},HNfkr:function(s,t){return s>t},qAPxd:function(s,t){return s(t)},ggyQq:function(s,t){return s+t},PdQZs:function(s,t){return s(t)},MOUpA:function(s,t){return s&t},RmxUR:function(s,t){return s|t},Vvypl:function(s,t){return s+t},odpoE:r(1152),LekdN:function(s,t){return s(t)},kImoF:function(s,t){return s!==t},dGlzH:function(s,t){return s===t},vwpXP:"integer "+r(752)+"e",dwNos:function(s,t){return s&t},scOuY:function(s,t){return s+t},eDABX:function(s,t){return s+t},VMgpy:function(s,t,n){return s(t,n)},xFnxx:function(s,t){return s>>>t},GnVaP:function(s,t){return s<<t},qjHqy:r(952)+"3",qrbca:function(s,t){return s<t},xeiVc:function(s,t){return s+t},XRzDB:function(s,t,n,o){return s(t,n,o)},bzdmS:function(s,t){return s+t},Xruhz:function(s,t,n,o){return s(t,n,o)},hToxc:function(s,t){return s|t},Jftko:function(s,t){return s<<t},xmObj:function(s,t){return s+t},qZYwL:function(s,t){return s+t},NssJq:function(s,t){return s+t},apemV:function(s,t){return s|t},jhzlh:function(s,t){return s<<t},voXtf:function(s,t){return s<<t},ocZmk:function(s,t){return s+t},UYHnC:function(s,t){return s+t},LQZei:function(s,t){return s+t},DuRbo:function(s,t){return s&t},kCGye:function(s,t){return s+t},STpcE:r(1137),YOImV:r(663),OheNP:function(s,t){return s>>>t},Qewda:function(s,t){return s&t},nQvEF:function(s,t){return s>>>t},ZbEYx:function(s,t){return s|t},IUpPB:function(s,t){return s&t},iaenL:function(s,t){return s|t},tfwfR:function(s,t){return s|t},uyhzq:function(s,t){return s<<t},ojPPp:function(s,t){return s<t},iEnzW:function(s,t){return s|t},doqoh:function(s,t){return s|t},snlCo:function(s,t){return s<<t},YGUJb:function(s,t){return s&t},chjWi:function(s,t){return s>>>t},FGbij:function(s,t){return s&t},sRyiJ:function(s,t){return s>t},SheBs:r(1503),WrBfy:function(s,t,n,o){return s(t,n,o)},qpQLn:function(s,t){return s<t},hQFuv:function(s,t){return s(t)},ZoNXl:r(815)+r(756)+r(1722),lqOds:function(s,t,n,o){return s(t,n,o)},GBxXz:r(1333),fIMUp:function(s,t){return s(t)},rGoos:r(1608)+r(891),RdPji:r(662),DeEGA:function(s,t,n){return s(t,n)},aPYKS:function(s,t,n){return s(t,n)},QTFkL:r(1869)+r(1690),QOJGf:r(373)+r(1026),uABld:"allCurso"+r(1768),QaxKG:"ALL",tZvfC:"INSTANT",euSpa:"CONTINUE",PLbPt:"setdb",ZimVV:function(s,t){return s(t)},uNDmI:function(s,t){return s!==t},LUFUD:r(777),FKqLo:r(1770),dnMbH:function(s,t){return s(t)},UXPxk:"JqCzm",YoQUI:function(s,t){return s+t},kpWnI:function(s,t){return s!==t},Mibkg:function(s,t){return s&t},mgsjB:function(s,t){return s<t},AVeyZ:function(s,t){return s!==t},kuhkY:r(1204),OSLse:function(s,t){return s===t},RMgUX:r(729),vcivs:r(954),wMZkt:function(s,t,n){return s(t,n)},KBvja:"x_frontier_msgid",GBTLi:function(s,t,n){return s(t,n)},CIDnq:r(1385)+r(1615),KHbgE:function(s,t,n,o){return s(t,n,o)},BPGys:r(1259)+"s",rdAXM:r(691)+"rsor_name",ldayR:function(s,t,n){return s(t,n)},VHDpR:function(s){return s()},GQBLW:r(434),CYqGs:"ArOwy",pBuMM:function(s,t){return s!==t},Idlql:"TNfgT",gSeqh:r(1633),HhOmw:function(s,t){return s<t},ZsgLg:r(551),EEfFG:function(s){return s()},wShVn:function(s,t){return s===t},AXygw:function(s,t){return s&&t},ZxXNL:function(s){return s()},KYVhC:function(s,t,n){return s(t,n)},KeEXD:function(s,t){return s(t)},RDveh:function(s,t){return s(t)},jocrQ:function(s){return s()},DKHrP:function(s){return s()},rUKzO:function(s,t){return s!==t},jTEwa:function(s){return s()},RSeMw:function(s){return s()},xDFPr:r(1360),Zaeeb:function(s,t){return s===t},DYnjN:function(s,t,n,o){return s(t,n,o)},frBYU:function(s,t,n){return s(t,n)},mTWEQ:r(1459),KoMAd:function(s,t){return s!==t},EAOsK:r(1365),XswXf:function(s,t,n){return s(t,n)},LmiwC:function(s,t,n){return s(t,n)},cluOk:function(s,t){return s!==t},rGqEw:function(s,t,n){return s(t,n)},vSfBX:function(s,t){return s(t)},vErsn:function(s,t){return s<<t},KBpSE:function(s,t){return s===t},xDlBr:r(1566),ciZHs:function(s,t,n){return s(t,n)},PKLUt:function(s,t){return s+t},nzlrs:r(1087),FEqkP:r(1010),gNPfU:r(944),ujvIF:"arraybuf"+r(635),SJDro:r(1928),RHOzg:function(s,t){return s==t},fbUIv:function(s,t){return s===t},CeTvR:r(1035)+r(1435)+"alid url",OMYNJ:function(s,t){return s(t)},XApLH:"please provide ws params"+r(1209)+r(1626)+r(936)+r(1473)+"ined",kGhQt:r(1842)+"t",dDkKa:r(1270)+r(642)+r(1821)+"ct",TsjAf:function(s,t){return s<t},GWKdg:"HlZvj",KMurK:r(1629),xXbRQ:r(967),iGfow:function(s,t,n){return s(t,n)},PpgpZ:r(905),jMmZG:function(s,t){return s!==t},rCwdM:r(1600),nwPMH:"bd_did",mMWSi:"ttwid",mZZzH:"function",WAIEe:"web",VnbpX:r(1167)+"0",ZQzQm:function(s,t){return s|t},vVxaf:function(s,t){return s&t},HCnjy:function(s,t){return s>>t},xdvCf:r(939),xicYK:r(638),hFrNq:r(1512),aibvz:function(s,t,n){return s(t,n)},SYGcB:function(s,t){return s||t},nZKqe:function(s,t,n){return s(t,n)},NtueB:function(s,t){return s>t},xJVdR:r(1467),esHOf:function(s,t){return s>t},qEIXQ:function(s,t,n){return s(t,n)},UMirh:function(s,t,n){return s(t,n)},eeVfy:r(1463),yeDpM:r(487)+r(759)+r(1842)+r(1316)+r(830),xHrwS:r(450)+r(1554)+r(432)+"g",PifRM:function(s,t){return s(t)},PQQCx:function(s,t){return s===t},IKbVF:"4|0|1|2|3",dwzQV:function(s,t){return s||t},QhIdJ:r(898),ztjFi:r(794),pqRCP:function(s,t,n){return s(t,n)},Sjuzd:r(487)+r(1265)+r(1752)+"ine",WhmSB:function(s,t){return s>>>t},eXiev:function(s,t){return s|t},DDaYD:function(s,t){return s+t},yBjnh:function(s,t){return s|t},UZWKa:function(s,t){return s>>>t},DeKFj:function(s,t){return s===t},atZNv:r(1260),fldkT:"HcmMD",mnxFC:r(1356),TLScN:function(s,t){return s<<t},segkP:function(s,t){return s<<t},LpfEn:function(s,t){return s(t)},xZzbl:function(s,t){return s&t},MHVFA:r(1021),XIzxU:r(1898)+r(1687),qtfzD:function(s,t){return s===t},ykMtd:function(s,t){return s===t},XbCte:r(1846)+r(1885)+"y closed",kqTJL:r(1452),HjdOP:r(1710),HXNpn:"please p"+r(530)+" valid d"+r(543)+"a must be a string or an"+r(544)+r(492),vOdXh:function(s,t){return s==t},lFOzV:function(s,t){return s instanceof t},bsbvl:function(s,t){return s(t)},YdQNc:function(s,t){return s(t)},RXeAo:"please provide a"+r(1040)+r(1780),qzZdW:function(s,t){return s instanceof t},XHuRM:function(s,t){return s===t},ilRKA:"JQdfu",MwcjM:r(485),xKtpv:function(s,t){return s==t},LiKVA:function(s,t){return s!==t},jFUic:r(1922)+r(503)+"ing",gZuQW:function(s,t){return s!==t},DfBoU:"lkdAE",WhrMF:r(1868),yVbRw:r(1685),fTAEf:r(510)+"0",JYivl:r(1058),LpZbX:r(887),jMNkR:function(s,t){return s!=t},sEovT:function(s,t){return s!=t},sQGTq:r(712)+"dWorkerG"+r(1912)+"pe",VbduK:function(s,t){return s!=t},Ohemw:function(s,t){return s!=t},xlxAD:r(1341),sROGg:function(s,t){return s==t},iaxwL:function(s,t){return s===t},DPVnl:r(1076)+r(1332)+r(1779),kFjfp:r(453)+"orkerGlo"+r(829),OAsCu:function(s,t){return s!=t},bOwUX:function(s,t){return s!=t},dZWte:"__x_msg_"+r(1502)};ve.r(G),ve.d(G,{FWS:()=>D0,CustomErrorEvent:()=>Gr,createCloseEvent:()=>ge,ReconnectEvent:()=>Wr,createErrorEvent:()=>fe,decodedFrame:()=>Fr,createOpenEvent:()=>$r,CustomCloseEvent:()=>Jr,createReconnectEvent:()=>qn,FrontierMessageEvent:()=>Yr,encodeFrame:()=>On,createMessageEvent:()=>Zr,OpenEvent:()=>Xr,ErrorCode:()=>Me,Event:()=>Qe,MessageEvent:()=>Vr});let i="";function a(s=""){let t=r,n="02",o=""+Date[t(1267)](),x=i||(i=e[t(832)](m,s)),u=Math[t(1207)]()[t(476)](16).slice(-6);return e.qoIxH(e[t(1783)](e[t(1647)](n,o),x),u)}function c(){let s=r;return e[s(531)](e[s(1754)](1e4,Date[s(1267)]()),Math[s(1331)](e[s(1425)](1e4,Math[s(1207)]())))}function f(s){let t=r;return e[t(1783)](e[t(832)](Array,8).join("0"),e[t(529)](parseInt,s,10).toString(2))[t(583)](-8)}function d(s){let t=r;return(e[t(832)](Array,4)[t(1521)]("0")+e[t(427)](parseInt,s,2)[t(476)](16))[t(583)](-4)}function g(s){let t=r,n=s[t(1750)](/\./).map(u=>f(u)),o=[];return o[0]=e[t(1845)](d,e.rmRhw(n[0],n[1])),o[1]=e[t(1123)](d,n[2]+n[3]),[e[t(1542)],e[t(1542)],t(1191),e[t(1542)],e[t(1542)],e[t(703)],o[0],o[1]][t(1521)]("")}function m(s){let t=r,n=/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}/[t(477)](s),o=/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/[t(477)](s);return n?g(s):o?e.iBcvM(w,s):t(1359)+t(1359)+t(1359)+t(1359)}function w(s){let t=r,n={ANtGa:function(_){return e[P(1180)](_)},YyEsi:function(_){return e.ovzLf(_)},qsExw:e[t(622)],XwqsV:e[t(405)],EjxyX:t(894)+"ys",HnrfG:t(1891),lZCCz:e[t(897)],cJNSm:e[t(578)],hEpQM:e[t(1556)],HysIT:function(_,S){return e[t(832)](_,S)}},o="",x=[],u=0,h=0,p=!0,l=e.LCmSQ;if(s[t(1340)]("::")>-1){let _=s[t(1750)]("::");for(let A=0;A<_[t(1730)];A++)if(e[t(1799)](e[t(1245)],e[t(1388)])){let k=_[A];if(e[t(1569)](k[t(1340)](":"),0)){let D=k[t(1750)](":");p&&(u=D.length),h+=D[t(1730)];for(let N=0;e[t(1811)](N,D[t(1730)]);N++)if(D[N][t(1730)]!==4){let R=l[t(1392)+"g"](0,e[t(1468)](4,D[N].length)),ue=R.concat(D[N]);x[t(495)](ue)}else x[t(495)](D[N]);p=!1}else{if(e[t(1426)](e.sziZC,e[t(1929)]))return new _0x11f8ea(e.qCTCE(e[t(1501)](e[t(1501)](_0x4e37ae[0],e[t(1840)](_0x3ca799[1],8)),e[t(1840)](_0x4326df[2],16)),e[t(1840)](_0x1d5fdd[3],24)),e[t(445)](e[t(937)](_0x583b59[4]|e[t(1840)](_0x5906ee[5],8),e[t(881)](_0x155153[6],16)),e[t(881)](_0x352ff4[7],24)),_0x4e2481);if(e[t(1077)](4,k[t(1730)])){let D=l[t(1392)+"g"](0,e[t(1822)](4,k[t(1730)])),N=D[t(1122)](k);x.push(N)}else x[t(495)](k);p&&(u+=1),h+=1,p=!1}}else xjaiff[t(1102)](_0x3f34f6),xjaiff[t(658)](_0x133e4e),_0x372512=["get",xjaiff.qsExw,xjaiff[t(1522)],xjaiff.EjxyX,xjaiff.HnrfG],_0x2795e4=[xjaiff.lZCCz,"add",xjaiff[t(1038)],xjaiff[t(1707)]],_0x4c5d2e=new _0xd07959,xjaiff[t(676)](_0x2df4bd,k=>({...k,get:(D,N,R)=>_0x55dfac(D,N)||k[t(1261)](D,N,R),has:(D,N)=>!!_0x320cb7(D,N)||k[t(1432)](D,N)}));let S="";for(let A=0;e.YzkFk(A,e[t(1468)](8,h));A++)S=S[t(1122)](l);for(let A=0;e[t(1811)](A,x[t(1730)]);A++)A===u&&(o=o[t(1122)](S)),o=o[t(1122)](x[A]);return o}{let _=s[t(1750)](":");for(let S=0;e[t(1776)](S,_.length);S++){let A=_[S];if(e[t(1549)](4,_[S][t(1730)])){let k=l.substring(0,e[t(1822)](4,_[S][t(1730)])),D=k.concat(A);o=o[t(1122)](D)}else o=o[t(1122)](A)}return o}}function b(s,t){let n=r,o=s[n(1238)];e.bnGAK(void 0,o)&&(e[n(529)](Z,t,10),e.mCCzr(je,t,o));let x=s[n(879)];e.amHnH(void 0,x)&&(Z(t,18),je(t,x))}function v(s){let t=r,n={};e:for(;!e[t(1123)](Ce,s);){let o=e[t(1781)](te,s);switch(e[t(1562)](o,3)){case 0:break e;case 1:n[t(1238)]=e[t(529)](ee,s,te(s));break;case 2:n.value=e[t(1286)](ee,s,te(s));break;default:e[t(529)](L,s,e[t(424)](7,o))}}if(n[t(1238)]===void 0)throw new Error(e[t(436)]);if(e.sJIOY(void 0,n[t(879)]))throw new Error(t(983)+t(1482)+t(1145)+"value");return n}function C(s){let t=e.ovzLf(se);return e.deeBc(I,s,t),e.iBcvM(Ee,t)}function I(s,t){let n=r,o=s[n(1349)];e[n(816)](void 0,o)&&(Z(t,8),e[n(427)](mt,t,o));let x=s[n(1347)];e.bnGAK(void 0,x)&&(e[n(1630)](Z,t,16),e[n(1630)](mt,t,x));let u=s[n(1154)];u!==void 0&&(e[n(612)](Z,t,24),mt(t,e[n(832)](U,u)));let h=s[n(1140)];h!==void 0&&(e.LoRPM(Z,t,32),e.khwCx(mt,t,e[n(1529)](U,h)));let p=s[n(988)];if(e[n(1335)](void 0,p))for(let R of p){e[n(1286)](Z,t,42);let ue=e[n(1180)](se);b(R,ue),e[n(612)](Z,t,ue[n(1047)]),e[n(1187)](Mo,t,ue),e[n(1369)](me,ue)}let l=s[n(1044)+n(1373)];e[n(998)](void 0,l)&&(e[n(970)](Z,t,50),je(t,l));let _=s[n(1540)+n(516)];e[n(1146)](void 0,_)&&(e[n(1505)](Z,t,58),e.deeBc(je,t,_));let S=s.payload;S!==void 0&&(e[n(1286)](Z,t,66),Z(t,S[n(1730)]),e[n(353)](Rn,t,S));let A=s[n(1416)];A!==void 0&&(e[n(612)](Z,t,74),je(t,A));let k=s[n(1592)+n(1051)];e[n(1799)](void 0,k)&&(e[n(427)](Z,t,82),e[n(1286)](je,t,k));let D=s[n(1881)];e[n(1170)](void 0,D)&&(Z(t,90),e.pgeCB(je,t,D));let N=s.frameType;N!==void 0&&(e.LoRPM(Z,t,96),e[n(686)](mt,t,e.iPLhh(U,N)))}function B(s){let t=r;if(e[t(998)](e[t(1315)],t(1786)))this[t(650)+"er"]&&_0x327c87[t(430)+t(892)](e[t(696)],this[t(1795)+t(1410)]),this[t(650)+"er"]&&_0x30c14f[t(430)+t(892)](e[t(1915)],this[t(1795)+t(906)]),this[t(650)+"er"]&&_0x42d000[t(430)+t(892)](e[t(1584)],this[t(771)+t(1100)]),this._isBrowser&&_0x5458df[t(430)+"Listener"](e.ajxix,this[t(771)+t(913)]);else return e[t(605)](T,e.XEuPf(ze,s))}function T(s){let t=r;if(e[t(1662)]!==e.QqPhF){let n={};e:for(;!e[t(507)](Ce,s);){let o=e.wDfNX(te,s);switch(e[t(1251)](o,3)){case 0:break e;case 1:n[t(1349)]=qr(s,!0);break;case 2:n.LogID=e[t(1826)](qr,s,!0);break;case 3:n[t(1154)]=e[t(473)](te,s);break;case 4:n[t(1140)]=e[t(362)](te,s);break;case 5:{let x=F(s);(n.headers||(n.headers=[]))[t(495)](e[t(863)](v,s)),s[t(1047)]=x;break}case 6:n[t(1044)+t(1373)]=e[t(1126)](ee,s,e[t(1123)](te,s));break;case 7:n[t(1540)+t(516)]=ee(s,e[t(605)](te,s));break;case 8:n[t(1171)]=e.oFUZd(Mn,s,e.MsCEl(te,s));break;case 9:n[t(1416)]=ee(s,e[t(1845)](te,s));break;case 10:n[t(1592)+"ming"]=e.NRnBv(ee,s,e.iPLhh(te,s));break;case 11:n[t(1881)]=e[t(1674)](ee,s,e[t(473)](te,s));break;case 12:n[t(783)+"e"]=e[t(1529)](te,s);break;default:e[t(1505)](L,s,e[t(424)](7,o))}}if(e[t(1426)](void 0,n[t(1349)]))throw new Error(e.eJNzI);if(e[t(1426)](void 0,n.LogID))throw new Error("Missing "+t(1482)+t(1145)+"LogID");if(n.service===void 0)throw new Error(e.hhPii);if(e[t(344)](void 0,n[t(1140)]))throw new Error(t(983)+t(1482)+t(1145)+t(1140));return n}else this.on(_0x102b42,_0x4b0554)}function F(s){let t=r,n=te(s),o=s[t(1047)];return s[t(1047)]=e.YWeZc(s[t(1561)],n),o}function L(s,t){let n=r;switch(t){case 0:for(;e[n(424)](128,e[n(899)](ce,s)););break;case 2:e[n(970)](_e,s,e[n(1444)](te,s));break;case 5:e[n(1348)](_e,s,4);break;case 1:e[n(1348)](_e,s,8);break;default:throw new Error(e[n(1157)]+t)}}function U(s){let t=r;return s|=0,{low:s,high:s>>31,unsigned:e[t(935)](s,0)}}let V=[];function se(){let s=r,t=V[s(465)]();return t?(t.offset=t[s(1047)]=0,t):{bytes:new Uint8Array(64),offset:0,limit:0}}function me(s){V.push(s)}function ze(s){return{bytes:s,offset:0,limit:s[r(1730)]}}function Ee(s){let t=r,n=s.bytes,o=s[t(1047)];return e[t(344)](n[t(1730)],o)?n:n[t(1861)](0,o)}function _e(s,t){let n=r;if(s[n(1561)]+t>s[n(1047)])throw new Error(e[n(581)]);s[n(1561)]+=t}function Ce(s){let t=r;return e[t(389)](s.offset,s[t(1047)])}function we(s,t){let n=r;if(e[n(1582)](e[n(1080)],e[n(1080)]))return new _0x5bde6d(e[n(1501)](_0x25f035[4]<<24|e.gyBmO(_0x247ba7[5],16)|e[n(1174)](_0x32d326[6],8),_0x183fc8[7]),e[n(445)](e.qCTCE(e[n(768)](e[n(1168)](_0x9adf10[0],24),e[n(843)](_0x4e786e[1],16)),_0x17bb8a[2]<<8),_0x1504f4[3]),_0x56c525);{let o=s.bytes,x=s[n(1561)],u=s.limit,h=e[n(585)](x,t);if(e[n(1569)](h,o.length)){let p=new Uint8Array(2*h);p[n(595)](o),s[n(923)]=p}return s[n(1561)]=h,e[n(1569)](h,u)&&(s[n(1047)]=h),x}}function pt(s,t){let n=r,o=s.offset;if(e[n(1397)](e.VUcHE(o,t),s.limit))throw new Error(e.ZvEzE);return s.offset+=t,o}function Mn(s,t){let n=r,o=pt(s,t);return s[n(923)].subarray(o,e[n(1784)](o,t))}function Rn(s,t){let n=r,o=e[n(809)](we,s,t[n(1730)]);s[n(923)][n(595)](t,o)}function ee(s,t){let n=r,o=e[n(686)](pt,s,t),x=String[n(1486)+n(501)],u=s[n(923)],h="\uFFFD",p="";for(let l=0;e[n(778)](l,t);l++){let _=u[e[n(377)](l,o)],S,A,k,D;if((128&_)===0)p+=x(_);else if(e[n(424)](224,_)===192)e[n(1808)](e[n(931)](l,1),t)?p+=h:(S=u[e[n(431)](e[n(841)](l,o),1)],e.msMAb(192,S)!==128?p+=h:(D=e.eABwu(e[n(1583)](31,_)<<6,e[n(960)](63,S)),e.YzkFk(D,128)?p+=h:(p+=e[n(395)](x,D),l++)));else if(e[n(1161)](240&_,224))if(l+2>=t)p+=h;else if(e.hxrgA(e.hjwrF,n(1134)))S=u[e.qoIxH(e[n(579)](l,o),1)],A=u[e[n(745)](l,o)+2],e[n(1799)](e[n(424)](e.Ybhpv(S,e.vrXHu(A,8)),49344),32896)?p+=h:(D=e[n(768)](e[n(618)](e.maSSc(15,_)<<12,e[n(714)](e[n(960)](63,S),6)),e[n(960)](63,A)),e[n(1776)](D,2048)||e[n(389)](D,55296)&&e[n(740)](D,57343)?p+=h:(p+=e[n(1369)](x,D),l+=2));else return e.qoIxH(e[n(885)](_0x3b9f34,8).join("0"),e.ZnZms(_0x4e6c99,_0x1ec36c,10)[n(476)](2))[n(583)](-8);else e[n(1156)](248,_)==240?e.eioWg(e.ktSSv(l,3),t)?p+=h:(S=u[e[n(1375)](e[n(1911)](l,o),1)],A=u[e[n(1440)](l,o)+2],k=u[e[n(1688)](l+o,3)],e[n(424)](e[n(423)](e[n(423)](S,A<<8),k<<16),12632256)!==8421504?p+=h:(D=e[n(902)](e.ZaGEI(e[n(1127)](e[n(843)](e.msMAb(7,_),18),e[n(881)](e[n(1862)](63,S),12)),e[n(1509)](e[n(1371)](63,A),6)),63&k),e[n(1811)](D,65536)||D>1114111?p+=h:(D-=65536,p+=e[n(529)](x,e.LDaaY(e[n(677)](D,10),55296),e[n(1661)](e[n(1851)](1023,D),56320)),l+=3))):p+=h}return p}function je(s,t){let n=r,o={GoyTC:function(l){return l()}},x=t.length,u=0;for(let l=0;e[n(1443)](l,x);l++){let _=t.charCodeAt(l);e.CCofR(_,55296)&&e[n(740)](_,56319)&&e[n(1811)](e[n(1046)](l,1),x)&&(_=e[n(1822)](e.iCStF(_<<10,t[n(1541)+"At"](++l)),56613888)),u+=e.utpCL(_,128)?1:_<2048?2:e[n(1811)](_,65536)?3:4}e[n(1187)](Z,s,u);let h=e[n(1843)](we,s,u),p=s[n(923)];for(let l=0;e[n(559)](l,x);l++){let _=t[n(1541)+"At"](l);_>=55296&&e[n(740)](_,56319)&&e[n(567)](e[n(841)](l,1),x)&&(_=e[n(1822)](e[n(881)](_,10)+t[n(1541)+"At"](++l),56613888)),e[n(1775)](_,128)?p[h++]=_:(e[n(1565)](_,2048)?p[h++]=e.oNmEz(e[n(1107)](e[n(1309)](_,6),31),192):e[n(1277)](e.DrnQW,e.DrnQW)?(e[n(718)](_,65536)?p[h++]=e[n(1421)](e.maSSc(_>>12,15),224):(p[h++]=e[n(1455)](e[n(643)](_,18)&7,240),p[h++]=e.YIJic(_,12)&63|128),p[h++]=e[n(1583)](e.oQfHV(_,6),63)|128):(pqvPJl.GoyTC(_0x568566),pqvPJl.GoyTC(_0x4607cd)),p[h++]=e[n(1127)](e[n(1583)](63,_),128))}}function Mo(s,t){let n=r,o=e[n(1013)](we,s,t[n(1047)]),x=s.bytes,u=t[n(923)];for(let h=0,p=t[n(1047)];h<p;h++)x[e[n(1688)](h,o)]=u[h]}function ce(s){let t=r;return s[t(923)][e[t(1013)](pt,s,1)]}function Or(s,t){let n=r;if(e.Wrrpk===e[n(1839)])this["flushExp"+n(971)]();else{let o=e[n(1627)](we,s,1);s[n(923)][o]=t}}function te(s){let t=r,n=0,o=0,x;do x=ce(s),e.QOzrv(n,32)&&(o|=e.tMWGj(e[t(1851)](127,x),n)),n+=7;while(128&x);return o}function Z(s,t){let n=r;for(t>>>=0;e[n(749)](t,128);)e[n(1549)](e[n(1327)],e[n(1067)])?(e.khwCx(Or,s,e[n(1411)](127&t,128)),t>>>=7):(_0x507fbb=_0x1babb2[e.hLrkM(_0x8953b1,_0x15e9a8)+1],_0x49883a=_0x38652f[e.CUTGk(_0x28c5fb+_0xeeb7f9,2)],_0x370f18=_0x766534[e.MqvJH(_0x43093a+_0x183f52,3)],e[n(1829)](e.JRwsS(_0xec96d0|e[n(1168)](_0x2ff03f,8)|_0x5314d5<<16,12632256),8421504)?_0x438bac+=_0x4f4b78:(_0x4d0ab2=e[n(1127)](e.eABwu(e.MXhwY(e[n(1244)](e[n(679)](7,_0x4f4f9a),18),(63&_0x573d6e)<<12),e.WvjrV(e[n(435)](63,_0x28de4a),6)),e.zgROe(63,_0x3d1647)),e[n(957)](_0x5f2d16,65536)||e[n(1397)](_0x1862bd,1114111)?_0x339a73+=_0xd18a3:(_0x5ebd5a-=65536,_0x2e8e33+=e[n(497)](_0x5c79ee,e[n(745)](e[n(955)](_0x9e470d,10),55296),e[n(1456)](1023&_0x202f16,56320)),_0x314d66+=3)));e[n(1322)](Or,s,t)}function qr(s,t){let n=r,o={yZCvV:function(l,_){return e[P(387)](l,_)},eFBdy:function(l,_){return e[P(344)](l,_)},ObLRs:function(l,_){return l&_},kdiBU:function(l,_){return e.jIlQU(l,_)},ngloR:function(l,_){return e[P(1688)](l,_)},uJBlD:function(l,_){return e[P(1684)](l,_)},wPqtL:function(l,_){return l&_}},x=0,u=0,h=0,p;if(p=e[n(826)](ce,s),x=127&p,e.cIqtZ(128,p)){if(e.TLPKW(e[n(1326)],e[n(1539)])){let l=0,_=0;for(let S=0;o[n(1458)](S,_0x2579e[n(1730)]);++S)_=_0x2f8eb1[n(1541)+"At"](S),_<128?l+=1:o[n(1458)](_,2048)?l+=2:o[n(1062)](o[n(1653)](64512,_),55296)&&o[n(1062)](o[n(709)](64512,_0x2bbe23[n(1541)+"At"](o[n(443)](S,1))),56320)?(++S,l+=4):l+=3;return l}else if(p=ce(s),x|=e[n(881)](e[n(1391)](127,p),7),e[n(1656)](128,p)){if(e[n(1582)](e.Gjilh,e[n(1099)]))return this[n(1533)][n(1679)+"te"];if(p=e.cohqj(ce,s),x|=e[n(881)](e[n(570)](127,p),14),e.BGKEF(128,p)&&(p=e[n(605)](ce,s),x|=e[n(1457)](e[n(424)](127,p),21),e[n(1706)](128,p)&&(p=e[n(507)](ce,s),u=e[n(1149)](127,p),128&p)))if(e.TLPKW(n(1827),n(1827)))p=e[n(1369)](ce,s),u|=e.WvjrV(127&p,7),e[n(960)](128,p)&&(p=e.XEuPf(ce,s),u|=e[n(1244)](e[n(534)](127,p),14),e[n(1724)](128,p)&&(p=e[n(580)](ce,s),u|=e[n(1509)](e[n(1149)](127,p),21),e[n(1438)](128,p)&&(p=e[n(1623)](ce,s),h=e[n(1876)](127,p),128&p&&(p=ce(s),h|=e.ewlbx(e.BGKEF(127,p),7)))));else{if(_0x164ad1>_0x53fb33)throw new _0x4fbe63(n(1878)+n(752)+"e");let l=3;for(;o[n(1120)](l,0);){let _=o[n(574)](255,_0x5adc1f);_0x1d6321(_,_0x336a5f,o[n(443)](_0xd91bd,l)),_0x36147b>>>=8,l--}return _0x1c70a8+4}}}return{low:e[n(732)](x,e.WvjrV(u,28)),high:e.dnTvC(e[n(1103)](u,4),e[n(1591)](h,24)),unsigned:t}}function mt(s,t){let n=r,o=e[n(1562)](t[n(859)],0),x=e[n(666)](e[n(1127)](e.eYNyF(t[n(859)],28),t.high<<4),0),u=t.high>>>24,h=e[n(344)](0,u)?x===0?o<16384?o<128?1:2:e[n(957)](o,2097152)?3:4:e[n(387)](x,16384)?e[n(778)](x,128)?5:6:e[n(1645)](x,2097152)?7:8:e[n(1645)](u,128)?9:10,p=e[n(1126)](we,s,h),l=s.bytes;switch(h){case 10:l[e[n(1783)](p,9)]=e[n(1176)](e[n(1319)](u,7),1);case 9:l[e.kEVPC(p,8)]=h!==9?e[n(768)](128,u):127&u;case 8:l[e.UijfL(p,7)]=h!==8?x>>>21|128:e[n(1424)](e[n(1517)](x,21),127);case 7:l[e[n(1144)](p,6)]=e.FtJrP(7,h)?e.Wyxes(e[n(979)](x,14),128):e.BGKEF(e.kozDz(x,14),127);case 6:l[p+5]=e[n(816)](6,h)?e[n(1201)](x,7)|128:e[n(1240)](x,7)&127;case 5:l[p+4]=e[n(1799)](5,h)?e[n(1183)](128,x):e[n(1195)](127,x);case 4:l[e[n(1046)](p,3)]=e[n(1146)](4,h)?e[n(1501)](e.mDeyV(o,21),128):e[n(751)](o>>>21,127);case 3:l[e[n(579)](p,2)]=h!==3?e[n(1240)](o,14)|128:e.maSSc(e[n(1319)](o,14),127);case 2:l[e.KMKbn(p,1)]=e[n(509)](2,h)?e[n(689)](o>>>7,128):e[n(1429)](o,7)&127;case 1:l[p]=e[n(1170)](1,h)?e[n(1692)](128,o):e[n(1656)](127,o)}}function Fr(s){let t=r;return e[t(849)](e.YuBvB,t(409))?e[t(605)](B,s):_0xbcc719}function On(s){return e[r(1369)](C,s)}let Ur=65536,Ro=e.JYivl,$e=e.PGaPl(Ur,Ur),jr=e[r(1425)]($e,$e),Kr=jr/2,Be=String[r(1257)+"e"][r(1541)+"At"];class M{constructor(t,n,o){let x=r;this[x(1434)]=!0,this[x(859)]=0|t,this[x(1178)]=e[x(721)](0,n),this[x(428)]=!!o}static isLong(t){return t&&t.isLong===!0}static fromBits(t,n,o){return new M(t,n,o)}static[r(1511)+"s"](t,n,o){let x=r;return o?M[x(1511)+x(1153)](t,n):M[x(1511)+"sBE"](t,n)}static[r(1511)+r(1153)](t,n){let o=r;if(e[o(766)]===o(1151))_0x474f75(_0x1efb92,74),e[o(1843)](_0x296bb5,_0x54f54d,_0x5d9d42);else return new M(e.eABwu(e.mMDdt(t[0],e.ZcdPF(t[1],8)),t[2]<<16)|t[3]<<24,e.LqBSq(e.pOjiK(e.ZaGEI(t[4],t[5]<<8),e.xBQKb(t[6],16)),t[7]<<24),n)}static[r(1511)+r(1909)](t,n){let o=r,x={NSMkc:function(u,h){return e[P(1697)](u,h)},WXFdY:e[o(1354)]};if(e[o(344)](o(986),e[o(1606)]))_0x250cb1[o(647)][o(1836)+o(1612)](_0x29d446),_0x5710cb["frontier"+o(1610)]=void 0,x[o(1904)](_0x5e03ba,_0x2d5e9b&&_0x22fabd.msg||x.WXFdY);else return new M(e[o(768)](e[o(918)](t[4]<<24,e[o(714)](t[5],16)),t[6]<<8)|t[7],e[o(1716)](t[0],24)|t[1]<<16|e[o(1454)](t[2],8)|t[3],n)}static[r(1374)](t){let n=r;return t===Ro?Hr:new M(e[n(1401)](e[n(937)](e[n(445)](Be[n(780)](t,0),e.chJat(Be[n(780)](t,1),8)),e[n(421)](Be[n(780)](t,2),16)),e[n(1544)](Be.call(t,3),24))>>>0,e[n(979)](e[n(1366)](e[n(1838)](e.nlscy(Be[n(780)](t,4),e[n(1143)](Be.call(t,5),8)),e[n(573)](Be[n(780)](t,6),16)),e[n(1174)](Be.call(t,7),24)),0),!0)}[r(1185)](){let t=r;return String["fromChar"+t(501)](e.zgROe(255,this[t(859)]),e[t(1876)](e[t(1771)](this[t(859)],8),255),e[t(1195)](this[t(859)]>>>16,255),this[t(859)]>>>24,255&this[t(1178)],e.SXfws(this[t(1178)]>>>8,255),e[t(870)](e[t(1201)](this[t(1178)],16),255),e[t(1103)](this.high,24))}static[r(640)+"er"](t,n=!0){let o=r,x={nvpBY:function(u,h){return e[P(363)](u,h)}};if(isNaN(t))return n?Oo:Hr;if(n){if(e[o(351)]!=="irEkH"){let u=this[o(1927)][o(1196)+o(1294)](this._prefix);return _0x2f94f8[o(1236)](x[o(807)](u,"{}"))[_0x165e27]}else if(t>=jr)return Fo}else if(e.HJCsR!==e[o(673)]){if(e[o(525)](t,-Kr))return Uo;if(e[o(1760)](e.yekue(t,1),Kr))return qo}else e[o(1811)](_0xfda97f,2048)?_0x79842f[_0x19d36d++]=e[o(359)](e[o(534)](_0x5d662e>>6,31),192):(e[o(1443)](_0x2db8f6,65536)?_0x5c9e3e[_0x17225a++]=e.PkuJO(e[o(534)](e[o(1061)](_0x4df9a4,12),15),224):(_0x4cb9e9[_0x5e1861++]=e[o(1580)](e[o(960)](e.VTPnI(_0x3d81c4,18),7),240),_0x45c264[_0x51d70d++]=e[o(1455)](e.IfDsI(e[o(955)](_0xba0e08,12),63),128)),_0x335e23[_0x336388++]=e[o(1138)](_0x17f7c1>>6,63)|128),_0x2b9e92[_0x5f226f++]=e[o(1342)](63,_0x2d59ea)|128;return M[o(502)](e[o(1183)](e[o(609)](t,$e),0),e[o(564)](e[o(818)](t,$e),0),n)}[r(1448)](){let t=r;return this[t(428)]?e[t(1144)](e.PGaPl(this[t(1178)]>>>0,$e),e[t(979)](this[t(859)],0)):e[t(775)](e[t(1754)](this.high,$e),e.eYNyF(this.low,0))}isZero(){return this[r(1178)]===0&&this.low===0}add(t){let n=r,o={sVMkd:e.DshrC,IaHce:function(x,u,h){return e[P(561)](x,u,h)},LtxoN:e.orvxT};if(e[n(1426)](e[n(1682)],e[n(773)])){let x=_0x5d439c(o[n(1624)],{message:this[n(972)+n(399)+n(1266)](_0x3129c1)});this[n(1215)](n(805),x);let u=o[n(1125)](_0xbbf8af,o[n(782)],{reason:this["_formatE"+n(399)+n(1266)](_0x58ad1)});this[n(1215)](o[n(782)],u)}else{M[n(1434)](t)||(t=M.fromNumber(t));let x=e[n(982)](this.high,16),u=65535&this[n(1178)],h=this[n(859)]>>>16,p=e[n(1342)](65535,this.low),l=e[n(1864)](t[n(1178)],16),_=e[n(499)](65535,t.high),S=e.mDeyV(t[n(859)],16),A=e[n(1069)](65535,t[n(859)]),k=0,D=0,N=0,R=0;return R+=e[n(1753)](p,A),N+=e[n(1147)](R,16),R&=65535,N+=e.qoIxH(h,S),D+=e.mWwBP(N,16),N&=65535,D+=u+_,k+=e.aLwTV(D,16),D&=65535,k+=e.CbZVY(x,l),k&=65535,M[n(502)](e[n(1188)](e.chJat(N,16),R),e.YOdcR(k,16)|D,this[n(428)])}}[r(1451)](t){let n=r;return M[n(1434)](t)||(t=M[n(640)+"er"](t)),e.GvqDQ(this[n(428)],t[n(428)])&&e[n(748)](this.high,31)===1&&e[n(1277)](e[n(1319)](t.high,31),1)?!1:e[n(1277)](this[n(1178)],t[n(1178)])&&e[n(455)](this[n(859)],t[n(859)])}[r(867)](){let t=r;if(t(687)===t(687))return e[t(1395)](-1,this[t(859)])&&e.TLPKW(-1,this.high)?M[t(502)](0,0,this[t(428)]):e[t(1395)](-1,this[t(859)])?M[t(502)](0,this[t(1178)]+1,this[t(428)]):M[t(502)](e[t(841)](this.low,1),this[t(1178)],this[t(428)]);{let n=_0x1d4ecb.split(":");_0xf00744&&(_0x50c38a=n[t(1730)]),_0x2b9963+=n[t(1730)];for(let o=0;e[t(1811)](o,n.length);o++)if(n[o][t(1730)]!==4){let x=_0xbde489.substring(0,e.mGxEG(4,n[o][t(1730)])),u=x[t(1122)](n[o]);_0x22dbbc[t(495)](u)}else _0x26f092[t(495)](n[o]);_0x312970=!1}}[r(1777)](t){let n=r;return t?this[n(1029)+"E"]():this[n(963)+"E"]()}[r(1029)+"E"](){let t=r,n=this.high,o=this[t(859)];return[e[t(870)](255,o),e[t(1702)](e[t(847)](o,8),255),e[t(1841)](e[t(615)](o,16),255),e.nzhVY(o,24),e[t(1001)](255,n),n>>>8&255,e[t(1862)](e[t(982)](n,16),255),e[t(488)](n,24)]}[r(963)+"E"](){let t=r;if(e.vKqGr(e.FTVTi,e[t(1219)]))_0x309351=e[t(1651)]((15&_0xf31684)<<12|(63&_0x392d28)<<6,e[t(1724)](63,_0x2e72b6)),e[t(559)](_0x41067b,2048)||e[t(1684)](_0x26b8a7,55296)&&_0x4cce74<=57343?_0x3a4cd2+=_0x5ea4f2:(_0x19ba59+=e[t(507)](_0xa27998,_0x206ee7),_0x537041+=2);else{let n=this[t(1178)],o=this[t(859)];return[e[t(488)](n,24),e.ERLlg(n,16)&255,e[t(1583)](n>>>8,255),e[t(761)](255,n),e[t(711)](o,24),e[t(1195)](e[t(1117)](o,16),255),e[t(751)](e[t(869)](o,8),255),e[t(870)](255,o)]}}}let Hr=new M(0,0,!1),Oo=new M(0,0,!0),qo=M[r(502)](-1,2147483647,!1),Fo=M[r(502)](-1,-1,!0),Uo=M[r(502)](0,-2147483648,!1);var Me=(function(s){let t=r;return s[s[e[t(637)]]=5001]=e.qDdmp,s[s[e[t(1693)]]=5002]=e[t(1693)],s[s[e[t(384)]]=5003]=e[t(384)],s[s[e[t(357)]]=5004]=e[t(357)],s[s[t(1782)+"OR"]=5005]=e[t(772)],s})({});class Qe{constructor(t){let n=r;e[n(1694)](e[n(927)],e[n(927)])?(_0x32dc20=_0x4a36b8(_0x185459),_0x26c383=e[n(1724)](127,_0x1bd5bb),128&_0x810606&&(_0x19da4e=_0x241013(_0x41e583),_0x416ec3|=(127&_0x5044e8)<<7)):(this[n(1741)]=t,this.target=null)}}class Wr extends Qe{constructor(t,n){let o=r;super(t),this[o(827)]=n&&n[o(827)]||null}}class Gr extends Qe{constructor(t,n){let o=r,x=e[o(1487)][o(1750)]("|"),u=0;for(;;){switch(x[u++]){case"0":this[o(805)]=n&&n.error||null;continue;case"1":this[o(553)]=n&&n.filename||"";continue;case"2":super(t);continue;case"3":this[o(827)]=n&&n[o(827)]||"";continue;case"4":this[o(489)]=n&&n[o(489)]||0;continue;case"5":this[o(954)]=n&&n.code||5001;continue;case"6":this[o(1844)]=n&&n[o(1844)]||0;continue}break}}}class Jr extends Qe{constructor(t,n){let o=r,x=e[o(1037)].split("|"),u=0;for(;;){switch(x[u++]){case"0":this["willReco"+o(1163)]=n&&n.willReconnect||!1;continue;case"1":super(t);continue;case"2":this[o(1479)]=n&&n[o(1479)]||!1;continue;case"3":this[o(954)]=n&&n[o(954)]||0;continue;case"4":this[o(1576)]=n&&n[o(1576)]||"";continue}break}}}class Vr extends Qe{constructor(t,n){let o=r;super(t),this[o(1237)]=n&&n[o(1237)]||null}}class Yr extends Vr{constructor(t,n){let o=r;if(e[o(367)]===e[o(367)])super(t),this[o(1237)]=n&&n[o(1237)]||null,this.message=n&&n[o(827)]||null;else return e[o(545)](_0x57f24b,_0x70dcf7)}}class Xr extends Qe{constructor(t,n){let o=r;super(t),this[o(1237)]=n&&n[o(1237)]||null}}function fe(s,{message:t,code:n,error:o}){let x=r,u={cprFz:function(h,p){return e.kfEvq(h,p)},TLDZt:function(h,p){return e[P(1829)](h,p)},hLxCN:x(513)};if(e.vKqGr(e[x(1729)],"wxBDh"))_0x2a0217[x(1820)+"d"]&&(this[x(1723)+x(1905)]()&&(!this[x(1141)]||u[x(1086)](this[x(1141)].readyState,this[x(371)])||u[x(1445)](this[x(1141)][x(1679)+"te"],this.CONNECTING))&&this[x(1795)+x(1410)](),this[x(650)+"er"]&&_0x221f1a["addEvent"+x(892)](x(1749),this[x(1795)+x(1410)]),this[x(650)+"er"]&&_0x32c64d[x(430)+x(892)](u[x(908)],this[x(1795)+x(906)]));else return new Gr(s,{message:t,code:n,error:o})}function ge(s,{code:t,reason:n,wasClean:o,willReconnect:x}){return new Jr(s,{code:t,reason:n,wasClean:o,willReconnect:x})}function Zr(s,{data:t,message:n}){return new Yr(s,{data:t,message:n})}function $r(s,{data:t}){let n=r;return e[n(369)]!==e[n(369)]?0:new Xr(s,{data:t})}function qn(s,{message:t}){return new Wr(s,{message:t})}class Qr{constructor(t,n){let o=r;e.nbyzD(e.ogNrz,o(575))?(e[o(1363)](_0x301ac1,_0x170cc8,18),e[o(1097)](_0x2d8e83,_0x5ccdf3,_0x9f6005)):(this[o(1106)+"s"]=t,this[o(1625)+"es"]=n,this["currentI"+o(1214)]=0,this[o(1093)+o(1762)+o(1890)+"t"]=0)}[r(753)+"pointCon"+r(1635)](){let t=r;this.currentIndex=0,this[t(1093)+t(1762)+"riesCount"]=0}[r(820)+"es"](){let t=r;this["currentE"+t(1762)+"riesCount"]=0}[r(1329)+r(598)+"nt"](){let t=r;return this.endpoints[this[t(901)+t(1214)]]}[r(1329)+r(598)+"ntTriesC"+r(956)](){return this["currentE"+r(1762)+"riesCount"]}[r(518)+"chMaxTries"](){let t=r;return!!(this.currentIndex>=this.endpoints[t(1730)]||e[t(1098)](this.currentIndex,e[t(1822)](this[t(1106)+"s"].length,1))&&e[t(455)](this[t(1093)+t(1762)+t(1890)+"t"],this.maxRetries))}[r(1496)+r(1670)+r(1088)+r(1852)+r(1526)](){let t=r;return e.QsOvx(this[t(901)+t(1214)],this[t(1106)+"s"].length)?!0:e[t(586)](this[t(1093)+t(1762)+t(1890)+"t"],this[t(1625)+"es"])}[r(524)+"ackupEnd"+r(1085)+r(1304)+r(1718)](){let t=r;return this[t(1093)+t(1762)+t(1890)+"t"]=1,this["currentI"+t(1214)]++,this[t(1106)+"s"][this[t(901)+t(1214)]]}[r(1329)+r(598)+r(856)+r(1601)](){let t=r;return this["currentE"+t(1762)+t(1890)+"t"]++,this[t(1329)+t(598)+"nt"]()}}let et=(e[r(1415)](r(793)+"d",typeof globalThis)&&e[r(1426)](e.LpZbX,globalThis[r(926)+"tor"][r(398)])||e[r(854)](e[r(1043)],typeof window)&&r(887)===window[r(926)+r(592)][r(398)])&&e[r(1465)](r(793)+"d",typeof document),Ke=e.sEovT(e[r(1043)],typeof globalThis)&&(r(1341)===globalThis[r(926)+"tor"].name||e[r(1814)](e.sQGTq,globalThis["construc"+r(592)][r(398)]))&&e[r(1616)](r(793)+"d",typeof tt),_t=(e[r(1701)](r(793)+"d",typeof globalThis)&&e[r(1098)](e[r(659)],globalThis[r(926)+r(592)][r(398)])||e.sROGg(e[r(1043)],typeof globalThis)||e[r(854)](e.VaMKE,typeof globalThis)&&!!globalThis[r(397)+r(964)])&&e[r(1043)]!=typeof wx,wt=e[r(1415)](e[r(1043)],typeof globalThis)&&(e[r(1495)]("Dedicate"+r(1389)+r(1912)+"pe",globalThis[r(926)+"tor"][r(398)])||e.iaxwL(e[r(457)],globalThis.constructor[r(398)])||e.kFjfp===globalThis[r(926)+r(592)][r(398)])&&e[r(1925)](e[r(1043)],typeof self),jo=e[r(1475)](e.VaMKE,typeof globalThis)&&e[r(1082)](e[r(659)],globalThis[r(926)+"tor"][r(398)])&&e.bOwUX(e[r(1043)],typeof global)&&e[r(659)]===global.constructor[r(398)]&&e.sEovT(e[r(1043)],typeof process)&&!!process[r(1291)];class Fn{constructor(){let t=r;this[t(526)+"rs"]={}}[r(1215)](t,...n){let o=r;if(e[o(1395)](e[o(619)],o(1824)))_0x24dfe3[o(767)]()[o(1727)](()=>{this["_addWsLi"+o(799)]()});else{let x=this[o(526)+"rs"][t];if(x)x[o(583)]()[o(1449)](u=>u.fn[o(1620)](u[o(1355)],n));else if(e[o(1072)](e.DshrC,t)&&!this[o(1132)]){let u=n.length&&n[0];if(e.pAMeM(u,Error))throw u;let h=new Error(e[o(1494)](e[o(577)],u?e.VcYEJ(" (",u[o(827)])+")":""));throw h[o(1664)]=u,u}return this}}[r(1485)](t,n){let o=r;if(e[o(500)](void 0,t))this[o(526)+"rs"]={};else if(e[o(1495)](void 0,n))this._listeners[t]=null;else{let x=this[o(526)+"rs"][t];if(x)for(let u=0;e[o(1121)](u,x.length);)e[o(1426)](x[u].fn,n)?x[o(1611)](u,1):++u}return this}on(t,n,o){let x=r;return(this[x(526)+"rs"][t]||(this[x(526)+"rs"][t]=[]))[x(495)]({fn:n,ctx:o||this}),this}}class Ko extends Fn{["_formatE"+r(399)+"age"](t){let n=r;return t[n(471)]||t.errNo?(n(527)+" "+(t[n(471)]||"")+" code: "+(t[n(1042)]||"")).trim():JSON[n(990)+"y"](t)}constructor(t,n,o){let x=r;super(),this._socket=null,_t&&wx[x(410)+x(1423)]&&(this._socket=wx[x(410)+x(1423)]({url:t,protocols:n,header:o,fail:this[x(536)+"ocketFai"+x(1387)][x(1506)](this),success:this[x(536)+x(1480)+x(1055)+x(1095)][x(1506)](this)})),Ke&&tt[x(410)+x(1423)]&&(this[x(1533)]=tt[x(410)+x(1423)]({url:t,protocols:n,header:o,fail:this[x(536)+x(1339)+x(1387)][x(1506)](this),success:this["_createS"+x(1480)+"cessHand"+x(1095)][x(1506)](this)}))}[r(536)+r(1480)+r(1055)+r(1095)](){Promise.resolve().then(()=>{let t=P;this[t(1490)+t(799)]()})}[r(536)+r(1339)+r(1387)](t){let n=r;n(1193)===n(1193)?Promise[n(767)]()[n(1727)](()=>{let o=n,x=e[o(1802)](fe,e[o(396)],{message:this[o(972)+o(399)+"age"](t)});this.emit(o(805),x);let u=e.LoRPM(ge,e[o(1834)],{reason:this[o(972)+"rrorMess"+o(1266)](t)});this.emit(e[o(1834)],u)}):(_0xbd4de0[_0x4af464++]=e.AruTz(e[n(900)](_0x284789,12),224),_0x5da3bd[_0x2e57c7++]=e[n(1293)](e[n(1702)](e[n(1640)](_0x4ab536,6),63),128),_0x1cebdf[_0x394134++]=e.zgROe(63,_0x4aa115)|128)}[r(1490)+"steners"](){let t=r,n={hNpXJ:function(o,x){return e[P(816)](o,x)},jWyNi:e[t(456)],CaUwb:e[t(1834)],jDsWr:function(o,x,u){return e[t(1290)](o,x,u)},SwXzk:e[t(1856)],qxMjC:function(o,x,u){return e[t(970)](o,x,u)},UPTEE:t(805)};if(e[t(692)]===e.MnfJT)this[t(1533)][t(541)](o=>{let x=t,u={LOWRq:function(h,p,l){return e.tjkFu(h,p,l)},izhSl:e[x(1834)]};if(e[x(1205)]("ZvLfM",x(1014)))this[x(1215)](e[x(616)],$r(e[x(616)],{...o,data:o[x(471)]||""}));else{let h=this[x(796)][x(1842)+x(1189)+x(1598)](_0x5beab9,_0x5eabcd);this[x(539)+"hCloseEv"+x(1353)](u.LOWRq(_0x50cb40,u.izhSl,{code:_0x4ed6cc,reason:_0x25b7d3,wasClean:!0,willReconnect:h})),h&&this[x(1208)]()}}),this._socket[t(1073)](o=>{let x=t;if(n[x(1643)](n.jWyNi,x(1386))){let u="1|2|4|0|3"[x(1750)]("|"),h=0;for(;;){switch(u[h++]){case"0":this[x(1614)]=!0;continue;case"1":this[x(991)+x(1758)]?.[x(753)+x(1527)+x(1635)]();continue;case"2":this[x(828)+x(1875)]?.["resetCou"+x(1913)]();continue;case"3":this[x(1208)]();continue;case"4":this[x(725)+x(664)]=!1;continue}break}}else this[x(1215)](n[x(800)],n[x(698)](ge,n[x(800)],{...o}))}),this._socket[t(1226)+"e"](o=>{let x=t;this[x(1215)](n[x(1380)],n.qxMjC(Zr,n.SwXzk,{...o}))}),this[t(1533)][t(1310)](o=>{let x=t;this.emit(e[x(396)],fe(e.DshrC,{...o,message:o[x(471)]||""}))});else{let o=_0x1b2945.buffer[t(583)](_0x14842d.byteOffset,e[t(841)](_0x38798a[t(1084)+"th"],_0x55bdf9[t(1229)+"et"]));this[t(1533)]&&this[t(1533)][t(868)]({data:o,fail:x=>{let u=t;this[u(1215)](n[u(1907)],_0x11b661(n.UPTEE,{message:this[u(972)+u(399)+"age"](x)}))}})}}[r(868)](t){let n=r,o={gWnju:e[n(396)],NLGEe:function(x,u,h){return e.cqKJr(x,u,h)}};if(e[n(1119)](t,Uint8Array)){let x=t[n(684)][n(583)](t[n(1229)+"et"],e[n(1753)](t.byteLength,t[n(1229)+"et"]));this[n(1533)]&&this[n(1533)][n(868)]({data:x,fail:u=>{let h=n;this[h(1215)](o[h(1491)],o[h(1002)](fe,h(805),{message:this["_formatErrorMess"+h(1266)](u)}))}})}else this._socket&&this[n(1533)].send({data:t,fail:x=>{let u=n,h={nuCjk:function(p,l){return e[P(1871)](p,l)},EhZnL:function(p,l){return e[P(775)](p,l)},WrOMU:"Skip past limit"};if(e[u(1184)]===e.Xyewr){if(zWNCTv[u(1338)](zWNCTv[u(1644)](_0x565313[u(1561)],_0x58f3c8),_0x5805d5[u(1047)]))throw new _0x2c2015(zWNCTv[u(1379)]);_0x1004f1.offset+=_0x9f098c}else this[u(1215)](u(805),e.Dettz(fe,e[u(396)],{message:this[u(972)+u(399)+u(1266)](x)}))}})}[r(1681)](t,n){let o=r;e[o(1077)](o(904),e[o(523)])?this[o(1801)+o(1399)]():this[o(1533)]&&this[o(1533)][o(1681)]({code:t,reason:n})}[r(430)+r(892)](t,n){this.on(t,n)}[r(342)+r(412)+"ner"](t,n){this.off(t,n)}get readyState(){let t=r;if(e[t(998)](e[t(1192)],"Lnsdw"))return this[t(1533)][t(1679)+"te"];{let{pingInterval:n,pingFrequency:o}=this[t(796)];if((_0x407204[t(1237)]==="hi"&&e.wFtVy(e[t(1070)],o)||e[t(1072)](e[t(1858)],o))&&(this[t(1637)+t(463)](),this[t(1215)](e.eeETB,e.HrSfU),this["_pingPon"+t(755)+"Id"]=e.deeBc(_0x4088cf,this[t(1295)].bind(this),n)),e[t(1072)]("hi",_0x1cbbc9[t(1237)]))return;try{e[t(1299)](_0x2fd428,this,_0x1b5cf8,[_0x21467b,_0x11aeac,_0x5f742e,_0x3bc9a7,_0x1fdda1,_0x1d87b2])}catch(x){let u=e[t(1560)](_0xe93285,e.DshrC,{message:x[t(827)],code:_0x1e5cf3[t(418)+t(1587)],error:x});this[t(539)+t(1025)+"ent"](u)}}}get[r(1596)+"pe"](){return this[r(1533)].binaryType}set[r(1596)+"pe"](t){}get[r(552)](){let t=r;return this[t(1533)][t(552)]}get[r(600)](){let t=r;return this[t(1533)][t(600)]}get[r(1346)+"ns"](){let t=r;return e[t(1474)](e[t(1241)],e[t(1420)])?this[t(1533)][t(1346)+"ns"]:this._endpointManager?.[t(1329)+t(598)+t(938)+t(956)]()||0}get[r(347)+"Amount"](){return 0}}function Ho(s,t){let n=r;if(t)return new t(s[n(552)],s.protocol);if(_t||Ke)return new Ko(s.url,s[n(600)],s[n(988)]);if(e[n(363)](et,wt)&&e[n(854)](e[n(1043)],typeof WebSocket)&&WebSocket)return new WebSocket(s[n(552)],s[n(600)+"s"])}function Wo(s){let t=r,n=e[t(653)][t(1750)]("|"),o=0;for(;;){switch(n[o++]){case"0":return!1;case"1":if(Ke&&tt[t(410)+t(1423)])return!0;continue;case"2":if(s)return!0;continue;case"3":if(_t&&wx[t(410)+t(1423)])return!0;continue;case"4":if(e[t(363)](et,wt)&&e.KxbhL(e[t(1043)],typeof WebSocket)&&WebSocket)return!0;continue}break}}function es(s,t,n){let o=r,x=-1;async function u(h){let p=P;return h<=x?Promise.reject(new Error(e[p(871)])):(x=h,h===n[p(1730)]?Promise[p(767)]():n[h][p(1506)](s)(t,u[p(1506)](null,e[p(1494)](h,1))))}e[o(1781)](u,0)}function ts(s){let t=r,n=0,o=0;for(let x=0;e.txbJf(x,s[t(1730)]);++x)o=s.charCodeAt(x),e[t(746)](o,128)?n+=1:e[t(1800)](o,2048)?n+=2:e[t(1632)](64512&o,55296)&&e[t(1433)](64512,s[t(1541)+"At"](x+1))===56320?(++x,n+=4):n+=3;return n}function ns(s,t,n){let o=r;if(n-t<1)return"";let x="";for(let u=t;e[o(682)](u,n);){let h=s[u++];if(e.IAaXK(h,127))x+=String[o(1486)+"Code"](h);else if(h>=192&&e[o(1726)](h,224))x+=String[o(1486)+o(501)](e[o(1233)](e[o(722)](e.Hboda(31,h),6),e[o(1195)](63,s[u++])));else if(e[o(532)](h,224)&&e[o(1655)](h,240))x+=String[o(1486)+"Code"](e.nlscy(e[o(533)](e[o(714)](15&h,12),e.PvhPG(e[o(1767)](63,s[u++]),6)),e[o(1438)](63,s[u++])));else if(e.CCofR(h,240)){let p=e.siIph(e[o(1069)](7,h)<<18|e.WyuoD(63&s[u++],12)|e.AieDU(e[o(435)](63,s[u++]),6)|63&s[u++],65536);x+=String.fromCharCode(e[o(1034)](55296,p>>10)),x+=String[o(1486)+o(501)](e[o(585)](56320,e.QazIH(1023,p)))}}return x}function Un(s,t,n){let o=r,x={NOvOQ:function(u,h){return e[P(1383)](u,h)},kWODe:function(u,h){return e.fgDox(u,h)},PkWbs:function(u,h){return e[P(1391)](u,h)},sBJhU:function(u,h){return e[P(1650)](u,h)},dyzDd:function(u,h){return u(h)}};if(e[o(1788)](e[o(734)],o(750))){let u=n,h,p;for(let l=0;e[o(824)](l,s[o(1730)]);++l)if(h=s.charCodeAt(l),e[o(1645)](h,128))t[n++]=h;else if(h<2048)e[o(1916)](e[o(452)],e.mgvTK)?(t[n++]=e[o(1061)](h,6)|192,t[n++]=e[o(1446)](e.msMAb(63,h),128)):(_0x1e0bf6=yzHjlQ[o(1471)](yzHjlQ[o(645)](yzHjlQ[o(1803)](31,_0x16826b),6),yzHjlQ[o(1803)](63,_0x417cda)),yzHjlQ[o(639)](_0x5cdb35,128)?_0x8b14f4+=_0x54f838:(_0x69648f+=yzHjlQ.dyzDd(_0x515649,_0x22bc9a),_0x4bb4fe++));else if(e[o(1072)](64512&h,55296)&&e.Ztlmg(e.SeKqM(64512,p=s.charCodeAt(l+1)),56320)){let _=e[o(765)][o(1750)]("|"),S=0;for(;;){switch(_[S++]){case"0":++l;continue;case"1":h=e[o(431)](e[o(1481)](65536,e[o(1546)](1023&h,10)),e[o(499)](1023,p));continue;case"2":t[n++]=e.dvhRZ(e.cpVZK(h,18),240);continue;case"3":t[n++]=e[o(572)](e[o(1424)](63,h),128);continue;case"4":t[n++]=e[o(700)](e[o(1390)](h>>12,63),128);continue;case"5":t[n++]=e[o(732)](e[o(629)](h>>6,63),128);continue}break}}else if(e[o(1235)](e[o(1376)],e.UzooF)){let _=_0x393547[o(1730)]&&_0xfea8b5[0];if(e[o(1720)](_,_0x4ccaa7))throw _;let S=new _0x395673(e.VUcHE(e.uxuEE,_?" ("+_[o(827)]+")":""));throw S.context=_,_}else t[n++]=e[o(588)](h,12)|224,t[n++]=e.QNWBs(e[o(1766)](h,6),63)|128,t[n++]=e.GFGvu(e[o(1390)](63,h),128);return e.oXsOC(n,u)}else return yzHjlQ[o(1737)](_0x29105c,_0xfe1dd(_0x5d4535))}async function rs(s){let t=r;if(e[t(1510)](e[t(717)],typeof s)){let n=new Uint8Array(e.XaJoF(ts,s));return e[t(1299)](Un,s,n,0),n}return e[t(695)](s,ArrayBuffer)?new Uint8Array(s):new Uint8Array(s[t(684)],s.byteOffset,s[t(1084)+"th"])}function Go(s){let t=r,n={ZRBRj:e[t(396)],eGgYf:function(o,x,u){return o(x,u)}};try{if(e.DFGfk===e[t(928)])return e.VFrwb!=typeof s&&(e[t(1119)](s,ArrayBuffer)||s[t(684)]&&e[t(556)](s[t(684)],ArrayBuffer))||e[t(1415)](e[t(717)],typeof s)?"":(JSON.parse(s),t(1033)+t(1639));this.emit(oymZzb[t(1594)],oymZzb.eGgYf(_0x41b086,oymZzb.ZRBRj,{message:this["_formatE"+t(399)+t(1266)](_0x33a85f)}))}catch{return e[t(776)](e[t(717)],typeof s)?e.tvYiC:""}}let Jo=(s,t)=>{let n=r,o={xHLQT:"7|5|6|11"+n(414)+n(1585)+"0",BOtMD:function(x,u){return x>>>u},pugfg:function(x,u){return e[n(1528)](x,u)},avOli:function(x,u){return e.tnEQN(x,u)},tIJlx:function(x,u){return e[n(1397)](x,u)},AWqEc:function(x,u,h,p){return e.hDJRF(x,u,h,p)},eUhWm:function(x,u){return e[n(1716)](x,u)},EPOtw:function(x,u){return x&u},mWNke:function(x,u){return x|u},sycVI:function(x,u){return x|u},uVFIq:function(x,u){return x<<u},FyBUz:function(x,u){return x&u},cRjvL:function(x,u){return e[n(1251)](x,u)},YuwGJ:function(x,u){return e.oNmEz(x,u)},WZKVS:function(x,u){return x|u}};if(e[n(706)](n(949),n(984))){let x=o[n(535)][n(1750)]("|"),u=0;for(;;){switch(x[u++]){case"0":_0x29f7ad=o[n(1039)](o[n(976)](_0x5309dd,(15&_0x35493a[_0x2b59d5])<<28),0);continue;case"1":if(_0x12e32f[_0x5a7cac++]<128)return{value:_0x10f25e?_0x200f87:o[n(976)](0,_0x555c7d),offset:_0x2b60bf};continue;case"2":if(o.avOli(_0x5a3b77[_0x214ace++],128))return{value:_0x5d5bea?_0x2cdce0:o[n(976)](0,_0x458c3e),offset:_0xbd2d2};continue;case"3":if(o.tIJlx(_0x562ce3+=5,_0x33bcc1[n(1730)]))throw _0x2e7bbe=_0x3c1229[n(1730)],o[n(1498)](_0x384835,_0x24827d,10,_0x6b195e[n(1730)]);continue;case"4":_0x2778f2=(_0x3415a8|o[n(1621)](o[n(1472)](127,_0x5315ac[_0x236c4e]),21))>>>0;continue;case"5":if(o.avOli(_0x141279[_0x51b8bf++],128))return{value:_0x25a1d1?_0x2f457b:o[n(1602)](0,_0x83b5ab),offset:_0xdc4054};continue;case"6":_0x425077=o[n(1523)](_0x1e0122,o[n(1883)](o[n(1708)](127,_0x24e7df[_0x2a9181]),7))>>>0;continue;case"7":_0x2af963=o[n(1039)](127&_0x4b7e52[_0x50d4e3],0);continue;case"8":_0x3abfb=o[n(786)](o[n(625)](_0x28c8c2,o[n(1883)](o.FyBUz(127,_0x4af189[_0x431b0c]),14)),0);continue;case"9":if(o.avOli(_0x5af9f2[_0x1d76a2++],128))return{value:_0x318aec?_0x388993:0|_0x359d03,offset:_0x127034};continue;case"10":return{value:_0x3d0a23?_0x102b9c:0|_0x1596d3,offset:_0x989aaa};case"11":if(_0x5da885[_0x3c28f5++]<128)return{value:_0x20613c?_0x1e5f22:o[n(346)](0,_0x28af58),offset:_0x3c5cd6};continue}break}}else switch(s){case e[n(1673)]:case e.KDQaZ:return{["x-use-"+s]:1,"x-tt-env":t};default:return{}}};class Vo{constructor(t){let n=r;this[n(1303)+n(956)]=t,this[n(1891)]=0}[r(1857)](){let t=r;this[t(1891)]++}[r(518)+"chMaxCount"](){let t=r;return e.TvzRN(this.count,this[t(1303)+t(956)])}["resetCou"+r(1913)](t=0){let n=r;this["maxLossC"+n(956)]=t,this.count=0}}async function Yo(s){let t=r,n={dikwh:function(o,x){return o(x)},mhnPN:e[t(1354)],nttFZ:e[t(882)],NdASO:"applicat"+t(1639)+";charset=utf-8",jYiNL:e[t(717)],iwBYq:t(1104)+"e",PxIPl:function(o,x,u,h){return e.ztwoo(o,x,u,h)},gmngR:function(o,x){return e[t(446)](o,x)},QguFb:function(o,x){return e[t(989)](o,x)},TtsEJ:t(855),drDhM:e[t(1817)],ufQyk:e.yTvJR,stphx:e[t(474)],RiUYs:function(o,x){return o+x},xszte:"http",zOfWM:e[t(1872)],Lhoiy:t(921),wKiZj:function(o,x){return e[t(1369)](o,x)}};return new Promise(o=>{let x=t,u={faOXn:function(h,p){return h instanceof p},rDiYz:x(917)+"in;charset=utf-8",xNSNw:n[x(1113)],xIHLF:n[x(593)],ZmHeZ:n[x(861)],XZnUy:n[x(1867)],OTYRD:x(1816),XYboW:function(h,p,l,_){return n[x(1513)](h,p,l,_)}};if(!et)return n[x(993)](o,n[x(802)]);try{if(n[x(1568)](n[x(433)],n[x(1652)])){let h=document[x(1066)+x(381)](n[x(792)]);window[x(634)+x(1610)]=p=>{let l=x;document[l(647)]["removeCh"+l(1612)](h),window[l(634)+"JSONP"]=void 0,n[l(422)](o,p&&p[l(930)]||n[l(802)])},h[x(1741)]=n[x(1555)],h.src=n.RiUYs(s.replace(/^ws/,n.xszte),n[x(747)]);try{if(n[x(1568)](x(921),n[x(1831)])){let p=u[x(1733)](this[x(796)][x(1044)+x(1373)],_0x37bfca)?{force:!!this[x(796)]["payloadE"+x(1373)][x(857)],encoding:this[x(796)][x(1044)+x(1373)][x(670)]?this[x(796)][x(1044)+x(1373)].encoding[x(1895)](/\s/g,"")["toLowerC"+x(1239)]():""}:{force:!1,encoding:this[x(796)][x(1044)+"ncoding"]?this[x(796)][x(1044)+x(1373)][x(1895)](/\s/g,"")[x(672)+x(1239)]():""},l=_0x123836["payloadE"+x(1373)]?_0x1d6a5e[x(1044)+x(1373)].replace(/\s/g,"")["toLowerC"+x(1239)]():"",_=u[x(1733)](this[x(796)][x(1540)+x(516)],_0x124106)?{force:!!this[x(796)]["payloadT"+x(516)][x(857)],type:this[x(796)][x(1540)+x(516)][x(1741)]?this._options[x(1540)+x(516)][x(1741)][x(1895)](/\s/g,"")[x(672)+"ase"]():""}:{force:!1,type:this[x(796)][x(1540)+"ype"]?this[x(796)][x(1540)+x(516)][x(1895)](/\s/g,"")[x(672)+"ase"]():""},S=_0x16c21d[x(1540)+x(516)]?_0x51c212["payloadT"+x(516)][x(1895)](/\s/g,"")[x(672)+x(1239)]():"",A=_.force?_.type:S||_[x(1741)],k=p[x(857)]?p[x(670)]:l||p[x(670)],D=[u[x(1492)],u.xNSNw,u[x(442)],u[x(845)]],N=[u.XZnUy,u[x(909)]];this[x(796)][x(1007)+"ansformT"+x(467)+"ad"]&&D.includes(A)&&(!k||N[x(1412)](k))?_0x4536ce.textPayload=u[x(1550)](_0x103754,_0x53950a[x(1171)],0,_0x45e26c.payload[x(1084)+"th"]):_0x48fe81[x(1003)+x(1276)]=""}else document[x(647)][x(655)+"ild"](h)}catch{document[x(647)].removeChild(h)}}else return}catch{window.frontierJSONP=void 0,n.wKiZj(o,n[x(802)])}})}function Re(s,t,n){let o=r;return!!s?.[o(1133)](x=>x[o(1238)]===t&&x[o(879)]===n)}function nt(s,t){let n=r;if(e[n(1335)](e.gUZuA,e[n(1734)]))_0x28e9c1=_0x7a60aa[n(1541)+"At"](_0x5e9b00),e[n(1800)](_0x3ad64b,128)?_0x3d5df6+=1:e[n(788)](_0x5bab6b,2048)?_0x24401d+=2:e[n(1205)](e[n(997)](64512,_0x460a39),55296)&&e[n(779)](e[n(1156)](64512,_0x1b0cda[n(1541)+"At"](e.PMqtU(_0x4b23c5,1))),56320)?(++_0x30762b,_0x3625c8+=4):_0x133fc3+=3;else return s?.[n(1133)](o=>o[n(1238)]===t)?.value}let jn=null;async function Xo(){let s=r;return jn||(jn=Promise[s(767)]()[s(1727)](ve.bind(ve,s(1256)))),jn}class Zo extends Fn{constructor(t,n){let o=r;super(),this[o(1186)]=t,this._keyPath=n,this[o(1927)]=void 0,this[o(890)+o(484)]=null}async[r(1605)](){await this._init()}async[r(728)](){let t=r,n={FeQWW:function(o,x,u,h){return e[P(1078)](o,x,u,h)}};if(!this[t(1927)]){if(this[t(890)+t(484)])return this["_initPro"+t(484)];try{let o=this[t(1186)],x=this[t(674)];this._initPromise=(async()=>{let u=t,{openDB:h}=await Xo();this[u(1927)]=await n[u(1439)](h,u(634)+"_"+o,1,{upgrade(p){let l=u;p[l(932)+l(400)+"e"](o,{keyPath:x})}})})(),await this[t(890)+t(484)]}catch(o){console[t(1302)](o)}finally{this._initPromise=null}}}async get(t){let n=r;try{return await this[n(728)](),this[n(1927)]?.[n(1261)](this[n(1186)],t)}catch(o){console[n(1302)](o)}}async[r(595)](t,n){let o=r;return await this[o(728)](),this[o(1927)]?.[o(1296)](this[o(1186)],t)}async[r(690)](t){let n=r;if(e[n(1504)]===n(1785))try{return await this[n(728)](),this[n(1927)]?.[n(1017)](this[n(1186)],t)}catch(o){if(e[n(1077)](e[n(576)],n(1897)))console[n(1302)](o);else if(e[n(1684)](_0x3ef6c2,_0x3acec0))return _0x1ddffd}else this[n(1056)+"T"]||this[n(1378)+"X"]?this[n(1668)+n(1248)+n(685)]():this[n(650)+"er"]&&this[n(1065)+n(345)+n(892)]()}async clear(){let t=r,n={ypSBN:function(o,x,u){return e.SOWPO(o,x,u)},dwomv:e[t(368)],qjvjL:e[t(1220)]};try{if(e[t(509)](e[t(1903)],e.hshXH))return await this[t(728)](),this[t(1927)]?.[t(1882)](this[t(1186)]);this[t(1801)+t(1032)+"Id"]=null,this._interval=36e5,this[t(1927)]=n[t(1314)](_0x3b9409,n[t(1863)],n[t(1311)])}catch(o){console.log(o)}}async[r(1232)](){let t=r;return await this[t(728)](),this[t(1927)]?.[t(894)+"ys"](this[t(1186)])}async[r(1531)](){let t=r;return await this._init(),this._qosDB?.[t(1531)](this[t(1186)])}async closeDB(){let t=r;try{this._qosDB?.[t(1681)](),this._qosDB=void 0}catch(n){console[t(1302)](n)}}get[r(1552)](){let t=r;try{return!!this[t(1927)]}catch(n){return console[t(1302)](n),!1}}}class $o{constructor(t,n){let o=r;this[o(660)]=t,this[o(1213)]=n,this[o(1927)]=localStorage}async[r(1605)](){}get[r(1393)](){return"frontier_"+this._DBName}async[r(1261)](t){let n=r,o=this[n(1927)][n(1773)](this._prefix);return JSON.parse(e[n(363)](o,"{}"))[t]}async[r(595)](t,n){let o=r,x=this[o(1927)].getItem(this[o(1393)]),u=JSON[o(1236)](e[o(363)](x,"{}"));return u[n||t[this[o(1213)]]]=t,this[o(1927)].setItem(this[o(1393)],JSON[o(990)+"y"](u)),n||t[this[o(1213)]]}async[r(690)](t){let n=r,o={VVmoj:function(x,u){return e[P(1516)](x,u)}};if(e.IxZrx(n(542),e[n(1081)])){let x=this[n(1927)].getItem(this[n(1393)]),u=JSON[n(1236)](e[n(363)](x,"{}"));return u[t]=void 0,this[n(1927)][n(626)](this._prefix,JSON[n(990)+"y"](u))}else{let x=_0x580c4c();return _0x5f0973(_0x4f7949,x),QJwdPf[n(475)](_0x4a1d48,x)}}async[r(1882)](){return this[r(1927)].clear()}async keys(){let t=r;if(e[t(1164)](e[t(1175)],"tJwkK")){let n=this[t(1927)][t(1773)](this._prefix),o=JSON[t(1236)](e.HPLMk(n,"{}"));return Object[t(1232)](o)}else this[t(883)+t(1254)+"line"]=_0x3bfc9f,_0x3c8e40?this[t(1795)+"nLine"]():this[t(1795)+t(906)]()}async[r(1531)](){let t=r,n=this._qosDB[t(1773)](this[t(1393)]),o=JSON.parse(e[t(1663)](n,"{}"));return Object[t(1595)](o)}[r(1728)](){let t=r,n={bcWnS:e[t(1908)],wLztf:e.RrwDk,XWZKB:function(o,x,u,h){return e.LwvDp(o,x,u,h)},TZrPM:e.BiIYV,JNaNi:e.TqhNt,KifDq:e[t(386)],RrVIR:e[t(701)],XRwAu:function(o,x,u,h){return e.UsLQl(o,x,u,h)}};if(e.xBzrR(e[t(707)],e.WzGLu))return Promise[t(767)]();{let o=n.bcWnS.split("|"),x=0;for(;;){switch(o[x++]){case"0":_0x5eae13[t(1302)](n[t(1683)],_0xd9eccc);continue;case"1":_0x47ad06=n[t(1700)](_0x464cf1,_0x432b2e[_0x254a96[t(373)+t(1026)]],_0x407462,_0x23cd1d);continue;case"2":_0x10e8fd=_0x1c5f88(_0x41eb1c[t(640)+"er"](_0x96b84b[t(999)]||_0x269344),_0x5be883,_0x5176b8);continue;case"3":_0x2a833c[t(1302)](n[t(985)],_0x201dd9);continue;case"4":_0x11dc28=_0x213d8c(_0x42f9ee[t(373)+t(1026)],_0x4de8e8,_0x576f4c);continue;case"5":_0x1a6e0e=n[t(1700)](_0x27d01e,_0x92b45d,_0x28fc44,_0x577512[t(1154)]||0);continue;case"6":_0x44e792[t(1302)](n.JNaNi,_0x55540c,_0x59dd82[t(1154)]);continue;case"7":_0x262995.log(n.KifDq,_0x5f3a61);continue;case"8":_0x393ec[t(1302)](n[t(1739)],_0x586280);continue;case"9":_0x7963d8[t(1302)]("header",_0x3284d2);continue;case"10":_0x12fe5e=n[t(950)](_0x547f2d,0,_0x52a76f,_0xc28ab6);continue}break}}}get[r(1552)](){return!!this[r(1927)]}}class Qo{constructor(t,n){let o=r;this._DBName=t,this[o(1213)]=n,this[o(1927)]=Ke?tt:_t?wx:null}async openDB(){}get[r(1393)](){let t=r;return t(634)+"_"+this[t(660)]}async get(t){let n=r,o=this[n(1927)][n(1196)+n(1294)](this._prefix);return JSON[n(1236)](e[n(481)](o,"{}"))[t]}async[r(595)](t,n){let o=r,x=this[o(1927)]["getStora"+o(1294)](this[o(1393)]),u=JSON[o(1236)](e[o(1686)](x,"{}"));return u[n||t[this[o(1213)]]]=t,this[o(1927)][o(929)+o(1294)](this[o(1393)],JSON[o(990)+"y"](u)),n||t[this[o(1213)]]}async del(t){let n=r,o=this[n(1927)][n(1196)+n(1294)](this[n(1393)]),x=JSON[n(1236)](e[n(1663)](o,"{}"));return x[t]=void 0,this[n(1927)][n(929)+n(1294)](this[n(1393)],JSON[n(990)+"y"](x))}async[r(1882)](){let t=r;return this[t(1927)][t(1735)+t(822)]()}async[r(1232)](){let t=r,n=this[t(1927)][t(1196)+t(641)+"nc"](this[t(1393)]),o=JSON.parse(n||"{}");return Object[t(1232)](o)}async getAll(){let t=r,n=this[t(1927)][t(1196)+"geInfoSync"](this[t(1393)]),o=JSON.parse(e[t(363)](n,"{}"));return Object.values(o)}[r(1728)](){return Promise[r(767)]()}get[r(1552)](){return!!this[r(1927)]}}function ss(s,t){let n=r,o={pogcb:function(x,u){return x(u)},jYcSo:n(1850),cfIvp:e[n(1515)],YSIuf:e[n(1408)]};if(e.MBZTv!==n(1197)){if(e[n(1018)](Ke,Ke))return new Qo(s,t);if(e[n(1018)](et,wt)&&e.VaMKE!=typeof indexedDB)return new Zo(s,t);if(e.YZDZo(et,wt)&&e[n(854)](e.VaMKE,typeof localStorage))return new $o(s,t);throw new Error(n(693)+n(1508)+"d")}else{this._clearPingTimer(),this[n(1396)+n(755)+"Id"]=e.coRAZ(_0xd502f9,this[n(1295)][n(1506)](this),this[n(796)][n(1048)+n(1200)]);let x=()=>{let h=n;o.pogcb(_0x29e5c7,o[h(916)]),this.off(o[h(1071)],x),this[h(1485)](o[h(817)],u)},u=()=>{let h=n;_0x59b750(h(1463)),this.off(o.cfIvp,x),this[h(1485)](h(378)+h(1278)+"t",u)};this.on("ping_onc"+n(1252)+"s",x),this.on(n(378)+"e_timeout",u),this[n(1295)]()}}class e0{constructor(){let t=r;this["_interva"+t(1032)+"Id"]=null,this[t(1801)+"l"]=36e5,this[t(1927)]=e[t(880)](ss,e[t(368)],t(1558)+"id")}async["_interva"+r(1399)](){let t=r;e[t(1205)](t(654),e[t(603)])?(e[t(1697)](clearInterval,this[t(1801)+t(1032)+"Id"]),this[t(1801)+t(1032)+"Id"]=e[t(1849)](setInterval,()=>{let n=t,o={ZtrZu:function(x,u){return e[P(500)](x,u)},ohoWW:function(x,u){return e[P(1613)](x,u)}};if(e[n(1860)]!==e[n(1547)])this[n(789)+n(971)]();else return bNzIpk.ZtrZu(-1,this[n(859)])&&bNzIpk[n(675)](-1,this[n(1178)])?_0x1c08de[n(502)](0,0,this.unsigned):this.low===-1?_0x501ddc[n(502)](0,this[n(1178)]+1,this.unsigned):_0x4fffe2[n(502)](bNzIpk[n(1648)](this[n(859)],1),this.high,this[n(428)])},this[t(1801)+"l"])):(_0x2dba6d-=65536,_0x174d27+=e[t(1363)](_0x12a44f,e.QWoup(_0x426d88,10)+55296,e[t(1009)](e[t(870)](1023,_0x1d3e52),56320)),_0x520681+=3)}async[r(1605)](){let t=r;await this[t(1927)].openDB()[t(1727)](()=>{this[t(1801)+"lFlush"]()})}async["flushExp"+r(971)](){let t=r;(await this[t(1927)]?.[t(1531)]()||[]).filter(({timestamp:x})=>x<Date.now())[t(1449)](x=>{let u=t;this[u(1927)]?.[u(690)](x.message_id)})}async[r(690)](t){let n=r;return this[n(1927)]?.[n(690)](t)}async[r(595)](t,n){let o=r;if(e[o(1807)](e[o(896)],e[o(1357)]))return this[o(1927)]?.[o(595)]({message_id:t,timestamp:n});{let x=_0x1bc33d(_0x3d87bf);this._ws&&e[o(1072)](this._ws[o(1679)+"te"],this[o(371)])&&(this[o(1141)]&&this[o(1141)][o(868)](x),this._debug(e[o(420)],_0x1a3454))}}async[r(1261)](t){let n=r;return this[n(1927)]?.[n(1261)](t)}async[r(1728)](){let t=r;e[t(446)](clearInterval,this[t(1801)+"lTimeoutId"]),await this[t(1927)]?.closeDB()}get[r(1552)](){let t=r,n={eRAfI:e.FQDnP,oaBKG:function(u,h){return e[P(624)](u,h)}};if(e[t(379)]!==e[t(1530)])return this[t(1927)]?.[t(1552)];{let u=n[t(760)][t(1750)]("|"),h=0;for(;;){switch(u[h++]){case"0":if(nMSUOP[t(628)](void 0,x))return x[t(1483)];continue;case"1":var o=_0xd6dd03[_0x38c404]={exports:{}};continue;case"2":_0x47de05[_0x44b865](o,o[t(1483)],_0x364105);continue;case"3":var x=_0x1982e5[_0x5d5b7b];continue;case"4":return o[t(1483)]}break}}}}function Kn(s){let t=r,n=!!this[t(796)][t(1793)+"S"];if(!n)return{enabled:n,isQoSMessage:!1,isQoSAck:!1,isAckCleanupMessage:!1,ackMsgIds:[]};let o=e[t(1078)](Re,s[t(827)].headers,e[t(1798)],"2"),x=o&&e[t(1330)](Re,s.message[t(988)],e.bKGIu,"1"),u=o&&Re(s[t(827)].headers,e[t(1287)],"1"),h=u?e[t(612)](nt,s[t(827)].headers,e[t(1198)])?.split(",")[t(697)](Boolean)||[]:[];return{enabled:n,isQoSMessage:o,isQoSAck:x,isAckCleanupMessage:u,ackMsgIds:h}}async function is(){let s=r;return this[s(724)+s(665)]||(this[s(724)+s(665)]=new e0),this[s(724)+s(665)][s(1552)]||await this[s(724)+s(665)][s(1605)](),this[s(724)+s(665)]}async function t0(s,t){let n=r;if(n(1759)!==e[n(797)])this[n(865)+n(403)].push(_0x508c16),this._debug(e[n(1926)],_0x170c9e);else{let{enableAutoAck:o}=this[n(796)],x=e[n(1538)](Re,s[n(827)][n(988)],e.EiXWc,"1"),u=e.iiyun(Re,s.message[n(988)],n(713),"1"),h=Kn[n(780)](this,s);if(e[n(341)](o,x)){let{SeqID:p,LogID:l,service:_,LogIDNew:S,method:A}=s.message;this[n(1743)]({SeqID:p,LogID:l,LogIDNew:S,service:_,method:A,headers:[{key:e.FyxGa,value:"1"},{key:e[n(411)],value:e.pxmcc(S,"")},{key:e[n(1089)],value:"0"}]})}u&&!h[n(1617)]&&this["_dispatchAckMess"+n(439)](s),e[n(1180)](t)}}async function n0(s,t){this[r(1430)](e.huVUj,s.message),t()}async function r0(s,t){let n=r,o={JzQgK:function(u,h){return u!=h},eOYVN:e[n(717)],qcdjR:function(u,h){return e[n(1119)](u,h)},CLpsi:function(u,h){return e.CuiUi(u,h)},BpFoU:function(u,h){return u!=h},CLnfM:n(1033)+n(1639)},x=Fr(await rs(s[n(1237)]));try{if(e[n(1335)](n(1159),e[n(1889)]))if(e[n(538)](x[n(1171)],Uint8Array))if(e[n(668)](e.WuelF,e[n(1910)])){let u=e[n(1765)](this[n(796)][n(1044)+n(1373)],Object)?{force:!!this[n(796)][n(1044)+n(1373)][n(857)],encoding:this._options["payloadE"+n(1373)][n(670)]?this._options.payloadEncoding[n(670)][n(1895)](/\s/g,"")["toLowerC"+n(1239)]():""}:{force:!1,encoding:this[n(796)][n(1044)+n(1373)]?this[n(796)][n(1044)+n(1373)].replace(/\s/g,"")[n(672)+n(1239)]():""},h=x[n(1044)+"ncoding"]?x[n(1044)+n(1373)][n(1895)](/\s/g,"")[n(672)+n(1239)]():"",p=e[n(695)](this[n(796)][n(1540)+n(516)],Object)?{force:!!this[n(796)][n(1540)+"ype"].force,type:this[n(796)]["payloadT"+n(516)][n(1741)]?this._options["payloadT"+n(516)][n(1741)][n(1895)](/\s/g,"")[n(672)+n(1239)]():""}:{force:!1,type:this[n(796)][n(1540)+n(516)]?this[n(796)][n(1540)+"ype"][n(1895)](/\s/g,"")[n(672)+n(1239)]():""},l=x[n(1540)+n(516)]?x[n(1540)+"ype"][n(1895)](/\s/g,"")[n(672)+n(1239)]():"",_=p.force?p[n(1741)]:l||p.type,S=u[n(857)]?u[n(670)]:h||u.encoding,A=[e.tvYiC,e[n(882)],e[n(1751)],e.VFrwb],k=[n(1104)+"e",e[n(875)]];this[n(796)]["enableTr"+n(1731)+n(467)+"ad"]&&A[n(1412)](_)&&(!S||k[n(1412)](S))?x[n(1003)+n(1276)]=ns(x.payload,0,x[n(1171)][n(1084)+"th"]):x[n(1003)+"oad"]=""}else return PNWzun[n(560)](PNWzun.eOYVN,typeof _0x13c35a)&&(PNWzun[n(470)](_0x504b2b,_0x4667d8)||_0x1d2852.buffer&&PNWzun[n(1442)](_0x2f84e6[n(684)],_0x3aba60))||PNWzun[n(1787)](PNWzun[n(1804)],typeof _0x42c118)?"":(_0x631f9e[n(1236)](_0x59086f),PNWzun[n(1312)]);else x[n(1003)+n(1276)]="";else _0x1c89fa(_0x5991af[n(805)]||new _0x5d3d89(QWqUJA[n(1520)],QWqUJA[n(1520)])),_0x51409b()}catch(u){x[n(1003)+n(1276)]="",console[n(1302)](u)}s[n(827)]=x,e.KaovX(t)}function s0(s,t,n){let o=r,x=n||8192,u=e[o(1771)](x,1),h=null,p=x;return function(l){let _=o;if(l<1||e[_(981)](l,u))return e[_(1888)](s,l);e[_(597)](p,l)>x&&(h=e.PdQZs(s,x),p=0);let S=t[_(780)](h,p,p+=l);return e[_(888)](7,p)&&(p=e[_(1046)](e[_(1900)](7,p),1)),S}}let i0=4294967295;function o0(s,t,n){let o=r;return e[o(1369)](RangeError,e[o(1884)](e.yekue(e.Vvypl(e[o(1009)](o(836)+"t of ran"+o(1262),s)+e[o(1297)],e[o(481)](t,1)),o(392)),n))}function a0(s,t,n){let o=r,x={tZOiG:function(u,h){return e.PKCwg(u,h)},zgkAg:function(u,h){return e.LekdN(u,h)},ZRetk:function(u,h){return e[P(623)](u,h)}};if(e[o(429)](o(680),o(680))){if(e[o(586)](n,i0))throw new Error(e.vwpXP);let u=3;for(;u>=0;){let h=e[o(704)](255,n);Wn(h,s,e.FSYAL(t,u)),n>>>=8,u--}return e[o(569)](t,4)}else{if(kHfwhz[o(1247)](_0x5e21b3,_0x1d0795))return _0x4308b1(_0x30471c);if(_0x1f3fa5[o(1432)](_0xe99d63))return _0x4fbd60[o(1261)](_0x4506ae);let u=kHfwhz[o(795)](_0x5ae176,_0x13174e);return kHfwhz[o(1255)](u,_0x19214f)&&(_0x395fd2[o(595)](_0x4e4d0c,u),_0x51b09e[o(595)](u,_0x2d15a5)),u}}function x0(s,t){let n=r,o=0,x=t,u=e[n(1398)](t,4);for(;e[n(1655)](x,u);){let{value:h,offset:p}=e[n(462)](Hn,s,x);x=p,o=e[n(1564)](e.GnVaP(o,8),0),o+=h}return{value:o,offset:u}}function c0(s,t,n){let o=r,x=e[o(872)][o(1750)]("|"),u=0;for(;;){switch(x[u++]){case"0":if(e[o(948)](s[o(1730)],40))return e[o(941)](e.XRzDB(Un,s,t,n),n);continue;case"1":if(t[o(785)])return e[o(1525)](t[o(785)](s,n),n);continue;case"2":if(!s)return n;continue;case"3":return e[o(1647)](e[o(678)](Un,s,t,n),n);case"4":if(t[o(614)+"e"])return t[o(614)+"e"](s,n)+n;continue}break}}function f0(s,t){let n=r,o=new M(e[n(1572)](e[n(533)](e.TlxIB(s[t+4],24),e[n(1436)](s[e[n(1024)](t,5)],16))|s[e.qZYwL(t,6)]<<8,s[e[n(1453)](t,7)]),e[n(1528)](e[n(1366)](e[n(1763)](e[n(511)](s[t+0],24),e[n(1116)](s[e.kUxet(t,1)],16)),s[e.ggyQq(t,2)]<<8),s[t+3]),!0);return t+=8,{value:o,offset:e[n(1377)](t,8)}}function u0(s,t,n){let o=r,x=s[o(859)],u=s[o(1178)];return t[n]=e[o(1117)](u,24),t[e[o(1162)](n,1)]=e[o(499)](u>>>16,255),t[e.LDaaY(n,2)]=e.veItE(u,8)&255,t[e[o(1613)](n,3)]=e[o(1342)](255,u),t[n+4]=e[o(1319)](x,24),t[e[o(819)](n,5)]=e.jpYUN(x,16)&255,t[e[o(1456)](n,6)]=e[o(1228)](e[o(1147)](x,8),255),t[n+7]=255&x,n+=8,n}function Hn(s,t){let n=r;return s[n(835)+"8"]?{value:s[n(835)+"8"](t),offset:e[n(451)](t,1)}:{value:255&s[t],offset:e[n(1144)](t,1)}}function Wn(s,t,n){let o=r;return t[o(1131)+"t8"]?t.writeUint8(s,n):t[n]=255&s,e[o(757)](n,1)}let d0=function(s){let t=r,n={NnicP:e[t(696)],SHToz:e.IozLj};if(e[t(1098)](e[t(419)],e[t(1403)]))!_0x6caf49[t(1820)+"d"]&&(this._isBrowser&&_0x16af3b[t(342)+t(412)+"ner"](t(1218),this[t(771)+t(1100)]),this[t(650)+"er"]&&_0x38b8be[t(342)+t(412)+t(1658)]("pageshow",this[t(771)+t(913)]),this.close()),this[t(650)+"er"]&&_0x52d772["removeEv"+t(412)+t(1658)](n[t(1714)],this[t(1795)+t(1410)]),this[t(650)+"er"]&&_0x1ec239[t(342)+t(412)+t(1658)](n[t(1406)],this[t(1795)+t(906)]);else return new Uint8Array(s)},l0=e[r(1043)]!=typeof Buffer?Buffer[r(632)+r(1514)]:e[r(561)](s0,d0,Uint8Array.prototype[r(1861)]),h0=16,Gn=32;function g0(s){let t=r,n=0,o={};for(let x=0;e[t(1715)](x,s[t(1730)]);x++)o[s[x][t(373)+"ame"]]=e.hQFuv(ts,s[x][t(373)+t(1026)]),n+=14+o[s[x][t(373)+t(1026)]];return[n,o]}function os(s,t,n){let o=r,[x,u]=e[o(1006)](g0,s),h=e[o(395)](l0,x),p=0;return s.forEach(l=>{let _=o,S=e[_(563)][_(1750)]("|"),A=0;for(;;){switch(S[A++]){case"0":console[_(1302)](e[_(1894)],p);continue;case"1":p=e[_(1345)](a0,h,p,l[_(1154)]||0);continue;case"2":console[_(1302)](e[_(391)],p);continue;case"3":p=e[_(1713)](Wn,u[l[_(373)+_(1026)]],h,p);continue;case"4":console[_(1302)](e[_(1064)],p);continue;case"5":console.log(e.KSHaN,p);continue;case"6":p=Wn(0,h,p);continue;case"7":p=c0(l[_(373)+_(1026)],h,p);continue;case"8":console.log(_(1921)+_(1780),l,l[_(1154)]);continue;case"9":console.log("service-name",p);continue;case"10":p=u0(M.fromNumber(l[_(999)]||t),h,p);continue}break}}),{frameType:Gn,headers:[{key:e[o(522)],value:n}],payload:h}}function p0(s){let t=r,n=0,o=[];for(;e[t(1565)](n,s[t(1084)+"th"]);)if(e[t(1694)](e[t(1887)],e[t(1887)]))_0xed5d16.o=(x,u)=>_0x5e2a10[t(1257)+"e"].hasOwnProperty[t(780)](x,u);else{let{offset:x}=e.mtAPL(Hn,s,n);n=x;let u={cursor_name:"",cursor:0,service:0},{value:h,offset:p}=e[t(555)](x0,s,n);u[t(1154)]=h,n=p;let{value:l,offset:_}=e[t(1351)](Hn,s,n);n=_,u[t(373)+"ame"]=e.UsLQl(ns,s,n,e[t(1494)](n,l)),n+=l;let{value:S,offset:A}=e[t(1826)](f0,s,n);u.cursor=S[t(1448)](),n=A,o[t(495)](u)}return o}function m0(){let s=r;return{frameType:Gn,headers:[{key:e[s(522)],value:e[s(661)]}],payload:void 0}}class _0{constructor(t,n,o){let x=r;this[x(840)+x(1221)]=t,this[x(838)+x(850)]=n,this["_message"+x(557)]=o,this[x(1927)]=e[x(1363)](ss,this["_cursorN"+x(1221)],e[x(980)])}async[r(1605)](){let t=r;await this[t(1927)][t(1605)]()}async[r(343)+"rs"](){let t=r;if(!this[t(1927)][t(1552)])return;let n=this[t(865)+t(557)],o=await this[t(1927)][t(1531)]();switch(console[t(1302)](e[t(506)],o),n){case e[t(1646)]:return o&&o[t(1730)]?os(o,0,this[t(838)+t(850)]):void 0;case e[t(1414)]:return;case e[t(864)]:return o&&o.length?os(o,0,this[t(838)+t(850)]):m0()}}async set(t,n,o){let x=r;return console.log(e[x(1015)],t,n,o),this[x(1927)].set({cursor_name:t,cursor:n,service:o})}async[r(1441)+"rs"](t){let n=r;if(e[n(1394)](e[n(844)],e.FKqLo)){let o=e[n(1280)](p0,t);for(let x of o)if(e[n(606)]===e[n(606)])console[n(1302)]("setcursor",o),await this[n(1927)][n(595)](x);else return _0x34d012||(_0x22779f=[_0x8e0fa3[n(1257)+"e"].advance,_0x21daf3[n(1257)+"e"][n(1079)],_0x35ef18[n(1257)+"e"][n(1079)+n(1323)+"ey"]])}else QWqUJA[n(512)](_0x227581,_0x5a92da(_0x5e0a84[n(987)])),_0x634bef()}async[r(1261)](t){let n=r;return(await this[n(1927)][n(1261)](t))?.[n(999)]}async[r(1728)](){let t=r;e[t(1160)](e[t(705)],t(1599))?await this._qosDB.closeDB():(_0x44e546=_0x1c72dd[e[t(1809)](e[t(775)](_0x4fc85e,_0x3a9090),1)],e[t(1924)](e.Mibkg(192,_0x5e53ed),128)?_0x9414d9+=_0xfc2810:(_0x71e271=e[t(704)](31,_0xca98fb)<<6|63&_0x26ead3,e[t(1917)](_0x3d7f77,128)?_0x3c8ff0+=_0x46d0a7:(_0x32d54a+=_0x3cb7fe(_0x22123e),_0x29d9ff++)))}[r(940)+"rsorFileName"](t){let n=r;this["_cursorF"+n(850)]=t}get isReady(){let t=r;return this[t(1927)][t(1552)]}}let w0=e[r(1703)];async function as(s){let t=r;if(!this[t(796)][t(1793)+"S"])return null;let{aID:n,fpID:o,messageStrategy:x}=this._options,u=e[t(1018)](s,w0);try{return e[t(372)](e.RMgUX,t(729))?(this[t(1609)+"anager"]?s&&this["_cursorM"+t(943)][t(940)+t(1011)+"Name"](s):this[t(1609)+t(943)]=new _0(o+"_"+n+"_"+u,u,x),this[t(1609)+t(943)][t(1552)]||await this[t(1609)+t(943)][t(1605)](),this["_cursorM"+t(943)]):!!this[t(1927)]}catch{return null}}async function b0(s,t){let n=r,o=Re(s[n(827)][n(988)],e[n(1317)],"-1"),x=e[n(1078)](Re,s[n(827)][n(988)],e[n(1158)],"1"),u=e.wMZkt(nt,s[n(827)][n(988)],e[n(1489)]),h=e[n(605)](Number,e[n(1224)](nt,s[n(827)].headers,e[n(1372)]))||0,p=Kn[n(780)](this,s),l=e[n(1428)](Re,s[n(827)][n(988)],e[n(884)],"2"),_=e[n(462)](nt,s[n(827)][n(988)],e.rdAXM),S=Number(e[n(878)](nt,s[n(827)][n(988)],n(691)+n(951)+"ue"));if(p[n(1617)])return e[n(444)](t);let A=p[n(1273)+n(565)]?await is[n(780)](this):null;if(e.gCwcD(s.message.service,0)&&x&&!o||e.jvrQL(s.message.service,0))if(e[n(624)](e[n(349)],e[n(762)])){if(u&&p[n(1273)+n(565)]&&A)return!!!await A[n(1261)](u)&&(e[n(1022)](e[n(1667)],e.gSeqh)?(this[n(539)+n(1382)+n(1059)](s),await A[n(595)](u,Date[n(1267)]()+h)):_0x17ac3f[n(495)](_0x44cb9a)),t();if(l){let k=await as[n(780)](this);if(!k)return this["_dispatc"+n(1382)+n(1059)](s),t();let D=await k[n(1261)](_)??-1;if(e.HhOmw(D,S))e[n(895)]===e.ZsgLg?(this[n(539)+n(1382)+"Event"](s),k.set(_,S,s[n(827)][n(1154)])):this[n(1891)]++;else throw new Error(n(1460)+n(394)+" cursor "+S+(n(1016)+"than local cursor ")+D);return e.GlmQs(t)}return this[n(539)+n(1382)+n(1059)](s),t()}else this[n(526)+"rs"]={}}async function v0(s,t){let n=r,o=Kn[n(780)](this,s);if(!o.isQoSMessage)return e[n(1699)](t);let x=await is[n(780)](this);if(o[n(1589)+n(769)+n(1266)]&&o.ackMsgIds.length)for(let u of o.ackMsgIds)await x[n(690)](u);e[n(548)](t)}async function y0(s,t){let n=r,o=e[n(919)](s[n(827)][n(783)+"e"],h0),x=e[n(706)](s[n(827)].frameType,Gn);if(e[n(630)](!o,!x))return e[n(1695)](t);let u=e[n(858)](nt,s[n(827)][n(988)],e[n(522)]);if(!u)return e.EEfFG(t);let h=await as[n(780)](this,u);if(!h)return e.VHDpR(t);if(o){let p=await h[n(343)+"rs"](),l={frameType:p?.[n(783)+"e"],SeqID:M[n(640)+"er"](this[n(401)]++),LogID:M[n(640)+"er"](this[n(796)][n(1618)+n(1476)]()),service:9e3,method:5,headers:p?.headers,payload:p?.payload},_=e[n(416)](C,l);this[n(1141)]&&this[n(1141)][n(1679)+"te"]&&this[n(1141)][n(868)](_)}if(x){let p=s[n(827)][n(1171)];p&&h.setCursors(p)}}let S0=async function(s,t){let n=r;this[n(1614)]=!1,e.RDveh(clearTimeout,this[n(1208)+"ionTimeo"+n(469)]),e[n(602)](t)},E0=async function(s,t){let n=r;if(!this[n(1141)]||this[n(1141)][n(1679)+"te"]!==this[n(371)])return e.DKHrP(t);let{pingInterval:o}=this[n(796)];this["_endpoin"+n(1758)]?.["resetEnd"+n(1527)+n(1635)]();for(let u=0;e[n(1775)](u,this["_message"+n(403)][n(1730)]);u++){let h=this[n(865)+"Queue"][u];if(e[n(706)](this[n(1141)][n(1679)+"te"],this.OPEN)&&e[n(1364)](null,h))this[n(1141)]&&this[n(1141)][n(868)](h),this._messageQueue[u]=null;else break}this["_message"+n(403)]=this[n(865)+"Queue"][n(697)](u=>!!u),this._pingPongTimeoutId=setTimeout(()=>this[n(1295)](),o),this[n(539)+"hOpenEvent"](s),this[n(650)+"er"]&&this[n(1141)]&&(this[n(1141)].binaryType=this["_binaryT"+n(516)]);let x=this[n(991)+n(1758)]?.[n(1329)+n(598)+"nt"]();this[n(1430)](n(1212)+x+n(1559)),e.jTEwa(t)},C0=async function(s,t){let n=r,o=this["_endpoin"+n(1758)]?.["getCurre"+n(598)+"nt"]();this[n(1430)]("open "+o),e[n(383)](t)};class D0 extends Fn{constructor(t){let n=r,o={kEcgG:function(x,u){return e[P(589)](x,u)},LyNUk:e[n(1234)],bQGkG:function(x,u,h,p){return e[n(1345)](x,u,h,p)},PYISt:function(x,u,h){return e[n(508)](x,u,h)},aSDZU:e[n(396)],ZCfyh:function(x,u,h){return x(u,h)},Jidbw:function(x,u,h){return x(u,h)},LhSfT:function(x,u){return e[n(1285)](x,u)},zlwix:function(x,u){return e[n(1146)](x,u)},gFmXL:e[n(1108)],DNuXl:e[n(1269)],XarWg:function(x,u){return e.dGlzH(x,u)}};if(e[n(504)]===e.gNPfU){super(),this[n(883)+n(1254)+n(1534)]=!0,this._isBrowser=et,this[n(1575)]=jo,this._isMiniTT=Ke,this[n(1378)+"X"]=_t,this[n(1182)+"r"]=wt,this["_message"+n(403)]=[],this[n(991)+n(1758)]=null,this[n(725)+n(664)]=!1,this[n(719)+"ype"]=e[n(727)],this[n(1208)+"Lock"]=!1,this["_connect"+n(1837)+n(469)]=null,this["_reconnectTimeou"+n(1165)]=null,this[n(1396)+n(755)+"Id"]=null,this[n(401)]=0,this[n(1614)]=!1,this[n(1641)]="",this[n(724)+n(665)]=null,this[n(1609)+n(943)]=null,this._pingLossCounter=null,this[n(886)+"ls"]=e[n(978)],this.CLOSED=3,this[n(1181)+"NG"]=0,this[n(371)]=1,this.CLOSING=2,this[n(804)]=p=>{let l=n;if(o[l(393)](o.LyNUk,l(582))){this[l(1637)+"ngTimer"](),this[l(1396)+l(755)+"Id"]=_0x49b94e(this._ping[l(1506)](this),this[l(796)][l(1048)+"rval"]);return}else try{o[l(1306)](es,this,p,[S0,E0,C0])}catch(_){let S=o.PYISt(fe,"error",{message:_[l(827)],code:Me[l(1782)+"OR"],error:_});this["_dispatc"+l(1025)+l(1353)](S)}},this[n(604)+"ge"]=async p=>{let l=n;if(e[l(1335)](e[l(1853)],e[l(1853)]))_0x488b52&&this[l(1609)+l(943)][l(940)+l(1011)+l(1129)](_0x28797a);else{let{pingInterval:_,pingFrequency:S}=this[l(796)];if((e[l(1916)]("hi",p.data)&&e[l(706)](l(1519),S)||e[l(1858)]===S)&&(this[l(1637)+l(463)](),this[l(1215)](e[l(1515)],e[l(1691)]),this["_pingPon"+l(755)+"Id"]=e[l(1826)](setTimeout,this[l(1295)][l(1506)](this),_)),e[l(1074)]("hi",p[l(1237)]))return;try{e[l(742)](es,this,p,[r0,t0,v0,y0,b0,n0])}catch(A){let k=e[l(566)](fe,l(805),{message:A[l(827)],code:Me.MESSAGE_ERROR,error:A});this[l(539)+l(1025)+l(1353)](k)}}},this[n(1586)]=p=>{let l=n,_={sQZyi:o[l(388)],hwmac:function(k,D,N){return o[l(1179)](k,D,N)},zceUN:function(k,D,N){return o[l(631)](k,D,N)},gYnEU:function(k,D){return k instanceof D},LwDfH:function(k,D){return o.LhSfT(k,D)}},S=this[l(991)+l(1758)]?.[l(518)+l(1665)+"es"](),A=this["_endpoin"+l(1758)]?.getCurrentEndpoint();if(S&&!p[l(827)])if(o[l(483)](o[l(1358)],o[l(1636)])){let k=l(1877)+A+(" fail, max retri"+l(350)+"ed");this["_dispatc"+l(1025)+l(1353)](fe(l(805),{message:k,code:Me[l(1593)+l(1698)+"R"],error:p}));return}else{let k={wRRMU:l(805),cTdvf:function(D,N,R){let ue=l;return byEVUH[ue(1054)](D,N,R)}};if(byEVUH[l(1405)](_0x317c9c,_0x18203d)){let D=_0x3fafee[l(684)][l(583)](_0x4b781c[l(1229)+"et"],byEVUH.LwDfH(_0x44d7ef[l(1084)+"th"],_0xeadf59[l(1229)+"et"]));this._socket&&this._socket[l(868)]({data:D,fail:N=>{let R=l;this[R(1215)](byEVUH[R(1004)],byEVUH[R(1721)](_0x58fd00,byEVUH[R(1004)],{message:this["_formatErrorMess"+R(1266)](N)}))}})}else this[l(1533)]&&this._socket[l(868)]({data:_0x4ebf4e,fail:D=>{let N=l;this.emit(k[N(352)],k[N(914)](_0x29561f,k.wRRMU,{message:this[N(972)+N(399)+"age"](D)}))}})}this._ws&&o.XarWg(this[l(1141)][l(1679)+"te"],this[l(371)])&&this["_disconn"+l(1676)](),this["_dispatchErrorEv"+l(1353)](o.PYISt(fe,o[l(388)],{message:p[l(827)],code:Me[l(1318)+l(1112)],error:p}))},this[n(1500)]=async p=>{let l=n;this[l(1914)+l(404)](),this[l(1637)+"ngTimer"](),this[l(558)+l(1769)+"rs"](),this._ws=null,this[l(1208)+l(1211)]=!1;let _=this[l(991)+l(1758)]?.["checkRea"+l(1665)+"es"]();if(!_&&this[l(1723)+l(1905)]()&&!this["_readyCl"+l(664)])if(e[l(1570)]===e[l(1570)]){let S=this._endpointManager?.[l(1329)+"ntEndpoint"](),A=this[l(796)][l(1842)+l(1189)+l(1598)](p[l(954)],p[l(1576)]);this["_dispatc"+l(1819)+l(1353)](ge(l(1681),{code:1006,reason:p.reason||l(1736)+l(1019)+"d, unknown reaso"+l(1418)+l(1642)+S,willReconnect:A})),A&&this._connect();return}else _0x3bfe13.log(_0x22c6df);if(e.KoMAd(1e3,p.code)&&this[l(725)+l(664)]){this[l(539)+"hCloseEv"+l(1353)](e[l(878)](ge,e[l(1834)],{code:1e3,reason:e.EAOsK})),this[l(991)+l(1758)]?.["resetEndpointCon"+l(1635)](),this[l(828)+"sCounter"]?.["resetCou"+l(1913)]();return}if(p.code!==1e3&&_){let S=this["_endpoin"+l(1758)]?.[l(1329)+"ntEndpoint"](),A=p[l(1576)];A||(A=await Yo(this[l(1641)])),A=l(1736)+"ng faile"+l(1634)+A+", hostname: "+S+(l(1553)+l(358)+"ached"),this[l(539)+l(1819)+l(1353)](e[l(1818)](ge,e[l(1834)],{code:p[l(954)],reason:A}));let k=l(1877)+S+(l(480)+l(1049)+l(350)+"ed");this[l(539)+l(1025)+l(1353)](e[l(1573)](fe,l(805),{message:k,code:Me["MAX_RETR"+l(1698)+"R"]})),this["_endpoin"+l(1758)]?.[l(753)+l(1527)+l(1635)](),this[l(828)+"sCounter"]?.["resetCou"+l(1913)]();return}if(e[l(1879)](1e3,p.code)&&!p.reason){let S=this[l(991)+"tManager"]?.[l(1329)+l(598)+"nt"]();this[l(539)+"hCloseEvent"](e[l(1190)](ge,e[l(1834)],{code:p.code,reason:l(1736)+l(1019)+l(934)+l(1880)+l(1418)+"ame: "+S})),this[l(991)+l(1758)]?.[l(753)+l(1527)+l(1635)](),this[l(828)+l(1875)]?.["resetCou"+l(1913)]();return}this[l(539)+l(1819)+l(1353)](p),this["_endpoin"+l(1758)]?.[l(753)+l(1527)+l(1635)](),this[l(828)+l(1875)]?.resetCounter()},this[n(995)]=null,this[n(1132)]=null,this.onmessage=null,this[n(1806)]=null,this["onStartR"+n(503)]=null,this["onReceiv"+n(1742)]=null,this["onStopIm"+n(1020)+n(1279)+"ct"]=null,this[n(1795)+"nLine"]=this[n(1795)+n(1410)][n(1506)](this),this["_handleO"+n(906)]=this[n(1795)+"ffLine"].bind(this),this[n(771)+n(1100)]=this[n(771)+n(1100)].bind(this),this[n(771)+n(913)]=this[n(771)+n(913)][n(1506)](this),this[n(796)]={url:"",automaticOpen:!0,initReconnectInterval:1e3,maxReconnectInterval:1e4,reconnectIntervalGrowFactor:2,timeoutInterval:5e3,maxRetries:5,debug:!1,maxMessageQueueLength:e.IjYoK(1,0),service:0,logIDGenerator:c,headers:void 0,payloadEncoding:"",payloadType:"",fpID:"",deviceID:"",accessKey:"",ttwID:"",bddID:"",aID:"",disableAutoReconnect:!1,customParams:{},pingInterval:15e3,pingTimeoutInterval:4e3,pingFrequency:e[n(1858)],pingLossCount:2,enableTransformTextPayload:!1,logIDNewConfig:{enableAutoGenerateLogIDNew:!1,userIp:""},miniProgramParams:{customHttpHeader:{}},enableAutoAck:!1,reconnectInterceptor:()=>!0,enableQoS:!1,QoSLevel:2,messageStrategy:e.euSpa,env:{xTTEnv:"",xUseEnv:""},listenNetworkChanged:!0};let{url:x,ws:u}=t,h=Array[n(528)](x)?x:e[n(520)](e.VFrwb,typeof x)?[x]:[];if(!h||e[n(808)](0,h[n(1730)]))throw new Error(e[n(1223)]);if(!e[n(1130)](Wo,u))throw new Error(e[n(1689)]);Object.assign(this._options,t),this[n(991)+"tManager"]=new Qr(h,this._options[n(1625)+"es"]),this[n(828)+"sCounter"]=new Vo(this._options[n(1413)+n(390)]),this[n(796)][n(1810)+"cOpen"]&&(this[n(1614)]=!0,this._connect()),this[n(796)][n(494)+n(806)+n(1747)]&&(this[n(1056)+"T"]||this[n(1378)+"X"]?this[n(1668)+n(1248)+n(685)]():this[n(650)+"er"]&&this["_initGlo"+n(345)+n(892)]())}else{let x=0,u=0,h;do h=e[n(1057)](_0x22c95e,_0x46ed6b),e[n(682)](x,32)&&(u|=e[n(730)](e[n(629)](127,h),x)),x+=7;while(e[n(1069)](128,h));return u}}[r(1795)+r(1410)](){let t=r;this[t(796)][t(966)+t(361)+t(1242)]||this[t(725)+t(664)]||this["_handleR"+t(503)]()}[r(1795)+"ffLine"](){let t=r;this[t(1748)+t(977)+"t"]();let n=qn(e.kGhQt,{message:e[t(375)]});this["onStopImmediatel"+t(1279)+"ct"]&&this[t(656)+t(1020)+t(1279)+"ct"](n)}[r(1065)+"balEventListener"](){let t=r;this[t(650)+"er"]&&window[t(430)+"Listener"](e[t(696)],this["_handleO"+t(1410)]),this._isBrowser&&window[t(430)+t(892)](e[t(1915)],this._handleOffLine),this._isBrowser&&window[t(430)+t(892)](e[t(1584)],this[t(771)+t(1100)]),this._isBrowser&&window[t(430)+t(892)](e[t(702)],this[t(771)+t(913)])}[r(1045)+r(345)+r(892)](){let t=r,n={IDeUu:function(o,x){return o===x},OZUaH:function(o,x){return e[P(846)](o,x)}};if(e[t(816)](e.GWKdg,e.GWKdg)){if(lWrJpY[t(764)](void 0,_0xd6b1a2))this[t(526)+"rs"]={};else if(lWrJpY[t(764)](void 0,_0x2841df))this[t(526)+"rs"][_0x216429]=null;else{let o=this[t(526)+"rs"][_0x3a9091];if(o)for(let x=0;lWrJpY[t(547)](x,o[t(1730)]);)lWrJpY[t(764)](o[x].fn,_0x2cfbb5)?o[t(1611)](x,1):++x}return this}else this._isBrowser&&window["removeEv"+t(412)+t(1658)](e[t(696)],this["_handleO"+t(1410)]),this[t(650)+"er"]&&window["removeEv"+t(412)+t(1658)](e[t(1915)],this[t(1795)+t(906)]),this[t(650)+"er"]&&window[t(342)+t(412)+t(1658)](e[t(1584)],this[t(771)+t(1100)]),this[t(650)+"er"]&&window["removeEv"+t(412)+"ner"](e[t(702)],this[t(771)+t(913)])}[r(771)+r(1100)](t){let n=r;!t[n(1820)+"d"]&&(e[n(429)](e[n(415)],e[n(1437)])?(this[n(901)+n(1214)]=0,this[n(1093)+n(1762)+n(1890)+"t"]=0):(this[n(650)+"er"]&&window[n(342)+n(412)+"ner"](e[n(1584)],this[n(771)+n(1100)]),this[n(650)+"er"]&&window[n(342)+n(412)+"ner"](e[n(702)],this._handlePageShow),this[n(1681)]())),this[n(650)+"er"]&&window[n(342)+"entListe"+n(1658)]("online",this[n(1795)+n(1410)]),this[n(650)+"er"]&&window[n(342)+n(412)+n(1658)](e[n(1915)],this[n(1795)+n(906)])}["_handleP"+r(913)](t){let n=r;if(t.persisted)if(e[n(1364)](e[n(1873)],e[n(1873)])){if(this[n(991)+n(1758)]?.[n(518)+n(1665)+"es"]()){let x=this[n(991)+"tManager"]?.["getCurre"+n(598)+"nt"]();this[n(539)+n(1819)+"ent"](e.iGfow(_0xd9e905,e[n(1834)],{code:1006,reason:n(1877)+x+(n(763)+", max re"+n(358)+n(1041)),wasClean:!0}))}else{let x=this[n(796)][n(1842)+n(1189)+n(1598)](_0x365ddf,_0x1b62ca);this[n(539)+n(1819)+n(1353)](_0x52d07d(n(1681),{code:_0x37f42d,reason:_0xe3d31c,wasClean:!0,willReconnect:x})),x&&this[n(1208)]()}return}else this[n(1723)+n(1905)]()&&(!this[n(1141)]||e.jMmZG(this[n(1141)][n(1679)+"te"],this[n(371)])||this[n(1141)][n(1679)+"te"]!==this[n(1181)+"NG"])&&this[n(1795)+n(1410)](),this[n(650)+"er"]&&window[n(430)+"Listener"](e.YFdTK,this[n(1795)+n(1410)]),this[n(650)+"er"]&&window["addEvent"+n(892)](e.IozLj,this["_handleO"+n(906)])}async[r(1344)+r(1536)](t){let n=r,{fpID:o,deviceID:x,bddID:u,ttwID:h,accessKey:p,aID:l,customParams:_={},enableAutoAck:S,enableQoS:A,QoSLevel:k,env:D}=this[n(796)],N,R,ue;this[n(650)+"er"]||this._isMiniWX||this[n(1056)+"T"]?(N=location&&location[n(600)]=="https:"?e[n(478)]:n(1300),R=t[n(1895)](/((^ws)|(^http))((?:[s]*:\/\/))/,""),ue=/^wss(.*:\/\/)/[n(477)](t)?t:""+N+R):(N=e[n(478)],R=t[n(1895)](/(^http)((?:[s]*:\/\/))/,""),ue=/(^ws)((?:[s]*:\/\/))/[n(477)](R)?R:""+N+R);let xs=u?e[n(862)]:h?e.mMWSi:n(440)+"d",cs=u||h||x;if(e.pWuMO(!cs,!xs))throw new Error(n(1035)+"rovide b"+n(1096)+n(1920)+n(1111));let A0=e[n(1199)]==typeof _?await e[n(1180)](_):_,P0=D?Jo(D[n(833)],D[n(1407)]):{},Jn=Object[n(1778)]({device_platform:e.WAIEe,version_code:e[n(1404)],access_key:p,fpid:o,aid:l,[xs]:cs,xsack:S?1:0,xaack:S?1:0,xsqos:A?1:0,qos_level:A?k:void 0,qos_sdk_version:2,...P0},A0),L0=Object.keys(Jn)[n(1462)]((Vn,Yn)=>Jn[Yn]!==void 0?""+Vn+(Vn?"&":"?")+Yn+"="+Jn[Yn]:Vn,"");return ue+n(1249)+L0}async _connect(){let t=r,n={UTdqE:function(o,x){return o==x}};if(e.JMffY(e[t(1828)],e.xicYK))_0x96a666[_0x4fcb28++]=e[t(1876)](_0x5800ec>>18,7)|240,_0x3fac70[_0x23fd6c++]=e[t(1450)](e[t(669)](e[t(554)](_0x1fb4a4,12),63),128);else{if(this[t(1208)+"Lock"]||this[t(725)+t(664)])return;this["_connect"+t(1211)]=!0;try{let o=this[t(991)+t(1758)]?.[t(1496)+"rentEndp"+t(1088)+"hedMaxRetries"](),{timeoutInterval:x}=this[t(796)];if(o){let h=this["_endpoin"+t(1758)]?.["getCurre"+t(598)+"nt"](),p=this[t(991)+t(1758)]?.["replaceB"+t(787)+t(1085)+"UpdateCo"+t(1718)](),l=this[t(991)+t(1758)]?.["getCurre"+t(598)+"ntTriesC"+t(956)]();if(p)if(e[t(1027)]===e[t(1027)]){let _=t(1877)+h+(t(763)+t(1553)+t(358)+t(1427)+t(591)+"backup e"+t(1577))+p+(t(354)+"y"),S=e[t(1628)](fe,e.DshrC,{message:_,code:Me[t(1593)+t(1698)+"R"]});this[t(1430)](_),this[t(539)+"hErrorEv"+t(1353)](S),this._url=await this[t(1344)+t(1536)](p),this[t(1430)](t(1877)+p+" "+l+t(1283)),this[t(558)+t(1769)+"rs"]()}else return new _0x350679(_0x126d29,_0x8393f3,_0x6adf03);else{let _="connect "+h+(t(763)+t(1553)+t(358)+"ached");this._debug(_),this[t(539)+"hErrorEvent"](e.LdCol(fe,e[t(396)],{message:_,code:Me["MAX_RETR"+t(1698)+"R"]}));return}}else{let h=this[t(991)+t(1758)]?.[t(1329)+"ntEndpointAndUpd"+t(1601)](),p=this["_endpoin"+t(1758)]?.[t(1329)+t(598)+t(938)+"ount"]();this[t(1641)]=await this[t(1344)+"eUrl"](e[t(1604)](h,"")),this[t(1430)](t(1877)+h+" "+p+t(1283)),this._removeWsListeners()}if(this[t(1614)])this[t(1614)]=!1;else{let h=e[t(1155)](qn,e[t(912)],{message:t(1896)});this.onStartReconnect&&this[t(490)+t(503)](h)}let u=this["_endpoin"+t(1758)]?.getCurrentEndpointTriesCount()||0;e.NtueB(u,1)&&await this[t(454)](e[t(1822)](u,1)),this._debug(t(1736)+t(611)+this[t(1641)]+(t(1794)+"ls: ")+this[t(886)+"ls"]),this._ws=e[t(1363)](Ho,{url:this[t(1641)],protocols:[this[t(886)+"ls"]],headers:this[t(796)]["miniProg"+t(1105)+"s"][t(1792)+t(1169)]},this._options.ws),(this._isBrowser||this[t(1182)+"r"])&&this[t(1141)]&&(this[t(1141)][t(1596)+"pe"]=this[t(719)+"ype"]),this[t(1490)+t(799)](),this[t(1208)+t(1837)+t(469)]=e[t(555)](setTimeout,this[t(1173)+"ut"].bind(this),x)}catch(o){if(e[t(1091)]==="ggryw")return EifnMA[t(1659)](t(1274),typeof _0x17ff1f)?t(917)+t(447)+t(1524):"";throw this[t(1208)+t(1211)]=!1,o}}}[r(1914)+r(404)](){let t=r;e[t(1781)](clearTimeout,this[t(1208)+"ionTimeoutId"]),this[t(1208)+t(1837)+"utId"]=null}["_clearPi"+r(463)](){let t=r;e.PyxOb(clearTimeout,this._pingPongTimeoutId),clearTimeout(this._reconnectTimeoutId),this[t(1396)+t(755)+"Id"]=null,this[t(866)+t(613)+"tId"]=null}[r(1430)](...t){let n=r;this[n(796)].debug&&console[n(1302)][n(1620)](console,[n(1764)+">",...t])}[r(798)+r(425)+"e"](t){let n=r,{initReconnectInterval:o,maxReconnectInterval:x,reconnectIntervalGrowFactor:u}=this._options,h=o*Math[n(1545)](u,t-1);return e[n(482)](h,x)?x:h}[r(1295)](){let t=r;if(this[t(1141)]&&e.sJIOY(this[t(1141)][t(1679)+"te"],this[t(1181)+"NG"])){this[t(1637)+"ngTimer"](),this[t(1396)+"gTimeoutId"]=e[t(1361)](setTimeout,this._ping[t(1506)](this),this[t(796)].pingInterval);return}if(!this[t(1141)]||this[t(1141)][t(1679)+"te"]!==this[t(371)])return void this[t(1230)+t(503)]();this[t(1141)]&&this[t(1141)][t(868)]("hi"),this[t(866)+t(613)+t(1165)]=e[t(1431)](setTimeout,this["_handleR"+t(503)+t(648)].bind(this),this._options[t(1053)+t(710)+t(790)])}[r(1230)+r(503)+r(648)](){let t=r;this[t(828)+"sCounter"]?.[t(1857)](),this[t(1215)](e[t(1408)],e[t(1370)]),this["_pingLos"+t(1875)]?.["checkRea"+t(801)+"nt"]()?this._handleReconnect():this[t(1295)]()}[r(1723)+r(1905)](){let t=r;return this[t(1056)+"T"]||this[t(1378)+"X"]?this["_miniNavigatorOn"+t(1534)]:(this._isBrowser||this[t(1182)+"r"])&&this[t(796)]["listenNe"+t(806)+t(1747)]?navigator.onLine:!0}_handleReconnect(){let t=r;!this[t(1723)+t(1905)]()||this[t(725)+t(664)]||(this[t(991)+"tManager"]?.["resetEnd"+t(1527)+t(1635)](),this["_pingLos"+t(1875)]?.[t(1272)+t(1913)](),this[t(1141)]?this[t(1052)+"ect"](1001,e[t(1796)],!0):this._connect())}[r(1668)+r(1248)+r(685)](){let t=r,n={CpFLA:function(o,x,u){return e[P(1628)](o,x,u)},QZVRi:t(376)};this[t(1056)+"T"]?tt[t(1036)+t(636)+"hange"](({isConnected:o})=>{let x=t,u={aNZtb:function(h,p,l){return n[P(596)](h,p,l)},EGpXa:function(h,p){return h+p}};if(n[x(441)]!==x(376)){let h=alWikb[x(1705)](_0x188131,_0x52e577,_0x593b57);return _0x547587.bytes[x(1861)](h,alWikb.EGpXa(h,_0x474d79))}else this._miniNavigatorOnline=o,o?this["_handleO"+x(1410)]():this[x(1795)+"ffLine"]()}):this[t(1378)+"X"]&&wx[t(1036)+"kStatusC"+t(370)](({isConnected:o})=>{let x=t;this[x(883)+x(1254)+x(1534)]=o,o?this[x(1795)+"nLine"]():this[x(1795)+x(906)]()})}[r(454)](t){let n={MiUnP:function(o,x,u){return e[P(380)](o,x,u)}};return new Promise(o=>{let x=P;n[x(1063)](setTimeout,o,this[x(798)+x(425)+"e"](t))})}["_disconn"+r(1676)](t=1e3,n="",o=!1){let x=r;this[x(1141)]&&this[x(1748)+"WebSocket"](t,n,o)}[r(1173)+"ut"](){let t=r,n=this[t(991)+"tManager"]?.[t(1329)+t(598)+"nt"]();this[t(1430)](t(1877)+n+" timeout"),this[t(1052)+t(1676)](1001,e.xHrwS,!0)}[r(1743)](t){let n=r,o=e[n(1499)](On,t);this[n(1141)]&&e[n(992)](this[n(1141)][n(1679)+"te"],this[n(371)])&&(this[n(1141)]&&this[n(1141)][n(868)](o),this[n(1430)](e[n(420)],t))}[r(558)+r(1769)+"rs"](){let t=r,n=e[t(1518)][t(1750)]("|"),o=0;for(;;){switch(n[o++]){case"0":this._ws[t(342)+t(412)+t(1658)](t(1654),this[t(804)]);continue;case"1":this[t(1141)][t(342)+t(412)+t(1658)](e[t(1834)],this._onClose);continue;case"2":this[t(1141)][t(342)+t(412)+t(1658)](e[t(1856)],this[t(604)+"ge"]);continue;case"3":this._ws["removeEv"+t(412)+t(1658)](e.DshrC,this[t(1586)]);continue;case"4":if(!this[t(1141)])return;continue}break}}[r(1490)+r(799)](){let t=r,n="2|1|3|4|0"[t(1750)]("|"),o=0;for(;;){switch(n[o++]){case"0":this._ws[t(430)+t(892)](e.DshrC,this[t(1586)]);continue;case"1":this[t(1141)][t(430)+t(892)](e.yysdv,this._onOpen);continue;case"2":if(!this[t(1141)])return;continue;case"3":this[t(1141)]["addEvent"+t(892)](e[t(1834)],this[t(1500)]);continue;case"4":this[t(1141)][t(430)+t(892)](e[t(1856)],this[t(604)+"ge"]);continue}break}}[r(496)+r(1068)](t=1e3,n=""){let o=r;try{if(e[o(1426)](e[o(774)],e[o(1362)])){let x=this._qosDB[o(1773)](this[o(1393)]),u=_0x40c42b.parse(e[o(733)](x,"{}"));return _0x376574.values(u)}else this._ws&&this[o(1141)][o(1681)](t,n)}catch{}}[r(1748)+r(977)+"t"](t=1e3,n="",o=!1){let x=r;if(this[x(1637)+x(463)](),this[x(1914)+x(404)](),this["_removeW"+x(1769)+"rs"](),this[x(496)+x(1068)](1e3,n),this[x(1208)+x(1211)]=!1,o&&this[x(1723)+x(1905)]()&&!this[x(725)+x(664)]){if(this[x(991)+"tManager"]?.checkReachMaxTries()){let h=this._endpointManager?.[x(1329)+x(598)+"nt"]();this[x(539)+x(1819)+x(1353)](e[x(1674)](ge,e[x(1834)],{code:1006,reason:x(1877)+h+(x(763)+", max re"+x(358)+"ached"),wasClean:!0}))}else{let h=this[x(796)][x(1842)+"tInterceptor"](t,n);this[x(539)+x(1819)+x(1353)](e.SOWPO(ge,e[x(1834)],{code:t,reason:n,wasClean:!0,willReconnect:h})),h&&this._connect()}return}this[x(1723)+x(1905)]()||this["_readyCl"+x(664)]?this[x(539)+x(1819)+x(1353)](e[x(1206)](ge,e[x(1834)],{code:t,reason:e[x(360)]})):this["_dispatc"+x(1819)+x(1353)](ge(e.orvxT,{code:1006,reason:e[x(1719)]})),this[x(1141)]=null,this._endpointManager?.[x(753)+x(1527)+x(1635)](),this[x(828)+x(1875)]?.[x(1272)+x(1913)]()}[r(539)+"hOpenEvent"](t){let n=r;this[n(1215)](e[n(616)],t),this.onopen&&this[n(1806)](t)}["_dispatchMessage"+r(1059)](t){let n=r;this[n(1215)](e.avuws,t),this[n(853)+"e"]&&this[n(853)+"e"](t)}[r(539)+r(958)+r(439)](t){let n=r,o={dGUPT:function(x,u){return e[P(1672)](x,u)},ESffb:function(x,u){return e[P(738)](x,u)},vQVkf:function(x,u){return e[P(1281)](x,u)},zUChq:function(x,u){return x===u},KWGxh:function(x,u){return e[P(846)](x,u)},ZzSjk:function(x,u,h){return e.ZnZms(x,u,h)},fHFjv:function(x,u){return e[P(911)](x,u)},QsAVn:function(x,u){return e[P(737)](x,u)},nbjnx:function(x,u){return x+u},HrVBT:function(x,u){return e[P(1694)](x,u)},KDbpH:function(x,u){return x+u},ZriKK:function(x,u){return e[P(1807)](x,u)},olVrp:function(x,u){return x&u},IYElN:function(x,u){return x>>>u},RjGst:function(x,u){return e[P(424)](x,u)},BYAbn:function(x,u){return e[P(1464)](x,u)},BVvIs:function(x,u){return e[P(834)](x,u)},ABaiU:function(x,u){return x>>>u},ruHbE:function(x,u){return e[P(1788)](x,u)},zyBIp:function(x,u){return e[P(488)](x,u)},qIllE:function(x,u){return x|u},GlVlN:function(x,u){return e[P(1788)](x,u)},cOULS:function(x,u){return x|u},cfGYe:function(x,u){return e[P(1228)](x,u)}};if(e[n(1082)](e.atZNv,e[n(459)])){let x=_0xfee43d[n(859)]>>>0,u=zSdwvj[n(1631)](zSdwvj[n(1194)](_0x1b23ac[n(859)]>>>28,zSdwvj.vQVkf(_0x4b65d7[n(1178)],4)),0),h=zSdwvj.dGUPT(_0x5698a4[n(1178)],24),p=zSdwvj.zUChq(0,h)?zSdwvj[n(1532)](0,u)?zSdwvj[n(947)](x,16384)?x<128?1:2:x<2097152?3:4:zSdwvj[n(947)](u,16384)?zSdwvj[n(947)](u,128)?5:6:zSdwvj[n(947)](u,2097152)?7:8:zSdwvj[n(947)](h,128)?9:10,l=zSdwvj[n(667)](_0x40ed24,_0x517694,p),_=_0x21552a[n(923)];switch(p){case 10:_[zSdwvj[n(994)](l,9)]=zSdwvj[n(1008)](zSdwvj[n(1631)](h,7),1);case 9:_[zSdwvj.nbjnx(l,8)]=zSdwvj[n(743)](9,p)?zSdwvj[n(1194)](128,h):127&h;case 8:_[zSdwvj.KDbpH(l,7)]=zSdwvj[n(1744)](8,p)?zSdwvj.dGUPT(u,21)|128:zSdwvj.olVrp(zSdwvj[n(1738)](u,21),127);case 7:_[zSdwvj[n(1680)](l,6)]=zSdwvj.ZriKK(7,p)?zSdwvj[n(1194)](zSdwvj.dGUPT(u,14),128):zSdwvj[n(814)](zSdwvj.dGUPT(u,14),127);case 6:_[l+5]=zSdwvj.HrVBT(6,p)?zSdwvj[n(1893)](zSdwvj[n(633)](u,7),128):zSdwvj[n(814)](zSdwvj[n(1477)](u,7),127);case 5:_[zSdwvj.nbjnx(l,4)]=zSdwvj[n(720)](5,p)?128|u:zSdwvj[n(1008)](127,u);case 4:_[zSdwvj[n(417)](l,3)]=zSdwvj.ruHbE(4,p)?zSdwvj[n(1477)](x,21)|128:zSdwvj.ABaiU(x,21)&127;case 3:_[l+2]=p!==3?zSdwvj[n(1194)](zSdwvj.BVvIs(x,14),128):zSdwvj[n(1222)](zSdwvj.zyBIp(x,14),127);case 2:_[zSdwvj[n(417)](l,1)]=p!==2?zSdwvj[n(946)](x>>>7,128):x>>>7&127;case 1:_[l]=zSdwvj[n(754)](1,p)?zSdwvj[n(1725)](128,x):zSdwvj[n(1543)](127,x)}}else this[n(1215)](e[n(549)],t),this[n(1466)+n(1742)]&&this[n(1466)+n(1742)](t)}[r(539)+r(1025)+r(1353)](t){let n=r;this[n(1215)](e[n(396)],t),this[n(1132)]&&this[n(1132)](t)}["_dispatc"+r(1819)+r(1353)](t){let n=r;this[n(1215)](e.orvxT,t),this[n(995)]&&this[n(995)](t)}get binaryType(){let t=r,n={DdSyv:function(o,x){return e[P(1139)](o,x)},RUHeB:function(o,x){return e[P(888)](o,x)},vJGZX:function(o,x){return e[P(1847)](o,x)},OhwIg:function(o,x){return o&x},hLrSP:function(o,x){return e[P(942)](o,x)},ofyYT:function(o,x){return o(x)},IsTiF:function(o,x){return e[P(915)](o,x)}};if(e.sJIOY(e.MHVFA,e[t(1666)]))return this[t(1141)]?this[t(1141)][t(1596)+"pe"]:this[t(719)+t(516)];_0x2b4617=_0x7b226c(_0x441e3c),_0x43478d|=TEUDSV[t(1923)](TEUDSV[t(1563)](127,_0x47d4d7),14),128&_0x5b193e&&(_0x4e5839=_0x4189ce(_0x80d909),_0x8aa4b6|=TEUDSV[t(1217)](127&_0x4e38c2,21),TEUDSV.OhwIg(128,_0x489014)&&(_0x16336d=TEUDSV[t(374)](_0xc28f2d,_0x3cd89c),_0x599a7e=127&_0x46ee81,TEUDSV.OhwIg(128,_0x580342)&&(_0x131f90=TEUDSV[t(965)](_0x3131dd,_0x35dcee),_0x20bf01|=TEUDSV.DdSyv(TEUDSV[t(1757)](127,_0x587579),7))))}set[r(1596)+"pe"](t){let n=r;this["_binaryT"+n(516)]=t,this[n(1141)]&&(this[n(1141)][n(1596)+"pe"]=t)}get[r(1114)+"nt"](){let t=r;return this._endpointManager?.[t(1329)+t(598)+"ntTriesCount"]()||0}get[r(347)+r(1470)](){let t=r;return this[t(865)+t(403)].reduce((o,x)=>(o+=x&&x[t(1084)+"th"]||0,o),0)+(this[t(1141)]?this[t(1141)]["buffered"+t(1470)]:0)}get[r(1346)+"ns"](){return this[r(1141)]?this._ws.extensions:""}get protocol(){let t=r;return this[t(1141)]?this[t(1141)][t(600)]:""}get readyState(){let t=r;return this[t(1141)]?this[t(1141)][t(1679)+"te"]:this[t(796)][t(1810)+t(590)]?this.CONNECTING:this.CLOSED}get url(){let t=r;return this[t(1141)]?this[t(1141)][t(552)]:this[t(1641)]}[r(1681)](t=1e3,n){let o=r,x=e[o(889)][o(1750)]("|"),u=0;for(;;){switch(x[u++]){case"0":this[o(724)+o(665)]?.[o(1728)]();continue;case"1":this[o(1748)+"WebSocket"](t,n);continue;case"2":this["_clearTi"+o(404)]();continue;case"3":if(!this[o(1141)])return void this._debug(o(1846)+o(1e3)+o(1712)+o(491)+"ed");continue;case"4":if(e[o(708)](this._ws[o(1679)+"te"],this[o(493)])||e[o(479)](this[o(1141)][o(1679)+"te"],this[o(699)]))return void this[o(1430)](e[o(1166)]);continue;case"5":this[o(725)+o(664)]=!0;continue;case"6":this[o(1045)+o(345)+o(892)]();continue;case"7":this[o(1637)+o(463)]();continue}break}}async[r(868)](t,n){let o=r;if(e[o(1115)]===e.HjdOP)return this[o(1141)]?this[o(1141)][o(1346)+"ns"]:"";{if(t==null)throw new Error(e[o(1866)]);e.vOdXh(o(1669),typeof t)&&(t=JSON.stringify(t)),e[o(854)](e[o(717)],typeof t)&&!e.lFOzV(t,ArrayBuffer)&&!(t.buffer&&t.buffer instanceof ArrayBuffer)&&(t=JSON.stringify(t));let x=await e[o(1732)](rs,t),u=e[o(466)](Go,t),{method:h=0,service:p=this[o(796)].service,logID:l=this[o(796)][o(1618)+"erator"](),headers:_=this[o(796)][o(988)],payloadEncoding:S=this[o(796)]["payloadE"+o(1373)],payloadType:A=this._options["payloadT"+o(516)],logIDNew:k=this[o(796)][o(620)+o(1478)][o(1203)+o(1709)+o(1704)+"ew"]?e[o(473)](a,this._options[o(620)+o(1478)][o(1136)]):""}=e[o(481)](n,{});if(!p)throw new Error(e[o(1210)]);let D={SeqID:M[o(640)+"er"](this[o(401)]++),LogID:M[o(640)+"er"](l),service:p,method:h,headers:_,payloadEncoding:e[o(1119)](S,Object)?S[o(670)]?S[o(670)]:"":S,payloadType:e[o(874)](A,Object)?A.type?A.type:u:A||u,payload:x,LogIDNew:k},N=e[o(466)](On,D);return this._ws&&this[o(1141)][o(1679)+"te"]===this[o(371)]?e[o(1469)](e.ilRKA,e.ilRKA)?(this[o(1141)]&&this[o(1141)][o(868)](N),this[o(1430)](e[o(1307)],D)):_0x1509a7[o(932)+"jectStore"](_0x2855d4,{keyPath:_0x4e23e4}):e[o(1655)](this[o(865)+"Queue"][o(1730)],this._options[o(546)+o(1350)+o(731)])?(this["_message"+o(403)][o(495)](N),this[o(1430)](e[o(1926)],D)):(this._messageQueue[o(1855)](),this[o(865)+o(403)][o(495)](N)),{seqID:this._seqId,logID:l,logIDNew:k}}}async[r(1842)+"t"](t){let n=r,o={quVOj:e[n(1673)],osfOJ:n(448)},{url:x}=t||{},u=Array.isArray(x)?x:e.xKtpv(e.VFrwb,typeof x)?[x]:[];if(t&&Object.assign(this._options,t),u&&u[n(1730)]?this[n(991)+n(1758)]=new Qr(u,this[n(796)][n(1625)+"es"]):this[n(991)+n(1758)]?.[n(753)+"pointCon"+n(1635)](),this["_pingLos"+n(1875)]?.[n(1272)+n(1913)](this[n(796)][n(1413)+n(390)]),this["_readyCl"+n(664)]=!1,this[n(1141)]&&e[n(1094)](this[n(1141)][n(1679)+"te"],this[n(493)]))this[n(1052)+"ect"](1e3,e[n(1409)],!0);else if(e[n(1854)](e[n(607)],e[n(1282)]))this[n(1614)]=!0,this._connect();else switch(_0x5911e7){case nJgQTA.quVOj:case nJgQTA[n(1352)]:return{[n(1083)+_0x117ac7]:1,"x-tt-env":_0x59e31c};default:return{}}}async[r(1336)](){let t=r;if(t(1685)===e[t(969)]){if(!this[t(1208)+t(1211)]){let n=e.fTAEf[t(1750)]("|"),o=0;for(;;){switch(n[o++]){case"0":this[t(1208)]();continue;case"1":this[t(828)+"sCounter"]?.["resetCou"+t(1913)]();continue;case"2":this[t(1614)]=!0;continue;case"3":this[t(991)+t(1758)]?.["resetEnd"+t(1527)+t(1635)]();continue;case"4":this[t(725)+t(664)]=!1;continue}break}}}else return(this[t(526)+"rs"][_0x18e834]||(this._listeners[_0x1b9e31]=[]))[t(495)]({fn:_0x62f8a0,ctx:_0x4e9b0e||this}),this}[r(430)+r(892)](t,n){this.on(t,n)}[r(784)+r(1059)](t){let n=r,{type:o}=t;this[n(1215)](o,t)}["removeEventListe"+r(1658)](t,n){this[r(1485)](t,n)}pingOnce(){let t=r,n={rQOBl:function(o,x){return e[P(1258)](o,x)},ogNyf:e[t(1370)],IlShZ:e.nUefB};return new Promise((o,x)=>{let u=t,h={NhOGo:function(_,S){return e[P(1123)](_,S)},JZaCX:u(1850),FafDr:e[u(1515)],ehpNa:e[u(1408)]};this[u(1637)+u(463)](),this[u(1396)+u(755)+"Id"]=e[u(878)](setTimeout,this[u(1295)][u(1506)](this),this._options[u(1048)+u(1200)]);let p=()=>{let _=u;h[_(517)](o,h[_(1790)]),this[_(1485)](h[_(933)],p),this[_(1485)](h[_(1649)],l)},l=()=>{let _=u;n[_(736)](x,n[_(1124)]),this.off(_(378)+_(1252)+"s",p),this[_(1485)](n.IlShZ,l)};this.on(e[u(1515)],p),this.on(e[u(1408)],l),this[u(1295)]()})}}})(),J[y(851)+y(962)]=G[y(851)+y(962)],J[y(1419)+y(587)]=G[y(1419)+y(587)],J[y(1711)+"e"]=G[y(1711)+"e"],J[y(1059)]=G[y(1059)],J.FWS=G[y(348)],J["FrontierMessageE"+y(644)]=G[y(1325)+y(1918)+y(644)],J["MessageE"+y(644)]=G[y(1918)+y(644)],J[y(460)+"t"]=G[y(460)+"t"],J[y(601)+y(1761)]=G[y(601)+y(1761)],J[y(1551)+y(962)]=G[y(1551)+y(962)],J[y(1899)+y(587)]=G[y(1899)+y(587)],J[y(715)+y(739)+"nt"]=G["createMe"+y(739)+"nt"],J[y(1264)+"enEvent"]=G[y(1264)+y(1571)],J["createRe"+y(842)+y(644)]=G[y(893)+y(842)+"vent"],J["decodedF"+y(1101)]=G.decodedFrame,J[y(1493)+y(1026)]=G[y(1493)+y(1026)];for(nn in G)[y(851)+y(962),y(1419)+y(587),y(1711)+"e",y(1059),y(348),y(1325)+y(1918)+y(644),y(1918)+y(644),"OpenEvent",y(601)+y(1761),y(1551)+y(962),y(1899)+y(587),y(715)+"ssageEvent",y(1264)+"enEvent",y(893)+y(842)+"vent","decodedF"+y(1101),y(1493)+"ame"][y(1340)](nn)===-1&&(J[nn]=G[nn]);var nn;Object["definePr"+y(671)](J,y(449)+"le",{value:!0})});var ke=ie((Fd,si)=>{"use strict";var ni=["nodebuffer","arraybuffer","fragments"],ri=typeof Blob<"u";ri&&ni.push("blob");si.exports={BINARY_TYPES:ni,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:ri,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Et=ie((Ud,fn)=>{"use strict";var{EMPTY_BUFFER:cx}=ke(),sr=Buffer[Symbol.species];function fx(r,e){if(r.length===0)return cx;if(r.length===1)return r[0];let i=Buffer.allocUnsafe(e),a=0;for(let c=0;c<r.length;c++){let f=r[c];i.set(f,a),a+=f.length}return a<e?new sr(i.buffer,i.byteOffset,a):i}function ii(r,e,i,a,c){for(let f=0;f<c;f++)i[a+f]=r[f]^e[f&3]}function oi(r,e){for(let i=0;i<r.length;i++)r[i]^=e[i&3]}function ux(r){return r.length===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.length)}function ir(r){if(ir.readOnly=!0,Buffer.isBuffer(r))return r;let e;return r instanceof ArrayBuffer?e=new sr(r):ArrayBuffer.isView(r)?e=new sr(r.buffer,r.byteOffset,r.byteLength):(e=Buffer.from(r),ir.readOnly=!1),e}fn.exports={concat:fx,mask:ii,toArrayBuffer:ux,toBuffer:ir,unmask:oi};if(!process.env.WS_NO_BUFFER_UTIL)try{let r=W("bufferutil");fn.exports.mask=function(e,i,a,c,f){f<48?ii(e,i,a,c,f):r.mask(e,i,a,c,f)},fn.exports.unmask=function(e,i){e.length<32?oi(e,i):r.unmask(e,i)}}catch{}});var ci=ie((jd,xi)=>{"use strict";var ai=Symbol("kDone"),or=Symbol("kRun"),ar=class{constructor(e){this[ai]=()=>{this.pending--,this[or]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[or]()}[or](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[ai])}}};xi.exports=ar});var ft=ie((Kd,li)=>{"use strict";var Ct=W("zlib"),fi=Et(),dx=ci(),{kStatusCode:ui}=ke(),lx=Buffer[Symbol.species],hx=Buffer.from([0,0,255,255]),dn=Symbol("permessage-deflate"),Ie=Symbol("total-length"),xt=Symbol("callback"),qe=Symbol("buffers"),ct=Symbol("error"),un,xr=class{constructor(e){if(this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!un){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;un=new dx(i)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[xt];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let i=this._options,a=e.find(c=>!(i.serverNoContextTakeover===!1&&c.server_no_context_takeover||c.server_max_window_bits&&(i.serverMaxWindowBits===!1||typeof i.serverMaxWindowBits=="number"&&i.serverMaxWindowBits>c.server_max_window_bits)||typeof i.clientMaxWindowBits=="number"&&!c.client_max_window_bits));if(!a)throw new Error("None of the extension offers can be accepted");return i.serverNoContextTakeover&&(a.server_no_context_takeover=!0),i.clientNoContextTakeover&&(a.client_no_context_takeover=!0),typeof i.serverMaxWindowBits=="number"&&(a.server_max_window_bits=i.serverMaxWindowBits),typeof i.clientMaxWindowBits=="number"?a.client_max_window_bits=i.clientMaxWindowBits:(a.client_max_window_bits===!0||i.clientMaxWindowBits===!1)&&delete a.client_max_window_bits,a}acceptAsClient(e){let i=e[0];if(this._options.clientNoContextTakeover===!1&&i.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!i.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(i.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&i.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return i}normalizeParams(e){return e.forEach(i=>{Object.keys(i).forEach(a=>{let c=i[a];if(c.length>1)throw new Error(`Parameter "${a}" must have only a single value`);if(c=c[0],a==="client_max_window_bits"){if(c!==!0){let f=+c;if(!Number.isInteger(f)||f<8||f>15)throw new TypeError(`Invalid value for parameter "${a}": ${c}`);c=f}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${a}": ${c}`)}else if(a==="server_max_window_bits"){let f=+c;if(!Number.isInteger(f)||f<8||f>15)throw new TypeError(`Invalid value for parameter "${a}": ${c}`);c=f}else if(a==="client_no_context_takeover"||a==="server_no_context_takeover"){if(c!==!0)throw new TypeError(`Invalid value for parameter "${a}": ${c}`)}else throw new Error(`Unknown parameter "${a}"`);i[a]=c})}),e}decompress(e,i,a){un.add(c=>{this._decompress(e,i,(f,d)=>{c(),a(f,d)})})}compress(e,i,a){un.add(c=>{this._compress(e,i,(f,d)=>{c(),a(f,d)})})}_decompress(e,i,a){let c=this._isServer?"client":"server";if(!this._inflate){let f=`${c}_max_window_bits`,d=typeof this.params[f]!="number"?Ct.Z_DEFAULT_WINDOWBITS:this.params[f];this._inflate=Ct.createInflateRaw({...this._options.zlibInflateOptions,windowBits:d}),this._inflate[dn]=this,this._inflate[Ie]=0,this._inflate[qe]=[],this._inflate.on("error",px),this._inflate.on("data",di)}this._inflate[xt]=a,this._inflate.write(e),i&&this._inflate.write(hx),this._inflate.flush(()=>{let f=this._inflate[ct];if(f){this._inflate.close(),this._inflate=null,a(f);return}let d=fi.concat(this._inflate[qe],this._inflate[Ie]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Ie]=0,this._inflate[qe]=[],i&&this.params[`${c}_no_context_takeover`]&&this._inflate.reset()),a(null,d)})}_compress(e,i,a){let c=this._isServer?"server":"client";if(!this._deflate){let f=`${c}_max_window_bits`,d=typeof this.params[f]!="number"?Ct.Z_DEFAULT_WINDOWBITS:this.params[f];this._deflate=Ct.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:d}),this._deflate[Ie]=0,this._deflate[qe]=[],this._deflate.on("data",gx)}this._deflate[xt]=a,this._deflate.write(e),this._deflate.flush(Ct.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let f=fi.concat(this._deflate[qe],this._deflate[Ie]);i&&(f=new lx(f.buffer,f.byteOffset,f.length-4)),this._deflate[xt]=null,this._deflate[Ie]=0,this._deflate[qe]=[],i&&this.params[`${c}_no_context_takeover`]&&this._deflate.reset(),a(null,f)})}};li.exports=xr;function gx(r){this[qe].push(r),this[Ie]+=r.length}function di(r){if(this[Ie]+=r.length,this[dn]._maxPayload<1||this[Ie]<=this[dn]._maxPayload){this[qe].push(r);return}this[ct]=new RangeError("Max payload size exceeded"),this[ct].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[ct][ui]=1009,this.removeListener("data",di),this.reset()}function px(r){if(this[dn]._inflate=null,this[ct]){this[xt](this[ct]);return}r[ui]=1007,this[xt](r)}});var ut=ie((Hd,ln)=>{"use strict";var{isUtf8:hi}=W("buffer"),{hasBlob:mx}=ke(),_x=[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];function bx(r){return r>=1e3&&r<=1014&&r!==1004&&r!==1005&&r!==1006||r>=3e3&&r<=4999}function cr(r){let e=r.length,i=0;for(;i<e;)if((r[i]&128)===0)i++;else if((r[i]&224)===192){if(i+1===e||(r[i+1]&192)!==128||(r[i]&254)===192)return!1;i+=2}else if((r[i]&240)===224){if(i+2>=e||(r[i+1]&192)!==128||(r[i+2]&192)!==128||r[i]===224&&(r[i+1]&224)===128||r[i]===237&&(r[i+1]&224)===160)return!1;i+=3}else if((r[i]&248)===240){if(i+3>=e||(r[i+1]&192)!==128||(r[i+2]&192)!==128||(r[i+3]&192)!==128||r[i]===240&&(r[i+1]&240)===128||r[i]===244&&r[i+1]>143||r[i]>244)return!1;i+=4}else return!1;return!0}function vx(r){return mx&&typeof r=="object"&&typeof r.arrayBuffer=="function"&&typeof r.type=="string"&&typeof r.stream=="function"&&(r[Symbol.toStringTag]==="Blob"||r[Symbol.toStringTag]==="File")}ln.exports={isBlob:vx,isValidStatusCode:bx,isValidUTF8:cr,tokenChars:_x};if(hi)ln.exports.isValidUTF8=function(r){return r.length<24?cr(r):hi(r)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let r=W("utf-8-validate");ln.exports.isValidUTF8=function(e){return e.length<32?cr(e):r(e)}}catch{}});var hr=ie((Wd,vi)=>{"use strict";var{Writable:yx}=W("stream"),gi=ft(),{BINARY_TYPES:Sx,EMPTY_BUFFER:pi,kStatusCode:Ex,kWebSocket:Cx}=ke(),{concat:fr,toArrayBuffer:Dx,unmask:Ax}=Et(),{isValidStatusCode:Px,isValidUTF8:mi}=ut(),hn=Buffer[Symbol.species],le=0,_i=1,wi=2,bi=3,ur=4,dr=5,gn=6,lr=class extends yx{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Sx[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Cx]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=le}_write(e,i,a){if(this._opcode===8&&this._state==le)return a();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(a)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let a=this._buffers[0];return this._buffers[0]=new hn(a.buffer,a.byteOffset+e,a.length-e),new hn(a.buffer,a.byteOffset,e)}let i=Buffer.allocUnsafe(e);do{let a=this._buffers[0],c=i.length-e;e>=a.length?i.set(this._buffers.shift(),c):(i.set(new Uint8Array(a.buffer,a.byteOffset,e),c),this._buffers[0]=new hn(a.buffer,a.byteOffset+e,a.length-e)),e-=a.length}while(e>0);return i}startLoop(e){this._loop=!0;do switch(this._state){case le:this.getInfo(e);break;case _i:this.getPayloadLength16(e);break;case wi:this.getPayloadLength64(e);break;case bi:this.getMask();break;case ur:this.getData(e);break;case dr:case gn:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let i=this.consume(2);if((i[0]&48)!==0){let c=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(c);return}let a=(i[0]&64)===64;if(a&&!this._extensions[gi.extensionName]){let c=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(c);return}if(this._fin=(i[0]&128)===128,this._opcode=i[0]&15,this._payloadLength=i[1]&127,this._opcode===0){if(a){let c=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(c);return}if(!this._fragmented){let c=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(c);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let c=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(c);return}this._compressed=a}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let c=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(c);return}if(a){let c=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(c);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let c=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(c);return}}else{let c=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(c);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(i[1]&128)===128,this._isServer){if(!this._masked){let c=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(c);return}}else if(this._masked){let c=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(c);return}this._payloadLength===126?this._state=_i:this._payloadLength===127?this._state=wi:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let i=this.consume(8),a=i.readUInt32BE(0);if(a>Math.pow(2,21)-1){let c=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(c);return}this._payloadLength=a*Math.pow(2,32)+i.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let i=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(i);return}this._masked?this._state=bi:this._state=ur}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=ur}getData(e){let i=pi;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}i=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&Ax(i,this._mask)}if(this._opcode>7){this.controlMessage(i,e);return}if(this._compressed){this._state=dr,this.decompress(i,e);return}i.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(i)),this.dataMessage(e)}decompress(e,i){this._extensions[gi.extensionName].decompress(e,this._fin,(c,f)=>{if(c)return i(c);if(f.length){if(this._messageLength+=f.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let d=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");i(d);return}this._fragments.push(f)}this.dataMessage(i),this._state===le&&this.startLoop(i)})}dataMessage(e){if(!this._fin){this._state=le;return}let i=this._messageLength,a=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let c;this._binaryType==="nodebuffer"?c=fr(a,i):this._binaryType==="arraybuffer"?c=Dx(fr(a,i)):this._binaryType==="blob"?c=new Blob(a):c=a,this._allowSynchronousEvents?(this.emit("message",c,!0),this._state=le):(this._state=gn,setImmediate(()=>{this.emit("message",c,!0),this._state=le,this.startLoop(e)}))}else{let c=fr(a,i);if(!this._skipUTF8Validation&&!mi(c)){let f=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(f);return}this._state===dr||this._allowSynchronousEvents?(this.emit("message",c,!1),this._state=le):(this._state=gn,setImmediate(()=>{this.emit("message",c,!1),this._state=le,this.startLoop(e)}))}}controlMessage(e,i){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,pi),this.end();else{let a=e.readUInt16BE(0);if(!Px(a)){let f=this.createError(RangeError,`invalid status code ${a}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");i(f);return}let c=new hn(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!mi(c)){let f=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");i(f);return}this._loop=!1,this.emit("conclude",a,c),this.end()}this._state=le;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=le):(this._state=gn,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=le,this.startLoop(i)}))}createError(e,i,a,c,f){this._loop=!1,this._errored=!0;let d=new e(a?`Invalid WebSocket frame: ${i}`:i);return Error.captureStackTrace(d,this.createError),d.code=f,d[Ex]=c,d}};vi.exports=lr});var mr=ie((Jd,Ei)=>{"use strict";var{Duplex:Gd}=W("stream"),{randomFillSync:Lx}=W("crypto"),yi=ft(),{EMPTY_BUFFER:kx,kWebSocket:Ix,NOOP:Nx}=ke(),{isBlob:dt,isValidStatusCode:Tx}=ut(),{mask:Si,toBuffer:Je}=Et(),he=Symbol("kByteLength"),zx=Buffer.alloc(4),pn=8*1024,Ve,lt=pn,pe=0,Bx=1,Mx=2,gr=class r{constructor(e,i,a){this._extensions=i||{},a&&(this._generateMask=a,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=pe,this.onerror=Nx,this[Ix]=void 0}static frame(e,i){let a,c=!1,f=2,d=!1;i.mask&&(a=i.maskBuffer||zx,i.generateMask?i.generateMask(a):(lt===pn&&(Ve===void 0&&(Ve=Buffer.alloc(pn)),Lx(Ve,0,pn),lt=0),a[0]=Ve[lt++],a[1]=Ve[lt++],a[2]=Ve[lt++],a[3]=Ve[lt++]),d=(a[0]|a[1]|a[2]|a[3])===0,f=6);let g;typeof e=="string"?(!i.mask||d)&&i[he]!==void 0?g=i[he]:(e=Buffer.from(e),g=e.length):(g=e.length,c=i.mask&&i.readOnly&&!d);let m=g;g>=65536?(f+=8,m=127):g>125&&(f+=2,m=126);let w=Buffer.allocUnsafe(c?g+f:f);return w[0]=i.fin?i.opcode|128:i.opcode,i.rsv1&&(w[0]|=64),w[1]=m,m===126?w.writeUInt16BE(g,2):m===127&&(w[2]=w[3]=0,w.writeUIntBE(g,4,6)),i.mask?(w[1]|=128,w[f-4]=a[0],w[f-3]=a[1],w[f-2]=a[2],w[f-1]=a[3],d?[w,e]:c?(Si(e,a,w,f,g),[w]):(Si(e,a,e,0,g),[w,e])):[w,e]}close(e,i,a,c){let f;if(e===void 0)f=kx;else{if(typeof e!="number"||!Tx(e))throw new TypeError("First argument must be a valid error code number");if(i===void 0||!i.length)f=Buffer.allocUnsafe(2),f.writeUInt16BE(e,0);else{let g=Buffer.byteLength(i);if(g>123)throw new RangeError("The message must not be greater than 123 bytes");f=Buffer.allocUnsafe(2+g),f.writeUInt16BE(e,0),typeof i=="string"?f.write(i,2):f.set(i,2)}}let d={[he]:f.length,fin:!0,generateMask:this._generateMask,mask:a,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==pe?this.enqueue([this.dispatch,f,!1,d,c]):this.sendFrame(r.frame(f,d),c)}ping(e,i,a){let c,f;if(typeof e=="string"?(c=Buffer.byteLength(e),f=!1):dt(e)?(c=e.size,f=!1):(e=Je(e),c=e.length,f=Je.readOnly),c>125)throw new RangeError("The data size must not be greater than 125 bytes");let d={[he]:c,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:9,readOnly:f,rsv1:!1};dt(e)?this._state!==pe?this.enqueue([this.getBlobData,e,!1,d,a]):this.getBlobData(e,!1,d,a):this._state!==pe?this.enqueue([this.dispatch,e,!1,d,a]):this.sendFrame(r.frame(e,d),a)}pong(e,i,a){let c,f;if(typeof e=="string"?(c=Buffer.byteLength(e),f=!1):dt(e)?(c=e.size,f=!1):(e=Je(e),c=e.length,f=Je.readOnly),c>125)throw new RangeError("The data size must not be greater than 125 bytes");let d={[he]:c,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:10,readOnly:f,rsv1:!1};dt(e)?this._state!==pe?this.enqueue([this.getBlobData,e,!1,d,a]):this.getBlobData(e,!1,d,a):this._state!==pe?this.enqueue([this.dispatch,e,!1,d,a]):this.sendFrame(r.frame(e,d),a)}send(e,i,a){let c=this._extensions[yi.extensionName],f=i.binary?2:1,d=i.compress,g,m;typeof e=="string"?(g=Buffer.byteLength(e),m=!1):dt(e)?(g=e.size,m=!1):(e=Je(e),g=e.length,m=Je.readOnly),this._firstFragment?(this._firstFragment=!1,d&&c&&c.params[c._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(d=g>=c._threshold),this._compress=d):(d=!1,f=0),i.fin&&(this._firstFragment=!0);let w={[he]:g,fin:i.fin,generateMask:this._generateMask,mask:i.mask,maskBuffer:this._maskBuffer,opcode:f,readOnly:m,rsv1:d};dt(e)?this._state!==pe?this.enqueue([this.getBlobData,e,this._compress,w,a]):this.getBlobData(e,this._compress,w,a):this._state!==pe?this.enqueue([this.dispatch,e,this._compress,w,a]):this.dispatch(e,this._compress,w,a)}getBlobData(e,i,a,c){this._bufferedBytes+=a[he],this._state=Mx,e.arrayBuffer().then(f=>{if(this._socket.destroyed){let g=new Error("The socket was closed while the blob was being read");process.nextTick(pr,this,g,c);return}this._bufferedBytes-=a[he];let d=Je(f);i?this.dispatch(d,i,a,c):(this._state=pe,this.sendFrame(r.frame(d,a),c),this.dequeue())}).catch(f=>{process.nextTick(Rx,this,f,c)})}dispatch(e,i,a,c){if(!i){this.sendFrame(r.frame(e,a),c);return}let f=this._extensions[yi.extensionName];this._bufferedBytes+=a[he],this._state=Bx,f.compress(e,a.fin,(d,g)=>{if(this._socket.destroyed){let m=new Error("The socket was closed while data was being compressed");pr(this,m,c);return}this._bufferedBytes-=a[he],this._state=pe,a.readOnly=!1,this.sendFrame(r.frame(g,a),c),this.dequeue()})}dequeue(){for(;this._state===pe&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][he],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][he],this._queue.push(e)}sendFrame(e,i){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],i),this._socket.uncork()):this._socket.write(e[0],i)}};Ei.exports=gr;function pr(r,e,i){typeof i=="function"&&i(e);for(let a=0;a<r._queue.length;a++){let c=r._queue[a],f=c[c.length-1];typeof f=="function"&&f(e)}}function Rx(r,e,i){pr(r,e,i),r.onerror(e)}});var Ti=ie((Vd,Ni)=>{"use strict";var{kForOnEventAttribute:Dt,kListener:_r}=ke(),Ci=Symbol("kCode"),Di=Symbol("kData"),Ai=Symbol("kError"),Pi=Symbol("kMessage"),Li=Symbol("kReason"),ht=Symbol("kTarget"),ki=Symbol("kType"),Ii=Symbol("kWasClean"),Ne=class{constructor(e){this[ht]=null,this[ki]=e}get target(){return this[ht]}get type(){return this[ki]}};Object.defineProperty(Ne.prototype,"target",{enumerable:!0});Object.defineProperty(Ne.prototype,"type",{enumerable:!0});var Ye=class extends Ne{constructor(e,i={}){super(e),this[Ci]=i.code===void 0?0:i.code,this[Li]=i.reason===void 0?"":i.reason,this[Ii]=i.wasClean===void 0?!1:i.wasClean}get code(){return this[Ci]}get reason(){return this[Li]}get wasClean(){return this[Ii]}};Object.defineProperty(Ye.prototype,"code",{enumerable:!0});Object.defineProperty(Ye.prototype,"reason",{enumerable:!0});Object.defineProperty(Ye.prototype,"wasClean",{enumerable:!0});var gt=class extends Ne{constructor(e,i={}){super(e),this[Ai]=i.error===void 0?null:i.error,this[Pi]=i.message===void 0?"":i.message}get error(){return this[Ai]}get message(){return this[Pi]}};Object.defineProperty(gt.prototype,"error",{enumerable:!0});Object.defineProperty(gt.prototype,"message",{enumerable:!0});var At=class extends Ne{constructor(e,i={}){super(e),this[Di]=i.data===void 0?null:i.data}get data(){return this[Di]}};Object.defineProperty(At.prototype,"data",{enumerable:!0});var Ox={addEventListener(r,e,i={}){for(let c of this.listeners(r))if(!i[Dt]&&c[_r]===e&&!c[Dt])return;let a;if(r==="message")a=function(f,d){let g=new At("message",{data:d?f:f.toString()});g[ht]=this,mn(e,this,g)};else if(r==="close")a=function(f,d){let g=new Ye("close",{code:f,reason:d.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});g[ht]=this,mn(e,this,g)};else if(r==="error")a=function(f){let d=new gt("error",{error:f,message:f.message});d[ht]=this,mn(e,this,d)};else if(r==="open")a=function(){let f=new Ne("open");f[ht]=this,mn(e,this,f)};else return;a[Dt]=!!i[Dt],a[_r]=e,i.once?this.once(r,a):this.on(r,a)},removeEventListener(r,e){for(let i of this.listeners(r))if(i[_r]===e&&!i[Dt]){this.removeListener(r,i);break}}};Ni.exports={CloseEvent:Ye,ErrorEvent:gt,Event:Ne,EventTarget:Ox,MessageEvent:At};function mn(r,e,i){typeof r=="object"&&r.handleEvent?r.handleEvent.call(r,i):r.call(e,i)}});var _n=ie((Yd,zi)=>{"use strict";var{tokenChars:Pt}=ut();function Se(r,e,i){r[e]===void 0?r[e]=[i]:r[e].push(i)}function qx(r){let e=Object.create(null),i=Object.create(null),a=!1,c=!1,f=!1,d,g,m=-1,w=-1,b=-1,v=0;for(;v<r.length;v++)if(w=r.charCodeAt(v),d===void 0)if(b===-1&&Pt[w]===1)m===-1&&(m=v);else if(v!==0&&(w===32||w===9))b===-1&&m!==-1&&(b=v);else if(w===59||w===44){if(m===-1)throw new SyntaxError(`Unexpected character at index ${v}`);b===-1&&(b=v);let I=r.slice(m,b);w===44?(Se(e,I,i),i=Object.create(null)):d=I,m=b=-1}else throw new SyntaxError(`Unexpected character at index ${v}`);else if(g===void 0)if(b===-1&&Pt[w]===1)m===-1&&(m=v);else if(w===32||w===9)b===-1&&m!==-1&&(b=v);else if(w===59||w===44){if(m===-1)throw new SyntaxError(`Unexpected character at index ${v}`);b===-1&&(b=v),Se(i,r.slice(m,b),!0),w===44&&(Se(e,d,i),i=Object.create(null),d=void 0),m=b=-1}else if(w===61&&m!==-1&&b===-1)g=r.slice(m,v),m=b=-1;else throw new SyntaxError(`Unexpected character at index ${v}`);else if(c){if(Pt[w]!==1)throw new SyntaxError(`Unexpected character at index ${v}`);m===-1?m=v:a||(a=!0),c=!1}else if(f)if(Pt[w]===1)m===-1&&(m=v);else if(w===34&&m!==-1)f=!1,b=v;else if(w===92)c=!0;else throw new SyntaxError(`Unexpected character at index ${v}`);else if(w===34&&r.charCodeAt(v-1)===61)f=!0;else if(b===-1&&Pt[w]===1)m===-1&&(m=v);else if(m!==-1&&(w===32||w===9))b===-1&&(b=v);else if(w===59||w===44){if(m===-1)throw new SyntaxError(`Unexpected character at index ${v}`);b===-1&&(b=v);let I=r.slice(m,b);a&&(I=I.replace(/\\/g,""),a=!1),Se(i,g,I),w===44&&(Se(e,d,i),i=Object.create(null),d=void 0),g=void 0,m=b=-1}else throw new SyntaxError(`Unexpected character at index ${v}`);if(m===-1||f||w===32||w===9)throw new SyntaxError("Unexpected end of input");b===-1&&(b=v);let C=r.slice(m,b);return d===void 0?Se(e,C,i):(g===void 0?Se(i,C,!0):a?Se(i,g,C.replace(/\\/g,"")):Se(i,g,C),Se(e,d,i)),e}function Fx(r){return Object.keys(r).map(e=>{let i=r[e];return Array.isArray(i)||(i=[i]),i.map(a=>[e].concat(Object.keys(a).map(c=>{let f=a[c];return Array.isArray(f)||(f=[f]),f.map(d=>d===!0?c:`${c}=${d}`).join("; ")})).join("; ")).join(", ")}).join(", ")}zi.exports={format:Fx,parse:qx}});var yn=ie(($d,Gi)=>{"use strict";var Ux=W("events"),jx=W("https"),Kx=W("http"),Ri=W("net"),Hx=W("tls"),{randomBytes:Wx,createHash:Gx}=W("crypto"),{Duplex:Xd,Readable:Zd}=W("stream"),{URL:wr}=W("url"),Fe=ft(),Jx=hr(),Vx=mr(),{isBlob:Yx}=ut(),{BINARY_TYPES:Bi,CLOSE_TIMEOUT:Xx,EMPTY_BUFFER:wn,GUID:Zx,kForOnEventAttribute:br,kListener:$x,kStatusCode:Qx,kWebSocket:X,NOOP:Oi}=ke(),{EventTarget:{addEventListener:ec,removeEventListener:tc}}=Ti(),{format:nc,parse:rc}=_n(),{toBuffer:sc}=Et(),qi=Symbol("kAborted"),vr=[8,13],Te=["CONNECTING","OPEN","CLOSING","CLOSED"],ic=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,O=class r extends Ux{constructor(e,i,a){super(),this._binaryType=Bi[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=wn,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=r.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,i===void 0?i=[]:Array.isArray(i)||(typeof i=="object"&&i!==null?(a=i,i=[]):i=[i]),Fi(this,e,i,a)):(this._autoPong=a.autoPong,this._closeTimeout=a.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Bi.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,i,a){let c=new Jx({allowSynchronousEvents:a.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:a.maxPayload,skipUTF8Validation:a.skipUTF8Validation}),f=new Vx(e,this._extensions,a.generateMask);this._receiver=c,this._sender=f,this._socket=e,c[X]=this,f[X]=this,e[X]=this,c.on("conclude",xc),c.on("drain",cc),c.on("error",fc),c.on("message",uc),c.on("ping",dc),c.on("pong",lc),f.onerror=hc,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),i.length>0&&e.unshift(i),e.on("close",Ki),e.on("data",vn),e.on("end",Hi),e.on("error",Wi),this._readyState=r.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Fe.extensionName]&&this._extensions[Fe.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,i){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){xe(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===r.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=r.CLOSING,this._sender.close(e,i,!this._isServer,a=>{a||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),ji(this)}}pause(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,i,a){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(a=e,e=i=void 0):typeof i=="function"&&(a=i,i=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){yr(this,e,a);return}i===void 0&&(i=!this._isServer),this._sender.ping(e||wn,i,a)}pong(e,i,a){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(a=e,e=i=void 0):typeof i=="function"&&(a=i,i=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){yr(this,e,a);return}i===void 0&&(i=!this._isServer),this._sender.pong(e||wn,i,a)}resume(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,i,a){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof i=="function"&&(a=i,i={}),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){yr(this,e,a);return}let c={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...i};this._extensions[Fe.extensionName]||(c.compress=!1),this._sender.send(e||wn,c,a)}terminate(){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){xe(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=r.CLOSING,this._socket.destroy())}}};Object.defineProperty(O,"CONNECTING",{enumerable:!0,value:Te.indexOf("CONNECTING")});Object.defineProperty(O.prototype,"CONNECTING",{enumerable:!0,value:Te.indexOf("CONNECTING")});Object.defineProperty(O,"OPEN",{enumerable:!0,value:Te.indexOf("OPEN")});Object.defineProperty(O.prototype,"OPEN",{enumerable:!0,value:Te.indexOf("OPEN")});Object.defineProperty(O,"CLOSING",{enumerable:!0,value:Te.indexOf("CLOSING")});Object.defineProperty(O.prototype,"CLOSING",{enumerable:!0,value:Te.indexOf("CLOSING")});Object.defineProperty(O,"CLOSED",{enumerable:!0,value:Te.indexOf("CLOSED")});Object.defineProperty(O.prototype,"CLOSED",{enumerable:!0,value:Te.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(r=>{Object.defineProperty(O.prototype,r,{enumerable:!0})});["open","error","close","message"].forEach(r=>{Object.defineProperty(O.prototype,`on${r}`,{enumerable:!0,get(){for(let e of this.listeners(r))if(e[br])return e[$x];return null},set(e){for(let i of this.listeners(r))if(i[br]){this.removeListener(r,i);break}typeof e=="function"&&this.addEventListener(r,e,{[br]:!0})}})});O.prototype.addEventListener=ec;O.prototype.removeEventListener=tc;Gi.exports=O;function Fi(r,e,i,a){let c={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:Xx,protocolVersion:vr[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...a,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(r._autoPong=c.autoPong,r._closeTimeout=c.closeTimeout,!vr.includes(c.protocolVersion))throw new RangeError(`Unsupported protocol version: ${c.protocolVersion} (supported versions: ${vr.join(", ")})`);let f;if(e instanceof wr)f=e;else try{f=new wr(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}f.protocol==="http:"?f.protocol="ws:":f.protocol==="https:"&&(f.protocol="wss:"),r._url=f.href;let d=f.protocol==="wss:",g=f.protocol==="ws+unix:",m;if(f.protocol!=="ws:"&&!d&&!g?m=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:g&&!f.pathname?m="The URL's pathname is empty":f.hash&&(m="The URL contains a fragment identifier"),m){let T=new SyntaxError(m);if(r._redirects===0)throw T;bn(r,T);return}let w=d?443:80,b=Wx(16).toString("base64"),v=d?jx.request:Kx.request,C=new Set,I;if(c.createConnection=c.createConnection||(d?ac:oc),c.defaultPort=c.defaultPort||w,c.port=f.port||w,c.host=f.hostname.startsWith("[")?f.hostname.slice(1,-1):f.hostname,c.headers={...c.headers,"Sec-WebSocket-Version":c.protocolVersion,"Sec-WebSocket-Key":b,Connection:"Upgrade",Upgrade:"websocket"},c.path=f.pathname+f.search,c.timeout=c.handshakeTimeout,c.perMessageDeflate&&(I=new Fe({...c.perMessageDeflate,isServer:!1,maxPayload:c.maxPayload}),c.headers["Sec-WebSocket-Extensions"]=nc({[Fe.extensionName]:I.offer()})),i.length){for(let T of i){if(typeof T!="string"||!ic.test(T)||C.has(T))throw new SyntaxError("An invalid or duplicated subprotocol was specified");C.add(T)}c.headers["Sec-WebSocket-Protocol"]=i.join(",")}if(c.origin&&(c.protocolVersion<13?c.headers["Sec-WebSocket-Origin"]=c.origin:c.headers.Origin=c.origin),(f.username||f.password)&&(c.auth=`${f.username}:${f.password}`),g){let T=c.path.split(":");c.socketPath=T[0],c.path=T[1]}let B;if(c.followRedirects){if(r._redirects===0){r._originalIpc=g,r._originalSecure=d,r._originalHostOrSocketPath=g?c.socketPath:f.host;let T=a&&a.headers;if(a={...a,headers:{}},T)for(let[F,L]of Object.entries(T))a.headers[F.toLowerCase()]=L}else if(r.listenerCount("redirect")===0){let T=g?r._originalIpc?c.socketPath===r._originalHostOrSocketPath:!1:r._originalIpc?!1:f.host===r._originalHostOrSocketPath;(!T||r._originalSecure&&!d)&&(delete c.headers.authorization,delete c.headers.cookie,T||delete c.headers.host,c.auth=void 0)}c.auth&&!a.headers.authorization&&(a.headers.authorization="Basic "+Buffer.from(c.auth).toString("base64")),B=r._req=v(c),r._redirects&&r.emit("redirect",r.url,B)}else B=r._req=v(c);c.timeout&&B.on("timeout",()=>{xe(r,B,"Opening handshake has timed out")}),B.on("error",T=>{B===null||B[qi]||(B=r._req=null,bn(r,T))}),B.on("response",T=>{let F=T.headers.location,L=T.statusCode;if(F&&c.followRedirects&&L>=300&&L<400){if(++r._redirects>c.maxRedirects){xe(r,B,"Maximum redirects exceeded");return}B.abort();let U;try{U=new wr(F,e)}catch{let se=new SyntaxError(`Invalid URL: ${F}`);bn(r,se);return}Fi(r,U,i,a)}else r.emit("unexpected-response",B,T)||xe(r,B,`Unexpected server response: ${T.statusCode}`)}),B.on("upgrade",(T,F,L)=>{if(r.emit("upgrade",T),r.readyState!==O.CONNECTING)return;B=r._req=null;let U=T.headers.upgrade;if(U===void 0||U.toLowerCase()!=="websocket"){xe(r,F,"Invalid Upgrade header");return}let V=Gx("sha1").update(b+Zx).digest("base64");if(T.headers["sec-websocket-accept"]!==V){xe(r,F,"Invalid Sec-WebSocket-Accept header");return}let se=T.headers["sec-websocket-protocol"],me;if(se!==void 0?C.size?C.has(se)||(me="Server sent an invalid subprotocol"):me="Server sent a subprotocol but none was requested":C.size&&(me="Server sent no subprotocol"),me){xe(r,F,me);return}se&&(r._protocol=se);let ze=T.headers["sec-websocket-extensions"];if(ze!==void 0){if(!I){xe(r,F,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let Ee;try{Ee=rc(ze)}catch{xe(r,F,"Invalid Sec-WebSocket-Extensions header");return}let _e=Object.keys(Ee);if(_e.length!==1||_e[0]!==Fe.extensionName){xe(r,F,"Server indicated an extension that was not requested");return}try{I.accept(Ee[Fe.extensionName])}catch{xe(r,F,"Invalid Sec-WebSocket-Extensions header");return}r._extensions[Fe.extensionName]=I}r.setSocket(F,L,{allowSynchronousEvents:c.allowSynchronousEvents,generateMask:c.generateMask,maxPayload:c.maxPayload,skipUTF8Validation:c.skipUTF8Validation})}),c.finishRequest?c.finishRequest(B,r):B.end()}function bn(r,e){r._readyState=O.CLOSING,r._errorEmitted=!0,r.emit("error",e),r.emitClose()}function oc(r){return r.path=r.socketPath,Ri.connect(r)}function ac(r){return r.path=void 0,!r.servername&&r.servername!==""&&(r.servername=Ri.isIP(r.host)?"":r.host),Hx.connect(r)}function xe(r,e,i){r._readyState=O.CLOSING;let a=new Error(i);Error.captureStackTrace(a,xe),e.setHeader?(e[qi]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(bn,r,a)):(e.destroy(a),e.once("error",r.emit.bind(r,"error")),e.once("close",r.emitClose.bind(r)))}function yr(r,e,i){if(e){let a=Yx(e)?e.size:sc(e).length;r._socket?r._sender._bufferedBytes+=a:r._bufferedAmount+=a}if(i){let a=new Error(`WebSocket is not open: readyState ${r.readyState} (${Te[r.readyState]})`);process.nextTick(i,a)}}function xc(r,e){let i=this[X];i._closeFrameReceived=!0,i._closeMessage=e,i._closeCode=r,i._socket[X]!==void 0&&(i._socket.removeListener("data",vn),process.nextTick(Ui,i._socket),r===1005?i.close():i.close(r,e))}function cc(){let r=this[X];r.isPaused||r._socket.resume()}function fc(r){let e=this[X];e._socket[X]!==void 0&&(e._socket.removeListener("data",vn),process.nextTick(Ui,e._socket),e.close(r[Qx])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r))}function Mi(){this[X].emitClose()}function uc(r,e){this[X].emit("message",r,e)}function dc(r){let e=this[X];e._autoPong&&e.pong(r,!this._isServer,Oi),e.emit("ping",r)}function lc(r){this[X].emit("pong",r)}function Ui(r){r.resume()}function hc(r){let e=this[X];e.readyState!==O.CLOSED&&(e.readyState===O.OPEN&&(e._readyState=O.CLOSING,ji(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r)))}function ji(r){r._closeTimer=setTimeout(r._socket.destroy.bind(r._socket),r._closeTimeout)}function Ki(){let r=this[X];if(this.removeListener("close",Ki),this.removeListener("data",vn),this.removeListener("end",Hi),r._readyState=O.CLOSING,!this._readableState.endEmitted&&!r._closeFrameReceived&&!r._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);r._receiver.write(e)}r._receiver.end(),this[X]=void 0,clearTimeout(r._closeTimer),r._receiver._writableState.finished||r._receiver._writableState.errorEmitted?r.emitClose():(r._receiver.on("error",Mi),r._receiver.on("finish",Mi))}function vn(r){this[X]._receiver.write(r)||this.pause()}function Hi(){let r=this[X];r._readyState=O.CLOSING,r._receiver.end(),this.end()}function Wi(){let r=this[X];this.removeListener("error",Wi),this.on("error",Oi),r&&(r._readyState=O.CLOSING,this.destroy())}});var Xi=ie((el,Yi)=>{"use strict";var Qd=yn(),{Duplex:gc}=W("stream");function Ji(r){r.emit("close")}function pc(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Vi(r){this.removeListener("error",Vi),this.destroy(),this.listenerCount("error")===0&&this.emit("error",r)}function mc(r,e){let i=!0,a=new gc({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return r.on("message",function(f,d){let g=!d&&a._readableState.objectMode?f.toString():f;a.push(g)||r.pause()}),r.once("error",function(f){a.destroyed||(i=!1,a.destroy(f))}),r.once("close",function(){a.destroyed||a.push(null)}),a._destroy=function(c,f){if(r.readyState===r.CLOSED){f(c),process.nextTick(Ji,a);return}let d=!1;r.once("error",function(m){d=!0,f(m)}),r.once("close",function(){d||f(c),process.nextTick(Ji,a)}),i&&r.terminate()},a._final=function(c){if(r.readyState===r.CONNECTING){r.once("open",function(){a._final(c)});return}r._socket!==null&&(r._socket._writableState.finished?(c(),a._readableState.endEmitted&&a.destroy()):(r._socket.once("finish",function(){c()}),r.close()))},a._read=function(){r.isPaused&&r.resume()},a._write=function(c,f,d){if(r.readyState===r.CONNECTING){r.once("open",function(){a._write(c,f,d)});return}r.send(c,d)},a.on("end",pc),a.on("error",Vi),a}Yi.exports=mc});var Sr=ie((tl,Zi)=>{"use strict";var{tokenChars:_c}=ut();function wc(r){let e=new Set,i=-1,a=-1,c=0;for(c;c<r.length;c++){let d=r.charCodeAt(c);if(a===-1&&_c[d]===1)i===-1&&(i=c);else if(c!==0&&(d===32||d===9))a===-1&&i!==-1&&(a=c);else if(d===44){if(i===-1)throw new SyntaxError(`Unexpected character at index ${c}`);a===-1&&(a=c);let g=r.slice(i,a);if(e.has(g))throw new SyntaxError(`The "${g}" subprotocol is duplicated`);e.add(g),i=a=-1}else throw new SyntaxError(`Unexpected character at index ${c}`)}if(i===-1||a!==-1)throw new SyntaxError("Unexpected end of input");let f=r.slice(i,c);if(e.has(f))throw new SyntaxError(`The "${f}" subprotocol is duplicated`);return e.add(f),e}Zi.exports={parse:wc}});var so=ie((rl,ro)=>{"use strict";var bc=W("events"),Sn=W("http"),{Duplex:nl}=W("stream"),{createHash:vc}=W("crypto"),$i=_n(),Xe=ft(),yc=Sr(),Sc=yn(),{CLOSE_TIMEOUT:Ec,GUID:Cc,kWebSocket:Dc}=ke(),Ac=/^[+/0-9A-Za-z]{22}==$/,Qi=0,eo=1,no=2,Er=class extends bc{constructor(e,i){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:Ec,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Sc,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Sn.createServer((a,c)=>{let f=Sn.STATUS_CODES[426];c.writeHead(426,{"Content-Length":f.length,"Content-Type":"text/plain"}),c.end(f)}),this._server.listen(e.port,e.host,e.backlog,i)):e.server&&(this._server=e.server),this._server){let a=this.emit.bind(this,"connection");this._removeListeners=Pc(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(c,f,d)=>{this.handleUpgrade(c,f,d,a)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Qi}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===no){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Lt,this);return}if(e&&this.once("close",e),this._state!==eo)if(this._state=eo,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Lt,this):process.nextTick(Lt,this);else{let i=this._server;this._removeListeners(),this._removeListeners=this._server=null,i.close(()=>{Lt(this)})}}shouldHandle(e){if(this.options.path){let i=e.url.indexOf("?");if((i!==-1?e.url.slice(0,i):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,i,a,c){i.on("error",to);let f=e.headers["sec-websocket-key"],d=e.headers.upgrade,g=+e.headers["sec-websocket-version"];if(e.method!=="GET"){Ze(this,e,i,405,"Invalid HTTP method");return}if(d===void 0||d.toLowerCase()!=="websocket"){Ze(this,e,i,400,"Invalid Upgrade header");return}if(f===void 0||!Ac.test(f)){Ze(this,e,i,400,"Missing or invalid Sec-WebSocket-Key header");return}if(g!==13&&g!==8){Ze(this,e,i,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){kt(i,400);return}let m=e.headers["sec-websocket-protocol"],w=new Set;if(m!==void 0)try{w=yc.parse(m)}catch{Ze(this,e,i,400,"Invalid Sec-WebSocket-Protocol header");return}let b=e.headers["sec-websocket-extensions"],v={};if(this.options.perMessageDeflate&&b!==void 0){let C=new Xe({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let I=$i.parse(b);I[Xe.extensionName]&&(C.accept(I[Xe.extensionName]),v[Xe.extensionName]=C)}catch{Ze(this,e,i,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let C={origin:e.headers[`${g===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(C,(I,B,T,F)=>{if(!I)return kt(i,B||401,T,F);this.completeUpgrade(v,f,w,e,i,a,c)});return}if(!this.options.verifyClient(C))return kt(i,401)}this.completeUpgrade(v,f,w,e,i,a,c)}completeUpgrade(e,i,a,c,f,d,g){if(!f.readable||!f.writable)return f.destroy();if(f[Dc])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Qi)return kt(f,503);let w=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${vc("sha1").update(i+Cc).digest("base64")}`],b=new this.options.WebSocket(null,void 0,this.options);if(a.size){let v=this.options.handleProtocols?this.options.handleProtocols(a,c):a.values().next().value;v&&(w.push(`Sec-WebSocket-Protocol: ${v}`),b._protocol=v)}if(e[Xe.extensionName]){let v=e[Xe.extensionName].params,C=$i.format({[Xe.extensionName]:[v]});w.push(`Sec-WebSocket-Extensions: ${C}`),b._extensions=e}this.emit("headers",w,c),f.write(w.concat(`\r
|
|
12
|
+
`).join(`\r
|
|
13
|
+
`)),f.removeListener("error",to),b.setSocket(f,d,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(b),b.on("close",()=>{this.clients.delete(b),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Lt,this)})),g(b,c)}};ro.exports=Er;function Pc(r,e){for(let i of Object.keys(e))r.on(i,e[i]);return function(){for(let a of Object.keys(e))r.removeListener(a,e[a])}}function Lt(r){r._state=no,r.emit("close")}function to(){this.destroy()}function kt(r,e,i,a){i=i||Sn.STATUS_CODES[e],a={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(i),...a},r.once("finish",r.destroy),r.end(`HTTP/1.1 ${e} ${Sn.STATUS_CODES[e]}\r
|
|
14
|
+
`+Object.keys(a).map(c=>`${c}: ${a[c]}`).join(`\r
|
|
15
|
+
`)+`\r
|
|
16
|
+
\r
|
|
17
|
+
`+i)}function Ze(r,e,i,a,c,f){if(r.listenerCount("wsClientError")){let d=new Error(c);Error.captureStackTrace(d,Ze),r.emit("wsClientError",d,i,e)}else kt(i,a,c,f)}});import{spawn as Zc}from"node:child_process";import{existsSync as $c,openSync as Qc}from"node:fs";import{mkdir as ef}from"node:fs/promises";import{dirname as tf}from"node:path";import{fileURLToPath as nf}from"node:url";function Ar(r=K()){return $c(r.libEntry)?r.libEntry:nf(new URL("../index.ts",import.meta.url))}async function Co(r={}){let e=r.paths??K(),i=r.entryOverride??Ar(e);await ef(tf(e.logFile),{recursive:!0});let a=Qc(e.logFile,"a"),f=i.endsWith(".ts")?["--import","tsx/esm",i,"--daemon"]:[i,"--daemon"],d=Zc(process.execPath,f,{detached:!0,stdio:["ignore",a,a],env:{...process.env,COZE_BRIDGE_DAEMON:"1"}});if(d.unref(),typeof d.pid!="number")throw new Error("failed to spawn daemon (no pid)");return rf.info("daemon spawned",{pid:d.pid,entry:i}),{pid:d.pid,entry:i}}var rf,Pr=De(()=>{"use strict";j();ae();rf=z("spawn-daemon")});import{spawn as df}from"node:child_process";import{mkdir as lf,unlink as hf,writeFile as gf}from"node:fs/promises";import{dirname as pf,join as mf}from"node:path";function In(r){return r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function ko(r,e){return new Promise((i,a)=>{let c=df(r,e,{stdio:["ignore","pipe","pipe"]}),f="";c.stderr?.on("data",d=>{f+=d.toString("utf8")}),c.on("error",a),c.on("close",d=>{d===0?i():a(new Error(`${r} ${e.join(" ")} exited ${d}: ${f.trim()}`))})})}var kn,Ir,Nr,Io=De(()=>{"use strict";j();kn=z("supervisor.launchd"),Ir="ai.coze.bridge",Nr={platform:"darwin",renderConfig(r){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
18
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
19
|
+
<plist version="1.0">
|
|
20
|
+
<dict>
|
|
21
|
+
<key>Label</key>
|
|
22
|
+
<string>${Ir}</string>
|
|
23
|
+
<key>ProgramArguments</key>
|
|
24
|
+
<array>
|
|
25
|
+
<string>${In(r.nodeBin)}</string>
|
|
26
|
+
<string>${In(r.entry)}</string>
|
|
27
|
+
<string>--daemon</string>
|
|
28
|
+
</array>
|
|
29
|
+
<key>RunAtLoad</key>
|
|
30
|
+
<true/>
|
|
31
|
+
<key>KeepAlive</key>
|
|
32
|
+
<true/>
|
|
33
|
+
<key>ThrottleInterval</key>
|
|
34
|
+
<integer>10</integer>
|
|
35
|
+
<key>StandardOutPath</key>
|
|
36
|
+
<string>${In(r.logFile)}</string>
|
|
37
|
+
<key>StandardErrorPath</key>
|
|
38
|
+
<string>${In(r.logFile)}</string>
|
|
39
|
+
</dict>
|
|
40
|
+
</plist>
|
|
41
|
+
`},configPath(r){return mf(r.homeDir,"Library","LaunchAgents",`${Ir}.plist`)},async install(r){let e=this.configPath(r);await lf(pf(e),{recursive:!0}),await gf(e,this.renderConfig(r),"utf8"),kn.info("plist written",{plistPath:e}),await ko("launchctl",["load","-w",e]),kn.info("launchd job loaded",{label:Ir})},async uninstall(r){let e=this.configPath(r);await ko("launchctl",["unload","-w",e]).catch(i=>kn.warn("launchctl unload failed (ignored)",{err:String(i)})),await hf(e).catch(i=>{if(i.code!=="ENOENT")throw i}),kn.info("launchd job removed",{plistPath:e})}}});import{spawn as _f}from"node:child_process";import{mkdir as wf,unlink as bf,writeFile as vf}from"node:fs/promises";import{dirname as yf,join as Sf}from"node:path";function zn(r,e){return new Promise((i,a)=>{let c=_f(r,e,{stdio:["ignore","pipe","pipe"]}),f="";c.stderr?.on("data",d=>{f+=d.toString("utf8")}),c.on("error",a),c.on("close",d=>{d===0?i():a(new Error(`${r} ${e.join(" ")} exited ${d}: ${f.trim()}`))})})}var Nn,Tn,Tr,No=De(()=>{"use strict";j();Nn=z("supervisor.systemd"),Tn="coze-bridge.service",Tr={platform:"linux",renderConfig(r){return`[Unit]
|
|
42
|
+
Description=Coze Bridge daemon
|
|
43
|
+
After=network.target
|
|
44
|
+
|
|
45
|
+
[Service]
|
|
46
|
+
Type=simple
|
|
47
|
+
ExecStart=${r.nodeBin} ${r.entry} --daemon
|
|
48
|
+
Restart=always
|
|
49
|
+
RestartSec=3
|
|
50
|
+
StandardOutput=append:${r.logFile}
|
|
51
|
+
StandardError=append:${r.logFile}
|
|
52
|
+
|
|
53
|
+
[Install]
|
|
54
|
+
WantedBy=default.target
|
|
55
|
+
`},configPath(r){return Sf(r.homeDir,".config","systemd","user",Tn)},async install(r){let e=this.configPath(r);await wf(yf(e),{recursive:!0}),await vf(e,this.renderConfig(r),"utf8"),Nn.info("systemd unit written",{unitPath:e}),await zn("systemctl",["--user","daemon-reload"]),await zn("systemctl",["--user","enable","--now",Tn]),Nn.info("systemd unit enabled",{unitName:Tn})},async uninstall(r){let e=this.configPath(r);await zn("systemctl",["--user","disable","--now",Tn]).catch(i=>Nn.warn("systemctl disable failed (ignored)",{err:String(i)})),await bf(e).catch(i=>{if(i.code!=="ENOENT")throw i}),await zn("systemctl",["--user","daemon-reload"]).catch(()=>{}),Nn.info("systemd unit removed",{unitPath:e})}}});import{spawn as Ef}from"node:child_process";import{join as Cf}from"node:path";function To(r,e){return new Promise((i,a)=>{let c=Ef(r,e,{stdio:["ignore","pipe","pipe"],shell:!1}),f="";c.stderr?.on("data",d=>{f+=d.toString("utf8")}),c.on("error",a),c.on("close",d=>{d===0?i():a(new Error(`${r} ${e.join(" ")} exited ${d}: ${f.trim()}`))})})}var zr,Bn,Br,zo=De(()=>{"use strict";j();zr=z("supervisor.taskscheduler"),Bn="CozeBridge",Br={platform:"win32",renderConfig(r){return`<?xml version="1.0" encoding="UTF-16"?>
|
|
56
|
+
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
|
|
57
|
+
<RegistrationInfo>
|
|
58
|
+
<Description>Coze Bridge daemon</Description>
|
|
59
|
+
</RegistrationInfo>
|
|
60
|
+
<Triggers>
|
|
61
|
+
<LogonTrigger>
|
|
62
|
+
<UserId>${r.userName}</UserId>
|
|
63
|
+
</LogonTrigger>
|
|
64
|
+
</Triggers>
|
|
65
|
+
<Principals>
|
|
66
|
+
<Principal>
|
|
67
|
+
<UserId>${r.userName}</UserId>
|
|
68
|
+
<LogonType>InteractiveToken</LogonType>
|
|
69
|
+
<RunLevel>LeastPrivilege</RunLevel>
|
|
70
|
+
</Principal>
|
|
71
|
+
</Principals>
|
|
72
|
+
<Actions>
|
|
73
|
+
<Exec>
|
|
74
|
+
<Command>${r.nodeBin}</Command>
|
|
75
|
+
<Arguments>"${r.entry}" --daemon</Arguments>
|
|
76
|
+
</Exec>
|
|
77
|
+
</Actions>
|
|
78
|
+
</Task>
|
|
79
|
+
`},configPath(r){return Cf(r.homeDir,".coze","bridge","task.xml")},async install(r){let e=`"${r.nodeBin}" "${r.entry}" --daemon`;await To("schtasks",["/Create","/SC","ONLOGON","/TN",Bn,"/TR",e,"/RU",r.userName,"/F"]),zr.info("task scheduler entry created",{task:Bn})},async uninstall(r){await To("schtasks",["/Delete","/TN",Bn,"/F"]).catch(e=>zr.warn("schtasks /Delete failed (ignored)",{err:String(e)})),zr.info("task scheduler entry removed",{task:Bn})}}});var Mr={};fs(Mr,{buildContext:()=>Lf,getSupervisor:()=>Pf,launchdSupervisor:()=>Nr,systemdSupervisor:()=>Tr,taskSchedulerSupervisor:()=>Br});import{homedir as Df,userInfo as Af}from"node:os";function Pf(r=process.platform){switch(r){case"darwin":return Nr;case"linux":return Tr;case"win32":return Br;default:throw new Error(`unsupported platform for OS supervisor: ${r}`)}}function Lf(){let r=K();return{nodeBin:process.execPath,entry:Ar(r),logFile:r.logFile,homeDir:Df(),userName:Af().username}}var Rr=De(()=>{"use strict";ae();Pr();Io();No();zo()});rt();j();import{readdir as $0}from"node:fs/promises";import{mkdir as J0,writeFile as V0}from"node:fs/promises";import{join as Y0}from"node:path";var X0={"claude-code":"CLAUDE.md",codex:"AGENTS.md",openclaw:"SOUL.md"};async function He(r,e,i,a){await J0(r,{recursive:!0});let c=X0[e],f=Y0(r,c),d=Z0(e,i,a);return await V0(f,d,"utf8"),f}function Z0(r,e,i){let a=`# Coze Agent: ${e}
|
|
80
|
+
|
|
81
|
+
> framework: \`${r}\`
|
|
82
|
+
|
|
83
|
+
`,c=i?.trim()?i.endsWith(`
|
|
84
|
+
`)?i:`${i}
|
|
85
|
+
`:`_No instructions provided._
|
|
86
|
+
`;return`${a}---
|
|
87
|
+
|
|
88
|
+
${c}`}var be=z("agent-detail-sync"),qt=class{constructor(e){this.opts=e}opts;async syncAll(e){let i=this.opts.paths.agentsRoot,a;try{a=await $0(i)}catch(c){be.info("agents dir not found, skip detail sync",{root:i,err:String(c)});return}be.info("starting detail sync",{reason:e,count:a.length});for(let c of a)try{await this.syncOne(c)}catch(f){be.warn("detail sync failed for agent, skipping",{agentId:c,err:String(f)})}be.info("detail sync done",{reason:e})}async syncOne(e){let i=await oe(e,this.opts.paths);if(!i){be.info("detail sync: agent config missing, skip",{agentId:e});return}let a;try{a=await this.opts.sendDetail({_meta:{cozeAgentId:e}})}catch(d){be.warn("detail RPC failed, using local data",{agentId:e,err:String(d)});return}if(a.agentId&&a.agentId!==e){be.warn("detail response agentId mismatch, ignoring",{agentId:e,responseAgentId:a.agentId});return}let c=!1,f=!1;if(a.agentName&&a.agentName!==i.agentName&&(i.agentName=a.agentName,c=!0),a.description!==void 0&&a.description!==i.description&&(i.description=a.description,c=!0),a.cozeIdentity&&a.cozeIdentity!==i.cozeIdentity&&(i.cozeIdentity=a.cozeIdentity,c=!0,f=!0),a.deployType&&be.info("detail.deployType",{agentId:e,deployType:a.deployType}),!c){be.debug("detail sync: no diff",{agentId:e});return}await de(i,this.opts.paths),be.info("detail sync: config updated",{agentId:e,identityChanged:f,agentName:i.agentName}),f&&(await He(i.workspace,i.framework,e,i.cozeIdentity),await this.opts.handlers.reloadAgentSessionsPublic(e,"detail-sync"))}};rt();import{spawn as Q0}from"node:child_process";import{mkdir as ea,readFile as As,readdir as ta,rm as na,stat as Ut,writeFile as ra}from"node:fs/promises";import{join as Le,normalize as sa,relative as Ps,resolve as ia,sep as Ls}from"node:path";var ms="https://llm-gateway.coze.cn",Ft="auto";function Qn(r){return{model:r.model??Ft,...r.modelToken?{modelToken:r.modelToken}:{}}}function _s(r){return!r||r===Ft}function ws(r){let e={};return r.modelToken&&(e.ANTHROPIC_BASE_URL=ms,e.ANTHROPIC_AUTH_TOKEN=r.modelToken),_s(r.model)||(e.ANTHROPIC_MODEL=r.model),e}function bs(r){let e=[];return _s(r.model)||e.push("-c",`model="${r.model}"`),r.modelToken&&(e.push("-c",'model_provider="openai"'),e.push("-c",`model_provider_overrides.openai.base_url="${ms}/v1"`)),e}function vs(r){return r.modelToken?{OPENAI_API_KEY:r.modelToken}:{}}function ys(r){return r?.cozeDeployType==="cloud"?"cloud":"local"}function Ss(r){let{_meta:e,...i}=r;return{stripped:i,meta:e}}function st(r){if(!r?.cozeAgentId)throw new Error("missing _meta.cozeAgentId");return r.cozeAgentId}var E=class extends Error{code;retriable;cause;constructor(e,i,a){super(i),this.name="BridgeError",this.code=e,this.retriable=a?.retriable??!1,a?.cause!==void 0&&(this.cause=a.cause)}};j();ae();function We(r,e){if(ys(r)!=="cloud")throw new E("OPERATION_NOT_ALLOWED_FOR_LOCAL",`${e} is not allowed for local agent`)}var Y=z("agent-handlers"),Es=5*1024*1024,oa=1,aa=6,xa=new Set(["node_modules",".git",".coze","dist","build",".next"]),ca=3e4,jt=class{constructor(e){this.opts=e}opts;async listSkills(e){We(e._meta,"_agent/listSkills");let i=st(e._meta),a=await this.loadAgentCfg(i),c=a?.workspace??Pe(i).workspace,f=a?.skills??[],d=[];for(let g of f){let m=Le(c,g.relPath,"SKILL.md");await Ut(m).then(b=>b.isFile()).catch(()=>!1)&&d.push({skillId:g.skillId,skillName:g.skillName,downloadUrl:g.downloadUrl??"",...g.description?{description:g.description}:{},...g.version?{version:g.version}:{}})}return{skills:d}}async addSkills(e){We(e._meta,"_agent/addSkills");let i=st(e._meta),a=await this.requireAgentCfg(i),c=e.skills??[],f=[...a.skills??[]],d=new Map(f.map((m,w)=>[m.skillId,w])),g=[];for(let m of c){if(!m.skillName)throw new E("IPC_BAD_REQUEST","skill missing skillName");let w=fa(m.skillName),b=ua(a.framework),v=Le(b,w),C=Le(a.workspace,v);await ea(C,{recursive:!0});let I=await la(m.downloadUrl);ga(I)?await pa(I,C):await ra(Le(C,"SKILL.md"),I.toString("utf8"),"utf8");let B={skillId:m.skillId,skillName:m.skillName,relPath:v,installedAt:Date.now(),...m.description?{description:m.description}:{},...m.version?{version:m.version}:{},...m.downloadUrl?{downloadUrl:m.downloadUrl}:{}},T=d.get(m.skillId);T!==void 0?f[T]=B:(d.set(m.skillId,f.length),f.push(B)),g.push(m),Y.info("skill installed",{agentId:i,skillId:m.skillId,skillName:m.skillName,relPath:v})}return await Ot(i,f),await this.reloadAgentSessions(i,"skills-added"),{installedSkills:g}}async removeSkills(e){We(e._meta,"_agent/removeSkills");let i=st(e._meta),a=await this.requireAgentCfg(i),c=new Set(e.skillIds??[]),f=a.skills??[],d=[];for(let g of f){if(!c.has(g.skillId)){d.push(g);continue}let m=Le(a.workspace,g.relPath);await na(m,{recursive:!0,force:!0}),Y.info("skill removed",{agentId:i,skillId:g.skillId,relPath:g.relPath})}return await Ot(i,d),await this.reloadAgentSessions(i,"skills-removed"),{ok:!0}}reloadAgentSessionsPublic(e,i){return this.reloadAgentSessions(e,i)}async reloadAgentSessions(e,i){let a=this.opts.agents.get(e);if(a&&a.framework!=="codex")for(let[c,f]of a.sessions)try{await a.downstream.sessionLoad({sessionId:f,cwd:a.workspace}),Y.info("session reloaded",{reason:i,agentId:e,framework:a.framework,cloudId:c,acpId:f})}catch(d){Y.warn("session reload failed",{reason:i,agentId:e,framework:a.framework,cloudId:c,acpId:f,err:String(d)})}}async updateAgent(e){if(!e.cozeIdentity?.trim())return Y.info("_agent/update: empty cozeIdentity, noop",{agentId:e.agentId}),{ok:!0};let i=e.agentId,a=await oe(i);if(!a)throw new E("AGENT_NOT_FOUND",`agent not found: ${i}`);return a.cozeIdentity===e.cozeIdentity?(Y.info("_agent/update: cozeIdentity unchanged, noop",{agentId:i}),{ok:!0}):(a.cozeIdentity=e.cozeIdentity,await de(a),await He(a.workspace,a.framework,i,e.cozeIdentity),Y.info("_agent/update: cozeIdentity rewritten",{agentId:i,framework:a.framework}),await this.reloadAgentSessions(i,"identity-changed"),{ok:!0})}async disconnectAgent(e){let i=e.agentId;if(!i)throw new E("IPC_BAD_REQUEST","_agent/disconnect: missing agentId");let a=await oe(i);return a?(a.disconnectedAt=Date.now(),a.disconnectReason=e.reason??"",await de(a),Y.info("agent disconnected",{agentId:i,reason:e.reason??"",force:e.force??!1}),this.opts.disposeAndMarkDisconnected&&await this.opts.disposeAndMarkDisconnected(i,e.reason??"disconnect"),{ok:!0}):(Y.warn("_agent/disconnect: agent not found, ignoring",{agentId:i}),{ok:!0})}async switchModel(e){if(We(e._meta,"_agent/switchModel"),!e.agentId)throw new E("IPC_BAD_REQUEST","_agent/switchModel: missing agentId");let i=e.model&&e.model.trim()?e.model:Ft,a=e.modelToken?.trim()||void 0,c=await oe(e.agentId);if(!c)throw new E("AGENT_NOT_FOUND",`agent not found: ${e.agentId}`);c.model=i,a!==void 0?c.modelToken=a:delete c.modelToken,await de(c),Y.info("_agent/switchModel: model/modelToken persisted",{agentId:e.agentId,model:i,hasToken:!!a,reason:e.reason??"",force:e.force??!1});let f=this.opts.agents.get(e.agentId);if(!f)return Y.info("_agent/switchModel: agent not running, config persisted only",{agentId:e.agentId}),{ok:!0};if(f.status==="switching")return Y.info("_agent/switchModel: already switching, params updated via config",{agentId:e.agentId}),{ok:!0};if(!this.opts.executeModelSwitch)throw new E("BRIDGE_INTERNAL","_agent/switchModel: executeModelSwitch callback not wired");f.status="switching";let d=f.msgQueue.enqueue(async()=>{}),g=setTimeout(()=>{Y.warn("_agent/switchModel: 30s idle timeout, forcing downstream stop",{agentId:e.agentId}),f.downstream.stop("switchModel idle timeout").catch(m=>Y.warn("force stop failed (ignored)",{agentId:e.agentId,err:String(m)}))},ca);try{return await d.catch(m=>Y.warn("_agent/switchModel: msgQueue idle wait rejected (continuing)",{agentId:e.agentId,err:String(m)})),clearTimeout(g),await this.opts.executeModelSwitch(e.agentId),{ok:!0}}catch(m){clearTimeout(g),Y.error("_agent/switchModel: failed, marking disconnected",{agentId:e.agentId,err:String(m)});let w=await oe(e.agentId).catch(()=>null);throw w&&(w.disconnectedAt=Date.now(),w.disconnectReason=`model switch failed: ${m instanceof Error?m.message:String(m)}`,await de(w).catch(b=>Y.warn("write disconnect marker failed (ignored)",{err:String(b)}))),this.opts.disposeAndMarkDisconnected?await this.opts.disposeAndMarkDisconnected(e.agentId,`model switch failed: ${m instanceof Error?m.message:String(m)}`).catch(b=>Y.warn("disposeAndMarkDisconnected failed (ignored)",{err:String(b)})):f.status="disconnected",m instanceof E&&(m.code==="MODEL_SWITCH_FAILED"||m.code==="AGENT_NOT_FOUND")?m:new E("MODEL_SWITCH_FAILED",m instanceof Error?m.message:String(m),{cause:m})}}async getFileTree(e){We(e._meta,"_agent/getFileTree");let i=e._meta,a=st(i),c=this.resolveWorkspace(a),f=e.filePath??"",d=this.safeJoin(c,f),g=await Ut(d).catch(()=>null);if(!g)throw new E("IPC_BAD_REQUEST",`path not found: ${f}`);let m=ma(e.depth);return g.isDirectory()?{tree:await ks(c,d,f,m)}:{tree:[{name:_a(f),path:Is(f||"."),isDir:!1,size:g.size,modifiedAt:Math.floor(g.mtimeMs)}]}}async getFileContent(e){We(e._meta,"_agent/getFileContent");let i=st(e._meta),a=this.resolveWorkspace(i);if(!e.filePath)throw new E("IPC_BAD_REQUEST","filePath required");let c=this.safeJoin(a,e.filePath),f=await Ut(c).catch(()=>null);if(!f||!f.isFile())throw new E("IPC_BAD_REQUEST",`not a file: ${e.filePath}`);if(f.size>Es)throw new E("IPC_BAD_REQUEST",`file too large: ${f.size} bytes (max ${Es})`);let d=await As(c);return d.includes(0)?{content:d.toString("base64"),encoding:"base64",size:f.size}:{content:d.toString("utf8"),encoding:"utf-8",size:f.size}}resolveWorkspace(e){let i=this.opts.agents.get(e);return i?i.workspace:Pe(e).workspace}safeJoin(e,i){let a=ia(e,i||"."),c=Ps(e,a);if(c.startsWith("..")||c===".."||c.startsWith(`..${Ls}`))throw new E("IPC_BAD_REQUEST",`path escapes workspace: ${i}`);return a}loadAgentCfg(e){return oe(e)}async requireAgentCfg(e){let i=await this.loadAgentCfg(e);if(!i)throw new E("AGENT_NOT_FOUND",`no config for agent: ${e}`);return i}};function fa(r){let e=r.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64);if(!e||e==="."||e==="..")throw new E("IPC_BAD_REQUEST",`invalid skill name: ${r}`);return e}function ua(r){return r==="claude-code"?Le(".claude","skills"):Le(".agents","skills")}var da=3e4,Cs=50*1024*1024,Ds=3e4;async function la(r){if(!r)throw new E("IPC_BAD_REQUEST","skill missing downloadUrl");if(r.startsWith("data:"))return ha(r);if(r.startsWith("file:")){let e=new URL(r).pathname,i=await As(e);if(i.length>Cs)throw new E("IPC_BAD_REQUEST",`skill too large: ${i.length} bytes`);return i}if(r.startsWith("http://")||r.startsWith("https://")){let e=new AbortController,i=setTimeout(()=>e.abort(),da);try{let a=await fetch(r,{signal:e.signal});if(!a.ok)throw new E("IPC_BAD_REQUEST",`fetch skill failed HTTP ${a.status} ${r}`);let c=await a.arrayBuffer();if(c.byteLength>Cs)throw new E("IPC_BAD_REQUEST",`skill too large: ${c.byteLength} bytes`);return Buffer.from(c)}finally{clearTimeout(i)}}throw new E("IPC_BAD_REQUEST",`unsupported downloadUrl scheme (\u8981 https/data/file): ${r.slice(0,80)}`)}function ha(r){let e=/^data:([^,;]*)(;base64)?,(.*)$/s.exec(r);if(!e)throw new E("IPC_BAD_REQUEST","bad data URL");let i=!!e[2],a=e[3]??"";return i?Buffer.from(a,"base64"):Buffer.from(decodeURIComponent(a),"utf8")}function ga(r){return r.length>=2&&r[0]===31&&r[1]===139}async function pa(r,e){await new Promise((i,a)=>{let c=Q0("tar",["-xzf","-","-C",e,"--strip-components=1"],{stdio:["pipe","pipe","pipe"]}),f="";c.stderr?.on("data",g=>{f+=String(g)});let d=setTimeout(()=>{c.kill("SIGKILL"),a(new E("IPC_BAD_REQUEST",`tar extract timeout (${Ds}ms)`))},Ds);c.on("error",g=>{clearTimeout(d),a(new E("IPC_BAD_REQUEST",`tar spawn failed: ${g.message}`,{cause:g}))}),c.on("exit",g=>{clearTimeout(d),g===0?i():a(new E("IPC_BAD_REQUEST",`tar exit ${g}${f?`: ${f.trim().slice(0,200)}`:""}`))}),c.stdin?.end(r)})}async function ks(r,e,i,a){if(a<=0)return[];let c;try{c=await ta(e,{withFileTypes:!0})}catch{return[]}let f=[];for(let d of c){if(xa.has(d.name))continue;let g=Le(e,d.name),m=sa(Le(i,d.name)),w=null;try{w=await Ut(g)}catch{continue}let b={name:d.name,path:Is(Ps(r,g)),isDir:w.isDirectory(),size:w.size,modifiedAt:Math.floor(w.mtimeMs)};w.isDirectory()&&a>1&&(b.children=await ks(r,g,m,a-1)),f.push(b)}return f.sort((d,g)=>d.isDir!==g.isDir?d.isDir?-1:1:d.name.localeCompare(g.name)),f}function ma(r){return!r||r<=0?oa:Math.min(r,aa)}function _a(r){if(!r||r==="."||r==="/")return".";let e=r.split(/[/\\]/);return e[e.length-1]||"."}function Is(r){return r.split(Ls).join("/")}rt();import{mkdir as er,rm as Pa}from"node:fs/promises";import{spawn as Sa}from"node:child_process";function it(r,e,i){return i===void 0?{jsonrpc:"2.0",id:r,method:e}:{jsonrpc:"2.0",id:r,method:e,params:i}}function Ns(r,e){return e===void 0?{jsonrpc:"2.0",method:r}:{jsonrpc:"2.0",method:r,params:e}}function ot(r,e){return{jsonrpc:"2.0",id:r,result:e}}function Ge(r,e){return{jsonrpc:"2.0",id:r,error:e}}var q={PARSE_ERROR:-32700,INVALID_REQUEST:-32600,METHOD_NOT_FOUND:-32601,INVALID_PARAMS:-32602,INTERNAL_ERROR:-32603,AGENT_NOT_FOUND:-32001,AGENT_BUSY:-32002,AGENT_TIMEOUT:-32003,AGENT_SPAWN_FAILED:-32004,OPERATION_NOT_ALLOWED_FOR_LOCAL:-32005,AGENT_DISCONNECTED:-32006,MODEL_SWITCHING:-32007,MODEL_SWITCH_FAILED:-32008};function Kt(r){return"method"in r&&"id"in r&&r.id!==void 0}function Ts(r){return"method"in r&&!("id"in r)}function Ht(r){return!("method"in r)&&"id"in r}var wa={AGENT_NOT_FOUND:q.AGENT_NOT_FOUND,AGENT_BUSY:q.AGENT_BUSY,AGENT_DISCONNECTED:q.AGENT_DISCONNECTED,AGENT_TIMEOUT:q.AGENT_TIMEOUT,AGENT_SPAWN_FAILED:q.AGENT_SPAWN_FAILED,AGENT_PROTOCOL_ERROR:q.INTERNAL_ERROR,BRIDGE_CONFIG_INVALID:q.INTERNAL_ERROR,BRIDGE_INTERNAL:q.INTERNAL_ERROR,IPC_AUTH_FAILED:q.INTERNAL_ERROR,IPC_BAD_REQUEST:q.INVALID_REQUEST,MODEL_SWITCHING:q.MODEL_SWITCHING,MODEL_SWITCH_FAILED:q.MODEL_SWITCH_FAILED,OPERATION_NOT_ALLOWED_FOR_LOCAL:q.OPERATION_NOT_ALLOWED_FOR_LOCAL,UPSTREAM_DISCONNECTED:q.INTERNAL_ERROR,UPSTREAM_HANDSHAKE_FAILED:q.INTERNAL_ERROR};function Wt(r){return r instanceof E?{code:wa[r.code]??q.INTERNAL_ERROR,message:r.message,data:{bridgeCode:r.code,retriable:r.retriable}}:{code:q.INTERNAL_ERROR,message:r instanceof Error?r.message:String(r)}}function zs(r){let e=r.data,i=e?.bridgeCode??"AGENT_PROTOCOL_ERROR";return new E(i,r.message,{retriable:e?.retriable??!1,cause:r.data})}function Bs(r){return`${JSON.stringify(r)}
|
|
89
|
+
`}var Gt=class{buffer="";onError;constructor(e={}){this.onError=e.onError}push(e){this.buffer+=typeof e=="string"?e:e.toString("utf8");let i=this.buffer.split(`
|
|
90
|
+
`);this.buffer=i.pop()??"";let a=[];for(let c of i){let f=c.replace(/\r$/,"").trim();if(f)try{a.push(JSON.parse(f))}catch(d){this.onError?.({line:f,error:d})}}return a}flush(){if(!this.buffer)return[];let e=this.buffer.replace(/\r$/,"").trim();if(this.buffer="",!e)return[];try{return[JSON.parse(e)]}catch(i){return this.onError?.({line:e,error:i}),[]}}};var Rs={"session/prompt":"session.prompt","session/cancel":"session.cancel","session/new":"session.new","session/load":"session.load","_agent/create":"agent.create","_agent/health":"agent.health","_agent/pair":"agent.pair","_agent/listSkills":"agent.listSkills","_agent/addSkills":"agent.addSkills","_agent/removeSkills":"agent.removeSkills","_agent/getFileTree":"agent.getFileTree","_agent/getFileContent":"agent.getFileContent","_agent/detail":"agent.detail","_agent/update":"agent.update","_agent/disconnect":"agent.disconnect","_agent/switchModel":"agent.switchModel",initialize:"initialize"},Iu=Object.fromEntries(Object.entries(Rs).map(([r,e])=>[e,r])),ba={"session.prompt":["agentId","triggerMsgId","sessionId"],"session.cancel":["agentId","triggerMsgId","sessionId"],"session.new":["agentId"],"session.load":["agentId"],"agent.create":["agentId"],"agent.health":["agentId"],"agent.listSkills":["agentId"],"agent.addSkills":["agentId"],"agent.removeSkills":["agentId"],"agent.getFileTree":["agentId"],"agent.getFileContent":["agentId"],"agent.detail":["agentId"],"agent.update":["agentId"],"agent.disconnect":["agentId"],"agent.switchModel":["agentId"],"agent.pair":[],initialize:[]},at=class{seq=0;next(e,i){this.seq+=1;let a=Rs[e]??va(e),c=ba[a]??[],f=[a,String(this.seq)];if(c.length>0){let d=c.map(m=>Ms(i?.[m]??"")),g=ya(d).join(":");g&&f.push(g)}else i&&Object.values(i).some(d=>d)&&f.push(Object.values(i).filter(Boolean).map(d=>Ms(String(d))).join(":"));return f.join("_")}reset(){this.seq=0}};function va(r){return r.replace(/[\s/]+/g,".").replace(/_+/g,"-")}function Ms(r){return r.replace(/[:_\s]+/g,"-")}function ya(r){let e=r.length;for(;e>0&&!r[e-1];)e-=1;return r.slice(0,e)}j();var Ea=3e4;function Os(r,e){if(!(typeof r!="number"||r<=0))try{process.platform==="win32"?process.kill(r,e):process.kill(-r,e)}catch{}}var Oe=class{constructor(e){this.opts=e;this.log=z(`downstream.${this.constructor.name}`),this.decoder=new Gt({onError:i=>this.log.warn("decode line failed",{line:i.line})})}opts;child;decoder;pending=new Map;idAllocator=new at;updateHandlers=[];agentRequestHandlers=[];exitHandlers=[];log;stopped=!1;sanitizeEnv(e){return e}async start(){if(this.child)throw new E("BRIDGE_INTERNAL","Downstream already started");let e=process.platform!=="win32",i=Sa(this.opts.command,this.opts.args,{cwd:this.opts.cwd,env:{...this.sanitizeEnv(process.env),...this.opts.env},stdio:["pipe","pipe","pipe"],detached:e});this.child=i,i.stdout?.setEncoding("utf8"),i.stdout?.on("data",a=>{for(let c of this.decoder.push(a))this.dispatch(c)}),i.stderr?.setEncoding("utf8"),i.stderr?.on("data",a=>{this.log.debug("stderr",{text:a.trimEnd()})}),i.on("exit",(a,c)=>{this.stopped=!0,this.failAllPending(new E("AGENT_PROTOCOL_ERROR",`agent exited (${a}/${c})`));for(let f of this.exitHandlers)f(a,c)}),i.on("error",a=>{this.log.error("child error",{err:String(a)}),this.failAllPending(new E("AGENT_SPAWN_FAILED",String(a),{cause:a}))}),this.log.info("downstream started",{command:this.opts.command,pid:i.pid,cwd:this.opts.cwd})}async stop(e){if(!this.child||this.stopped)return;this.stopped=!0,this.log.info("downstream stopping",{reason:e});let i=this.child,a=new Promise(f=>i.once("exit",()=>f()));Os(i.pid,"SIGTERM");let c=setTimeout(()=>{i.killed||Os(i.pid,"SIGKILL")},5e3);try{await a}finally{clearTimeout(c)}}pid(){return this.child?.pid}isAlive(){return!!this.child&&!this.stopped}initialize(e){return this.call("initialize",e)}sessionNew(e){return this.call("session/new",{mcpServers:[],...e})}sessionLoad(e){return this.call("session/load",{mcpServers:[],...e})}sessionPrompt(e){return this.call("session/prompt",e,0)}async sessionCancel(e){if(!this.child||this.stopped)return;let i=this.idAllocator.next("session/cancel");this.writeFrame(it(i,"session/cancel",e))}onUpdate(e){this.updateHandlers.push(e)}onAgentRequest(e){this.agentRequestHandlers.push(e)}respondAgentRequest(e,i){if(!(!this.child||this.stopped))try{this.writeFrame(ot(e,i))}catch(a){this.log.warn("respondAgentRequest write failed",{id:e,err:String(a)})}}respondAgentRequestError(e,i){if(!(!this.child||this.stopped))try{this.writeFrame(Ge(e,i))}catch(a){this.log.warn("respondAgentRequestError write failed",{id:e,err:String(a)})}}onExit(e){this.exitHandlers.push(e)}call(e,i,a=Ea){if(!this.child||this.stopped)return Promise.reject(new E("AGENT_PROTOCOL_ERROR","downstream not started"));let c=this.idAllocator.next(e),f=it(c,e,i),d=a>0&&Number.isFinite(a);return new Promise((g,m)=>{let w=d?setTimeout(()=>{this.pending.delete(c),m(new E("AGENT_TIMEOUT",`${e} timed out after ${a}ms`))},a):null;this.pending.set(c,{resolve:g,reject:m,timer:w,method:e});try{this.writeFrame(f)}catch(b){w&&clearTimeout(w),this.pending.delete(c),m(b)}})}writeFrame(e){if(!this.child?.stdin||this.child.stdin.destroyed)throw new E("AGENT_PROTOCOL_ERROR","downstream stdin not writable");this.child.stdin.write(Bs(e))}dispatch(e){if(Ht(e)){let i=e.id!==null?this.pending.get(e.id):void 0;if(!i){this.log.warn("orphan response",{id:e.id});return}this.pending.delete(e.id),i.timer&&clearTimeout(i.timer),e.error?i.reject(zs(e.error)):i.resolve(e.result);return}if(Ts(e)){if(e.method==="session/update")for(let i of this.updateHandlers)Promise.resolve(i(e.params)).catch(a=>this.log.warn("update handler failed",{err:String(a)}));else this.log.debug("unknown notification",{method:e.method});return}if(Kt(e)){let i=e;this.handleAgentRequest(i).catch(a=>this.log.error("agent request handler failed",{method:i.method,err:String(a)}))}}async handleAgentRequest(e){if(this.agentRequestHandlers.length===0){this.writeFrame(Ge(e.id,{code:-32601,message:`method not handled by Bridge: ${e.method}`}));return}for(let i of this.agentRequestHandlers)try{await i(e)}catch(a){this.log.error("agentRequestHandler threw",{method:e.method,err:String(a)});try{this.writeFrame(Ge(e.id,Wt(a)))}catch{}}}failAllPending(e){for(let i of this.pending.values())i.timer&&clearTimeout(i.timer),i.reject(e);this.pending.clear()}};var Ca="@zed-industries/claude-code-acp@latest";function Da(r){let e={};for(let[i,a]of Object.entries(r))a!==void 0&&(i.startsWith("CLAUDE")||i==="AI_AGENT"||i==="BAGGAGE"||(e[i]=a));return e}var Jt=class extends Oe{framework="claude-code";constructor(e){let i=e.command??"npx",a=e.args??["-y",Ca],c={command:i,args:a,cwd:e.cwd,...e.env?{env:e.env}:{}};super(c)}sanitizeEnv(e){return Da(e)}};var Aa="@zed-industries/codex-acp@latest",Vt=class extends Oe{framework="codex";constructor(e){let i=e.command??"npx",a=e.args??["-y",Aa],c=e.extraArgs?[...a,...e.extraArgs]:a,f={command:i,args:c,cwd:e.cwd,...e.env?{env:e.env}:{}};super(f)}};import{spawn as qs}from"node:child_process";j();var Yt=class extends Oe{framework="openclaw";registerLog;profile;agentId;sessionName;registered=!1;constructor(e){let i=e.profile??"coze",a=e.sessionName??"default",c=["--profile",i,"acp","--session",`agent:${e.agentId}:${a}`],f={command:e.command,args:c,cwd:e.cwd,...e.env?{env:e.env}:{}};super(f),this.profile=i,this.agentId=e.agentId,this.sessionName=a,this.registerLog=z("downstream.openclaw.register")}async start(){await this.registerAgent().catch(e=>{this.registerLog.warn("openclaw agents add failed (will continue to acp anyway)",{agentId:this.agentId,err:String(e)})}),await super.start()}registerAgent(){return new Promise((e,i)=>{let a=qs(this.opts.command,["--profile",this.profile,"agents","add",this.agentId,"--workspace",this.opts.cwd,"--non-interactive"],{stdio:["ignore","pipe","pipe"],env:{...process.env,...this.opts.env}}),c="";a.stderr?.on("data",f=>{c+=f.toString("utf8")}),a.on("error",i),a.on("close",f=>{f===0?(this.registered=!0,this.registerLog.info("agent registered",{agentId:this.agentId,profile:this.profile}),e()):i(new E("AGENT_SPAWN_FAILED",`openclaw agents add ${this.agentId} exited ${f}: ${c.trim()}`))})})}async cleanup(e){this.registered&&await new Promise(i=>{let a=qs(this.opts.command,["--profile",this.profile,"agents","delete",this.agentId,"--force"],{stdio:["ignore","pipe","pipe"],env:{...process.env,...this.opts.env}}),c="";a.stderr?.on("data",f=>{c+=f.toString("utf8")}),a.on("error",f=>{this.registerLog.warn("openclaw agents delete failed (best-effort)",{agentId:this.agentId,err:String(f)}),i()}),a.on("close",f=>{f===0?this.registerLog.info("agent unregistered",{agentId:this.agentId}):this.registerLog.warn("openclaw agents delete non-zero exit",{agentId:this.agentId,code:f,stderr:c.trim()}),this.registered=!1,i()})})}get acpSessionName(){return this.sessionName}};j();ae();var Xt=class{slots=[];running=!1;closed=!1;disposed=!1;enqueue(e){return this.disposed?Promise.reject(new Error("AsyncQueue disposed")):this.closed?Promise.reject(new Error("AsyncQueue closed")):new Promise((i,a)=>{this.slots.push({task:e,resolve:i,reject:a}),this.drain()})}close(){this.closed=!0}dispose(e=new Error("AsyncQueue disposed")){for(this.disposed=!0,this.closed=!0;this.slots.length>0;)this.slots.shift()?.reject(e)}get size(){return this.slots.length}get isRunning(){return this.running}async drain(){if(!this.running){this.running=!0;try{for(;this.slots.length>0&&!this.disposed;){let e=this.slots.shift();if(!e)break;try{let i=await e.task();e.resolve(i)}catch(i){e.reject(i)}}}finally{this.running=!1}}}};var Zt=class{agentId;framework;workspace;msgQueue;sessions=new Map;verifiedSessions=new Set;activeTriggers=new Map;status="starting";lastActiveAt=Date.now();_downstream;constructor(e){this.agentId=e.agentId,this.framework=e.framework,this.workspace=e.workspace,this._downstream=e.downstream,this.msgQueue=new Xt}get downstream(){return this._downstream}swap(e){this._downstream=e,this.verifiedSessions.clear(),this.activeTriggers.clear()}async dispose(e){this.status="stopped",this.msgQueue.dispose(new Error(`AgentSession disposed${e?`: ${e}`:""}`)),await this._downstream.stop(e)}};var H=z("agent-manager"),La=(r,e,i,a,c)=>{switch(r){case"claude-code":{let f=c?ws(c):void 0;return new Jt({cwd:i,...f&&Object.keys(f).length>0?{env:f}:{}})}case"codex":{let f=c?bs(c):[],d=c?vs(c):void 0;return new Vt({cwd:i,...f.length>0?{extraArgs:f}:{},...d&&Object.keys(d).length>0?{env:d}:{}})}case"openclaw":return new Yt({command:e,cwd:i,agentId:a})}},ka=[0,5e3,5e3],Ia=2e4,Fs={protocolVersion:1,clientCapabilities:{fs:{readTextFile:!0,writeTextFile:!0}}},$t=class{paths;config;registry;factory;restartDelaysMs;createTimeoutMs;healthReporter;constructor(e){this.paths=e.paths,this.config=e.config,this.registry=e.registry,this.factory=e.downstreamFactory??La,this.restartDelaysMs=e.restartDelaysMs??ka,this.createTimeoutMs=e.createTimeoutMs??Ia,this.healthReporter=e.healthReporter}async createAgent(e){if(!e.agentId)throw new E("IPC_BAD_REQUEST","agentId required");if(!e.framework)throw new E("IPC_BAD_REQUEST","framework required");this.registry.reviveIfDisconnected?.(e.agentId);let i=this.registry.get(e.agentId);if(i){if(i.framework!==e.framework)throw new E("AGENT_BUSY",`agent ${e.agentId} exists with different framework (${i.framework})`);if(i.status==="error")H.warn("existing agent in error state, rebuilding",{agentId:e.agentId}),await i.dispose("rebuild after error").catch(m=>H.warn("dispose stale agent failed (ignored)",{err:String(m)})),this.registry.unregister(e.agentId);else return H.info("agent already exists,return current",{agentId:e.agentId}),{ok:!0,agentId:i.agentId,workspace:i.workspace,pid:i.downstream.pid()??0,framework:i.framework}}let a=this.config.frameworksCache?.[e.framework];if(!a)throw new E("AGENT_SPAWN_FAILED",`framework ${e.framework} not detected on this machine; rerun daemon to refresh frameworks_cache`);let c=Pe(e.agentId,this.paths),f=e.workspace??c.workspace,d=new AbortController,g=setTimeout(()=>d.abort(new E("AGENT_TIMEOUT",`_agent/create timed out after ${this.createTimeoutMs}ms`)),this.createTimeoutMs);try{return await this.createAgentInner(e,c,f,a,d.signal)}finally{clearTimeout(g)}}async createAgentInner(e,i,a,c,f){let d=()=>{if(f.aborted)throw f.reason instanceof Error?f.reason:new E("AGENT_TIMEOUT","_agent/create aborted")},g,m,w=!1;try{await er(i.root,{recursive:!0}),await er(a,{recursive:!0}),await er(i.logs,{recursive:!0}),d(),e.framework!=="openclaw"&&await He(a,e.framework,e.agentId,e.cozeIdentity),d();let b=await oe(e.agentId,this.paths).catch(()=>null),v=Qn({model:e.model??b?.model,modelToken:e.modelToken??b?.modelToken});if(g=this.factory(e.framework,c.path,a,e.agentId,v),await g.start(),d(),await g.initialize(Fs),d(),e.framework==="openclaw"&&await He(a,"openclaw",e.agentId,e.cozeIdentity),m=new Zt({agentId:e.agentId,framework:e.framework,workspace:a,downstream:g}),m.status="ok",b?.sessions){for(let[B,T]of Object.entries(b.sessions))m.sessions.set(B,T);Object.keys(b.sessions).length>0&&H.info("restored persisted sessions for agent",{agentId:e.agentId,count:Object.keys(b.sessions).length})}this.registry.register(m),w=!0;let C={agentId:e.agentId,framework:e.framework,workspace:a,cozeIdentity:e.cozeIdentity,createdAt:b?.createdAt??Date.now(),sessions:b?.sessions??{},model:v.model};v.modelToken&&(C.modelToken=v.modelToken),b?.skills&&(C.skills=b.skills),b?.agentName&&(C.agentName=b.agentName),b?.description&&(C.description=b.description),await de(C,this.paths);let I=g.pid()??0;return H.info("agent created",{agentId:e.agentId,framework:e.framework,pid:I}),this.installRestartHook(m),{ok:!0,agentId:e.agentId,workspace:a,pid:I,framework:e.framework}}catch(b){throw H.error("agent create failed,rolling back",{agentId:e.agentId,err:String(b)}),g?.cleanup&&await g.cleanup("rollback").catch(v=>H.warn("downstream cleanup failed (ignored)",{err:String(v)})),g&&await g.stop("rollback").catch(()=>{}),w&&m&&(await m.dispose("rollback").catch(()=>{}),this.registry.unregister(e.agentId)),await Pa(i.root,{recursive:!0,force:!0}).catch(v=>H.warn("rm agent dir failed (ignored)",{err:String(v)})),b instanceof E?b:new E("AGENT_SPAWN_FAILED",String(b),{cause:b})}}async reportHealth(e,i,a){if(!this.healthReporter){H.info("healthReporter not wired, skip _agent/health upstream",{agentId:e.agentId,status:i});return}try{await this.healthReporter({status:i,_meta:{cozeAgentId:e.agentId}}),H.info("_agent/health reported",{agentId:e.agentId,status:i,cause:a})}catch(c){H.warn("_agent/health upstream failed (ignored)",{agentId:e.agentId,status:i,err:String(c)})}}installRestartHook(e){let i=0,a=c=>{if(e.status==="stopped"||e.status==="disconnected"||e.status==="switching")return;if(i>=this.restartDelaysMs.length){H.error("agent restart exhausted",{agentId:e.agentId,attempts:i,...c}),e.status="error",this.reportHealth(e,"error",c);return}let f=this.restartDelaysMs[i]??5e3;i+=1,e.status="degraded",H.warn("agent restart scheduled",{agentId:e.agentId,attempt:i,delayMs:f,...c}),setTimeout(()=>{this.doRestart(e,i).then(d=>{d?(i=0,e.status="ok"):a(null)})},f)};e.downstream.onExit((c,f)=>a({code:c,signal:f}))}async spawnAndInitialize(e,i){let a=await oe(e.agentId,this.paths).catch(()=>null),c=a?Qn(a):void 0,f=this.factory(e.framework,i,e.workspace,e.agentId,c);try{return await f.start(),await f.initialize(Fs),f}catch(d){throw await f.stop("spawnAndInitialize failed").catch(()=>{}),d}}rewireSession(e,i){e.swap(i),this.registry.attachHooks?.(e),this.installRestartHook(e)}async doRestart(e,i){let a=this.config.frameworksCache?.[e.framework];if(!a)return H.error("framework cache missing during restart",{agentId:e.agentId,framework:e.framework}),e.status="error",!1;H.info("agent restart attempt",{agentId:e.agentId,attempt:i});try{let c=await this.spawnAndInitialize(e,a.path);return this.rewireSession(e,c),H.info("agent restart succeeded",{agentId:e.agentId,attempt:i}),!0}catch(c){return H.warn("agent restart attempt failed",{agentId:e.agentId,attempt:i,err:String(c)}),!1}}async executeModelSwitch(e){let i=this.registry.get(e);if(!i)throw new E("AGENT_NOT_FOUND",`agent not found: ${e}`);let a=this.config.frameworksCache?.[i.framework];if(!a)throw new E("AGENT_SPAWN_FAILED",`framework ${i.framework} not detected; cannot respawn for switchModel`);H.info("executeModelSwitch: stopping old downstream",{agentId:e,framework:i.framework}),await i.downstream.stop("switchModel").catch(d=>{H.warn("stop old downstream failed (ignored, continuing)",{agentId:e,err:String(d)})});let c;try{c=await this.spawnAndInitialize(i,a.path)}catch(d){throw new E("MODEL_SWITCH_FAILED",`failed to spawn new downstream after switchModel: ${d instanceof Error?d.message:String(d)}`,{cause:d})}this.rewireSession(i,c);let f=[...i.sessions.entries()];for(let[d,g]of f)try{await c.sessionLoad({sessionId:g,cwd:i.workspace}),i.verifiedSessions.add(g)}catch(m){throw new E("MODEL_SWITCH_FAILED",`sessionLoad failed after switchModel for cloud session ${d} (acp=${g}): ${m instanceof Error?m.message:String(m)}`,{cause:m})}f.length>0&&H.info("executeModelSwitch: session/load reloaded",{agentId:e,count:f.length}),i.status="ok",H.info("executeModelSwitch: success",{agentId:e,framework:i.framework})}};j();import{spawn as Na}from"node:child_process";import{constants as Us,access as Ta}from"node:fs/promises";import{delimiter as za,join as Ba}from"node:path";var Ma=z("framework-detector"),js={"claude-code":"claude",codex:"codex",openclaw:"openclaw"},Ra=[".exe",".cmd",".bat",".ps1"],bt=class{env;constructor(e={}){this.env={pathEnv:e.pathEnv??process.env.PATH??"",platform:e.platform??process.platform,spawn:e.spawn??Na,access:e.access??Ta}}async detect(e){let i=js[e],a=await this.which(i);if(!a)return Ma.debug("framework binary not found",{framework:e,bin:i}),null;let c=await this.probeVersion(a);return{path:a,version:c}}async detectAll(){let e=await Promise.all(Object.keys(js).map(async a=>[a,await this.detect(a)])),i={};for(let[a,c]of e)c&&(i[a]=c);return i}async which(e){let i=this.env.pathEnv.split(za).filter(Boolean),a=this.env.platform==="win32"?["",...Ra]:[""];for(let c of i)for(let f of a){let d=Ba(c,e+f);if(await this.isExecutable(d))return d}return null}async isExecutable(e){try{let i=this.env.platform==="win32"?Us.F_OK:Us.X_OK;return await this.env.access(e,i),!0}catch{return!1}}async probeVersion(e){return new Promise(i=>{let a="",c=!1,f,d=g=>{c||(c=!0,f&&clearTimeout(f),i(g.trim()||"unknown"))};try{let g=this.env.spawn(e,["--version"],{stdio:["ignore","pipe","pipe"]});f=setTimeout(()=>{g.kill("SIGKILL"),d("unknown")},5e3),g.stdout?.on("data",m=>{a+=m.toString("utf8")}),g.on("error",()=>d("unknown")),g.on("close",()=>{let m=qa(a).split(/\r?\n/)[0]??"";d(m)})}catch{d("unknown")}})}},Oa=new RegExp("\x1B\\[[0-9;]*[A-Za-z]","g");function qa(r){return r.replace(Oa,"")}Zn();ae();function Qt(r){return Bt(r??K().configFile)}function vt(r,e){return Mt(e??K().configFile,r)}function Ks(){return(Math.floor(Math.random()*2147483647)+1).toString()}rt();j();var $=z("core"),Fa=5*6e4,Ua=3e4,en=class{upstream;agents=new Map;disconnectedAgents=new Set;extensions;paths;upstreamIds=new at;pendingUpstream=new Map;pendingBridge=new Map;constructor(e){this.upstream=e.upstream,this.extensions=e.extensions??{},this.paths=e.paths}registerExtension(e,i){this.extensions[e]=i}async start(){this.upstream.onFrame(e=>this.handleFrame(e)),await this.upstream.start(),$.info("Core started",{extensions:Object.keys(this.extensions)})}async stop(e){$.info("Core stopping",{reason:e}),await Promise.all([...this.agents.values()].map(i=>i.dispose(e))),this.agents.clear(),await this.upstream.stop(e)}get(e){return this.agents.get(e)}register(e){this.agents.set(e.agentId,e),this.attachDownstreamHooks(e),$.info("agent registered",{agentId:e.agentId,framework:e.framework})}unregister(e){this.agents.delete(e)}reviveIfDisconnected(e){this.disconnectedAgents.delete(e)&&$.info("agent revived from disconnect",{agentId:e})}attachDownstreamHooks(e){e.downstream.onUpdate(i=>{this.forwardUpdate(e,i)}),e.downstream.onAgentRequest(i=>{this.handleAgentRequest(e,i)}),e.downstream.onExit((i,a)=>{$.warn("agent downstream exited",{agentId:e.agentId,code:i,signal:a})})}attachHooks(e){this.attachDownstreamHooks(e)}async handleFrame(e){if(Ht(e)){this.handleUpstreamResponse(e);return}if(Kt(e))try{if(e.method.startsWith("_agent/")){let i=this.extensions[e.method];if(!i){await this.sendError(e.id,q.METHOD_NOT_FOUND,`extension not registered: ${e.method}`);return}let a=await i(e,this);await this.upstream.send(ot(e.id,a));return}if(e.method.startsWith("session/")){let i=await this.routeSessionMethod(e);await this.upstream.send(ot(e.id,i));return}if(e.method==="initialize"){await this.upstream.send(ot(e.id,{protocolVersion:1,agentCapabilities:{loadSession:!0}}));return}await this.sendError(e.id,q.METHOD_NOT_FOUND,`method not implemented: ${e.method}`)}catch(i){$.error("handleFrame failed",{method:e.method,err:String(i)}),await this.upstream.send(Ge(e.id,Wt(i)))}}async routeSessionMethod(e){if(!e.params||typeof e.params!="object")throw new E("IPC_BAD_REQUEST",`${e.method} requires params`);let i=e.params,a=i._meta?.cozeAgentId;if(!a)throw new E("IPC_BAD_REQUEST",`${e.method}: missing _meta.cozeAgentId`);let c=this.agents.get(a);if(!c)throw this.disconnectedAgents.has(a)?new E("AGENT_DISCONNECTED",`agent ${a} has been disconnected; cloud must _agent/create to revive`):new E("AGENT_NOT_FOUND",`agent not found: ${a}`);if(c.status==="switching")throw new E("MODEL_SWITCHING",`agent ${a} is switching model; retry later`,{retriable:!0});let f=Date.now(),d=!1;try{let g=await c.msgQueue.enqueue(()=>this.dispatchSessionCall(c,e.method,i));return d=!0,g}finally{$.info("session call done",{agentId:c.agentId,method:e.method,durationMs:Date.now()-f,ok:d})}}async dispatchSessionCall(e,i,a){e.lastActiveAt=Date.now();let{stripped:c}=Ss(a);switch(i){case"session/new":{let f=c;return await e.downstream.sessionNew({...f,cwd:f.cwd||e.workspace})}case"session/load":{let f=c,d=f.sessionId,g=e.sessions.get(d);try{let m=g??d,w=await e.downstream.sessionLoad({...f,sessionId:m,cwd:f.cwd||e.workspace});return g||e.sessions.set(d,m),w}catch(m){$.warn("session/load failed,fallback to session/new",{agentId:e.agentId,cloudId:d,err:String(m)});let w=await e.downstream.sessionNew({cwd:f.cwd||e.workspace});return e.sessions.set(d,w.sessionId),{}}}case"session/prompt":{let f=c,d=f.sessionId,g=e.sessions.get(d),m=!1;if(g&&!e.verifiedSessions.has(g))try{await e.downstream.sessionLoad({sessionId:g,cwd:e.workspace}),e.verifiedSessions.add(g),$.info("session restored via session/load",{agentId:e.agentId,cloudId:d,acpId:g})}catch(v){$.warn("session/load failed,fallback to session/new",{agentId:e.agentId,cloudId:d,acpId:g,err:String(v)}),e.sessions.delete(d),g=void 0}g||(g=(await e.downstream.sessionNew({cwd:e.workspace})).sessionId,e.sessions.set(d,g),e.verifiedSessions.add(g),m=!0);let w=a._meta?.cozeTriggerMsgId;w?e.activeTriggers.set(g,w):e.activeTriggers.delete(g);let b=await e.downstream.sessionPrompt({...f,sessionId:g});return m&&this.persistSessionMapping(e),b}case"session/cancel":{let d=c.sessionId;if(!d)throw new E("IPC_BAD_REQUEST","session/cancel: missing sessionId");let g=e.sessions.get(d);return g&&await e.downstream.sessionCancel({sessionId:g}),{ok:!0}}default:throw new E("IPC_BAD_REQUEST",`session method not supported: ${i}`)}}forwardUpdate(e,i){let a=i.sessionId,c=this.reverseSessionId(e,a);if(!c){$.debug("drop update for unknown session",{agentId:e.agentId,acpId:a});return}let f={cozeAgentId:e.agentId},d=e.activeTriggers.get(a);d&&(f.cozeTriggerMsgId=d),this.upstream.send(Ns("session/update",{...i,sessionId:c,_meta:f})).catch(g=>$.warn("forward update failed",{agentId:e.agentId,err:String(g)}))}handleAgentRequest(e,i){if(i.method==="session/request_permission"){this.forwardPermissionRequest(e,i);return}$.warn("unhandled agent request,returning method_not_found",{agentId:e.agentId,method:i.method}),e.downstream.respondAgentRequestError(i.id,{code:q.METHOD_NOT_FOUND,message:`method not handled by Bridge: ${i.method}`})}forwardPermissionRequest(e,i){let a=this.upstreamIds.next("session/request_permission"),c=i.params??{},d=c.sessionId,g=d?e.activeTriggers.get(d):void 0,m={cozeAgentId:e.agentId};g&&(m.cozeTriggerMsgId=g);let w=d?this.reverseSessionId(e,d):void 0,b={...c,...w?{sessionId:w}:{},_meta:m},v=setTimeout(()=>{let C=this.pendingUpstream.get(a);C&&(this.pendingUpstream.delete(a),$.warn("upstream permission request timed out,replying cancelled to agent",{agentId:e.agentId,upstreamId:a}),e.downstream.respondAgentRequest(C.agentRequestId,{outcome:{kind:"cancelled"}}))},Fa);this.pendingUpstream.set(a,{agentRequestId:i.id,session:e,method:i.method,timer:v}),this.upstream.send(it(a,"session/request_permission",b)).catch(C=>{let I=this.pendingUpstream.get(a);I&&(clearTimeout(I.timer),this.pendingUpstream.delete(a)),$.error("forward permission request failed",{agentId:e.agentId,err:String(C)}),e.downstream.respondAgentRequestError(i.id,{code:q.INTERNAL_ERROR,message:`upstream send failed: ${String(C)}`})})}handleUpstreamResponse(e){if(e.id===null)return;let i=this.pendingUpstream.get(e.id);if(i){this.pendingUpstream.delete(e.id),clearTimeout(i.timer),e.error?i.session.downstream.respondAgentRequestError(i.agentRequestId,e.error):i.session.downstream.respondAgentRequest(i.agentRequestId,e.result);return}let a=this.pendingBridge.get(e.id);if(a){this.pendingBridge.delete(e.id),clearTimeout(a.timer),e.error?a.reject(e.error):a.resolve(e.result);return}$.debug("orphan upstream response (no pending)",{id:e.id})}sendRequest(e,i,a=Ua){let c=this.upstreamIds.next(e);return new Promise((f,d)=>{let g=setTimeout(()=>{this.pendingBridge.delete(c),d(new E("AGENT_TIMEOUT",`${e} timed out after ${a}ms`))},a);this.pendingBridge.set(c,{method:e,resolve:f,reject:d,timer:g}),this.upstream.send(it(c,e,i)).catch(m=>{let w=this.pendingBridge.get(c);w&&(clearTimeout(w.timer),this.pendingBridge.delete(c)),d(m)})})}async persistSessionMapping(e){if(this.paths)try{await $n(e.agentId,e.sessions,this.paths)}catch(i){$.warn("persist session mapping failed",{agentId:e.agentId,err:String(i)})}}reverseSessionId(e,i){for(let[a,c]of e.sessions.entries())if(c===i)return a}sendError(e,i,a){return this.upstream.send(Ge(e,{code:i,message:a}))}};j();ae();import{randomBytes as ja}from"node:crypto";import{chmod as Ka,mkdir as Ha,writeFile as Hs}from"node:fs/promises";import{createServer as Wa}from"node:http";import{dirname as Ga}from"node:path";var Ja=1e6,tr=z("ipc"),tn=class{server=null;port=0;token="";routes;paths;constructor(e){this.routes=new Map(e.routes.map(i=>[`${i.method} ${i.path}`,i])),this.paths=e.paths??K()}async start(){this.token=ja(32).toString("hex");let e=Wa((a,c)=>{this.dispatch(a,c)});this.server=e,await new Promise((a,c)=>{e.once("error",c),e.listen(0,"127.0.0.1",()=>a())});let i=e.address();if(!i||typeof i!="object")throw new Error("failed to obtain IPC port");return this.port=i.port,await this.persistAuthFiles(),tr.info("IPC listening",{port:this.port}),{port:this.port,token:this.token}}async stop(){let e=this.server;e&&(await new Promise((i,a)=>{e.close(c=>c?a(c):i())}),this.server=null)}async persistAuthFiles(){await Ha(Ga(this.paths.portFile),{recursive:!0}),await Hs(this.paths.portFile,String(this.port),"utf8"),await Hs(this.paths.tokenFile,this.token,"utf8");try{await Ka(this.paths.tokenFile,384)}catch(e){tr.warn("chmod token file failed (non-POSIX?)",{err:String(e)})}}async dispatch(e,i){if(e.headers.authorization!==`Bearer ${this.token}`){yt(i,401,{error:"unauthorized"});return}let c=`${e.method} ${(e.url??"").split("?")[0]}`,f=this.routes.get(c);if(!f){yt(i,404,{error:"not found"});return}let d=null;if(e.method==="POST")try{d=await Va(e)}catch(g){yt(i,400,{error:"invalid json",detail:String(g)});return}try{let g=await f.handler(d,e);yt(i,200,g??{ok:!0})}catch(g){tr.error("IPC handler failed",{key:c,err:String(g)}),yt(i,500,{error:g instanceof Error?g.message:String(g)})}}};function yt(r,e,i){r.statusCode=e,r.setHeader("content-type","application/json"),r.end(JSON.stringify(i))}async function Va(r){let e=[],i=0;for await(let c of r){let f=c;if(i+=f.length,i>Ja)throw new Error("body too large");e.push(f)}let a=Buffer.concat(e).toString("utf8");return a?JSON.parse(a):null}var mo=Ae(ti(),1);var Lc=Ae(Xi(),1),kc=Ae(_n(),1),Ic=Ae(ft(),1),Nc=Ae(hr(),1),Tc=Ae(mr(),1),zc=Ae(Sr(),1),io=Ae(yn(),1),Bc=Ae(so(),1);var oo=io.default;j();var En="1008033",ao="1289";var xo="pbbp2",co="https://www.coze.cn",fo="/api/coze_claw/resource/get_frontier_key",Mc="https://www.coze.cn",Rc="wss://frontier.coze.cn";function uo(r){return r??process.env.COZE_BRIDGE_HANDSHAKE_URL??Mc}function lo(r){return r??process.env.COZE_BRIDGE_FRONTIER_URL??Rc}function Cn(r){let e={},i=r?.ttEnv??process.env.COZE_BRIDGE_TT_ENV,a=r?.usePpe??process.env.COZE_BRIDGE_USE_PPE;return i&&(e["x-tt-env"]=i),a&&(e["x-use-ppe"]=a),e}var re=z("upstream.frontier"),go="application/json",po="none",Dn=class{constructor(e){this.opts=e}opts;fws=null;handler=null;connectHandler=null;opened=!1;openCount=0;async start(){if(this.fws){re.warn("start called on already-started FrontierUpstream; noop");return}let e={Authorization:`Bearer ${this.opts.privatecode}`,Origin:co,...Cn(this.opts.ppeOverride)};class i extends oo{constructor(g){super(g,xo,{headers:e})}send(g,...m){if(ls("debug"))try{let w;typeof g=="string"?w=Buffer.from(g,"utf8"):g instanceof Buffer?w=g:g instanceof ArrayBuffer?w=new Uint8Array(g):ArrayBuffer.isView(g)?w=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):w=new Uint8Array(0);let b=Buffer.from(w.slice(0,128)).toString("hex");re.debug("WS raw frame out",{bytes:w.byteLength,headHex:b})}catch(w){re.warn("WS raw frame dump failed",{err:String(w)})}super.send(g,...m)}}let a=lo(this.opts.urlOverride),c={url:a,ws:i,fpID:ao,aID:En,accessKey:this.opts.handshake.accessKey,deviceID:this.opts.handshake.deviceId,payloadType:{type:go,force:!0},payloadEncoding:{encoding:po,force:!0},enableTransformTextPayload:!0,enableQoS:!1,enableAutoAck:!1,automaticOpen:!1,debug:this.opts.debug??!1},f=new mo.FWS(c);f.onopen=()=>{this.opened=!0,this.openCount+=1;let d=this.openCount===1;re.info("frontier opened",{url:a,remoteDeviceId:this.opts.handshake.deviceId,initial:d,openCount:this.openCount}),this.connectHandler&&Promise.resolve(this.connectHandler({initial:d})).catch(g=>re.warn("onConnect handler threw (ignored)",{err:String(g)}))},f.onclose=d=>{this.opened=!1,re.info("frontier closed",{code:d.code,reason:d.reason,willReconnect:d.willReconnect})},f.onerror=d=>{re.warn("frontier error",{code:d.code,msg:d.message})},f.onmessage=d=>this.handleMessage(d),this.fws=f,await f.connect()}async stop(e){let i=this.fws;if(i){this.fws=null,this.opened=!1;try{i.close(1e3,e??"bridge shutdown")}catch(a){re.warn("frontier close threw (ignored)",{err:String(a)})}}}async send(e){let i=this.fws;if(!i)throw new E("UPSTREAM_DISCONNECTED","frontier upstream not started");let a=JSON.stringify(e),c=e;re.info("frontier frame out",{method:c.method,jsonrpcId:c.id,size:a.length});try{await i.send(a,{service:33555712,method:1,payloadType:go,payloadEncoding:po})}catch(f){throw new E("UPSTREAM_DISCONNECTED",`frontier send failed: ${String(f)}`,{cause:f})}}onFrame(e){this.handler=e}onConnect(e){this.connectHandler=e}isConnected(){return this.opened&&this.fws?.readyState===1}handleMessage(e){let i=e.message?.service;if(i!==33555712){re.debug("drop non-adapter frontier frame",{service:i});return}let a=Fc(e);if(!a){re.debug("frontier message without text payload, drop",{payloadType:e.message?.payloadType});return}if(!this.handler){re.debug("frame received but no onFrame handler",{size:a.length});return}let c;try{c=JSON.parse(a)}catch(f){re.warn("frontier message JSON parse failed",{err:String(f),head:a.slice(0,80)});return}re.info("frontier frame in",{logid:qc(e.message?.LogID),logidNew:e.message?.LogIDNew,msgId:e.message?.msgID,jsonrpcId:c.id}),Promise.resolve(this.handler(c)).catch(f=>re.warn("frontier frame handler threw",{err:String(f)}))}};function qc(r){return r?r.high===0?String(r.low>>>0):`${r.high.toString(16)}${(r.low>>>0).toString(16).padStart(8,"0")}`:""}function Fc(r){let e=r.message;if(e?.textPayload)return e.textPayload;let i=e?.payload;if(!i)return null;try{return Buffer.from(i).toString("utf8")}catch{return null}}j();function wo(r){return r?r.startsWith("boe_")?{ttEnv:r}:{ttEnv:r,usePpe:"1"}:{}}var _o=z("handshake");async function bo(r){let e=uo(r.endpoint),i=r.timeoutMs??1e4,a=`${Uc(e)}${fo}?aid=${encodeURIComponent(En)}`,c={Authorization:`Bearer ${r.privatecode}`,Accept:"application/json",...Cn(r.ppeOverride)},f=new AbortController,d=setTimeout(()=>f.abort(),i);_o.info("frontier key handshake",{base:e,deviceId:r.deviceId});try{let g=await fetch(a,{method:"GET",headers:c,signal:f.signal}),m=g.headers.get("x-tt-logid")??"",w=g.headers.get("x-tt-trace-id")??"";if(!g.ok){let I=await g.text().catch(()=>"");throw new E("UPSTREAM_HANDSHAKE_FAILED",`handshake HTTP ${g.status} logid=${m}: ${I.slice(0,200)}`)}let b=await g.json();if(b.code!==void 0&&b.code!==0)throw new E("UPSTREAM_HANDSHAKE_FAILED",`handshake code=${b.code} msg=${b.msg??"-"} logid=${m}`);let v=b.data?.access_key,C=b.data?.device_id;if(!v||!C)throw new E("UPSTREAM_HANDSHAKE_FAILED",`handshake response missing access_key/device_id logid=${m}: ${JSON.stringify(b)}`);return _o.info("handshake ok",{remoteDeviceId:C,logid:m,traceId:w}),{accessKey:v,deviceId:C}}catch(g){throw g instanceof E?g:g.name==="AbortError"?new E("UPSTREAM_HANDSHAKE_FAILED",`handshake timeout (${i}ms)`):new E("UPSTREAM_HANDSHAKE_FAILED",String(g),{cause:g})}finally{clearTimeout(d)}}function Uc(r){return r.endsWith("/")?r.slice(0,-1):r}j();var Cr=z("upstream.switchable"),An=class{inner;handler=null;connectHandler=null;constructor(e){this.inner=e}async swap(e,i){if(this.inner===e)return;Cr.info("swap upstream",{reason:i});let a=this.inner;this.inner=e,this.handler&&e.onFrame(this.handler),this.connectHandler&&e.onConnect&&e.onConnect(this.connectHandler);try{await e.start()}catch(c){throw Cr.error("swap target start failed, reverting",{err:String(c)}),this.inner=a,c}await a.stop(i??"swapped").catch(c=>Cr.warn("previous upstream stop threw (ignored)",{err:String(c)}))}current(){return this.inner}start(){return this.inner.start()}stop(e){return this.inner.stop(e)}send(e){return this.inner.send(e)}onFrame(e){this.handler=e,this.inner.onFrame(e)}onConnect(e){this.connectHandler=e,this.inner.onConnect?.(e)}isConnected(){return this.inner.isConnected()}};j();var Dr=z("upstream"),It=class{handler=null;async start(){Dr.info("NoopUpstream started (M1 skeleton; real Frontier wired in M4)")}async stop(e){Dr.info("NoopUpstream stopped",{reason:e})}async send(e){Dr.debug("NoopUpstream.send (dropped)",{method:"method"in e?e.method:void 0})}onFrame(e){this.handler=e}isConnected(){return!1}async injectFrame(e){this.handler&&await this.handler(e)}};j();ae();j();ae();import{readFileSync as jc,unlinkSync as Kc}from"node:fs";import{mkdir as Hc,readFile as vo,unlink as yo,writeFile as Wc}from"node:fs/promises";import{dirname as Gc}from"node:path";var Jc=z("single-instance"),Pn=class{pidFile;acquired=!1;constructor(e={}){this.pidFile=e.pidFile??K().pidFile,e.processTitle&&(process.title=e.processTitle)}async acquire(){let e=await this.readExistingPid();return e!==null&&this.isAlive(e)?{kind:"already-running",pid:e}:(e!==null&&(Jc.warn("removing stale pid file",{stalePid:e}),await yo(this.pidFile).catch(()=>{})),await Hc(Gc(this.pidFile),{recursive:!0}),await Wc(this.pidFile,String(process.pid),"utf8"),this.acquired=!0,this.installCleanupHooks(),{kind:"acquired"})}async release(){if(this.acquired){try{(await vo(this.pidFile,"utf8")).trim()===String(process.pid)&&await yo(this.pidFile)}catch{}this.acquired=!1}}async readExistingPid(){try{let e=await vo(this.pidFile,"utf8"),i=Number.parseInt(e.trim(),10);return Number.isFinite(i)&&i>0?i:null}catch(e){if(e.code==="ENOENT")return null;throw e}}isAlive(e){try{return process.kill(e,0),!0}catch(i){return i.code==="EPERM"}}installCleanupHooks(){process.once("exit",()=>{if(this.acquired)try{jc(this.pidFile,"utf8").trim()===String(process.pid)&&Kc(this.pidFile)}catch{}})}};var Q=z("daemon"),Vc="coze-bridge-daemon";async function Eo(){let r=new Pn({processTitle:Vc}),e=await r.acquire();if(e.kind==="already-running")throw new Error(`coze-bridge daemon already running (pid=${e.pid})`);let i=await Qt(),a=i??{deviceId:Ks()};hs({deviceId:a.deviceId,pid:process.pid}),i?Q.info("loaded bridge config",{deviceId:a.deviceId}):Q.info("initialized bridge config",{deviceId:a.deviceId});try{let L=new bt;a.frameworksCache=await L.detectAll(),Q.info("refreshed frameworks_cache",{detected:Object.keys(a.frameworksCache)})}catch(L){Q.warn("framework detection failed",{err:String(L)})}await vt(a);let c=new An(new It),f=K(),d=new en({upstream:c,paths:f});await Xc(f,d);let g=new $t({paths:f,config:a,registry:d,healthReporter:async L=>{await d.sendRequest("_agent/health",L)}}),m,w;d.registerExtension("_agent/create",async L=>g.createAgent(L.params)),d.registerExtension("_agent/health",async()=>({ok:!0}));let b=new jt({agents:d.agents,disposeAndMarkDisconnected:async(L,U)=>{let V=d.agents.get(L);V&&(await V.dispose(`disconnect: ${U}`).catch(se=>Q.warn("dispose during disconnect failed (ignored)",{agentId:L,err:String(se)})),V.status="disconnected",d.unregister(L)),d.disconnectedAgents.add(L)},executeModelSwitch:L=>g.executeModelSwitch(L)});d.registerExtension("_agent/listSkills",L=>b.listSkills(L.params)),d.registerExtension("_agent/addSkills",L=>b.addSkills(L.params)),d.registerExtension("_agent/removeSkills",L=>b.removeSkills(L.params)),d.registerExtension("_agent/getFileTree",L=>b.getFileTree(L.params)),d.registerExtension("_agent/getFileContent",L=>b.getFileContent(L.params)),d.registerExtension("_agent/update",L=>b.updateAgent(L.params)),d.registerExtension("_agent/disconnect",L=>b.disconnectAgent(L.params)),d.registerExtension("_agent/switchModel",L=>b.switchModel(L.params));let v=new qt({paths:f,handlers:b,sendDetail:L=>d.sendRequest("_agent/detail",L)});c.onConnect(({initial:L})=>{Q.info("frontier upstream connected, triggering detail sync",{initial:L}),v.syncAll(L?"initial-connect":"reconnect").catch(U=>Q.warn("detail sync top-level error (ignored)",{err:String(U)}))});let C=new tn({paths:f,routes:[{method:"GET",path:"/status",handler:async()=>({running:!0,pid:process.pid,agents:[...d.agents.keys()],deviceId:a.deviceId,frameworksCache:a.frameworksCache??{}})},{method:"POST",path:"/pair",handler:async L=>{let U=L,V=U?.privatecode,se=U?.pairing_code;if(!V||!se)throw new E("IPC_BAD_REQUEST","/pair requires privatecode + pairing_code");let me=wo(U.env),ze=U.handshake_url,Ee=U.frontier_url,_e=Yc(U.env,ze,Ee),Ce=!!m&&m!==V,we=w!==void 0&&w!==_e;if(Ce||we){Q.warn("pair config switched, resetting agents",{pcChanged:Ce,envChanged:we,previousPc:m?So(m):"",nextPc:So(V),previousEnvKey:w??"",nextEnvKey:_e});for(let ee of[...d.agents.values()])await ee.dispose("pair config switch").catch(()=>{}),d.agents.delete(ee.agentId);await c.swap(new It,"pair switch").catch(()=>{})}let pt=await bo({privatecode:V,deviceId:a.deviceId,...ze?{endpoint:ze}:{},ppeOverride:me}),Mn=new Dn({handshake:pt,privatecode:V,bridgeDeviceId:a.deviceId,...Ee?{urlOverride:Ee}:{},ppeOverride:me});await c.swap(Mn,"pair"),m=V,w=_e;let Rn=Object.keys(a.frameworksCache??{});try{let ee=await d.sendRequest("_agent/pair",{pairCode:se,patToken:V,frameworks:Rn,_meta:{cozeDeviceId:a.deviceId}});return Q.info("_agent/pair ok",{pairResult:ee}),{ok:!0,note:"paired with cloud"}}catch(ee){return Q.error("_agent/pair failed",{err:String(ee)}),{ok:!1,note:`pair failed: ${String(ee)}`}}}},{method:"POST",path:"/_agent/create",handler:async L=>{let U=L;return{ok:!0,result:await g.createAgent(U)}}},{method:"POST",path:"/refresh",handler:async()=>{Q.info("IPC /refresh: re-detecting frameworks");let L=new bt;return a.frameworksCache=await L.detectAll(),await vt(a),{ok:!0,frameworks:a.frameworksCache}}},{method:"POST",path:"/shutdown",handler:async()=>(Q.info("IPC /shutdown received"),setImmediate(()=>{F.shutdown("ipc /shutdown")}),{ok:!0})}]}),{port:I,token:B}=await C.start();await d.start();let T=null,F={port:I,token:B,core:d,ipc:C,shutdown(L){return T||(Q.info("daemon shutdown",{reason:L}),T=(async()=>{await d.stop(L),await C.stop(),await r.release()})(),T)}};for(let L of["SIGTERM","SIGINT"])process.on(L,()=>{F.shutdown(L).then(()=>process.exit(0))});return Q.info("daemon ready",{port:I,pid:process.pid,nodeVersion:process.version,platform:process.platform,frameworks:Object.keys(a.frameworksCache??{}),libVersion:a.libVersion??"dev"}),F}function So(r){return r.length<=8?"***":`${r.slice(0,4)}***${r.slice(-4)}`}function Yc(r,e,i){return`${r??""}|${e??""}|${i??""}`}async function Xc(r,e){let{readdir:i}=await import("node:fs/promises"),a;try{a=await i(r.agentsRoot)}catch{return}let{loadAgentConfig:c,enforceAgentConfigMode:f}=await Promise.resolve().then(()=>(rt(),ps));for(let d of a){await f(d,r).catch(g=>Q.warn("enforceAgentConfigMode failed (ignored)",{agentId:d,err:String(g)}));try{let g=await c(d,r);g?.disconnectedAt&&(e.disconnectedAgents.add(d),Q.info("agent marked disconnected on startup",{agentId:d,disconnectedAt:g.disconnectedAt,reason:g.disconnectReason??""}))}catch(g){Q.warn("failed to load agent config on startup, skipping",{agentId:d,err:String(g)})}}}Pr();ae();import{readFile as Do}from"node:fs/promises";var Ue=class{paths;constructor(e){this.paths=e??K()}async probe(e=1e3){let i=await this.readAuth();if(!i)return{kind:"not-running"};try{let a=await this.fetch(i,{method:"GET",path:"/status",timeoutMs:e});return a.status===200?{kind:"connected",...i}:{kind:"stale",reason:`unexpected status ${a.status}`}}catch(a){return{kind:"stale",reason:of(a)}}}async request(e){let i=await this.readAuth();if(!i)throw new Error("coze-bridge daemon not running (no port/token files)");return this.fetch(i,e)}async readAuth(){try{let[e,i]=await Promise.all([Do(this.paths.portFile,"utf8"),Do(this.paths.tokenFile,"utf8")]),a=Number.parseInt(e.trim(),10),c=i.trim();return!Number.isFinite(a)||a<=0||!c?null:{port:a,token:c}}catch(e){if(e.code==="ENOENT")return null;throw e}}async fetch(e,i){let a=i.body!==void 0,c={Authorization:`Bearer ${e.token}`};a&&(c["content-type"]="application/json");let f=new AbortController,d=setTimeout(()=>f.abort(),i.timeoutMs??5e3);try{let g=await fetch(`http://127.0.0.1:${e.port}${i.path}`,{method:i.method,headers:c,body:a?JSON.stringify(i.body):void 0,signal:f.signal}),m=await g.text();return{status:g.status,body:sf(m)}}finally{clearTimeout(d)}}};function sf(r){if(!r)return null;try{return JSON.parse(r)}catch{return r}}function of(r){return r instanceof Error?r.message:String(r)}j();ae();import{copyFile as Ao,mkdir as af,readFile as Lr,writeFile as xf}from"node:fs/promises";import{dirname as cf,resolve as kr,sep as Ln}from"node:path";import{fileURLToPath as ff}from"node:url";j();ae();var Po=z("dist-install");function uf(r){let e=ff(r),i=cf(e),a=`${Ln}src${Ln}`;if(i.includes(a)||i.endsWith(`${Ln}src${Ln}cli`))return null;let c=kr(i,"index.js"),f=kr(i,"..","package.json");return{dist:c,pkgJson:f}}async function Lo(r={}){let e=r.paths??K(),i=uf(import.meta.url),a=r.sourceDist??i?.dist,c=r.sourcePackageJson??i?.pkgJson;if(!a||!c)return{kind:"dev-mode-skip",reason:"running from src/(tsx loader);no dist/ to install"};let f;try{f=JSON.parse(await Lr(c,"utf8")).version??"unknown"}catch(v){return Po.warn("cannot read source package.json,skip dist install",{err:String(v)}),{kind:"dev-mode-skip",reason:`package.json read failed: ${String(v)}`}}let d=await Qt(e.configFile)??{deviceId:""},g=d.libVersion;if(g===f)try{return await Lr(e.libEntry),{kind:"already-current",libVersion:f}}catch{}await af(e.libDir,{recursive:!0}),await Ao(a,e.libEntry),await Ao(`${a}.map`,`${e.libEntry}.map`).catch(()=>{});let m=kr(e.libDir,"package.json"),w=`${JSON.stringify({type:"module"},null,2)}
|
|
91
|
+
`;return await Lr(m,"utf8").catch(()=>null)!==w&&await xf(m,w),d.libVersion=f,d.deviceId||(d.deviceId=""),await vt(d,e.configFile),Po.info("dist installed",{libEntry:e.libEntry,fromVersion:g,toVersion:f}),g?{kind:"version-changed",fromVersion:g,toVersion:f,libEntry:e.libEntry}:{kind:"first-install",libVersion:f,libEntry:e.libEntry}}var kf=z("cli");function Nt(r,e){let i=[],a;for(let c=0;c<r.length;c++){let f=r[c];if(f===e){a=r[c+1],c+=1;continue}if(f.startsWith(`${e}=`)){a=f.slice(e.length+1);continue}i.push(f)}return{value:a,rest:i}}function If(r){let e=r.slice(2);if(e.includes("--daemon"))return{mode:"daemon"};if(e.includes("--status"))return{mode:"status"};if(e.includes("--stop"))return{mode:"stop"};if(e.includes("--refresh"))return{mode:"refresh"};if(e.includes("--uninstall"))return{mode:"uninstall"};if(e.includes("--install-service"))return{mode:"install-service"};if(e.includes("--help")||e.includes("-h")||e.length===0)return{mode:"help"};let i=e,{value:a,rest:c}=Nt(i,"--pat-token");i=c;let{value:f,rest:d}=Nt(i,"--pair-code");i=d;let{value:g,rest:m}=Nt(i,"--env");i=m;let{value:w,rest:b}=Nt(i,"--handshake-url");i=b;let{value:v,rest:C}=Nt(i,"--frontier-url");if(i=C,!a||!f)return{mode:"help"};let I={mode:"pair",privatecode:a,pairingCode:f};return g&&(I.env=g),w&&(I.handshakeUrl=w),v&&(I.frontierUrl=v),I}var Nf=`
|
|
92
|
+
coze-bridge - local bridge daemon for cloud Agent Service
|
|
93
|
+
|
|
94
|
+
Usage:
|
|
95
|
+
npx -y coze-bridge@latest --pat-token=<sat_xxx> --pair-code=<xxx> start/reuse daemon and deliver pair
|
|
96
|
+
npx -y coze-bridge@latest --status show daemon status
|
|
97
|
+
npx -y coze-bridge@latest --stop stop daemon
|
|
98
|
+
npx -y coze-bridge@latest --refresh re-detect agent binaries (claude/codex/openclaw)
|
|
99
|
+
npx -y coze-bridge@latest --uninstall stop daemon + remove ~/.coze
|
|
100
|
+
|
|
101
|
+
Required (for pair):
|
|
102
|
+
--pat-token <sat_xxx> coze PAT token (\u4ECE coze \u5E73\u53F0\u62FF)
|
|
103
|
+
--pair-code <xxx> \u914D\u5BF9\u7801 (\u4ECE\u4E91\u7AEF UI \u62FF)
|
|
104
|
+
|
|
105
|
+
Environment routing (optional, per-pair, not persisted):
|
|
106
|
+
--env <value> ppe_* \u2192 x-use-ppe header; boe_* \u2192 x-tt-env
|
|
107
|
+
--handshake-url <url> override HTTP base (default https://www.coze.cn)
|
|
108
|
+
--frontier-url <url> override Frontier WS URL (default wss://frontier.coze.cn)
|
|
109
|
+
|
|
110
|
+
Example: npx -y coze-bridge --pat-token=sat_xxx --pair-code=xxx --env=ppe_xxx
|
|
111
|
+
|
|
112
|
+
Internal:
|
|
113
|
+
<node> <entry> --daemon daemon mode (OS supervisor only)
|
|
114
|
+
`.trimStart();async function Bo(r=process.argv,e={}){let i=If(r);switch(i.mode){case"help":return process.stdout.write(Nf),0;case"daemon":{try{await Eo()}catch(a){return kf.error("daemon start failed",{err:String(a)}),1}return new Promise(()=>{})}case"status":return Tf(e);case"stop":return zf(e);case"refresh":return Bf(e);case"uninstall":return Mf(e);case"install-service":return Rf();case"pair":{let a={};return i.env&&(a.env=i.env),i.handshakeUrl&&(a.handshakeUrl=i.handshakeUrl),i.frontierUrl&&(a.frontierUrl=i.frontierUrl),Of(i.privatecode,i.pairingCode,e,a)}}}async function Tf(r){let e=new Ue(r.paths),i=await e.probe();if(i.kind==="not-running")return process.stdout.write(`coze-bridge: not running
|
|
115
|
+
`),1;if(i.kind==="stale")return process.stdout.write(`coze-bridge: stale (${i.reason})
|
|
116
|
+
`),1;let a=await e.request({method:"GET",path:"/status"});return process.stdout.write(`coze-bridge: running
|
|
117
|
+
${JSON.stringify(a.body,null,2)}
|
|
118
|
+
`),0}async function zf(r){let e=new Ue(r.paths);if((await e.probe()).kind==="not-running")return process.stdout.write(`coze-bridge: not running
|
|
119
|
+
`),0;try{return await e.request({method:"POST",path:"/shutdown"}),process.stdout.write(`coze-bridge: stopped
|
|
120
|
+
`),0}catch(a){return process.stdout.write(`coze-bridge: stop failed: ${String(a)}
|
|
121
|
+
`),1}}async function Bf(r){let e=new Ue(r.paths);if((await e.probe()).kind==="not-running")return process.stdout.write(`coze-bridge: not running (start daemon first)
|
|
122
|
+
`),1;try{let a=await e.request({method:"POST",path:"/refresh"});return a.status===200?(process.stdout.write(`coze-bridge: refreshed
|
|
123
|
+
${JSON.stringify(a.body,null,2)}
|
|
124
|
+
`),0):(process.stderr.write(`coze-bridge: refresh failed: ${JSON.stringify(a.body)}
|
|
125
|
+
`),1)}catch(a){return process.stderr.write(`coze-bridge: refresh failed: ${String(a)}
|
|
126
|
+
`),1}}async function Mf(r){let e=new Ue(r.paths);if((await e.probe()).kind==="connected"){process.stdout.write(`coze-bridge: stopping daemon...
|
|
127
|
+
`);try{await e.request({method:"POST",path:"/shutdown"})}catch(f){process.stderr.write(`coze-bridge: stop failed (continuing): ${String(f)}
|
|
128
|
+
`)}await new Promise(f=>setTimeout(f,500))}if(!r.skipSupervisor)try{let{getSupervisor:f,buildContext:d}=await Promise.resolve().then(()=>(Rr(),Mr)),g=f();await g.uninstall(d()),process.stdout.write(`coze-bridge: ${g.platform} supervisor unregistered
|
|
129
|
+
`)}catch(f){process.stderr.write(`coze-bridge: supervisor uninstall failed (continuing): ${String(f)}
|
|
130
|
+
`)}let a=r.paths??K(),{rm:c}=await import("node:fs/promises");try{await c(a.cozeRoot,{recursive:!0,force:!0}),process.stdout.write(`coze-bridge: removed ${a.cozeRoot}
|
|
131
|
+
`)}catch(f){return process.stderr.write(`coze-bridge: remove failed: ${String(f)}
|
|
132
|
+
`),1}return process.stdout.write(`coze-bridge: uninstalled
|
|
133
|
+
`),0}async function Rf(){try{let{getSupervisor:r,buildContext:e}=await Promise.resolve().then(()=>(Rr(),Mr)),i=r(),a=e();return process.stdout.write(`coze-bridge: installing ${i.platform} supervisor...
|
|
134
|
+
`),await i.install(a),process.stdout.write(`coze-bridge: supervisor installed (daemon will auto-start on login)
|
|
135
|
+
`),0}catch(r){return process.stderr.write(`coze-bridge: --install-service failed: ${String(r)}
|
|
136
|
+
`),1}}async function Of(r,e,i,a={}){let c=new Ue(i.paths),f=i.spawnDaemon??Co;if(!i.skipDistInstall){let m=await Lo({paths:i.paths});m.kind==="version-changed"?(process.stdout.write(`coze-bridge: upgraded ${m.fromVersion} \u2192 ${m.toVersion}
|
|
137
|
+
`),(await c.probe()).kind==="connected"&&(await c.request({method:"POST",path:"/shutdown"}).catch(()=>{}),await new Promise(b=>setTimeout(b,500)))):m.kind==="first-install"&&process.stdout.write(`coze-bridge: installed ${m.libVersion}
|
|
138
|
+
`)}let d=await c.probe();if(d.kind!=="connected"&&(process.stdout.write(`coze-bridge: starting daemon...
|
|
139
|
+
`),await f({paths:i.paths}),d=await qf(c,i.waitTimeoutMs??1e4,i.sleep??Ff),d.kind!=="connected"))return process.stderr.write(`coze-bridge: daemon did not come up: ${d.kind}
|
|
140
|
+
`),1;let g={privatecode:r,pairing_code:e};a.env&&(g.env=a.env),a.handshakeUrl&&(g.handshake_url=a.handshakeUrl),a.frontierUrl&&(g.frontier_url=a.frontierUrl);try{let m=await c.request({method:"POST",path:"/pair",body:g});return m.status===200&&m.body?.ok?(process.stdout.write(`coze-bridge: paired (${m.body.note??"ok"})
|
|
141
|
+
`),0):(process.stderr.write(`coze-bridge: pair failed: ${JSON.stringify(m.body)}
|
|
142
|
+
`),1)}catch(m){return process.stderr.write(`coze-bridge: pair failed: ${String(m)}
|
|
143
|
+
`),1}}async function qf(r,e,i){let a=Date.now()+e;for(;Date.now()<a;){let c=await r.probe(500);if(c.kind==="connected")return c;await i(200)}return r.probe(500)}function Ff(r){return new Promise(e=>setTimeout(e,r))}Bo(process.argv).then(r=>process.exit(r),r=>{process.stderr.write(`fatal: ${r instanceof Error?r.stack??r.message:String(r)}
|
|
144
|
+
`),process.exit(1)});
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "coze-bridge",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Local daemon that bridges cloud Agent Service and on-device AI agents (Claude Code / Codex / OpenClaw) over extended ACP.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": ">=20"
|
|
9
|
+
},
|
|
10
|
+
"bin": {
|
|
11
|
+
"coze-bridge": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist/index.js",
|
|
15
|
+
"README.md",
|
|
16
|
+
"LICENSE"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"dev": "tsx watch src/index.ts",
|
|
20
|
+
"start": "tsx src/index.ts",
|
|
21
|
+
"build": "node scripts/build.mjs",
|
|
22
|
+
"build:vendor-frontier": "node scripts/build-vendor-frontier.mjs",
|
|
23
|
+
"build:release": "npm run build:vendor-frontier && USE_OBFUSCATED_FRONTIER=1 node scripts/build.mjs && npm run smoke",
|
|
24
|
+
"smoke": "node dist/index.js --status || test $? -eq 1",
|
|
25
|
+
"publish:dry": "npm run build:release && node scripts/publish-dry-run.mjs",
|
|
26
|
+
"publish:dev-dry": "npm run build && node scripts/publish-dry-run.mjs",
|
|
27
|
+
"typecheck": "tsc",
|
|
28
|
+
"typecheck:tools": "tsc -p tools/mock-cloud/tsconfig.json",
|
|
29
|
+
"lint": "biome check src",
|
|
30
|
+
"lint:fix": "biome check --write src",
|
|
31
|
+
"format": "biome format --write src",
|
|
32
|
+
"test": "node --import tsx/esm --test $(find src -type f -name '*.test.ts')",
|
|
33
|
+
"mock-cloud": "tsx tools/mock-cloud/server.ts",
|
|
34
|
+
"clean": "rm -rf dist build vendor coverage *.tsbuildinfo"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@biomejs/biome": "^1.9.4",
|
|
38
|
+
"@byted/frontier-web-sdk": "^1.25.13",
|
|
39
|
+
"@types/node": "^20.14.0",
|
|
40
|
+
"@types/ws": "^8.18.1",
|
|
41
|
+
"esbuild": "^0.28.0",
|
|
42
|
+
"javascript-obfuscator": "^5.4.2",
|
|
43
|
+
"tsx": "^4.19.2",
|
|
44
|
+
"typescript": "^5.6.3",
|
|
45
|
+
"ws": "^8.20.0"
|
|
46
|
+
},
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public"
|
|
49
|
+
}
|
|
50
|
+
}
|