@lehnihon/bit-form 2.2.6 → 2.2.8

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 (177) hide show
  1. package/README.md +80 -24
  2. package/dist/angular/index.cjs +1 -1
  3. package/dist/angular/index.cjs.map +1 -1
  4. package/dist/angular/index.d.cts +20 -20
  5. package/dist/angular/index.d.ts +20 -20
  6. package/dist/angular/index.js +1 -1
  7. package/dist/angular/index.js.map +1 -1
  8. package/dist/array-controller-B5bfXV1W.d.cts +23 -0
  9. package/dist/array-controller-Cx-DMH7Y.d.ts +23 -0
  10. package/dist/bus-B2VEKrPI.d.ts +19 -0
  11. package/dist/bus-ZLQeq4Vr.d.cts +19 -0
  12. package/dist/chunk-5NA2TFPG.js +1 -0
  13. package/dist/chunk-5NA2TFPG.js.map +1 -0
  14. package/dist/chunk-63OJBMKK.js +2 -0
  15. package/dist/chunk-63OJBMKK.js.map +1 -0
  16. package/dist/chunk-BSGJ3T5S.cjs +2 -0
  17. package/dist/chunk-BSGJ3T5S.cjs.map +1 -0
  18. package/dist/chunk-CPP7ELA5.js +2 -0
  19. package/dist/chunk-CPP7ELA5.js.map +1 -0
  20. package/dist/chunk-D7JQWF6V.cjs +2 -0
  21. package/dist/chunk-D7JQWF6V.cjs.map +1 -0
  22. package/dist/chunk-E2NZR44P.js +2 -0
  23. package/dist/chunk-E2NZR44P.js.map +1 -0
  24. package/dist/chunk-EQ55DKX2.js +2 -0
  25. package/dist/chunk-EQ55DKX2.js.map +1 -0
  26. package/dist/chunk-IV32WXCF.cjs +2 -0
  27. package/dist/chunk-IV32WXCF.cjs.map +1 -0
  28. package/dist/chunk-JC4R5WCC.js +2 -0
  29. package/dist/chunk-JC4R5WCC.js.map +1 -0
  30. package/dist/chunk-K5X37E3U.js +2 -0
  31. package/dist/chunk-K5X37E3U.js.map +1 -0
  32. package/dist/chunk-M6WBNHIT.cjs +2 -0
  33. package/dist/chunk-M6WBNHIT.cjs.map +1 -0
  34. package/dist/chunk-MFSQATNZ.cjs +2 -0
  35. package/dist/chunk-MFSQATNZ.cjs.map +1 -0
  36. package/dist/chunk-MFTWAFMG.cjs +2 -0
  37. package/dist/chunk-MFTWAFMG.cjs.map +1 -0
  38. package/dist/chunk-O5UPA33R.js +2 -0
  39. package/dist/chunk-O5UPA33R.js.map +1 -0
  40. package/dist/chunk-P2YWYBWG.cjs +2 -0
  41. package/dist/chunk-P2YWYBWG.cjs.map +1 -0
  42. package/dist/chunk-QKGTVKBU.cjs +2 -0
  43. package/dist/chunk-QKGTVKBU.cjs.map +1 -0
  44. package/dist/chunk-RD73EBSN.js +2 -0
  45. package/dist/chunk-RD73EBSN.js.map +1 -0
  46. package/dist/chunk-T2JRSWQU.cjs +2 -0
  47. package/dist/chunk-T2JRSWQU.cjs.map +1 -0
  48. package/dist/chunk-UQ3DSUWC.js +2 -0
  49. package/dist/chunk-UQ3DSUWC.js.map +1 -0
  50. package/dist/chunk-VZHG372Q.cjs +2 -0
  51. package/dist/chunk-VZHG372Q.cjs.map +1 -0
  52. package/dist/chunk-W2E5UIXT.js +2 -0
  53. package/dist/chunk-W2E5UIXT.js.map +1 -0
  54. package/dist/chunk-W5CLDRRE.cjs +1 -0
  55. package/dist/chunk-W5CLDRRE.cjs.map +1 -0
  56. package/dist/cli/index.cjs +22 -22
  57. package/dist/core/bindings.cjs +2 -0
  58. package/dist/core/bindings.cjs.map +1 -0
  59. package/dist/core/bindings.d.cts +81 -0
  60. package/dist/core/bindings.d.ts +81 -0
  61. package/dist/core/bindings.js +2 -0
  62. package/dist/core/bindings.js.map +1 -0
  63. package/dist/core/status.cjs +2 -0
  64. package/dist/core/status.cjs.map +1 -0
  65. package/dist/core/status.d.cts +44 -0
  66. package/dist/core/status.d.ts +44 -0
  67. package/dist/core/status.js +2 -0
  68. package/dist/core/status.js.map +1 -0
  69. package/dist/core/store.cjs +2 -0
  70. package/dist/core/store.cjs.map +1 -0
  71. package/dist/core/store.d.cts +84 -0
  72. package/dist/core/store.d.ts +84 -0
  73. package/dist/core/store.js +2 -0
  74. package/dist/core/store.js.map +1 -0
  75. package/dist/core/utils.cjs +2 -0
  76. package/dist/core/utils.cjs.map +1 -0
  77. package/dist/core/utils.d.cts +81 -0
  78. package/dist/core/utils.d.ts +81 -0
  79. package/dist/core/utils.js +2 -0
  80. package/dist/core/utils.js.map +1 -0
  81. package/dist/core.cjs +2 -0
  82. package/dist/core.cjs.map +1 -0
  83. package/dist/core.d.cts +14 -0
  84. package/dist/core.d.ts +14 -0
  85. package/dist/core.js +2 -0
  86. package/dist/core.js.map +1 -0
  87. package/dist/devtools/bridge.cjs +1 -1
  88. package/dist/devtools/bridge.cjs.map +1 -1
  89. package/dist/devtools/bridge.d.cts +5 -1
  90. package/dist/devtools/bridge.d.ts +5 -1
  91. package/dist/devtools/bridge.js +1 -1
  92. package/dist/devtools/bridge.js.map +1 -1
  93. package/dist/devtools/index.cjs +18 -18
  94. package/dist/devtools/index.cjs.map +1 -1
  95. package/dist/devtools/index.d.cts +27 -2
  96. package/dist/devtools/index.d.ts +27 -2
  97. package/dist/devtools/index.js +18 -18
  98. package/dist/devtools/index.js.map +1 -1
  99. package/dist/devtools/protocol.cjs +2 -0
  100. package/dist/devtools/protocol.cjs.map +1 -0
  101. package/dist/devtools/protocol.d.cts +54 -0
  102. package/dist/devtools/protocol.d.ts +54 -0
  103. package/dist/devtools/protocol.js +2 -0
  104. package/dist/devtools/protocol.js.map +1 -0
  105. package/dist/field-binding-B_OX3bjp.d.cts +25 -0
  106. package/dist/field-binding-MX6jVQbT.d.ts +25 -0
  107. package/dist/index.cjs +1 -1
  108. package/dist/index.cjs.map +1 -1
  109. package/dist/index.d.cts +9 -193
  110. package/dist/index.d.ts +9 -193
  111. package/dist/index.js +1 -1
  112. package/dist/meta-types-Bzmm21TP.d.cts +18 -0
  113. package/dist/meta-types-Bzmm21TP.d.ts +18 -0
  114. package/dist/react/index.cjs +1 -1
  115. package/dist/react/index.cjs.map +1 -1
  116. package/dist/react/index.d.cts +10 -7
  117. package/dist/react/index.d.ts +10 -7
  118. package/dist/react/index.js +1 -1
  119. package/dist/react/index.js.map +1 -1
  120. package/dist/react-native/index.cjs +1 -1
  121. package/dist/react-native/index.cjs.map +1 -1
  122. package/dist/react-native/index.d.cts +8 -5
  123. package/dist/react-native/index.d.ts +8 -5
  124. package/dist/react-native/index.js +1 -1
  125. package/dist/react-native/index.js.map +1 -1
  126. package/dist/resolvers/index.cjs +1 -1
  127. package/dist/resolvers/index.cjs.map +1 -1
  128. package/dist/resolvers/index.d.cts +2 -1
  129. package/dist/resolvers/index.d.ts +2 -1
  130. package/dist/resolvers/index.js +1 -1
  131. package/dist/resolvers/joi.d.cts +2 -1
  132. package/dist/resolvers/joi.d.ts +2 -1
  133. package/dist/resolvers/yup.d.cts +2 -1
  134. package/dist/resolvers/yup.d.ts +2 -1
  135. package/dist/resolvers/zod.d.cts +2 -1
  136. package/dist/resolvers/zod.d.ts +2 -1
  137. package/dist/store-api-types-D-ZHxzRy.d.cts +161 -0
  138. package/dist/store-api-types-DPi30jQF.d.ts +161 -0
  139. package/dist/{bus-B4zZmB9C.d.ts → types-CG5nYeRk.d.ts} +140 -41
  140. package/dist/{bus-BeAeZwWu.d.cts → types-D6LhF5GC.d.cts} +140 -41
  141. package/dist/{upload-EXnJLq8k.d.cts → upload-C2mpfhp1.d.cts} +1 -1
  142. package/dist/{upload-EXnJLq8k.d.ts → upload-C2mpfhp1.d.ts} +1 -1
  143. package/dist/{use-bit-persist-Dk3fUrds.d.ts → use-bit-persist-BTwy8kvA.d.ts} +14 -14
  144. package/dist/{use-bit-persist-D_gimC9A.d.cts → use-bit-persist-C2LHNTVv.d.cts} +14 -14
  145. package/dist/utils.cjs +2 -0
  146. package/dist/utils.cjs.map +1 -0
  147. package/dist/utils.d.cts +6 -0
  148. package/dist/utils.d.ts +6 -0
  149. package/dist/utils.js +2 -0
  150. package/dist/utils.js.map +1 -0
  151. package/dist/vue/index.cjs +1 -1
  152. package/dist/vue/index.cjs.map +1 -1
  153. package/dist/vue/index.d.cts +17 -18
  154. package/dist/vue/index.d.ts +17 -18
  155. package/dist/vue/index.js +1 -1
  156. package/dist/vue/index.js.map +1 -1
  157. package/package.json +48 -17
  158. package/dist/chunk-2CVKNPWX.js +0 -2
  159. package/dist/chunk-2CVKNPWX.js.map +0 -1
  160. package/dist/chunk-3EDD3V43.cjs +0 -2
  161. package/dist/chunk-3EDD3V43.cjs.map +0 -1
  162. package/dist/chunk-PX6WKENM.js +0 -2
  163. package/dist/chunk-PX6WKENM.js.map +0 -1
  164. package/dist/chunk-QWH2NBVB.js +0 -2
  165. package/dist/chunk-QWH2NBVB.js.map +0 -1
  166. package/dist/chunk-T3FR7D5V.js +0 -2
  167. package/dist/chunk-T3FR7D5V.js.map +0 -1
  168. package/dist/chunk-VQ7MK5VB.cjs +0 -2
  169. package/dist/chunk-VQ7MK5VB.cjs.map +0 -1
  170. package/dist/chunk-Y2ONHDRE.cjs +0 -2
  171. package/dist/chunk-Y2ONHDRE.cjs.map +0 -1
  172. package/dist/chunk-YCSWULEN.cjs +0 -2
  173. package/dist/chunk-YCSWULEN.cjs.map +0 -1
  174. package/dist/field-binding-BXw0Ku2c.d.cts +0 -12
  175. package/dist/field-binding-BXw0Ku2c.d.ts +0 -12
  176. package/dist/public-types-Cd9ai20P.d.cts +0 -97
  177. package/dist/public-types-DdZxD6Op.d.ts +0 -97
@@ -1,33 +1,33 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var ur=Object.create;var Ke=Object.defineProperty;var pr=Object.getOwnPropertyDescriptor;var mr=Object.getOwnPropertyNames;var _r=Object.getPrototypeOf,gr=Object.prototype.hasOwnProperty;var y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var xr=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of mr(e))!gr.call(t,s)&&s!==r&&Ke(t,s,{get:()=>e[s],enumerable:!(i=pr(e,s))||i.enumerable});return t};var w=(t,e,r)=>(r=t!=null?ur(_r(t)):{},xr(e||!t||!t.__esModule?Ke(r,"default",{value:t,enumerable:!0}):r,t));var T=y((Ks,Je)=>{"use strict";var Xe=["nodebuffer","arraybuffer","fragments"],Ze=typeof Blob<"u";Ze&&Xe.push("blob");Je.exports={BINARY_TYPES:Xe,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Ze,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var X=y((Xs,ne)=>{"use strict";var{EMPTY_BUFFER:yr}=T(),ve=Buffer[Symbol.species];function vr(t,e){if(t.length===0)return yr;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),i=0;for(let s=0;s<t.length;s++){let n=t[s];r.set(n,i),i+=n.length}return i<e?new ve(r.buffer,r.byteOffset,i):r}function Qe(t,e,r,i,s){for(let n=0;n<s;n++)r[i+n]=t[n]^e[n&3]}function et(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function Sr(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Se(t){if(Se.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new ve(t):ArrayBuffer.isView(t)?e=new ve(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Se.readOnly=!1),e}ne.exports={concat:vr,mask:Qe,toArrayBuffer:Sr,toBuffer:Se,unmask:et};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=require("bufferutil");ne.exports.mask=function(e,r,i,s,n){n<48?Qe(e,r,i,s,n):t.mask(e,r,i,s,n)},ne.exports.unmask=function(e,r){e.length<32?et(e,r):t.unmask(e,r)}}catch{}});var st=y((Zs,rt)=>{"use strict";var tt=Symbol("kDone"),be=Symbol("kRun"),Ee=class{constructor(e){this[tt]=()=>{this.pending--,this[be]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[be]()}[be](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[tt])}}};rt.exports=Ee});var J=y((Js,at)=>{"use strict";var Z=require("zlib"),it=X(),br=st(),{kStatusCode:nt}=T(),Er=Buffer[Symbol.species],wr=Buffer.from([0,0,255,255]),ae=Symbol("permessage-deflate"),k=Symbol("total-length"),W=Symbol("callback"),B=Symbol("buffers"),q=Symbol("error"),oe,we=class{constructor(e,r,i){if(this._maxPayload=i|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!r,this._deflate=null,this._inflate=null,this.params=null,!oe){let s=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;oe=new br(s)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[W];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,i=e.find(s=>!(r.serverNoContextTakeover===!1&&s.server_no_context_takeover||s.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>s.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!s.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(i.server_no_context_takeover=!0),r.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(i.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?i.client_max_window_bits=r.clientMaxWindowBits:(i.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(i=>{let s=r[i];if(s.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(s=s[0],i==="client_max_window_bits"){if(s!==!0){let n=+s;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${i}": ${s}`);s=n}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${s}`)}else if(i==="server_max_window_bits"){let n=+s;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${i}": ${s}`);s=n}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(s!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${s}`)}else throw new Error(`Unknown parameter "${i}"`);r[i]=s})}),e}decompress(e,r,i){oe.add(s=>{this._decompress(e,r,(n,o)=>{s(),i(n,o)})})}compress(e,r,i){oe.add(s=>{this._compress(e,r,(n,o)=>{s(),i(n,o)})})}_decompress(e,r,i){let s=this._isServer?"client":"server";if(!this._inflate){let n=`${s}_max_window_bits`,o=typeof this.params[n]!="number"?Z.Z_DEFAULT_WINDOWBITS:this.params[n];this._inflate=Z.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[ae]=this,this._inflate[k]=0,this._inflate[B]=[],this._inflate.on("error",Tr),this._inflate.on("data",ot)}this._inflate[W]=i,this._inflate.write(e),r&&this._inflate.write(wr),this._inflate.flush(()=>{let n=this._inflate[q];if(n){this._inflate.close(),this._inflate=null,i(n);return}let o=it.concat(this._inflate[B],this._inflate[k]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[k]=0,this._inflate[B]=[],r&&this.params[`${s}_no_context_takeover`]&&this._inflate.reset()),i(null,o)})}_compress(e,r,i){let s=this._isServer?"server":"client";if(!this._deflate){let n=`${s}_max_window_bits`,o=typeof this.params[n]!="number"?Z.Z_DEFAULT_WINDOWBITS:this.params[n];this._deflate=Z.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[k]=0,this._deflate[B]=[],this._deflate.on("data",Nr)}this._deflate[W]=i,this._deflate.write(e),this._deflate.flush(Z.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let n=it.concat(this._deflate[B],this._deflate[k]);r&&(n=new Er(n.buffer,n.byteOffset,n.length-4)),this._deflate[W]=null,this._deflate[k]=0,this._deflate[B]=[],r&&this.params[`${s}_no_context_takeover`]&&this._deflate.reset(),i(null,n)})}};at.exports=we;function Nr(t){this[B].push(t),this[k]+=t.length}function ot(t){if(this[k]+=t.length,this[ae]._maxPayload<1||this[k]<=this[ae]._maxPayload){this[B].push(t);return}this[q]=new RangeError("Max payload size exceeded"),this[q].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[q][nt]=1009,this.removeListener("data",ot),this.reset()}function Tr(t){if(this[ae]._inflate=null,this[q]){this[W](this[q]);return}t[nt]=1007,this[W](t)}});var $=y((Qs,le)=>{"use strict";var{isUtf8:lt}=require("buffer"),{hasBlob:kr}=T(),Or=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Cr(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function Ne(t){let e=t.length,r=0;for(;r<e;)if((t[r]&128)===0)r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}function Br(t){return kr&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}le.exports={isBlob:Br,isValidStatusCode:Cr,isValidUTF8:Ne,tokenChars:Or};if(lt)le.exports.isValidUTF8=function(t){return t.length<24?Ne(t):lt(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=require("utf-8-validate");le.exports.isValidUTF8=function(e){return e.length<32?Ne(e):t(e)}}catch{}});var Be=y((ei,mt)=>{"use strict";var{Writable:Lr}=require("stream"),ct=J(),{BINARY_TYPES:Pr,EMPTY_BUFFER:ft,kStatusCode:Rr,kWebSocket:Ir}=T(),{concat:Te,toArrayBuffer:Fr,unmask:Ur}=X(),{isValidStatusCode:Dr,isValidUTF8:dt}=$(),ce=Buffer[Symbol.species],S=0,ht=1,ut=2,pt=3,ke=4,Oe=5,fe=6,Ce=class extends Lr{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Pr[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Ir]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=S}_write(e,r,i){if(this._opcode===8&&this._state==S)return i();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new ce(i.buffer,i.byteOffset+e,i.length-e),new ce(i.buffer,i.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let i=this._buffers[0],s=r.length-e;e>=i.length?r.set(this._buffers.shift(),s):(r.set(new Uint8Array(i.buffer,i.byteOffset,e),s),this._buffers[0]=new ce(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return r}startLoop(e){this._loop=!0;do switch(this._state){case S:this.getInfo(e);break;case ht:this.getPayloadLength16(e);break;case ut:this.getPayloadLength64(e);break;case pt:this.getMask();break;case ke:this.getData(e);break;case Oe:case fe:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let r=this.consume(2);if((r[0]&48)!==0){let s=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(s);return}let i=(r[0]&64)===64;if(i&&!this._extensions[ct.extensionName]){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._fin=(r[0]&128)===128,this._opcode=r[0]&15,this._payloadLength=r[1]&127,this._opcode===0){if(i){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(!this._fragmented){let s=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let s=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(s);return}if(i){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let s=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(s);return}}else{let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(r[1]&128)===128,this._isServer){if(!this._masked){let s=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(s);return}}else if(this._masked){let s=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(s);return}this._payloadLength===126?this._state=ht:this._payloadLength===127?this._state=ut:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let r=this.consume(8),i=r.readUInt32BE(0);if(i>Math.pow(2,21)-1){let s=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(s);return}this._payloadLength=i*Math.pow(2,32)+r.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(r);return}this._masked?this._state=pt:this._state=ke}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=ke}getData(e){let r=ft;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&Ur(r,this._mask)}if(this._opcode>7){this.controlMessage(r,e);return}if(this._compressed){this._state=Oe,this.decompress(r,e);return}r.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(r)),this.dataMessage(e)}decompress(e,r){this._extensions[ct.extensionName].decompress(e,this._fin,(s,n)=>{if(s)return r(s);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");r(o);return}this._fragments.push(n)}this.dataMessage(r),this._state===S&&this.startLoop(r)})}dataMessage(e){if(!this._fin){this._state=S;return}let r=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let s;this._binaryType==="nodebuffer"?s=Te(i,r):this._binaryType==="arraybuffer"?s=Fr(Te(i,r)):this._binaryType==="blob"?s=new Blob(i):s=i,this._allowSynchronousEvents?(this.emit("message",s,!0),this._state=S):(this._state=fe,setImmediate(()=>{this.emit("message",s,!0),this._state=S,this.startLoop(e)}))}else{let s=Te(i,r);if(!this._skipUTF8Validation&&!dt(s)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(n);return}this._state===Oe||this._allowSynchronousEvents?(this.emit("message",s,!1),this._state=S):(this._state=fe,setImmediate(()=>{this.emit("message",s,!1),this._state=S,this.startLoop(e)}))}}controlMessage(e,r){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,ft),this.end();else{let i=e.readUInt16BE(0);if(!Dr(i)){let n=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");r(n);return}let s=new ce(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!dt(s)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");r(n);return}this._loop=!1,this.emit("conclude",i,s),this.end()}this._state=S;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=S):(this._state=fe,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=S,this.startLoop(r)}))}createError(e,r,i,s,n){this._loop=!1,this._errored=!0;let o=new e(i?`Invalid WebSocket frame: ${r}`:r);return Error.captureStackTrace(o,this.createError),o.code=n,o[Rr]=s,o}};mt.exports=Ce});var Re=y((ri,xt)=>{"use strict";var{Duplex:ti}=require("stream"),{randomFillSync:Ar}=require("crypto"),_t=J(),{EMPTY_BUFFER:Mr,kWebSocket:Wr,NOOP:qr}=T(),{isBlob:G,isValidStatusCode:$r}=$(),{mask:gt,toBuffer:R}=X(),b=Symbol("kByteLength"),Gr=Buffer.alloc(4),de=8*1024,I,j=de,E=0,jr=1,Vr=2,Le=class t{constructor(e,r,i){this._extensions=r||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=E,this.onerror=qr,this[Wr]=void 0}static frame(e,r){let i,s=!1,n=2,o=!1;r.mask&&(i=r.maskBuffer||Gr,r.generateMask?r.generateMask(i):(j===de&&(I===void 0&&(I=Buffer.alloc(de)),Ar(I,0,de),j=0),i[0]=I[j++],i[1]=I[j++],i[2]=I[j++],i[3]=I[j++]),o=(i[0]|i[1]|i[2]|i[3])===0,n=6);let l;typeof e=="string"?(!r.mask||o)&&r[b]!==void 0?l=r[b]:(e=Buffer.from(e),l=e.length):(l=e.length,s=r.mask&&r.readOnly&&!o);let c=l;l>=65536?(n+=8,c=127):l>125&&(n+=2,c=126);let a=Buffer.allocUnsafe(s?l+n:n);return a[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(a[0]|=64),a[1]=c,c===126?a.writeUInt16BE(l,2):c===127&&(a[2]=a[3]=0,a.writeUIntBE(l,4,6)),r.mask?(a[1]|=128,a[n-4]=i[0],a[n-3]=i[1],a[n-2]=i[2],a[n-1]=i[3],o?[a,e]:s?(gt(e,i,a,n,l),[a]):(gt(e,i,e,0,l),[a,e])):[a,e]}close(e,r,i,s){let n;if(e===void 0)n=Mr;else{if(typeof e!="number"||!$r(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0);else{let l=Buffer.byteLength(r);if(l>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+l),n.writeUInt16BE(e,0),typeof r=="string"?n.write(r,2):n.set(r,2)}}let o={[b]:n.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==E?this.enqueue([this.dispatch,n,!1,o,s]):this.sendFrame(t.frame(n,o),s)}ping(e,r,i){let s,n;if(typeof e=="string"?(s=Buffer.byteLength(e),n=!1):G(e)?(s=e.size,n=!1):(e=R(e),s=e.length,n=R.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[b]:s,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};G(e)?this._state!==E?this.enqueue([this.getBlobData,e,!1,o,i]):this.getBlobData(e,!1,o,i):this._state!==E?this.enqueue([this.dispatch,e,!1,o,i]):this.sendFrame(t.frame(e,o),i)}pong(e,r,i){let s,n;if(typeof e=="string"?(s=Buffer.byteLength(e),n=!1):G(e)?(s=e.size,n=!1):(e=R(e),s=e.length,n=R.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[b]:s,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};G(e)?this._state!==E?this.enqueue([this.getBlobData,e,!1,o,i]):this.getBlobData(e,!1,o,i):this._state!==E?this.enqueue([this.dispatch,e,!1,o,i]):this.sendFrame(t.frame(e,o),i)}send(e,r,i){let s=this._extensions[_t.extensionName],n=r.binary?2:1,o=r.compress,l,c;typeof e=="string"?(l=Buffer.byteLength(e),c=!1):G(e)?(l=e.size,c=!1):(e=R(e),l=e.length,c=R.readOnly),this._firstFragment?(this._firstFragment=!1,o&&s&&s.params[s._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=l>=s._threshold),this._compress=o):(o=!1,n=0),r.fin&&(this._firstFragment=!0);let a={[b]:l,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:n,readOnly:c,rsv1:o};G(e)?this._state!==E?this.enqueue([this.getBlobData,e,this._compress,a,i]):this.getBlobData(e,this._compress,a,i):this._state!==E?this.enqueue([this.dispatch,e,this._compress,a,i]):this.dispatch(e,this._compress,a,i)}getBlobData(e,r,i,s){this._bufferedBytes+=i[b],this._state=Vr,e.arrayBuffer().then(n=>{if(this._socket.destroyed){let l=new Error("The socket was closed while the blob was being read");process.nextTick(Pe,this,l,s);return}this._bufferedBytes-=i[b];let o=R(n);r?this.dispatch(o,r,i,s):(this._state=E,this.sendFrame(t.frame(o,i),s),this.dequeue())}).catch(n=>{process.nextTick(Hr,this,n,s)})}dispatch(e,r,i,s){if(!r){this.sendFrame(t.frame(e,i),s);return}let n=this._extensions[_t.extensionName];this._bufferedBytes+=i[b],this._state=jr,n.compress(e,i.fin,(o,l)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");Pe(this,c,s);return}this._bufferedBytes-=i[b],this._state=E,i.readOnly=!1,this.sendFrame(t.frame(l,i),s),this.dequeue()})}dequeue(){for(;this._state===E&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][b],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][b],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};xt.exports=Le;function Pe(t,e,r){typeof r=="function"&&r(e);for(let i=0;i<t._queue.length;i++){let s=t._queue[i],n=s[s.length-1];typeof n=="function"&&n(e)}}function Hr(t,e,r){Pe(t,e,r),t.onerror(e)}});var kt=y((si,Tt)=>{"use strict";var{kForOnEventAttribute:Q,kListener:Ie}=T(),yt=Symbol("kCode"),vt=Symbol("kData"),St=Symbol("kError"),bt=Symbol("kMessage"),Et=Symbol("kReason"),V=Symbol("kTarget"),wt=Symbol("kType"),Nt=Symbol("kWasClean"),O=class{constructor(e){this[V]=null,this[wt]=e}get target(){return this[V]}get type(){return this[wt]}};Object.defineProperty(O.prototype,"target",{enumerable:!0});Object.defineProperty(O.prototype,"type",{enumerable:!0});var F=class extends O{constructor(e,r={}){super(e),this[yt]=r.code===void 0?0:r.code,this[Et]=r.reason===void 0?"":r.reason,this[Nt]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[yt]}get reason(){return this[Et]}get wasClean(){return this[Nt]}};Object.defineProperty(F.prototype,"code",{enumerable:!0});Object.defineProperty(F.prototype,"reason",{enumerable:!0});Object.defineProperty(F.prototype,"wasClean",{enumerable:!0});var H=class extends O{constructor(e,r={}){super(e),this[St]=r.error===void 0?null:r.error,this[bt]=r.message===void 0?"":r.message}get error(){return this[St]}get message(){return this[bt]}};Object.defineProperty(H.prototype,"error",{enumerable:!0});Object.defineProperty(H.prototype,"message",{enumerable:!0});var ee=class extends O{constructor(e,r={}){super(e),this[vt]=r.data===void 0?null:r.data}get data(){return this[vt]}};Object.defineProperty(ee.prototype,"data",{enumerable:!0});var zr={addEventListener(t,e,r={}){for(let s of this.listeners(t))if(!r[Q]&&s[Ie]===e&&!s[Q])return;let i;if(t==="message")i=function(n,o){let l=new ee("message",{data:o?n:n.toString()});l[V]=this,he(e,this,l)};else if(t==="close")i=function(n,o){let l=new F("close",{code:n,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});l[V]=this,he(e,this,l)};else if(t==="error")i=function(n){let o=new H("error",{error:n,message:n.message});o[V]=this,he(e,this,o)};else if(t==="open")i=function(){let n=new O("open");n[V]=this,he(e,this,n)};else return;i[Q]=!!r[Q],i[Ie]=e,r.once?this.once(t,i):this.on(t,i)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[Ie]===e&&!r[Q]){this.removeListener(t,r);break}}};Tt.exports={CloseEvent:F,ErrorEvent:H,Event:O,EventTarget:zr,MessageEvent:ee};function he(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var Fe=y((ii,Ot)=>{"use strict";var{tokenChars:te}=$();function N(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Yr(t){let e=Object.create(null),r=Object.create(null),i=!1,s=!1,n=!1,o,l,c=-1,a=-1,f=-1,d=0;for(;d<t.length;d++)if(a=t.charCodeAt(d),o===void 0)if(f===-1&&te[a]===1)c===-1&&(c=d);else if(d!==0&&(a===32||a===9))f===-1&&c!==-1&&(f=d);else if(a===59||a===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);f===-1&&(f=d);let _=t.slice(c,f);a===44?(N(e,_,r),r=Object.create(null)):o=_,c=f=-1}else throw new SyntaxError(`Unexpected character at index ${d}`);else if(l===void 0)if(f===-1&&te[a]===1)c===-1&&(c=d);else if(a===32||a===9)f===-1&&c!==-1&&(f=d);else if(a===59||a===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);f===-1&&(f=d),N(r,t.slice(c,f),!0),a===44&&(N(e,o,r),r=Object.create(null),o=void 0),c=f=-1}else if(a===61&&c!==-1&&f===-1)l=t.slice(c,d),c=f=-1;else throw new SyntaxError(`Unexpected character at index ${d}`);else if(s){if(te[a]!==1)throw new SyntaxError(`Unexpected character at index ${d}`);c===-1?c=d:i||(i=!0),s=!1}else if(n)if(te[a]===1)c===-1&&(c=d);else if(a===34&&c!==-1)n=!1,f=d;else if(a===92)s=!0;else throw new SyntaxError(`Unexpected character at index ${d}`);else if(a===34&&t.charCodeAt(d-1)===61)n=!0;else if(f===-1&&te[a]===1)c===-1&&(c=d);else if(c!==-1&&(a===32||a===9))f===-1&&(f=d);else if(a===59||a===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);f===-1&&(f=d);let _=t.slice(c,f);i&&(_=_.replace(/\\/g,""),i=!1),N(r,l,_),a===44&&(N(e,o,r),r=Object.create(null),o=void 0),l=void 0,c=f=-1}else throw new SyntaxError(`Unexpected character at index ${d}`);if(c===-1||n||a===32||a===9)throw new SyntaxError("Unexpected end of input");f===-1&&(f=d);let u=t.slice(c,f);return o===void 0?N(e,u,r):(l===void 0?N(r,u,!0):i?N(r,l,u.replace(/\\/g,"")):N(r,l,u),N(e,o,r)),e}function Kr(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(i=>[e].concat(Object.keys(i).map(s=>{let n=i[s];return Array.isArray(n)||(n=[n]),n.map(o=>o===!0?s:`${s}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Ot.exports={format:Kr,parse:Yr}});var _e=y((ai,Wt)=>{"use strict";var Xr=require("events"),Zr=require("https"),Jr=require("http"),Lt=require("net"),Qr=require("tls"),{randomBytes:es,createHash:ts}=require("crypto"),{Duplex:ni,Readable:oi}=require("stream"),{URL:Ue}=require("url"),L=J(),rs=Be(),ss=Re(),{isBlob:is}=$(),{BINARY_TYPES:Ct,CLOSE_TIMEOUT:ns,EMPTY_BUFFER:ue,GUID:os,kForOnEventAttribute:De,kListener:as,kStatusCode:ls,kWebSocket:g,NOOP:Pt}=T(),{EventTarget:{addEventListener:cs,removeEventListener:fs}}=kt(),{format:ds,parse:hs}=Fe(),{toBuffer:us}=X(),Rt=Symbol("kAborted"),Ae=[8,13],C=["CONNECTING","OPEN","CLOSING","CLOSED"],ps=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,p=class t extends Xr{constructor(e,r,i){super(),this._binaryType=Ct[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=ue,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(i=r,r=[]):r=[r]),It(this,e,r,i)):(this._autoPong=i.autoPong,this._closeTimeout=i.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Ct.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,r,i){let s=new rs({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),n=new ss(e,this._extensions,i.generateMask);this._receiver=s,this._sender=n,this._socket=e,s[g]=this,n[g]=this,e[g]=this,s.on("conclude",gs),s.on("drain",xs),s.on("error",ys),s.on("message",vs),s.on("ping",Ss),s.on("pong",bs),n.onerror=Es,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",Dt),e.on("data",me),e.on("end",At),e.on("error",Mt),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[L.extensionName]&&this._extensions[L.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){v(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Ut(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=r=void 0):typeof r=="function"&&(i=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Me(this,e,i);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||ue,r,i)}pong(e,r,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=r=void 0):typeof r=="function"&&(i=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Me(this,e,i);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||ue,r,i)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(i=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Me(this,e,i);return}let s={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[L.extensionName]||(s.compress=!1),this._sender.send(e||ue,s,i)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){v(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(p,"CONNECTING",{enumerable:!0,value:C.indexOf("CONNECTING")});Object.defineProperty(p.prototype,"CONNECTING",{enumerable:!0,value:C.indexOf("CONNECTING")});Object.defineProperty(p,"OPEN",{enumerable:!0,value:C.indexOf("OPEN")});Object.defineProperty(p.prototype,"OPEN",{enumerable:!0,value:C.indexOf("OPEN")});Object.defineProperty(p,"CLOSING",{enumerable:!0,value:C.indexOf("CLOSING")});Object.defineProperty(p.prototype,"CLOSING",{enumerable:!0,value:C.indexOf("CLOSING")});Object.defineProperty(p,"CLOSED",{enumerable:!0,value:C.indexOf("CLOSED")});Object.defineProperty(p.prototype,"CLOSED",{enumerable:!0,value:C.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(p.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(p.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[De])return e[as];return null},set(e){for(let r of this.listeners(t))if(r[De]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[De]:!0})}})});p.prototype.addEventListener=cs;p.prototype.removeEventListener=fs;Wt.exports=p;function It(t,e,r,i){let s={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:ns,protocolVersion:Ae[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=s.autoPong,t._closeTimeout=s.closeTimeout,!Ae.includes(s.protocolVersion))throw new RangeError(`Unsupported protocol version: ${s.protocolVersion} (supported versions: ${Ae.join(", ")})`);let n;if(e instanceof Ue)n=e;else try{n=new Ue(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),t._url=n.href;let o=n.protocol==="wss:",l=n.protocol==="ws+unix:",c;if(n.protocol!=="ws:"&&!o&&!l?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:l&&!n.pathname?c="The URL's pathname is empty":n.hash&&(c="The URL contains a fragment identifier"),c){let h=new SyntaxError(c);if(t._redirects===0)throw h;pe(t,h);return}let a=o?443:80,f=es(16).toString("base64"),d=o?Zr.request:Jr.request,u=new Set,_;if(s.createConnection=s.createConnection||(o?_s:ms),s.defaultPort=s.defaultPort||a,s.port=n.port||a,s.host=n.hostname.startsWith("[")?n.hostname.slice(1,-1):n.hostname,s.headers={...s.headers,"Sec-WebSocket-Version":s.protocolVersion,"Sec-WebSocket-Key":f,Connection:"Upgrade",Upgrade:"websocket"},s.path=n.pathname+n.search,s.timeout=s.handshakeTimeout,s.perMessageDeflate&&(_=new L(s.perMessageDeflate!==!0?s.perMessageDeflate:{},!1,s.maxPayload),s.headers["Sec-WebSocket-Extensions"]=ds({[L.extensionName]:_.offer()})),r.length){for(let h of r){if(typeof h!="string"||!ps.test(h)||u.has(h))throw new SyntaxError("An invalid or duplicated subprotocol was specified");u.add(h)}s.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(s.origin&&(s.protocolVersion<13?s.headers["Sec-WebSocket-Origin"]=s.origin:s.headers.Origin=s.origin),(n.username||n.password)&&(s.auth=`${n.username}:${n.password}`),l){let h=s.path.split(":");s.socketPath=h[0],s.path=h[1]}let m;if(s.followRedirects){if(t._redirects===0){t._originalIpc=l,t._originalSecure=o,t._originalHostOrSocketPath=l?s.socketPath:n.host;let h=i&&i.headers;if(i={...i,headers:{}},h)for(let[x,A]of Object.entries(h))i.headers[x.toLowerCase()]=A}else if(t.listenerCount("redirect")===0){let h=l?t._originalIpc?s.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:n.host===t._originalHostOrSocketPath;(!h||t._originalSecure&&!o)&&(delete s.headers.authorization,delete s.headers.cookie,h||delete s.headers.host,s.auth=void 0)}s.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(s.auth).toString("base64")),m=t._req=d(s),t._redirects&&t.emit("redirect",t.url,m)}else m=t._req=d(s);s.timeout&&m.on("timeout",()=>{v(t,m,"Opening handshake has timed out")}),m.on("error",h=>{m===null||m[Rt]||(m=t._req=null,pe(t,h))}),m.on("response",h=>{let x=h.headers.location,A=h.statusCode;if(x&&s.followRedirects&&A>=300&&A<400){if(++t._redirects>s.maxRedirects){v(t,m,"Maximum redirects exceeded");return}m.abort();let Y;try{Y=new Ue(x,e)}catch{let M=new SyntaxError(`Invalid URL: ${x}`);pe(t,M);return}It(t,Y,r,i)}else t.emit("unexpected-response",m,h)||v(t,m,`Unexpected server response: ${h.statusCode}`)}),m.on("upgrade",(h,x,A)=>{if(t.emit("upgrade",h),t.readyState!==p.CONNECTING)return;m=t._req=null;let Y=h.headers.upgrade;if(Y===void 0||Y.toLowerCase()!=="websocket"){v(t,x,"Invalid Upgrade header");return}let He=ts("sha1").update(f+os).digest("base64");if(h.headers["sec-websocket-accept"]!==He){v(t,x,"Invalid Sec-WebSocket-Accept header");return}let M=h.headers["sec-websocket-protocol"],K;if(M!==void 0?u.size?u.has(M)||(K="Server sent an invalid subprotocol"):K="Server sent a subprotocol but none was requested":u.size&&(K="Server sent no subprotocol"),K){v(t,x,K);return}M&&(t._protocol=M);let ze=h.headers["sec-websocket-extensions"];if(ze!==void 0){if(!_){v(t,x,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let xe;try{xe=hs(ze)}catch{v(t,x,"Invalid Sec-WebSocket-Extensions header");return}let Ye=Object.keys(xe);if(Ye.length!==1||Ye[0]!==L.extensionName){v(t,x,"Server indicated an extension that was not requested");return}try{_.accept(xe[L.extensionName])}catch{v(t,x,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[L.extensionName]=_}t.setSocket(x,A,{allowSynchronousEvents:s.allowSynchronousEvents,generateMask:s.generateMask,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation})}),s.finishRequest?s.finishRequest(m,t):m.end()}function pe(t,e){t._readyState=p.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function ms(t){return t.path=t.socketPath,Lt.connect(t)}function _s(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=Lt.isIP(t.host)?"":t.host),Qr.connect(t)}function v(t,e,r){t._readyState=p.CLOSING;let i=new Error(r);Error.captureStackTrace(i,v),e.setHeader?(e[Rt]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(pe,t,i)):(e.destroy(i),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Me(t,e,r){if(e){let i=is(e)?e.size:us(e).length;t._socket?t._sender._bufferedBytes+=i:t._bufferedAmount+=i}if(r){let i=new Error(`WebSocket is not open: readyState ${t.readyState} (${C[t.readyState]})`);process.nextTick(r,i)}}function gs(t,e){let r=this[g];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[g]!==void 0&&(r._socket.removeListener("data",me),process.nextTick(Ft,r._socket),t===1005?r.close():r.close(t,e))}function xs(){let t=this[g];t.isPaused||t._socket.resume()}function ys(t){let e=this[g];e._socket[g]!==void 0&&(e._socket.removeListener("data",me),process.nextTick(Ft,e._socket),e.close(t[ls])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function Bt(){this[g].emitClose()}function vs(t,e){this[g].emit("message",t,e)}function Ss(t){let e=this[g];e._autoPong&&e.pong(t,!this._isServer,Pt),e.emit("ping",t)}function bs(t){this[g].emit("pong",t)}function Ft(t){t.resume()}function Es(t){let e=this[g];e.readyState!==p.CLOSED&&(e.readyState===p.OPEN&&(e._readyState=p.CLOSING,Ut(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function Ut(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function Dt(){let t=this[g];if(this.removeListener("close",Dt),this.removeListener("data",me),this.removeListener("end",At),t._readyState=p.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[g]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",Bt),t._receiver.on("finish",Bt))}function me(t){this[g]._receiver.write(t)||this.pause()}function At(){let t=this[g];t._readyState=p.CLOSING,t._receiver.end(),this.end()}function Mt(){let t=this[g];this.removeListener("error",Mt),this.on("error",Pt),t&&(t._readyState=p.CLOSING,this.destroy())}});var jt=y((ci,Gt)=>{"use strict";var li=_e(),{Duplex:ws}=require("stream");function qt(t){t.emit("close")}function Ns(){!this.destroyed&&this._writableState.finished&&this.destroy()}function $t(t){this.removeListener("error",$t),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function Ts(t,e){let r=!0,i=new ws({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(n,o){let l=!o&&i._readableState.objectMode?n.toString():n;i.push(l)||t.pause()}),t.once("error",function(n){i.destroyed||(r=!1,i.destroy(n))}),t.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(s,n){if(t.readyState===t.CLOSED){n(s),process.nextTick(qt,i);return}let o=!1;t.once("error",function(c){o=!0,n(c)}),t.once("close",function(){o||n(s),process.nextTick(qt,i)}),r&&t.terminate()},i._final=function(s){if(t.readyState===t.CONNECTING){t.once("open",function(){i._final(s)});return}t._socket!==null&&(t._socket._writableState.finished?(s(),i._readableState.endEmitted&&i.destroy()):(t._socket.once("finish",function(){s()}),t.close()))},i._read=function(){t.isPaused&&t.resume()},i._write=function(s,n,o){if(t.readyState===t.CONNECTING){t.once("open",function(){i._write(s,n,o)});return}t.send(s,o)},i.on("end",Ns),i.on("error",$t),i}Gt.exports=Ts});var Ht=y((fi,Vt)=>{"use strict";var{tokenChars:ks}=$();function Os(t){let e=new Set,r=-1,i=-1,s=0;for(s;s<t.length;s++){let o=t.charCodeAt(s);if(i===-1&&ks[o]===1)r===-1&&(r=s);else if(s!==0&&(o===32||o===9))i===-1&&r!==-1&&(i=s);else if(o===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${s}`);i===-1&&(i=s);let l=t.slice(r,i);if(e.has(l))throw new SyntaxError(`The "${l}" subprotocol is duplicated`);e.add(l),r=i=-1}else throw new SyntaxError(`Unexpected character at index ${s}`)}if(r===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let n=t.slice(r,s);if(e.has(n))throw new SyntaxError(`The "${n}" subprotocol is duplicated`);return e.add(n),e}Vt.exports={parse:Os}});var Qt=y((hi,Jt)=>{"use strict";var Cs=require("events"),ge=require("http"),{Duplex:di}=require("stream"),{createHash:Bs}=require("crypto"),zt=Fe(),U=J(),Ls=Ht(),Ps=_e(),{CLOSE_TIMEOUT:Rs,GUID:Is,kWebSocket:Fs}=T(),Us=/^[+/0-9A-Za-z]{22}==$/,Yt=0,Kt=1,Zt=2,We=class extends Cs{constructor(e,r){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:Rs,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Ps,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=ge.createServer((i,s)=>{let n=ge.STATUS_CODES[426];s.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),s.end(n)}),this._server.listen(e.port,e.host,e.backlog,r)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=Ds(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(s,n,o)=>{this.handleUpgrade(s,n,o,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Yt}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Zt){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(re,this);return}if(e&&this.once("close",e),this._state!==Kt)if(this._state=Kt,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(re,this):process.nextTick(re,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{re(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,i,s){r.on("error",Xt);let n=e.headers["sec-websocket-key"],o=e.headers.upgrade,l=+e.headers["sec-websocket-version"];if(e.method!=="GET"){D(this,e,r,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){D(this,e,r,400,"Invalid Upgrade header");return}if(n===void 0||!Us.test(n)){D(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(l!==13&&l!==8){D(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){se(r,400);return}let c=e.headers["sec-websocket-protocol"],a=new Set;if(c!==void 0)try{a=Ls.parse(c)}catch{D(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let f=e.headers["sec-websocket-extensions"],d={};if(this.options.perMessageDeflate&&f!==void 0){let u=new U(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let _=zt.parse(f);_[U.extensionName]&&(u.accept(_[U.extensionName]),d[U.extensionName]=u)}catch{D(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let u={origin:e.headers[`${l===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(u,(_,m,h,x)=>{if(!_)return se(r,m||401,h,x);this.completeUpgrade(d,n,a,e,r,i,s)});return}if(!this.options.verifyClient(u))return se(r,401)}this.completeUpgrade(d,n,a,e,r,i,s)}completeUpgrade(e,r,i,s,n,o,l){if(!n.readable||!n.writable)return n.destroy();if(n[Fs])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Yt)return se(n,503);let a=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Bs("sha1").update(r+Is).digest("base64")}`],f=new this.options.WebSocket(null,void 0,this.options);if(i.size){let d=this.options.handleProtocols?this.options.handleProtocols(i,s):i.values().next().value;d&&(a.push(`Sec-WebSocket-Protocol: ${d}`),f._protocol=d)}if(e[U.extensionName]){let d=e[U.extensionName].params,u=zt.format({[U.extensionName]:[d]});a.push(`Sec-WebSocket-Extensions: ${u}`),f._extensions=e}this.emit("headers",a,s),n.write(a.concat(`\r
2
+ "use strict";var yr=Object.create;var Ke=Object.defineProperty;var xr=Object.getOwnPropertyDescriptor;var vr=Object.getOwnPropertyNames;var Sr=Object.getPrototypeOf,br=Object.prototype.hasOwnProperty;var x=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Er=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of vr(e))!br.call(t,i)&&i!==r&&Ke(t,i,{get:()=>e[i],enumerable:!(s=xr(e,i))||s.enumerable});return t};var w=(t,e,r)=>(r=t!=null?yr(Sr(t)):{},Er(e||!t||!t.__esModule?Ke(r,"default",{value:t,enumerable:!0}):r,t));var k=x((Qs,Qe)=>{"use strict";var Ze=["nodebuffer","arraybuffer","fragments"],Je=typeof Blob<"u";Je&&Ze.push("blob");Qe.exports={BINARY_TYPES:Ze,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Je,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var X=x((ei,ne)=>{"use strict";var{EMPTY_BUFFER:wr}=k(),ve=Buffer[Symbol.species];function Tr(t,e){if(t.length===0)return wr;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),s=0;for(let i=0;i<t.length;i++){let n=t[i];r.set(n,s),s+=n.length}return s<e?new ve(r.buffer,r.byteOffset,s):r}function et(t,e,r,s,i){for(let n=0;n<i;n++)r[s+n]=t[n]^e[n&3]}function tt(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function kr(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Se(t){if(Se.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new ve(t):ArrayBuffer.isView(t)?e=new ve(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Se.readOnly=!1),e}ne.exports={concat:Tr,mask:et,toArrayBuffer:kr,toBuffer:Se,unmask:tt};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=require("bufferutil");ne.exports.mask=function(e,r,s,i,n){n<48?et(e,r,s,i,n):t.mask(e,r,s,i,n)},ne.exports.unmask=function(e,r){e.length<32?tt(e,r):t.unmask(e,r)}}catch{}});var it=x((ti,st)=>{"use strict";var rt=Symbol("kDone"),be=Symbol("kRun"),Ee=class{constructor(e){this[rt]=()=>{this.pending--,this[be]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[be]()}[be](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[rt])}}};st.exports=Ee});var J=x((ri,lt)=>{"use strict";var Z=require("zlib"),nt=X(),Nr=it(),{kStatusCode:ot}=k(),Or=Buffer[Symbol.species],Cr=Buffer.from([0,0,255,255]),ae=Symbol("permessage-deflate"),N=Symbol("total-length"),W=Symbol("callback"),P=Symbol("buffers"),q=Symbol("error"),oe,we=class{constructor(e,r,s){if(this._maxPayload=s|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!r,this._deflate=null,this._inflate=null,this.params=null,!oe){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;oe=new Nr(i)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[W];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,s=e.find(i=>!(r.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>i.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!s)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(s.server_no_context_takeover=!0),r.clientNoContextTakeover&&(s.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(s.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?s.client_max_window_bits=r.clientMaxWindowBits:(s.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete s.client_max_window_bits,s}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(s=>{let i=r[s];if(i.length>1)throw new Error(`Parameter "${s}" must have only a single value`);if(i=i[0],s==="client_max_window_bits"){if(i!==!0){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else if(s==="server_max_window_bits"){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(s==="client_no_context_takeover"||s==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else throw new Error(`Unknown parameter "${s}"`);r[s]=i})}),e}decompress(e,r,s){oe.add(i=>{this._decompress(e,r,(n,o)=>{i(),s(n,o)})})}compress(e,r,s){oe.add(i=>{this._compress(e,r,(n,o)=>{i(),s(n,o)})})}_decompress(e,r,s){let i=this._isServer?"client":"server";if(!this._inflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Z.Z_DEFAULT_WINDOWBITS:this.params[n];this._inflate=Z.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[ae]=this,this._inflate[N]=0,this._inflate[P]=[],this._inflate.on("error",Br),this._inflate.on("data",at)}this._inflate[W]=s,this._inflate.write(e),r&&this._inflate.write(Cr),this._inflate.flush(()=>{let n=this._inflate[q];if(n){this._inflate.close(),this._inflate=null,s(n);return}let o=nt.concat(this._inflate[P],this._inflate[N]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[N]=0,this._inflate[P]=[],r&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),s(null,o)})}_compress(e,r,s){let i=this._isServer?"server":"client";if(!this._deflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Z.Z_DEFAULT_WINDOWBITS:this.params[n];this._deflate=Z.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[N]=0,this._deflate[P]=[],this._deflate.on("data",Pr)}this._deflate[W]=s,this._deflate.write(e),this._deflate.flush(Z.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let n=nt.concat(this._deflate[P],this._deflate[N]);r&&(n=new Or(n.buffer,n.byteOffset,n.length-4)),this._deflate[W]=null,this._deflate[N]=0,this._deflate[P]=[],r&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),s(null,n)})}};lt.exports=we;function Pr(t){this[P].push(t),this[N]+=t.length}function at(t){if(this[N]+=t.length,this[ae]._maxPayload<1||this[N]<=this[ae]._maxPayload){this[P].push(t);return}this[q]=new RangeError("Max payload size exceeded"),this[q].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[q][ot]=1009,this.removeListener("data",at),this.reset()}function Br(t){if(this[ae]._inflate=null,this[q]){this[W](this[q]);return}t[ot]=1007,this[W](t)}});var V=x((si,le)=>{"use strict";var{isUtf8:ct}=require("buffer"),{hasBlob:Lr}=k(),Dr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Rr(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function Te(t){let e=t.length,r=0;for(;r<e;)if((t[r]&128)===0)r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}function Ir(t){return Lr&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}le.exports={isBlob:Ir,isValidStatusCode:Rr,isValidUTF8:Te,tokenChars:Dr};if(ct)le.exports.isValidUTF8=function(t){return t.length<24?Te(t):ct(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=require("utf-8-validate");le.exports.isValidUTF8=function(e){return e.length<32?Te(e):t(e)}}catch{}});var Pe=x((ii,_t)=>{"use strict";var{Writable:Fr}=require("stream"),dt=J(),{BINARY_TYPES:Ur,EMPTY_BUFFER:ft,kStatusCode:Ar,kWebSocket:Mr}=k(),{concat:ke,toArrayBuffer:Wr,unmask:qr}=X(),{isValidStatusCode:Vr,isValidUTF8:ht}=V(),ce=Buffer[Symbol.species],S=0,ut=1,pt=2,mt=3,Ne=4,Oe=5,de=6,Ce=class extends Fr{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Ur[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Mr]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=S}_write(e,r,s){if(this._opcode===8&&this._state==S)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let s=this._buffers[0];return this._buffers[0]=new ce(s.buffer,s.byteOffset+e,s.length-e),new ce(s.buffer,s.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let s=this._buffers[0],i=r.length-e;e>=s.length?r.set(this._buffers.shift(),i):(r.set(new Uint8Array(s.buffer,s.byteOffset,e),i),this._buffers[0]=new ce(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return r}startLoop(e){this._loop=!0;do switch(this._state){case S:this.getInfo(e);break;case ut:this.getPayloadLength16(e);break;case pt:this.getPayloadLength64(e);break;case mt:this.getMask();break;case Ne:this.getData(e);break;case Oe:case de:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let r=this.consume(2);if((r[0]&48)!==0){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(i);return}let s=(r[0]&64)===64;if(s&&!this._extensions[dt.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._fin=(r[0]&128)===128,this._opcode=r[0]&15,this._payloadLength=r[1]&127,this._opcode===0){if(s){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._compressed=s}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(i);return}if(s){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(r[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(i);return}this._payloadLength===126?this._state=ut:this._payloadLength===127?this._state=pt:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let r=this.consume(8),s=r.readUInt32BE(0);if(s>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(i);return}this._payloadLength=s*Math.pow(2,32)+r.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(r);return}this._masked?this._state=mt:this._state=Ne}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Ne}getData(e){let r=ft;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&qr(r,this._mask)}if(this._opcode>7){this.controlMessage(r,e);return}if(this._compressed){this._state=Oe,this.decompress(r,e);return}r.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(r)),this.dataMessage(e)}decompress(e,r){this._extensions[dt.extensionName].decompress(e,this._fin,(i,n)=>{if(i)return r(i);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");r(o);return}this._fragments.push(n)}this.dataMessage(r),this._state===S&&this.startLoop(r)})}dataMessage(e){if(!this._fin){this._state=S;return}let r=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=ke(s,r):this._binaryType==="arraybuffer"?i=Wr(ke(s,r)):this._binaryType==="blob"?i=new Blob(s):i=s,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=S):(this._state=de,setImmediate(()=>{this.emit("message",i,!0),this._state=S,this.startLoop(e)}))}else{let i=ke(s,r);if(!this._skipUTF8Validation&&!ht(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(n);return}this._state===Oe||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=S):(this._state=de,setImmediate(()=>{this.emit("message",i,!1),this._state=S,this.startLoop(e)}))}}controlMessage(e,r){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,ft),this.end();else{let s=e.readUInt16BE(0);if(!Vr(s)){let n=this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");r(n);return}let i=new ce(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!ht(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");r(n);return}this._loop=!1,this.emit("conclude",s,i),this.end()}this._state=S;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=S):(this._state=de,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=S,this.startLoop(r)}))}createError(e,r,s,i,n){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${r}`:r);return Error.captureStackTrace(o,this.createError),o.code=n,o[Ar]=i,o}};_t.exports=Ce});var De=x((oi,xt)=>{"use strict";var{Duplex:ni}=require("stream"),{randomFillSync:$r}=require("crypto"),gt=J(),{EMPTY_BUFFER:Gr,kWebSocket:jr,NOOP:Hr}=k(),{isBlob:$,isValidStatusCode:zr}=V(),{mask:yt,toBuffer:D}=X(),b=Symbol("kByteLength"),Yr=Buffer.alloc(4),fe=8*1024,R,G=fe,E=0,Kr=1,Xr=2,Be=class t{constructor(e,r,s){this._extensions=r||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=E,this.onerror=Hr,this[jr]=void 0}static frame(e,r){let s,i=!1,n=2,o=!1;r.mask&&(s=r.maskBuffer||Yr,r.generateMask?r.generateMask(s):(G===fe&&(R===void 0&&(R=Buffer.alloc(fe)),$r(R,0,fe),G=0),s[0]=R[G++],s[1]=R[G++],s[2]=R[G++],s[3]=R[G++]),o=(s[0]|s[1]|s[2]|s[3])===0,n=6);let l;typeof e=="string"?(!r.mask||o)&&r[b]!==void 0?l=r[b]:(e=Buffer.from(e),l=e.length):(l=e.length,i=r.mask&&r.readOnly&&!o);let c=l;l>=65536?(n+=8,c=127):l>125&&(n+=2,c=126);let a=Buffer.allocUnsafe(i?l+n:n);return a[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(a[0]|=64),a[1]=c,c===126?a.writeUInt16BE(l,2):c===127&&(a[2]=a[3]=0,a.writeUIntBE(l,4,6)),r.mask?(a[1]|=128,a[n-4]=s[0],a[n-3]=s[1],a[n-2]=s[2],a[n-1]=s[3],o?[a,e]:i?(yt(e,s,a,n,l),[a]):(yt(e,s,e,0,l),[a,e])):[a,e]}close(e,r,s,i){let n;if(e===void 0)n=Gr;else{if(typeof e!="number"||!zr(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0);else{let l=Buffer.byteLength(r);if(l>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+l),n.writeUInt16BE(e,0),typeof r=="string"?n.write(r,2):n.set(r,2)}}let o={[b]:n.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==E?this.enqueue([this.dispatch,n,!1,o,i]):this.sendFrame(t.frame(n,o),i)}ping(e,r,s){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):$(e)?(i=e.size,n=!1):(e=D(e),i=e.length,n=D.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[b]:i,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};$(e)?this._state!==E?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):this._state!==E?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}pong(e,r,s){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):$(e)?(i=e.size,n=!1):(e=D(e),i=e.length,n=D.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[b]:i,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};$(e)?this._state!==E?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):this._state!==E?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}send(e,r,s){let i=this._extensions[gt.extensionName],n=r.binary?2:1,o=r.compress,l,c;typeof e=="string"?(l=Buffer.byteLength(e),c=!1):$(e)?(l=e.size,c=!1):(e=D(e),l=e.length,c=D.readOnly),this._firstFragment?(this._firstFragment=!1,o&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=l>=i._threshold),this._compress=o):(o=!1,n=0),r.fin&&(this._firstFragment=!0);let a={[b]:l,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:n,readOnly:c,rsv1:o};$(e)?this._state!==E?this.enqueue([this.getBlobData,e,this._compress,a,s]):this.getBlobData(e,this._compress,a,s):this._state!==E?this.enqueue([this.dispatch,e,this._compress,a,s]):this.dispatch(e,this._compress,a,s)}getBlobData(e,r,s,i){this._bufferedBytes+=s[b],this._state=Xr,e.arrayBuffer().then(n=>{if(this._socket.destroyed){let l=new Error("The socket was closed while the blob was being read");process.nextTick(Le,this,l,i);return}this._bufferedBytes-=s[b];let o=D(n);r?this.dispatch(o,r,s,i):(this._state=E,this.sendFrame(t.frame(o,s),i),this.dequeue())}).catch(n=>{process.nextTick(Zr,this,n,i)})}dispatch(e,r,s,i){if(!r){this.sendFrame(t.frame(e,s),i);return}let n=this._extensions[gt.extensionName];this._bufferedBytes+=s[b],this._state=Kr,n.compress(e,s.fin,(o,l)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");Le(this,c,i);return}this._bufferedBytes-=s[b],this._state=E,s.readOnly=!1,this.sendFrame(t.frame(l,s),i),this.dequeue()})}dequeue(){for(;this._state===E&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][b],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][b],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};xt.exports=Be;function Le(t,e,r){typeof r=="function"&&r(e);for(let s=0;s<t._queue.length;s++){let i=t._queue[s],n=i[i.length-1];typeof n=="function"&&n(e)}}function Zr(t,e,r){Le(t,e,r),t.onerror(e)}});var Ot=x((ai,Nt)=>{"use strict";var{kForOnEventAttribute:Q,kListener:Re}=k(),vt=Symbol("kCode"),St=Symbol("kData"),bt=Symbol("kError"),Et=Symbol("kMessage"),wt=Symbol("kReason"),j=Symbol("kTarget"),Tt=Symbol("kType"),kt=Symbol("kWasClean"),O=class{constructor(e){this[j]=null,this[Tt]=e}get target(){return this[j]}get type(){return this[Tt]}};Object.defineProperty(O.prototype,"target",{enumerable:!0});Object.defineProperty(O.prototype,"type",{enumerable:!0});var I=class extends O{constructor(e,r={}){super(e),this[vt]=r.code===void 0?0:r.code,this[wt]=r.reason===void 0?"":r.reason,this[kt]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[vt]}get reason(){return this[wt]}get wasClean(){return this[kt]}};Object.defineProperty(I.prototype,"code",{enumerable:!0});Object.defineProperty(I.prototype,"reason",{enumerable:!0});Object.defineProperty(I.prototype,"wasClean",{enumerable:!0});var H=class extends O{constructor(e,r={}){super(e),this[bt]=r.error===void 0?null:r.error,this[Et]=r.message===void 0?"":r.message}get error(){return this[bt]}get message(){return this[Et]}};Object.defineProperty(H.prototype,"error",{enumerable:!0});Object.defineProperty(H.prototype,"message",{enumerable:!0});var ee=class extends O{constructor(e,r={}){super(e),this[St]=r.data===void 0?null:r.data}get data(){return this[St]}};Object.defineProperty(ee.prototype,"data",{enumerable:!0});var Jr={addEventListener(t,e,r={}){for(let i of this.listeners(t))if(!r[Q]&&i[Re]===e&&!i[Q])return;let s;if(t==="message")s=function(n,o){let l=new ee("message",{data:o?n:n.toString()});l[j]=this,he(e,this,l)};else if(t==="close")s=function(n,o){let l=new I("close",{code:n,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});l[j]=this,he(e,this,l)};else if(t==="error")s=function(n){let o=new H("error",{error:n,message:n.message});o[j]=this,he(e,this,o)};else if(t==="open")s=function(){let n=new O("open");n[j]=this,he(e,this,n)};else return;s[Q]=!!r[Q],s[Re]=e,r.once?this.once(t,s):this.on(t,s)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[Re]===e&&!r[Q]){this.removeListener(t,r);break}}};Nt.exports={CloseEvent:I,ErrorEvent:H,Event:O,EventTarget:Jr,MessageEvent:ee};function he(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var Ie=x((li,Ct)=>{"use strict";var{tokenChars:te}=V();function T(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Qr(t){let e=Object.create(null),r=Object.create(null),s=!1,i=!1,n=!1,o,l,c=-1,a=-1,d=-1,f=0;for(;f<t.length;f++)if(a=t.charCodeAt(f),o===void 0)if(d===-1&&te[a]===1)c===-1&&(c=f);else if(f!==0&&(a===32||a===9))d===-1&&c!==-1&&(d=f);else if(a===59||a===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);d===-1&&(d=f);let _=t.slice(c,d);a===44?(T(e,_,r),r=Object.create(null)):o=_,c=d=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);else if(l===void 0)if(d===-1&&te[a]===1)c===-1&&(c=f);else if(a===32||a===9)d===-1&&c!==-1&&(d=f);else if(a===59||a===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);d===-1&&(d=f),T(r,t.slice(c,d),!0),a===44&&(T(e,o,r),r=Object.create(null),o=void 0),c=d=-1}else if(a===61&&c!==-1&&d===-1)l=t.slice(c,f),c=d=-1;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(i){if(te[a]!==1)throw new SyntaxError(`Unexpected character at index ${f}`);c===-1?c=f:s||(s=!0),i=!1}else if(n)if(te[a]===1)c===-1&&(c=f);else if(a===34&&c!==-1)n=!1,d=f;else if(a===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(a===34&&t.charCodeAt(f-1)===61)n=!0;else if(d===-1&&te[a]===1)c===-1&&(c=f);else if(c!==-1&&(a===32||a===9))d===-1&&(d=f);else if(a===59||a===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);d===-1&&(d=f);let _=t.slice(c,d);s&&(_=_.replace(/\\/g,""),s=!1),T(r,l,_),a===44&&(T(e,o,r),r=Object.create(null),o=void 0),l=void 0,c=d=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);if(c===-1||n||a===32||a===9)throw new SyntaxError("Unexpected end of input");d===-1&&(d=f);let u=t.slice(c,d);return o===void 0?T(e,u,r):(l===void 0?T(r,u,!0):s?T(r,l,u.replace(/\\/g,"")):T(r,l,u),T(e,o,r)),e}function es(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(s=>[e].concat(Object.keys(s).map(i=>{let n=s[i];return Array.isArray(n)||(n=[n]),n.map(o=>o===!0?i:`${i}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Ct.exports={format:es,parse:Qr}});var _e=x((fi,qt)=>{"use strict";var ts=require("events"),rs=require("https"),ss=require("http"),Lt=require("net"),is=require("tls"),{randomBytes:ns,createHash:os}=require("crypto"),{Duplex:ci,Readable:di}=require("stream"),{URL:Fe}=require("url"),B=J(),as=Pe(),ls=De(),{isBlob:cs}=V(),{BINARY_TYPES:Pt,CLOSE_TIMEOUT:ds,EMPTY_BUFFER:ue,GUID:fs,kForOnEventAttribute:Ue,kListener:hs,kStatusCode:us,kWebSocket:g,NOOP:Dt}=k(),{EventTarget:{addEventListener:ps,removeEventListener:ms}}=Ot(),{format:_s,parse:gs}=Ie(),{toBuffer:ys}=X(),Rt=Symbol("kAborted"),Ae=[8,13],C=["CONNECTING","OPEN","CLOSING","CLOSED"],xs=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,p=class t extends ts{constructor(e,r,s){super(),this._binaryType=Pt[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=ue,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(s=r,r=[]):r=[r]),It(this,e,r,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Pt.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,r,s){let i=new as({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),n=new ls(e,this._extensions,s.generateMask);this._receiver=i,this._sender=n,this._socket=e,i[g]=this,n[g]=this,e[g]=this,i.on("conclude",bs),i.on("drain",Es),i.on("error",ws),i.on("message",Ts),i.on("ping",ks),i.on("pong",Ns),n.onerror=Os,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",At),e.on("data",me),e.on("end",Mt),e.on("error",Wt),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[B.extensionName]&&this._extensions[B.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){v(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,s=>{s||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Ut(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Me(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||ue,r,s)}pong(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Me(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||ue,r,s)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(s=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Me(this,e,s);return}let i={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[B.extensionName]||(i.compress=!1),this._sender.send(e||ue,i,s)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){v(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(p,"CONNECTING",{enumerable:!0,value:C.indexOf("CONNECTING")});Object.defineProperty(p.prototype,"CONNECTING",{enumerable:!0,value:C.indexOf("CONNECTING")});Object.defineProperty(p,"OPEN",{enumerable:!0,value:C.indexOf("OPEN")});Object.defineProperty(p.prototype,"OPEN",{enumerable:!0,value:C.indexOf("OPEN")});Object.defineProperty(p,"CLOSING",{enumerable:!0,value:C.indexOf("CLOSING")});Object.defineProperty(p.prototype,"CLOSING",{enumerable:!0,value:C.indexOf("CLOSING")});Object.defineProperty(p,"CLOSED",{enumerable:!0,value:C.indexOf("CLOSED")});Object.defineProperty(p.prototype,"CLOSED",{enumerable:!0,value:C.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(p.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(p.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[Ue])return e[hs];return null},set(e){for(let r of this.listeners(t))if(r[Ue]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[Ue]:!0})}})});p.prototype.addEventListener=ps;p.prototype.removeEventListener=ms;qt.exports=p;function It(t,e,r,s){let i={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:ds,protocolVersion:Ae[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...s,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=i.autoPong,t._closeTimeout=i.closeTimeout,!Ae.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${Ae.join(", ")})`);let n;if(e instanceof Fe)n=e;else try{n=new Fe(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),t._url=n.href;let o=n.protocol==="wss:",l=n.protocol==="ws+unix:",c;if(n.protocol!=="ws:"&&!o&&!l?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:l&&!n.pathname?c="The URL's pathname is empty":n.hash&&(c="The URL contains a fragment identifier"),c){let h=new SyntaxError(c);if(t._redirects===0)throw h;pe(t,h);return}let a=o?443:80,d=ns(16).toString("base64"),f=o?rs.request:ss.request,u=new Set,_;if(i.createConnection=i.createConnection||(o?Ss:vs),i.defaultPort=i.defaultPort||a,i.port=n.port||a,i.host=n.hostname.startsWith("[")?n.hostname.slice(1,-1):n.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":d,Connection:"Upgrade",Upgrade:"websocket"},i.path=n.pathname+n.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(_=new B(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=_s({[B.extensionName]:_.offer()})),r.length){for(let h of r){if(typeof h!="string"||!xs.test(h)||u.has(h))throw new SyntaxError("An invalid or duplicated subprotocol was specified");u.add(h)}i.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(n.username||n.password)&&(i.auth=`${n.username}:${n.password}`),l){let h=i.path.split(":");i.socketPath=h[0],i.path=h[1]}let m;if(i.followRedirects){if(t._redirects===0){t._originalIpc=l,t._originalSecure=o,t._originalHostOrSocketPath=l?i.socketPath:n.host;let h=s&&s.headers;if(s={...s,headers:{}},h)for(let[y,A]of Object.entries(h))s.headers[y.toLowerCase()]=A}else if(t.listenerCount("redirect")===0){let h=l?t._originalIpc?i.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:n.host===t._originalHostOrSocketPath;(!h||t._originalSecure&&!o)&&(delete i.headers.authorization,delete i.headers.cookie,h||delete i.headers.host,i.auth=void 0)}i.auth&&!s.headers.authorization&&(s.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),m=t._req=f(i),t._redirects&&t.emit("redirect",t.url,m)}else m=t._req=f(i);i.timeout&&m.on("timeout",()=>{v(t,m,"Opening handshake has timed out")}),m.on("error",h=>{m===null||m[Rt]||(m=t._req=null,pe(t,h))}),m.on("response",h=>{let y=h.headers.location,A=h.statusCode;if(y&&i.followRedirects&&A>=300&&A<400){if(++t._redirects>i.maxRedirects){v(t,m,"Maximum redirects exceeded");return}m.abort();let Y;try{Y=new Fe(y,e)}catch{let M=new SyntaxError(`Invalid URL: ${y}`);pe(t,M);return}It(t,Y,r,s)}else t.emit("unexpected-response",m,h)||v(t,m,`Unexpected server response: ${h.statusCode}`)}),m.on("upgrade",(h,y,A)=>{if(t.emit("upgrade",h),t.readyState!==p.CONNECTING)return;m=t._req=null;let Y=h.headers.upgrade;if(Y===void 0||Y.toLowerCase()!=="websocket"){v(t,y,"Invalid Upgrade header");return}let He=os("sha1").update(d+fs).digest("base64");if(h.headers["sec-websocket-accept"]!==He){v(t,y,"Invalid Sec-WebSocket-Accept header");return}let M=h.headers["sec-websocket-protocol"],K;if(M!==void 0?u.size?u.has(M)||(K="Server sent an invalid subprotocol"):K="Server sent a subprotocol but none was requested":u.size&&(K="Server sent no subprotocol"),K){v(t,y,K);return}M&&(t._protocol=M);let ze=h.headers["sec-websocket-extensions"];if(ze!==void 0){if(!_){v(t,y,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let ye;try{ye=gs(ze)}catch{v(t,y,"Invalid Sec-WebSocket-Extensions header");return}let Ye=Object.keys(ye);if(Ye.length!==1||Ye[0]!==B.extensionName){v(t,y,"Server indicated an extension that was not requested");return}try{_.accept(ye[B.extensionName])}catch{v(t,y,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[B.extensionName]=_}t.setSocket(y,A,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(m,t):m.end()}function pe(t,e){t._readyState=p.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function vs(t){return t.path=t.socketPath,Lt.connect(t)}function Ss(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=Lt.isIP(t.host)?"":t.host),is.connect(t)}function v(t,e,r){t._readyState=p.CLOSING;let s=new Error(r);Error.captureStackTrace(s,v),e.setHeader?(e[Rt]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(pe,t,s)):(e.destroy(s),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Me(t,e,r){if(e){let s=cs(e)?e.size:ys(e).length;t._socket?t._sender._bufferedBytes+=s:t._bufferedAmount+=s}if(r){let s=new Error(`WebSocket is not open: readyState ${t.readyState} (${C[t.readyState]})`);process.nextTick(r,s)}}function bs(t,e){let r=this[g];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[g]!==void 0&&(r._socket.removeListener("data",me),process.nextTick(Ft,r._socket),t===1005?r.close():r.close(t,e))}function Es(){let t=this[g];t.isPaused||t._socket.resume()}function ws(t){let e=this[g];e._socket[g]!==void 0&&(e._socket.removeListener("data",me),process.nextTick(Ft,e._socket),e.close(t[us])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function Bt(){this[g].emitClose()}function Ts(t,e){this[g].emit("message",t,e)}function ks(t){let e=this[g];e._autoPong&&e.pong(t,!this._isServer,Dt),e.emit("ping",t)}function Ns(t){this[g].emit("pong",t)}function Ft(t){t.resume()}function Os(t){let e=this[g];e.readyState!==p.CLOSED&&(e.readyState===p.OPEN&&(e._readyState=p.CLOSING,Ut(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function Ut(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function At(){let t=this[g];if(this.removeListener("close",At),this.removeListener("data",me),this.removeListener("end",Mt),t._readyState=p.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[g]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",Bt),t._receiver.on("finish",Bt))}function me(t){this[g]._receiver.write(t)||this.pause()}function Mt(){let t=this[g];t._readyState=p.CLOSING,t._receiver.end(),this.end()}function Wt(){let t=this[g];this.removeListener("error",Wt),this.on("error",Dt),t&&(t._readyState=p.CLOSING,this.destroy())}});var jt=x((ui,Gt)=>{"use strict";var hi=_e(),{Duplex:Cs}=require("stream");function Vt(t){t.emit("close")}function Ps(){!this.destroyed&&this._writableState.finished&&this.destroy()}function $t(t){this.removeListener("error",$t),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function Bs(t,e){let r=!0,s=new Cs({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(n,o){let l=!o&&s._readableState.objectMode?n.toString():n;s.push(l)||t.pause()}),t.once("error",function(n){s.destroyed||(r=!1,s.destroy(n))}),t.once("close",function(){s.destroyed||s.push(null)}),s._destroy=function(i,n){if(t.readyState===t.CLOSED){n(i),process.nextTick(Vt,s);return}let o=!1;t.once("error",function(c){o=!0,n(c)}),t.once("close",function(){o||n(i),process.nextTick(Vt,s)}),r&&t.terminate()},s._final=function(i){if(t.readyState===t.CONNECTING){t.once("open",function(){s._final(i)});return}t._socket!==null&&(t._socket._writableState.finished?(i(),s._readableState.endEmitted&&s.destroy()):(t._socket.once("finish",function(){i()}),t.close()))},s._read=function(){t.isPaused&&t.resume()},s._write=function(i,n,o){if(t.readyState===t.CONNECTING){t.once("open",function(){s._write(i,n,o)});return}t.send(i,o)},s.on("end",Ps),s.on("error",$t),s}Gt.exports=Bs});var zt=x((pi,Ht)=>{"use strict";var{tokenChars:Ls}=V();function Ds(t){let e=new Set,r=-1,s=-1,i=0;for(i;i<t.length;i++){let o=t.charCodeAt(i);if(s===-1&&Ls[o]===1)r===-1&&(r=i);else if(i!==0&&(o===32||o===9))s===-1&&r!==-1&&(s=i);else if(o===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${i}`);s===-1&&(s=i);let l=t.slice(r,s);if(e.has(l))throw new SyntaxError(`The "${l}" subprotocol is duplicated`);e.add(l),r=s=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(r===-1||s!==-1)throw new SyntaxError("Unexpected end of input");let n=t.slice(r,i);if(e.has(n))throw new SyntaxError(`The "${n}" subprotocol is duplicated`);return e.add(n),e}Ht.exports={parse:Ds}});var er=x((_i,Qt)=>{"use strict";var Rs=require("events"),ge=require("http"),{Duplex:mi}=require("stream"),{createHash:Is}=require("crypto"),Yt=Ie(),F=J(),Fs=zt(),Us=_e(),{CLOSE_TIMEOUT:As,GUID:Ms,kWebSocket:Ws}=k(),qs=/^[+/0-9A-Za-z]{22}==$/,Kt=0,Xt=1,Jt=2,We=class extends Rs{constructor(e,r){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:As,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Us,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=ge.createServer((s,i)=>{let n=ge.STATUS_CODES[426];i.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),i.end(n)}),this._server.listen(e.port,e.host,e.backlog,r)):e.server&&(this._server=e.server),this._server){let s=this.emit.bind(this,"connection");this._removeListeners=Vs(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,n,o)=>{this.handleUpgrade(i,n,o,s)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Kt}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Jt){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(re,this);return}if(e&&this.once("close",e),this._state!==Xt)if(this._state=Xt,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(re,this):process.nextTick(re,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{re(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,s,i){r.on("error",Zt);let n=e.headers["sec-websocket-key"],o=e.headers.upgrade,l=+e.headers["sec-websocket-version"];if(e.method!=="GET"){U(this,e,r,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){U(this,e,r,400,"Invalid Upgrade header");return}if(n===void 0||!qs.test(n)){U(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(l!==13&&l!==8){U(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){se(r,400);return}let c=e.headers["sec-websocket-protocol"],a=new Set;if(c!==void 0)try{a=Fs.parse(c)}catch{U(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let d=e.headers["sec-websocket-extensions"],f={};if(this.options.perMessageDeflate&&d!==void 0){let u=new F(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let _=Yt.parse(d);_[F.extensionName]&&(u.accept(_[F.extensionName]),f[F.extensionName]=u)}catch{U(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let u={origin:e.headers[`${l===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(u,(_,m,h,y)=>{if(!_)return se(r,m||401,h,y);this.completeUpgrade(f,n,a,e,r,s,i)});return}if(!this.options.verifyClient(u))return se(r,401)}this.completeUpgrade(f,n,a,e,r,s,i)}completeUpgrade(e,r,s,i,n,o,l){if(!n.readable||!n.writable)return n.destroy();if(n[Ws])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Kt)return se(n,503);let a=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Is("sha1").update(r+Ms).digest("base64")}`],d=new this.options.WebSocket(null,void 0,this.options);if(s.size){let f=this.options.handleProtocols?this.options.handleProtocols(s,i):s.values().next().value;f&&(a.push(`Sec-WebSocket-Protocol: ${f}`),d._protocol=f)}if(e[F.extensionName]){let f=e[F.extensionName].params,u=Yt.format({[F.extensionName]:[f]});a.push(`Sec-WebSocket-Extensions: ${u}`),d._extensions=e}this.emit("headers",a,i),n.write(a.concat(`\r
3
3
  `).join(`\r
4
- `)),n.removeListener("error",Xt),f.setSocket(n,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(f),f.on("close",()=>{this.clients.delete(f),this._shouldEmitClose&&!this.clients.size&&process.nextTick(re,this)})),l(f,s)}};Jt.exports=We;function Ds(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let i of Object.keys(e))t.removeListener(i,e[i])}}function re(t){t._state=Zt,t.emit("close")}function Xt(){this.destroy()}function se(t,e,r,i){r=r||ge.STATUS_CODES[e],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...i},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${ge.STATUS_CODES[e]}\r
5
- `+Object.keys(i).map(s=>`${s}: ${i[s]}`).join(`\r
4
+ `)),n.removeListener("error",Zt),d.setSocket(n,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(d),d.on("close",()=>{this.clients.delete(d),this._shouldEmitClose&&!this.clients.size&&process.nextTick(re,this)})),l(d,i)}};Qt.exports=We;function Vs(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let s of Object.keys(e))t.removeListener(s,e[s])}}function re(t){t._state=Jt,t.emit("close")}function Zt(){this.destroy()}function se(t,e,r,s){r=r||ge.STATUS_CODES[e],s={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...s},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${ge.STATUS_CODES[e]}\r
5
+ `+Object.keys(s).map(i=>`${i}: ${s[i]}`).join(`\r
6
6
  `)+`\r
7
7
  \r
8
- `+r)}function D(t,e,r,i,s,n){if(t.listenerCount("wsClientError")){let o=new Error(s);Error.captureStackTrace(o,D),t.emit("wsClientError",o,r,e)}else se(r,i,s,n)}});var er=w(require("http"),1),$e=w(require("fs"),1),Ge=w(require("path"),1);var As=w(jt(),1),Ms=w(Be(),1),Ws=w(Re(),1),qs=w(_e(),1),qe=w(Qt(),1);var $s=t=>t.type==="PING";function tr(t=3e3){let e=er.default.createServer((i,s)=>{if(i.url==="/"||i.url==="/index.html"){s.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),s.end(Gs(t));return}if(i.url?.startsWith("/dist/")){let n=i.url.replace("/dist/",""),o=Ge.default.resolve(__dirname,"..","..","dist",n);try{if($e.default.existsSync(o)){let l=$e.default.readFileSync(o),c=Ge.default.extname(o),a={".js":"application/javascript",".css":"text/css"};s.writeHead(200,{"Content-Type":a[c]||"text/plain"}),s.end(l)}else s.writeHead(404),s.end("Not Found")}catch{s.writeHead(500),s.end("Internal Error")}return}s.writeHead(404),s.end("Not Found")}),r=new qe.default({server:e});r.on("connection",i=>{i.on("message",s=>{let n=s.toString();try{let o=JSON.parse(n);if($s(o))return}catch{}r.clients.forEach(o=>{o!==i&&o.readyState===1&&o.send(n)})})}),e.listen(t,()=>{console.log(`\u{1F680} BitForm DevServer rodando em http://localhost:${t}`)})}function Gs(t){return`
8
+ `+r)}function U(t,e,r,s,i,n){if(t.listenerCount("wsClientError")){let o=new Error(i);Error.captureStackTrace(o,U),t.emit("wsClientError",o,r,e)}else se(r,s,i,n)}});var nr=w(require("http"),1),Ve=w(require("fs"),1),$e=w(require("path"),1);function Xe(t){return`
9
9
  <!DOCTYPE html>
10
10
  <html lang="pt-BR">
11
11
  <head>
12
12
  <meta charset="UTF-8">
13
13
  <title>\u{1F6E0} Bit-Form Remote Inspector</title>
14
14
  <style>
15
- *, *::before, *::after {
16
- box-sizing: border-box;
15
+ *, *::before, *::after {
16
+ box-sizing: border-box;
17
17
  }
18
18
 
19
- html, body {
20
- background: #0f172a;
21
- margin: 0;
22
- padding: 0;
19
+ html, body {
20
+ background: #0f172a;
21
+ margin: 0;
22
+ padding: 0;
23
23
  width: 100%;
24
- height: 100%;
24
+ height: 100%;
25
25
  overflow-x: hidden;
26
26
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
27
27
  }
28
28
 
29
- .status-container {
30
- position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
29
+ .status-container {
30
+ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
31
31
  text-align: center; color: #64748b; z-index: 1;
32
32
  }
33
33
 
@@ -71,7 +71,7 @@
71
71
  import { initDevTools } from "/dist/devtools/index.js";
72
72
 
73
73
  document.body.classList.add('connected');
74
-
74
+
75
75
  initDevTools({
76
76
  mode: "remote",
77
77
  url: "ws://localhost:${t}",
@@ -81,7 +81,7 @@
81
81
  const observer = new MutationObserver(() => {
82
82
  const panel = document.querySelector('.bit-devtools-panel');
83
83
  const btn = document.querySelector('.bit-devtools-trigger');
84
-
84
+
85
85
  if (btn && !panel) {
86
86
  btn.click();
87
87
  document.body.classList.add('has-panel');
@@ -91,7 +91,7 @@
91
91
  observer.observe(document.body, { childList: true, subtree: true });
92
92
  </script>
93
93
  </body>
94
- </html>`}var P=w(require("fs"),1),ie=w(require("path"),1);function rr(t){return`"use client";
94
+ </html>`}var $s=w(jt(),1),Gs=w(Pe(),1),js=w(De(),1),Hs=w(_e(),1),qe=w(er(),1);function tr(t){return t.protocolVersion===1}function rr(t){if(!t||typeof t!="object")return!1;let e=t;return e.type==="PING"&&tr(e)}function sr(t){if(!t||typeof t!="object")return!1;let e=t;if(e.type!=="HELLO"||!e.payload||!tr(e))return!1;let r=e.payload;return(r.role==="client"||r.role==="server")&&r.protocolVersion===1}function ir(t){let e=new qe.default({server:t});return e.on("connection",r=>{r.on("message",s=>{let i=s.toString();try{let n=JSON.parse(i);if(rr(n)||sr(n))return}catch{}e.clients.forEach(n=>{n!==r&&n.readyState===1&&n.send(i)})})}),e}function or(t=3e3){let e=nr.default.createServer((r,s)=>{if(r.url==="/"||r.url==="/index.html"){s.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),s.end(Xe(t));return}if(r.url?.startsWith("/dist/")){let i=r.url.replace("/dist/",""),n=$e.default.resolve(__dirname,"..","..","dist",i);try{if(Ve.default.existsSync(n)){let o=Ve.default.readFileSync(n),l=$e.default.extname(n),c={".js":"application/javascript",".css":"text/css"};s.writeHead(200,{"Content-Type":c[l]||"text/plain"}),s.end(o)}else s.writeHead(404),s.end("Not Found")}catch{s.writeHead(500),s.end("Internal Error")}return}s.writeHead(404),s.end("Not Found")});ir(e),e.listen(t,()=>{console.log(`\u{1F680} BitForm DevServer rodando em http://localhost:${t}`)})}var L=w(require("fs"),1),ie=w(require("path"),1);function ar(t){return`"use client";
95
95
 
96
96
  import { Input } from "${t}/input";
97
97
  import { useBitField } from "@lehnihon/bit-form/react";
@@ -153,7 +153,7 @@ export function BitFormInput({
153
153
  </div>
154
154
  );
155
155
  }
156
- `}function sr(t){return`"use client";
156
+ `}function lr(t){return`"use client";
157
157
 
158
158
  import { Textarea } from "${t}/textarea";
159
159
  import { useBitField } from "@lehnihon/bit-form/react";
@@ -215,7 +215,7 @@ export function BitFormTextarea({
215
215
  </div>
216
216
  );
217
217
  }
218
- `}function ir(t){return`"use client";
218
+ `}function cr(t){return`"use client";
219
219
 
220
220
  import {
221
221
  Select,
@@ -297,7 +297,7 @@ export function BitFormSelect({
297
297
  </div>
298
298
  );
299
299
  }
300
- `}function nr(t){return`"use client";
300
+ `}function dr(t){return`"use client";
301
301
 
302
302
  import { Checkbox } from "${t}/checkbox";
303
303
  import { useBitField } from "@lehnihon/bit-form/react";
@@ -356,7 +356,7 @@ export function BitFormCheckbox({
356
356
  </div>
357
357
  );
358
358
  }
359
- `}function or(t){return`"use client";
359
+ `}function fr(t){return`"use client";
360
360
 
361
361
  import { Switch } from "${t}/switch";
362
362
  import { useBitField } from "@lehnihon/bit-form/react";
@@ -414,7 +414,7 @@ export function BitFormSwitch({
414
414
  </div>
415
415
  );
416
416
  }
417
- `}function ar(t){return`"use client";
417
+ `}function hr(t){return`"use client";
418
418
 
419
419
  import { RadioGroup, RadioGroupItem } from "${t}/radio-group";
420
420
  import { useBitField } from "@lehnihon/bit-form/react";
@@ -486,7 +486,7 @@ export function BitFormRadioGroup({
486
486
  </div>
487
487
  );
488
488
  }
489
- `}var je={input:rr,textarea:sr,select:ir,checkbox:nr,switch:or,"radio-group":ar},Ve=Object.keys(je);var lr={name:"shadcn",framework:"react",components:Ve,renderComponent(t,e){let r=t.toLowerCase().replace(/\s+/g,"-"),i=je[r];if(!i)throw new Error(`Unknown shadcn component: ${t}. Available: ${Ve.join(", ")}`);let s=i(e.uiPath);return{filename:r==="radio-group"?"bit-form-radio-group.tsx":`bit-form-${r}.tsx`,contents:s}}};var js={shadcn:lr};function cr(t){return js[t.toLowerCase()]}var Vs="@/components/ui";function Hs(t){let e=t[0]??"",r=t.slice(1),i=".",s=Vs,n=!1,o=!1,l=[];for(let c=0;c<r.length;c++){let a=r[c];a==="--path"&&r[c+1]?i=r[++c]:a==="--ui-path"&&r[c+1]?s=r[++c]:a==="--overwrite"?n=!0:a==="--yes"||a==="-y"?o=!0:a.startsWith("--")||l.push(a)}return{adapter:e,components:l,flags:{path:i,uiPath:s,overwrite:n,yes:o}}}function zs(t){let e=ie.join(t,"components.json");try{return P.accessSync(e),!0}catch{return!1}}function fr(t){let{adapter:e,components:r,flags:i}=Hs(t);if(!e)throw new Error("bit-form add: missing adapter name. Example: bit-form add shadcn input");let s=cr(e);if(!s)throw new Error(`bit-form add: unknown adapter "${e}". Available: shadcn`);let n=r.length>0?r:s.components;if(n.length===0)throw new Error("bit-form add: specify at least one component or use no arguments to add all.");let o=process.cwd(),l=ie.resolve(o,i.path);s.name==="shadcn"&&!zs(o)&&console.warn("Warning: components.json not found in project root. Make sure shadcn/ui is initialized (e.g. npx shadcn@latest init) or pass --ui-path to match your setup.");try{P.mkdirSync(l,{recursive:!0})}catch(a){throw new Error(`bit-form add: could not create output directory: ${a.message}`)}let c={cwd:o,path:l,uiPath:i.uiPath,overwrite:i.overwrite,yes:i.yes};for(let a of n){let{filename:f,contents:d}=s.renderComponent(a,c),u=ie.join(l,f);if(!i.overwrite&&P.existsSync(u)){console.log(`Skip ${f} (exists; use --overwrite to replace)`);continue}P.writeFileSync(u,d,"utf-8"),console.log(`Created ${f}`)}}var z=process.argv.slice(2),dr=z[0];if(dr==="devtools"){let t=z.indexOf("-p")!==-1?z.indexOf("-p"):z.indexOf("--port"),e=t!==-1?Number(z[t+1]):3e3;tr(e)}else if(dr==="add")try{fr(z.slice(1))}catch(t){console.error(t.message),process.exit(1)}else console.log(`
489
+ `}var Ge={input:ar,textarea:lr,select:cr,checkbox:dr,switch:fr,"radio-group":hr},je=Object.keys(Ge);var ur={name:"shadcn",framework:"react",components:je,renderComponent(t,e){let r=t.toLowerCase().replace(/\s+/g,"-"),s=Ge[r];if(!s)throw new Error(`Unknown shadcn component: ${t}. Available: ${je.join(", ")}`);let i=s(e.uiPath);return{filename:r==="radio-group"?"bit-form-radio-group.tsx":`bit-form-${r}.tsx`,contents:i}}};var zs={shadcn:ur};function pr(t){return zs[t.toLowerCase()]}var Ys="@/components/ui";function Ks(t){let e=t[0]??"",r=t.slice(1),s=".",i=Ys,n=!1,o=!1,l=[];for(let c=0;c<r.length;c++){let a=r[c];a==="--path"&&r[c+1]?s=r[++c]:a==="--ui-path"&&r[c+1]?i=r[++c]:a==="--overwrite"?n=!0:a==="--yes"||a==="-y"?o=!0:a.startsWith("--")||l.push(a)}return{adapter:e,components:l,flags:{path:s,uiPath:i,overwrite:n,yes:o}}}function Xs(t){let e=ie.join(t,"components.json");try{return L.accessSync(e),!0}catch{return!1}}function mr(t){let{adapter:e,components:r,flags:s}=Ks(t);if(!e)throw new Error("bit-form add: missing adapter name. Example: bit-form add shadcn input");let i=pr(e);if(!i)throw new Error(`bit-form add: unknown adapter "${e}". Available: shadcn`);let n=r.length>0?r:i.components;if(n.length===0)throw new Error("bit-form add: specify at least one component or use no arguments to add all.");let o=process.cwd(),l=ie.resolve(o,s.path);i.name==="shadcn"&&!Xs(o)&&console.warn("Warning: components.json not found in project root. Make sure shadcn/ui is initialized (e.g. npx shadcn@latest init) or pass --ui-path to match your setup.");try{L.mkdirSync(l,{recursive:!0})}catch(a){throw new Error(`bit-form add: could not create output directory: ${a.message}`)}let c={cwd:o,path:l,uiPath:s.uiPath,overwrite:s.overwrite,yes:s.yes};for(let a of n){let{filename:d,contents:f}=i.renderComponent(a,c),u=ie.join(l,d);if(!s.overwrite&&L.existsSync(u)){console.log(`Skip ${d} (exists; use --overwrite to replace)`);continue}L.writeFileSync(u,f,"utf-8"),console.log(`Created ${d}`)}}var z=process.argv.slice(2),_r=z[0];if(_r==="devtools"){let t=z.indexOf("-p")!==-1?z.indexOf("-p"):z.indexOf("--port"),e=t!==-1?Number(z[t+1]):3e3;or(e)}else if(_r==="add")try{mr(z.slice(1))}catch(t){console.error(t.message),process.exit(1)}else console.log(`
490
490
  \u{1F6E0} Bit-Form CLI
491
491
 
492
492
  Uso:
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMFTWAFMGcjs = require('../chunk-MFTWAFMG.cjs');require('../chunk-T2JRSWQU.cjs');var _chunkPFPGASVZcjs = require('../chunk-PFPGASVZ.cjs');exports.cleanupRegisteredField = _chunkMFTWAFMGcjs.j; exports.cleanupRegisteredPrefix = _chunkMFTWAFMGcjs.k; exports.createArrayBindingController = _chunkMFTWAFMGcjs.i; exports.createFrameworkFormBinding = _chunkMFTWAFMGcjs.g; exports.createFrameworkMaskedFieldBinding = _chunkMFTWAFMGcjs.h; exports.formatMaskedValue = _chunkPFPGASVZcjs.b; exports.isBitFieldInputEventObject = _chunkPFPGASVZcjs.a; exports.observeFormMetaSnapshot = _chunkMFTWAFMGcjs.c; exports.observePersistMetaSnapshot = _chunkMFTWAFMGcjs.f; exports.parseMaskedInput = _chunkPFPGASVZcjs.c; exports.readFormMetaSnapshot = _chunkMFTWAFMGcjs.a; exports.readPersistMetaSnapshot = _chunkMFTWAFMGcjs.d; exports.subscribeFormMetaSnapshot = _chunkMFTWAFMGcjs.b; exports.subscribePersistMetaSnapshot = _chunkMFTWAFMGcjs.e;
2
+ //# sourceMappingURL=bindings.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/core/bindings.cjs"],"names":[],"mappings":"AAAA,kIAA4E,iCAA8B,yDAAwD,+wBAA4a","file":"/home/runner/work/bit-form/bit-form/dist/core/bindings.cjs"}
@@ -0,0 +1,81 @@
1
+ import { B as BitFormMeta, b as BitValidationOptions } from '../meta-types-Bzmm21TP.cjs';
2
+ import { e as BitStoreApi } from '../store-api-types-D-ZHxzRy.cjs';
3
+ import { x as BitPersistMetadata, u as BitPath, v as BitPathValue, L as DeepPartial } from '../types-D6LhF5GC.cjs';
4
+ import '../bus-ZLQeq4Vr.cjs';
5
+ export { B as BitArrayBindingController, a as BitArrayBindingField, c as createArrayBindingController } from '../array-controller-B5bfXV1W.cjs';
6
+ export { B as BitFieldInputEvent, f as formatMaskedValue, i as isBitFieldInputEventObject, p as parseMaskedInput } from '../field-binding-B_OX3bjp.cjs';
7
+ export { B as BitDeleteUploadFn, a as BitUploadFn, b as BitUploadResult } from '../upload-C2mpfhp1.cjs';
8
+ import '../types-D8DgIUhJ.cjs';
9
+
10
+ declare function readFormMetaSnapshot<T extends object>(store: BitStoreApi<T>): BitFormMeta;
11
+ declare function subscribeFormMetaSnapshot<T extends object>(store: BitStoreApi<T>, listener: () => void): () => void;
12
+ declare function observeFormMetaSnapshot<T extends object>(store: BitStoreApi<T>, listener: (meta: BitFormMeta) => void): () => void;
13
+
14
+ declare function readPersistMetaSnapshot(store: {
15
+ read: {
16
+ getPersistMetadata(): BitPersistMetadata;
17
+ };
18
+ }): BitPersistMetadata;
19
+ declare function subscribePersistMetaSnapshot(store: BitStoreApi<any>, listener: () => void): () => void;
20
+ declare function observePersistMetaSnapshot(store: BitStoreApi<any>, listener: (meta: BitPersistMetadata) => void): () => void;
21
+
22
+ type BitFormDomEvent = {
23
+ preventDefault?: () => void;
24
+ stopPropagation?: () => void;
25
+ };
26
+ interface BitFormControllerRuntime {
27
+ clearSubmissionState: () => void;
28
+ setSubmissionResult: (result: unknown) => void;
29
+ setSubmissionError: (error: Error | null) => void;
30
+ }
31
+ interface BitFormControllerOptions {
32
+ stopPropagation?: boolean;
33
+ }
34
+
35
+ declare function createFrameworkFormBinding<T extends object>(store: BitStoreApi<T>, runtime: BitFormControllerRuntime, options?: BitFormControllerOptions): {
36
+ controller: {
37
+ submit: (onSuccess: (values: T, dirtyValues?: Partial<T> | undefined) => void | Promise<void>) => (event?: BitFormDomEvent) => Promise<void>;
38
+ onSubmit: (handler: (values: T, dirtyValues?: Partial<T> | undefined) => Promise<unknown>) => (event?: BitFormDomEvent) => Promise<void>;
39
+ reset: () => void;
40
+ getValues: () => T;
41
+ getErrors: () => Partial<Record<BitPath<T, "">, string | undefined>>;
42
+ getTouched: () => Partial<Record<BitPath<T, "">, boolean | undefined>>;
43
+ getDirtyValues: () => Partial<T>;
44
+ };
45
+ actions: {
46
+ setField: <P extends BitPath<T, "">>(path: P, value: BitPathValue<T, P>) => void;
47
+ blurField: <P extends BitPath<T, "">>(path: P) => void;
48
+ setValues: (values: T | DeepPartial<T>, options?: {
49
+ partial?: boolean;
50
+ rebase?: boolean;
51
+ }) => void;
52
+ setError: (path: string, message: string | undefined) => void;
53
+ setErrors: (errors: Partial<Record<BitPath<T, "">, string | undefined>>) => void;
54
+ setServerErrors: (serverErrors: Record<string, string[] | string>) => void;
55
+ validate: (options?: BitValidationOptions) => Promise<boolean>;
56
+ transaction: <TResult>(callback: () => TResult) => TResult;
57
+ };
58
+ };
59
+
60
+ declare function createFrameworkMaskedFieldBinding<TForm extends object, P extends BitPath<TForm>>(store: BitStoreApi<TForm>, path: P): {
61
+ fieldController: {
62
+ setValue: (value: unknown) => void;
63
+ setBlur: () => void;
64
+ displayValue: (value: unknown) => string;
65
+ };
66
+ };
67
+
68
+ type FieldCleanupStore = {
69
+ feature?: {
70
+ unregisterField?: (path: string) => void;
71
+ };
72
+ };
73
+ type PrefixCleanupStore = {
74
+ feature?: {
75
+ unregisterPrefix?: (prefix: string) => void;
76
+ };
77
+ };
78
+ declare function cleanupRegisteredField(store: FieldCleanupStore, path: string): void;
79
+ declare function cleanupRegisteredPrefix(store: PrefixCleanupStore, prefix: string): void;
80
+
81
+ export { cleanupRegisteredField, cleanupRegisteredPrefix, createFrameworkFormBinding, createFrameworkMaskedFieldBinding, observeFormMetaSnapshot, observePersistMetaSnapshot, readFormMetaSnapshot, readPersistMetaSnapshot, subscribeFormMetaSnapshot, subscribePersistMetaSnapshot };
@@ -0,0 +1,81 @@
1
+ import { B as BitFormMeta, b as BitValidationOptions } from '../meta-types-Bzmm21TP.js';
2
+ import { e as BitStoreApi } from '../store-api-types-DPi30jQF.js';
3
+ import { x as BitPersistMetadata, u as BitPath, v as BitPathValue, L as DeepPartial } from '../types-CG5nYeRk.js';
4
+ import '../bus-B2VEKrPI.js';
5
+ export { B as BitArrayBindingController, a as BitArrayBindingField, c as createArrayBindingController } from '../array-controller-Cx-DMH7Y.js';
6
+ export { B as BitFieldInputEvent, f as formatMaskedValue, i as isBitFieldInputEventObject, p as parseMaskedInput } from '../field-binding-MX6jVQbT.js';
7
+ export { B as BitDeleteUploadFn, a as BitUploadFn, b as BitUploadResult } from '../upload-C2mpfhp1.js';
8
+ import '../types-D8DgIUhJ.js';
9
+
10
+ declare function readFormMetaSnapshot<T extends object>(store: BitStoreApi<T>): BitFormMeta;
11
+ declare function subscribeFormMetaSnapshot<T extends object>(store: BitStoreApi<T>, listener: () => void): () => void;
12
+ declare function observeFormMetaSnapshot<T extends object>(store: BitStoreApi<T>, listener: (meta: BitFormMeta) => void): () => void;
13
+
14
+ declare function readPersistMetaSnapshot(store: {
15
+ read: {
16
+ getPersistMetadata(): BitPersistMetadata;
17
+ };
18
+ }): BitPersistMetadata;
19
+ declare function subscribePersistMetaSnapshot(store: BitStoreApi<any>, listener: () => void): () => void;
20
+ declare function observePersistMetaSnapshot(store: BitStoreApi<any>, listener: (meta: BitPersistMetadata) => void): () => void;
21
+
22
+ type BitFormDomEvent = {
23
+ preventDefault?: () => void;
24
+ stopPropagation?: () => void;
25
+ };
26
+ interface BitFormControllerRuntime {
27
+ clearSubmissionState: () => void;
28
+ setSubmissionResult: (result: unknown) => void;
29
+ setSubmissionError: (error: Error | null) => void;
30
+ }
31
+ interface BitFormControllerOptions {
32
+ stopPropagation?: boolean;
33
+ }
34
+
35
+ declare function createFrameworkFormBinding<T extends object>(store: BitStoreApi<T>, runtime: BitFormControllerRuntime, options?: BitFormControllerOptions): {
36
+ controller: {
37
+ submit: (onSuccess: (values: T, dirtyValues?: Partial<T> | undefined) => void | Promise<void>) => (event?: BitFormDomEvent) => Promise<void>;
38
+ onSubmit: (handler: (values: T, dirtyValues?: Partial<T> | undefined) => Promise<unknown>) => (event?: BitFormDomEvent) => Promise<void>;
39
+ reset: () => void;
40
+ getValues: () => T;
41
+ getErrors: () => Partial<Record<BitPath<T, "">, string | undefined>>;
42
+ getTouched: () => Partial<Record<BitPath<T, "">, boolean | undefined>>;
43
+ getDirtyValues: () => Partial<T>;
44
+ };
45
+ actions: {
46
+ setField: <P extends BitPath<T, "">>(path: P, value: BitPathValue<T, P>) => void;
47
+ blurField: <P extends BitPath<T, "">>(path: P) => void;
48
+ setValues: (values: T | DeepPartial<T>, options?: {
49
+ partial?: boolean;
50
+ rebase?: boolean;
51
+ }) => void;
52
+ setError: (path: string, message: string | undefined) => void;
53
+ setErrors: (errors: Partial<Record<BitPath<T, "">, string | undefined>>) => void;
54
+ setServerErrors: (serverErrors: Record<string, string[] | string>) => void;
55
+ validate: (options?: BitValidationOptions) => Promise<boolean>;
56
+ transaction: <TResult>(callback: () => TResult) => TResult;
57
+ };
58
+ };
59
+
60
+ declare function createFrameworkMaskedFieldBinding<TForm extends object, P extends BitPath<TForm>>(store: BitStoreApi<TForm>, path: P): {
61
+ fieldController: {
62
+ setValue: (value: unknown) => void;
63
+ setBlur: () => void;
64
+ displayValue: (value: unknown) => string;
65
+ };
66
+ };
67
+
68
+ type FieldCleanupStore = {
69
+ feature?: {
70
+ unregisterField?: (path: string) => void;
71
+ };
72
+ };
73
+ type PrefixCleanupStore = {
74
+ feature?: {
75
+ unregisterPrefix?: (prefix: string) => void;
76
+ };
77
+ };
78
+ declare function cleanupRegisteredField(store: FieldCleanupStore, path: string): void;
79
+ declare function cleanupRegisteredPrefix(store: PrefixCleanupStore, prefix: string): void;
80
+
81
+ export { cleanupRegisteredField, cleanupRegisteredPrefix, createFrameworkFormBinding, createFrameworkMaskedFieldBinding, observeFormMetaSnapshot, observePersistMetaSnapshot, readFormMetaSnapshot, readPersistMetaSnapshot, subscribeFormMetaSnapshot, subscribePersistMetaSnapshot };
@@ -0,0 +1,2 @@
1
+ import{a,b,c,d,e,f,g,h as k,i as l,j as m,k as n}from"../chunk-E2NZR44P.js";import"../chunk-RD73EBSN.js";import{a as h,b as i,c as j}from"../chunk-3NUJVIAM.js";export{m as cleanupRegisteredField,n as cleanupRegisteredPrefix,l as createArrayBindingController,g as createFrameworkFormBinding,k as createFrameworkMaskedFieldBinding,i as formatMaskedValue,h as isBitFieldInputEventObject,c as observeFormMetaSnapshot,f as observePersistMetaSnapshot,j as parseMaskedInput,a as readFormMetaSnapshot,d as readPersistMetaSnapshot,b as subscribeFormMetaSnapshot,e as subscribePersistMetaSnapshot};
2
+ //# sourceMappingURL=bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBSGJ3T5Scjs = require('../chunk-BSGJ3T5S.cjs');var _chunkD7JQWF6Vcjs = require('../chunk-D7JQWF6V.cjs');exports.areScopeErrorsEqual = _chunkD7JQWF6Vcjs.a; exports.getScopeSubscriptionPaths = _chunkD7JQWF6Vcjs.c; exports.isHistoryMetaEqual = _chunkD7JQWF6Vcjs.e; exports.isScopeStatusEqual = _chunkD7JQWF6Vcjs.b; exports.observeHistoryMetaSnapshot = _chunkD7JQWF6Vcjs.g; exports.observeScopeStatusSnapshot = _chunkBSGJ3T5Scjs.a; exports.readHistoryMetaSnapshot = _chunkD7JQWF6Vcjs.f;
2
+ //# sourceMappingURL=status.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/core/status.cjs"],"names":[],"mappings":"AAAA,kIAAyC,yDAA8D,0XAA6M","file":"/home/runner/work/bit-form/bit-form/dist/core/status.cjs"}
@@ -0,0 +1,44 @@
1
+ import { a as BitHistoryMetadata } from '../meta-types-Bzmm21TP.cjs';
2
+ import { S as ScopeStatus } from '../types-D6LhF5GC.cjs';
3
+ export { V as ValidateScopeResult } from '../types-D6LhF5GC.cjs';
4
+ import '../types-D8DgIUhJ.cjs';
5
+
6
+ /**
7
+ * Subconjunto relevante de BitHistoryMetadata para comparação de igualdade.
8
+ * Evita re-renders/updates desnecessários quando o estado de histórico não muda.
9
+ */
10
+ type HistoryMeta = Pick<BitHistoryMetadata, "canUndo" | "canRedo" | "historyIndex" | "historySize">;
11
+ /**
12
+ * Compara dois snapshots de metadata de histórico por valor.
13
+ * Retorna `true` quando todos os campos relevantes são idênticos,
14
+ * permitindo que os bindings de framework ignorem atualizações não relacionadas.
15
+ */
16
+ declare function isHistoryMetaEqual(a: HistoryMeta, b: HistoryMeta): boolean;
17
+ declare function readHistoryMetaSnapshot<T extends object>(store: {
18
+ read: {
19
+ getHistoryMetadata(): BitHistoryMetadata;
20
+ };
21
+ }): HistoryMeta;
22
+ declare function observeHistoryMetaSnapshot<T extends object>(store: {
23
+ read: {
24
+ getHistoryMetadata(): BitHistoryMetadata;
25
+ };
26
+ observe: {
27
+ subscribeHistoryMeta(listener: (meta: BitHistoryMetadata) => void): () => void;
28
+ };
29
+ }, listener: (meta: HistoryMeta) => void): () => void;
30
+
31
+ declare function areScopeErrorsEqual(currentErrors: Record<string, string>, nextErrors: Record<string, string>): boolean;
32
+ declare function isScopeStatusEqual(currentStatus: ScopeStatus, nextStatus: ScopeStatus): boolean;
33
+ declare function getScopeSubscriptionPaths(scopeFields: readonly string[]): string[];
34
+
35
+ declare function observeScopeStatusSnapshot(store: {
36
+ read: {
37
+ getScopeStatus(scopeName: string): ScopeStatus;
38
+ };
39
+ observe: {
40
+ subscribeScopeStatus(scopeName: string, listener: (status: ScopeStatus) => void): () => void;
41
+ };
42
+ }, scopeName: string, listener: (status: ScopeStatus) => void): () => void;
43
+
44
+ export { type HistoryMeta, ScopeStatus, areScopeErrorsEqual, getScopeSubscriptionPaths, isHistoryMetaEqual, isScopeStatusEqual, observeHistoryMetaSnapshot, observeScopeStatusSnapshot, readHistoryMetaSnapshot };