@kaeawc/auto-mobile 0.0.93 → 0.0.94

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.
Files changed (228) hide show
  1. package/dist/build-info.json +12 -12
  2. package/dist/src/ble-peripheral.py +153 -0
  3. package/dist/src/{chunk-r6z1eztj.js → chunk-026y62r9.js} +11 -11
  4. package/dist/src/chunk-0jyfg947.js +4 -0
  5. package/dist/src/{chunk-8g1922rp.js → chunk-0zfpp1wh.js} +4 -4
  6. package/dist/src/{chunk-qf6nynk6.js → chunk-13qxf7ym.js} +5 -5
  7. package/dist/src/chunk-1scenrk7.js +4 -0
  8. package/dist/src/chunk-1vb5ph1k.js +4 -0
  9. package/dist/src/{chunk-710rxz9y.js → chunk-20g565q7.js} +3 -3
  10. package/dist/src/chunk-21h6dhdm.js +5 -0
  11. package/dist/src/chunk-25mfpthk.js +78 -0
  12. package/dist/src/{chunk-rbpdk7m0.js → chunk-2b39zyxc.js} +3 -3
  13. package/dist/src/chunk-2gzd6wbd.js +4 -0
  14. package/dist/src/{chunk-xgan0qqp.js → chunk-3dntffy9.js} +1 -1
  15. package/dist/src/chunk-3gfczcsn.js +4 -0
  16. package/dist/src/{chunk-dgrbdpb7.js → chunk-3h5jz1vb.js} +6 -6
  17. package/dist/src/{chunk-t6c8akcm.js → chunk-41zcy6b3.js} +3 -3
  18. package/dist/src/chunk-47n9m2de.js +4 -0
  19. package/dist/src/chunk-4vxeq0vd.js +58 -0
  20. package/dist/src/chunk-59dx6qaf.js +4 -0
  21. package/dist/src/chunk-5sdf9y92.js +4 -0
  22. package/dist/src/{chunk-58wzr3mt.js → chunk-5wk1t46v.js} +3 -3
  23. package/dist/src/{chunk-vy3bwm1d.js → chunk-661c50hh.js} +5 -5
  24. package/dist/src/chunk-68n6bjjd.js +21 -0
  25. package/dist/src/{chunk-v6pya0dm.js → chunk-69pmjdf2.js} +3 -3
  26. package/dist/src/{chunk-e98dqnc9.js → chunk-6hrj3jt6.js} +20 -20
  27. package/dist/src/{chunk-wbh8spm5.js → chunk-6myr26wx.js} +8 -8
  28. package/dist/src/chunk-6n96k09n.js +4 -0
  29. package/dist/src/chunk-6vwrbkre.js +4 -0
  30. package/dist/src/chunk-6wk0yrab.js +4 -0
  31. package/dist/src/chunk-6yhm9een.js +4 -0
  32. package/dist/src/{chunk-mjrps0ac.js → chunk-7k7gjg2t.js} +5 -5
  33. package/dist/src/chunk-7n5fz68h.js +4 -0
  34. package/dist/src/chunk-8cvnpnbp.js +4 -0
  35. package/dist/src/chunk-8kzv7rk7.js +4 -0
  36. package/dist/src/chunk-8nj68t1v.js +167 -0
  37. package/dist/src/{chunk-g7tmjbkt.js → chunk-96r3bpg7.js} +3 -3
  38. package/dist/src/chunk-97x887te.js +4 -0
  39. package/dist/src/{chunk-8ph29g99.js → chunk-99a6tbvd.js} +1 -1
  40. package/dist/src/chunk-9p5d2994.js +5 -0
  41. package/dist/src/{chunk-aabchzxk.js → chunk-9q265er0.js} +4 -4
  42. package/dist/src/{chunk-jh6vhqzx.js → chunk-9xgnrv5w.js} +3 -3
  43. package/dist/src/chunk-9xgsmshb.js +5 -0
  44. package/dist/src/chunk-a02d1wgv.js +4 -0
  45. package/dist/src/{chunk-ndt1ccxm.js → chunk-a9ps00a1.js} +10 -10
  46. package/dist/src/{chunk-5d2hft6c.js → chunk-aewdveet.js} +3 -3
  47. package/dist/src/{chunk-ycaj2sgf.js → chunk-b3tdtq7r.js} +6 -6
  48. package/dist/src/chunk-bn7jx7a2.js +4 -0
  49. package/dist/src/{chunk-3y6eykz9.js → chunk-bnyw27ja.js} +2 -2
  50. package/dist/src/{chunk-rqc9ap3x.js → chunk-bpwsg76p.js} +2 -2
  51. package/dist/src/chunk-bvranw3g.js +4 -0
  52. package/dist/src/chunk-c25a84zb.js +4 -0
  53. package/dist/src/chunk-c27yv1dx.js +5 -0
  54. package/dist/src/chunk-c3ewxm4x.js +5 -0
  55. package/dist/src/{chunk-rvvy1bte.js → chunk-cb1ga9rd.js} +5 -5
  56. package/dist/src/chunk-cn7fwy7k.js +4 -0
  57. package/dist/src/chunk-cnvy4a64.js +4 -0
  58. package/dist/src/{chunk-7rz9898k.js → chunk-cqhw4yr6.js} +3 -3
  59. package/dist/src/{chunk-g04bwyj3.js → chunk-ctmfshjc.js} +2 -2
  60. package/dist/src/chunk-ctwmhz13.js +4 -0
  61. package/dist/src/{chunk-waqwcjyn.js → chunk-d3jx9bz5.js} +2 -2
  62. package/dist/src/{chunk-ayp07wbb.js → chunk-d6rb08ga.js} +1 -1
  63. package/dist/src/chunk-ddqhj4eg.js +5 -0
  64. package/dist/src/{chunk-r7bpkgff.js → chunk-ddrhs1c3.js} +2 -2
  65. package/dist/src/chunk-dnjnh9p6.js +4 -0
  66. package/dist/src/{chunk-wyrkw6hw.js → chunk-dw5rwgya.js} +3 -3
  67. package/dist/src/{chunk-3xkpk44w.js → chunk-e0870khr.js} +3 -3
  68. package/dist/src/chunk-ea3k10kj.js +4 -0
  69. package/dist/src/chunk-emv82m1w.js +7 -0
  70. package/dist/src/chunk-f3m6pdnx.js +4 -0
  71. package/dist/src/chunk-f84z32cb.js +4 -0
  72. package/dist/src/chunk-fpczgf0z.js +4 -0
  73. package/dist/src/{chunk-2tqzq5qh.js → chunk-g2js4c2v.js} +18 -18
  74. package/dist/src/chunk-g3af2qbk.js +5 -0
  75. package/dist/src/{chunk-3qwrzxh0.js → chunk-gadtna7s.js} +6 -6
  76. package/dist/src/{chunk-ybbtagbt.js → chunk-gcyx407v.js} +3 -3
  77. package/dist/src/{chunk-bfw6125s.js → chunk-gfpntwc1.js} +3 -3
  78. package/dist/src/chunk-gmnm5e3e.js +4 -0
  79. package/dist/src/chunk-gp6vb5gf.js +4 -0
  80. package/dist/src/chunk-gppgy7pa.js +4 -0
  81. package/dist/src/chunk-hegfz0ae.js +5 -0
  82. package/dist/src/chunk-hpzxdp1k.js +17 -0
  83. package/dist/src/{chunk-qcxzr2my.js → chunk-j69g8b50.js} +3 -3
  84. package/dist/src/chunk-jvstjnqm.js +19 -0
  85. package/dist/src/chunk-jzqrv78s.js +4 -0
  86. package/dist/src/chunk-k2948b8d.js +4 -0
  87. package/dist/src/chunk-k4ftd40d.js +4 -0
  88. package/dist/src/{chunk-bxmsax22.js → chunk-kd9vfaxh.js} +3 -3
  89. package/dist/src/{chunk-s3jc6cwp.js → chunk-kdczmgwk.js} +3 -3
  90. package/dist/src/{chunk-t6bfvfkg.js → chunk-ke3wn14v.js} +1 -1
  91. package/dist/src/chunk-kh5n7m6w.js +4 -0
  92. package/dist/src/{chunk-6wt9rgjf.js → chunk-khejfph4.js} +3 -3
  93. package/dist/src/chunk-kny2xemh.js +4 -0
  94. package/dist/src/chunk-knyzw9md.js +4 -0
  95. package/dist/src/chunk-mbzpt2hp.js +4 -0
  96. package/dist/src/chunk-mm8rcxad.js +4 -0
  97. package/dist/src/chunk-nc4516tx.js +4 -0
  98. package/dist/src/{chunk-6bznss4t.js → chunk-ntfrqrqn.js} +5 -5
  99. package/dist/src/chunk-nz5h2j52.js +4 -0
  100. package/dist/src/chunk-p22s97qy.js +4 -0
  101. package/dist/src/chunk-p9kt1sgr.js +6 -0
  102. package/dist/src/{chunk-yb97j25b.js → chunk-pf282r5g.js} +4 -4
  103. package/dist/src/chunk-pnd4mrxy.js +4 -0
  104. package/dist/src/chunk-pqqteyj6.js +4 -0
  105. package/dist/src/{chunk-6xmss8er.js → chunk-qj1tbnv2.js} +6 -6
  106. package/dist/src/chunk-qnh9egwr.js +4 -0
  107. package/dist/src/chunk-qy3khhf8.js +8 -0
  108. package/dist/src/{chunk-z637nqg8.js → chunk-r0vp315h.js} +6 -6
  109. package/dist/src/chunk-r4j43b9s.js +237 -0
  110. package/dist/src/{chunk-1p7xf5kb.js → chunk-r54cxxze.js} +3 -3
  111. package/dist/src/{chunk-yf7ympyz.js → chunk-r6pvhj33.js} +92 -92
  112. package/dist/src/chunk-rb7aa5gr.js +54 -0
  113. package/dist/src/chunk-rdj50kb4.js +4 -0
  114. package/dist/src/chunk-rnd4vcas.js +4 -0
  115. package/dist/src/{chunk-w5b2jwk3.js → chunk-s3y3zfcx.js} +8 -8
  116. package/dist/src/chunk-s4g43k75.js +5 -0
  117. package/dist/src/chunk-sfqe223f.js +311 -0
  118. package/dist/src/{chunk-284ptqa4.js → chunk-sqdrxjw5.js} +5 -5
  119. package/dist/src/{chunk-zgja5f3p.js → chunk-t54k47em.js} +4 -4
  120. package/dist/src/{chunk-3sy6ahhz.js → chunk-tek4pnvv.js} +10 -10
  121. package/dist/src/chunk-tn74y7af.js +4 -0
  122. package/dist/src/{chunk-thbh3jew.js → chunk-tvq0nzam.js} +3 -3
  123. package/dist/src/{chunk-0jrrsnc9.js → chunk-tx4f0h9c.js} +4 -4
  124. package/dist/src/chunk-vdqag3fj.js +5 -0
  125. package/dist/src/chunk-vz5zzs57.js +4 -0
  126. package/dist/src/chunk-w4s2vfpj.js +4 -0
  127. package/dist/src/{chunk-4hw3665t.js → chunk-w5yypt53.js} +11 -11
  128. package/dist/src/{chunk-8037tzzj.js → chunk-w68v64vh.js} +3 -3
  129. package/dist/src/chunk-whwj0pdk.js +5 -0
  130. package/dist/src/chunk-wnmqt1dc.js +4 -0
  131. package/dist/src/{chunk-cyy71ggq.js → chunk-wpe46vsa.js} +3 -3
  132. package/dist/src/{chunk-w3vs79ex.js → chunk-wxdjeb4k.js} +19 -19
  133. package/dist/src/chunk-xcqzwf9j.js +247 -0
  134. package/dist/src/chunk-xezekwwn.js +5 -0
  135. package/dist/src/chunk-xf19m15s.js +4 -0
  136. package/dist/src/chunk-xghbxha4.js +4 -0
  137. package/dist/src/{chunk-00167wan.js → chunk-xn9m3xc2.js} +5 -5
  138. package/dist/src/{chunk-26k317v5.js → chunk-yqfz4vts.js} +3 -3
  139. package/dist/src/chunk-z8tvs8nk.js +5 -0
  140. package/dist/src/chunk-zm2rehqb.js +5 -0
  141. package/dist/src/chunk-zs6dqm35.js +4 -0
  142. package/dist/src/daemon/processEntry.js +2 -2
  143. package/dist/src/index.js +4 -4
  144. package/dist/src/runtime/bunRuntimeGuard.js +2 -2
  145. package/dist/src/utils/workers/iosBundleExtractWorker.js +2 -2
  146. package/package.json +2 -2
  147. package/dist/src/chunk-0n6swkwg.js +0 -5
  148. package/dist/src/chunk-0qsy1qsx.js +0 -57
  149. package/dist/src/chunk-11m8wj8j.js +0 -237
  150. package/dist/src/chunk-23p5f095.js +0 -4
  151. package/dist/src/chunk-28re4xrg.js +0 -4
  152. package/dist/src/chunk-2f9rkmhx.js +0 -5
  153. package/dist/src/chunk-2fxdh48t.js +0 -4
  154. package/dist/src/chunk-2tbdrbt6.js +0 -4
  155. package/dist/src/chunk-32gvv9b4.js +0 -21
  156. package/dist/src/chunk-3f3t1x97.js +0 -8
  157. package/dist/src/chunk-3fspkbc7.js +0 -4
  158. package/dist/src/chunk-3vg455e6.js +0 -4
  159. package/dist/src/chunk-49bsqdx3.js +0 -4
  160. package/dist/src/chunk-5snsn9cf.js +0 -4
  161. package/dist/src/chunk-5tm9mn47.js +0 -54
  162. package/dist/src/chunk-5zc77a5t.js +0 -4
  163. package/dist/src/chunk-64j0majr.js +0 -19
  164. package/dist/src/chunk-65y8v4td.js +0 -17
  165. package/dist/src/chunk-6awz7vhq.js +0 -5
  166. package/dist/src/chunk-6ep7f5ge.js +0 -4
  167. package/dist/src/chunk-7cs2da62.js +0 -5
  168. package/dist/src/chunk-7g103b54.js +0 -4
  169. package/dist/src/chunk-7j5vj4pa.js +0 -4
  170. package/dist/src/chunk-7tw8x05v.js +0 -4
  171. package/dist/src/chunk-7zy586cb.js +0 -4
  172. package/dist/src/chunk-84nanf8s.js +0 -5
  173. package/dist/src/chunk-8gvwcv2p.js +0 -4
  174. package/dist/src/chunk-8thrmfat.js +0 -4
  175. package/dist/src/chunk-8zgzzs7k.js +0 -78
  176. package/dist/src/chunk-97b1zmaq.js +0 -4
  177. package/dist/src/chunk-9fth9ayh.js +0 -4
  178. package/dist/src/chunk-9j6anhjr.js +0 -4
  179. package/dist/src/chunk-bfjwqk8q.js +0 -4
  180. package/dist/src/chunk-bnhscm2n.js +0 -4
  181. package/dist/src/chunk-c1vs4g1n.js +0 -4
  182. package/dist/src/chunk-ct3e7yng.js +0 -4
  183. package/dist/src/chunk-ddzkz92z.js +0 -4
  184. package/dist/src/chunk-drdz8hee.js +0 -5
  185. package/dist/src/chunk-eersndy7.js +0 -5
  186. package/dist/src/chunk-eggq53ks.js +0 -4
  187. package/dist/src/chunk-f2dya7cs.js +0 -4
  188. package/dist/src/chunk-fbakd6cw.js +0 -4
  189. package/dist/src/chunk-fgb98zjj.js +0 -5
  190. package/dist/src/chunk-fmpad823.js +0 -5
  191. package/dist/src/chunk-g0xr8zw0.js +0 -4
  192. package/dist/src/chunk-g3rjs80x.js +0 -4
  193. package/dist/src/chunk-g78rtrfv.js +0 -4
  194. package/dist/src/chunk-gabgv3y5.js +0 -4
  195. package/dist/src/chunk-gmr45m8f.js +0 -4
  196. package/dist/src/chunk-gsyfebqj.js +0 -4
  197. package/dist/src/chunk-h5rpn9wr.js +0 -247
  198. package/dist/src/chunk-hb1x7v55.js +0 -4
  199. package/dist/src/chunk-hrfytkxh.js +0 -168
  200. package/dist/src/chunk-j4yjzbak.js +0 -4
  201. package/dist/src/chunk-jd6a5v6p.js +0 -5
  202. package/dist/src/chunk-kn5spq15.js +0 -4
  203. package/dist/src/chunk-m94qs0f0.js +0 -4
  204. package/dist/src/chunk-n03dmn5q.js +0 -5
  205. package/dist/src/chunk-n72qhwd9.js +0 -4
  206. package/dist/src/chunk-nr6y0n4y.js +0 -5
  207. package/dist/src/chunk-pcsen2vs.js +0 -4
  208. package/dist/src/chunk-ppfr0b8h.js +0 -4
  209. package/dist/src/chunk-q10bdnat.js +0 -4
  210. package/dist/src/chunk-q9xmq595.js +0 -4
  211. package/dist/src/chunk-qyqypn28.js +0 -5
  212. package/dist/src/chunk-r2epb56s.js +0 -4
  213. package/dist/src/chunk-r5bxavdx.js +0 -311
  214. package/dist/src/chunk-r8jf3d92.js +0 -4
  215. package/dist/src/chunk-rc0dbypm.js +0 -4
  216. package/dist/src/chunk-rhcty4ms.js +0 -4
  217. package/dist/src/chunk-rpvckv3p.js +0 -4
  218. package/dist/src/chunk-ry0mz41y.js +0 -4
  219. package/dist/src/chunk-sfv61xjb.js +0 -6
  220. package/dist/src/chunk-t7w8rctc.js +0 -4
  221. package/dist/src/chunk-v2wd4n3e.js +0 -5
  222. package/dist/src/chunk-w4zga19f.js +0 -4
  223. package/dist/src/chunk-w7hkv422.js +0 -5
  224. package/dist/src/chunk-xa73x2cx.js +0 -5
  225. package/dist/src/chunk-y2vs6jwg.js +0 -4
  226. package/dist/src/chunk-yattm52s.js +0 -4
  227. package/dist/src/chunk-yjawdzk8.js +0 -4
  228. package/dist/src/chunk-zs1sghs9.js +0 -4
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{i,cr,l,e}from"./chunk-z637nqg8.js";import{R,Bt,cz,H,Pn,CB,An,qa}from"./chunk-r5bxavdx.js";import{om,Ky,eQ,CA,DA,Gy}from"./chunk-hrfytkxh.js";import{RU,HK}from"./chunk-1p7xf5kb.js";import{qd}from"./chunk-3qwrzxh0.js";import{ru,G}from"./chunk-64j0majr.js";import{wo,ate}from"./chunk-7rz9898k.js";var f=new Set(["light","dark","auto"]),v="Automatic appearance sync is disabled by AUTOMOBILE_APPEARANCE_SYNC.",m="No device was targeted: the configuration is stored, but no device was changed. Name a session or start a device first.",d={getPooledDevices:()=>{let n=R.devicePool();if(!n)return[];return n.getAllDevices().filter((t)=>cr(t.platform)).map((t)=>({deviceId:t.id,name:t.name,platform:t.platform}))},getSessionDevice:(n)=>{let t=n?.trim();if(!t)return;let o=R.sessionManager();if(!o)return wo(t)?.device;let a=o.getDeviceForSession(t),r=a?R.devicePool()?.getDevice(a):void 0;return r&&cr(r.platform)?{deviceId:r.id,name:r.name,platform:r.platform}:void 0},getSessionForDevice:(n,t)=>{let o=R.sessionManager();if(o)return o.getSessionForDevice(n);let a=t?.trim(),r=a?wo(a):void 0;return r?.device.deviceId===n?r.sessionUuid:null},getSessionManager:()=>R.sessionManager()};function Bae(n){return{...d,getSessionlessDevices:()=>[...n(),...ate()]}}var S={getConfig:Ky,updateConfig:eQ,resolveMode:CA,applyToDevice:DA,triggerSync:HK,isSyncEnabled:Gy};class g extends qa{authenticator;deviceSource;dependencies;constructor(n=Bt(cz),t=i,o=An("appearance",{allowObserverSessions:!0}),{deviceSource:a=d,dependencies:r=S}={}){super(n,t,"Appearance");this.authenticator=o;this.deviceSource=a,this.dependencies=r}bypassesRequestChain(n){return(n.command??n.method)==="get_appearance_config"}async handleRequest(n){let t=n.command??n.method;switch(t){case"get_appearance_config":{let o=await this.dependencies.getConfig(this.configKey(n.sessionUuid));return{id:n.id,type:"appearance_response",success:!0,result:{config:o}}}case"set_appearance_sync":return this.handleSetAppearanceSync(n);case"set_appearance":return this.handleSetAppearance(n);default:throw Error(`Unsupported appearance command: ${t}`)}}async handleSetAppearanceSync(n){this.authenticator.authorize({sessionUuid:n.sessionUuid});let t=n.params?.enabled??n.enabled;if(typeof t!=="boolean")throw Error("set_appearance_sync requires enabled boolean");return this.asControlCall("set_appearance_sync",n.sessionUuid,async(o)=>{let a=await this.dependencies.updateConfig({syncWithHost:t},this.configKey(n.sessionUuid)),r=await this.applyToTargets(a,o);return await this.dependencies.triggerSync(),{id:n.id,type:"appearance_response",success:!0,result:{config:a,appliedMode:r??void 0,...this.warningFor(t,o)}}})}async handleSetAppearance(n){this.authenticator.authorize({sessionUuid:n.sessionUuid});let t=n.params?.mode??n.mode;if(!t||!f.has(String(t).toLowerCase()))throw Error("set_appearance requires mode: light | dark | auto");let o=String(t).toLowerCase();return this.asControlCall("set_appearance",n.sessionUuid,async(a)=>{let r=await this.dependencies.updateConfig({defaultMode:o,syncWithHost:o==="auto"},this.configKey(n.sessionUuid)),s=await this.applyToTargets(r,a,o);return await this.dependencies.triggerSync(),{id:n.id,type:"appearance_response",success:!0,result:{config:r,appliedMode:s??void 0,...this.warningFor(o==="auto",a)}}})}async asControlCall(n,t,o){let a=[];try{for(let r of this.getTargets(t)){let s={device:r};a.push(s),await this.admitOnHolderSession(n,s)}return await o(a)}finally{for(let{execution:r}of a)if(r)G.endExecution(r.id)}}async admitOnHolderSession(n,t){let o=t.device.deviceId,a=this.deviceSource.getSessionManager?.();if(!a||this.authenticator.isAuthenticationEnforced?.()===!1)return;let r=this.deviceSource.getSessionForDevice(o);if(!r)return;let s=G.startExecution(n,void 0,r);t.execution=s,G.bindDeviceExecution(s.id,o);let c=s.abortController.signal;if(await CB({deviceId:o,holderSessionUuid:r,sessionManager:a,execution:ru(s),signal:c}),c.aborted)throw om(s.cancelReason)??c.reason;G.markSessionAdmitted(s.id)}createErrorResponse(n,t){return{id:n??"unknown",type:"appearance_response",success:!1,error:t}}warningFor(n,t){let o=[this.automaticSyncWarning(n),t.length===0&&this.authenticator.isAuthenticationEnforced?.()===!1?{warning:m}:{}].flatMap((a)=>("warning"in a)?[a.warning]:[]);return o.length>0?{warning:o.join(" ")}:{}}automaticSyncWarning(n){return n&&!(this.dependencies.isSyncEnabled??Gy)()?{warning:v}:{}}async applyToTargets(n,t,o){let a=o&&o!=="auto"?o:await this.dependencies.resolveMode(n);if(t.length===0)return null;for(let r of t){let{device:s}=r;try{await l(()=>this.applyToTarget(r,a),{timer:this.timer,timeoutMs:this.dependencies.applyDeadlineMs??RU,label:`Appearance apply for ${s.deviceId}`})}catch(c){let p=om(r.execution?.cancelReason);if(p)throw p;e.warn(`[Appearance] Failed to apply appearance to ${s.deviceId}: ${c}`)}}return a}async applyToTarget(n,t){let o=async()=>{await qd(n.device,["nightMode"]),await this.dependencies.applyToDevice(n.device,t)},a=n.execution?.abortController.signal;await(a?H(a,o):o())}configKey(n){if(this.authenticator.isAuthenticationEnforced?.()===!1)return;return this.authenticator.resolveSessionIdentity?.(n)??(n?.trim()||void 0)}sessionlessDevices(n){return!n&&this.authenticator.isAuthenticationEnforced?.()===!1?this.deviceSource.getSessionlessDevices?.()??[]:[]}getTargets(n){let t=n?.trim()||void 0,o=new Map;for(let c of this.deviceSource.getPooledDevices())o.set(c.deviceId,c);let a=this.deviceSource.getSessionDevice(t);if(a)o.set(a.deviceId,a);for(let c of this.sessionlessDevices(t))o.set(c.deviceId,c);if(this.authenticator.isAuthenticationEnforced?.()===!1)return[...o.values()];let r=this.configKey(t),s=[...o.values()].filter((c)=>{let p=this.deviceSource.getSessionForDevice(c.deviceId,t);if(!r||!p)return!1;return(this.authenticator.resolveSessionIdentity?.(p)??p)===r});if(s.length===0)e.info(`[Appearance] Session ${r??"unknown"} owns no device; config stored`);return s}}var u=new Pn;function OK(){return u.instance?.getSocketPath()??Bt(cz)}async function MK(n=d){await u.start(()=>new g(void 0,void 0,void 0,{deviceSource:n}))}async function NK(){await u.stop()}
3
- export{Bae,OK,MK,NK};
2
+ import{i,dr,l,e}from"./chunk-r0vp315h.js";import{w,$t,xz,H,In,YB,_n,za}from"./chunk-sfqe223f.js";import{bm,dv,hQ,VA,WA,lv}from"./chunk-8nj68t1v.js";import{$U,cG}from"./chunk-r54cxxze.js";import{Jd}from"./chunk-gadtna7s.js";import{pu,G}from"./chunk-jvstjnqm.js";import{Ro,bte}from"./chunk-cqhw4yr6.js";var f=new Set(["light","dark","auto"]),v="Automatic appearance sync is disabled by AUTOMOBILE_APPEARANCE_SYNC.",m="No device was targeted: the configuration is stored, but no device was changed. Name a session or start a device first.",d={getPooledDevices:()=>{let n=w.devicePool();if(!n)return[];return n.getAllDevices().filter((t)=>dr(t.platform)).map((t)=>({deviceId:t.id,name:t.name,platform:t.platform}))},getSessionDevice:(n)=>{let t=n?.trim();if(!t)return;let o=w.sessionManager();if(!o)return Ro(t)?.device;let a=o.getDeviceForSession(t),r=a?w.devicePool()?.getDevice(a):void 0;return r&&dr(r.platform)?{deviceId:r.id,name:r.name,platform:r.platform}:void 0},getSessionForDevice:(n,t)=>{let o=w.sessionManager();if(o)return o.getSessionForDevice(n);let a=t?.trim(),r=a?Ro(a):void 0;return r?.device.deviceId===n?r.sessionUuid:null},getSessionManager:()=>w.sessionManager()};function vce(n){return{...d,getSessionlessDevices:()=>[...n(),...bte()]}}var S={getConfig:dv,updateConfig:hQ,resolveMode:VA,applyToDevice:WA,triggerSync:cG,isSyncEnabled:lv};class g extends za{authenticator;deviceSource;dependencies;constructor(n=$t(xz),t=i,o=_n("appearance",{allowObserverSessions:!0}),{deviceSource:a=d,dependencies:r=S}={}){super(n,t,"Appearance");this.authenticator=o;this.deviceSource=a,this.dependencies=r}bypassesRequestChain(n){return(n.command??n.method)==="get_appearance_config"}async handleRequest(n){let t=n.command??n.method;switch(t){case"get_appearance_config":{let o=await this.dependencies.getConfig(this.configKey(n.sessionUuid));return{id:n.id,type:"appearance_response",success:!0,result:{config:o}}}case"set_appearance_sync":return this.handleSetAppearanceSync(n);case"set_appearance":return this.handleSetAppearance(n);default:throw Error(`Unsupported appearance command: ${t}`)}}async handleSetAppearanceSync(n){this.authenticator.authorize({sessionUuid:n.sessionUuid});let t=n.params?.enabled??n.enabled;if(typeof t!=="boolean")throw Error("set_appearance_sync requires enabled boolean");return this.asControlCall("set_appearance_sync",n.sessionUuid,async(o)=>{let a=await this.dependencies.updateConfig({syncWithHost:t},this.configKey(n.sessionUuid)),r=await this.applyToTargets(a,o);return await this.dependencies.triggerSync(),{id:n.id,type:"appearance_response",success:!0,result:{config:a,appliedMode:r??void 0,...this.warningFor(t,o)}}})}async handleSetAppearance(n){this.authenticator.authorize({sessionUuid:n.sessionUuid});let t=n.params?.mode??n.mode;if(!t||!f.has(String(t).toLowerCase()))throw Error("set_appearance requires mode: light | dark | auto");let o=String(t).toLowerCase();return this.asControlCall("set_appearance",n.sessionUuid,async(a)=>{let r=await this.dependencies.updateConfig({defaultMode:o,syncWithHost:o==="auto"},this.configKey(n.sessionUuid)),s=await this.applyToTargets(r,a,o);return await this.dependencies.triggerSync(),{id:n.id,type:"appearance_response",success:!0,result:{config:r,appliedMode:s??void 0,...this.warningFor(o==="auto",a)}}})}async asControlCall(n,t,o){let a=[];try{for(let r of this.getTargets(t)){let s={device:r};a.push(s),await this.admitOnHolderSession(n,s)}return await o(a)}finally{for(let{execution:r}of a)if(r)G.endExecution(r.id)}}async admitOnHolderSession(n,t){let o=t.device.deviceId,a=this.deviceSource.getSessionManager?.();if(!a||this.authenticator.isAuthenticationEnforced?.()===!1)return;let r=this.deviceSource.getSessionForDevice(o);if(!r)return;let s=G.startExecution(n,void 0,r);t.execution=s,G.bindDeviceExecution(s.id,o);let c=s.abortController.signal;if(await YB({deviceId:o,holderSessionUuid:r,sessionManager:a,execution:pu(s),signal:c}),c.aborted)throw bm(s.cancelReason)??c.reason;G.markSessionAdmitted(s.id)}createErrorResponse(n,t){return{id:n??"unknown",type:"appearance_response",success:!1,error:t}}warningFor(n,t){let o=[this.automaticSyncWarning(n),t.length===0&&this.authenticator.isAuthenticationEnforced?.()===!1?{warning:m}:{}].flatMap((a)=>("warning"in a)?[a.warning]:[]);return o.length>0?{warning:o.join(" ")}:{}}automaticSyncWarning(n){return n&&!(this.dependencies.isSyncEnabled??lv)()?{warning:v}:{}}async applyToTargets(n,t,o){let a=o&&o!=="auto"?o:await this.dependencies.resolveMode(n);if(t.length===0)return null;for(let r of t){let{device:s}=r;try{await l(()=>this.applyToTarget(r,a),{timer:this.timer,timeoutMs:this.dependencies.applyDeadlineMs??$U,label:`Appearance apply for ${s.deviceId}`})}catch(c){let p=bm(r.execution?.cancelReason);if(p)throw p;e.warn(`[Appearance] Failed to apply appearance to ${s.deviceId}: ${c}`)}}return a}async applyToTarget(n,t){let o=async()=>{await Jd(n.device,["nightMode"]),await this.dependencies.applyToDevice(n.device,t)},a=n.execution?.abortController.signal;await(a?H(a,o):o())}configKey(n){if(this.authenticator.isAuthenticationEnforced?.()===!1)return;return this.authenticator.resolveSessionIdentity?.(n)??(n?.trim()||void 0)}sessionlessDevices(n){return!n&&this.authenticator.isAuthenticationEnforced?.()===!1?this.deviceSource.getSessionlessDevices?.()??[]:[]}getTargets(n){let t=n?.trim()||void 0,o=new Map;for(let c of this.deviceSource.getPooledDevices())o.set(c.deviceId,c);let a=this.deviceSource.getSessionDevice(t);if(a)o.set(a.deviceId,a);for(let c of this.sessionlessDevices(t))o.set(c.deviceId,c);if(this.authenticator.isAuthenticationEnforced?.()===!1)return[...o.values()];let r=this.configKey(t),s=[...o.values()].filter((c)=>{let p=this.deviceSource.getSessionForDevice(c.deviceId,t);if(!r||!p)return!1;return(this.authenticator.resolveSessionIdentity?.(p)??p)===r});if(s.length===0)e.info(`[Appearance] Session ${r??"unknown"} owns no device; config stored`);return s}}var u=new In;function eG(){return u.instance?.getSocketPath()??$t(xz)}async function tG(n=d){await u.start(()=>new g(void 0,void 0,void 0,{deviceSource:n}))}async function rG(){await u.stop()}
3
+ export{vce,eG,tG,rG};
4
4
 
5
- //# debugId=9EB7CB4B0D16FD5C64756E2164756E21
5
+ //# debugId=1F2AD7C9B7C2F00B64756E2164756E21
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{e}from"./chunk-z637nqg8.js";import{oo,J,mt,N,Ut,gd,o$,OR,El,es,x,E}from"./chunk-r5bxavdx.js";import{mv,du}from"./chunk-vy3bwm1d.js";import{Oe,At}from"./chunk-3xkpk44w.js";import{To,VL,Ev}from"./chunk-zgja5f3p.js";import{gc}from"./chunk-3f3t1x97.js";import{Bh,BF,$F}from"./chunk-thbh3jew.js";import{r,St}from"./chunk-rbpdk7m0.js";function g(t){return t.success&&t.focusVerified===!0}function I(t,n){let s=t.matchedText??n.text??n.textAny?.[0]??n.elementId??n.testTag;return s?JSON.stringify(s):"for the selector"}var w=(t)=>({focus:async(n,s)=>{let i=await new gc(t).execute({...n,action:"focus"},{signal:s});return{success:i.success,error:i.error,focusVerified:i.focusVerified===!0,matchedId:i.selectedElement?.resourceId,matchedText:i.selectedElement?.text}}});function u(t,n){if(n?.retryable!==!1)t?.throwIfAborted()}async function F(t,n,s){if(!n)return;let i;try{let d=await t.requestImeAction(n);if(u(s),!d.success)i=d.error||"unknown error"}catch(d){u(s),i=r(d)||"unknown error"}if(i===void 0)return;return e.warn(`[InputText] CtrlProxy iOS IME action '${n}' failed: ${i}`),Ev(n,i)}async function A({device:t,observeScreen:n,timer:s},i,d,o){u(o);let p=Date.now();e.debug(`[InputText] iOS begin textLength=${i.length} imeAction=${d??"none"}`);let c=x.getInstance(t),a=await Bh({observer:n,timer:s,signal:o});u(o);let l=es(),y=await c.requestSetText(i,{...l===void 0?{}:{deadlineMs:l},timeoutMs:El(i,l===void 0?void 0:l-s.now()),abortSignal:o});if(!y.success)return u(o,y),e.error(`[InputText] CtrlProxy iOS setText failed: ${y.error} totalMs=${Date.now()-p}`),{success:!1,text:i,error:await $F(y.error,i,a,{observer:n,timer:s,signal:o}),...y.retryable===!1?{retryable:!1}:{},method:"a11y"};e.debug(`[InputText] iOS setText ok totalMs=${Date.now()-p}`);let f=await BF(i,a,{observer:n,timer:s,signal:o});if(!f.success)return{success:!1,text:i,error:f.error,method:"a11y"};let m=await F(c,d,o);if(m!==void 0)return{success:!1,text:i,method:"a11y",error:m};return{success:!0,text:i,imeAction:d,method:"a11y",...f.warning?{warnings:[f.warning]}:{}}}function S(t,n){for(let s of n)if(s.length>0&&t.includes(s))return"eventAll";return}var K=100,P=(t,n)=>{let s=new To(t,{adbFactory:n});return{close:(i)=>s.execute("close",i)}};function C(t={},n={}){return{...t,dismissKeyboard:t.dismissKeyboard??!1,signal:n.signal}}class vV extends Oe{androidApiLevel;targetFocuser;keyboardCloserFactory;constructor(t,n=null,s={}){super(t,{adb:n,timer:s.timer,displayFence:s});this.device=t,this.keyboardCloserFactory=s.keyboardCloserFactory??P,this.targetFocuser=(s.targetFocuserFactory??w)(t)}get testHooks(){return{executeAndroidTextInput:(t,n)=>this.executeAndroidTextInput(t,n),executeKeyEventPlan:(t,n)=>this.executeKeyEventPlan(t,n),executeiOSTextInput:(t,n,s)=>A(this.iosTextDeps(),t,n,s)}}iosTextDeps(){return{device:this.device,observeScreen:this.observeScreen,timer:this.timer}}async execute(t,n,s){mv(this.device.platform,"text input");let{imeAction:i,dismissKeyboard:d,mode:o,selector:p,signal:c}=C(n,s),a=J();if(a.serial("inputText"),t===void 0||t===null)return a.end(),{success:!1,text:"",error:"No text provided",method:"a11y"};let l=o??"a11y";if(this.device.platform==="android"&&o===void 0){let m=S(t,N.getEventAllMarkers());if(m)l=m,e.debug("[InputText] auto-promoted a11y -> eventAll (text matched a configured event-all marker)")}let y={};if(p){u(c);let m=await this.targetFocuser.focus(p,c);if(!g(m))return a.end(),{success:!1,text:t,error:m.error??`Failed to confirm focus on editable input ${I(m,p)} before typing`,method:this.device.platform==="android"?l:"a11y"};y={matchedId:m.matchedId,matchedText:m.matchedText}}u(c);let f=await this.observedInteraction(async()=>{try{switch(u(c),this.device.platform){case"android":return await a.track("androidTextInput",()=>this.executeAndroidTextInput(t,{imeAction:i,dismissKeyboard:d,mode:l,signal:c}));case"ios":return await a.track("iOSTextInput",()=>A(this.iosTextDeps(),t,i,c));default:throw a.end(),St(this.device.platform,"input text")}}catch(m){u(c),a.end();let h=r(m);return e.warn(`[InputText] text input failed (mode=${l}): ${h}`,m),{success:!1,text:t,error:`Failed to send text input: ${h}`,method:this.device.platform==="android"?l:"a11y"}}},{usesObservationForResolution:!1,changeExpected:!0,tolerancePercent:0,timeoutMs:At.lifecycle,perf:a,signal:c,skipUiStability:!0});return u(c,f),{...f,...y}}async executeAndroidTextInput(t,n={}){let{imeAction:s,dismissKeyboard:i=!1,mode:d="a11y",signal:o}=n;if(u(o),d==="eventLast")return this.executeAndroidEventLastTextInput(t,s,i,o);if(d==="eventAll")return this.executeAndroidEventAllTextInput(t,s,i,o);if(d==="append")return this.executeAndroidAppendTextInput(t,{imeAction:s,dismissKeyboard:i,signal:o});let p=E.getInstance(this.device,this.adbFactory),c=await this.withTextDispatch(()=>p.requestSetText(t));if(u(o),c.success){if(e.info(`[InputText] Text input via accessibility service: ${c.totalTimeMs}ms`),s)await this.executeImeAction(s,o);let a=i?await this.dismissKeyboardEpilogue(o):{};return{success:!0,text:t,imeAction:s,method:"a11y",...a}}return e.warn(`[InputText] Accessibility service setText failed: ${c.error}`),{success:!1,text:t,error:`Accessibility service setText failed: ${c.error}`,method:"a11y"}}async a11yFallback(t,n){return{...await this.executeAndroidTextInput(t,{...n,mode:"a11y"}),method:"a11y"}}async executeAndroidEventLastTextInput(t,n,s=!1,i){u(i);let d=this.findLastPrintableAsciiNonWhitespace(t);if(!d)return e.info("[InputText] eventLast requested but no printable non-whitespace ASCII character was found; using a11y"),this.a11yFallback(t,{imeAction:n,dismissKeyboard:s,signal:i});let{index:o,char:p}=d,c=t.slice(0,o),a=t.slice(o+1),l=await this.getAsciiKeyEventPlan(p,void 0,i);if(u(i),!l)return e.info(`[InputText] eventLast could not map ASCII character ${JSON.stringify(p)} to a key event; using a11y`),this.a11yFallback(t,{imeAction:n,dismissKeyboard:s,signal:i});let y=E.getInstance(this.device,this.adbFactory),f=await this.withTextDispatch(()=>y.requestSetText(c));if(u(i),!f.success)return this.setTextFailure(t,{stage:"eventLast prefix",phase:"before real key event",cause:f.error,method:"eventLast"});if(await this.executeKeyEventPlan(l,{signal:i}),a.length>0){let h=await this.withTextDispatch(()=>y.requestSetText(t));if(u(i),!h.success)return this.setTextFailure(t,{stage:"eventLast final",phase:"after real key event",cause:h.error,method:"eventLast"})}if(n)await this.executeImeAction(n,i);let m=s?await this.dismissKeyboardEpilogue(i):{};return{success:!0,text:t,imeAction:n,method:"eventLast",...m}}async executeAndroidEventAllTextInput(t,n,s=!1,i){u(i);let d=Array.from(t);if(!await this.hasAsciiKeyEventPlan(d,i))return this.a11yFallback(t,{imeAction:n,dismissKeyboard:s,signal:i});let o=E.getInstance(this.device,this.adbFactory),p=await this.withTextDispatch(()=>o.requestSetText(""));if(u(i),!p.success)return this.setTextFailure(t,{stage:"eventAll initial clear",phase:"before eventAll input",cause:p.error,method:"eventAll"});let c=await this.sendAndroidEventAllCharacters(t,d,o,i);if(c)return c;if(s){let l=await this.withTextDispatch(()=>o.requestSetText(t));if(u(i),!l.success)return this.setTextFailure(t,{stage:"eventAll final",phase:"after eventAll input",cause:l.error,method:"eventAll"})}if(n)await this.executeImeAction(n,i);let a=s?await this.dismissKeyboardEpilogue(i):{};return{success:!0,text:t,imeAction:n,method:"eventAll",...a}}async sendAndroidEventAllCharacters(t,n,s,i){let d="";for(let o=0;o<n.length;o++){u(i);let p=n[o]??"",c=await this.getAsciiKeyEventPlan(p,void 0,i);if(c){await this.executeKeyEventPlan(c,{signal:i}),d+=p;continue}let a=p;while(o+1<n.length&&!await this.getAsciiKeyEventPlan(n[o+1]??"",void 0,i))u(i),o++,a+=n[o]??"";d+=a;let l=await this.withTextDispatch(()=>s.requestSetText(d));if(u(i),!l.success)return this.setTextFailure(t,{stage:"eventAll unsupported text run",phase:"during eventAll input",cause:l.error,method:"eventAll"})}return}async appendText(t,n={}){return this.executeAndroidAppendTextInput(t,n)}async executeAndroidAppendTextInput(t,n={}){let{imeAction:s,timeoutMs:i,beforeKeyEvents:d,signal:o,onDispatch:p}=n;u(o);let c=this.createBudget(i),a=await this.planAppendKeyEvents(t,c,i,o);if(a.error)return this.appendFailure(t,a.error,0);let l=await this.typeAppendKeyEvents(a.plans,{remaining:c,timeoutMs:i},{beforeKeyEvents:d,signal:o,onDispatch:p});if(l.error)return this.appendFailure(t,l.error,l.charsSent,l.failureSource);if(s)await this.executeImeAction(s,o);let y=n.dismissKeyboard?await this.dismissKeyboardEpilogue(o):{};return{success:!0,text:t,imeAction:s,method:"append",charsSent:l.charsSent,...y}}async planAppendKeyEvents(t,n,s,i){u(i);let d=Array.from(t),o=d.some((a)=>o$(a)),p=!1;if(o){let a=n();if(a!==void 0&&a<=0)return{plans:[],error:this.appendBudgetExceeded(s,"resolving key events")};p=await this.supportsAndroidInputKeyCombination(a,i)}let c=[];for(let a of d){let l=OR(a,p);if(!l)return{plans:c,error:`append cannot type ${JSON.stringify(a)} with Android key events`};c.push(l)}return{plans:c}}async typeAppendKeyEvents(t,n,s){let{remaining:i,timeoutMs:d}=n,{beforeKeyEvents:o,signal:p,onDispatch:c}=s,a=0;for(let l of t){u(p);let y=i();if(y!==void 0&&y<=0)return{charsSent:a,error:this.appendBudgetExceeded(d,"typing")};let f,m,h=a===0?async(b)=>{try{let T=await o?.(b);if(u(p),T&&!T.success)f=T.error??"Frame context is stale or unavailable; observe a fresh frame before retrying",m=T.failureSource}catch(T){f=`append frame context validation failed: ${r(T)}`}let v=i();if(f===void 0&&v!==void 0&&v<=0)f=this.appendBudgetExceeded(d,"typing");if(f)throw Error(f);u(p),c?.()}:void 0;try{await this.executeKeyEventPlan(l,{timeoutMs:y,noRetry:!0,beforeDispatch:h,signal:p})}catch(b){if(u(p),f)return{charsSent:a,error:f,...m!==void 0?{failureSource:m}:{}};let v=r(b);return e.warn(`[InputText] append key event failed after ${a} char(s): ${v}`,b),{...b instanceof mt?{}:{charsSent:a},error:`append key event failed: ${v}`}}a+=1}return{charsSent:a}}async dismissKeyboardEpilogue(t){let n;try{n=await this.keyboardCloserFactory(this.device,this.adbFactory).close(t)}catch(i){u(t);let d=r(i);return e.warn(`[InputText] keyboard dismissal threw: ${d}`,i),du({keyboardDismissed:!1},`keyboard dismissal failed: ${d}`)}if(u(t),n.success)return{keyboardDismissed:!0};let s=n.error??n.message??"unknown error";return du({keyboardDismissed:!1},`keyboard dismissal failed: ${s}`)}createBudget(t){if(t===void 0)return()=>{return};let n=this.timer.now()+t;return()=>n-this.timer.now()}appendBudgetExceeded(t,n){return`append exceeded its ${t}ms budget while ${n}`}appendFailure(t,n,s,i){return{success:!1,text:t,error:n,method:"append",...s!==void 0?{charsSent:s}:{},...i!==void 0?{failureSource:i}:{}}}setTextFailure(t,n){let{stage:s,phase:i,cause:d,method:o}=n;return e.warn(`[InputText] ${s} setText failed: ${d}`),{success:!1,text:t,error:`Accessibility service setText failed ${i}: ${d}`,method:o}}findLastPrintableAsciiNonWhitespace(t){for(let n=t.length-1;n>=0;n--){let s=t[n];if(!s)continue;let i=s.charCodeAt(0);if(i>=33&&i<=126&&!/\s/.test(s))return{index:n,char:s}}return null}async hasAsciiKeyEventPlan(t,n){for(let s of t)if(await this.getAsciiKeyEventPlan(s,void 0,n))return!0;return!1}async getAsciiKeyEventPlan(t,n,s){u(s);let i=await this.supportsAndroidInputKeyCombination(n,s);return u(s),OR(t,i)}async supportsAndroidInputKeyCombination(t,n){let s=await this.getAndroidApiLevel(t,n);return s!==null&&s>=gd}async getAndroidApiLevel(t,n){if(u(n),this.androidApiLevel!==void 0)return this.androidApiLevel;let s=await Ut(this.adb,t,this.timer);if(u(n),s===null)return null;return this.androidApiLevel=s,s}async withTextDispatch(t){let s=oo()?.textState?.dispatched();try{return await t()}finally{s?.(!0)}}async executeKeyEventPlan(t,n={}){let{timeoutMs:s,noRetry:i=!1,beforeDispatch:d,signal:o}=n;for(let[p,c]of t.commands.entries()){u(o);let a=c.startsWith("shell input text ")?await this.getAndroidApiLevel(s,o):null;await this.withTextDispatch(()=>{let l={timeoutMs:s,noRetry:i,beforeDispatch:p===0?d:void 0,signal:o,waitForProcessSettlementAfterAbort:!0};return c.startsWith("shell input text ")?VL(this.adb,this.timer,c,{...l,apiLevel:a,textLength:t.textLength??1}):this.adb.execute(c.split(" "),l)}),u(o)}}async executeImeAction(t,n){let i={done:"KEYCODE_ENTER",next:"KEYCODE_TAB",search:"KEYCODE_SEARCH",send:"KEYCODE_ENTER",go:"KEYCODE_ENTER",previous:"KEYCODE_SHIFT_LEFT KEYCODE_TAB"}[t];if(i)if(u(n),await this.timer.sleep(K),u(n),i.includes(" ")){let d=i.split(" ");for(let o of d)u(n),await this.withTextDispatch(()=>this.adb.executeCommand(`shell input keyevent ${o}`,{signal:n,waitForProcessSettlementAfterAbort:!0})),u(n)}else await this.withTextDispatch(()=>this.adb.executeCommand(`shell input keyevent ${i}`,{signal:n,waitForProcessSettlementAfterAbort:!0})),u(n)}}
3
- export{vV};
2
+ import{e}from"./chunk-r0vp315h.js";import{so,J,ht,N,Ht,Pd,R$,ZR,Ll,ns,x,E}from"./chunk-sfqe223f.js";import{_v,ul}from"./chunk-661c50hh.js";import{Oe,Tt}from"./chunk-e0870khr.js";import{Eo,aB,Vv}from"./chunk-t54k47em.js";import{bc}from"./chunk-qy3khhf8.js";import{Jh,XF,ZF}from"./chunk-tvq0nzam.js";import{r,Rt}from"./chunk-2b39zyxc.js";function g(t){return t.success&&t.focusVerified===!0}function I(t,n){let s=t.matchedText??n.text??n.textAny?.[0]??n.elementId??n.testTag;return s?JSON.stringify(s):"for the selector"}var w=(t)=>({focus:async(n,s)=>{let i=await new bc(t).execute({...n,action:"focus"},{signal:s});return{success:i.success,error:i.error,focusVerified:i.focusVerified===!0,matchedId:i.selectedElement?.resourceId,matchedText:i.selectedElement?.text}}});function u(t,n){if(n?.retryable!==!1)t?.throwIfAborted()}async function F(t,n,s){if(!n)return;let i;try{let d=await t.requestImeAction(n);if(u(s),!d.success)i=d.error||"unknown error"}catch(d){u(s),i=r(d)||"unknown error"}if(i===void 0)return;return e.warn(`[InputText] CtrlProxy iOS IME action '${n}' failed: ${i}`),Vv(n,i)}async function A({device:t,observeScreen:n,timer:s},i,d,o){u(o);let p=Date.now();e.debug(`[InputText] iOS begin textLength=${i.length} imeAction=${d??"none"}`);let c=x.getInstance(t),a=await Jh({observer:n,timer:s,signal:o});u(o);let l=ns(),y=await c.requestSetText(i,{...l===void 0?{}:{deadlineMs:l},timeoutMs:Ll(i,l===void 0?void 0:l-s.now()),abortSignal:o});if(!y.success)return u(o,y),e.error(`[InputText] CtrlProxy iOS setText failed: ${y.error} totalMs=${Date.now()-p}`),{success:!1,text:i,error:await ZF(y.error,i,a,{observer:n,timer:s,signal:o}),...y.retryable===!1?{retryable:!1}:{},method:"a11y"};e.debug(`[InputText] iOS setText ok totalMs=${Date.now()-p}`);let f=await XF(i,a,{observer:n,timer:s,signal:o});if(!f.success)return{success:!1,text:i,error:f.error,method:"a11y"};let m=await F(c,d,o);if(m!==void 0)return{success:!1,text:i,method:"a11y",error:m};return{success:!0,text:i,imeAction:d,method:"a11y",...f.warning?{warnings:[f.warning]}:{}}}function S(t,n){for(let s of n)if(s.length>0&&t.includes(s))return"eventAll";return}var K=100,P=(t,n)=>{let s=new Eo(t,{adbFactory:n});return{close:(i)=>s.execute("close",i)}};function C(t={},n={}){return{...t,dismissKeyboard:t.dismissKeyboard??!1,signal:n.signal}}class _V extends Oe{androidApiLevel;targetFocuser;keyboardCloserFactory;constructor(t,n=null,s={}){super(t,{adb:n,timer:s.timer,displayFence:s});this.device=t,this.keyboardCloserFactory=s.keyboardCloserFactory??P,this.targetFocuser=(s.targetFocuserFactory??w)(t)}get testHooks(){return{executeAndroidTextInput:(t,n)=>this.executeAndroidTextInput(t,n),executeKeyEventPlan:(t,n)=>this.executeKeyEventPlan(t,n),executeiOSTextInput:(t,n,s)=>A(this.iosTextDeps(),t,n,s)}}iosTextDeps(){return{device:this.device,observeScreen:this.observeScreen,timer:this.timer}}async execute(t,n,s){_v(this.device.platform,"text input");let{imeAction:i,dismissKeyboard:d,mode:o,selector:p,signal:c}=C(n,s),a=J();if(a.serial("inputText"),t===void 0||t===null)return a.end(),{success:!1,text:"",error:"No text provided",method:"a11y"};let l=o??"a11y";if(this.device.platform==="android"&&o===void 0){let m=S(t,N.getEventAllMarkers());if(m)l=m,e.debug("[InputText] auto-promoted a11y -> eventAll (text matched a configured event-all marker)")}let y={};if(p){u(c);let m=await this.targetFocuser.focus(p,c);if(!g(m))return a.end(),{success:!1,text:t,error:m.error??`Failed to confirm focus on editable input ${I(m,p)} before typing`,method:this.device.platform==="android"?l:"a11y"};y={matchedId:m.matchedId,matchedText:m.matchedText}}u(c);let f=await this.observedInteraction(async()=>{try{switch(u(c),this.device.platform){case"android":return await a.track("androidTextInput",()=>this.executeAndroidTextInput(t,{imeAction:i,dismissKeyboard:d,mode:l,signal:c}));case"ios":return await a.track("iOSTextInput",()=>A(this.iosTextDeps(),t,i,c));default:throw a.end(),Rt(this.device.platform,"input text")}}catch(m){u(c),a.end();let h=r(m);return e.warn(`[InputText] text input failed (mode=${l}): ${h}`,m),{success:!1,text:t,error:`Failed to send text input: ${h}`,method:this.device.platform==="android"?l:"a11y"}}},{usesObservationForResolution:!1,changeExpected:!0,tolerancePercent:0,timeoutMs:Tt.lifecycle,perf:a,signal:c,skipUiStability:!0});return u(c,f),{...f,...y}}async executeAndroidTextInput(t,n={}){let{imeAction:s,dismissKeyboard:i=!1,mode:d="a11y",signal:o}=n;if(u(o),d==="eventLast")return this.executeAndroidEventLastTextInput(t,s,i,o);if(d==="eventAll")return this.executeAndroidEventAllTextInput(t,s,i,o);if(d==="append")return this.executeAndroidAppendTextInput(t,{imeAction:s,dismissKeyboard:i,signal:o});let p=E.getInstance(this.device,this.adbFactory),c=await this.withTextDispatch(()=>p.requestSetText(t));if(u(o),c.success){if(e.info(`[InputText] Text input via accessibility service: ${c.totalTimeMs}ms`),s)await this.executeImeAction(s,o);let a=i?await this.dismissKeyboardEpilogue(o):{};return{success:!0,text:t,imeAction:s,method:"a11y",...a}}return e.warn(`[InputText] Accessibility service setText failed: ${c.error}`),{success:!1,text:t,error:`Accessibility service setText failed: ${c.error}`,method:"a11y"}}async a11yFallback(t,n){return{...await this.executeAndroidTextInput(t,{...n,mode:"a11y"}),method:"a11y"}}async executeAndroidEventLastTextInput(t,n,s=!1,i){u(i);let d=this.findLastPrintableAsciiNonWhitespace(t);if(!d)return e.info("[InputText] eventLast requested but no printable non-whitespace ASCII character was found; using a11y"),this.a11yFallback(t,{imeAction:n,dismissKeyboard:s,signal:i});let{index:o,char:p}=d,c=t.slice(0,o),a=t.slice(o+1),l=await this.getAsciiKeyEventPlan(p,void 0,i);if(u(i),!l)return e.info(`[InputText] eventLast could not map ASCII character ${JSON.stringify(p)} to a key event; using a11y`),this.a11yFallback(t,{imeAction:n,dismissKeyboard:s,signal:i});let y=E.getInstance(this.device,this.adbFactory),f=await this.withTextDispatch(()=>y.requestSetText(c));if(u(i),!f.success)return this.setTextFailure(t,{stage:"eventLast prefix",phase:"before real key event",cause:f.error,method:"eventLast"});if(await this.executeKeyEventPlan(l,{signal:i}),a.length>0){let h=await this.withTextDispatch(()=>y.requestSetText(t));if(u(i),!h.success)return this.setTextFailure(t,{stage:"eventLast final",phase:"after real key event",cause:h.error,method:"eventLast"})}if(n)await this.executeImeAction(n,i);let m=s?await this.dismissKeyboardEpilogue(i):{};return{success:!0,text:t,imeAction:n,method:"eventLast",...m}}async executeAndroidEventAllTextInput(t,n,s=!1,i){u(i);let d=Array.from(t);if(!await this.hasAsciiKeyEventPlan(d,i))return this.a11yFallback(t,{imeAction:n,dismissKeyboard:s,signal:i});let o=E.getInstance(this.device,this.adbFactory),p=await this.withTextDispatch(()=>o.requestSetText(""));if(u(i),!p.success)return this.setTextFailure(t,{stage:"eventAll initial clear",phase:"before eventAll input",cause:p.error,method:"eventAll"});let c=await this.sendAndroidEventAllCharacters(t,d,o,i);if(c)return c;if(s){let l=await this.withTextDispatch(()=>o.requestSetText(t));if(u(i),!l.success)return this.setTextFailure(t,{stage:"eventAll final",phase:"after eventAll input",cause:l.error,method:"eventAll"})}if(n)await this.executeImeAction(n,i);let a=s?await this.dismissKeyboardEpilogue(i):{};return{success:!0,text:t,imeAction:n,method:"eventAll",...a}}async sendAndroidEventAllCharacters(t,n,s,i){let d="";for(let o=0;o<n.length;o++){u(i);let p=n[o]??"",c=await this.getAsciiKeyEventPlan(p,void 0,i);if(c){await this.executeKeyEventPlan(c,{signal:i}),d+=p;continue}let a=p;while(o+1<n.length&&!await this.getAsciiKeyEventPlan(n[o+1]??"",void 0,i))u(i),o++,a+=n[o]??"";d+=a;let l=await this.withTextDispatch(()=>s.requestSetText(d));if(u(i),!l.success)return this.setTextFailure(t,{stage:"eventAll unsupported text run",phase:"during eventAll input",cause:l.error,method:"eventAll"})}return}async appendText(t,n={}){return this.executeAndroidAppendTextInput(t,n)}async executeAndroidAppendTextInput(t,n={}){let{imeAction:s,timeoutMs:i,beforeKeyEvents:d,signal:o,onDispatch:p}=n;u(o);let c=this.createBudget(i),a=await this.planAppendKeyEvents(t,c,i,o);if(a.error)return this.appendFailure(t,a.error,0);let l=await this.typeAppendKeyEvents(a.plans,{remaining:c,timeoutMs:i},{beforeKeyEvents:d,signal:o,onDispatch:p});if(l.error)return this.appendFailure(t,l.error,l.charsSent,l.failureSource);if(s)await this.executeImeAction(s,o);let y=n.dismissKeyboard?await this.dismissKeyboardEpilogue(o):{};return{success:!0,text:t,imeAction:s,method:"append",charsSent:l.charsSent,...y}}async planAppendKeyEvents(t,n,s,i){u(i);let d=Array.from(t),o=d.some((a)=>R$(a)),p=!1;if(o){let a=n();if(a!==void 0&&a<=0)return{plans:[],error:this.appendBudgetExceeded(s,"resolving key events")};p=await this.supportsAndroidInputKeyCombination(a,i)}let c=[];for(let a of d){let l=ZR(a,p);if(!l)return{plans:c,error:`append cannot type ${JSON.stringify(a)} with Android key events`};c.push(l)}return{plans:c}}async typeAppendKeyEvents(t,n,s){let{remaining:i,timeoutMs:d}=n,{beforeKeyEvents:o,signal:p,onDispatch:c}=s,a=0;for(let l of t){u(p);let y=i();if(y!==void 0&&y<=0)return{charsSent:a,error:this.appendBudgetExceeded(d,"typing")};let f,m,h=a===0?async(b)=>{try{let T=await o?.(b);if(u(p),T&&!T.success)f=T.error??"Frame context is stale or unavailable; observe a fresh frame before retrying",m=T.failureSource}catch(T){f=`append frame context validation failed: ${r(T)}`}let v=i();if(f===void 0&&v!==void 0&&v<=0)f=this.appendBudgetExceeded(d,"typing");if(f)throw Error(f);u(p),c?.()}:void 0;try{await this.executeKeyEventPlan(l,{timeoutMs:y,noRetry:!0,beforeDispatch:h,signal:p})}catch(b){if(u(p),f)return{charsSent:a,error:f,...m!==void 0?{failureSource:m}:{}};let v=r(b);return e.warn(`[InputText] append key event failed after ${a} char(s): ${v}`,b),{...b instanceof ht?{}:{charsSent:a},error:`append key event failed: ${v}`}}a+=1}return{charsSent:a}}async dismissKeyboardEpilogue(t){let n;try{n=await this.keyboardCloserFactory(this.device,this.adbFactory).close(t)}catch(i){u(t);let d=r(i);return e.warn(`[InputText] keyboard dismissal threw: ${d}`,i),ul({keyboardDismissed:!1},`keyboard dismissal failed: ${d}`)}if(u(t),n.success)return{keyboardDismissed:!0};let s=n.error??n.message??"unknown error";return ul({keyboardDismissed:!1},`keyboard dismissal failed: ${s}`)}createBudget(t){if(t===void 0)return()=>{return};let n=this.timer.now()+t;return()=>n-this.timer.now()}appendBudgetExceeded(t,n){return`append exceeded its ${t}ms budget while ${n}`}appendFailure(t,n,s,i){return{success:!1,text:t,error:n,method:"append",...s!==void 0?{charsSent:s}:{},...i!==void 0?{failureSource:i}:{}}}setTextFailure(t,n){let{stage:s,phase:i,cause:d,method:o}=n;return e.warn(`[InputText] ${s} setText failed: ${d}`),{success:!1,text:t,error:`Accessibility service setText failed ${i}: ${d}`,method:o}}findLastPrintableAsciiNonWhitespace(t){for(let n=t.length-1;n>=0;n--){let s=t[n];if(!s)continue;let i=s.charCodeAt(0);if(i>=33&&i<=126&&!/\s/.test(s))return{index:n,char:s}}return null}async hasAsciiKeyEventPlan(t,n){for(let s of t)if(await this.getAsciiKeyEventPlan(s,void 0,n))return!0;return!1}async getAsciiKeyEventPlan(t,n,s){u(s);let i=await this.supportsAndroidInputKeyCombination(n,s);return u(s),ZR(t,i)}async supportsAndroidInputKeyCombination(t,n){let s=await this.getAndroidApiLevel(t,n);return s!==null&&s>=Pd}async getAndroidApiLevel(t,n){if(u(n),this.androidApiLevel!==void 0)return this.androidApiLevel;let s=await Ht(this.adb,t,this.timer);if(u(n),s===null)return null;return this.androidApiLevel=s,s}async withTextDispatch(t){let s=so()?.textState?.dispatched();try{return await t()}finally{s?.(!0)}}async executeKeyEventPlan(t,n={}){let{timeoutMs:s,noRetry:i=!1,beforeDispatch:d,signal:o}=n;for(let[p,c]of t.commands.entries()){u(o);let a=c.startsWith("shell input text ")?await this.getAndroidApiLevel(s,o):null;await this.withTextDispatch(()=>{let l={timeoutMs:s,noRetry:i,beforeDispatch:p===0?d:void 0,signal:o,waitForProcessSettlementAfterAbort:!0};return c.startsWith("shell input text ")?aB(this.adb,this.timer,c,{...l,apiLevel:a,textLength:t.textLength??1}):this.adb.execute(c.split(" "),l)}),u(o)}}async executeImeAction(t,n){let i={done:"KEYCODE_ENTER",next:"KEYCODE_TAB",search:"KEYCODE_SEARCH",send:"KEYCODE_ENTER",go:"KEYCODE_ENTER",previous:"KEYCODE_SHIFT_LEFT KEYCODE_TAB"}[t];if(i)if(u(n),await this.timer.sleep(K),u(n),i.includes(" ")){let d=i.split(" ");for(let o of d)u(n),await this.withTextDispatch(()=>this.adb.executeCommand(`shell input keyevent ${o}`,{signal:n,waitForProcessSettlementAfterAbort:!0})),u(n)}else await this.withTextDispatch(()=>this.adb.executeCommand(`shell input keyevent ${i}`,{signal:n,waitForProcessSettlementAfterAbort:!0})),u(n)}}
3
+ export{_V};
4
4
 
5
- //# debugId=5A7B27BB859BF9AF64756E2164756E21
5
+ //# debugId=782DCC7F176BBAAC64756E2164756E21
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{N}from"./chunk-r5bxavdx.js";import"./chunk-58wzr3mt.js";export{N as serverConfig};
2
+ import{N}from"./chunk-sfqe223f.js";import"./chunk-5wk1t46v.js";export{N as serverConfig};
3
3
 
4
4
  //# debugId=423DB3A80013729A64756E2164756E21
@@ -0,0 +1,4 @@
1
+ // @bun
2
+ import*as Z5 from"child_process";import*as Cv from"crypto";import*as Dv from"fs";import*as yt from"path";import*as zV from"stream";import*as Q5 from"util";export{Z5,Cv,Dv,yt,zV,Q5};
3
+
4
+ //# debugId=1E8FA1FC700DB17364756E2164756E21
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{t}from"./chunk-rbpdk7m0.js";import{M,wt}from"./chunk-qcxzr2my.js";var ne=M(function(mt,ce){ce.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var Y=M(function(ue){var ae={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",MAX_OUTPUT_EXCEEDED:"Decompressed data exceeds the declared uncompressed size",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DUPLICATE_ENTRY:"Duplicate entry name {0}",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",ZIP64_VALUE_TOO_LARGE:"Zip64 value exceeds the maximum safe integer",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function je(n){return function(...f){if(f.length)n=n.replace(/\{(\d)\}/g,(r,s)=>f[s]||"");return Error("ADM-ZIP: "+n)}}for(let n of Object.keys(ae))ue[n]=je(ae[n])});var he=M(function(Lt,de){var qe=wt("fs"),_=wt("path"),Q=ne(),b=Y(),be=typeof process==="object"&&process.platform==="win32",le=(n)=>typeof n==="object"&&n!==null,Ee=new Uint32Array(256).map((n,f)=>{for(let r=0;r<8;r++)if((f&1)!==0)f=3988292384^f>>>1;else f>>>=1;return f>>>0});function v(n){if(this.sep=_.sep,this.fs=qe,le(n)){if(le(n.fs)&&typeof n.fs.statSync==="function")this.fs=n.fs}}de.exports=v;v.prototype.makeDir=function(n){let f=this;function r(s){let c=s.split(f.sep)[0];s.split(f.sep).forEach(function(d){if(!d||d.substr(-1,1)===":")return;c+=f.sep+d;var o;try{o=f.fs.statSync(c)}catch(m){if(m.message&&m.message.startsWith("ENOENT"))f.fs.mkdirSync(c);else throw m}if(o&&o.isFile())throw b.FILE_IN_THE_WAY(`"${c}"`)})}r(n)};v.prototype.writeFileTo=function(n,f,r,s){let c=this;if(c.fs.existsSync(n)){if(!r)return!1;var d=c.fs.statSync(n);if(d.isDirectory())return!1}var o=_.dirname(n);if(!c.fs.existsSync(o))c.makeDir(o);var m;try{m=c.fs.openSync(n,"w",438)}catch(S){c.fs.chmodSync(n,438),m=c.fs.openSync(n,"w",438)}if(m)try{c.fs.writeSync(m,f,0,f.length,0)}finally{c.fs.closeSync(m)}return c.fs.chmodSync(n,s||438),!0};v.prototype.writeFileToAsync=function(n,f,r,s,c){if(typeof s==="function")c=s,s=void 0;let d=this;d.fs.exists(n,function(o){if(o&&!r)return c(!1);d.fs.stat(n,function(m,S){if(o&&S&&S.isDirectory())return c(!1);var O=_.dirname(n);d.fs.exists(O,function(p){if(!p)try{d.makeDir(O)}catch(A){return c(!1)}let C=function(A){d.fs.write(A,f,0,f.length,0,function(F){d.fs.close(A,function(){if(F)return c(!1);d.fs.chmod(n,s||438,function(){c(!0)})})})};d.fs.open(n,"w",438,function(A,F){if(A)d.fs.chmod(n,438,function(){d.fs.open(n,"w",438,function(i,a){if(i||!a)return c(!1);C(a)})});else if(F)C(F);else c(!1)})})})})};v.prototype.assertPathSafe=function(n,f){let r=this;if(typeof r.fs.lstatSync!=="function")return;let s=_.resolve(n),c=_.resolve(f);if(c===s)return;let d=_.relative(s,c);if(!d||d===".."||d.startsWith(".."+_.sep)||_.isAbsolute(d))return;let o=s;for(let m of d.split(_.sep)){if(!m||m===".")continue;o=_.join(o,m);let S;try{S=r.fs.lstatSync(o)}catch(O){break}if(S.isSymbolicLink())throw b.FILE_IN_THE_WAY(`"${o}"`)}};v.prototype.findFiles=function(n){let f=this,r=typeof f.fs.lstatSync==="function",s=f.fs.realpathSync(n);function c(o){if(!r)return!1;if(!f.fs.lstatSync(o).isSymbolicLink())return!1;let m;try{m=f.fs.realpathSync(o)}catch(S){return!0}return!(m===s||m.startsWith(s+_.sep))}function d(o,m,S,O){if(typeof m==="boolean")S=m,m=void 0;let p=[];return f.fs.readdirSync(o).forEach(function(C){let A=_.join(o,C);if(c(A))return;let F=f.fs.statSync(A);if(!m||m.test(A))p.push(_.normalize(A)+(F.isDirectory()?f.sep:""));if(F.isDirectory()&&S){let i=f.fs.realpathSync(A);if(!O.has(i))O.add(i),p=p.concat(d(A,m,S,O))}}),p}return d(n,void 0,!0,new Set([s]))};v.prototype.findFilesAsync=function(n,f){let r=this,s=[],c=!1,d=function(p){if(c)return;c=!0,f(p,p?void 0:s)},o=typeof r.fs.lstat==="function",m=null,S=function(p,C){if(!o)return C(null,!1);r.fs.lstat(p,function(A,F){if(A)return C(A);if(!F||!F.isSymbolicLink())return C(null,!1);r.fs.realpath(p,function(i,a){if(i)return C(null,!0);C(null,!(a===m||a.startsWith(m+_.sep)))})})},O=function(p,C,A){r.fs.readdir(p,function(F,i){if(F)return A(F);let a=i.length;if(!a)return A();i.forEach(function(u){let E=_.join(p,u);S(E,function(h,e){if(h)return A(h);if(e){if(!--a)A();return}r.fs.stat(E,function(l,L){if(l)return A(l);if(!L){if(!--a)A();return}if(s.push(_.normalize(E)+(L.isDirectory()?r.sep:"")),!L.isDirectory()){if(!--a)A();return}r.fs.realpath(E,function(g,D){if(g)return A(g);if(C.has(D)){if(!--a)A();return}C.add(D),O(E,C,function(N){if(N)return A(N);if(!--a)A()})})})})})})};r.fs.realpath(n,function(p,C){if(p)return d(p);m=C,O(n,new Set([C]),d)})};v.prototype.getAttributes=function(){};v.prototype.setAttributes=function(){};v.crc32update=function(n,f){return Ee[(n^f)&255]^n>>>8};v.crc32=function(n){if(typeof n==="string")n=Buffer.from(n,"utf8");let f=n.length,r=-1;for(let s=0;s<f;)r=v.crc32update(r,n[s++]);return~r>>>0};v.methodToString=function(n){switch(n){case Q.STORED:return"STORED ("+n+")";case Q.DEFLATED:return"DEFLATED ("+n+")";default:return"UNSUPPORTED ("+n+")"}};v.canonical=function(n){if(!n)return"";let f=_.posix.normalize("/"+n.split("\\").join("/"));return _.join(".",f)};v.zipnamefix=function(n){if(!n)return"";let f=_.posix.normalize("/"+n.split("\\").join("/"));return _.posix.join(".",f)};v.findLast=function(n,f){if(!Array.isArray(n))throw TypeError("arr is not array");let r=n.length>>>0;for(let s=r-1;s>=0;s--)if(f(n[s],s,n))return n[s];return};v.sanitize=function(n,f){n=_.resolve(_.normalize(n));var r=f.split("/");for(var s=0,c=r.length;s<c;s++){var d=_.normalize(_.join(n,r.slice(s,c).join(_.sep)));if(d===n||d.startsWith(n+_.sep))return d}return _.normalize(_.join(n,_.basename(f)))};v.toBuffer=function(f,r){if(Buffer.isBuffer(f))return f;else if(f instanceof Uint8Array)return Buffer.from(f);else return typeof f==="string"?r(f):Buffer.alloc(0)};v.readBigUInt64LE=function(n,f){let r=n.readUInt32LE(f),c=n.readUInt32LE(f+4)*4294967296+r;if(c>Number.MAX_SAFE_INTEGER)throw b.ZIP64_VALUE_TOO_LARGE();return c};v.writeBigUInt64LE=function(n,f,r){let s=f>>>0,c=Math.floor(f/4294967296)>>>0;n.writeUInt32LE(s,r),n.writeUInt32LE(c,r+4)};v.fromDOS2Date=function(n){return new Date((n>>25&127)+1980,Math.max((n>>21&15)-1,0),Math.max(n>>16&31,1),n>>11&31,n>>5&63,(n&31)<<1)};v.fromDate2DOS=function(n){let f=0,r=0;if(n.getFullYear()>1979)f=(n.getFullYear()-1980&127)<<9|n.getMonth()+1<<5|n.getDate(),r=n.getHours()<<11|n.getMinutes()<<5|n.getSeconds()>>1;return f<<16|r};v.isWin=be;v.crcTable=Ee});var Le=M(function(Dt,Ie){var me=wt("path");Ie.exports=function(n,{fs:f}){var r=n||"",s=d(),c=null;function d(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}if(r&&f.existsSync(r))c=f.statSync(r),s.directory=c.isDirectory(),s.mtime=c.mtime,s.atime=c.atime,s.executable=(73&c.mode)!==0,s.readonly=(128&c.mode)===0,s.hidden=me.basename(r)[0]===".";else console.warn("Invalid path: "+r);return{get directory(){return s.directory},get readOnly(){return s.readonly},get hidden(){return s.hidden},get mtime(){return s.mtime},get atime(){return s.atime},get executable(){return s.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:r,isDirectory:s.directory,isReadOnly:s.readonly,isHidden:s.hidden,isExecutable:s.executable,mTime:s.mtime,aTime:s.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var ge=M(function(gt,De){De.exports={efs:!0,encode:(n)=>Buffer.from(n,"utf8"),decode:(n)=>n.toString("utf8")}});var W=M(function(Nt,X){X.exports=he();X.exports.Constants=ne();X.exports.Errors=Y();X.exports.FileAttr=Le();X.exports.decoder=ge()});var _e=M(function(_t,Ne){var V=W(),I=V.Constants;Ne.exports=function(){var n=20,f=10,r=0,s=0,c=0,d=0,o=0,m=0,S=0,O=0,p=0,C=0,A=0,F=0,i=0;n|=V.isWin?2560:768,r|=I.FLG_EFS;let a={extraLen:0},u=(e)=>Math.max(0,e)>>>0,E=(e)=>Math.max(0,e)&65535,h=(e)=>Math.max(0,e)&255;return c=V.fromDate2DOS(new Date),{get made(){return n},set made(e){n=e},get version(){return f},set version(e){f=e},get flags(){return r},set flags(e){r=e},get flags_efs(){return(r&I.FLG_EFS)>0},set flags_efs(e){if(e)r|=I.FLG_EFS;else r&=~I.FLG_EFS},get flags_desc(){return(r&I.FLG_DESC)>0},set flags_desc(e){if(e)r|=I.FLG_DESC;else r&=~I.FLG_DESC},get method(){return s},set method(e){switch(e){case I.STORED:this.version=10;break;case I.DEFLATED:default:this.version=20}s=e},get time(){return V.fromDOS2Date(this.timeval)},set time(e){e=new Date(e),this.timeval=V.fromDate2DOS(e)},get timeval(){return c},set timeval(e){c=u(e)},get timeHighByte(){return h(c>>>8)},get crc(){return d},set crc(e){d=u(e)},get compressedSize(){return o},set compressedSize(e){o=u(e)},get size(){return m},set size(e){m=u(e)},get fileNameLength(){return S},set fileNameLength(e){S=e},get extraLength(){return O},set extraLength(e){O=e},get extraLocalLength(){return a.extraLen},set extraLocalLength(e){a.extraLen=e},get commentLength(){return p},set commentLength(e){p=e},get diskNumStart(){return C},set diskNumStart(e){C=u(e)},get inAttr(){return A},set inAttr(e){A=u(e)},get attr(){return F},set attr(e){F=u(e)},get fileAttr(){return(F||0)>>16&511},get offset(){return i},set offset(e){i=u(e)},get encrypted(){return(r&I.FLG_ENC)===I.FLG_ENC},get centralHeaderSize(){return I.CENHDR+S+O+p},get realDataOffset(){return i+I.LOCHDR+a.fnameLen+a.extraLen},get localHeader(){return a},loadLocalHeaderFromBinary:function(e){if(i<0||i+I.LOCHDR>e.length)throw V.Errors.INVALID_LOC();var l=e.slice(i,i+I.LOCHDR);if(l.readUInt32LE(0)!==I.LOCSIG)throw V.Errors.INVALID_LOC();a.version=l.readUInt16LE(I.LOCVER),a.flags=l.readUInt16LE(I.LOCFLG),a.flags_desc=(a.flags&I.FLG_DESC)>0,a.method=l.readUInt16LE(I.LOCHOW),a.time=l.readUInt32LE(I.LOCTIM),a.crc=l.readUInt32LE(I.LOCCRC),a.compressedSize=l.readUInt32LE(I.LOCSIZ),a.size=l.readUInt32LE(I.LOCLEN),a.fnameLen=l.readUInt16LE(I.LOCNAM),a.extraLen=l.readUInt16LE(I.LOCEXT);let L=i+I.LOCHDR+a.fnameLen,g=L+a.extraLen;return e.slice(L,g)},loadFromBinary:function(e){if(e.length!==I.CENHDR||e.readUInt32LE(0)!==I.CENSIG)throw V.Errors.INVALID_CEN();n=e.readUInt16LE(I.CENVEM),f=e.readUInt16LE(I.CENVER),r=e.readUInt16LE(I.CENFLG),s=e.readUInt16LE(I.CENHOW),c=e.readUInt32LE(I.CENTIM),d=e.readUInt32LE(I.CENCRC),o=e.readUInt32LE(I.CENSIZ),m=e.readUInt32LE(I.CENLEN),S=e.readUInt16LE(I.CENNAM),O=e.readUInt16LE(I.CENEXT),p=e.readUInt16LE(I.CENCOM),C=e.readUInt16LE(I.CENDSK),A=e.readUInt16LE(I.CENATT),F=e.readUInt32LE(I.CENATX),i=e.readUInt32LE(I.CENOFF)},localHeaderToBinary:function(){var e=Buffer.alloc(I.LOCHDR);return e.writeUInt32LE(I.LOCSIG,0),e.writeUInt16LE(f,I.LOCVER),e.writeUInt16LE(r&~I.FLG_DESC,I.LOCFLG),e.writeUInt16LE(s,I.LOCHOW),e.writeUInt32LE(c,I.LOCTIM),e.writeUInt32LE(d,I.LOCCRC),e.writeUInt32LE(o,I.LOCSIZ),e.writeUInt32LE(m,I.LOCLEN),e.writeUInt16LE(S,I.LOCNAM),e.writeUInt16LE(a.extraLen,I.LOCEXT),e},centralHeaderToBinary:function(){var e=Buffer.alloc(I.CENHDR+S+O+p);return e.writeUInt32LE(I.CENSIG,0),e.writeUInt16LE(n,I.CENVEM),e.writeUInt16LE(f,I.CENVER),e.writeUInt16LE(r&~I.FLG_DESC,I.CENFLG),e.writeUInt16LE(s,I.CENHOW),e.writeUInt32LE(c,I.CENTIM),e.writeUInt32LE(d,I.CENCRC),e.writeUInt32LE(o,I.CENSIZ),e.writeUInt32LE(m,I.CENLEN),e.writeUInt16LE(S,I.CENNAM),e.writeUInt16LE(O,I.CENEXT),e.writeUInt16LE(p,I.CENCOM),e.writeUInt16LE(C,I.CENDSK),e.writeUInt16LE(A,I.CENATT),e.writeUInt32LE(F,I.CENATX),e.writeUInt32LE(i,I.CENOFF),e},toJSON:function(){let e=function(l){return l+" bytes"};return{made:n,version:f,flags:r,method:V.methodToString(s),time:this.time,crc:"0x"+d.toString(16).toUpperCase(),compressedSize:e(o),size:e(m),fileNameLength:e(S),extraLength:e(O),commentLength:e(p),diskNumStart:C,inAttr:A,attr:F,offset:i,centralHeaderSize:e(I.CENHDR+S+O+p)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var pe=M(function(yt,ye){var G=W(),y=G.Constants;ye.exports=function(){var n=0,f=0,r=0,s=0,c=0;let d=()=>n>y.EF_ZIP64_OR_16||f>y.EF_ZIP64_OR_16||r>y.EF_ZIP64_OR_32||s>y.EF_ZIP64_OR_32;return{get diskEntries(){return n},set diskEntries(o){n=f=o},get totalEntries(){return f},set totalEntries(o){f=n=o},get size(){return r},set size(o){r=o},get offset(){return s},set offset(o){s=o},get commentLength(){return c},set commentLength(o){c=o},get mainHeaderSize(){return(d()?y.ZIP64HDR+y.END64HDR:0)+y.ENDHDR+c},loadFromBinary:function(o){if((o.length!==y.ENDHDR||o.readUInt32LE(0)!==y.ENDSIG)&&(o.length<y.ZIP64HDR||o.readUInt32LE(0)!==y.ZIP64SIG))throw G.Errors.INVALID_END();if(o.readUInt32LE(0)===y.ENDSIG)n=o.readUInt16LE(y.ENDSUB),f=o.readUInt16LE(y.ENDTOT),r=o.readUInt32LE(y.ENDSIZ),s=o.readUInt32LE(y.ENDOFF),c=o.readUInt16LE(y.ENDCOM);else n=G.readBigUInt64LE(o,y.ZIP64SUB),f=G.readBigUInt64LE(o,y.ZIP64TOT),r=G.readBigUInt64LE(o,y.ZIP64SIZB),s=G.readBigUInt64LE(o,y.ZIP64OFF),c=0},toBinary:function(){if(!d()){var o=Buffer.alloc(y.ENDHDR+c);return o.writeUInt32LE(y.ENDSIG,0),o.writeUInt32LE(0,4),o.writeUInt16LE(n,y.ENDSUB),o.writeUInt16LE(f,y.ENDTOT),o.writeUInt32LE(r,y.ENDSIZ),o.writeUInt32LE(s,y.ENDOFF),o.writeUInt16LE(c,y.ENDCOM),o.fill(" ",y.ENDHDR),o}var o=Buffer.alloc(this.mainHeaderSize);let m=0;o.writeUInt32LE(y.ZIP64SIG,m),G.writeBigUInt64LE(o,y.ZIP64HDR-y.ZIP64LEAD,m+y.ZIP64SIZE),o.writeUInt16LE(45,m+y.ZIP64VEM),o.writeUInt16LE(45,m+y.ZIP64VER),o.writeUInt32LE(0,m+y.ZIP64DSK),o.writeUInt32LE(0,m+y.ZIP64DSKDIR),G.writeBigUInt64LE(o,n,m+y.ZIP64SUB),G.writeBigUInt64LE(o,f,m+y.ZIP64TOT),G.writeBigUInt64LE(o,r,m+y.ZIP64SIZB),G.writeBigUInt64LE(o,s,m+y.ZIP64OFF);let S=s+r;return m+=y.ZIP64HDR,o.writeUInt32LE(y.END64SIG,m),o.writeUInt32LE(0,m+y.END64START),G.writeBigUInt64LE(o,S,m+y.END64OFF),o.writeUInt32LE(1,m+y.END64NUMDISKS),m+=y.END64HDR,o.writeUInt32LE(y.ENDSIG,m),o.writeUInt32LE(0,m+4),o.writeUInt16LE(Math.min(n,y.EF_ZIP64_OR_16),m+y.ENDSUB),o.writeUInt16LE(Math.min(f,y.EF_ZIP64_OR_16),m+y.ENDTOT),o.writeUInt32LE(Math.min(r,y.EF_ZIP64_OR_32),m+y.ENDSIZ),o.writeUInt32LE(Math.min(s,y.EF_ZIP64_OR_32),m+y.ENDOFF),o.writeUInt16LE(c,m+y.ENDCOM),o.fill(" ",m+y.ENDHDR),o},toJSON:function(){let o=function(m,S){let O=m.toString(16).toUpperCase();while(O.length<S)O="0"+O;return"0x"+O};return{diskEntries:n,totalEntries:f,size:r+" bytes",offset:o(s,4),commentLength:c}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var re=M(function(Xe){Xe.EntryHeader=_e();Xe.MainHeader=pe()});var Se=M(function(Ct,Ce){Ce.exports=function(n){var f=wt("zlib"),r={chunkSize:(parseInt(n.length/1024)+1)*1024};return{deflate:function(){return f.deflateRawSync(n,r)},deflateAsync:function(s){var c=f.createDeflateRaw(r),d=[],o=0;c.on("data",function(m){d.push(m),o+=m.length}),c.on("end",function(){var m=Buffer.alloc(o),S=0;m.fill(0);for(var O=0;O<d.length;O++){var p=d[O];p.copy(m,S),S+=p.length}s&&s(m)}),c.end(n)}}}});var Te=M(function(St,Ae){var Ye=+(process?.versions?.node??"").split(".")[0]||0,Oe=Y();Ae.exports=function(n,f){var r=wt("zlib");let s=f>0?f:1,c=Ye>=15?{maxOutputLength:s}:{};return{inflate:function(){return r.inflateRawSync(n,c)},inflateAsync:function(d){var o=r.createInflateRaw(c),m=[],S=0,O=!1;let p=function(C){if(O)return;O=!0,o.destroy(),d&&d(Buffer.alloc(0),C)};o.on("error",function(C){p(C)}),o.on("data",function(C){if(O)return;if(S+=C.length,S>s)return p(Oe.MAX_OUTPUT_EXCEEDED());m.push(C)}),o.on("end",function(){if(O)return;O=!0;var C=Buffer.alloc(S),A=0;C.fill(0);for(var F=0;F<m.length;F++){var i=m[F];i.copy(C,A),A+=i.length}d&&d(C)}),o.end(n)}}}});var Be=M(function(Ot,Ue){var{randomFillSync:Fe}=wt("crypto"),xe=Y(),Je=new Uint32Array(256).map((n,f)=>{for(let r=0;r<8;r++)if((f&1)!==0)f=f>>>1^3988292384;else f>>>=1;return f>>>0}),we=(n,f)=>Math.imul(n,f)>>>0,Re=(n,f)=>Je[(n^f)&255]^n>>>8,J=()=>{if(typeof Fe==="function")return Fe(Buffer.alloc(12));else return J.node()};J.node=()=>{let n=Buffer.alloc(12),f=n.length;for(let r=0;r<f;r++)n[r]=Math.random()*256&255;return n};var ee={genSalt:J};function te(n){let f=Buffer.isBuffer(n)?n:Buffer.from(n);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let r=0;r<f.length;r++)this.updateKeys(f[r])}te.prototype.updateKeys=function(n){let f=this.keys;return f[0]=Re(f[0],n),f[1]+=f[0]&255,f[1]=we(f[1],134775813)+1,f[2]=Re(f[2],f[1]>>>24),n};te.prototype.next=function(){let n=(this.keys[2]|2)>>>0;return we(n,n^1)>>8&255};function $e(n){let f=new te(n);return function(r){let s=Buffer.alloc(r.length),c=0;for(let d of r)s[c++]=f.updateKeys(d^f.next());return s}}function ke(n){let f=new te(n);return function(r,s,c=0){if(!s)s=Buffer.alloc(r.length);for(let d of r){let o=f.next();s[c++]=d^o,f.updateKeys(d)}return s}}function Qe(n,f,r){if(!n||!Buffer.isBuffer(n)||n.length<12)return Buffer.alloc(0);let s=$e(r),c=s(n.slice(0,12)),d=(f.flags&8)===8?f.timeHighByte:f.crc>>>24;if(c[11]!==d)throw xe.WRONG_PASSWORD();return s(n.slice(12))}function et(n){if(Buffer.isBuffer(n)&&n.length>=12)ee.genSalt=function(){return n.slice(0,12)};else if(n==="node")ee.genSalt=J.node;else ee.genSalt=J}function tt(n,f,r,s=!1){if(n==null)n=Buffer.alloc(0);if(!Buffer.isBuffer(n))n=Buffer.from(n.toString());let c=ke(r),d=ee.genSalt();if(d[11]=f.crc>>>24&255,s)d[10]=f.crc>>>16&255;let o=Buffer.alloc(n.length+12);return c(d,o),c(n,o,12)}Ue.exports={decrypt:Qe,encrypt:tt,_salter:et}});var Ze=M(function(nt){nt.Deflater=Se();nt.Inflater=Te();nt.ZipCrypto=Be()});var ie=M(function(Tt,ve){var Z=W(),st=re(),z=Z.Constants,oe=Ze();ve.exports=function(n,f){var r=new st.EntryHeader,s=Buffer.alloc(0),c=Buffer.alloc(0),d=!1,o=null,m=Buffer.alloc(0),S=Buffer.alloc(0),O=!0;let p=n,C=typeof p.decoder==="object"?p.decoder:Z.decoder;O=C.hasOwnProperty("efs")?C.efs:!1;function A(){if(!f||!(f instanceof Uint8Array))return Buffer.alloc(0);S=r.loadLocalHeaderFromBinary(f);let e=r.realDataOffset,l=e+r.compressedSize;if(e<0||l<e||l>f.length)throw Z.Errors.INVALID_LOC();return f.slice(e,l)}function F(e){let l=r.flags_desc||r.localHeader.flags_desc?r.crc:r.localHeader.crc;return Z.crc32(e)===l}function i(e,l,L){if(typeof l>"u"&&typeof e==="string")L=e,e=void 0;if(d){if(e&&l)l(Buffer.alloc(0),Z.Errors.DIRECTORY_CONTENT_ERROR());return Buffer.alloc(0)}var g;try{if(g=A(),g.length===0){if(e&&l)l(g);return g}if(r.encrypted){if(typeof L!=="string"&&!Buffer.isBuffer(L))throw Z.Errors.INVALID_PASS_PARAM();g=oe.ZipCrypto.decrypt(g,r,L)}}catch(R){if(e&&l)return l(Buffer.alloc(0),R),Buffer.alloc(0);throw R}var D;switch(r.method){case Z.Constants.STORED:if(D=Buffer.alloc(g.length),g.copy(D),!F(D)){if(e&&l)l(D,Z.Errors.BAD_CRC());throw Z.Errors.BAD_CRC()}else{if(e&&l)l(D);return D}case Z.Constants.DEFLATED:var N=new oe.Inflater(g,r.size);if(!e){if(D=N.inflate(),!F(D))throw Z.Errors.BAD_CRC(`"${C.decode(s)}"`);return D}else N.inflateAsync(function(R,w){if(!l)return;if(w)l(Buffer.alloc(0),w);else if(!F(R))l(R,Z.Errors.BAD_CRC());else l(R)});break;default:if(e&&l)l(Buffer.alloc(0),Z.Errors.UNKNOWN_METHOD());throw Z.Errors.UNKNOWN_METHOD()}}function a(e,l){if((!o||!o.length)&&Buffer.isBuffer(f)){if(e&&l)l(A());return A()}if(o.length&&!d){var L;switch(r.method){case Z.Constants.STORED:if(r.compressedSize=r.size,L=Buffer.alloc(o.length),o.copy(L),e&&l)l(L);return L;default:case Z.Constants.DEFLATED:var g=new oe.Deflater(o);if(!e){var D=g.deflate();return r.compressedSize=D.length,D}else g.deflateAsync(function(N){L=Buffer.alloc(N.length),r.compressedSize=N.length,N.copy(L),l&&l(L)});g=null;break}}else if(e&&l)l(Buffer.alloc(0));else return Buffer.alloc(0)}function u(e,l){return Z.readBigUInt64LE(e,l)}function E(e){try{var l=0,L,g,D;while(l+4<e.length)if(L=e.readUInt16LE(l),l+=2,g=e.readUInt16LE(l),l+=2,D=e.slice(l,l+g),l+=g,z.ID_ZIP64===L)h(D)}catch(N){throw Z.Errors.EXTRA_FIELD_PARSE_ERROR()}}function h(e){var l,L,g,D;if(e.length>=z.EF_ZIP64_SCOMP){if(l=u(e,z.EF_ZIP64_SUNCOMP),r.size===z.EF_ZIP64_OR_32)r.size=l}if(e.length>=z.EF_ZIP64_RHO){if(L=u(e,z.EF_ZIP64_SCOMP),r.compressedSize===z.EF_ZIP64_OR_32)r.compressedSize=L}if(e.length>=z.EF_ZIP64_DSN){if(g=u(e,z.EF_ZIP64_RHO),r.offset===z.EF_ZIP64_OR_32)r.offset=g}if(e.length>=z.EF_ZIP64_DSN+4){if(D=e.readUInt32LE(z.EF_ZIP64_DSN),r.diskNumStart===z.EF_ZIP64_OR_16)r.diskNumStart=D}}return{get entryName(){return C.decode(s)},get rawEntryName(){return s},set entryName(e){s=Z.toBuffer(e,C.encode);var l=s[s.length-1];d=l===47||l===92,r.fileNameLength=s.length},get efs(){if(typeof O==="function")return O(this.entryName);else return O},get extra(){return m},set extra(e){m=e,r.extraLength=e.length,E(e)},get comment(){return C.decode(c)},set comment(e){if(c=Z.toBuffer(e,C.encode),r.commentLength=c.length,c.length>65535)throw Z.Errors.COMMENT_TOO_LONG()},get name(){let e=C.decode(s);return d?e.replace(/[/\\]$/,"").split("/").pop():e.split("/").pop()},get isDirectory(){return d},getCompressedData:function(){return a(!1,null)},getCompressedDataAsync:function(e){a(!0,e)},setData:function(e){if(o=Z.toBuffer(e,Z.decoder.encode),!d&&o.length)r.size=o.length,r.method=Z.Constants.DEFLATED,r.crc=Z.crc32(e),r.changed=!0;else r.method=Z.Constants.STORED},getData:function(e){if(r.changed)return o;else return i(!1,null,e)},getDataAsync:function(e,l){if(r.changed)e(o);else i(!0,e,l)},set attr(e){r.attr=e},get attr(){return r.attr},set header(e){r.loadFromBinary(e)},get header(){return r},packCentralHeader:function(){r.flags_efs=this.efs,r.extraLength=m.length;var e=r.centralHeaderToBinary(),l=Z.Constants.CENHDR;return s.copy(e,l),l+=s.length,m.copy(e,l),l+=r.extraLength,c.copy(e,l),e},packLocalHeader:function(){let e=0;r.flags_efs=this.efs,r.extraLocalLength=S.length;let l=r.localHeaderToBinary(),L=Buffer.alloc(l.length+s.length+r.extraLocalLength);return l.copy(L,e),e+=l.length,s.copy(L,e),e+=s.length,S.copy(L,e),e+=S.length,L},toJSON:function(){let e=function(l){return"<"+(l&&l.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:r.toJSON(),compressedData:e(f),data:e(o)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var ze=M(function(Ft,Me){var Pe=ie(),He=re(),U=W();Me.exports=function(n,f){var r=[],s=Object.create(null),c=Buffer.alloc(0),d=new He.MainHeader,o=!1,m=null;let S=new Set,O=f,{noSort:p,decoder:C}=O;if(n)i(O.readEntries);else o=!0;function A(){let u=new Set;for(let E of Object.keys(s)){let h=E.split("/");if(h.pop(),!h.length)continue;for(let e=0;e<h.length;e++){let l=h.slice(0,e+1).join("/")+"/";u.add(l)}}for(let E of u)if(!(E in s)){let h=new Pe(O);h.entryName=E,h.attr=16,h.temporary=!0,r.push(h),s[h.entryName]=h,S.add(h)}}function F(){if(o=!0,s=Object.create(null),d.diskEntries>(n.length-d.offset)/U.Constants.CENHDR)throw U.Errors.DISK_ENTRY_TOO_LARGE();r=Array(d.diskEntries);var u=d.offset;for(var E=0;E<r.length;E++){var h=u,e=new Pe(O,n);if(e.header=n.slice(h,h+=U.Constants.CENHDR),e.entryName=n.slice(h,h+=e.header.fileNameLength),e.header.extraLength)e.extra=n.slice(h,h+=e.header.extraLength);if(e.header.commentLength)e.comment=n.slice(h,h+e.header.commentLength);if(u+=e.header.centralHeaderSize,e.entryName in s)throw U.Errors.DUPLICATE_ENTRY(`"${e.entryName}"`);r[E]=e,s[e.entryName]=e}S.clear(),A()}function i(u){var E=n.length-U.Constants.ENDHDR,h=Math.max(0,E-65535),e=h,l=n.length,L=-1,g=0;if(typeof O.trailingSpace==="boolean"?O.trailingSpace:!1)h=0;for(E;E>=e;E--){if(n[E]!==80)continue;if(n.readUInt32LE(E)===U.Constants.ENDSIG){L=E,g=E,l=E+U.Constants.ENDHDR,e=E-U.Constants.END64HDR;continue}if(n.readUInt32LE(E)===U.Constants.END64SIG){e=h;continue}if(n.readUInt32LE(E)===U.Constants.ZIP64SIG){L=E,l=E+U.readBigUInt64LE(n,E+U.Constants.ZIP64SIZE)+U.Constants.ZIP64LEAD;break}}if(L==-1)throw U.Errors.INVALID_FORMAT();if(d.loadFromBinary(n.slice(L,l)),d.commentLength)c=n.slice(g+U.Constants.ENDHDR);if(u)F()}function a(){if(r.length>1&&!p)r=r.map((u)=>({entry:u,key:u.entryName.toLowerCase()})).sort((u,E)=>u.key.localeCompare(E.key)).map((u)=>u.entry)}return{get entries(){if(!o)F();return r.filter((u)=>!S.has(u))},get comment(){return C.decode(c)},set comment(u){c=U.toBuffer(u,C.encode),d.commentLength=c.length},getEntryCount:function(){if(!o)return d.diskEntries;return r.length},forEach:function(u){this.entries.forEach(u)},getEntry:function(u){if(!o)F();return s[u]||null},setEntry:function(u){if(!o)F();r.push(u),s[u.entryName]=u,d.totalEntries=r.length},deleteFile:function(u,E=!0){if(!o)F();let h=s[u];this.getEntryChildren(h,E).map((l)=>l.entryName).forEach(this.deleteEntry)},deleteEntry:function(u){if(!o)F();let E=s[u],h=r.indexOf(E);if(h>=0)r.splice(h,1),delete s[u],d.totalEntries=r.length},getEntryChildren:function(u,E=!0){if(!o)F();if(typeof u==="object")if(u.isDirectory&&E){let h=[],e=u.entryName;for(let l of r)if(l.entryName.startsWith(e))h.push(l);return h}else return[u];return[]},getChildCount:function(u){if(u&&u.isDirectory){let E=this.getEntryChildren(u);return E.includes(u)?E.length-1:E.length}return 0},compressToBuffer:function(){if(!o)F();a();let u=[],E=[],h=0,e=0;d.size=0,d.offset=0;let l=0;for(let D of this.entries){let N=D.getCompressedData();D.header.offset=e;let R=D.packLocalHeader(),w=R.length+N.length;e+=w,u.push(R),u.push(N);let B=D.packCentralHeader();E.push(B),d.size+=B.length,h+=w+B.length,l++}h+=d.mainHeaderSize,d.offset=e,d.totalEntries=l,e=0;let L=Buffer.alloc(h);for(let D of u)D.copy(L,e),e+=D.length;for(let D of E)D.copy(L,e),e+=D.length;let g=d.toBinary();if(c)c.copy(g,g.length-c.length);return g.copy(L,e),n=L,o=!1,L},toAsyncBuffer:function(u,E,h,e){try{if(!o)F();a();let l=[],L=[],g=0,D=0,N=0;d.size=0,d.offset=0;let R=function(w){if(w.length>0){let B=w.shift(),P=B.entryName+B.extra.toString();if(h)h(P);B.getCompressedDataAsync(function(H){if(e)e(P);B.header.offset=D;let j=B.packLocalHeader(),k=j.length+H.length;D+=k,l.push(j),l.push(H);let K=B.packCentralHeader();L.push(K),d.size+=K.length,g+=k+K.length,N++,R(w)})}else{g+=d.mainHeaderSize,d.offset=D,d.totalEntries=N,D=0;let B=Buffer.alloc(g);l.forEach(function(H){H.copy(B,D),D+=H.length}),L.forEach(function(H){H.copy(B,D),D+=H.length});let P=d.toBinary();if(c)c.copy(P,P.length-c.length);P.copy(B,D),n=B,o=!1,u(B)}};R(Array.from(this.entries))}catch(l){E(l)}}}}});var Id=M(function(Rt,Ve){var x=W(),T=wt("path"),ft=ie(),ct=ze(),q=(...n)=>x.findLast(n,(f)=>typeof f==="boolean"),Ge=(...n)=>x.findLast(n,(f)=>typeof f==="string"),at=(...n)=>x.findLast(n,(f)=>typeof f==="function"),ut={noSort:!1,readEntries:!1,method:x.Constants.NONE,fs:null};Ve.exports=function(n,f){let r=null,s=Object.assign(Object.create(null),ut);if(n&&typeof n==="object"){if(!(n instanceof Uint8Array)){if(Object.assign(s,n),n=s.input?s.input:void 0,s.input)delete s.input}if(Buffer.isBuffer(n))r=n,s.method=x.Constants.BUFFER,n=void 0}Object.assign(s,f);let c=new x(s),d=(i)=>{i.filter((a)=>a.attr).sort((a,u)=>u.path.length-a.path.length).forEach((a)=>c.fs.chmodSync(a.path,a.attr))};if(typeof s.decoder!=="object"||typeof s.decoder.encode!=="function"||typeof s.decoder.decode!=="function")s.decoder=x.decoder;if(n&&typeof n==="string")if(c.fs.existsSync(n))s.method=x.Constants.FILE,s.filename=n,r=c.fs.readFileSync(n);else throw x.Errors.INVALID_FILENAME();let o=new ct(r,s),{canonical:m,sanitize:S,zipnamefix:O}=x;function p(i){if(i&&o){var a;if(typeof i==="string")a=o.getEntry(T.posix.normalize(i));if(typeof i==="object"&&typeof i.entryName<"u"&&typeof i.header<"u")a=o.getEntry(i.entryName);if(a)return a}return null}function C(i){let{join:a,normalize:u,sep:E}=T.posix;return a(T.isAbsolute(i)?"/":".",u(E+i.split("\\").join(E)+E))}function A(i){if(i instanceof RegExp)return function(a){return function(u){return a.test(u)}}(i);else if(typeof i!=="function")return()=>!0;return i}let F=(i,a)=>{let u=a.slice(-1);return u=u===c.sep?c.sep:"",T.relative(i,a)+u};return{readFile:function(i,a){var u=p(i);return u&&u.getData(a)||null},childCount:function(i){let a=p(i);if(a)return o.getChildCount(a)},readFileAsync:function(i,a){var u=p(i);if(u)u.getDataAsync(a);else a(null,"getEntry failed for:"+i)},readAsText:function(i,a){var u=p(i);if(u){var E=u.getData();if(E&&E.length)return E.toString(a||"utf8")}return""},readAsTextAsync:function(i,a,u){var E=p(i);if(E)E.getDataAsync(function(h,e){if(e){a(h,e);return}if(h&&h.length)a(h.toString(u||"utf8"));else a("")});else a("")},deleteFile:function(i,a=!0){var u=p(i);if(u)o.deleteFile(u.entryName,a)},deleteEntry:function(i){var a=p(i);if(a)o.deleteEntry(a.entryName)},addZipComment:function(i){o.comment=i},getZipComment:function(){return o.comment||""},addZipEntryComment:function(i,a){var u=p(i);if(u)u.comment=a},getZipEntryComment:function(i){var a=p(i);if(a)return a.comment||"";return""},updateFile:function(i,a){var u=p(i);if(u)u.setData(a)},addLocalFile:function(i,a,u,E){if(c.fs.existsSync(i)){a=a?C(a):"";let h=T.win32.basename(T.win32.normalize(i));a+=u?u:h;let e=c.fs.statSync(i),l=e.isFile()?c.fs.readFileSync(i):Buffer.alloc(0);if(e.isDirectory())a+=c.sep;this.addFile(a,l,E,e)}else throw x.Errors.FILE_NOT_FOUND(i)},addLocalFileAsync:function(i,a){i=typeof i==="object"?i:{localPath:i};let u=T.resolve(i.localPath),{comment:E}=i,{zipPath:h,zipName:e}=i,l=this;c.fs.stat(u,function(L,g){if(L)return a(L,!1);h=h?C(h):"";let D=T.win32.basename(T.win32.normalize(u));if(h+=e?e:D,g.isFile())c.fs.readFile(u,function(N,R){if(N)return a(N,!1);return l.addFile(h,R,E,g),setImmediate(a,void 0,!0)});else if(g.isDirectory())return h+=c.sep,l.addFile(h,Buffer.alloc(0),E,g),setImmediate(a,void 0,!0)})},addLocalFolder:function(i,a,u){if(u=A(u),a=a?C(a):"",i=T.normalize(i),c.fs.existsSync(i)){let E=c.findFiles(i),h=this;if(E.length)for(let e of E){let l=T.join(a,F(i,e));if(u(l))h.addLocalFile(e,T.dirname(l))}}else throw x.Errors.FILE_NOT_FOUND(i)},addLocalFolderAsync:function(i,a,u,E){E=A(E),u=u?C(u):"",i=T.normalize(i);var h=this;c.fs.open(i,"r",function(e){if(e&&e.code==="ENOENT")a(void 0,x.Errors.FILE_NOT_FOUND(i));else if(e)a(void 0,e);else{var l=c.findFiles(i),L=-1,g=function(){if(L+=1,L<l.length){var D=l[L],N=F(i,D).split("\\").join("/");if(N=N.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),E(N))c.fs.stat(D,function(R,w){if(R)a(void 0,R);if(w.isFile())c.fs.readFile(D,function(B,P){if(B)a(void 0,B);else h.addFile(u+N,P,"",w),g()});else h.addFile(u+N+"/",Buffer.alloc(0),"",w),g()});else process.nextTick(()=>{g()})}else a(!0,void 0)};g()}})},addLocalFolderAsync2:function(i,a){let u=this;i=typeof i==="object"?i:{localPath:i};let E=T.resolve(i.localPath),{zipPath:h,filter:e,namefix:l}=i;if(e instanceof RegExp)e=function(D){return function(N){return D.test(N)}}(e);else if(typeof e!=="function")e=function(){return!0};if(h=h?C(h):"",l==="latin1")l=(D)=>D.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"");if(typeof l!=="function")l=(D)=>D;let L=(D)=>T.join(h,l(F(E,D))),g=(D)=>T.win32.basename(T.win32.normalize(l(D)));c.fs.open(E,"r",function(D){if(D&&D.code==="ENOENT")a(x.Errors.FILE_NOT_FOUND(E),!1);else if(D)a(D,!1);else c.findFilesAsync(E,function(N,R){if(N)return a(N,!1);if(R=R.filter((w)=>e(L(w))),!R.length)return a(void 0,!0);setImmediate(R.reverse().reduce(function(w,B){return function(P,H){if(P||H===!1)return setImmediate(w,P,!1);u.addLocalFileAsync({localPath:B,zipPath:T.dirname(L(B)),zipName:g(B)},w)}},a))})})},addLocalFolderPromise:function(i,a){return new Promise((u,E)=>{this.addLocalFolderAsync2(Object.assign({localPath:i},a),(h,e)=>{if(h)return E(h);if(e)u(this)})})},addFile:function(i,a,u,E){i=O(i);let h=p(i),e=h!=null;if(!e)h=new ft(s),h.entryName=i;h.comment=u||"";let l=typeof E==="object"&&E instanceof c.fs.Stats;if(l)h.header.time=E.mtime;var L=h.isDirectory?16:0;let g=h.isDirectory?16384:32768;if(l)g|=4095&E.mode;else if(typeof E==="number")g|=4095&E;else g|=h.isDirectory?493:420;if(L=(L|g<<16)>>>0,h.attr=L,h.setData(a),!e)o.setEntry(h);return h},getEntries:function(i){return o.password=i,o?o.entries:[]},getEntry:function(i){return p(i)},getEntryCount:function(){return o.getEntryCount()},forEach:function(i){return o.forEach(i)},extractEntryTo:function(i,a,u,E,h,e){E=q(!1,E),h=q(!1,h),u=q(!0,u),e=Ge(h,e);var l=p(i);if(!l)throw x.Errors.NO_ENTRY();var L=m(l.entryName),g=S(a,e&&!l.isDirectory?m(e):u?L:T.basename(L));if(l.isDirectory){var D=o.getEntryChildren(l);return D.forEach(function(w){if(w.isDirectory)return;var B=w.getData();if(!B)throw x.Errors.CANT_EXTRACT_FILE();var P=m(u?w.entryName:w.entryName.substring(l.entryName.length)),H=S(a,P);c.assertPathSafe(a,H);let j=h?w.header.fileAttr:void 0;c.writeFileTo(H,B,E,j)}),!0}var N=l.getData(o.password);if(!N)throw x.Errors.CANT_EXTRACT_FILE();if(c.assertPathSafe(a,g),c.fs.existsSync(g)&&!E)throw x.Errors.CANT_OVERRIDE();let R=h?i.header.fileAttr:void 0;return c.writeFileTo(g,N,E,R),!0},test:function(i){if(!o)return!1;for(var a of o.entries)try{if(a.isDirectory)continue;var u=a.getData(i);if(!u)return!1}catch(E){return!1}return!0},extractAllTo:function(i,a,u,E){if(u=q(!1,u),E=Ge(u,E),a=q(!1,a),!o)throw x.Errors.NO_ZIP();let h=[];o.entries.forEach(function(e){var l=S(i,m(e.entryName));if(c.assertPathSafe(i,l),e.isDirectory){if(c.makeDir(l),u)h.push({path:l,attr:e.header.fileAttr});return}var L=e.getData(E);if(!L)throw x.Errors.CANT_EXTRACT_FILE();let g=u?e.header.fileAttr:void 0;c.writeFileTo(l,L,a,g);try{c.fs.utimesSync(l,e.header.time,e.header.time)}catch(D){}}),d(h)},extractAllToAsync:function(i,a,u,E){if(E=at(a,u,E),u=q(!1,u),a=q(!1,a),!E)return new Promise((N,R)=>{this.extractAllToAsync(i,a,u,function(w){if(w)R(w);else N(this)})});if(!o){E(x.Errors.NO_ZIP());return}i=T.resolve(i);let h=(N)=>S(i,T.normalize(m(N.entryName))),e=(N,R)=>Error(N+': "'+R+'"'),l=[],L=[];o.entries.forEach((N)=>{if(N.isDirectory)l.push(N);else L.push(N)});let g=[];for(let N of l){let R=h(N),w=u?N.header.fileAttr:void 0;try{c.assertPathSafe(i,R),c.makeDir(R)}catch(B){E(e("Unable to create folder",R));continue}if(w)g.push({path:R,attr:w});try{c.fs.utimesSync(R,N.header.time,N.header.time)}catch(B){}}let D=(N)=>{if(!N)try{d(g)}catch(R){return E(e("Unable to set folder permissions",R.path||""))}E(N)};L.reverse().reduce(function(N,R){return function(w){if(w)N(w);else{let B=T.normalize(m(R.entryName)),P=S(i,B);try{c.assertPathSafe(i,P)}catch(H){return N(H)}R.getDataAsync(function(H,j){if(j)N(j);else if(!H)N(x.Errors.CANT_EXTRACT_FILE());else{let k=u?R.header.fileAttr:void 0;c.writeFileToAsync(P,H,a,k,function(K){if(!K)return N(e("Unable to write file",P));c.fs.utimes(P,R.header.time,R.header.time,function(){N()})})}})}}},D)()},writeZip:function(i,a){if(arguments.length===1){if(typeof i==="function")a=i,i=""}if(!i&&s.filename)i=s.filename;if(!i)return;var u=o.compressToBuffer();if(u){var E=c.writeFileTo(i,u,!0);if(typeof a==="function")a(!E?Error("failed"):null,"")}},writeZipPromise:function(i,a){let{overwrite:u,perm:E}=Object.assign({overwrite:!0},a);return new Promise((h,e)=>{if(!i&&s.filename)i=s.filename;if(!i)e("ADM-ZIP: ZIP File Name Missing");this.toBufferPromise().then((l)=>{let L=(g)=>g?h(g):e("ADM-ZIP: Wasn't able to write zip file");c.writeFileToAsync(i,l,u,E,L)},e)})},toBufferPromise:function(){return new Promise((i,a)=>{o.toAsyncBuffer(i,a)})},toBuffer:function(i,a,u,E){if(typeof i==="function")return o.toAsyncBuffer(i,a,u,E),null;return o.compressToBuffer()}}}});import*as fe from"path";import*as se from"path";function Nc(n,f,r={}){let s=r.paths??se,c=s.resolve(n),d=s.resolve(c,f),o=s.relative(c,d);if(o==="")return r.allowEqual??!0;return!(o===".."||o.startsWith(`..${s.sep}`)||s.isAbsolute(o))}function pae(n,f,r,s={}){if(!Nc(n,f,s))throw r();let c=s.paths??se;return c.resolve(c.resolve(n),f)}function fU(n,f,r="CtrlProxy bundle"){let s=fe.resolve(f);for(let c of n.getEntries())if(!Nc(s,c.entryName))throw new t(`Refusing to extract ${r}: entry "${c.entryName}" resolves outside the extraction directory ${s} (zip-slip / path traversal).`)}
3
- export{Id,Nc,pae,fU};
2
+ import{t}from"./chunk-2b39zyxc.js";import{M,Pt}from"./chunk-j69g8b50.js";var ne=M(function(mt,ce){ce.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var Y=M(function(ue){var ae={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",MAX_OUTPUT_EXCEEDED:"Decompressed data exceeds the declared uncompressed size",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DUPLICATE_ENTRY:"Duplicate entry name {0}",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",ZIP64_VALUE_TOO_LARGE:"Zip64 value exceeds the maximum safe integer",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function je(n){return function(...f){if(f.length)n=n.replace(/\{(\d)\}/g,(r,s)=>f[s]||"");return Error("ADM-ZIP: "+n)}}for(let n of Object.keys(ae))ue[n]=je(ae[n])});var he=M(function(Lt,de){var qe=Pt("fs"),_=Pt("path"),Q=ne(),b=Y(),be=typeof process==="object"&&process.platform==="win32",le=(n)=>typeof n==="object"&&n!==null,Ee=new Uint32Array(256).map((n,f)=>{for(let r=0;r<8;r++)if((f&1)!==0)f=3988292384^f>>>1;else f>>>=1;return f>>>0});function v(n){if(this.sep=_.sep,this.fs=qe,le(n)){if(le(n.fs)&&typeof n.fs.statSync==="function")this.fs=n.fs}}de.exports=v;v.prototype.makeDir=function(n){let f=this;function r(s){let c=s.split(f.sep)[0];s.split(f.sep).forEach(function(d){if(!d||d.substr(-1,1)===":")return;c+=f.sep+d;var o;try{o=f.fs.statSync(c)}catch(m){if(m.message&&m.message.startsWith("ENOENT"))f.fs.mkdirSync(c);else throw m}if(o&&o.isFile())throw b.FILE_IN_THE_WAY(`"${c}"`)})}r(n)};v.prototype.writeFileTo=function(n,f,r,s){let c=this;if(c.fs.existsSync(n)){if(!r)return!1;var d=c.fs.statSync(n);if(d.isDirectory())return!1}var o=_.dirname(n);if(!c.fs.existsSync(o))c.makeDir(o);var m;try{m=c.fs.openSync(n,"w",438)}catch(S){c.fs.chmodSync(n,438),m=c.fs.openSync(n,"w",438)}if(m)try{c.fs.writeSync(m,f,0,f.length,0)}finally{c.fs.closeSync(m)}return c.fs.chmodSync(n,s||438),!0};v.prototype.writeFileToAsync=function(n,f,r,s,c){if(typeof s==="function")c=s,s=void 0;let d=this;d.fs.exists(n,function(o){if(o&&!r)return c(!1);d.fs.stat(n,function(m,S){if(o&&S&&S.isDirectory())return c(!1);var O=_.dirname(n);d.fs.exists(O,function(p){if(!p)try{d.makeDir(O)}catch(A){return c(!1)}let C=function(A){d.fs.write(A,f,0,f.length,0,function(F){d.fs.close(A,function(){if(F)return c(!1);d.fs.chmod(n,s||438,function(){c(!0)})})})};d.fs.open(n,"w",438,function(A,F){if(A)d.fs.chmod(n,438,function(){d.fs.open(n,"w",438,function(i,a){if(i||!a)return c(!1);C(a)})});else if(F)C(F);else c(!1)})})})})};v.prototype.assertPathSafe=function(n,f){let r=this;if(typeof r.fs.lstatSync!=="function")return;let s=_.resolve(n),c=_.resolve(f);if(c===s)return;let d=_.relative(s,c);if(!d||d===".."||d.startsWith(".."+_.sep)||_.isAbsolute(d))return;let o=s;for(let m of d.split(_.sep)){if(!m||m===".")continue;o=_.join(o,m);let S;try{S=r.fs.lstatSync(o)}catch(O){break}if(S.isSymbolicLink())throw b.FILE_IN_THE_WAY(`"${o}"`)}};v.prototype.findFiles=function(n){let f=this,r=typeof f.fs.lstatSync==="function",s=f.fs.realpathSync(n);function c(o){if(!r)return!1;if(!f.fs.lstatSync(o).isSymbolicLink())return!1;let m;try{m=f.fs.realpathSync(o)}catch(S){return!0}return!(m===s||m.startsWith(s+_.sep))}function d(o,m,S,O){if(typeof m==="boolean")S=m,m=void 0;let p=[];return f.fs.readdirSync(o).forEach(function(C){let A=_.join(o,C);if(c(A))return;let F=f.fs.statSync(A);if(!m||m.test(A))p.push(_.normalize(A)+(F.isDirectory()?f.sep:""));if(F.isDirectory()&&S){let i=f.fs.realpathSync(A);if(!O.has(i))O.add(i),p=p.concat(d(A,m,S,O))}}),p}return d(n,void 0,!0,new Set([s]))};v.prototype.findFilesAsync=function(n,f){let r=this,s=[],c=!1,d=function(p){if(c)return;c=!0,f(p,p?void 0:s)},o=typeof r.fs.lstat==="function",m=null,S=function(p,C){if(!o)return C(null,!1);r.fs.lstat(p,function(A,F){if(A)return C(A);if(!F||!F.isSymbolicLink())return C(null,!1);r.fs.realpath(p,function(i,a){if(i)return C(null,!0);C(null,!(a===m||a.startsWith(m+_.sep)))})})},O=function(p,C,A){r.fs.readdir(p,function(F,i){if(F)return A(F);let a=i.length;if(!a)return A();i.forEach(function(u){let E=_.join(p,u);S(E,function(h,e){if(h)return A(h);if(e){if(!--a)A();return}r.fs.stat(E,function(l,L){if(l)return A(l);if(!L){if(!--a)A();return}if(s.push(_.normalize(E)+(L.isDirectory()?r.sep:"")),!L.isDirectory()){if(!--a)A();return}r.fs.realpath(E,function(g,D){if(g)return A(g);if(C.has(D)){if(!--a)A();return}C.add(D),O(E,C,function(N){if(N)return A(N);if(!--a)A()})})})})})})};r.fs.realpath(n,function(p,C){if(p)return d(p);m=C,O(n,new Set([C]),d)})};v.prototype.getAttributes=function(){};v.prototype.setAttributes=function(){};v.crc32update=function(n,f){return Ee[(n^f)&255]^n>>>8};v.crc32=function(n){if(typeof n==="string")n=Buffer.from(n,"utf8");let f=n.length,r=-1;for(let s=0;s<f;)r=v.crc32update(r,n[s++]);return~r>>>0};v.methodToString=function(n){switch(n){case Q.STORED:return"STORED ("+n+")";case Q.DEFLATED:return"DEFLATED ("+n+")";default:return"UNSUPPORTED ("+n+")"}};v.canonical=function(n){if(!n)return"";let f=_.posix.normalize("/"+n.split("\\").join("/"));return _.join(".",f)};v.zipnamefix=function(n){if(!n)return"";let f=_.posix.normalize("/"+n.split("\\").join("/"));return _.posix.join(".",f)};v.findLast=function(n,f){if(!Array.isArray(n))throw TypeError("arr is not array");let r=n.length>>>0;for(let s=r-1;s>=0;s--)if(f(n[s],s,n))return n[s];return};v.sanitize=function(n,f){n=_.resolve(_.normalize(n));var r=f.split("/");for(var s=0,c=r.length;s<c;s++){var d=_.normalize(_.join(n,r.slice(s,c).join(_.sep)));if(d===n||d.startsWith(n+_.sep))return d}return _.normalize(_.join(n,_.basename(f)))};v.toBuffer=function(f,r){if(Buffer.isBuffer(f))return f;else if(f instanceof Uint8Array)return Buffer.from(f);else return typeof f==="string"?r(f):Buffer.alloc(0)};v.readBigUInt64LE=function(n,f){let r=n.readUInt32LE(f),c=n.readUInt32LE(f+4)*4294967296+r;if(c>Number.MAX_SAFE_INTEGER)throw b.ZIP64_VALUE_TOO_LARGE();return c};v.writeBigUInt64LE=function(n,f,r){let s=f>>>0,c=Math.floor(f/4294967296)>>>0;n.writeUInt32LE(s,r),n.writeUInt32LE(c,r+4)};v.fromDOS2Date=function(n){return new Date((n>>25&127)+1980,Math.max((n>>21&15)-1,0),Math.max(n>>16&31,1),n>>11&31,n>>5&63,(n&31)<<1)};v.fromDate2DOS=function(n){let f=0,r=0;if(n.getFullYear()>1979)f=(n.getFullYear()-1980&127)<<9|n.getMonth()+1<<5|n.getDate(),r=n.getHours()<<11|n.getMinutes()<<5|n.getSeconds()>>1;return f<<16|r};v.isWin=be;v.crcTable=Ee});var Le=M(function(Dt,Ie){var me=Pt("path");Ie.exports=function(n,{fs:f}){var r=n||"",s=d(),c=null;function d(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}if(r&&f.existsSync(r))c=f.statSync(r),s.directory=c.isDirectory(),s.mtime=c.mtime,s.atime=c.atime,s.executable=(73&c.mode)!==0,s.readonly=(128&c.mode)===0,s.hidden=me.basename(r)[0]===".";else console.warn("Invalid path: "+r);return{get directory(){return s.directory},get readOnly(){return s.readonly},get hidden(){return s.hidden},get mtime(){return s.mtime},get atime(){return s.atime},get executable(){return s.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:r,isDirectory:s.directory,isReadOnly:s.readonly,isHidden:s.hidden,isExecutable:s.executable,mTime:s.mtime,aTime:s.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var ge=M(function(gt,De){De.exports={efs:!0,encode:(n)=>Buffer.from(n,"utf8"),decode:(n)=>n.toString("utf8")}});var W=M(function(Nt,X){X.exports=he();X.exports.Constants=ne();X.exports.Errors=Y();X.exports.FileAttr=Le();X.exports.decoder=ge()});var _e=M(function(_t,Ne){var V=W(),I=V.Constants;Ne.exports=function(){var n=20,f=10,r=0,s=0,c=0,d=0,o=0,m=0,S=0,O=0,p=0,C=0,A=0,F=0,i=0;n|=V.isWin?2560:768,r|=I.FLG_EFS;let a={extraLen:0},u=(e)=>Math.max(0,e)>>>0,E=(e)=>Math.max(0,e)&65535,h=(e)=>Math.max(0,e)&255;return c=V.fromDate2DOS(new Date),{get made(){return n},set made(e){n=e},get version(){return f},set version(e){f=e},get flags(){return r},set flags(e){r=e},get flags_efs(){return(r&I.FLG_EFS)>0},set flags_efs(e){if(e)r|=I.FLG_EFS;else r&=~I.FLG_EFS},get flags_desc(){return(r&I.FLG_DESC)>0},set flags_desc(e){if(e)r|=I.FLG_DESC;else r&=~I.FLG_DESC},get method(){return s},set method(e){switch(e){case I.STORED:this.version=10;break;case I.DEFLATED:default:this.version=20}s=e},get time(){return V.fromDOS2Date(this.timeval)},set time(e){e=new Date(e),this.timeval=V.fromDate2DOS(e)},get timeval(){return c},set timeval(e){c=u(e)},get timeHighByte(){return h(c>>>8)},get crc(){return d},set crc(e){d=u(e)},get compressedSize(){return o},set compressedSize(e){o=u(e)},get size(){return m},set size(e){m=u(e)},get fileNameLength(){return S},set fileNameLength(e){S=e},get extraLength(){return O},set extraLength(e){O=e},get extraLocalLength(){return a.extraLen},set extraLocalLength(e){a.extraLen=e},get commentLength(){return p},set commentLength(e){p=e},get diskNumStart(){return C},set diskNumStart(e){C=u(e)},get inAttr(){return A},set inAttr(e){A=u(e)},get attr(){return F},set attr(e){F=u(e)},get fileAttr(){return(F||0)>>16&511},get offset(){return i},set offset(e){i=u(e)},get encrypted(){return(r&I.FLG_ENC)===I.FLG_ENC},get centralHeaderSize(){return I.CENHDR+S+O+p},get realDataOffset(){return i+I.LOCHDR+a.fnameLen+a.extraLen},get localHeader(){return a},loadLocalHeaderFromBinary:function(e){if(i<0||i+I.LOCHDR>e.length)throw V.Errors.INVALID_LOC();var l=e.slice(i,i+I.LOCHDR);if(l.readUInt32LE(0)!==I.LOCSIG)throw V.Errors.INVALID_LOC();a.version=l.readUInt16LE(I.LOCVER),a.flags=l.readUInt16LE(I.LOCFLG),a.flags_desc=(a.flags&I.FLG_DESC)>0,a.method=l.readUInt16LE(I.LOCHOW),a.time=l.readUInt32LE(I.LOCTIM),a.crc=l.readUInt32LE(I.LOCCRC),a.compressedSize=l.readUInt32LE(I.LOCSIZ),a.size=l.readUInt32LE(I.LOCLEN),a.fnameLen=l.readUInt16LE(I.LOCNAM),a.extraLen=l.readUInt16LE(I.LOCEXT);let L=i+I.LOCHDR+a.fnameLen,g=L+a.extraLen;return e.slice(L,g)},loadFromBinary:function(e){if(e.length!==I.CENHDR||e.readUInt32LE(0)!==I.CENSIG)throw V.Errors.INVALID_CEN();n=e.readUInt16LE(I.CENVEM),f=e.readUInt16LE(I.CENVER),r=e.readUInt16LE(I.CENFLG),s=e.readUInt16LE(I.CENHOW),c=e.readUInt32LE(I.CENTIM),d=e.readUInt32LE(I.CENCRC),o=e.readUInt32LE(I.CENSIZ),m=e.readUInt32LE(I.CENLEN),S=e.readUInt16LE(I.CENNAM),O=e.readUInt16LE(I.CENEXT),p=e.readUInt16LE(I.CENCOM),C=e.readUInt16LE(I.CENDSK),A=e.readUInt16LE(I.CENATT),F=e.readUInt32LE(I.CENATX),i=e.readUInt32LE(I.CENOFF)},localHeaderToBinary:function(){var e=Buffer.alloc(I.LOCHDR);return e.writeUInt32LE(I.LOCSIG,0),e.writeUInt16LE(f,I.LOCVER),e.writeUInt16LE(r&~I.FLG_DESC,I.LOCFLG),e.writeUInt16LE(s,I.LOCHOW),e.writeUInt32LE(c,I.LOCTIM),e.writeUInt32LE(d,I.LOCCRC),e.writeUInt32LE(o,I.LOCSIZ),e.writeUInt32LE(m,I.LOCLEN),e.writeUInt16LE(S,I.LOCNAM),e.writeUInt16LE(a.extraLen,I.LOCEXT),e},centralHeaderToBinary:function(){var e=Buffer.alloc(I.CENHDR+S+O+p);return e.writeUInt32LE(I.CENSIG,0),e.writeUInt16LE(n,I.CENVEM),e.writeUInt16LE(f,I.CENVER),e.writeUInt16LE(r&~I.FLG_DESC,I.CENFLG),e.writeUInt16LE(s,I.CENHOW),e.writeUInt32LE(c,I.CENTIM),e.writeUInt32LE(d,I.CENCRC),e.writeUInt32LE(o,I.CENSIZ),e.writeUInt32LE(m,I.CENLEN),e.writeUInt16LE(S,I.CENNAM),e.writeUInt16LE(O,I.CENEXT),e.writeUInt16LE(p,I.CENCOM),e.writeUInt16LE(C,I.CENDSK),e.writeUInt16LE(A,I.CENATT),e.writeUInt32LE(F,I.CENATX),e.writeUInt32LE(i,I.CENOFF),e},toJSON:function(){let e=function(l){return l+" bytes"};return{made:n,version:f,flags:r,method:V.methodToString(s),time:this.time,crc:"0x"+d.toString(16).toUpperCase(),compressedSize:e(o),size:e(m),fileNameLength:e(S),extraLength:e(O),commentLength:e(p),diskNumStart:C,inAttr:A,attr:F,offset:i,centralHeaderSize:e(I.CENHDR+S+O+p)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var pe=M(function(yt,ye){var G=W(),y=G.Constants;ye.exports=function(){var n=0,f=0,r=0,s=0,c=0;let d=()=>n>y.EF_ZIP64_OR_16||f>y.EF_ZIP64_OR_16||r>y.EF_ZIP64_OR_32||s>y.EF_ZIP64_OR_32;return{get diskEntries(){return n},set diskEntries(o){n=f=o},get totalEntries(){return f},set totalEntries(o){f=n=o},get size(){return r},set size(o){r=o},get offset(){return s},set offset(o){s=o},get commentLength(){return c},set commentLength(o){c=o},get mainHeaderSize(){return(d()?y.ZIP64HDR+y.END64HDR:0)+y.ENDHDR+c},loadFromBinary:function(o){if((o.length!==y.ENDHDR||o.readUInt32LE(0)!==y.ENDSIG)&&(o.length<y.ZIP64HDR||o.readUInt32LE(0)!==y.ZIP64SIG))throw G.Errors.INVALID_END();if(o.readUInt32LE(0)===y.ENDSIG)n=o.readUInt16LE(y.ENDSUB),f=o.readUInt16LE(y.ENDTOT),r=o.readUInt32LE(y.ENDSIZ),s=o.readUInt32LE(y.ENDOFF),c=o.readUInt16LE(y.ENDCOM);else n=G.readBigUInt64LE(o,y.ZIP64SUB),f=G.readBigUInt64LE(o,y.ZIP64TOT),r=G.readBigUInt64LE(o,y.ZIP64SIZB),s=G.readBigUInt64LE(o,y.ZIP64OFF),c=0},toBinary:function(){if(!d()){var o=Buffer.alloc(y.ENDHDR+c);return o.writeUInt32LE(y.ENDSIG,0),o.writeUInt32LE(0,4),o.writeUInt16LE(n,y.ENDSUB),o.writeUInt16LE(f,y.ENDTOT),o.writeUInt32LE(r,y.ENDSIZ),o.writeUInt32LE(s,y.ENDOFF),o.writeUInt16LE(c,y.ENDCOM),o.fill(" ",y.ENDHDR),o}var o=Buffer.alloc(this.mainHeaderSize);let m=0;o.writeUInt32LE(y.ZIP64SIG,m),G.writeBigUInt64LE(o,y.ZIP64HDR-y.ZIP64LEAD,m+y.ZIP64SIZE),o.writeUInt16LE(45,m+y.ZIP64VEM),o.writeUInt16LE(45,m+y.ZIP64VER),o.writeUInt32LE(0,m+y.ZIP64DSK),o.writeUInt32LE(0,m+y.ZIP64DSKDIR),G.writeBigUInt64LE(o,n,m+y.ZIP64SUB),G.writeBigUInt64LE(o,f,m+y.ZIP64TOT),G.writeBigUInt64LE(o,r,m+y.ZIP64SIZB),G.writeBigUInt64LE(o,s,m+y.ZIP64OFF);let S=s+r;return m+=y.ZIP64HDR,o.writeUInt32LE(y.END64SIG,m),o.writeUInt32LE(0,m+y.END64START),G.writeBigUInt64LE(o,S,m+y.END64OFF),o.writeUInt32LE(1,m+y.END64NUMDISKS),m+=y.END64HDR,o.writeUInt32LE(y.ENDSIG,m),o.writeUInt32LE(0,m+4),o.writeUInt16LE(Math.min(n,y.EF_ZIP64_OR_16),m+y.ENDSUB),o.writeUInt16LE(Math.min(f,y.EF_ZIP64_OR_16),m+y.ENDTOT),o.writeUInt32LE(Math.min(r,y.EF_ZIP64_OR_32),m+y.ENDSIZ),o.writeUInt32LE(Math.min(s,y.EF_ZIP64_OR_32),m+y.ENDOFF),o.writeUInt16LE(c,m+y.ENDCOM),o.fill(" ",m+y.ENDHDR),o},toJSON:function(){let o=function(m,S){let O=m.toString(16).toUpperCase();while(O.length<S)O="0"+O;return"0x"+O};return{diskEntries:n,totalEntries:f,size:r+" bytes",offset:o(s,4),commentLength:c}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var re=M(function(Xe){Xe.EntryHeader=_e();Xe.MainHeader=pe()});var Se=M(function(Ct,Ce){Ce.exports=function(n){var f=Pt("zlib"),r={chunkSize:(parseInt(n.length/1024)+1)*1024};return{deflate:function(){return f.deflateRawSync(n,r)},deflateAsync:function(s){var c=f.createDeflateRaw(r),d=[],o=0;c.on("data",function(m){d.push(m),o+=m.length}),c.on("end",function(){var m=Buffer.alloc(o),S=0;m.fill(0);for(var O=0;O<d.length;O++){var p=d[O];p.copy(m,S),S+=p.length}s&&s(m)}),c.end(n)}}}});var Te=M(function(St,Ae){var Ye=+(process?.versions?.node??"").split(".")[0]||0,Oe=Y();Ae.exports=function(n,f){var r=Pt("zlib");let s=f>0?f:1,c=Ye>=15?{maxOutputLength:s}:{};return{inflate:function(){return r.inflateRawSync(n,c)},inflateAsync:function(d){var o=r.createInflateRaw(c),m=[],S=0,O=!1;let p=function(C){if(O)return;O=!0,o.destroy(),d&&d(Buffer.alloc(0),C)};o.on("error",function(C){p(C)}),o.on("data",function(C){if(O)return;if(S+=C.length,S>s)return p(Oe.MAX_OUTPUT_EXCEEDED());m.push(C)}),o.on("end",function(){if(O)return;O=!0;var C=Buffer.alloc(S),A=0;C.fill(0);for(var F=0;F<m.length;F++){var i=m[F];i.copy(C,A),A+=i.length}d&&d(C)}),o.end(n)}}}});var Be=M(function(Ot,Ue){var{randomFillSync:Fe}=Pt("crypto"),xe=Y(),Je=new Uint32Array(256).map((n,f)=>{for(let r=0;r<8;r++)if((f&1)!==0)f=f>>>1^3988292384;else f>>>=1;return f>>>0}),we=(n,f)=>Math.imul(n,f)>>>0,Re=(n,f)=>Je[(n^f)&255]^n>>>8,J=()=>{if(typeof Fe==="function")return Fe(Buffer.alloc(12));else return J.node()};J.node=()=>{let n=Buffer.alloc(12),f=n.length;for(let r=0;r<f;r++)n[r]=Math.random()*256&255;return n};var ee={genSalt:J};function te(n){let f=Buffer.isBuffer(n)?n:Buffer.from(n);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let r=0;r<f.length;r++)this.updateKeys(f[r])}te.prototype.updateKeys=function(n){let f=this.keys;return f[0]=Re(f[0],n),f[1]+=f[0]&255,f[1]=we(f[1],134775813)+1,f[2]=Re(f[2],f[1]>>>24),n};te.prototype.next=function(){let n=(this.keys[2]|2)>>>0;return we(n,n^1)>>8&255};function $e(n){let f=new te(n);return function(r){let s=Buffer.alloc(r.length),c=0;for(let d of r)s[c++]=f.updateKeys(d^f.next());return s}}function ke(n){let f=new te(n);return function(r,s,c=0){if(!s)s=Buffer.alloc(r.length);for(let d of r){let o=f.next();s[c++]=d^o,f.updateKeys(d)}return s}}function Qe(n,f,r){if(!n||!Buffer.isBuffer(n)||n.length<12)return Buffer.alloc(0);let s=$e(r),c=s(n.slice(0,12)),d=(f.flags&8)===8?f.timeHighByte:f.crc>>>24;if(c[11]!==d)throw xe.WRONG_PASSWORD();return s(n.slice(12))}function et(n){if(Buffer.isBuffer(n)&&n.length>=12)ee.genSalt=function(){return n.slice(0,12)};else if(n==="node")ee.genSalt=J.node;else ee.genSalt=J}function tt(n,f,r,s=!1){if(n==null)n=Buffer.alloc(0);if(!Buffer.isBuffer(n))n=Buffer.from(n.toString());let c=ke(r),d=ee.genSalt();if(d[11]=f.crc>>>24&255,s)d[10]=f.crc>>>16&255;let o=Buffer.alloc(n.length+12);return c(d,o),c(n,o,12)}Ue.exports={decrypt:Qe,encrypt:tt,_salter:et}});var Ze=M(function(nt){nt.Deflater=Se();nt.Inflater=Te();nt.ZipCrypto=Be()});var ie=M(function(Tt,ve){var Z=W(),st=re(),z=Z.Constants,oe=Ze();ve.exports=function(n,f){var r=new st.EntryHeader,s=Buffer.alloc(0),c=Buffer.alloc(0),d=!1,o=null,m=Buffer.alloc(0),S=Buffer.alloc(0),O=!0;let p=n,C=typeof p.decoder==="object"?p.decoder:Z.decoder;O=C.hasOwnProperty("efs")?C.efs:!1;function A(){if(!f||!(f instanceof Uint8Array))return Buffer.alloc(0);S=r.loadLocalHeaderFromBinary(f);let e=r.realDataOffset,l=e+r.compressedSize;if(e<0||l<e||l>f.length)throw Z.Errors.INVALID_LOC();return f.slice(e,l)}function F(e){let l=r.flags_desc||r.localHeader.flags_desc?r.crc:r.localHeader.crc;return Z.crc32(e)===l}function i(e,l,L){if(typeof l>"u"&&typeof e==="string")L=e,e=void 0;if(d){if(e&&l)l(Buffer.alloc(0),Z.Errors.DIRECTORY_CONTENT_ERROR());return Buffer.alloc(0)}var g;try{if(g=A(),g.length===0){if(e&&l)l(g);return g}if(r.encrypted){if(typeof L!=="string"&&!Buffer.isBuffer(L))throw Z.Errors.INVALID_PASS_PARAM();g=oe.ZipCrypto.decrypt(g,r,L)}}catch(R){if(e&&l)return l(Buffer.alloc(0),R),Buffer.alloc(0);throw R}var D;switch(r.method){case Z.Constants.STORED:if(D=Buffer.alloc(g.length),g.copy(D),!F(D)){if(e&&l)l(D,Z.Errors.BAD_CRC());throw Z.Errors.BAD_CRC()}else{if(e&&l)l(D);return D}case Z.Constants.DEFLATED:var N=new oe.Inflater(g,r.size);if(!e){if(D=N.inflate(),!F(D))throw Z.Errors.BAD_CRC(`"${C.decode(s)}"`);return D}else N.inflateAsync(function(R,w){if(!l)return;if(w)l(Buffer.alloc(0),w);else if(!F(R))l(R,Z.Errors.BAD_CRC());else l(R)});break;default:if(e&&l)l(Buffer.alloc(0),Z.Errors.UNKNOWN_METHOD());throw Z.Errors.UNKNOWN_METHOD()}}function a(e,l){if((!o||!o.length)&&Buffer.isBuffer(f)){if(e&&l)l(A());return A()}if(o.length&&!d){var L;switch(r.method){case Z.Constants.STORED:if(r.compressedSize=r.size,L=Buffer.alloc(o.length),o.copy(L),e&&l)l(L);return L;default:case Z.Constants.DEFLATED:var g=new oe.Deflater(o);if(!e){var D=g.deflate();return r.compressedSize=D.length,D}else g.deflateAsync(function(N){L=Buffer.alloc(N.length),r.compressedSize=N.length,N.copy(L),l&&l(L)});g=null;break}}else if(e&&l)l(Buffer.alloc(0));else return Buffer.alloc(0)}function u(e,l){return Z.readBigUInt64LE(e,l)}function E(e){try{var l=0,L,g,D;while(l+4<e.length)if(L=e.readUInt16LE(l),l+=2,g=e.readUInt16LE(l),l+=2,D=e.slice(l,l+g),l+=g,z.ID_ZIP64===L)h(D)}catch(N){throw Z.Errors.EXTRA_FIELD_PARSE_ERROR()}}function h(e){var l,L,g,D;if(e.length>=z.EF_ZIP64_SCOMP){if(l=u(e,z.EF_ZIP64_SUNCOMP),r.size===z.EF_ZIP64_OR_32)r.size=l}if(e.length>=z.EF_ZIP64_RHO){if(L=u(e,z.EF_ZIP64_SCOMP),r.compressedSize===z.EF_ZIP64_OR_32)r.compressedSize=L}if(e.length>=z.EF_ZIP64_DSN){if(g=u(e,z.EF_ZIP64_RHO),r.offset===z.EF_ZIP64_OR_32)r.offset=g}if(e.length>=z.EF_ZIP64_DSN+4){if(D=e.readUInt32LE(z.EF_ZIP64_DSN),r.diskNumStart===z.EF_ZIP64_OR_16)r.diskNumStart=D}}return{get entryName(){return C.decode(s)},get rawEntryName(){return s},set entryName(e){s=Z.toBuffer(e,C.encode);var l=s[s.length-1];d=l===47||l===92,r.fileNameLength=s.length},get efs(){if(typeof O==="function")return O(this.entryName);else return O},get extra(){return m},set extra(e){m=e,r.extraLength=e.length,E(e)},get comment(){return C.decode(c)},set comment(e){if(c=Z.toBuffer(e,C.encode),r.commentLength=c.length,c.length>65535)throw Z.Errors.COMMENT_TOO_LONG()},get name(){let e=C.decode(s);return d?e.replace(/[/\\]$/,"").split("/").pop():e.split("/").pop()},get isDirectory(){return d},getCompressedData:function(){return a(!1,null)},getCompressedDataAsync:function(e){a(!0,e)},setData:function(e){if(o=Z.toBuffer(e,Z.decoder.encode),!d&&o.length)r.size=o.length,r.method=Z.Constants.DEFLATED,r.crc=Z.crc32(e),r.changed=!0;else r.method=Z.Constants.STORED},getData:function(e){if(r.changed)return o;else return i(!1,null,e)},getDataAsync:function(e,l){if(r.changed)e(o);else i(!0,e,l)},set attr(e){r.attr=e},get attr(){return r.attr},set header(e){r.loadFromBinary(e)},get header(){return r},packCentralHeader:function(){r.flags_efs=this.efs,r.extraLength=m.length;var e=r.centralHeaderToBinary(),l=Z.Constants.CENHDR;return s.copy(e,l),l+=s.length,m.copy(e,l),l+=r.extraLength,c.copy(e,l),e},packLocalHeader:function(){let e=0;r.flags_efs=this.efs,r.extraLocalLength=S.length;let l=r.localHeaderToBinary(),L=Buffer.alloc(l.length+s.length+r.extraLocalLength);return l.copy(L,e),e+=l.length,s.copy(L,e),e+=s.length,S.copy(L,e),e+=S.length,L},toJSON:function(){let e=function(l){return"<"+(l&&l.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:r.toJSON(),compressedData:e(f),data:e(o)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var ze=M(function(Ft,Me){var Pe=ie(),He=re(),U=W();Me.exports=function(n,f){var r=[],s=Object.create(null),c=Buffer.alloc(0),d=new He.MainHeader,o=!1,m=null;let S=new Set,O=f,{noSort:p,decoder:C}=O;if(n)i(O.readEntries);else o=!0;function A(){let u=new Set;for(let E of Object.keys(s)){let h=E.split("/");if(h.pop(),!h.length)continue;for(let e=0;e<h.length;e++){let l=h.slice(0,e+1).join("/")+"/";u.add(l)}}for(let E of u)if(!(E in s)){let h=new Pe(O);h.entryName=E,h.attr=16,h.temporary=!0,r.push(h),s[h.entryName]=h,S.add(h)}}function F(){if(o=!0,s=Object.create(null),d.diskEntries>(n.length-d.offset)/U.Constants.CENHDR)throw U.Errors.DISK_ENTRY_TOO_LARGE();r=Array(d.diskEntries);var u=d.offset;for(var E=0;E<r.length;E++){var h=u,e=new Pe(O,n);if(e.header=n.slice(h,h+=U.Constants.CENHDR),e.entryName=n.slice(h,h+=e.header.fileNameLength),e.header.extraLength)e.extra=n.slice(h,h+=e.header.extraLength);if(e.header.commentLength)e.comment=n.slice(h,h+e.header.commentLength);if(u+=e.header.centralHeaderSize,e.entryName in s)throw U.Errors.DUPLICATE_ENTRY(`"${e.entryName}"`);r[E]=e,s[e.entryName]=e}S.clear(),A()}function i(u){var E=n.length-U.Constants.ENDHDR,h=Math.max(0,E-65535),e=h,l=n.length,L=-1,g=0;if(typeof O.trailingSpace==="boolean"?O.trailingSpace:!1)h=0;for(E;E>=e;E--){if(n[E]!==80)continue;if(n.readUInt32LE(E)===U.Constants.ENDSIG){L=E,g=E,l=E+U.Constants.ENDHDR,e=E-U.Constants.END64HDR;continue}if(n.readUInt32LE(E)===U.Constants.END64SIG){e=h;continue}if(n.readUInt32LE(E)===U.Constants.ZIP64SIG){L=E,l=E+U.readBigUInt64LE(n,E+U.Constants.ZIP64SIZE)+U.Constants.ZIP64LEAD;break}}if(L==-1)throw U.Errors.INVALID_FORMAT();if(d.loadFromBinary(n.slice(L,l)),d.commentLength)c=n.slice(g+U.Constants.ENDHDR);if(u)F()}function a(){if(r.length>1&&!p)r=r.map((u)=>({entry:u,key:u.entryName.toLowerCase()})).sort((u,E)=>u.key.localeCompare(E.key)).map((u)=>u.entry)}return{get entries(){if(!o)F();return r.filter((u)=>!S.has(u))},get comment(){return C.decode(c)},set comment(u){c=U.toBuffer(u,C.encode),d.commentLength=c.length},getEntryCount:function(){if(!o)return d.diskEntries;return r.length},forEach:function(u){this.entries.forEach(u)},getEntry:function(u){if(!o)F();return s[u]||null},setEntry:function(u){if(!o)F();r.push(u),s[u.entryName]=u,d.totalEntries=r.length},deleteFile:function(u,E=!0){if(!o)F();let h=s[u];this.getEntryChildren(h,E).map((l)=>l.entryName).forEach(this.deleteEntry)},deleteEntry:function(u){if(!o)F();let E=s[u],h=r.indexOf(E);if(h>=0)r.splice(h,1),delete s[u],d.totalEntries=r.length},getEntryChildren:function(u,E=!0){if(!o)F();if(typeof u==="object")if(u.isDirectory&&E){let h=[],e=u.entryName;for(let l of r)if(l.entryName.startsWith(e))h.push(l);return h}else return[u];return[]},getChildCount:function(u){if(u&&u.isDirectory){let E=this.getEntryChildren(u);return E.includes(u)?E.length-1:E.length}return 0},compressToBuffer:function(){if(!o)F();a();let u=[],E=[],h=0,e=0;d.size=0,d.offset=0;let l=0;for(let D of this.entries){let N=D.getCompressedData();D.header.offset=e;let R=D.packLocalHeader(),w=R.length+N.length;e+=w,u.push(R),u.push(N);let B=D.packCentralHeader();E.push(B),d.size+=B.length,h+=w+B.length,l++}h+=d.mainHeaderSize,d.offset=e,d.totalEntries=l,e=0;let L=Buffer.alloc(h);for(let D of u)D.copy(L,e),e+=D.length;for(let D of E)D.copy(L,e),e+=D.length;let g=d.toBinary();if(c)c.copy(g,g.length-c.length);return g.copy(L,e),n=L,o=!1,L},toAsyncBuffer:function(u,E,h,e){try{if(!o)F();a();let l=[],L=[],g=0,D=0,N=0;d.size=0,d.offset=0;let R=function(w){if(w.length>0){let B=w.shift(),P=B.entryName+B.extra.toString();if(h)h(P);B.getCompressedDataAsync(function(H){if(e)e(P);B.header.offset=D;let j=B.packLocalHeader(),k=j.length+H.length;D+=k,l.push(j),l.push(H);let K=B.packCentralHeader();L.push(K),d.size+=K.length,g+=k+K.length,N++,R(w)})}else{g+=d.mainHeaderSize,d.offset=D,d.totalEntries=N,D=0;let B=Buffer.alloc(g);l.forEach(function(H){H.copy(B,D),D+=H.length}),L.forEach(function(H){H.copy(B,D),D+=H.length});let P=d.toBinary();if(c)c.copy(P,P.length-c.length);P.copy(B,D),n=B,o=!1,u(B)}};R(Array.from(this.entries))}catch(l){E(l)}}}}});var Fd=M(function(Rt,Ve){var x=W(),T=Pt("path"),ft=ie(),ct=ze(),q=(...n)=>x.findLast(n,(f)=>typeof f==="boolean"),Ge=(...n)=>x.findLast(n,(f)=>typeof f==="string"),at=(...n)=>x.findLast(n,(f)=>typeof f==="function"),ut={noSort:!1,readEntries:!1,method:x.Constants.NONE,fs:null};Ve.exports=function(n,f){let r=null,s=Object.assign(Object.create(null),ut);if(n&&typeof n==="object"){if(!(n instanceof Uint8Array)){if(Object.assign(s,n),n=s.input?s.input:void 0,s.input)delete s.input}if(Buffer.isBuffer(n))r=n,s.method=x.Constants.BUFFER,n=void 0}Object.assign(s,f);let c=new x(s),d=(i)=>{i.filter((a)=>a.attr).sort((a,u)=>u.path.length-a.path.length).forEach((a)=>c.fs.chmodSync(a.path,a.attr))};if(typeof s.decoder!=="object"||typeof s.decoder.encode!=="function"||typeof s.decoder.decode!=="function")s.decoder=x.decoder;if(n&&typeof n==="string")if(c.fs.existsSync(n))s.method=x.Constants.FILE,s.filename=n,r=c.fs.readFileSync(n);else throw x.Errors.INVALID_FILENAME();let o=new ct(r,s),{canonical:m,sanitize:S,zipnamefix:O}=x;function p(i){if(i&&o){var a;if(typeof i==="string")a=o.getEntry(T.posix.normalize(i));if(typeof i==="object"&&typeof i.entryName<"u"&&typeof i.header<"u")a=o.getEntry(i.entryName);if(a)return a}return null}function C(i){let{join:a,normalize:u,sep:E}=T.posix;return a(T.isAbsolute(i)?"/":".",u(E+i.split("\\").join(E)+E))}function A(i){if(i instanceof RegExp)return function(a){return function(u){return a.test(u)}}(i);else if(typeof i!=="function")return()=>!0;return i}let F=(i,a)=>{let u=a.slice(-1);return u=u===c.sep?c.sep:"",T.relative(i,a)+u};return{readFile:function(i,a){var u=p(i);return u&&u.getData(a)||null},childCount:function(i){let a=p(i);if(a)return o.getChildCount(a)},readFileAsync:function(i,a){var u=p(i);if(u)u.getDataAsync(a);else a(null,"getEntry failed for:"+i)},readAsText:function(i,a){var u=p(i);if(u){var E=u.getData();if(E&&E.length)return E.toString(a||"utf8")}return""},readAsTextAsync:function(i,a,u){var E=p(i);if(E)E.getDataAsync(function(h,e){if(e){a(h,e);return}if(h&&h.length)a(h.toString(u||"utf8"));else a("")});else a("")},deleteFile:function(i,a=!0){var u=p(i);if(u)o.deleteFile(u.entryName,a)},deleteEntry:function(i){var a=p(i);if(a)o.deleteEntry(a.entryName)},addZipComment:function(i){o.comment=i},getZipComment:function(){return o.comment||""},addZipEntryComment:function(i,a){var u=p(i);if(u)u.comment=a},getZipEntryComment:function(i){var a=p(i);if(a)return a.comment||"";return""},updateFile:function(i,a){var u=p(i);if(u)u.setData(a)},addLocalFile:function(i,a,u,E){if(c.fs.existsSync(i)){a=a?C(a):"";let h=T.win32.basename(T.win32.normalize(i));a+=u?u:h;let e=c.fs.statSync(i),l=e.isFile()?c.fs.readFileSync(i):Buffer.alloc(0);if(e.isDirectory())a+=c.sep;this.addFile(a,l,E,e)}else throw x.Errors.FILE_NOT_FOUND(i)},addLocalFileAsync:function(i,a){i=typeof i==="object"?i:{localPath:i};let u=T.resolve(i.localPath),{comment:E}=i,{zipPath:h,zipName:e}=i,l=this;c.fs.stat(u,function(L,g){if(L)return a(L,!1);h=h?C(h):"";let D=T.win32.basename(T.win32.normalize(u));if(h+=e?e:D,g.isFile())c.fs.readFile(u,function(N,R){if(N)return a(N,!1);return l.addFile(h,R,E,g),setImmediate(a,void 0,!0)});else if(g.isDirectory())return h+=c.sep,l.addFile(h,Buffer.alloc(0),E,g),setImmediate(a,void 0,!0)})},addLocalFolder:function(i,a,u){if(u=A(u),a=a?C(a):"",i=T.normalize(i),c.fs.existsSync(i)){let E=c.findFiles(i),h=this;if(E.length)for(let e of E){let l=T.join(a,F(i,e));if(u(l))h.addLocalFile(e,T.dirname(l))}}else throw x.Errors.FILE_NOT_FOUND(i)},addLocalFolderAsync:function(i,a,u,E){E=A(E),u=u?C(u):"",i=T.normalize(i);var h=this;c.fs.open(i,"r",function(e){if(e&&e.code==="ENOENT")a(void 0,x.Errors.FILE_NOT_FOUND(i));else if(e)a(void 0,e);else{var l=c.findFiles(i),L=-1,g=function(){if(L+=1,L<l.length){var D=l[L],N=F(i,D).split("\\").join("/");if(N=N.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),E(N))c.fs.stat(D,function(R,w){if(R)a(void 0,R);if(w.isFile())c.fs.readFile(D,function(B,P){if(B)a(void 0,B);else h.addFile(u+N,P,"",w),g()});else h.addFile(u+N+"/",Buffer.alloc(0),"",w),g()});else process.nextTick(()=>{g()})}else a(!0,void 0)};g()}})},addLocalFolderAsync2:function(i,a){let u=this;i=typeof i==="object"?i:{localPath:i};let E=T.resolve(i.localPath),{zipPath:h,filter:e,namefix:l}=i;if(e instanceof RegExp)e=function(D){return function(N){return D.test(N)}}(e);else if(typeof e!=="function")e=function(){return!0};if(h=h?C(h):"",l==="latin1")l=(D)=>D.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"");if(typeof l!=="function")l=(D)=>D;let L=(D)=>T.join(h,l(F(E,D))),g=(D)=>T.win32.basename(T.win32.normalize(l(D)));c.fs.open(E,"r",function(D){if(D&&D.code==="ENOENT")a(x.Errors.FILE_NOT_FOUND(E),!1);else if(D)a(D,!1);else c.findFilesAsync(E,function(N,R){if(N)return a(N,!1);if(R=R.filter((w)=>e(L(w))),!R.length)return a(void 0,!0);setImmediate(R.reverse().reduce(function(w,B){return function(P,H){if(P||H===!1)return setImmediate(w,P,!1);u.addLocalFileAsync({localPath:B,zipPath:T.dirname(L(B)),zipName:g(B)},w)}},a))})})},addLocalFolderPromise:function(i,a){return new Promise((u,E)=>{this.addLocalFolderAsync2(Object.assign({localPath:i},a),(h,e)=>{if(h)return E(h);if(e)u(this)})})},addFile:function(i,a,u,E){i=O(i);let h=p(i),e=h!=null;if(!e)h=new ft(s),h.entryName=i;h.comment=u||"";let l=typeof E==="object"&&E instanceof c.fs.Stats;if(l)h.header.time=E.mtime;var L=h.isDirectory?16:0;let g=h.isDirectory?16384:32768;if(l)g|=4095&E.mode;else if(typeof E==="number")g|=4095&E;else g|=h.isDirectory?493:420;if(L=(L|g<<16)>>>0,h.attr=L,h.setData(a),!e)o.setEntry(h);return h},getEntries:function(i){return o.password=i,o?o.entries:[]},getEntry:function(i){return p(i)},getEntryCount:function(){return o.getEntryCount()},forEach:function(i){return o.forEach(i)},extractEntryTo:function(i,a,u,E,h,e){E=q(!1,E),h=q(!1,h),u=q(!0,u),e=Ge(h,e);var l=p(i);if(!l)throw x.Errors.NO_ENTRY();var L=m(l.entryName),g=S(a,e&&!l.isDirectory?m(e):u?L:T.basename(L));if(l.isDirectory){var D=o.getEntryChildren(l);return D.forEach(function(w){if(w.isDirectory)return;var B=w.getData();if(!B)throw x.Errors.CANT_EXTRACT_FILE();var P=m(u?w.entryName:w.entryName.substring(l.entryName.length)),H=S(a,P);c.assertPathSafe(a,H);let j=h?w.header.fileAttr:void 0;c.writeFileTo(H,B,E,j)}),!0}var N=l.getData(o.password);if(!N)throw x.Errors.CANT_EXTRACT_FILE();if(c.assertPathSafe(a,g),c.fs.existsSync(g)&&!E)throw x.Errors.CANT_OVERRIDE();let R=h?i.header.fileAttr:void 0;return c.writeFileTo(g,N,E,R),!0},test:function(i){if(!o)return!1;for(var a of o.entries)try{if(a.isDirectory)continue;var u=a.getData(i);if(!u)return!1}catch(E){return!1}return!0},extractAllTo:function(i,a,u,E){if(u=q(!1,u),E=Ge(u,E),a=q(!1,a),!o)throw x.Errors.NO_ZIP();let h=[];o.entries.forEach(function(e){var l=S(i,m(e.entryName));if(c.assertPathSafe(i,l),e.isDirectory){if(c.makeDir(l),u)h.push({path:l,attr:e.header.fileAttr});return}var L=e.getData(E);if(!L)throw x.Errors.CANT_EXTRACT_FILE();let g=u?e.header.fileAttr:void 0;c.writeFileTo(l,L,a,g);try{c.fs.utimesSync(l,e.header.time,e.header.time)}catch(D){}}),d(h)},extractAllToAsync:function(i,a,u,E){if(E=at(a,u,E),u=q(!1,u),a=q(!1,a),!E)return new Promise((N,R)=>{this.extractAllToAsync(i,a,u,function(w){if(w)R(w);else N(this)})});if(!o){E(x.Errors.NO_ZIP());return}i=T.resolve(i);let h=(N)=>S(i,T.normalize(m(N.entryName))),e=(N,R)=>Error(N+': "'+R+'"'),l=[],L=[];o.entries.forEach((N)=>{if(N.isDirectory)l.push(N);else L.push(N)});let g=[];for(let N of l){let R=h(N),w=u?N.header.fileAttr:void 0;try{c.assertPathSafe(i,R),c.makeDir(R)}catch(B){E(e("Unable to create folder",R));continue}if(w)g.push({path:R,attr:w});try{c.fs.utimesSync(R,N.header.time,N.header.time)}catch(B){}}let D=(N)=>{if(!N)try{d(g)}catch(R){return E(e("Unable to set folder permissions",R.path||""))}E(N)};L.reverse().reduce(function(N,R){return function(w){if(w)N(w);else{let B=T.normalize(m(R.entryName)),P=S(i,B);try{c.assertPathSafe(i,P)}catch(H){return N(H)}R.getDataAsync(function(H,j){if(j)N(j);else if(!H)N(x.Errors.CANT_EXTRACT_FILE());else{let k=u?R.header.fileAttr:void 0;c.writeFileToAsync(P,H,a,k,function(K){if(!K)return N(e("Unable to write file",P));c.fs.utimes(P,R.header.time,R.header.time,function(){N()})})}})}}},D)()},writeZip:function(i,a){if(arguments.length===1){if(typeof i==="function")a=i,i=""}if(!i&&s.filename)i=s.filename;if(!i)return;var u=o.compressToBuffer();if(u){var E=c.writeFileTo(i,u,!0);if(typeof a==="function")a(!E?Error("failed"):null,"")}},writeZipPromise:function(i,a){let{overwrite:u,perm:E}=Object.assign({overwrite:!0},a);return new Promise((h,e)=>{if(!i&&s.filename)i=s.filename;if(!i)e("ADM-ZIP: ZIP File Name Missing");this.toBufferPromise().then((l)=>{let L=(g)=>g?h(g):e("ADM-ZIP: Wasn't able to write zip file");c.writeFileToAsync(i,l,u,E,L)},e)})},toBufferPromise:function(){return new Promise((i,a)=>{o.toAsyncBuffer(i,a)})},toBuffer:function(i,a,u,E){if(typeof i==="function")return o.toAsyncBuffer(i,a,u,E),null;return o.compressToBuffer()}}}});import*as fe from"path";import*as se from"path";function Hc(n,f,r={}){let s=r.paths??se,c=s.resolve(n),d=s.resolve(c,f),o=s.relative(c,d);if(o==="")return r.allowEqual??!0;return!(o===".."||o.startsWith(`..${s.sep}`)||s.isAbsolute(o))}function jae(n,f,r,s={}){if(!Hc(n,f,s))throw r();let c=s.paths??se;return c.resolve(c.resolve(n),f)}function CU(n,f,r="CtrlProxy bundle"){let s=fe.resolve(f);for(let c of n.getEntries())if(!Hc(s,c.entryName))throw new t(`Refusing to extract ${r}: entry "${c.entryName}" resolves outside the extraction directory ${s} (zip-slip / path traversal).`)}
3
+ export{Fd,Hc,jae,CU};
4
4
 
5
- //# debugId=BA25EC09B3A1132664756E2164756E21
5
+ //# debugId=8D9F43B7AE02C72764756E2164756E21
@@ -0,0 +1,4 @@
1
+ // @bun
2
+ import{uU,mce,_e,zO,J9,X9,Z9,Q9,Gp}from"./chunk-r6pvhj33.js";import"./chunk-r0vp315h.js";import"./chunk-5wk1t46v.js";export{mce as DATABASE_STARTUP_MIGRATION_FAILURE,uU as SQLITE_BUSY_TIMEOUT_MS,X9 as awaitInFlightMigrations,Q9 as closeDatabase,zO as ensureMigrations,_e as getDatabase,Gp as getDatabasePath,J9 as getMigrationsError,Z9 as refusedDatabaseAccessCountAfterShutdownClose};
3
+
4
+ //# debugId=82AA1369F01FD6C864756E2164756E21
@@ -0,0 +1,4 @@
1
+ // @bun
2
+ import{kt}from"./chunk-r6pvhj33.js";import"./chunk-r0vp315h.js";import"./chunk-5wk1t46v.js";export{kt as defaultLockOwnerGenerationProbe};
3
+
4
+ //# debugId=AD3CC0EABBE089B364756E2164756E21
@@ -0,0 +1,4 @@
1
+ // @bun
2
+ import{Z5,Cv,Dv,yt,zV,Q5}from"./chunk-kh5n7m6w.js";export{Z5 as child_process,Cv as crypto,Dv as fs,yt as path,zV as stream,Q5 as util};
3
+
4
+ //# debugId=25B2DC860F1C2E6A64756E2164756E21
@@ -0,0 +1,4 @@
1
+ // @bun
2
+ import{jM,H1}from"./chunk-r4j43b9s.js";import"./chunk-6hrj3jt6.js";import"./chunk-cqhw4yr6.js";import"./chunk-e0870khr.js";import"./chunk-4vxeq0vd.js";import"./chunk-9xgnrv5w.js";import"./chunk-69pmjdf2.js";import"./chunk-sfqe223f.js";import"./chunk-r6pvhj33.js";import"./chunk-w5yypt53.js";import"./chunk-aewdveet.js";import"./chunk-r0vp315h.js";import"./chunk-5wk1t46v.js";export{H1 as describeDefaultAppFileProviderCoverage,jM as getAppFileService};
3
+
4
+ //# debugId=26B7E0315D74FA9C64756E2164756E21
@@ -0,0 +1,4 @@
1
+ // @bun
2
+ import{ace,cX}from"./chunk-r4j43b9s.js";import"./chunk-3h5jz1vb.js";import"./chunk-hpzxdp1k.js";import"./chunk-tx4f0h9c.js";import"./chunk-8nj68t1v.js";import"./chunk-yqfz4vts.js";import"./chunk-jvstjnqm.js";import"./chunk-xezekwwn.js";import"./chunk-z8tvs8nk.js";import"./chunk-xn9m3xc2.js";import"./chunk-sqdrxjw5.js";import"./chunk-pf282r5g.js";import"./chunk-6hrj3jt6.js";import"./chunk-c27yv1dx.js";import"./chunk-cqhw4yr6.js";import"./chunk-vdqag3fj.js";import"./chunk-e0870khr.js";import"./chunk-4vxeq0vd.js";import"./chunk-9xgnrv5w.js";import"./chunk-cb1ga9rd.js";import"./chunk-sfqe223f.js";import"./chunk-r6pvhj33.js";import"./chunk-w5yypt53.js";import"./chunk-aewdveet.js";import"./chunk-r0vp315h.js";import"./chunk-5wk1t46v.js";export{ace as formatConsoleOutput,cX as runDoctor};
3
+
4
+ //# debugId=7F5B4F726388CFC264756E2164756E21
@@ -1,8 +1,8 @@
1
1
  // @bun
2
- import{Vu,CP,yG}from"./chunk-11m8wj8j.js";import{GF}from"./chunk-vy3bwm1d.js";import{Nt}from"./chunk-qcxzr2my.js";import st from"path";var K=1024,at=/^[0-9a-f]{64}$/;function J(u){if(!URL.canParse(u))return"url must be an absolute https URL";let c=new URL(u);if(c.protocol!=="https:")return"url must use https; ProtoViewer refuses any other scheme";if(c.username!==""||c.password!=="")return"url must not carry credentials; anyone who scans the QR would receive them";if(c.hash!=="")return"url must not have a #fragment; it is never sent to the host";return}function W(u,c){if(!at.test(c))throw Error("sha256 must be 64 lowercase hex characters");return`automobile-proto://import?url=${encodeURIComponent(u)}&sha256=${c}`}var V=function(u,c){let i=u,a=U[c],e=null,t=0,s=null,y=[],b={},p=function(o,h){if(t=i*4+17,e=function(n){let l=Array(n);for(let f=0;f<n;f+=1){l[f]=Array(n);for(let w=0;w<n;w+=1)l[f][w]=null}return l}(t),d(0,0),d(t-7,0),d(0,t-7),T(),R(),L(o,h),i>=7)C(o);if(s==null)s=ft(i,a,y);D(s,h)},d=function(o,h){for(let n=-1;n<=7;n+=1){if(o+n<=-1||t<=o+n)continue;for(let l=-1;l<=7;l+=1){if(h+l<=-1||t<=h+l)continue;if(0<=n&&n<=6&&(l==0||l==6)||0<=l&&l<=6&&(n==0||n==6)||2<=n&&n<=4&&2<=l&&l<=4)e[o+n][h+l]=!0;else e[o+n][h+l]=!1}}},P=function(){let o=0,h=0;for(let n=0;n<8;n+=1){p(!0,n);let l=N.getLostPoint(b);if(n==0||o>l)o=l,h=n}return h},R=function(){for(let o=8;o<t-8;o+=1){if(e[o][6]!=null)continue;e[o][6]=o%2==0}for(let o=8;o<t-8;o+=1){if(e[6][o]!=null)continue;e[6][o]=o%2==0}},T=function(){let o=N.getPatternPosition(i);for(let h=0;h<o.length;h+=1)for(let n=0;n<o.length;n+=1){let l=o[h],f=o[n];if(e[l][f]!=null)continue;for(let w=-2;w<=2;w+=1)for(let x=-2;x<=2;x+=1)if(w==-2||w==2||x==-2||x==2||w==0&&x==0)e[l+w][f+x]=!0;else e[l+w][f+x]=!1}},C=function(o){let h=N.getBCHTypeNumber(i);for(let n=0;n<18;n+=1){let l=!o&&(h>>n&1)==1;e[Math.floor(n/3)][n%3+t-8-3]=l}for(let n=0;n<18;n+=1){let l=!o&&(h>>n&1)==1;e[n%3+t-8-3][Math.floor(n/3)]=l}},L=function(o,h){let n=a<<3|h,l=N.getBCHTypeInfo(n);for(let f=0;f<15;f+=1){let w=!o&&(l>>f&1)==1;if(f<6)e[f][8]=w;else if(f<8)e[f+1][8]=w;else e[t-15+f][8]=w}for(let f=0;f<15;f+=1){let w=!o&&(l>>f&1)==1;if(f<8)e[8][t-f-1]=w;else if(f<9)e[8][15-f-1+1]=w;else e[8][15-f-1]=w}e[t-8][8]=!o},D=function(o,h){let n=-1,l=t-1,f=7,w=0,x=N.getMaskFunction(h);for(let A=t-1;A>0;A-=2){if(A==6)A-=1;while(!0){for(let m=0;m<2;m+=1)if(e[l][A-m]==null){let M=!1;if(w<o.length)M=(o[w]>>>f&1)==1;if(x(l,A-m))M=!M;if(e[l][A-m]=M,f-=1,f==-1)w+=1,f=7}if(l+=n,l<0||t<=l){l-=n,n=-n;break}}}},ut=function(o,h){let n=0,l=0,f=0,w=Array(h.length),x=Array(h.length);for(let _=0;_<h.length;_+=1){let B=h[_].dataCount,E=h[_].totalCount-B;l=Math.max(l,B),f=Math.max(f,E),w[_]=Array(B);for(let I=0;I<w[_].length;I+=1)w[_][I]=255&o.getBuffer()[I+n];n+=B;let G=N.getErrorCorrectPolynomial(E),X=Q(w[_],G.getLength()-1).mod(G);x[_]=Array(G.getLength()-1);for(let I=0;I<x[_].length;I+=1){let q=I+X.getLength()-x[_].length;x[_][I]=q>=0?X.getAt(q):0}}let A=0;for(let _=0;_<h.length;_+=1)A+=h[_].totalCount;let m=Array(A),M=0;for(let _=0;_<l;_+=1)for(let B=0;B<h.length;B+=1)if(_<w[B].length)m[M]=w[B][_],M+=1;for(let _=0;_<f;_+=1)for(let B=0;B<h.length;B+=1)if(_<x[B].length)m[M]=x[B][_],M+=1;return m},ft=function(o,h,n){let l=Z.getRSBlocks(o,h),f=z();for(let x=0;x<n.length;x+=1){let A=n[x];f.put(A.getMode(),4),f.put(A.getLength(),N.getLengthInBits(A.getMode(),o)),A.write(f)}let w=0;for(let x=0;x<l.length;x+=1)w+=l[x].dataCount;if(f.getLengthInBits()>w*8)throw"code length overflow. ("+f.getLengthInBits()+">"+w*8+")";if(f.getLengthInBits()+4<=w*8)f.put(0,4);while(f.getLengthInBits()%8!=0)f.putBit(!1);while(!0){if(f.getLengthInBits()>=w*8)break;if(f.put(236,8),f.getLengthInBits()>=w*8)break;f.put(17,8)}return ut(f,l)};b.addData=function(o,h){h=h||"Byte";let n=null;switch(h){case"Numeric":n=lt(o);break;case"Alphanumeric":n=ht(o);break;case"Byte":n=gt(o);break;case"Kanji":n=dt(o);break;default:throw"mode:"+h}y.push(n),s=null},b.isDark=function(o,h){if(o<0||t<=o||h<0||t<=h)throw o+","+h;return e[o][h]},b.getModuleCount=function(){return t},b.make=function(){if(i<1){let o=1;for(;o<40;o++){let h=Z.getRSBlocks(o,a),n=z();for(let f=0;f<y.length;f++){let w=y[f];n.put(w.getMode(),4),n.put(w.getLength(),N.getLengthInBits(w.getMode(),o)),w.write(n)}let l=0;for(let f=0;f<h.length;f++)l+=h[f].dataCount;if(n.getLengthInBits()<=l*8)break}i=o}p(!1,P())},b.createTableTag=function(o,h){o=o||2,h=typeof h>"u"?o*4:h;let n="";n+='<table style="',n+=" border-width: 0px; border-style: none;",n+=" border-collapse: collapse;",n+=" padding: 0px; margin: "+h+"px;",n+='">',n+="<tbody>";for(let l=0;l<b.getModuleCount();l+=1){n+="<tr>";for(let f=0;f<b.getModuleCount();f+=1)n+='<td style="',n+=" border-width: 0px; border-style: none;",n+=" border-collapse: collapse;",n+=" padding: 0px; margin: 0px;",n+=" width: "+o+"px;",n+=" height: "+o+"px;",n+=" background-color: ",n+=b.isDark(l,f)?"#000000":"#ffffff",n+=";",n+='"/>';n+="</tr>"}return n+="</tbody>",n+="</table>",n},b.createSvgTag=function(o,h,n,l){let f={};if(typeof arguments[0]=="object")f=arguments[0],o=f.cellSize,h=f.margin,n=f.alt,l=f.title;o=o||2,h=typeof h>"u"?o*4:h,n=typeof n==="string"?{text:n}:n||{},n.text=n.text||null,n.id=n.text?n.id||"qrcode-description":null,l=typeof l==="string"?{text:l}:l||{},l.text=l.text||null,l.id=l.text?l.id||"qrcode-title":null;let w=b.getModuleCount()*o+h*2,x,A,m,M,_="",B;B="l"+o+",0 0,"+o+" -"+o+",0 0,-"+o+"z ",_+='<svg version="1.1" xmlns="http://www.w3.org/2000/svg"',_+=!f.scalable?' width="'+w+'px" height="'+w+'px"':"",_+=' viewBox="0 0 '+w+" "+w+'" ',_+=' preserveAspectRatio="xMinYMin meet"',_+=l.text||n.text?' role="img" aria-labelledby="'+v([l.id,n.id].join(" ").trim())+'"':"",_+=">",_+=l.text?'<title id="'+v(l.id)+'">'+v(l.text)+"</title>":"",_+=n.text?'<description id="'+v(n.id)+'">'+v(n.text)+"</description>":"",_+='<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>',_+='<path d="';for(m=0;m<b.getModuleCount();m+=1){M=m*o+h;for(x=0;x<b.getModuleCount();x+=1)if(b.isDark(m,x))A=x*o+h,_+="M"+A+","+M+B}return _+='" stroke="transparent" fill="black"/>',_+="</svg>",_},b.createDataURL=function(o,h){o=o||2,h=typeof h>"u"?o*4:h;let n=b.getModuleCount()*o+h*2,l=h,f=n-h;return bt(n,n,function(w,x){if(l<=w&&w<f&&l<=x&&x<f){let A=Math.floor((w-l)/o),m=Math.floor((x-l)/o);return b.isDark(m,A)?0:1}else return 1})},b.createImgTag=function(o,h,n){o=o||2,h=typeof h>"u"?o*4:h;let l=b.getModuleCount()*o+h*2,f="";if(f+="<img",f+=' src="',f+=b.createDataURL(o,h),f+='"',f+=' width="',f+=l,f+='"',f+=' height="',f+=l,f+='"',n)f+=' alt="',f+=v(n),f+='"';return f+="/>",f};let v=function(o){let h="";for(let n=0;n<o.length;n+=1){let l=o.charAt(n);switch(l){case"<":h+="&lt;";break;case">":h+="&gt;";break;case"&":h+="&amp;";break;case'"':h+="&quot;";break;default:h+=l;break}}return h},ct=function(o){o=typeof o>"u"?2:o;let n=b.getModuleCount()*1+o*2,l=o,f=n-o,w,x,A,m,M,_={"\u2588\u2588":"\u2588","\u2588 ":"\u2580"," \u2588":"\u2584"," ":" "},B={"\u2588\u2588":"\u2580","\u2588 ":"\u2580"," \u2588":" "," ":" "},E="";for(w=0;w<n;w+=2){A=Math.floor((w-l)/1),m=Math.floor((w+1-l)/1);for(x=0;x<n;x+=1){if(M="\u2588",l<=x&&x<f&&l<=w&&w<f&&b.isDark(A,Math.floor((x-l)/1)))M=" ";if(l<=x&&x<f&&l<=w+1&&w+1<f&&b.isDark(m,Math.floor((x-l)/1)))M+=" ";else M+="\u2588";E+=o<1&&w+1>=f?B[M]:_[M]}E+=`
2
+ import{rp,JP,BG}from"./chunk-r4j43b9s.js";import{aL}from"./chunk-661c50hh.js";import{Ft}from"./chunk-j69g8b50.js";import st from"path";var K=1024,at=/^[0-9a-f]{64}$/;function J(u){if(!URL.canParse(u))return"url must be an absolute https URL";let c=new URL(u);if(c.protocol!=="https:")return"url must use https; ProtoViewer refuses any other scheme";if(c.username!==""||c.password!=="")return"url must not carry credentials; anyone who scans the QR would receive them";if(c.hash!=="")return"url must not have a #fragment; it is never sent to the host";return}function W(u,c){if(!at.test(c))throw Error("sha256 must be 64 lowercase hex characters");return`automobile-proto://import?url=${encodeURIComponent(u)}&sha256=${c}`}var V=function(u,c){let i=u,a=U[c],e=null,t=0,s=null,y=[],b={},p=function(o,h){if(t=i*4+17,e=function(n){let l=Array(n);for(let f=0;f<n;f+=1){l[f]=Array(n);for(let w=0;w<n;w+=1)l[f][w]=null}return l}(t),d(0,0),d(t-7,0),d(0,t-7),T(),R(),L(o,h),i>=7)C(o);if(s==null)s=ft(i,a,y);D(s,h)},d=function(o,h){for(let n=-1;n<=7;n+=1){if(o+n<=-1||t<=o+n)continue;for(let l=-1;l<=7;l+=1){if(h+l<=-1||t<=h+l)continue;if(0<=n&&n<=6&&(l==0||l==6)||0<=l&&l<=6&&(n==0||n==6)||2<=n&&n<=4&&2<=l&&l<=4)e[o+n][h+l]=!0;else e[o+n][h+l]=!1}}},P=function(){let o=0,h=0;for(let n=0;n<8;n+=1){p(!0,n);let l=N.getLostPoint(b);if(n==0||o>l)o=l,h=n}return h},R=function(){for(let o=8;o<t-8;o+=1){if(e[o][6]!=null)continue;e[o][6]=o%2==0}for(let o=8;o<t-8;o+=1){if(e[6][o]!=null)continue;e[6][o]=o%2==0}},T=function(){let o=N.getPatternPosition(i);for(let h=0;h<o.length;h+=1)for(let n=0;n<o.length;n+=1){let l=o[h],f=o[n];if(e[l][f]!=null)continue;for(let w=-2;w<=2;w+=1)for(let x=-2;x<=2;x+=1)if(w==-2||w==2||x==-2||x==2||w==0&&x==0)e[l+w][f+x]=!0;else e[l+w][f+x]=!1}},C=function(o){let h=N.getBCHTypeNumber(i);for(let n=0;n<18;n+=1){let l=!o&&(h>>n&1)==1;e[Math.floor(n/3)][n%3+t-8-3]=l}for(let n=0;n<18;n+=1){let l=!o&&(h>>n&1)==1;e[n%3+t-8-3][Math.floor(n/3)]=l}},L=function(o,h){let n=a<<3|h,l=N.getBCHTypeInfo(n);for(let f=0;f<15;f+=1){let w=!o&&(l>>f&1)==1;if(f<6)e[f][8]=w;else if(f<8)e[f+1][8]=w;else e[t-15+f][8]=w}for(let f=0;f<15;f+=1){let w=!o&&(l>>f&1)==1;if(f<8)e[8][t-f-1]=w;else if(f<9)e[8][15-f-1+1]=w;else e[8][15-f-1]=w}e[t-8][8]=!o},D=function(o,h){let n=-1,l=t-1,f=7,w=0,x=N.getMaskFunction(h);for(let A=t-1;A>0;A-=2){if(A==6)A-=1;while(!0){for(let m=0;m<2;m+=1)if(e[l][A-m]==null){let M=!1;if(w<o.length)M=(o[w]>>>f&1)==1;if(x(l,A-m))M=!M;if(e[l][A-m]=M,f-=1,f==-1)w+=1,f=7}if(l+=n,l<0||t<=l){l-=n,n=-n;break}}}},ut=function(o,h){let n=0,l=0,f=0,w=Array(h.length),x=Array(h.length);for(let _=0;_<h.length;_+=1){let B=h[_].dataCount,E=h[_].totalCount-B;l=Math.max(l,B),f=Math.max(f,E),w[_]=Array(B);for(let I=0;I<w[_].length;I+=1)w[_][I]=255&o.getBuffer()[I+n];n+=B;let G=N.getErrorCorrectPolynomial(E),X=Q(w[_],G.getLength()-1).mod(G);x[_]=Array(G.getLength()-1);for(let I=0;I<x[_].length;I+=1){let q=I+X.getLength()-x[_].length;x[_][I]=q>=0?X.getAt(q):0}}let A=0;for(let _=0;_<h.length;_+=1)A+=h[_].totalCount;let m=Array(A),M=0;for(let _=0;_<l;_+=1)for(let B=0;B<h.length;B+=1)if(_<w[B].length)m[M]=w[B][_],M+=1;for(let _=0;_<f;_+=1)for(let B=0;B<h.length;B+=1)if(_<x[B].length)m[M]=x[B][_],M+=1;return m},ft=function(o,h,n){let l=Z.getRSBlocks(o,h),f=z();for(let x=0;x<n.length;x+=1){let A=n[x];f.put(A.getMode(),4),f.put(A.getLength(),N.getLengthInBits(A.getMode(),o)),A.write(f)}let w=0;for(let x=0;x<l.length;x+=1)w+=l[x].dataCount;if(f.getLengthInBits()>w*8)throw"code length overflow. ("+f.getLengthInBits()+">"+w*8+")";if(f.getLengthInBits()+4<=w*8)f.put(0,4);while(f.getLengthInBits()%8!=0)f.putBit(!1);while(!0){if(f.getLengthInBits()>=w*8)break;if(f.put(236,8),f.getLengthInBits()>=w*8)break;f.put(17,8)}return ut(f,l)};b.addData=function(o,h){h=h||"Byte";let n=null;switch(h){case"Numeric":n=lt(o);break;case"Alphanumeric":n=ht(o);break;case"Byte":n=gt(o);break;case"Kanji":n=dt(o);break;default:throw"mode:"+h}y.push(n),s=null},b.isDark=function(o,h){if(o<0||t<=o||h<0||t<=h)throw o+","+h;return e[o][h]},b.getModuleCount=function(){return t},b.make=function(){if(i<1){let o=1;for(;o<40;o++){let h=Z.getRSBlocks(o,a),n=z();for(let f=0;f<y.length;f++){let w=y[f];n.put(w.getMode(),4),n.put(w.getLength(),N.getLengthInBits(w.getMode(),o)),w.write(n)}let l=0;for(let f=0;f<h.length;f++)l+=h[f].dataCount;if(n.getLengthInBits()<=l*8)break}i=o}p(!1,P())},b.createTableTag=function(o,h){o=o||2,h=typeof h>"u"?o*4:h;let n="";n+='<table style="',n+=" border-width: 0px; border-style: none;",n+=" border-collapse: collapse;",n+=" padding: 0px; margin: "+h+"px;",n+='">',n+="<tbody>";for(let l=0;l<b.getModuleCount();l+=1){n+="<tr>";for(let f=0;f<b.getModuleCount();f+=1)n+='<td style="',n+=" border-width: 0px; border-style: none;",n+=" border-collapse: collapse;",n+=" padding: 0px; margin: 0px;",n+=" width: "+o+"px;",n+=" height: "+o+"px;",n+=" background-color: ",n+=b.isDark(l,f)?"#000000":"#ffffff",n+=";",n+='"/>';n+="</tr>"}return n+="</tbody>",n+="</table>",n},b.createSvgTag=function(o,h,n,l){let f={};if(typeof arguments[0]=="object")f=arguments[0],o=f.cellSize,h=f.margin,n=f.alt,l=f.title;o=o||2,h=typeof h>"u"?o*4:h,n=typeof n==="string"?{text:n}:n||{},n.text=n.text||null,n.id=n.text?n.id||"qrcode-description":null,l=typeof l==="string"?{text:l}:l||{},l.text=l.text||null,l.id=l.text?l.id||"qrcode-title":null;let w=b.getModuleCount()*o+h*2,x,A,m,M,_="",B;B="l"+o+",0 0,"+o+" -"+o+",0 0,-"+o+"z ",_+='<svg version="1.1" xmlns="http://www.w3.org/2000/svg"',_+=!f.scalable?' width="'+w+'px" height="'+w+'px"':"",_+=' viewBox="0 0 '+w+" "+w+'" ',_+=' preserveAspectRatio="xMinYMin meet"',_+=l.text||n.text?' role="img" aria-labelledby="'+v([l.id,n.id].join(" ").trim())+'"':"",_+=">",_+=l.text?'<title id="'+v(l.id)+'">'+v(l.text)+"</title>":"",_+=n.text?'<description id="'+v(n.id)+'">'+v(n.text)+"</description>":"",_+='<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>',_+='<path d="';for(m=0;m<b.getModuleCount();m+=1){M=m*o+h;for(x=0;x<b.getModuleCount();x+=1)if(b.isDark(m,x))A=x*o+h,_+="M"+A+","+M+B}return _+='" stroke="transparent" fill="black"/>',_+="</svg>",_},b.createDataURL=function(o,h){o=o||2,h=typeof h>"u"?o*4:h;let n=b.getModuleCount()*o+h*2,l=h,f=n-h;return bt(n,n,function(w,x){if(l<=w&&w<f&&l<=x&&x<f){let A=Math.floor((w-l)/o),m=Math.floor((x-l)/o);return b.isDark(m,A)?0:1}else return 1})},b.createImgTag=function(o,h,n){o=o||2,h=typeof h>"u"?o*4:h;let l=b.getModuleCount()*o+h*2,f="";if(f+="<img",f+=' src="',f+=b.createDataURL(o,h),f+='"',f+=' width="',f+=l,f+='"',f+=' height="',f+=l,f+='"',n)f+=' alt="',f+=v(n),f+='"';return f+="/>",f};let v=function(o){let h="";for(let n=0;n<o.length;n+=1){let l=o.charAt(n);switch(l){case"<":h+="&lt;";break;case">":h+="&gt;";break;case"&":h+="&amp;";break;case'"':h+="&quot;";break;default:h+=l;break}}return h},ct=function(o){o=typeof o>"u"?2:o;let n=b.getModuleCount()*1+o*2,l=o,f=n-o,w,x,A,m,M,_={"\u2588\u2588":"\u2588","\u2588 ":"\u2580"," \u2588":"\u2584"," ":" "},B={"\u2588\u2588":"\u2580","\u2588 ":"\u2580"," \u2588":" "," ":" "},E="";for(w=0;w<n;w+=2){A=Math.floor((w-l)/1),m=Math.floor((w+1-l)/1);for(x=0;x<n;x+=1){if(M="\u2588",l<=x&&x<f&&l<=w&&w<f&&b.isDark(A,Math.floor((x-l)/1)))M=" ";if(l<=x&&x<f&&l<=w+1&&w+1<f&&b.isDark(m,Math.floor((x-l)/1)))M+=" ";else M+="\u2588";E+=o<1&&w+1>=f?B[M]:_[M]}E+=`
3
3
  `}if(n%2&&o>0)return E.substring(0,E.length-n-1)+Array(n+1).join("\u2580");return E.substring(0,E.length-1)};return b.createASCII=function(o,h){if(o=o||1,o<2)return ct(h);o-=1,h=typeof h>"u"?o*2:h;let n=b.getModuleCount()*o+h*2,l=h,f=n-h,w,x,A,m,M=Array(o+1).join("\u2588\u2588"),_=Array(o+1).join(" "),B="",E="";for(w=0;w<n;w+=1){A=Math.floor((w-l)/o),E="";for(x=0;x<n;x+=1){if(m=1,l<=x&&x<f&&l<=w&&w<f&&b.isDark(A,Math.floor((x-l)/o)))m=0;E+=m?M:_}for(A=0;A<o;A+=1)B+=E+`
4
- `}return B.substring(0,B.length-1)},b.renderTo2dContext=function(o,h){h=h||2;let n=b.getModuleCount();for(let l=0;l<n;l++)for(let f=0;f<n;f++)o.fillStyle=b.isDark(l,f)?"black":"white",o.fillRect(f*h,l*h,h,h)},b};V.stringToBytes=function(u){let c=[];for(let g=0;g<u.length;g+=1){let r=u.charCodeAt(g);c.push(r&255)}return c};V.createStringToBytes=function(u,c){let g=function(){let i=wt(u),a=function(){let s=i.read();if(s==-1)throw"eof";return s},e=0,t={};while(!0){let s=i.read();if(s==-1)break;let y=a(),b=a(),p=a(),d=String.fromCharCode(s<<8|y),P=b<<8|p;t[d]=P,e+=1}if(e!=c)throw e+" != "+c;return t}(),r=63;return function(i){let a=[];for(let e=0;e<i.length;e+=1){let t=i.charCodeAt(e);if(t<128)a.push(t);else{let s=g[i.charAt(e)];if(typeof s=="number")if((s&255)==s)a.push(s);else a.push(s>>>8),a.push(s&255);else a.push(63)}}return a}};var k={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},U={L:1,M:0,Q:3,H:2},O={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},N=function(){let u=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],c=1335,g=7973,r=21522,i={},a=function(e){let t=0;while(e!=0)t+=1,e>>>=1;return t};return i.getBCHTypeInfo=function(e){let t=e<<10;while(a(t)-a(1335)>=0)t^=1335<<a(t)-a(1335);return(e<<10|t)^21522},i.getBCHTypeNumber=function(e){let t=e<<12;while(a(t)-a(7973)>=0)t^=7973<<a(t)-a(7973);return e<<12|t},i.getPatternPosition=function(e){return u[e-1]},i.getMaskFunction=function(e){switch(e){case O.PATTERN000:return function(t,s){return(t+s)%2==0};case O.PATTERN001:return function(t,s){return t%2==0};case O.PATTERN010:return function(t,s){return s%3==0};case O.PATTERN011:return function(t,s){return(t+s)%3==0};case O.PATTERN100:return function(t,s){return(Math.floor(t/2)+Math.floor(s/3))%2==0};case O.PATTERN101:return function(t,s){return t*s%2+t*s%3==0};case O.PATTERN110:return function(t,s){return(t*s%2+t*s%3)%2==0};case O.PATTERN111:return function(t,s){return(t*s%3+(t+s)%2)%2==0};default:throw"bad maskPattern:"+e}},i.getErrorCorrectPolynomial=function(e){let t=Q([1],0);for(let s=0;s<e;s+=1)t=t.multiply(Q([1,S.gexp(s)],0));return t},i.getLengthInBits=function(e,t){if(1<=t&&t<10)switch(e){case k.MODE_NUMBER:return 10;case k.MODE_ALPHA_NUM:return 9;case k.MODE_8BIT_BYTE:return 8;case k.MODE_KANJI:return 8;default:throw"mode:"+e}else if(t<27)switch(e){case k.MODE_NUMBER:return 12;case k.MODE_ALPHA_NUM:return 11;case k.MODE_8BIT_BYTE:return 16;case k.MODE_KANJI:return 10;default:throw"mode:"+e}else if(t<41)switch(e){case k.MODE_NUMBER:return 14;case k.MODE_ALPHA_NUM:return 13;case k.MODE_8BIT_BYTE:return 16;case k.MODE_KANJI:return 12;default:throw"mode:"+e}else throw"type:"+t},i.getLostPoint=function(e){let t=e.getModuleCount(),s=0;for(let p=0;p<t;p+=1)for(let d=0;d<t;d+=1){let P=0,R=e.isDark(p,d);for(let T=-1;T<=1;T+=1){if(p+T<0||t<=p+T)continue;for(let C=-1;C<=1;C+=1){if(d+C<0||t<=d+C)continue;if(T==0&&C==0)continue;if(R==e.isDark(p+T,d+C))P+=1}}if(P>5)s+=3+P-5}for(let p=0;p<t-1;p+=1)for(let d=0;d<t-1;d+=1){let P=0;if(e.isDark(p,d))P+=1;if(e.isDark(p+1,d))P+=1;if(e.isDark(p,d+1))P+=1;if(e.isDark(p+1,d+1))P+=1;if(P==0||P==4)s+=3}for(let p=0;p<t;p+=1)for(let d=0;d<t-6;d+=1)if(e.isDark(p,d)&&!e.isDark(p,d+1)&&e.isDark(p,d+2)&&e.isDark(p,d+3)&&e.isDark(p,d+4)&&!e.isDark(p,d+5)&&e.isDark(p,d+6))s+=40;for(let p=0;p<t;p+=1)for(let d=0;d<t-6;d+=1)if(e.isDark(d,p)&&!e.isDark(d+1,p)&&e.isDark(d+2,p)&&e.isDark(d+3,p)&&e.isDark(d+4,p)&&!e.isDark(d+5,p)&&e.isDark(d+6,p))s+=40;let y=0;for(let p=0;p<t;p+=1)for(let d=0;d<t;d+=1)if(e.isDark(d,p))y+=1;let b=Math.abs(100*y/t/t-50)/5;return s+=b*10,s},i}(),S=function(){let u=Array(256),c=Array(256);for(let r=0;r<8;r+=1)u[r]=1<<r;for(let r=8;r<256;r+=1)u[r]=u[r-4]^u[r-5]^u[r-6]^u[r-8];for(let r=0;r<255;r+=1)c[u[r]]=r;let g={};return g.glog=function(r){if(r<1)throw"glog("+r+")";return c[r]},g.gexp=function(r){while(r<0)r+=255;while(r>=256)r-=255;return u[r]},g}(),Q=function(u,c){if(typeof u.length>"u")throw u.length+"/"+c;let g=function(){let i=0;while(i<u.length&&u[i]==0)i+=1;let a=Array(u.length-i+c);for(let e=0;e<u.length-i;e+=1)a[e]=u[e+i];return a}(),r={};return r.getAt=function(i){return g[i]},r.getLength=function(){return g.length},r.multiply=function(i){let a=Array(r.getLength()+i.getLength()-1);for(let e=0;e<r.getLength();e+=1)for(let t=0;t<i.getLength();t+=1)a[e+t]^=S.gexp(S.glog(r.getAt(e))+S.glog(i.getAt(t)));return Q(a,0)},r.mod=function(i){if(r.getLength()-i.getLength()<0)return r;let a=S.glog(r.getAt(0))-S.glog(i.getAt(0)),e=Array(r.getLength());for(let t=0;t<r.getLength();t+=1)e[t]=r.getAt(t);for(let t=0;t<i.getLength();t+=1)e[t]^=S.gexp(S.glog(i.getAt(t))+a);return Q(e,0).mod(i)},r},Z=function(){let u=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],c=function(i,a){let e={};return e.totalCount=i,e.dataCount=a,e},g={},r=function(i,a){switch(a){case U.L:return u[(i-1)*4+0];case U.M:return u[(i-1)*4+1];case U.Q:return u[(i-1)*4+2];case U.H:return u[(i-1)*4+3];default:return}};return g.getRSBlocks=function(i,a){let e=r(i,a);if(typeof e>"u")throw"bad rs block @ typeNumber:"+i+"/errorCorrectionLevel:"+a;let t=e.length/3,s=[];for(let y=0;y<t;y+=1){let b=e[y*3+0],p=e[y*3+1],d=e[y*3+2];for(let P=0;P<b;P+=1)s.push(c(p,d))}return s},g}(),z=function(){let u=[],c=0,g={};return g.getBuffer=function(){return u},g.getAt=function(r){let i=Math.floor(r/8);return(u[i]>>>7-r%8&1)==1},g.put=function(r,i){for(let a=0;a<i;a+=1)g.putBit((r>>>i-a-1&1)==1)},g.getLengthInBits=function(){return c},g.putBit=function(r){let i=Math.floor(c/8);if(u.length<=i)u.push(0);if(r)u[i]|=128>>>c%8;c+=1},g},lt=function(u){let c=k.MODE_NUMBER,g=u,r={};r.getMode=function(){return c},r.getLength=function(e){return g.length},r.write=function(e){let t=g,s=0;while(s+2<t.length)e.put(i(t.substring(s,s+3)),10),s+=3;if(s<t.length){if(t.length-s==1)e.put(i(t.substring(s,s+1)),4);else if(t.length-s==2)e.put(i(t.substring(s,s+2)),7)}};let i=function(e){let t=0;for(let s=0;s<e.length;s+=1)t=t*10+a(e.charAt(s));return t},a=function(e){if("0"<=e&&e<="9")return e.charCodeAt(0)-48;throw"illegal char :"+e};return r},ht=function(u){let c=k.MODE_ALPHA_NUM,g=u,r={};r.getMode=function(){return c},r.getLength=function(a){return g.length},r.write=function(a){let e=g,t=0;while(t+1<e.length)a.put(i(e.charAt(t))*45+i(e.charAt(t+1)),11),t+=2;if(t<e.length)a.put(i(e.charAt(t)),6)};let i=function(a){if("0"<=a&&a<="9")return a.charCodeAt(0)-48;else if("A"<=a&&a<="Z")return a.charCodeAt(0)-65+10;else switch(a){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw"illegal char :"+a}};return r},gt=function(u){let c=k.MODE_8BIT_BYTE,g=u,r=V.stringToBytes(u),i={};return i.getMode=function(){return c},i.getLength=function(a){return r.length},i.write=function(a){for(let e=0;e<r.length;e+=1)a.put(r[e],8)},i},dt=function(u){let c=k.MODE_KANJI,g=u,r=V.stringToBytes;(function(e,t){let s=r(e);if(s.length!=2||(s[0]<<8|s[1])!=t)throw"sjis not supported."})("\u53CB",38726);let i=r(u),a={};return a.getMode=function(){return c},a.getLength=function(e){return~~(i.length/2)},a.write=function(e){let t=i,s=0;while(s+1<t.length){let y=(255&t[s])<<8|255&t[s+1];if(33088<=y&&y<=40956)y-=33088;else if(57408<=y&&y<=60351)y-=49472;else throw"illegal char at "+(s+1)+"/"+y;y=(y>>>8&255)*192+(y&255),e.put(y,13),s+=2}if(s<t.length)throw"illegal char at "+(s+1)},a},tt=function(){let u=[],c={};return c.writeByte=function(g){u.push(g&255)},c.writeShort=function(g){c.writeByte(g),c.writeByte(g>>>8)},c.writeBytes=function(g,r,i){r=r||0,i=i||g.length;for(let a=0;a<i;a+=1)c.writeByte(g[a+r])},c.writeString=function(g){for(let r=0;r<g.length;r+=1)c.writeByte(g.charCodeAt(r))},c.toByteArray=function(){return u},c.toString=function(){let g="";g+="[";for(let r=0;r<u.length;r+=1){if(r>0)g+=",";g+=u[r]}return g+="]",g},c},pt=function(){let u=0,c=0,g=0,r="",i={},a=function(t){r+=String.fromCharCode(e(t&63))},e=function(t){if(t<0)throw"n:"+t;else if(t<26)return 65+t;else if(t<52)return 97+(t-26);else if(t<62)return 48+(t-52);else if(t==62)return 43;else if(t==63)return 47;else throw"n:"+t};return i.writeByte=function(t){u=u<<8|t&255,c+=8,g+=1;while(c>=6)a(u>>>c-6),c-=6},i.flush=function(){if(c>0)a(u<<6-c),u=0,c=0;if(g%3!=0){let t=3-g%3;for(let s=0;s<t;s+=1)r+="="}},i.toString=function(){return r},i},wt=function(u){let c=u,g=0,r=0,i=0,a={};a.read=function(){while(i<8){if(g>=c.length){if(i==0)return-1;throw"unexpected end of file./"+i}let s=c.charAt(g);if(g+=1,s=="=")return i=0,-1;else if(s.match(/^\s$/))continue;r=r<<6|e(s.charCodeAt(0)),i+=6}let t=r>>>i-8&255;return i-=8,t};let e=function(t){if(65<=t&&t<=90)return t-65;else if(97<=t&&t<=122)return t-97+26;else if(48<=t&&t<=57)return t-48+52;else if(t==43)return 62;else if(t==47)return 63;else throw"c:"+t};return a},yt=function(u,c){let g=u,r=c,i=Array(u*c),a={};a.setPixel=function(y,b,p){i[b*g+y]=p},a.write=function(y){y.writeString("GIF87a"),y.writeShort(g),y.writeShort(r),y.writeByte(128),y.writeByte(0),y.writeByte(0),y.writeByte(0),y.writeByte(0),y.writeByte(0),y.writeByte(255),y.writeByte(255),y.writeByte(255),y.writeString(","),y.writeShort(0),y.writeShort(0),y.writeShort(g),y.writeShort(r),y.writeByte(0);let b=2,p=t(b);y.writeByte(b);let d=0;while(p.length-d>255)y.writeByte(255),y.writeBytes(p,d,255),d+=255;y.writeByte(p.length-d),y.writeBytes(p,d,p.length-d),y.writeByte(0),y.writeString(";")};let e=function(y){let b=y,p=0,d=0,P={};return P.write=function(R,T){if(R>>>T!=0)throw"length over";while(p+T>=8)b.writeByte(255&(R<<p|d)),T-=8-p,R>>>=8-p,d=0,p=0;d=R<<p|d,p=p+T},P.flush=function(){if(p>0)b.writeByte(d)},P},t=function(y){let b=1<<y,p=(1<<y)+1,d=y+1,P=s();for(let D=0;D<b;D+=1)P.add(String.fromCharCode(D));P.add(String.fromCharCode(b)),P.add(String.fromCharCode(p));let R=tt(),T=e(R);T.write(b,d);let C=0,L=String.fromCharCode(i[C]);C+=1;while(C<i.length){let D=String.fromCharCode(i[C]);if(C+=1,P.contains(L+D))L=L+D;else{if(T.write(P.indexOf(L),d),P.size()<4095){if(P.size()==1<<d)d+=1;P.add(L+D)}L=D}}return T.write(P.indexOf(L),d),T.write(p,d),T.flush(),R.toByteArray()},s=function(){let y={},b=0,p={};return p.add=function(d){if(p.contains(d))throw"dup key:"+d;y[d]=b,b+=1},p.size=function(){return b},p.indexOf=function(d){return y[d]},p.contains=function(d){return typeof y[d]<"u"},p};return a},bt=function(u,c,g){let r=yt(u,c);for(let t=0;t<c;t+=1)for(let s=0;s<u;s+=1)r.setPixel(s,t,g(s,t));let i=tt();r.write(i);let a=pt(),e=i.toByteArray();for(let t=0;t<e.length;t+=1)a.writeByte(e[t]);return a.flush(),"data:image/gif;base64,"+a},et=V,mt=V.stringToBytes;var j=Nt(GF());function rt(u){let c=et(0,"M");return c.addData(u,"Byte"),c.make(),{size:c.getModuleCount(),dark:(g,r)=>c.isDark(g,r)}}var H=4;function ot(u,c=8){let r=(u.size+H*2)*c,i=r*4,a=new j.PNG({width:r,height:r});a.data.fill(255);for(let e=0;e<u.size;e++){let t=(e+H)*c*i;for(let s=0;s<u.size;s++)if(u.dark(e,s))xt(a.data,t+(s+H)*c*4,c);for(let s=1;s<c;s++)a.data.copy(a.data,t+s*i,t,t+i)}return j.PNG.sync.write(a,{colorType:0,deflateLevel:6})}function xt(u,c,g){for(let r=c;r<c+g*4;r+=4)u.fill(0,r,r+3)}function it(u){let c=[],g=-H,r=u.size+H;for(let i=g;i<r;i+=2){let a="";for(let e=g;e<r;e++){let t=!nt(u,i,e),s=i+1<r&&!nt(u,i+1,e);a+=t?s?"\u2588":"\u2580":s?"\u2584":" "}c.push(a)}return c.join(`
5
- `)}function nt(u,c,g){return c>=0&&g>=0&&c<u.size&&g<u.size&&u.dark(c,g)}var _t={render(u){let c=rt(u);return{png:ot(c),terminal:it(c)}}},F="Nothing was written.";async function $J(u,c){let g=u.url===void 0?void 0:J(u.url);if(g)return Y("invalid_url",`${g}. ${F}`);if(Vu(u.spec))return Y("invalid_spec",`Element anchors are resolved against the live screen and cannot be shared; use {type:"bounds",bounds:{x,y,width,height}} anchors (dp) instead. ${F}`);let r=await yG(u,u.spec,c,F);if("failure"in r)return r.failure;let i=CP(r.bytes),a=u.url===void 0?void 0:W(u.url,i);if(a!==void 0&&Buffer.byteLength(a)>K)return Y("invalid_url",`The import link is ${Buffer.byteLength(a)} bytes, over ${K}, too dense for a phone camera to read as a QR; use a shorter url. ${F}`);let e=c.files.outputDir(),t=`${GK(u.spec.id)}-${i.slice(0,12)}`,s=st.join(e,`${t}.automobile-proto`);await c.files.write(s,r.bytes);let y={bundlePath:s,sha256:i,bytes:r.bytes.length};if(a===void 0||u.url===void 0)return{success:!0,share:y,warning:"No url was given, so there is no link or QR. Upload the bundle to a static https host, then share again with url set to where it is served."};let b=(c.qr??_t).render(a),p=CP(Buffer.from(a)).slice(0,12),d=st.join(e,`${t}-${p}.qr.png`);return await c.files.write(d,b.png),{success:!0,share:{...y,url:u.url,link:a,qrPngPath:d,qr:b.terminal},warning:`Upload ${s} so it is served byte-for-byte at ${u.url}; ProtoViewer refuses any other bytes. The link and QR open in an Android ProtoViewer that supports URL import, which asks before downloading; until then, or on iOS, send the bundle file itself and open it in ProtoViewer.`}}function GK(u){let c=u.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48);return c===""?"prototype":c}function Y(u,c){return{success:!1,errorCode:u,error:c}}
6
- export{$J,GK};
4
+ `}return B.substring(0,B.length-1)},b.renderTo2dContext=function(o,h){h=h||2;let n=b.getModuleCount();for(let l=0;l<n;l++)for(let f=0;f<n;f++)o.fillStyle=b.isDark(l,f)?"black":"white",o.fillRect(f*h,l*h,h,h)},b};V.stringToBytes=function(u){let c=[];for(let g=0;g<u.length;g+=1){let r=u.charCodeAt(g);c.push(r&255)}return c};V.createStringToBytes=function(u,c){let g=function(){let i=wt(u),a=function(){let s=i.read();if(s==-1)throw"eof";return s},e=0,t={};while(!0){let s=i.read();if(s==-1)break;let y=a(),b=a(),p=a(),d=String.fromCharCode(s<<8|y),P=b<<8|p;t[d]=P,e+=1}if(e!=c)throw e+" != "+c;return t}(),r=63;return function(i){let a=[];for(let e=0;e<i.length;e+=1){let t=i.charCodeAt(e);if(t<128)a.push(t);else{let s=g[i.charAt(e)];if(typeof s=="number")if((s&255)==s)a.push(s);else a.push(s>>>8),a.push(s&255);else a.push(63)}}return a}};var k={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},U={L:1,M:0,Q:3,H:2},O={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},N=function(){let u=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],c=1335,g=7973,r=21522,i={},a=function(e){let t=0;while(e!=0)t+=1,e>>>=1;return t};return i.getBCHTypeInfo=function(e){let t=e<<10;while(a(t)-a(1335)>=0)t^=1335<<a(t)-a(1335);return(e<<10|t)^21522},i.getBCHTypeNumber=function(e){let t=e<<12;while(a(t)-a(7973)>=0)t^=7973<<a(t)-a(7973);return e<<12|t},i.getPatternPosition=function(e){return u[e-1]},i.getMaskFunction=function(e){switch(e){case O.PATTERN000:return function(t,s){return(t+s)%2==0};case O.PATTERN001:return function(t,s){return t%2==0};case O.PATTERN010:return function(t,s){return s%3==0};case O.PATTERN011:return function(t,s){return(t+s)%3==0};case O.PATTERN100:return function(t,s){return(Math.floor(t/2)+Math.floor(s/3))%2==0};case O.PATTERN101:return function(t,s){return t*s%2+t*s%3==0};case O.PATTERN110:return function(t,s){return(t*s%2+t*s%3)%2==0};case O.PATTERN111:return function(t,s){return(t*s%3+(t+s)%2)%2==0};default:throw"bad maskPattern:"+e}},i.getErrorCorrectPolynomial=function(e){let t=Q([1],0);for(let s=0;s<e;s+=1)t=t.multiply(Q([1,S.gexp(s)],0));return t},i.getLengthInBits=function(e,t){if(1<=t&&t<10)switch(e){case k.MODE_NUMBER:return 10;case k.MODE_ALPHA_NUM:return 9;case k.MODE_8BIT_BYTE:return 8;case k.MODE_KANJI:return 8;default:throw"mode:"+e}else if(t<27)switch(e){case k.MODE_NUMBER:return 12;case k.MODE_ALPHA_NUM:return 11;case k.MODE_8BIT_BYTE:return 16;case k.MODE_KANJI:return 10;default:throw"mode:"+e}else if(t<41)switch(e){case k.MODE_NUMBER:return 14;case k.MODE_ALPHA_NUM:return 13;case k.MODE_8BIT_BYTE:return 16;case k.MODE_KANJI:return 12;default:throw"mode:"+e}else throw"type:"+t},i.getLostPoint=function(e){let t=e.getModuleCount(),s=0;for(let p=0;p<t;p+=1)for(let d=0;d<t;d+=1){let P=0,R=e.isDark(p,d);for(let T=-1;T<=1;T+=1){if(p+T<0||t<=p+T)continue;for(let C=-1;C<=1;C+=1){if(d+C<0||t<=d+C)continue;if(T==0&&C==0)continue;if(R==e.isDark(p+T,d+C))P+=1}}if(P>5)s+=3+P-5}for(let p=0;p<t-1;p+=1)for(let d=0;d<t-1;d+=1){let P=0;if(e.isDark(p,d))P+=1;if(e.isDark(p+1,d))P+=1;if(e.isDark(p,d+1))P+=1;if(e.isDark(p+1,d+1))P+=1;if(P==0||P==4)s+=3}for(let p=0;p<t;p+=1)for(let d=0;d<t-6;d+=1)if(e.isDark(p,d)&&!e.isDark(p,d+1)&&e.isDark(p,d+2)&&e.isDark(p,d+3)&&e.isDark(p,d+4)&&!e.isDark(p,d+5)&&e.isDark(p,d+6))s+=40;for(let p=0;p<t;p+=1)for(let d=0;d<t-6;d+=1)if(e.isDark(d,p)&&!e.isDark(d+1,p)&&e.isDark(d+2,p)&&e.isDark(d+3,p)&&e.isDark(d+4,p)&&!e.isDark(d+5,p)&&e.isDark(d+6,p))s+=40;let y=0;for(let p=0;p<t;p+=1)for(let d=0;d<t;d+=1)if(e.isDark(d,p))y+=1;let b=Math.abs(100*y/t/t-50)/5;return s+=b*10,s},i}(),S=function(){let u=Array(256),c=Array(256);for(let r=0;r<8;r+=1)u[r]=1<<r;for(let r=8;r<256;r+=1)u[r]=u[r-4]^u[r-5]^u[r-6]^u[r-8];for(let r=0;r<255;r+=1)c[u[r]]=r;let g={};return g.glog=function(r){if(r<1)throw"glog("+r+")";return c[r]},g.gexp=function(r){while(r<0)r+=255;while(r>=256)r-=255;return u[r]},g}(),Q=function(u,c){if(typeof u.length>"u")throw u.length+"/"+c;let g=function(){let i=0;while(i<u.length&&u[i]==0)i+=1;let a=Array(u.length-i+c);for(let e=0;e<u.length-i;e+=1)a[e]=u[e+i];return a}(),r={};return r.getAt=function(i){return g[i]},r.getLength=function(){return g.length},r.multiply=function(i){let a=Array(r.getLength()+i.getLength()-1);for(let e=0;e<r.getLength();e+=1)for(let t=0;t<i.getLength();t+=1)a[e+t]^=S.gexp(S.glog(r.getAt(e))+S.glog(i.getAt(t)));return Q(a,0)},r.mod=function(i){if(r.getLength()-i.getLength()<0)return r;let a=S.glog(r.getAt(0))-S.glog(i.getAt(0)),e=Array(r.getLength());for(let t=0;t<r.getLength();t+=1)e[t]=r.getAt(t);for(let t=0;t<i.getLength();t+=1)e[t]^=S.gexp(S.glog(i.getAt(t))+a);return Q(e,0).mod(i)},r},Z=function(){let u=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],c=function(i,a){let e={};return e.totalCount=i,e.dataCount=a,e},g={},r=function(i,a){switch(a){case U.L:return u[(i-1)*4+0];case U.M:return u[(i-1)*4+1];case U.Q:return u[(i-1)*4+2];case U.H:return u[(i-1)*4+3];default:return}};return g.getRSBlocks=function(i,a){let e=r(i,a);if(typeof e>"u")throw"bad rs block @ typeNumber:"+i+"/errorCorrectionLevel:"+a;let t=e.length/3,s=[];for(let y=0;y<t;y+=1){let b=e[y*3+0],p=e[y*3+1],d=e[y*3+2];for(let P=0;P<b;P+=1)s.push(c(p,d))}return s},g}(),z=function(){let u=[],c=0,g={};return g.getBuffer=function(){return u},g.getAt=function(r){let i=Math.floor(r/8);return(u[i]>>>7-r%8&1)==1},g.put=function(r,i){for(let a=0;a<i;a+=1)g.putBit((r>>>i-a-1&1)==1)},g.getLengthInBits=function(){return c},g.putBit=function(r){let i=Math.floor(c/8);if(u.length<=i)u.push(0);if(r)u[i]|=128>>>c%8;c+=1},g},lt=function(u){let c=k.MODE_NUMBER,g=u,r={};r.getMode=function(){return c},r.getLength=function(e){return g.length},r.write=function(e){let t=g,s=0;while(s+2<t.length)e.put(i(t.substring(s,s+3)),10),s+=3;if(s<t.length){if(t.length-s==1)e.put(i(t.substring(s,s+1)),4);else if(t.length-s==2)e.put(i(t.substring(s,s+2)),7)}};let i=function(e){let t=0;for(let s=0;s<e.length;s+=1)t=t*10+a(e.charAt(s));return t},a=function(e){if("0"<=e&&e<="9")return e.charCodeAt(0)-48;throw"illegal char :"+e};return r},ht=function(u){let c=k.MODE_ALPHA_NUM,g=u,r={};r.getMode=function(){return c},r.getLength=function(a){return g.length},r.write=function(a){let e=g,t=0;while(t+1<e.length)a.put(i(e.charAt(t))*45+i(e.charAt(t+1)),11),t+=2;if(t<e.length)a.put(i(e.charAt(t)),6)};let i=function(a){if("0"<=a&&a<="9")return a.charCodeAt(0)-48;else if("A"<=a&&a<="Z")return a.charCodeAt(0)-65+10;else switch(a){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw"illegal char :"+a}};return r},gt=function(u){let c=k.MODE_8BIT_BYTE,g=u,r=V.stringToBytes(u),i={};return i.getMode=function(){return c},i.getLength=function(a){return r.length},i.write=function(a){for(let e=0;e<r.length;e+=1)a.put(r[e],8)},i},dt=function(u){let c=k.MODE_KANJI,g=u,r=V.stringToBytes;(function(e,t){let s=r(e);if(s.length!=2||(s[0]<<8|s[1])!=t)throw"sjis not supported."})("\u53CB",38726);let i=r(u),a={};return a.getMode=function(){return c},a.getLength=function(e){return~~(i.length/2)},a.write=function(e){let t=i,s=0;while(s+1<t.length){let y=(255&t[s])<<8|255&t[s+1];if(33088<=y&&y<=40956)y-=33088;else if(57408<=y&&y<=60351)y-=49472;else throw"illegal char at "+(s+1)+"/"+y;y=(y>>>8&255)*192+(y&255),e.put(y,13),s+=2}if(s<t.length)throw"illegal char at "+(s+1)},a},tt=function(){let u=[],c={};return c.writeByte=function(g){u.push(g&255)},c.writeShort=function(g){c.writeByte(g),c.writeByte(g>>>8)},c.writeBytes=function(g,r,i){r=r||0,i=i||g.length;for(let a=0;a<i;a+=1)c.writeByte(g[a+r])},c.writeString=function(g){for(let r=0;r<g.length;r+=1)c.writeByte(g.charCodeAt(r))},c.toByteArray=function(){return u},c.toString=function(){let g="";g+="[";for(let r=0;r<u.length;r+=1){if(r>0)g+=",";g+=u[r]}return g+="]",g},c},pt=function(){let u=0,c=0,g=0,r="",i={},a=function(t){r+=String.fromCharCode(e(t&63))},e=function(t){if(t<0)throw"n:"+t;else if(t<26)return 65+t;else if(t<52)return 97+(t-26);else if(t<62)return 48+(t-52);else if(t==62)return 43;else if(t==63)return 47;else throw"n:"+t};return i.writeByte=function(t){u=u<<8|t&255,c+=8,g+=1;while(c>=6)a(u>>>c-6),c-=6},i.flush=function(){if(c>0)a(u<<6-c),u=0,c=0;if(g%3!=0){let t=3-g%3;for(let s=0;s<t;s+=1)r+="="}},i.toString=function(){return r},i},wt=function(u){let c=u,g=0,r=0,i=0,a={};a.read=function(){while(i<8){if(g>=c.length){if(i==0)return-1;throw"unexpected end of file./"+i}let s=c.charAt(g);if(g+=1,s=="=")return i=0,-1;else if(s.match(/^\s$/))continue;r=r<<6|e(s.charCodeAt(0)),i+=6}let t=r>>>i-8&255;return i-=8,t};let e=function(t){if(65<=t&&t<=90)return t-65;else if(97<=t&&t<=122)return t-97+26;else if(48<=t&&t<=57)return t-48+52;else if(t==43)return 62;else if(t==47)return 63;else throw"c:"+t};return a},yt=function(u,c){let g=u,r=c,i=Array(u*c),a={};a.setPixel=function(y,b,p){i[b*g+y]=p},a.write=function(y){y.writeString("GIF87a"),y.writeShort(g),y.writeShort(r),y.writeByte(128),y.writeByte(0),y.writeByte(0),y.writeByte(0),y.writeByte(0),y.writeByte(0),y.writeByte(255),y.writeByte(255),y.writeByte(255),y.writeString(","),y.writeShort(0),y.writeShort(0),y.writeShort(g),y.writeShort(r),y.writeByte(0);let b=2,p=t(b);y.writeByte(b);let d=0;while(p.length-d>255)y.writeByte(255),y.writeBytes(p,d,255),d+=255;y.writeByte(p.length-d),y.writeBytes(p,d,p.length-d),y.writeByte(0),y.writeString(";")};let e=function(y){let b=y,p=0,d=0,P={};return P.write=function(R,T){if(R>>>T!=0)throw"length over";while(p+T>=8)b.writeByte(255&(R<<p|d)),T-=8-p,R>>>=8-p,d=0,p=0;d=R<<p|d,p=p+T},P.flush=function(){if(p>0)b.writeByte(d)},P},t=function(y){let b=1<<y,p=(1<<y)+1,d=y+1,P=s();for(let D=0;D<b;D+=1)P.add(String.fromCharCode(D));P.add(String.fromCharCode(b)),P.add(String.fromCharCode(p));let R=tt(),T=e(R);T.write(b,d);let C=0,L=String.fromCharCode(i[C]);C+=1;while(C<i.length){let D=String.fromCharCode(i[C]);if(C+=1,P.contains(L+D))L=L+D;else{if(T.write(P.indexOf(L),d),P.size()<4095){if(P.size()==1<<d)d+=1;P.add(L+D)}L=D}}return T.write(P.indexOf(L),d),T.write(p,d),T.flush(),R.toByteArray()},s=function(){let y={},b=0,p={};return p.add=function(d){if(p.contains(d))throw"dup key:"+d;y[d]=b,b+=1},p.size=function(){return b},p.indexOf=function(d){return y[d]},p.contains=function(d){return typeof y[d]<"u"},p};return a},bt=function(u,c,g){let r=yt(u,c);for(let t=0;t<c;t+=1)for(let s=0;s<u;s+=1)r.setPixel(s,t,g(s,t));let i=tt();r.write(i);let a=pt(),e=i.toByteArray();for(let t=0;t<e.length;t+=1)a.writeByte(e[t]);return a.flush(),"data:image/gif;base64,"+a},et=V,mt=V.stringToBytes;var j=Ft(aL());function rt(u){let c=et(0,"M");return c.addData(u,"Byte"),c.make(),{size:c.getModuleCount(),dark:(g,r)=>c.isDark(g,r)}}var H=4;function ot(u,c=8){let r=(u.size+H*2)*c,i=r*4,a=new j.PNG({width:r,height:r});a.data.fill(255);for(let e=0;e<u.size;e++){let t=(e+H)*c*i;for(let s=0;s<u.size;s++)if(u.dark(e,s))xt(a.data,t+(s+H)*c*4,c);for(let s=1;s<c;s++)a.data.copy(a.data,t+s*i,t,t+i)}return j.PNG.sync.write(a,{colorType:0,deflateLevel:6})}function xt(u,c,g){for(let r=c;r<c+g*4;r+=4)u.fill(0,r,r+3)}function it(u){let c=[],g=-H,r=u.size+H;for(let i=g;i<r;i+=2){let a="";for(let e=g;e<r;e++){let t=!nt(u,i,e),s=i+1<r&&!nt(u,i+1,e);a+=t?s?"\u2588":"\u2580":s?"\u2584":" "}c.push(a)}return c.join(`
5
+ `)}function nt(u,c,g){return c>=0&&g>=0&&c<u.size&&g<u.size&&u.dark(c,g)}var _t={render(u){let c=rt(u);return{png:ot(c),terminal:it(c)}}},F="Nothing was written.";async function aJ(u,c){let g=u.url===void 0?void 0:J(u.url);if(g)return Y("invalid_url",`${g}. ${F}`);if(rp(u.spec))return Y("invalid_spec",`Element anchors are resolved against the live screen and cannot be shared; use {type:"bounds",bounds:{x,y,width,height}} anchors (dp) instead. ${F}`);let r=await BG(u,u.spec,c,F);if("failure"in r)return r.failure;let i=JP(r.bytes),a=u.url===void 0?void 0:W(u.url,i);if(a!==void 0&&Buffer.byteLength(a)>K)return Y("invalid_url",`The import link is ${Buffer.byteLength(a)} bytes, over ${K}, too dense for a phone camera to read as a QR; use a shorter url. ${F}`);let e=c.files.outputDir(),t=`${hG(u.spec.id)}-${i.slice(0,12)}`,s=st.join(e,`${t}.automobile-proto`);await c.files.write(s,r.bytes);let y={bundlePath:s,sha256:i,bytes:r.bytes.length};if(a===void 0||u.url===void 0)return{success:!0,share:y,warning:"No url was given, so there is no link or QR. Upload the bundle to a static https host, then share again with url set to where it is served."};let b=(c.qr??_t).render(a),p=JP(Buffer.from(a)).slice(0,12),d=st.join(e,`${t}-${p}.qr.png`);return await c.files.write(d,b.png),{success:!0,share:{...y,url:u.url,link:a,qrPngPath:d,qr:b.terminal},warning:`Upload ${s} so it is served byte-for-byte at ${u.url}; ProtoViewer refuses any other bytes. The link and QR open in an Android ProtoViewer that supports URL import, which asks before downloading; until then, or on iOS, send the bundle file itself and open it in ProtoViewer.`}}function hG(u){let c=u.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48);return c===""?"prototype":c}function Y(u,c){return{success:!1,errorCode:u,error:c}}
6
+ export{aJ,hG};
7
7
 
8
- //# debugId=FB9A3A6C6B520DB364756E2164756E21
8
+ //# debugId=E4B31CA0BC28B31564756E2164756E21
@@ -0,0 +1,4 @@
1
+ // @bun
2
+ import{JU,Be,lJ,uJ,pJ,qE,gG,VE,WE,yG,zf,sm,TM,kM,jf,EM,zE,am,jP,vG,bG,IM,jE,_M,KP,XU,SG,wG,RG,PG}from"./chunk-r4j43b9s.js";import"./chunk-vdqag3fj.js";import"./chunk-e0870khr.js";import"./chunk-4vxeq0vd.js";import"./chunk-9xgnrv5w.js";import"./chunk-sfqe223f.js";import"./chunk-r6pvhj33.js";import"./chunk-w5yypt53.js";import"./chunk-aewdveet.js";import"./chunk-r0vp315h.js";import"./chunk-5wk1t46v.js";export{jP as NotificationShadeNotOpenError,am as TransientPreSwipeError,XU as captureNotificationDismissBaseline,zf as captureSystemTrayTerminalEvidence,PG as clearIosSystemTrayNotifications,wG as clearMatchingSystemTrayNotifications,TM as ensureSystemTrayClosed,sm as ensureSystemTrayOpen,jE as expandAndRematchIfCollapsed,Be as getSystemTrayDependencies,_M as isSwipeTargetIsolatedFromGroup,vG as listSystemTrayNotifications,bG as listSystemTrayNotificationsForClear,kM as notificationNotFoundError,yG as observeSystemTrayAfterTap,IM as readActiveNotificationKeysForApp,RG as readClearAllTerminalObservation,uJ as resetSystemTrayDependencies,pJ as resolveAppLabel,JU as resolveNotificationGroupExpansionState,VE as resolveNotificationSwipeElement,gG as resolveNotificationTapElement,WE as resolveSystemTrayAwaitTimeout,qE as resolveUniqueTrayAppLabel,KP as retryTransientPreSwipe,lJ as setSystemTrayDependencies,zE as swipeElement,EM as tapElement,SG as verifyNotificationDismissed,jf as waitForNotificationMatch};
3
+
4
+ //# debugId=0DEBDFADA513B29564756E2164756E21
@@ -0,0 +1,4 @@
1
+ // @bun
2
+ import{Om}from"./chunk-6hrj3jt6.js";import{h,I}from"./chunk-5wk1t46v.js";import"./chunk-sfqe223f.js";import{e}from"./chunk-r0vp315h.js";import{w7,to,RH,yN,PH,F,ea,vi,zH,kr,Yd,eu,yA,FI}from"./chunk-xcqzwf9j.js";import"./chunk-4vxeq0vd.js";import"./chunk-r6pvhj33.js";import{Nn}from"./chunk-aewdveet.js";import{n,Me,kP,Ne}from"./chunk-w5yypt53.js";import"./chunk-9xgnrv5w.js";import{bi,PQ,rV}from"./chunk-8nj68t1v.js";import"./chunk-z8tvs8nk.js";import{ES,ON,BI,vA}from"./chunk-s3y3zfcx.js";import{R_,al,Ph,lV,ia,Mr,fv,Ah,j0,mV,nee,hv}from"./chunk-jvstjnqm.js";import"./chunk-xn9m3xc2.js";import"./chunk-xezekwwn.js";import"./chunk-e0870khr.js";import"./chunk-cqhw4yr6.js";import"./chunk-hpzxdp1k.js";import{Or,qI}from"./chunk-3h5jz1vb.js";import"./chunk-tx4f0h9c.js";import"./chunk-c3ewxm4x.js";import"./chunk-qy3khhf8.js";import"./chunk-661c50hh.js";import"./chunk-b3tdtq7r.js";import"./chunk-gadtna7s.js";import"./chunk-tvq0nzam.js";import{RM,AM,iS,oS,fG}from"./chunk-21h6dhdm.js";import"./chunk-yqfz4vts.js";import"./chunk-sqdrxjw5.js";import"./chunk-c27yv1dx.js";import"./chunk-vdqag3fj.js";import"./chunk-cb1ga9rd.js";import"./chunk-69pmjdf2.js";import{r,t,u}from"./chunk-2b39zyxc.js";function N(){if(I(h.ACCEPTANCE_LIVE)!=="1")return;let o=I(h.ACCEPTANCE_DISCOVERY_ORDER),s=I(h.ACCEPTANCE_DISCOVERY_CAPABILITY);return(o==="forward"||o==="reverse")&&s?{order:o,capability:s}:void 0}function D(o,s,i){if(o.outcome!=="ready"||s!==void 0&&s!==o.sessionUuid)return;return{success:!1,error:{code:"broker_session_ended",message:`Broker session ${o.sessionUuid} for request ${o.requestId} ended (${i}). Device tools cannot acquire a generic replacement on this connection; the launcher must start a new broker request.`,requestId:o.requestId,sessionUuid:o.sessionUuid,reason:i,...bi(i),retryable:!1,nextAction:"relaunch_session_request"}}}function C(o,s){let i=BI(o),d=s&&i&&D(s,i.sessionUuid,i.reason??"unknown");return d?{content:[{type:"text",text:JSON.stringify(d)}],isError:!0}:o}function L(o,s){let i=D(o,s.sessionUuid,s.reason);return i?{content:[{type:"text",text:JSON.stringify(i)}],isError:!0}:void 0}function _(o,s){if(o instanceof Yd&&o.handover.code===vi)return;return o instanceof kr&&s?L(s,o):void 0}function B(o,s){return s!==void 0&&o.getTerminalSessionRelease()?.sessionUuid===s.sessionUuid}function H(o){return o.sessions.length>0?[zH(o)]:[]}function M(o){if(o instanceof Yd)return o.toPayload();return vA({message:`Session ownership lost for ${o.sessionUuid}: ${o.reason}. `+ES,sessionUuid:o.sessionUuid,reason:o.reason,release:o.release})}function k(o){return JSON.stringify(M(o))}function U(o){return{content:[{type:"text",text:k(o)}],isError:!0}}function S(o){let s=M(o);return new to(-32603,k(o),s)}function P(o){return JSON.stringify(ON(o))}function J(o){return{content:[{type:"text",text:P(o)}],isError:!0}}function V(o){return{content:[{type:"text",text:JSON.stringify({error:{code:"ambiguous_session_selector",message:o.message,platform:o.platform,candidates:o.candidates,retryable:!1}})}],isError:!0}}function E(o){return new to(-32603,P(o),ON(o))}function j(o,s=!1){let i=R_(s),d={content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i,isError:!0};return oS(d,iS(o,!1))}function Y(o){if(o instanceof al){let s=R_(o.requestMayHaveDispatched);return new to(-32603,JSON.stringify(s),s)}if(o instanceof Or){let s=qI(o);return new to(-32603,JSON.stringify(s),s)}return}function z(o){let s=qI(o);return{content:[{type:"text",text:JSON.stringify(s)}],structuredContent:s,isError:!0}}function O(o){return{error:{code:o.failure.code,message:o.message,retryable:o.failure.retryable,retryAfterMs:o.failure.retryAfterMs,queueWaitMs:o.failure.queueWaitMs,remainingTimeoutMs:o.failure.remainingTimeoutMs}}}function W(o,s=!0){let i=O(o),d={content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i,isError:!0};return oS(d,iS(s,!1))}function w(o){let s=O(o);return new to(-32603,JSON.stringify(s),s)}var b=-32602;function X(o){if(o===null||typeof o!=="object"||!("code"in o)||o.code!==b)return;let s=r(o).replace(`MCP error ${b}: `,"");return new to(b,s)}function x(o){let s=r(o),i=o instanceof Error?o.cause:void 0;if(i instanceof hv)return`${s} (daemon connection closed before the response arrived while handling ${i.toolName})`;if(i instanceof Mr)return`${s} (request timed out after ${i.timeoutMs}ms while handling ${i.toolName})`;if(i instanceof Error&&(i.name==="AbortError"||i.name==="TimeoutError"))return`${s} (request ${i.name==="TimeoutError"?"timed out":"was aborted"})`;return s}function G(o){let s=lV(o.failure);return{content:[{type:"text",text:JSON.stringify({error:{message:o.message,...s}})}],isError:!0}}async function K(o,s){try{for(let i of H(s))await o.server.sendLoggingMessage({level:"error",logger:"auto-mobile.liveness",data:i})}catch(i){e.warn("[ProxyServer] Failed to forward liveness handover notification",i)}}async function Q(o,s){try{await o.server.sendLoggingMessage({level:"info",logger:"auto-mobile.liveness",data:{code:"session_device_rebound",sessionUuid:s.sessionId,previousDeviceId:s.previousDeviceId,deviceId:s.deviceId,avdName:s.avdName,stableDeviceId:s.stableDeviceId,generation:s.generation}})}catch(i){e.warn("[ProxyServer] Failed to forward session-device rebound",i)}}async function Z(o,s){try{await o.server.notification({method:"notifications/resources/updated",params:{uri:s}})}catch(i){e.warn("[ProxyServer] Failed to forward resource update notification",i)}}function ee(o,s,i){if(o instanceof kr)return e.warn(`[ProxyServer] Session ownership lost for ${o.sessionUuid}: ${o.reason}`),U(o);if(o instanceof eu)return e.warn(`[ProxyServer] No active device session (released: ${o.reason})`),J(o);if(o instanceof yA)return e.warn(`[ProxyServer] Ambiguous session selector: ${o.message}`),V(o);if(o instanceof al)return j(i,o.requestMayHaveDispatched);if(o instanceof Or)return z(o);if(o instanceof ia)return W(o,i);if(o instanceof Ph)return e.warn(`[ProxyServer] Device-control transport failure for ${o.failure.toolName} during ${o.failure.phase}`),G(o);return ea(o,{toolName:s,source:"ProxyServer"})}function re(o){let s={...o?{[PQ]:{...o}}:{}};return Object.keys(s).length>0?{experimental:s}:{}}function oe(o){return{resources:{subscribe:!0,listChanged:!0},tools:{listChanged:!0},logging:{},prompts:{},...re(o.session)}}function te(o,s){let i={success:!1,error:{code:"session_unavailable",message:`Tool ${s} is unavailable because session request ${o.requestId} is ${o.outcome}. Use the exact bound sessionUuid only after initialize reports ready.`,requestId:o.requestId,outcome:o.outcome,cleanupPending:o.cleanupPending,failure:o.failure??null}};return{isError:!0,content:[{type:"text",text:JSON.stringify(i)}]}}function se(o,s){o.server.setRequestHandler("tools/list",async()=>({tools:[]})),o.server.setRequestHandler("tools/call",async(i)=>te(s,i.params.name))}function ne(o,s){if(s&&s.outcome!=="ready")se(o,s)}async function ie(o,s,i,d){let{name:a,args:c,progressToken:f,extra:m}=s,v=fv({envelope:m.envelope,meta:m._meta});if(!v){let p=await o.callTool(a,c,f,{onProgress:i,signal:m.signal});return C(p,d.session)}let l=await o.callTool(a,c,f,{onProgress:i,signal:m.signal,declaresTasks:v});return Ah(l)?l:C(l,d.session)}var T=kP({taskId:n()}),ae=kP({taskId:n(),inputResponses:Ne(n(),Me()).optional()});function ce(o){let s=o!==null&&typeof o==="object"?Reflect.get(o,"jsonRpcError"):void 0;return mV(s)?nee(s):o}function ue(o,s){let i=o.server;fG(i);let d=async(a,c,f)=>{if(!fv({envelope:f.mcpReq.envelope,meta:f.mcpReq._meta}))throw j0();try{return await s.relayTaskMethod(a,c,!0,f.mcpReq.signal)}catch(m){throw f.mcpReq.signal.throwIfAborted(),ce(m)}};i.setRequestHandler("tasks/get",{params:T},async(a,c)=>d("tasks/get",{taskId:a.taskId},c)),i.setRequestHandler("tasks/update",{params:ae},async(a,c)=>{let f=c.mcpReq.inputResponses??a.inputResponses;return d("tasks/update",{taskId:a.taskId,...f!==void 0&&{inputResponses:f}},c)}),i.setRequestHandler("tasks/cancel",{params:T},async(a,c)=>d("tasks/cancel",{taskId:a.taskId},c))}function le(o,s){o.server.setRequestHandler("resources/list",async()=>{try{return{resources:await s.listAdvertisedResources()}}catch(i){if(i instanceof kr)throw S(i);if(i instanceof eu)throw E(i);if(i instanceof ia)throw w(i);throw e.error(`[ProxyServer] Failed to list resources: ${i}`),new t(`Failed to list resources from daemon: ${x(i)}`,{cause:i})}}),o.server.setRequestHandler("resources/templates/list",async()=>{try{return{resourceTemplates:await s.listAdvertisedResourceTemplates()}}catch(i){if(i instanceof kr)throw S(i);if(i instanceof eu)throw E(i);if(i instanceof ia)throw w(i);throw e.error(`[ProxyServer] Failed to list resource templates: ${i}`),new t(`Failed to list resource templates from daemon: ${x(i)}`,{cause:i})}}),o.server.setRequestHandler("resources/read",async(i,d)=>{let a=i.params.uri;if(!a)throw new t("Resource URI is missing in the request");if(RH(a)){let c=await PH(a);if(c)return c;throw new Om(a)}e.info(`[ProxyServer] Forwarding resource read: ${a}`);try{let c=w7(o.server.getClientCapabilities());return await s.readResource(a,{signal:d.mcpReq.signal,...c!==void 0&&{_meta:c}})}catch(c){if(d.mcpReq.signal.throwIfAborted(),c instanceof kr)throw S(c);if(c instanceof eu)throw E(c);if(c instanceof ia)throw w(c);let f=Y(c);if(f)throw e.warn(`[ProxyServer] Resource read refused, retryable: ${a} - ${c}`),f;let m=X(c);if(m)throw e.warn(`[ProxyServer] Resource read rejected as invalid params: ${a}`),m;throw e.error(`[ProxyServer] Resource read failed: ${a} - ${c}`),new t(`Failed to read resource from daemon: ${x(c)}`,{cause:c})}})}function de(o){let s=N();return new FI({...o,...s?{acceptanceDiscovery:s}:{}})}function fe(o,s,i){return async({name:d,args:a,progressToken:c,progress:f,extra:m})=>{let v=i.get(d)??!1;e.info(`[ProxyServer] Forwarding tool call: ${d}`);let l=f?(p,y,g)=>{f(p,y,g)}:void 0;try{return await ie(o,{name:d,args:a,progressToken:c,extra:m},l,s)}catch(p){m.signal.throwIfAborted();let y=_(p,s.session);if(y)return y;return ee(p,d,v)}}}function Ye(o={}){let s=o.proxy??de(o.proxyConfig),i=new Map,d=0,a=RM({name:"AutoMobile",version:Nn()},oe(o));yN(a),s.onListChanged((l)=>{try{if(l==="tools")d+=1,i.clear(),a.sendToolListChanged();else a.sendResourceListChanged()}catch(p){e.warn(`[ProxyServer] Failed to forward ${l} list_changed notification: ${p}`)}});let c=s.onResourceUpdated((l)=>{Z(a,l)}),f=s.onLivenessHandover((l)=>{K(a,l)}),m=s.onSessionDeviceRebound((l)=>{Q(a,l)}),v=a.server.onclose;return a.server.onclose=()=>{c(),f(),m(),v?.(),s.close().catch((l)=>{e.warn("[ProxyServer] Failed to close daemon proxy",l)})},a.server.setRequestHandler("resources/subscribe",async(l)=>{try{return await s.subscribeResource(l.params.uri),{}}catch(p){throw u(p,"Failed to subscribe to daemon resource")}}),a.server.setRequestHandler("resources/unsubscribe",async(l)=>{try{return await s.unsubscribeResource(l.params.uri),{}}catch(p){throw u(p,"Failed to unsubscribe from daemon resource")}}),a.server.setRequestHandler("ping",async()=>({})),a.server.setRequestHandler("prompts/list",async()=>({prompts:[]})),a.server.setRequestHandler("tools/list",async()=>{try{if(B(s,o.session))return{tools:[]};let l=d,p=await s.listAdvertisedTools(),y=s.isConnected()?p:(()=>{let g=F.getAllTools({includeUnavailable:!0}),q=rV(process.env,new Set(F.getConfigurableToolNames()),o.proxyConfig?.daemonOptions?.enabledTools,o.proxyConfig?.daemonOptions?.disabledTools),A=new Map(g.map((R)=>[R.name,R.defaultEnabled]));return p.filter((R)=>q.get(R.name)??A.get(R.name)??!0)})();if(l===d){i.clear();for(let g of y)i.set(g.name,g.outputSchema!==void 0)}return{tools:y}}catch(l){if(l instanceof kr)throw S(l);if(l instanceof eu)throw E(l);if(l instanceof ia)throw w(l);throw e.error(`[ProxyServer] Failed to list tools: ${l}`),new t(`Failed to list tools from daemon: ${x(l)}`,{cause:l})}}),AM(a,{progressFailureMessage:"[ProxyServer] Failed to relay progress notification",execute:fe(s,o,i)},{ambiguousDeviceElicitation:o.ambiguousDeviceElicitation??{}}),le(a,s),ue(a,s),ne(a,o.session),{server:a,proxy:s}}export{de as createDaemonMcpProxy,Ye as createProxyMcpServer};
3
+
4
+ //# debugId=25C6854136169C6064756E2164756E21