@liascript/exporter 2.6.40--0.17.2 → 2.6.41--0.17.2

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 (157) hide show
  1. package/dist/assets/capacitor/index.46046734.js +2 -0
  2. package/dist/assets/capacitor/index.86d74a0c.js +3 -0
  3. package/dist/assets/capacitor/index.b5aed5b7.js +1 -0
  4. package/dist/assets/capacitor/index.dc0d877e.js +1 -0
  5. package/dist/assets/capacitor/index.html +1 -1
  6. package/dist/assets/capacitor/trystero-mqtt.min.6d9c6703.js +1 -0
  7. package/dist/assets/capacitor/trystero-mqtt.min.e0182753.js +1 -0
  8. package/dist/assets/capacitor/trystero-nostr.min.2980a983.js +1 -0
  9. package/dist/assets/capacitor/trystero-nostr.min.d5bf7194.js +1 -0
  10. package/dist/assets/capacitor/trystero-torrent.min.9a850ad2.js +1 -0
  11. package/dist/assets/capacitor/trystero-torrent.min.efe48994.js +1 -0
  12. package/dist/assets/indexeddb/index.57fae40d.js +1 -0
  13. package/dist/assets/indexeddb/index.b5aed5b7.js +1 -0
  14. package/dist/assets/indexeddb/index.c00f6c31.js +1 -0
  15. package/dist/assets/indexeddb/index.dc0d877e.js +1 -0
  16. package/dist/assets/indexeddb/index.html +1 -1
  17. package/dist/assets/indexeddb/trystero-mqtt.min.6d9c6703.js +1 -0
  18. package/dist/assets/indexeddb/trystero-mqtt.min.e0182753.js +1 -0
  19. package/dist/assets/indexeddb/trystero-nostr.min.2980a983.js +1 -0
  20. package/dist/assets/indexeddb/trystero-nostr.min.d5bf7194.js +1 -0
  21. package/dist/assets/indexeddb/trystero-torrent.min.9a850ad2.js +1 -0
  22. package/dist/assets/indexeddb/trystero-torrent.min.efe48994.js +1 -0
  23. package/dist/assets/pdf/index.2b68bcde.js +1 -0
  24. package/dist/assets/pdf/index.87cd0e1f.js +1 -0
  25. package/dist/assets/pdf/index.990b9637.js +1 -0
  26. package/dist/assets/pdf/index.b568f8ce.js +1 -0
  27. package/dist/assets/pdf/index.html +1 -1
  28. package/dist/assets/pdf/jszip.min.19c66d77.js +13 -0
  29. package/dist/assets/scorm1.2/index.2c8361f8.js +1 -0
  30. package/dist/assets/scorm1.2/index.b5aed5b7.js +1 -0
  31. package/dist/assets/scorm1.2/index.dc0d877e.js +1 -0
  32. package/dist/assets/scorm1.2/index.e41eeaf5.js +1 -0
  33. package/dist/assets/scorm1.2/index.html +1 -1
  34. package/dist/assets/scorm1.2/trystero-mqtt.min.6d9c6703.js +1 -0
  35. package/dist/assets/scorm1.2/trystero-mqtt.min.e0182753.js +1 -0
  36. package/dist/assets/scorm1.2/trystero-nostr.min.2980a983.js +1 -0
  37. package/dist/assets/scorm1.2/trystero-nostr.min.d5bf7194.js +1 -0
  38. package/dist/assets/scorm1.2/trystero-torrent.min.9a850ad2.js +1 -0
  39. package/dist/assets/scorm1.2/trystero-torrent.min.efe48994.js +1 -0
  40. package/dist/assets/scorm2004/SCORM2004.b05ecf91.js +1 -0
  41. package/dist/assets/scorm2004/SCORM2004.dc46cb61.js +1 -0
  42. package/dist/assets/scorm2004/index.81e0d7d5.js +1 -0
  43. package/dist/assets/scorm2004/index.92824222.js +1 -0
  44. package/dist/assets/scorm2004/index.b5aed5b7.js +1 -0
  45. package/dist/assets/scorm2004/index.dc0d877e.js +1 -0
  46. package/dist/assets/scorm2004/index.html +1 -1
  47. package/dist/assets/scorm2004/jszip.min.19c66d77.js +13 -0
  48. package/dist/assets/scorm2004/trystero-mqtt.min.6d9c6703.js +1 -0
  49. package/dist/assets/scorm2004/trystero-mqtt.min.e0182753.js +1 -0
  50. package/dist/assets/scorm2004/trystero-nostr.min.2980a983.js +1 -0
  51. package/dist/assets/scorm2004/trystero-nostr.min.d5bf7194.js +1 -0
  52. package/dist/assets/scorm2004/trystero-torrent.min.9a850ad2.js +1 -0
  53. package/dist/assets/scorm2004/trystero-torrent.min.efe48994.js +1 -0
  54. package/dist/assets/web/index.3731b339.js +1 -0
  55. package/dist/assets/web/index.60ae0439.js +1 -0
  56. package/dist/assets/web/index.b5aed5b7.js +1 -0
  57. package/dist/assets/web/index.dc0d877e.js +1 -0
  58. package/dist/assets/web/index.html +1 -1
  59. package/dist/assets/web/jszip.min.63142cc8.js +13 -0
  60. package/dist/assets/web/trystero-mqtt.min.6d9c6703.js +1 -0
  61. package/dist/assets/web/trystero-mqtt.min.e0182753.js +1 -0
  62. package/dist/assets/web/trystero-nostr.min.2980a983.js +1 -0
  63. package/dist/assets/web/trystero-nostr.min.d5bf7194.js +1 -0
  64. package/dist/assets/web/trystero-torrent.min.9a850ad2.js +1 -0
  65. package/dist/assets/web/trystero-torrent.min.efe48994.js +1 -0
  66. package/dist/assets/xapi/index.a011f589.js +1 -0
  67. package/dist/assets/xapi/index.b5aed5b7.js +1 -0
  68. package/dist/assets/xapi/index.cbea2dcb.js +1 -0
  69. package/dist/assets/xapi/index.dc0d877e.js +1 -0
  70. package/dist/assets/xapi/index.html +1 -1
  71. package/dist/assets/xapi/trystero-mqtt.min.6d9c6703.js +1 -0
  72. package/dist/assets/xapi/trystero-mqtt.min.e0182753.js +1 -0
  73. package/dist/assets/xapi/trystero-nostr.min.2980a983.js +1 -0
  74. package/dist/assets/xapi/trystero-nostr.min.d5bf7194.js +1 -0
  75. package/dist/assets/xapi/trystero-torrent.min.9a850ad2.js +1 -0
  76. package/dist/assets/xapi/trystero-torrent.min.efe48994.js +1 -0
  77. package/dist/index.js +1 -1
  78. package/package.json +1 -1
  79. package/dist/assets/capacitor/index.1ab7546b.js +0 -3
  80. package/dist/assets/capacitor/index.5d64fecf.js +0 -1
  81. package/dist/assets/capacitor/index.9c8d301a.js +0 -1
  82. package/dist/assets/capacitor/index.b0296e15.js +0 -2
  83. package/dist/assets/capacitor/trystero-mqtt.min.6e40f6de.js +0 -1
  84. package/dist/assets/capacitor/trystero-mqtt.min.a2199647.js +0 -1
  85. package/dist/assets/capacitor/trystero-nostr.min.765a883b.js +0 -1
  86. package/dist/assets/capacitor/trystero-nostr.min.fe4ac2f4.js +0 -1
  87. package/dist/assets/capacitor/trystero-torrent.min.d39641f1.js +0 -1
  88. package/dist/assets/capacitor/trystero-torrent.min.dbd208ec.js +0 -1
  89. package/dist/assets/indexeddb/index.10a81eac.js +0 -1
  90. package/dist/assets/indexeddb/index.5d64fecf.js +0 -1
  91. package/dist/assets/indexeddb/index.7fcdfa74.js +0 -1
  92. package/dist/assets/indexeddb/index.9c8d301a.js +0 -1
  93. package/dist/assets/indexeddb/trystero-mqtt.min.6e40f6de.js +0 -1
  94. package/dist/assets/indexeddb/trystero-mqtt.min.a2199647.js +0 -1
  95. package/dist/assets/indexeddb/trystero-nostr.min.765a883b.js +0 -1
  96. package/dist/assets/indexeddb/trystero-nostr.min.fe4ac2f4.js +0 -1
  97. package/dist/assets/indexeddb/trystero-torrent.min.d39641f1.js +0 -1
  98. package/dist/assets/indexeddb/trystero-torrent.min.dbd208ec.js +0 -1
  99. package/dist/assets/pdf/index.4c925f39.js +0 -1
  100. package/dist/assets/pdf/index.5493b5c3.js +0 -1
  101. package/dist/assets/pdf/index.54d437aa.js +0 -1
  102. package/dist/assets/pdf/index.84a3e762.js +0 -1
  103. package/dist/assets/pdf/jszip.min.eaecf580.js +0 -13
  104. package/dist/assets/scorm1.2/index.5d64fecf.js +0 -1
  105. package/dist/assets/scorm1.2/index.9c8d301a.js +0 -1
  106. package/dist/assets/scorm1.2/index.a1d98fe8.js +0 -1
  107. package/dist/assets/scorm1.2/index.fb6f86f8.js +0 -1
  108. package/dist/assets/scorm1.2/trystero-mqtt.min.6e40f6de.js +0 -1
  109. package/dist/assets/scorm1.2/trystero-mqtt.min.a2199647.js +0 -1
  110. package/dist/assets/scorm1.2/trystero-nostr.min.765a883b.js +0 -1
  111. package/dist/assets/scorm1.2/trystero-nostr.min.fe4ac2f4.js +0 -1
  112. package/dist/assets/scorm1.2/trystero-torrent.min.d39641f1.js +0 -1
  113. package/dist/assets/scorm1.2/trystero-torrent.min.dbd208ec.js +0 -1
  114. package/dist/assets/scorm2004/SCORM2004.9a05bfd8.js +0 -1
  115. package/dist/assets/scorm2004/SCORM2004.f751d884.js +0 -1
  116. package/dist/assets/scorm2004/index.163a95f1.js +0 -1
  117. package/dist/assets/scorm2004/index.374c449f.js +0 -1
  118. package/dist/assets/scorm2004/index.5d64fecf.js +0 -1
  119. package/dist/assets/scorm2004/index.9c8d301a.js +0 -1
  120. package/dist/assets/scorm2004/jszip.min.eaecf580.js +0 -13
  121. package/dist/assets/scorm2004/trystero-mqtt.min.6e40f6de.js +0 -1
  122. package/dist/assets/scorm2004/trystero-mqtt.min.a2199647.js +0 -1
  123. package/dist/assets/scorm2004/trystero-nostr.min.765a883b.js +0 -1
  124. package/dist/assets/scorm2004/trystero-nostr.min.fe4ac2f4.js +0 -1
  125. package/dist/assets/scorm2004/trystero-torrent.min.d39641f1.js +0 -1
  126. package/dist/assets/scorm2004/trystero-torrent.min.dbd208ec.js +0 -1
  127. package/dist/assets/web/index.5d64fecf.js +0 -1
  128. package/dist/assets/web/index.9c8d301a.js +0 -1
  129. package/dist/assets/web/index.c4e6ed4e.js +0 -1
  130. package/dist/assets/web/index.dae2afac.js +0 -1
  131. package/dist/assets/web/jszip.min.4fbcc13f.js +0 -13
  132. package/dist/assets/web/trystero-mqtt.min.6e40f6de.js +0 -1
  133. package/dist/assets/web/trystero-mqtt.min.a2199647.js +0 -1
  134. package/dist/assets/web/trystero-nostr.min.765a883b.js +0 -1
  135. package/dist/assets/web/trystero-nostr.min.fe4ac2f4.js +0 -1
  136. package/dist/assets/web/trystero-torrent.min.d39641f1.js +0 -1
  137. package/dist/assets/web/trystero-torrent.min.dbd208ec.js +0 -1
  138. package/dist/assets/xapi/index.5d64fecf.js +0 -1
  139. package/dist/assets/xapi/index.9c8d301a.js +0 -1
  140. package/dist/assets/xapi/index.e19ea3b2.js +0 -1
  141. package/dist/assets/xapi/index.f9fadbb3.js +0 -1
  142. package/dist/assets/xapi/trystero-mqtt.min.6e40f6de.js +0 -1
  143. package/dist/assets/xapi/trystero-mqtt.min.a2199647.js +0 -1
  144. package/dist/assets/xapi/trystero-nostr.min.765a883b.js +0 -1
  145. package/dist/assets/xapi/trystero-nostr.min.fe4ac2f4.js +0 -1
  146. package/dist/assets/xapi/trystero-torrent.min.d39641f1.js +0 -1
  147. package/dist/assets/xapi/trystero-torrent.min.dbd208ec.js +0 -1
  148. /package/dist/assets/{web → capacitor}/jszip.min.19c66d77.js +0 -0
  149. /package/dist/assets/{indexeddb → capacitor}/jszip.min.4fbcc13f.js +0 -0
  150. /package/dist/assets/{xapi → indexeddb}/jszip.min.19c66d77.js +0 -0
  151. /package/dist/assets/{capacitor → indexeddb}/jszip.min.63142cc8.js +0 -0
  152. /package/dist/assets/{scorm1.2 → pdf}/jszip.min.63142cc8.js +0 -0
  153. /package/dist/assets/{pdf → scorm1.2}/jszip.min.4fbcc13f.js +0 -0
  154. /package/dist/assets/{xapi → scorm2004}/jszip.min.63142cc8.js +0 -0
  155. /package/dist/assets/{capacitor → web}/jszip.min.eaecf580.js +0 -0
  156. /package/dist/assets/{scorm2004 → xapi}/jszip.min.4fbcc13f.js +0 -0
  157. /package/dist/assets/{indexeddb → xapi}/jszip.min.eaecf580.js +0 -0
@@ -0,0 +1 @@
1
+ !function(){var e=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).parcelRequire55a5;e.register("1UDrq",(function(n,t){var r,a;r=n.exports,a=function(){return Dn},Object.defineProperty(r,"joinRoom",{get:a,set:undefined,enumerable:!0,configurable:!0});var i,o,u,c,f,s,l,d,h,v,y,p,g,m,w,b,E=e("hnmIs"),k=e("9Klpk"),x=e("3bWnf"),A=e("eT7f3"),S=e("kb0qF"),_=e("bgoEC"),I=e("7j4mF"),P=e("5ENmm"),B=e("6Wo7Q"),T=e("rJmE6"),H=e("fSF4h"),U=e("bWNdT"),R=e("32Euv"),C=Object.freeze({__proto__:null,default:{}}),D=BigInt(0),z=BigInt(1),O=BigInt(2),N=BigInt(3),L=BigInt(8),j=Object.freeze({a:D,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:z,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),M=function(e,n){return(e+n/O)/n},Z=BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),V=function(e){var n=j.n,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-z*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),a=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,o=BigInt("0x100000000000000000000000000000000"),u=M(i*e,n),c=M(-r*e,n),f=pe(e-u*t-c*a,n),s=pe(-u*r-c*i,n),l=f>o,d=s>o;if(l&&(f=n-f),d&&(s=n-s),f>o||s>o)throw Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:l,k1:f,k2neg:d,k2:s}},q=32;function W(e){var n=j.a,t=j.b,r=pe(e*e),a=pe(r*e);return pe(a+n*e+t)}var K=j.a===D,F=function(e){"use strict";(0,S.default)(t,e);var n=(0,U.default)(t);function t(e){return(0,k.default)(this,t),n.call(this,e)}return t}((0,H.default)(Error));function J(e){if(!(e instanceof G))throw new TypeError("JacobianPoint expected")}var G=function(){"use strict";function e(n,t,r){(0,k.default)(this,e),this.x=n,this.y=t,this.z=r}return(0,x.default)(e,[{key:"equals",value:function(e){J(e);var n=this,t=n.x,r=n.y,a=n.z,i=e.x,o=e.y,u=e.z,c=pe(a*a),f=pe(u*u),s=pe(t*f),l=pe(i*c),d=pe(pe(r*u)*f),h=pe(pe(o*a)*c);return s===l&&d===h}},{key:"negate",value:function(){return new e(this.x,pe(-this.y),this.z)}},{key:"double",value:function(){var n=this,t=n.x,r=n.y,a=n.z,i=pe(t*t),o=pe(r*r),u=pe(o*o),c=t+o,f=pe(O*(pe(c*c)-i-u)),s=pe(N*i),l=pe(s*s),d=pe(l-O*f);return new e(d,pe(s*(f-d)-L*u),pe(O*r*a))}},{key:"add",value:function(n){J(n);var t=this,r=t.x,a=t.y,i=t.z,o=n.x,u=n.y,c=n.z;if(o===D||u===D)return this;if(r===D||a===D)return n;var f=pe(i*i),s=pe(c*c),l=pe(r*s),d=pe(o*f),h=pe(pe(a*c)*s),v=pe(pe(u*i)*f),y=pe(d-l),p=pe(v-h);if(y===D)return p===D?this.double():e.ZERO;var g=pe(y*y),m=pe(y*g),w=pe(l*g),b=pe(p*p-m-O*w);return new e(b,pe(p*(w-b)-h*m),pe(i*c*y))}},{key:"subtract",value:function(e){return this.add(e.negate())}},{key:"multiplyUnsafe",value:function(n){var t=e.ZERO;if("bigint"==(void 0===n?"undefined":(0,T.default)(n))&&n===D)return t;var r=ye(n);if(r===z)return this;if(!K){for(var a=t,i=this;r>D;)r&z&&(a=a.add(i)),i=i.double(),r>>=z;return a}for(var o=V(r),u=o.k1neg,c=o.k1,f=o.k2neg,s=o.k2,l=t,d=t,h=this;c>D||s>D;)c&z&&(l=l.add(h)),s&z&&(d=d.add(h)),h=h.double(),c>>=z,s>>=z;return u&&(l=l.negate()),f&&(d=d.negate()),d=new e(pe(d.x*Z),d.y,d.z),l.add(d)}},{key:"precomputeWindow",value:function(e){for(var n=K?128/e+1:256/e+1,t=[],r=this,a=r,i=0;i<n;i++){a=r,t.push(a);for(var o=1;o<Math.pow(2,e-1);o++)a=a.add(r),t.push(a);r=a.double()}return t}},{key:"wNAF",value:function(n,t){!t&&this.equals(e.BASE)&&(t=Q.BASE);var r=t&&t._WINDOW_SIZE||1;if(256%r)throw Error("Point#wNAF: Invalid precomputation window, must be power of 2");var a=t&&Y.get(t);a||(a=this.precomputeWindow(r),t&&1!==r&&(a=e.normalizeZ(a),Y.set(t,a)));for(var i=e.ZERO,o=e.BASE,u=1+(K?128/r:256/r),c=Math.pow(2,r-1),f=BigInt(Math.pow(2,r)-1),s=Math.pow(2,r),l=BigInt(r),d=0;d<u;d++){var h=d*c,v=Number(n&f);n>>=l,v>c&&(v-=s,n+=z);var y=h,p=h+Math.abs(v)-1,g=d%2!=0,m=v<0;0===v?o=o.add(X(g,a[y])):i=i.add(X(m,a[p]))}return{p:i,f:o}}},{key:"multiply",value:function(n,t){var r,a,i=ye(n);if(K){var o=V(i),u=o.k1neg,c=o.k1,f=o.k2neg,s=o.k2,l=this.wNAF(c,t),d=l.p,h=l.f,v=this.wNAF(s,t),y=v.p,p=v.f;d=X(u,d),y=new e(pe((y=X(f,y)).x*Z),y.y,y.z),r=d.add(y),a=h.add(p)}else{var g=this.wNAF(i,t);r=g.p,a=g.f}return e.normalizeZ([r,a])[0]}},{key:"toAffine",value:function(n){var t=this,r=t.x,a=t.y,i=t.z,o=this.equals(e.ZERO);null==n&&(n=o?L:me(i));var u=n,c=pe(u*u),f=pe(c*u),s=pe(r*c),l=pe(a*f),d=pe(i*u);if(o)return Q.ZERO;if(d!==z)throw Error("invZ was invalid");return new Q(s,l)}}],[{key:"fromAffine",value:function(n){if(!(n instanceof Q))throw new TypeError("JacobianPoint#fromAffine: expected Point");return n.equals(Q.ZERO)?e.ZERO:new e(n.x,n.y,z)}},{key:"toAffineBatch",value:function(e){var n=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:j.P,t=Array(e.length),r=me(e.reduce((function(e,r,a){return r===D?e:(t[a]=e,pe(e*r,n))}),z),n);return e.reduceRight((function(e,r,a){return r===D?e:(t[a]=pe(e*t[a],n),pe(e*r,n))}),r),t}(e.map((function(e){return e.z})));return e.map((function(e,t){return e.toAffine(n[t])}))}},{key:"normalizeZ",value:function(n){return e.toAffineBatch(n).map(e.fromAffine)}}]),e}();function X(e,n){var t=n.negate();return e?t:n}G.BASE=new G(j.Gx,j.Gy,z),G.ZERO=new G(D,z,D);var Y=new WeakMap,Q=function(){"use strict";function e(n,t){(0,k.default)(this,e),this.x=n,this.y=t}return(0,x.default)(e,[{key:"_setWindowSize",value:function(e){this._WINDOW_SIZE=e,Y.delete(this)}},{key:"hasEvenY",value:function(){return this.y%O===D}},{key:"toRawBytes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return de(this.toHex(e))}},{key:"toHex",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=ce(this.x);return e?"".concat(this.hasEvenY()?"02":"03").concat(n):"04".concat(n).concat(ce(this.y))}},{key:"toHexX",value:function(){return this.toHex(!0).slice(2)}},{key:"toRawX",value:function(){return this.toRawBytes(!0).slice(1)}},{key:"assertValidity",value:function(){var e="Point is not on elliptic curve",n=this.x,t=this.y;if(!be(n)||!be(t))throw Error(e);var r=pe(t*t);if(pe(r-W(n))!==D)throw Error(e)}},{key:"equals",value:function(e){return this.x===e.x&&this.y===e.y}},{key:"negate",value:function(){return new e(this.x,pe(-this.y))}},{key:"double",value:function(){return G.fromAffine(this).double().toAffine()}},{key:"add",value:function(e){return G.fromAffine(this).add(G.fromAffine(e)).toAffine()}},{key:"subtract",value:function(e){return this.add(e.negate())}},{key:"multiply",value:function(e){return G.fromAffine(this).multiply(e,this).toAffine()}},{key:"multiplyAndAddUnsafe",value:function(n,t,r){var a=G.fromAffine(this),i=t===D||t===z||this!==e.BASE?a.multiplyUnsafe(t):a.multiply(t),o=G.fromAffine(n).multiplyUnsafe(r),u=i.add(o);return u.equals(G.ZERO)?void 0:u.toAffine()}}],[{key:"fromCompressedHex",value:function(n){var t=32===n.length,r=he(t?n:n.subarray(1));if(!be(r))throw Error("Point is not on curve");var a=function(e){var n=j.P,t=BigInt(6),r=BigInt(11),a=BigInt(22),i=BigInt(23),o=BigInt(44),u=BigInt(88),c=e*e*e%n,f=c*c*e%n,s=ge(f,N)*f%n,l=ge(s,N)*f%n,d=ge(l,O)*c%n,h=ge(d,r)*d%n,v=ge(h,a)*h%n,y=ge(v,o)*v%n,p=ge(y,u)*y%n,g=ge(p,o)*v%n,m=ge(g,N)*f%n,w=ge(m,i)*h%n,b=ge(w,t)*c%n,E=ge(b,O);if(E*E%n!==e)throw Error("Cannot find square root");return E}(W(r)),i=(a&z)===z;t?i&&(a=pe(-a)):!(1&~n[0])!==i&&(a=pe(-a));var o=new e(r,a);return o.assertValidity(),o}},{key:"fromUncompressedHex",value:function(n){var t=new e(he(n.subarray(1,33)),he(n.subarray(33,65)));return t.assertValidity(),t}},{key:"fromHex",value:function(e){var n=ve(e),t=n.length,r=n[0];if(32===t)return this.fromCompressedHex(n);if(33===t&&(2===r||3===r))return this.fromCompressedHex(n);if(65===t&&4===r)return this.fromUncompressedHex(n);throw Error("Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not "+t)}},{key:"fromPrivateKey",value:function(n){return e.BASE.multiply(Ee(n))}},{key:"fromSignature",value:function(n,t,r){var a=function(e){if(e instanceof ne)return e.assertValidity(),e;try{return ne.fromDER(e)}catch(n){return ne.fromCompact(e)}}(t),i=a.r,o=a.s;if(![0,1,2,3].includes(r))throw Error("Cannot recover: invalid recovery bit");var u=function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=function(e){var n=8*e.length-256,t=he(e);return n>0?t>>BigInt(n):t}(e);if(n)return t;var r=j.n;return t>=r?t-r:t}(ve(n)),c=j.n,f=2===r||3===r?i+c:i,s=me(f,c),l=pe(-u*s,c),d=pe(o*s,c),h=1&r?"03":"02",v=e.fromHex(h+ce(f)),y=e.BASE.multiplyAndAddUnsafe(v,l,d);if(!y)throw Error("Cannot recover signature: point at infinify");return y.assertValidity(),y}}]),e}();function $(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function ee(e){if(e.length<2||2!==e[0])throw Error("Invalid signature integer tag: "+ae(e));var n=e[1],t=e.subarray(2,n+2);if(!n||t.length!==n)throw Error("Invalid signature integer: wrong length");if(0===t[0]&&t[1]<=127)throw Error("Invalid signature integer: trailing length");return{data:he(t),left:e.subarray(n+2)}}Q.BASE=new Q(j.Gx,j.Gy),Q.ZERO=new Q(D,D);var ne=function(){"use strict";function e(n,t){(0,k.default)(this,e),this.r=n,this.s=t,this.assertValidity()}return(0,x.default)(e,[{key:"assertValidity",value:function(){var e=this.r,n=this.s;if(!we(e))throw Error("Invalid Signature: r must be 0 < r < n");if(!we(n))throw Error("Invalid Signature: s must be 0 < s < n")}},{key:"hasHighS",value:function(){var e=j.n>>z;return this.s>e}},{key:"normalizeS",value:function(){return this.hasHighS()?new e(this.r,pe(-this.s,j.n)):this}},{key:"toDERRawBytes",value:function(){return de(this.toDERHex())}},{key:"toDERHex",value:function(){var e=$(se(this.s)),n=$(se(this.r)),t=e.length/2,r=n.length/2,a=se(t),i=se(r);return"30".concat(se(r+t+4),"02").concat(i).concat(n,"02").concat(a).concat(e)}},{key:"toRawBytes",value:function(){return this.toDERRawBytes()}},{key:"toHex",value:function(){return this.toDERHex()}},{key:"toCompactRawBytes",value:function(){return de(this.toCompactHex())}},{key:"toCompactHex",value:function(){return ce(this.r)+ce(this.s)}}],[{key:"fromCompact",value:function(n){var t=n instanceof Uint8Array,r="Signature.fromCompact";if("string"!=typeof n&&!t)throw new TypeError(r+": Expected string or Uint8Array");var a=t?ae(n):n;if(128!==a.length)throw Error(r+": Expected 64-byte hex");return new e(le(a.slice(0,64)),le(a.slice(64,128)))}},{key:"fromDER",value:function(n){var t=n instanceof Uint8Array;if("string"!=typeof n&&!t)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");var r=function(e){if(e.length<2||48!=e[0])throw Error("Invalid signature tag: "+ae(e));if(e[1]!==e.length-2)throw Error("Invalid signature: incorrect length");var n=ee(e.subarray(2)),t=n.data,r=ee(n.left),a=r.data,i=r.left;if(i.length)throw Error("Invalid signature: left bytes after parsing: "+ae(i));return{r:t,s:a}}(t?n:de(n));return new e(r.r,r.s)}},{key:"fromHex",value:function(e){return this.fromDER(e)}}]),e}();function te(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];if(!n.every((function(e){return e instanceof Uint8Array})))throw Error("Uint8Array list expected");if(1===n.length)return n[0];for(var r=n.reduce((function(e,n){return e+n.length}),0),a=new Uint8Array(r),i=0,o=0;i<n.length;i++){var u=n[i];a.set(u,o),o+=u.length}return a}var re=Array.from({length:256},(function(e,n){return n.toString(16).padStart(2,"0")}));function ae(e){if(!(e instanceof Uint8Array))throw Error("Expected Uint8Array");for(var n="",t=0;t<e.length;t++)n+=re[e[t]];return n}var ie,oe,ue=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function ce(e){if("bigint"!=(void 0===e?"undefined":(0,T.default)(e)))throw Error("Expected bigint");if(!(D<=e&&e<ue))throw Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function fe(e){var n=de(ce(e));if(32!==n.length)throw Error("Error: expected 32 bytes");return n}function se(e){var n=e.toString(16);return 1&n.length?"0"+n:n}function le(e){if("string"!=typeof e)throw new TypeError("hexToNumber: expected string, got "+(void 0===e?"undefined":(0,T.default)(e)));return BigInt("0x"+e)}function de(e){if("string"!=typeof e)throw new TypeError("hexToBytes: expected string, got "+(void 0===e?"undefined":(0,T.default)(e)));if(e.length%2)throw Error("hexToBytes: received invalid unpadded hex"+e.length);for(var n=new Uint8Array(e.length/2),t=0;t<n.length;t++){var r=2*t,a=e.slice(r,r+2),i=Number.parseInt(a,16);if(Number.isNaN(i)||i<0)throw Error("Invalid byte sequence");n[t]=i}return n}function he(e){return le(ae(e))}function ve(e){return e instanceof Uint8Array?Uint8Array.from(e):de(e)}function ye(e){if("number"==typeof e&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if("bigint"==(void 0===e?"undefined":(0,T.default)(e))&&we(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function pe(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:j.P,t=e%n;return t>=D?t:n+t}function ge(e,n){for(var t=j.P,r=e;n-- >D;)r*=r,r%=t;return r}function me(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:j.P;if(e===D||n<=D)throw Error("invert: expected positive integers, got n=".concat(e," mod=").concat(n));for(var t=pe(e,n),r=n,a=D,i=z;t!==D;){var o=r%t,u=a-i*(r/t);r=t,t=o,a=i,i=u}if(r!==z)throw Error("invert: does not exist");return pe(a,n)}function we(e){return D<e&&e<j.n}function be(e){return D<e&&e<j.P}function Ee(e){var n;if("bigint"==(void 0===e?"undefined":(0,T.default)(e)))n=e;else if("number"==typeof e&&Number.isSafeInteger(e)&&e>0)n=BigInt(e);else if("string"==typeof e){if(64!==e.length)throw Error("Expected 32 bytes of private key");n=le(e)}else{if(!(e instanceof Uint8Array))throw new TypeError("Expected valid private key");if(e.length!==q)throw Error("Expected 32 bytes of private key");n=he(e)}if(!we(n))throw Error("Expected private key: 0 < key < n");return n}function ke(e){return e instanceof Q?(e.assertValidity(),e):Q.fromHex(e)}function xe(e){return pe(he(e),j.n)}var Ae=function(){"use strict";function e(n,t){(0,k.default)(this,e),this.r=n,this.s=t,this.assertValidity()}return(0,x.default)(e,[{key:"assertValidity",value:function(){var e=this.r,n=this.s;if(!be(e)||!we(n))throw Error("Invalid signature")}},{key:"toHex",value:function(){return ce(this.r)+ce(this.s)}},{key:"toRawBytes",value:function(){return de(this.toHex())}}],[{key:"fromHex",value:function(n){var t=ve(n);if(64!==t.length)throw new TypeError("SchnorrSignature.fromHex: expected 64 bytes, not "+t.length);return new e(he(t.subarray(0,32)),he(t.subarray(32,64)))}}]),e}(),Se=function(){"use strict";function e(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:De.randomBytes();if((0,k.default)(this,e),null==n)throw new TypeError('sign: Expected valid message, not "'.concat(n,'"'));this.m=ve(n);var a=this.getScalar(Ee(t)),i=a.x,o=a.scalar;if(this.px=i,this.d=o,this.rand=ve(r),32!==this.rand.length)throw new TypeError("sign: Expected 32 bytes of aux randomness")}return(0,x.default)(e,[{key:"getScalar",value:function(e){var n=Q.fromPrivateKey(e),t=n.hasEvenY()?e:j.n-e;return{point:n,scalar:t,x:n.toRawX()}}},{key:"initNonce",value:function(e,n){return fe(e^he(n))}},{key:"finalizeNonce",value:function(e){var n=pe(he(e),j.n);if(n===D)throw Error("sign: Creation of signature failed. k is zero");var t=this.getScalar(n);return{R:t.point,rx:t.x,k:t.scalar}}},{key:"finalizeSig",value:function(e,n,t,r){return new Ae(e.x,pe(n+t*r,j.n)).toRawBytes()}},{key:"error",value:function(){throw Error("sign: Invalid signature produced")}},{key:"calc",value:function(){var e=this;return(0,E.default)((function(){var n,t,r,a,i,o,u,c,f,s,l,d,h,v,y;return(0,R.__generator)(this,(function(p){switch(p.label){case 0:return n=e.m,t=e.d,r=e.px,a=e.rand,i=De.taggedHash,h=e.initNonce,v=[t],[4,i(Re.aux,a)];case 1:return o=h.apply(e,v.concat([p.sent()])),y=e.finalizeNonce,[4,i(Re.nonce,o,r,n)];case 2:return u=y.apply(e,[p.sent()]),c=u.R,f=u.rx,s=u.k,[4,i(Re.challenge,f,r,n)];case 3:return l=xe.apply(void 0,[p.sent()]),[4,Pe(d=e.finalizeSig(c,s,l,t),n,r)];case 4:return[2,(p.sent()||e.error(),d)]}}))}))()}},{key:"calcSync",value:function(){var e=this,n=e.m,t=e.d,r=e.px,a=e.rand,i=De.taggedHashSync,o=this.initNonce(t,i(Re.aux,a)),u=this.finalizeNonce(i(Re.nonce,o,r,n)),c=u.R,f=u.rx,s=u.k,l=xe(i(Re.challenge,f,r,n)),d=this.finalizeSig(c,s,l,t);return function(e,n,t){try{var r=_e(e,n,t),a=r.r,i=r.s,o=r.m,u=r.P,c=xe(De.taggedHashSync(Re.challenge,fe(a),u.toRawX(),o));return Ie(a,u,i,c)}catch(e){if(e instanceof F)throw e;return!1}}(d,n,r)||this.error(),d}}]),e}();function _e(e,n,t){var r=e instanceof Ae,a=r?e:Ae.fromHex(e);return r&&a.assertValidity(),(0,I.default)((0,_.default)({},a),{m:ve(n),P:ke(t)})}function Ie(e,n,t,r){var a=Q.BASE.multiplyAndAddUnsafe(n,Ee(t),pe(-r,j.n));return!(!a||!a.hasEvenY()||a.x!==e)}function Pe(e,n,t){return Be.apply(this,arguments)}function Be(){return Be=(0,E.default)((function(e,n,t){var r,a,i,o,u,c;return(0,R.__generator)(this,(function(f){switch(f.label){case 0:return f.trys.push([0,2,,3]),r=_e(e,n,t),a=r.r,i=r.s,o=r.m,u=r.P,[4,De.taggedHash(Re.challenge,fe(a),u.toRawX(),o)];case 1:return c=xe.apply(void 0,[f.sent()]),[2,Ie(a,u,i,c)];case 2:return f.sent(),[2,!1];case 3:return[2]}}))})),Be.apply(this,arguments)}var Te,He=function(e,n,t){return(0,E.default)((function(){return(0,R.__generator)(this,(function(r){return[2,new Se(e,n,t).calc()]}))}))()};Q.BASE._setWindowSize(8);var Ue={node:C,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Re={challenge:"BIP0340/challenge",aux:"BIP0340/aux",nonce:"BIP0340/nonce"},Ce={},De=(Te={bytesToHex:ae,hexToBytes:de,concatBytes:te,mod:pe,invert:me,isValidPrivateKey:function(e){try{return Ee(e),!0}catch(e){return!1}},_bigintTo32Bytes:fe,_normalizePrivateKey:Ee,hashToPrivateKey:function(e){if((e=ve(e)).length<40||e.length>1024)throw Error("Expected valid bytes of private key as per FIPS 186");return fe(pe(he(e),j.n-z)+z)}},(0,A.default)(Te,"randomBytes",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:32;if(Ue.web)return Ue.web.getRandomValues(new Uint8Array(e));if(Ue.node){var n=Ue.node.randomBytes;return Uint8Array.from(n(e))}throw Error("The environment doesn't have randomBytes function")})),(0,A.default)(Te,"randomPrivateKey",(function(){return De.hashToPrivateKey(De.randomBytes(40))})),(0,A.default)(Te,"precompute",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Q.BASE,t=n===Q.BASE?n:new Q(n.x,n.y);return t._setWindowSize(e),t.multiply(N),t})),(0,A.default)(Te,"sha256",(function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return(0,E.default)((function(){var e,t,r,a;return(0,R.__generator)(this,(function(i){switch(i.label){case 0:return Ue.web?[4,Ue.web.subtle.digest("SHA-256",te.apply(void 0,(0,B.default)(n)))]:[3,2];case 1:return e=i.sent(),[2,new Uint8Array(e)];case 2:if(Ue.node)return t=Ue.node,r=t.createHash,a=r("sha256"),[2,(n.forEach((function(e){return a.update(e)})),Uint8Array.from(a.digest()))];throw Error("The environment doesn't have sha256 function")}}))}))()})),(0,A.default)(Te,"hmacSha256",(function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];return(0,E.default)((function(){var n,r,a,i,o,u;return(0,R.__generator)(this,(function(c){switch(c.label){case 0:return Ue.web?[4,Ue.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"])]:[3,3];case 1:return n=c.sent(),r=te.apply(void 0,(0,B.default)(t)),[4,Ue.web.subtle.sign("HMAC",n,r)];case 2:return a=c.sent(),[2,new Uint8Array(a)];case 3:if(Ue.node)return i=Ue.node,o=i.createHmac,u=o("sha256",e),[2,(t.forEach((function(e){return u.update(e)})),Uint8Array.from(u.digest()))];throw Error("The environment doesn't have hmac-sha256 function")}}))}))()})),(0,A.default)(Te,"sha256Sync",void 0),(0,A.default)(Te,"hmacSha256Sync",void 0),(0,A.default)(Te,"taggedHash",(function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];return(0,E.default)((function(){var n,r,a;return(0,R.__generator)(this,(function(i){switch(i.label){case 0:return void 0!==(r=Ce[e])?[3,2]:[4,De.sha256(Uint8Array.from(e,(function(e){return e.charCodeAt(0)})))];case 1:a=i.sent(),r=te(a,a),Ce[e]=r,i.label=2;case 2:return[2,(n=De).sha256.apply(n,[r].concat((0,B.default)(t)))]}}))}))()})),(0,A.default)(Te,"taggedHashSync",(function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];if("function"!=typeof ie)throw new F("sha256Sync is undefined, you need to set it");var a=Ce[e];if(void 0===a){var i=ie(Uint8Array.from(e,(function(e){return e.charCodeAt(0)})));a=te(i,i),Ce[e]=a}return ie.apply(void 0,[a].concat((0,B.default)(t)))})),(0,A.default)(Te,"_JacobianPoint",G),Te);Object.defineProperties(De,{sha256Sync:{configurable:!1,get:function(){return ie},set:function(e){ie||(ie=e)}},hmacSha256Sync:{configurable:!1,get:function(){return oe},set:function(e){oe||(oe=e)}}});var ze,Oe,Ne=Math.floor,Le=Math.random,je=Math.sin,Me="Trystero",Ze=function(e,n){return Array(e).fill().map(n)},Ve=function(e){return Ze(e,(function(){return"0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"[Ne(62*Le())]})).join("")},qe=Ve(20),We=Promise.all.bind(Promise),Ke="undefined"!=typeof window,Fe=Object.entries,Je=Object.fromEntries,Ge=Object.keys,Xe=function(){},Ye=function(e){return Error("".concat(Me,": ").concat(e))},Qe=new TextEncoder,$e=new TextDecoder,en=function(e){return Qe.encode(e)},nn=function(e){return $e.decode(e)},tn=function(e){return e.reduce((function(e,n){return e+n.toString(16).padStart(2,"0")}),"")},rn=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return n.join("@")},an=JSON.stringify,on=JSON.parse,un=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_SAFE_INTEGER;return e.split("").reduce((function(e,n){return e+n.charCodeAt(0)}),0)%n},cn={},fn="AES-GCM",sn={},ln=(ze=(0,E.default)((function(e){var n,t,r;return(0,R.__generator)(this,(function(a){switch(a.label){case 0:return(n=sn[e])?[3,2]:(t=Array.from,r=Uint8Array.bind,[4,crypto.subtle.digest("SHA-1",en(e))]);case 1:n=sn[e]=t.apply(Array,[new(r.apply(Uint8Array,[void 0,a.sent()]))]).map((function(e){return e.toString(36)})).join(""),a.label=2;case 2:return[2,n]}}))})),function(e){return ze.apply(this,arguments)}),dn=function(){var e=(0,E.default)((function(e,n){var t,r,a,i,o,u;return(0,R.__generator)(this,(function(c){switch(c.label){case 0:return t=crypto.getRandomValues(new Uint8Array(16)),a=t.join(",")+"$",o=(i=crypto.subtle).encrypt,u=[{name:fn,iv:t}],[4,e];case 1:return[4,o.apply(i,u.concat([c.sent(),en(n)]))];case 2:return[2,a+(r=c.sent(),btoa(String.fromCharCode.apply(null,new Uint8Array(r))))]}}))}));return function(n,t){return e.apply(this,arguments)}}(),hn=function(){var e=(0,E.default)((function(e,n){var t,r,a,i,o,u;return(0,R.__generator)(this,(function(c){switch(c.label){case 0:return t=(0,P.default)(n.split("$"),2),r=t[0],a=t[1],o=(i=crypto.subtle).decrypt,u=[{name:fn,iv:new Uint8Array(r.split(","))}],[4,e];case 1:return[4,o.apply(i,u.concat([c.sent(),function(e){var n=atob(e);return new Uint8Array(n.length).map((function(e,t){return n.charCodeAt(t)})).buffer}(a)]))];case 2:return[2,nn.apply(void 0,[c.sent()])]}}))}));return function(n,t){return e.apply(this,arguments)}}(),vn="icegatheringstatechange",yn="offer",pn=function(e,n){var t=n.rtcConfig,r=n.rtcPolyfill,a=n.turnConfig,i=new(r||RTCPeerConnection)((0,_.default)({iceServers:gn.concat(a||[])},t)),o={},u=!1,c=!1,f=null,s=function(e){e.binaryType="arraybuffer",e.bufferedAmountLowThreshold=65535,e.onmessage=function(e){var n;return null===(n=o.data)||void 0===n?void 0:n.call(o,e.data)},e.onopen=function(){var e;return null===(e=o.connect)||void 0===e?void 0:e.call(o)},e.onclose=function(){var e;return null===(e=o.close)||void 0===e?void 0:e.call(o)},e.onerror=function(e){var n;return null===(n=o.error)||void 0===n?void 0:n.call(o,e)}},l=function(e){return Promise.race([new Promise((function(n){var t=function(){"complete"===e.iceGatheringState&&(e.removeEventListener(vn,t),n())};e.addEventListener(vn,t),t()})),new Promise((function(e){return setTimeout(e,5e3)}))]).then((function(){return{type:e.localDescription.type,sdp:e.localDescription.sdp.replace(/a=ice-options:trickle\s\n/g,"")}}))};return e?(f=i.createDataChannel("data"),s(f)):i.ondatachannel=function(e){var n=e.channel;f=n,s(n)},i.onnegotiationneeded=(0,E.default)((function(){var e,n,t,r;return(0,R.__generator)(this,(function(a){switch(a.label){case 0:return a.trys.push([0,3,4,5]),u=!0,[4,i.setLocalDescription()];case 1:return a.sent(),[4,l(i)];case 2:return n=a.sent(),null===(e=o.signal)||void 0===e||e.call(o,n),[3,5];case 3:return t=a.sent(),null===(r=o.error)||void 0===r||r.call(o,t),[3,5];case 4:return u=!1,[7];case 5:return[2]}}))})),i.onconnectionstatechange=function(){var e;["disconnected","failed","closed"].includes(i.connectionState)&&(null===(e=o.close)||void 0===e||e.call(o))},i.ontrack=function(e){var n,t;null===(n=o.track)||void 0===n||n.call(o,e.track,e.streams[0]),null===(t=o.stream)||void 0===t||t.call(o,e.streams[0])},i.onremovestream=function(e){var n;return null===(n=o.stream)||void 0===n?void 0:n.call(o,e.stream)},e&&(i.canTrickleIceCandidates||i.onnegotiationneeded()),{created:Date.now(),connection:i,get channel(){return f},get isDead(){return"closed"===i.connectionState},signal:function(n){return(0,E.default)((function(){var t,r,a,s,d;return(0,R.__generator)(this,(function(h){switch(h.label){case 0:if("open"===(null==f?void 0:f.readyState)&&!(null===(t=n.sdp)||void 0===t?void 0:t.includes("a=rtpmap")))return[3,14];h.label=1;case 1:return h.trys.push([1,13,,14]),n.type!==yn?[3,8]:u||"stable"!==i.signalingState&&!c?e?[2]:[4,We([i.setLocalDescription({type:"rollback"}),i.setRemoteDescription(n)])]:[3,3];case 2:return h.sent(),[3,5];case 3:return[4,i.setRemoteDescription(n)];case 4:h.sent(),h.label=5;case 5:return[4,i.setLocalDescription()];case 6:return h.sent(),[4,l(i)];case 7:return a=h.sent(),[2,(null===(r=o.signal)||void 0===r||r.call(o,a),a)];case 8:if("answer"!==n.type)return[3,12];c=!0,h.label=9;case 9:return h.trys.push([9,,11,12]),[4,i.setRemoteDescription(n)];case 10:return h.sent(),[3,12];case 11:return c=!1,[7];case 12:return[3,14];case 13:return s=h.sent(),null===(d=o.error)||void 0===d||d.call(o,s),[3,14];case 14:return[2]}}))}))()},sendData:function(e){return f.send(e)},destroy:function(){null==f||f.close(),i.close(),u=!1,c=!1},setHandlers:function(e){return Object.assign(o,e)},offerPromise:e?new Promise((function(e){return o.signal=function(n){n.type===yn&&e(n)}})):Promise.resolve(),addStream:function(e){return e.getTracks().forEach((function(n){return i.addTrack(n,e)}))},removeStream:function(e){return i.getSenders().filter((function(n){return e.getTracks().includes(n.track)})).forEach((function(e){return i.removeTrack(e)}))},addTrack:function(e,n){return i.addTrack(e,n)},removeTrack:function(e){var n=i.getSenders().find((function(n){return n.track===e}));n&&i.removeTrack(n)},replaceTrack:function(e,n){var t=i.getSenders().find((function(n){return n.track===e}));if(t)return t.replaceTrack(n)}}},gn=(0,B.default)(Ze(3,(function(e,n){return"stun:stun".concat(n||"",".l.google.com:19302")}))).concat(["stun:stun.cloudflare.com:3478"]).map((function(e){return{urls:e}})),mn=Object.getPrototypeOf(Uint8Array),wn=16369,bn=255,En="bufferedamountlow",kn=function(e){return"@_"+e},xn={},An="EVENT",Sn=De.randomPrivateKey(),_n=tn(function(e){return Q.fromPrivateKey(e).toRawX()}(Sn)),In={},Pn={},Bn={},Tn=function(){return Math.floor(Date.now()/1e3)},Hn=function(e){return null!==(Oe=(i=Bn)[o=e])&&void 0!==Oe?Oe:i[o]=un(e,1e4)+2e4},Un=function(){var e=(0,E.default)((function(e,n){var t,r,a,i,o,u;return(0,R.__generator)(this,(function(c){switch(c.label){case 0:return t={kind:Hn(e),content:n,pubkey:_n,created_at:Tn(),tags:[["x",e]]},a=Uint8Array.bind,[4,crypto.subtle.digest("SHA-256",en(an([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])))];case 1:return r=tn.apply(void 0,[new(a.apply(Uint8Array,[void 0,c.sent()]))]),i=[An],o=[(0,_.default)({},t)],u={id:r},[4,He(r,Sn)];case 2:return[2,an.apply(void 0,[i.concat([I.default.apply(void 0,o.concat([(u.sig=tn.apply(void 0,[c.sent()]),u)]))])])]}}))}));return function(n,t){return e.apply(this,arguments)}}(),Rn=function(e,n){return In[e]=n,an(["REQ",e,{kinds:[Hn(n)],since:Tn(),"#x":[n]}])},Cn=function(e){return delete In[e],an(["CLOSE",e])},Dn=function(e){var n,t,r,a=e.init,i=e.subscribe,o=e.announce,w={},b=!1;return function(e,k,x){var A,S,H=e.appId;if(null===(S=w[H])||void 0===S?void 0:S[k])return w[H][k];var U={},C={},D=rn(Me,H,k),z=ln(D),O=ln(rn(D,qe)),N=function(){var e=(0,E.default)((function(e,n,t){var r,a,i;return(0,R.__generator)(this,(function(o){switch(o.label){case 0:return a=(r=crypto.subtle).importKey,i=["raw"],[4,crypto.subtle.digest({name:"SHA-256"},en("".concat(e,":").concat(n,":").concat(t)))];case 1:return[2,a.apply(r,i.concat([o.sent(),{name:fn},!1,["encrypt","decrypt"]]))]}}))}));return function(n,t,r){return e.apply(this,arguments)}}()(e.password||"",H,k),L=function(e){return function(){var n=(0,E.default)((function(n){var t;return(0,R.__generator)(this,(function(r){switch(r.label){case 0:return t={type:n.type},[4,e(N,n.sdp)];case 1:return[2,(t.sdp=r.sent(),t)]}}))}));return function(e){return n.apply(this,arguments)}}()},j=L(hn),M=L(dn),Z=function(){return pn(!0,e)},V=function(e,n,t){var r;C[n]?C[n]!==e&&e.destroy():(C[n]=e,Q(e,n),null===(r=U[n])||void 0===r||r.forEach((function(e,n){n!==t&&e.destroy()})),delete U[n])},q=function(e,n){C[n]===e&&delete C[n]},W=function(e){return(A=t).push.apply(A,(0,B.default)(Ze(e,Z))),We(t.splice(0,e).map((function(e){return e.offerPromise.then(M).then((function(n){return{peer:e,offer:n}}))})))},K=function(n,t){return null==x?void 0:x({error:"incorrect password (".concat(e.password,") when decrypting ").concat(t),appId:H,peerId:n,roomId:k})},F=function(n){return function(){var t=(0,E.default)((function(t,r,a){var i,o,f,s,l,d,h,v,y,p,g,m,w,b,E,k,x,A,S,_,I,B,T,H,N,L;return(0,R.__generator)(this,(function(R){switch(R.label){case 0:return[4,We([z,O])];case 1:if(i=P.default.apply(void 0,[R.sent(),2]),o=i[0],f=i[1],t!==o&&t!==f)return[2];if(s="string"==typeof r?on(r):r,l=s.peerId,d=s.offer,h=s.answer,v=s.peer,l===qe||C[l])return[3,16];if(l&&!d&&!h)return[3,14];if(!d)return[3,8];if((null===(y=U[l])||void 0===y?void 0:y[n])&&qe>l)return[2];(p=pn(!1,e)).setHandlers({connect:function(){return V(p,l,n)},close:function(){return q(p,l)}}),R.label=2;case 2:return R.trys.push([2,4,,5]),[4,j(d)];case 3:return g=R.sent(),[3,5];case 4:return R.sent(),[2,void K(l,"offer")];case 5:return p.isDead?[2]:[4,We([ln(rn(D,l)),p.signal(g)])];case 6:return m=P.default.apply(void 0,[R.sent(),2]),w=m[0],b=m[1],E=[w],k={peerId:qe},[4,M(b)];case 7:return a.apply(void 0,E.concat([an.apply(void 0,[(k.answer=R.sent(),k)])])),[3,13];case 8:if(!h)return[3,13];R.label=9;case 9:return R.trys.push([9,11,,12]),[4,j(h)];case 10:return x=R.sent(),[3,12];case 11:return R.sent(),[2,void K(l,"answer")];case 12:v?(v.setHandlers({connect:function(){return V(v,l,n)},close:function(){return q(v,l)}}),v.signal(x)):(S=null===(A=U[l])||void 0===A?void 0:A[n])&&!S.isDead&&S.signal(x),R.label=13;case 13:return[3,16];case 14:return(null===(_=U[l])||void 0===_?void 0:_[n])?[2]:[4,We([W(1),ln(rn(D,l))])];case 15:I=P.default.apply(void 0,[R.sent(),2]),B=(0,P.default)(I[0],1),T=B[0],H=T.peer,N=T.offer,L=I[1],(u=U)[c=l]||(u[c]=[]),U[l][n]=H,setTimeout((function(){return function(e,n){var t;if(!C[e]){var r=null===(t=U[e])||void 0===t?void 0:t[n];r&&(delete U[e][n],r.destroy())}}(l,n)}),.9*G[n]),H.setHandlers({connect:function(){return V(H,l,n)},close:function(){return q(H,l)}}),a(L,an({peerId:qe,offer:N})),R.label=16;case 16:return[2]}}))}));return function(e,n,r){return t.apply(this,arguments)}}()};if(!e)throw Ye("requires a config map as the first argument");if(!H&&!e.firebaseApp)throw Ye("config map is missing appId field");if(!k)throw Ye("roomId argument required");if(!b){var J=a(e);t=Ze(20,Z),n=Array.isArray(J)?J:[J],b=!0,r=setInterval((function(){return t=t.filter((function(e){var n=Date.now()-e.created<57333;return n||e.destroy(),n}))}),59052.99)}var G=n.map((function(){return 5333})),X=[],Y=n.map(function(){var e=(0,E.default)((function(e,n){var t;return(0,R.__generator)(this,(function(r){switch(r.label){case 0:return[4,e];case 1:return t=[r.sent()],[4,z];case 2:return t=t.concat(r.sent()),[4,O];case 3:return[2,i.apply(void 0,t.concat([r.sent(),F(n),W]))]}}))}));return function(n,t){return e.apply(this,arguments)}}());We([z,O]).then((function(e){var t=(0,P.default)(e,2),r=t[0],a=t[1],i=function(){var e=(0,E.default)((function(e,n){var t;return(0,R.__generator)(this,(function(u){switch(u.label){case 0:return[4,o(e,r,a)];case 1:return"number"==typeof(t=u.sent())&&(G[n]=t),X[n]=setTimeout((function(){return i(e,n)}),G[n]),[2]}}))}));return function(n,t){return e.apply(this,arguments)}}();Y.forEach(function(){var e=(0,E.default)((function(e,t){return(0,R.__generator)(this,(function(r){switch(r.label){case 0:return[4,e];case 1:return r.sent(),[4,n[t]];case 2:return i.apply(void 0,[r.sent(),t]),[2]}}))}));return function(n,t){return e.apply(this,arguments)}}())}));var Q=Xe;return(f=w)[s=H]||(f[s]={}),w[H][k]=function(e,n,t){var r={},a={},i={},o={},u={},c={},f={},s={onPeerJoin:Xe,onPeerLeave:Xe,onPeerStream:Xe,onPeerTrack:Xe},w=function(e,n){return(e?Array.isArray(e)?e:[e]:Ge(r)).flatMap((function(e){var t=r[e];return t?n(e,t):(console.warn("".concat(Me,": no peer with id ").concat(e," found")),[])}))},b=function(e){r[e]&&(delete r[e],delete o[e],delete u[e],s.onPeerLeave(e),n(e))},k=function(e){if(a[e])return i[e];if(!e)throw Ye("action type argument is required");var n=en(e);if(n.byteLength>12)throw Ye('action type string "'.concat(e,'" (').concat(n.byteLength,"b) exceeds byte limit (12). Hint: choose a shorter name."));var t=new Uint8Array(12);t.set(n);var o=0;return a[e]={onComplete:Xe,onProgress:Xe,setOnComplete:function(n){return a[e]=(0,I.default)((0,_.default)({},a[e]),{onComplete:n})},setOnProgress:function(n){return a[e]=(0,I.default)((0,_.default)({},a[e]),{onProgress:n})},send:function(e,n,a,i){return(0,E.default)((function(){var u,c,f,s,l,d,h,v,y,p,g;return(0,R.__generator)(this,(function(m){switch(m.label){case 0:if(a&&"object"!=typeof a)throw Ye("action meta argument must be an object");if("undefined"===(u=void 0===e?"undefined":(0,T.default)(e)))throw Ye("action data cannot be undefined");if(c="string"!==u,f=e instanceof Blob,s=f||e instanceof ArrayBuffer||e instanceof mn,a&&!s)throw Ye("action meta argument can only be used with binary data");return s?(p=Uint8Array.bind,f?[4,e.arrayBuffer()]:[3,2]):[3,4];case 1:return g=m.sent(),[3,3];case 2:g=e,m.label=3;case 3:return y=new(p.apply(Uint8Array,[void 0,g])),[3,5];case 4:y=en(c?an(e):e),m.label=5;case 5:return l=y,d=a?en(an(a)):null,h=Math.ceil(l.byteLength/wn)+(a?1:0)||1,v=Ze(h,(function(e,n){var r=n===h-1,i=a&&0===n,u=new Uint8Array(15+(i?d.byteLength:r?l.byteLength-wn*(h-(a?2:1)):wn));return u.set(t),u.set([o],12),u.set([r|i<<1|s<<2|c<<3],13),u.set([Math.round((n+1)/h*bn)],14),u.set(a?i?d:l.subarray((n-1)*wn,n*wn):l.subarray(n*wn,(n+1)*wn),15),u})),[2,(o=o+1&bn,We(w(n,function(){var e=(0,E.default)((function(e,n){var t,o,u;return(0,R.__generator)(this,(function(c){switch(c.label){case 0:t=n.channel,o=0,c.label=1;case 1:return o<h?(u=v[o],t.bufferedAmount>t.bufferedAmountLowThreshold?[4,new Promise((function(e){var n=function(){t.removeEventListener(En,n),e()};t.addEventListener(En,n)}))]:[3,3]):[3,5];case 2:c.sent(),c.label=3;case 3:if(!r[e])return[3,5];n.sendData(u),o++,null==i||i(u[14]/bn,e,a),c.label=4;case 4:return[3,1];case 5:return[2]}}))}));return function(n,t){return e.apply(this,arguments)}}())))]}}))}))()}},(l=i)[d=e]||(l[d]=[a[e].send,a[e].setOnComplete,a[e].setOnProgress])},x=function(e,n){var t=new Uint8Array(n),r=nn(t.subarray(0,12)).replaceAll("\0",""),i=(0,P.default)(t.subarray(12,13),1)[0],u=(0,P.default)(t.subarray(13,14),1)[0],c=(0,P.default)(t.subarray(14,15),1)[0],f=t.subarray(15),s=!!(1&u),l=!!(2&u),d=!!(4&u),w=!!(8&u);if(a[r]){(h=o)[v=e]||(h[v]={}),(y=o[e])[p=r]||(y[p]={});var b=(g=o[e][r])[m=i]||(g[m]={chunks:[]});if(l?b.meta=on(nn(f)):b.chunks.push(f),a[r].onProgress(c/bn,e,b.meta),s){var E=new Uint8Array(b.chunks.reduce((function(e,n){return e+n.byteLength}),0));if(b.chunks.reduce((function(e,n){return E.set(n,e),e+n.byteLength}),0),delete o[e][r][i],d)a[r].onComplete(E,e,b.meta);else{var k=nn(E);a[r].onComplete(w?on(k):k,e)}}}else console.warn("".concat(Me,": received message with unregistered type (").concat(r,")"))},A=function(){var e=(0,E.default)((function(){return(0,R.__generator)(this,(function(e){switch(e.label){case 0:return[4,K("")];case 1:return e.sent(),[4,new Promise((function(e){return setTimeout(e,99)}))];case 2:return e.sent(),Fe(r).forEach((function(e){var n=(0,P.default)(e,2),t=n[0];n[1].destroy(),delete r[t]})),t(),[2]}}))}));return function(){return e.apply(this,arguments)}}(),S=(0,P.default)(k(kn("ping")),2),B=S[0],H=S[1],U=(0,P.default)(k(kn("pong")),2),C=U[0],D=U[1],z=(0,P.default)(k(kn("signal")),2),O=z[0],N=z[1],L=(0,P.default)(k(kn("stream")),2),j=L[0],M=L[1],Z=(0,P.default)(k(kn("track")),2),V=Z[0],q=Z[1],W=(0,P.default)(k(kn("leave")),2),K=W[0],F=W[1];return Q=function(e,n){var t;r[n]||(r[n]=e,e.setHandlers({data:function(e){return x(n,e)},stream:function(e){s.onPeerStream(e,n,c[n]),delete c[n]},track:function(e,t){s.onPeerTrack(e,t,n,f[n]),delete f[n]},signal:function(e){return O(e,n)},close:function(){return b(n)},error:function(e){console.error(e),b(n)}}),s.onPeerJoin(n),null===(t=e.drainEarlyData)||void 0===t||t.call(e,(function(e){return x(n,e)})))},H((function(e,n){return C("",n)})),D((function(e,n){var t;null===(t=u[n])||void 0===t||t.call(u),delete u[n]})),N((function(e,n){var t;return null===(t=r[n])||void 0===t?void 0:t.signal(e)})),M((function(e,n){return c[n]=e})),q((function(e,n){return f[n]=e})),F((function(e,n){return b(n)})),Ke&&addEventListener("beforeunload",A),{makeAction:k,leave:A,ping:function(e){return(0,E.default)((function(){var n;return(0,R.__generator)(this,(function(t){switch(t.label){case 0:if(!e)throw Ye("ping() must be called with target peer ID");return n=Date.now(),B("",e),[4,new Promise((function(n){return u[e]=n}))];case 1:return[2,(t.sent(),Date.now()-n)]}}))}))()},getPeers:function(){return Je(Fe(r).map((function(e){var n=(0,P.default)(e,2);return[n[0],n[1].connection]})))},addStream:function(e,n,t){return w(n,function(){var n=(0,E.default)((function(n,r){return(0,R.__generator)(this,(function(a){switch(a.label){case 0:return t?[4,j(t,n)]:[3,2];case 1:a.sent(),a.label=2;case 2:return r.addStream(e),[2]}}))}));return function(e,t){return n.apply(this,arguments)}}())},removeStream:function(e,n){return w(n,(function(n,t){return t.removeStream(e)}))},addTrack:function(e,n,t,r){return w(t,function(){var t=(0,E.default)((function(t,a){return(0,R.__generator)(this,(function(i){switch(i.label){case 0:return r?[4,V(r,t)]:[3,2];case 1:i.sent(),i.label=2;case 2:return a.addTrack(e,n),[2]}}))}));return function(e,n){return t.apply(this,arguments)}}())},removeTrack:function(e,n){return w(n,(function(n,t){return t.removeTrack(e)}))},replaceTrack:function(e,n,t,r){return w(t,function(){var t=(0,E.default)((function(t,a){return(0,R.__generator)(this,(function(i){switch(i.label){case 0:return r?[4,V(r,t)]:[3,2];case 1:i.sent(),i.label=2;case 2:return a.replaceTrack(e,n),[2]}}))}));return function(e,n){return t.apply(this,arguments)}}())},onPeerJoin:function(e){return s.onPeerJoin=e},onPeerLeave:function(e){return s.onPeerLeave=e},onPeerStream:function(e){return s.onPeerStream=e},onPeerTrack:function(e){return s.onPeerTrack=e}}}(0,(function(e){return delete C[e]}),(function(){delete w[H][k],X.forEach(clearTimeout),Y.forEach(function(){var e=(0,E.default)((function(e){return(0,R.__generator)(this,(function(n){switch(n.label){case 0:return[4,e];case 1:return[2,n.sent()()]}}))}));return function(n){return e.apply(this,arguments)}}()),clearInterval(r)}))}}({init:function(e){return function(e,n,t){return(e.relayUrls||function(e,n){for(var t=(0,B.default)(e),r=function(){var e=1e4*je(n++);return e-Ne(e)},a=t.length;a;){var i,o=Ne(r()*a--);i=[t[o],t[a]],t[a]=i[0],t[o]=i[1]}return t}(n,un(e.appId))).slice(0,e.relayUrls?e.relayUrls.length:e.relayRedundancy||5)}(e,zn).map((function(e){var n=function(e,n){var t={},r=function(){var a=new WebSocket(e);a.onclose=function(){var n;null!==(n=(w=cn)[b=e])&&void 0!==n||(w[b]=3333),setTimeout(r,cn[e]),cn[e]*=2},a.onmessage=function(e){return n(e.data)},t.socket=a,t.url=a.url,t.ready=new Promise((function(n){return a.onopen=function(){n(t),cn[e]=3333}})),t.send=function(e){1===a.readyState&&a.send(e)}};return r(),t}(e,(function(e){var t,r=(0,P.default)(on(e),4),a=r[0],i=r[1],o=r[2],u=r[3];if(a===An)null===(t=Pn[i])||void 0===t||t.call(Pn,In[i],o.content);else{var c="".concat(Me,": relay failure from ").concat(n.url," - ");"NOTICE"===a?console.warn(c+i):"OK"!==a||o||console.warn(c+u)}}));return xn[e]=n,n.ready}))},subscribe:function(e,n,t,r){var a=Ve(64),i=Ve(64);return Pn[a]=Pn[i]=function(n,t){return r(n,t,function(){var n=(0,E.default)((function(n,t){var r;return(0,R.__generator)(this,(function(a){switch(a.label){case 0:return r=e.send,[4,Un(n,t)];case 1:return[2,r.apply(e,[a.sent()])]}}))}));return function(e,t){return n.apply(this,arguments)}}())},e.send(Rn(a,n)),e.send(Rn(i,t)),function(){e.send(Cn(a)),e.send(Cn(i)),delete Pn[a],delete Pn[i]}},announce:function(e,n){return(0,E.default)((function(){var t;return(0,R.__generator)(this,(function(r){switch(r.label){case 0:return t=e.send,[4,Un(n,an({peerId:qe}))];case 1:return[2,t.apply(e,[r.sent()])]}}))}))()}}),zn=(xn,["eu.purplerelay.com","ftp.halifax.rwth-aachen.de/nostr","multiplexer.huszonegy.world","nostr.cool110.xyz","nostr.data.haus","nostr.grooveix.com","nostr.huszonegy.world","nostr.mom","nostr.sathoarder.com","nostr.vulpem.com","relay.fountain.fm","relay.nostraddress.com","relay.nostromo.social","relay.snort.social","relay.verified-nostr.com","yabu.me/v2"].map((function(e){return"wss://"+e})))}))}();
@@ -0,0 +1 @@
1
+ var e=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).parcelRequire55a5;e.register("g9MJ9",(function(t,r){var n,o;n=t.exports,o=function(){return Et},Object.defineProperty(n,"joinRoom",{get:o,set:undefined,enumerable:!0,configurable:!0});var a,i,s,c,f,l,d,u,h,y,g,p,m,w,v,b,E=e("dM3DM"),x=e("aQXMn"),A=Object.freeze({__proto__:null,default:{}});const S=BigInt(0),P=BigInt(1),I=BigInt(2),k=BigInt(3),B=BigInt(8),T=Object.freeze({a:S,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:P,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),H=(e,t)=>(e+t/I)/t,R={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){const{n:t}=T,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-P*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),a=r,i=BigInt("0x100000000000000000000000000000000"),s=H(a*e,t),c=H(-n*e,t);let f=re(e-s*r-c*o,t),l=re(-s*n-c*a,t);const d=f>i,u=l>i;if(d&&(f=t-f),u&&(l=t-l),f>i||l>i)throw Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:d,k1:f,k2neg:u,k2:l}}},U=32;function C(e){const{a:t,b:r}=T,n=re(e*e),o=re(n*e);return re(o+t*e+r)}const D=T.a===S;class z extends Error{constructor(e){super(e)}}function O(e){if(!(e instanceof $))throw new TypeError("JacobianPoint expected")}class ${static fromAffine(e){if(!(e instanceof _))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(_.ZERO)?$.ZERO:new $(e.x,e.y,P)}static toAffineBatch(e){const t=function(e,t=T.P){const r=Array(e.length),n=oe(e.reduce(((e,n,o)=>n===S?e:(r[o]=e,re(e*n,t))),P),t);return e.reduceRight(((e,n,o)=>n===S?e:(r[o]=re(e*r[o],t),re(e*n,t))),n),r}(e.map((e=>e.z)));return e.map(((e,r)=>e.toAffine(t[r])))}static normalizeZ(e){return $.toAffineBatch(e).map($.fromAffine)}equals(e){O(e);const{x:t,y:r,z:n}=this,{x:o,y:a,z:i}=e,s=re(n*n),c=re(i*i),f=re(t*c),l=re(o*s),d=re(re(r*i)*c),u=re(re(a*n)*s);return f===l&&d===u}negate(){return new $(this.x,re(-this.y),this.z)}double(){const{x:e,y:t,z:r}=this,n=re(e*e),o=re(t*t),a=re(o*o),i=e+o,s=re(I*(re(i*i)-n-a)),c=re(k*n),f=re(c*c),l=re(f-I*s),d=re(c*(s-l)-B*a),u=re(I*t*r);return new $(l,d,u)}add(e){O(e);const{x:t,y:r,z:n}=this,{x:o,y:a,z:i}=e;if(o===S||a===S)return this;if(t===S||r===S)return e;const s=re(n*n),c=re(i*i),f=re(t*c),l=re(o*s),d=re(re(r*i)*c),u=re(re(a*n)*s),h=re(l-f),y=re(u-d);if(h===S)return y===S?this.double():$.ZERO;const g=re(h*h),p=re(h*g),m=re(f*g),w=re(y*y-p-I*m),v=re(y*(m-w)-d*p),b=re(n*i*h);return new $(w,v,b)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){const t=$.ZERO;if("bigint"==typeof e&&e===S)return t;let r=te(e);if(r===P)return this;if(!D){let e=t,n=this;for(;r>S;)r&P&&(e=e.add(n)),n=n.double(),r>>=P;return e}let{k1neg:n,k1:o,k2neg:a,k2:i}=R.splitScalar(r),s=t,c=t,f=this;for(;o>S||i>S;)o&P&&(s=s.add(f)),i&P&&(c=c.add(f)),f=f.double(),o>>=P,i>>=P;return n&&(s=s.negate()),a&&(c=c.negate()),c=new $(re(c.x*R.beta),c.y,c.z),s.add(c)}precomputeWindow(e){const t=D?128/e+1:256/e+1,r=[];let n=this,o=n;for(let a=0;a<t;a++){o=n,r.push(o);for(let t=1;t<2**(e-1);t++)o=o.add(n),r.push(o);n=o.double()}return r}wNAF(e,t){!t&&this.equals($.BASE)&&(t=_.BASE);const r=t&&t._WINDOW_SIZE||1;if(256%r)throw Error("Point#wNAF: Invalid precomputation window, must be power of 2");let n=t&&L.get(t);n||(n=this.precomputeWindow(r),t&&1!==r&&(n=$.normalizeZ(n),L.set(t,n)));let o=$.ZERO,a=$.BASE;const i=1+(D?128/r:256/r),s=2**(r-1),c=BigInt(2**r-1),f=2**r,l=BigInt(r);for(let t=0;t<i;t++){const r=t*s;let i=Number(e&c);e>>=l,i>s&&(i-=f,e+=P);const d=r,u=r+Math.abs(i)-1,h=t%2!=0,y=i<0;0===i?a=a.add(N(h,n[d])):o=o.add(N(y,n[u]))}return{p:o,f:a}}multiply(e,t){let r,n,o=te(e);if(D){const{k1neg:e,k1:a,k2neg:i,k2:s}=R.splitScalar(o);let{p:c,f:f}=this.wNAF(a,t),{p:l,f:d}=this.wNAF(s,t);c=N(e,c),l=N(i,l),l=new $(re(l.x*R.beta),l.y,l.z),r=c.add(l),n=f.add(d)}else{const{p:e,f:a}=this.wNAF(o,t);r=e,n=a}return $.normalizeZ([r,n])[0]}toAffine(e){const{x:t,y:r,z:n}=this,o=this.equals($.ZERO);null==e&&(e=o?B:oe(n));const a=e,i=re(a*a),s=re(i*a),c=re(t*i),f=re(r*s),l=re(n*a);if(o)return _.ZERO;if(l!==P)throw Error("invZ was invalid");return new _(c,f)}constructor(e,t,r){this.x=e,this.y=t,this.z=r}}function N(e,t){const r=t.negate();return e?r:t}$.BASE=new $(T.Gx,T.Gy,P),$.ZERO=new $(S,P,S);const L=new WeakMap;class _{_setWindowSize(e){this._WINDOW_SIZE=e,L.delete(this)}hasEvenY(){return this.y%I===S}static fromCompressedHex(e){const t=32===e.length,r=Q(t?e:e.subarray(1));if(!ce(r))throw Error("Point is not on curve");let n=function(e){const{P:t}=T,r=BigInt(6),n=BigInt(11),o=BigInt(22),a=BigInt(23),i=BigInt(44),s=BigInt(88),c=e*e*e%t,f=c*c*e%t,l=ne(f,k)*f%t,d=ne(l,k)*f%t,u=ne(d,I)*c%t,h=ne(u,n)*u%t,y=ne(h,o)*h%t,g=ne(y,i)*y%t,p=ne(g,s)*g%t,m=ne(p,i)*y%t,w=ne(m,k)*f%t,v=ne(w,a)*h%t,b=ne(v,r)*c%t,E=ne(b,I);if(E*E%t!==e)throw Error("Cannot find square root");return E}(C(r));const o=(n&P)===P;t?o&&(n=re(-n)):!(1&~e[0])!==o&&(n=re(-n));const a=new _(r,n);return a.assertValidity(),a}static fromUncompressedHex(e){const t=Q(e.subarray(1,33)),r=Q(e.subarray(33,65)),n=new _(t,r);return n.assertValidity(),n}static fromHex(e){const t=ee(e),r=t.length,n=t[0];if(32===r)return this.fromCompressedHex(t);if(33===r&&(2===n||3===n))return this.fromCompressedHex(t);if(65===r&&4===n)return this.fromUncompressedHex(t);throw Error("Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not "+r)}static fromPrivateKey(e){return _.BASE.multiply(fe(e))}static fromSignature(e,t,r){const{r:n,s:o}=function(e){if(e instanceof M)return e.assertValidity(),e;try{return M.fromDER(e)}catch(t){return M.fromCompact(e)}}(t);if(![0,1,2,3].includes(r))throw Error("Cannot recover: invalid recovery bit");const a=function(e,t=!1){const r=function(e){const t=8*e.length-256,r=Q(e);return t>0?r>>BigInt(t):r}(e);if(t)return r;const{n:n}=T;return r>=n?r-n:r}(ee(e)),{n:i}=T,s=2===r||3===r?n+i:n,c=oe(s,i),f=re(-a*c,i),l=re(o*c,i),d=1&r?"03":"02",u=_.fromHex(d+J(s)),h=_.BASE.multiplyAndAddUnsafe(u,f,l);if(!h)throw Error("Cannot recover signature: point at infinify");return h.assertValidity(),h}toRawBytes(e=!1){return Y(this.toHex(e))}toHex(e=!1){const t=J(this.x);return e?`${this.hasEvenY()?"02":"03"}${t}`:`04${t}${J(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const e="Point is not on elliptic curve",{x:t,y:r}=this;if(!ce(t)||!ce(r))throw Error(e);const n=re(r*r);if(re(n-C(t))!==S)throw Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new _(this.x,re(-this.y))}double(){return $.fromAffine(this).double().toAffine()}add(e){return $.fromAffine(this).add($.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return $.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,t,r){const n=$.fromAffine(this),o=t===S||t===P||this!==_.BASE?n.multiplyUnsafe(t):n.multiply(t),a=$.fromAffine(e).multiplyUnsafe(r),i=o.add(a);return i.equals($.ZERO)?void 0:i.toAffine()}constructor(e,t){this.x=e,this.y=t}}function Z(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function j(e){if(e.length<2||2!==e[0])throw Error("Invalid signature integer tag: "+K(e));const t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)throw Error("Invalid signature integer: wrong length");if(0===r[0]&&r[1]<=127)throw Error("Invalid signature integer: trailing length");return{data:Q(r),left:e.subarray(t+2)}}_.BASE=new _(T.Gx,T.Gy),_.ZERO=new _(S,S);class M{static fromCompact(e){const t=e instanceof Uint8Array,r="Signature.fromCompact";if("string"!=typeof e&&!t)throw new TypeError(r+": Expected string or Uint8Array");const n=t?K(e):e;if(128!==n.length)throw Error(r+": Expected 64-byte hex");return new M(F(n.slice(0,64)),F(n.slice(64,128)))}static fromDER(e){const t=e instanceof Uint8Array;if("string"!=typeof e&&!t)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:r,s:n}=function(e){if(e.length<2||48!=e[0])throw Error("Invalid signature tag: "+K(e));if(e[1]!==e.length-2)throw Error("Invalid signature: incorrect length");const{data:t,left:r}=j(e.subarray(2)),{data:n,left:o}=j(r);if(o.length)throw Error("Invalid signature: left bytes after parsing: "+K(o));return{r:t,s:n}}(t?e:Y(e));return new M(r,n)}static fromHex(e){return this.fromDER(e)}assertValidity(){const{r:e,s:t}=this;if(!se(e))throw Error("Invalid Signature: r must be 0 < r < n");if(!se(t))throw Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const e=T.n>>P;return this.s>e}normalizeS(){return this.hasHighS()?new M(this.r,re(-this.s,T.n)):this}toDERRawBytes(){return Y(this.toDERHex())}toDERHex(){const e=Z(X(this.s)),t=Z(X(this.r)),r=e.length/2,n=t.length/2,o=X(r),a=X(n);return`30${X(n+r+4)}02${a}${t}02${o}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Y(this.toCompactHex())}toCompactHex(){return J(this.r)+J(this.s)}constructor(e,t){this.r=e,this.s=t,this.assertValidity()}}function V(...e){if(!e.every((e=>e instanceof Uint8Array)))throw Error("Uint8Array list expected");if(1===e.length)return e[0];const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const o=e[t];r.set(o,n),n+=o.length}return r}const q=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function K(e){if(!(e instanceof Uint8Array))throw Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=q[e[r]];return t}const W=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function J(e){if("bigint"!=typeof e)throw Error("Expected bigint");if(!(S<=e&&e<W))throw Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function G(e){const t=Y(J(e));if(32!==t.length)throw Error("Error: expected 32 bytes");return t}function X(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function F(e){if("string"!=typeof e)throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt("0x"+e)}function Y(e){if("string"!=typeof e)throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw Error("hexToBytes: received invalid unpadded hex"+e.length);const t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){const n=2*r,o=e.slice(n,n+2),a=Number.parseInt(o,16);if(Number.isNaN(a)||a<0)throw Error("Invalid byte sequence");t[r]=a}return t}function Q(e){return F(K(e))}function ee(e){return e instanceof Uint8Array?Uint8Array.from(e):Y(e)}function te(e){if("number"==typeof e&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if("bigint"==typeof e&&se(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function re(e,t=T.P){const r=e%t;return r>=S?r:t+r}function ne(e,t){const{P:r}=T;let n=e;for(;t-- >S;)n*=n,n%=r;return n}function oe(e,t=T.P){if(e===S||t<=S)throw Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=re(e,t),n=t,o=S,a=P;for(;r!==S;){const e=n%r,t=o-a*(n/r);n=r,r=e,o=a,a=t}if(n!==P)throw Error("invert: does not exist");return re(o,t)}let ae,ie;function se(e){return S<e&&e<T.n}function ce(e){return S<e&&e<T.P}function fe(e){let t;if("bigint"==typeof e)t=e;else if("number"==typeof e&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if("string"==typeof e){if(64!==e.length)throw Error("Expected 32 bytes of private key");t=F(e)}else{if(!(e instanceof Uint8Array))throw new TypeError("Expected valid private key");if(e.length!==U)throw Error("Expected 32 bytes of private key");t=Q(e)}if(!se(t))throw Error("Expected private key: 0 < key < n");return t}function le(e){return e instanceof _?(e.assertValidity(),e):_.fromHex(e)}function de(e){return re(Q(e),T.n)}class ue{static fromHex(e){const t=ee(e);if(64!==t.length)throw new TypeError("SchnorrSignature.fromHex: expected 64 bytes, not "+t.length);const r=Q(t.subarray(0,32)),n=Q(t.subarray(32,64));return new ue(r,n)}assertValidity(){const{r:e,s:t}=this;if(!ce(e)||!se(t))throw Error("Invalid signature")}toHex(){return J(this.r)+J(this.s)}toRawBytes(){return Y(this.toHex())}constructor(e,t){this.r=e,this.s=t,this.assertValidity()}}class he{getScalar(e){const t=_.fromPrivateKey(e),r=t.hasEvenY()?e:T.n-e;return{point:t,scalar:r,x:t.toRawX()}}initNonce(e,t){return G(e^Q(t))}finalizeNonce(e){const t=re(Q(e),T.n);if(t===S)throw Error("sign: Creation of signature failed. k is zero");const{point:r,x:n,scalar:o}=this.getScalar(t);return{R:r,rx:n,k:o}}finalizeSig(e,t,r,n){return new ue(e.x,re(t+r*n,T.n)).toRawBytes()}error(){throw Error("sign: Invalid signature produced")}async calc(){const{m:e,d:t,px:r,rand:n}=this,o=Ae.taggedHash,a=this.initNonce(t,await o(Ee.aux,n)),{R:i,rx:s,k:c}=this.finalizeNonce(await o(Ee.nonce,a,r,e)),f=de(await o(Ee.challenge,s,r,e)),l=this.finalizeSig(i,c,f,t);return await pe(l,e,r)||this.error(),l}calcSync(){const{m:e,d:t,px:r,rand:n}=this,o=Ae.taggedHashSync,a=this.initNonce(t,o(Ee.aux,n)),{R:i,rx:s,k:c}=this.finalizeNonce(o(Ee.nonce,a,r,e)),f=de(o(Ee.challenge,s,r,e)),l=this.finalizeSig(i,c,f,t);return me(l,e,r)||this.error(),l}constructor(e,t,r=Ae.randomBytes()){if(null==e)throw new TypeError(`sign: Expected valid message, not "${e}"`);this.m=ee(e);const{x:n,scalar:o}=this.getScalar(fe(t));if(this.px=n,this.d=o,this.rand=ee(r),32!==this.rand.length)throw new TypeError("sign: Expected 32 bytes of aux randomness")}}function ye(e,t,r){const n=e instanceof ue,o=n?e:ue.fromHex(e);return n&&o.assertValidity(),(0,x.default)((0,E.default)({},o),{m:ee(t),P:le(r)})}function ge(e,t,r,n){const o=_.BASE.multiplyAndAddUnsafe(t,fe(r),re(-n,T.n));return!(!o||!o.hasEvenY()||o.x!==e)}async function pe(e,t,r){try{const{r:n,s:o,m:a,P:i}=ye(e,t,r),s=de(await Ae.taggedHash(Ee.challenge,G(n),i.toRawX(),a));return ge(n,i,o,s)}catch(e){return!1}}function me(e,t,r){try{const{r:n,s:o,m:a,P:i}=ye(e,t,r),s=de(Ae.taggedHashSync(Ee.challenge,G(n),i.toRawX(),a));return ge(n,i,o,s)}catch(e){if(e instanceof z)throw e;return!1}}const we=e=>_.fromPrivateKey(e).toRawX(),ve=async(e,t,r)=>new he(e,t,r).calc();_.BASE._setWindowSize(8);const be={node:A,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Ee={challenge:"BIP0340/challenge",aux:"BIP0340/aux",nonce:"BIP0340/nonce"},xe={},Ae={bytesToHex:K,hexToBytes:Y,concatBytes:V,mod:re,invert:oe,isValidPrivateKey(e){try{return fe(e),!0}catch(e){return!1}},_bigintTo32Bytes:G,_normalizePrivateKey:fe,hashToPrivateKey(e){if((e=ee(e)).length<40||e.length>1024)throw Error("Expected valid bytes of private key as per FIPS 186");return G(re(Q(e),T.n-P)+P)},randomBytes(e=32){if(be.web)return be.web.getRandomValues(new Uint8Array(e));if(be.node){const{randomBytes:t}=be.node;return Uint8Array.from(t(e))}throw Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ae.hashToPrivateKey(Ae.randomBytes(40)),precompute(e=8,t=_.BASE){const r=t===_.BASE?t:new _(t.x,t.y);return r._setWindowSize(e),r.multiply(k),r},async sha256(...e){if(be.web){const t=await be.web.subtle.digest("SHA-256",V(...e));return new Uint8Array(t)}if(be.node){const{createHash:t}=be.node,r=t("sha256");return e.forEach((e=>r.update(e))),Uint8Array.from(r.digest())}throw Error("The environment doesn't have sha256 function")},async hmacSha256(e,...t){if(be.web){const r=await be.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=V(...t),o=await be.web.subtle.sign("HMAC",r,n);return new Uint8Array(o)}if(be.node){const{createHmac:r}=be.node,n=r("sha256",e);return t.forEach((e=>n.update(e))),Uint8Array.from(n.digest())}throw Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,async taggedHash(e,...t){let r=xe[e];if(void 0===r){const t=await Ae.sha256(Uint8Array.from(e,(e=>e.charCodeAt(0))));r=V(t,t),xe[e]=r}return Ae.sha256(r,...t)},taggedHashSync(e,...t){if("function"!=typeof ae)throw new z("sha256Sync is undefined, you need to set it");let r=xe[e];if(void 0===r){const t=ae(Uint8Array.from(e,(e=>e.charCodeAt(0))));r=V(t,t),xe[e]=r}return ae(r,...t)},_JacobianPoint:$};Object.defineProperties(Ae,{sha256Sync:{configurable:!1,get:()=>ae,set(e){ae||(ae=e)}},hmacSha256Sync:{configurable:!1,get:()=>ie,set(e){ie||(ie=e)}}});const{floor:Se,random:Pe,sin:Ie}=Math,ke="Trystero",Be=(e,t)=>Array(e).fill().map(t),Te=e=>Be(e,(()=>"0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"[Se(62*Pe())])).join(""),He=Te(20),Re=Promise.all.bind(Promise),Ue="undefined"!=typeof window,{entries:Ce,fromEntries:De,keys:ze}=Object,Oe=()=>{},$e=e=>Error(`${ke}: ${e}`),Ne=new TextEncoder,Le=new TextDecoder,_e=e=>Ne.encode(e),Ze=e=>Le.decode(e),je=e=>e.reduce(((e,t)=>e+t.toString(16).padStart(2,"0")),""),Me=(...e)=>e.join("@"),Ve=JSON.stringify,qe=JSON.parse,Ke=(e,t=Number.MAX_SAFE_INTEGER)=>e.split("").reduce(((e,t)=>e+t.charCodeAt(0)),0)%t,We={},Je="AES-GCM",Ge={},Xe=async e=>Ge[e]||(Ge[e]=Array.from(new Uint8Array(await crypto.subtle.digest("SHA-1",_e(e)))).map((e=>e.toString(36))).join("")),Fe=async(e,t)=>{const r=crypto.getRandomValues(new Uint8Array(16));var n;return r.join(",")+"$"+(n=await crypto.subtle.encrypt({name:Je,iv:r},await e,_e(t)),btoa(String.fromCharCode.apply(null,new Uint8Array(n))))},Ye=async(e,t)=>{const[r,n]=t.split("$");return Ze(await crypto.subtle.decrypt({name:Je,iv:new Uint8Array(r.split(","))},await e,(e=>{const t=atob(e);return new Uint8Array(t.length).map(((e,r)=>t.charCodeAt(r))).buffer})(n)))},Qe="icegatheringstatechange",et="offer";var tt=(e,{rtcConfig:t,rtcPolyfill:r,turnConfig:n})=>{const o=new(r||RTCPeerConnection)((0,E.default)({iceServers:rt.concat(n||[])},t)),a={};let i=!1,s=!1,c=null;const f=e=>{e.binaryType="arraybuffer",e.bufferedAmountLowThreshold=65535,e.onmessage=e=>{var t;return null===(t=a.data)||void 0===t?void 0:t.call(a,e.data)},e.onopen=()=>{var e;return null===(e=a.connect)||void 0===e?void 0:e.call(a)},e.onclose=()=>{var e;return null===(e=a.close)||void 0===e?void 0:e.call(a)},e.onerror=e=>{var t;return null===(t=a.error)||void 0===t?void 0:t.call(a,e)}},l=e=>Promise.race([new Promise((t=>{const r=()=>{"complete"===e.iceGatheringState&&(e.removeEventListener(Qe,r),t())};e.addEventListener(Qe,r),r()})),new Promise((e=>setTimeout(e,5e3)))]).then((()=>({type:e.localDescription.type,sdp:e.localDescription.sdp.replace(/a=ice-options:trickle\s\n/g,"")})));return e?(c=o.createDataChannel("data"),f(c)):o.ondatachannel=({channel:e})=>{c=e,f(e)},o.onnegotiationneeded=async()=>{try{var e;i=!0,await o.setLocalDescription();const t=await l(o);null===(e=a.signal)||void 0===e||e.call(a,t)}catch(e){var t;null===(t=a.error)||void 0===t||t.call(a,e)}finally{i=!1}},o.onconnectionstatechange=()=>{var e;["disconnected","failed","closed"].includes(o.connectionState)&&(null===(e=a.close)||void 0===e||e.call(a))},o.ontrack=e=>{var t,r;null===(t=a.track)||void 0===t||t.call(a,e.track,e.streams[0]),null===(r=a.stream)||void 0===r||r.call(a,e.streams[0])},o.onremovestream=e=>{var t;return null===(t=a.stream)||void 0===t?void 0:t.call(a,e.stream)},e&&(o.canTrickleIceCandidates||o.onnegotiationneeded()),{created:Date.now(),connection:o,get channel(){return c},get isDead(){return"closed"===o.connectionState},async signal(t){var r;if("open"!==(null==c?void 0:c.readyState)||(null===(r=t.sdp)||void 0===r?void 0:r.includes("a=rtpmap")))try{if(t.type===et){var n;if(i||"stable"!==o.signalingState&&!s){if(e)return;await Re([o.setLocalDescription({type:"rollback"}),o.setRemoteDescription(t)])}else await o.setRemoteDescription(t);await o.setLocalDescription();const r=await l(o);return null===(n=a.signal)||void 0===n||n.call(a,r),r}if("answer"===t.type){s=!0;try{await o.setRemoteDescription(t)}finally{s=!1}}}catch(e){var f;null===(f=a.error)||void 0===f||f.call(a,e)}},sendData:e=>c.send(e),destroy(){null==c||c.close(),o.close(),i=!1,s=!1},setHandlers:e=>Object.assign(a,e),offerPromise:e?new Promise((e=>a.signal=t=>{t.type===et&&e(t)})):Promise.resolve(),addStream:e=>e.getTracks().forEach((t=>o.addTrack(t,e))),removeStream:e=>o.getSenders().filter((t=>e.getTracks().includes(t.track))).forEach((e=>o.removeTrack(e))),addTrack:(e,t)=>o.addTrack(e,t),removeTrack(e){const t=o.getSenders().find((t=>t.track===e));t&&o.removeTrack(t)},replaceTrack(e,t){const r=o.getSenders().find((t=>t.track===e));if(r)return r.replaceTrack(t)}}};const rt=[...Be(3,((e,t)=>`stun:stun${t||""}.l.google.com:19302`)),"stun:stun.cloudflare.com:3478"].map((e=>({urls:e}))),nt=Object.getPrototypeOf(Uint8Array),ot=16369,at=255,it="bufferedamountlow",st=e=>"@_"+e;var ct;const ft={},lt="EVENT",dt=Ae.randomPrivateKey(),ut=je(we(dt)),ht={},yt={},gt={},pt=()=>Math.floor(Date.now()/1e3),mt=e=>null!==(ct=(a=gt)[i=e])&&void 0!==ct?ct:a[i]=Ke(e,1e4)+2e4,wt=async(e,t)=>{const r={kind:mt(e),content:t,pubkey:ut,created_at:pt(),tags:[["x",e]]},n=je(new Uint8Array(await crypto.subtle.digest("SHA-256",_e(Ve([0,r.pubkey,r.created_at,r.kind,r.tags,r.content])))));return Ve([lt,(0,x.default)((0,E.default)({},r),{id:n,sig:je(await ve(n,dt))})])},vt=(e,t)=>(ht[e]=t,Ve(["REQ",e,{kinds:[mt(t)],since:pt(),"#x":[t]}])),bt=e=>(delete ht[e],Ve(["CLOSE",e])),Et=(({init:e,subscribe:t,announce:r})=>{const n={};let o,a,i,v=!1;return(b,A,S)=>{var P;const{appId:I}=b;if(null===(P=n[I])||void 0===P?void 0:P[A])return n[I][A];const k={},B={},T=Me(ke,I,A),H=Xe(T),R=Xe(Me(T,He)),U=(async(e,t,r)=>crypto.subtle.importKey("raw",await crypto.subtle.digest({name:"SHA-256"},_e(`${e}:${t}:${r}`)),{name:Je},!1,["encrypt","decrypt"]))(b.password||"",I,A),C=e=>async t=>({type:t.type,sdp:await e(U,t.sdp)}),D=C(Ye),z=C(Fe),O=()=>tt(!0,b),$=(e,t,r)=>{var n;B[t]?B[t]!==e&&e.destroy():(B[t]=e,V(e,t),null===(n=k[t])||void 0===n||n.forEach(((e,t)=>{t!==r&&e.destroy()})),delete k[t])},N=(e,t)=>{B[t]===e&&delete B[t]},L=e=>(a.push(...Be(e,O)),Re(a.splice(0,e).map((e=>e.offerPromise.then(z).then((t=>({peer:e,offer:t}))))))),_=(e,t)=>null==S?void 0:S({error:`incorrect password (${b.password}) when decrypting ${t}`,appId:I,peerId:e,roomId:A});if(!b)throw $e("requires a config map as the first argument");if(!I&&!b.firebaseApp)throw $e("config map is missing appId field");if(!A)throw $e("roomId argument required");if(!v){const t=e(b);a=Be(20,O),o=Array.isArray(t)?t:[t],v=!0,i=setInterval((()=>a=a.filter((e=>{const t=Date.now()-e.created<57333;return t||e.destroy(),t}))),59052.99)}const Z=o.map((()=>5333)),j=[],M=o.map((async(e,r)=>t(await e,await H,await R,(e=>async(t,r,n)=>{const[o,a]=await Re([H,R]);if(t!==o&&t!==a)return;const{peerId:i,offer:f,answer:l,peer:d}="string"==typeof r?qe(r):r;if(i!==He&&!B[i])if(!i||f||l){if(f){var u;if((null===(u=k[i])||void 0===u?void 0:u[e])&&He>i)return;const t=tt(!1,b);let r;t.setHandlers({connect:()=>$(t,i,e),close:()=>N(t,i)});try{r=await D(f)}catch(e){return void _(i,"offer")}if(t.isDead)return;const[o,a]=await Re([Xe(Me(T,i)),t.signal(r)]);n(o,Ve({peerId:He,answer:await z(a)}))}else if(l){let t;try{t=await D(l)}catch(e){return void _(i,"answer")}if(d)d.setHandlers({connect:()=>$(d,i,e),close:()=>N(d,i)}),d.signal(t);else{var h;const r=null===(h=k[i])||void 0===h?void 0:h[e];r&&!r.isDead&&r.signal(t)}}}else{var y;if(null===(y=k[i])||void 0===y?void 0:y[e])return;const[[{peer:t,offer:r}],o]=await Re([L(1),Xe(Me(T,i))]);(s=k)[c=i]||(s[c]=[]),k[i][e]=t,setTimeout((()=>((e,t)=>{var r;if(B[e])return;const n=null===(r=k[e])||void 0===r?void 0:r[t];n&&(delete k[e][t],n.destroy())})(i,e)),.9*Z[e]),t.setHandlers({connect:()=>$(t,i,e),close:()=>N(t,i)}),n(o,Ve({peerId:He,offer:r}))}})(r),L)));Re([H,R]).then((([e,t])=>{const n=async(o,a)=>{const i=await r(o,e,t);"number"==typeof i&&(Z[a]=i),j[a]=setTimeout((()=>n(o,a)),Z[a])};M.forEach((async(e,t)=>{await e,n(await o[t],t)}))}));let V=Oe;return(f=n)[l=I]||(f[l]={}),n[I][A]=((e,t,r)=>{const n={},o={},a={},i={},s={},c={},f={},l={onPeerJoin:Oe,onPeerLeave:Oe,onPeerStream:Oe,onPeerTrack:Oe},v=(e,t)=>(e?Array.isArray(e)?e:[e]:ze(n)).flatMap((e=>{const r=n[e];return r?t(e,r):(console.warn(`${ke}: no peer with id ${e} found`),[])})),b=e=>{n[e]&&(delete n[e],delete i[e],delete s[e],l.onPeerLeave(e),t(e))},A=e=>{if(o[e])return a[e];if(!e)throw $e("action type argument is required");const t=_e(e);if(t.byteLength>12)throw $e(`action type string "${e}" (${t.byteLength}b) exceeds byte limit (12). Hint: choose a shorter name.`);const r=new Uint8Array(12);r.set(t);let i=0;return o[e]={onComplete:Oe,onProgress:Oe,setOnComplete:t=>o[e]=(0,x.default)((0,E.default)({},o[e]),{onComplete:t}),setOnProgress:t=>o[e]=(0,x.default)((0,E.default)({},o[e]),{onProgress:t}),async send(e,t,o,a){if(o&&"object"!=typeof o)throw $e("action meta argument must be an object");const s=typeof e;if("undefined"===s)throw $e("action data cannot be undefined");const c="string"!==s,f=e instanceof Blob,l=f||e instanceof ArrayBuffer||e instanceof nt;if(o&&!l)throw $e("action meta argument can only be used with binary data");const d=l?new Uint8Array(f?await e.arrayBuffer():e):_e(c?Ve(e):e),u=o?_e(Ve(o)):null,h=Math.ceil(d.byteLength/ot)+(o?1:0)||1,y=Be(h,((e,t)=>{const n=t===h-1,a=o&&0===t,s=new Uint8Array(15+(a?u.byteLength:n?d.byteLength-ot*(h-(o?2:1)):ot));return s.set(r),s.set([i],12),s.set([n|a<<1|l<<2|c<<3],13),s.set([Math.round((t+1)/h*at)],14),s.set(o?a?u:d.subarray((t-1)*ot,t*ot):d.subarray(t*ot,(t+1)*ot),15),s}));return i=i+1&at,Re(v(t,(async(e,t)=>{const{channel:r}=t;let i=0;for(;i<h;){const s=y[i];if(r.bufferedAmount>r.bufferedAmountLowThreshold&&await new Promise((e=>{const t=()=>{r.removeEventListener(it,t),e()};r.addEventListener(it,t)})),!n[e])break;t.sendData(s),i++,null==a||a(s[14]/at,e,o)}})))}},(d=a)[u=e]||(d[u]=[o[e].send,o[e].setOnComplete,o[e].setOnProgress])},S=(e,t)=>{const r=new Uint8Array(t),n=Ze(r.subarray(0,12)).replaceAll("\0",""),[a]=r.subarray(12,13),[s]=r.subarray(13,14),[c]=r.subarray(14,15),f=r.subarray(15),l=!!(1&s),d=!!(2&s),u=!!(4&s),v=!!(8&s);if(!o[n])return void console.warn(`${ke}: received message with unregistered type (${n})`);(h=i)[y=e]||(h[y]={}),(g=i[e])[p=n]||(g[p]={});const b=(m=i[e][n])[w=a]||(m[w]={chunks:[]});if(d?b.meta=qe(Ze(f)):b.chunks.push(f),o[n].onProgress(c/at,e,b.meta),!l)return;const E=new Uint8Array(b.chunks.reduce(((e,t)=>e+t.byteLength),0));if(b.chunks.reduce(((e,t)=>(E.set(t,e),e+t.byteLength)),0),delete i[e][n][a],u)o[n].onComplete(E,e,b.meta);else{const t=Ze(E);o[n].onComplete(v?qe(t):t,e)}},P=async()=>{await O(""),await new Promise((e=>setTimeout(e,99))),Ce(n).forEach((([e,t])=>{t.destroy(),delete n[e]})),r()},[I,k]=A(st("ping")),[B,T]=A(st("pong")),[H,R]=A(st("signal")),[U,C]=A(st("stream")),[D,z]=A(st("track")),[O,$]=A(st("leave"));return V=(e,t)=>{var r;n[t]||(n[t]=e,e.setHandlers({data:e=>S(t,e),stream(e){l.onPeerStream(e,t,c[t]),delete c[t]},track(e,r){l.onPeerTrack(e,r,t,f[t]),delete f[t]},signal:e=>H(e,t),close:()=>b(t),error(e){console.error(e),b(t)}}),l.onPeerJoin(t),null===(r=e.drainEarlyData)||void 0===r||r.call(e,(e=>S(t,e))))},k(((e,t)=>B("",t))),T(((e,t)=>{var r;null===(r=s[t])||void 0===r||r.call(s),delete s[t]})),R(((e,t)=>{var r;return null===(r=n[t])||void 0===r?void 0:r.signal(e)})),C(((e,t)=>c[t]=e)),z(((e,t)=>f[t]=e)),$(((e,t)=>b(t))),Ue&&addEventListener("beforeunload",P),{makeAction:A,leave:P,async ping(e){if(!e)throw $e("ping() must be called with target peer ID");const t=Date.now();return I("",e),await new Promise((t=>s[e]=t)),Date.now()-t},getPeers:()=>De(Ce(n).map((([e,t])=>[e,t.connection]))),addStream:(e,t,r)=>v(t,(async(t,n)=>{r&&await U(r,t),n.addStream(e)})),removeStream:(e,t)=>v(t,((t,r)=>r.removeStream(e))),addTrack:(e,t,r,n)=>v(r,(async(r,o)=>{n&&await D(n,r),o.addTrack(e,t)})),removeTrack:(e,t)=>v(t,((t,r)=>r.removeTrack(e))),replaceTrack:(e,t,r,n)=>v(r,(async(r,o)=>{n&&await D(n,r),o.replaceTrack(e,t)})),onPeerJoin:e=>l.onPeerJoin=e,onPeerLeave:e=>l.onPeerLeave=e,onPeerStream:e=>l.onPeerStream=e,onPeerTrack:e=>l.onPeerTrack=e}})(0,(e=>delete B[e]),(()=>{delete n[I][A],j.forEach(clearTimeout),M.forEach((async e=>(await e)())),clearInterval(i)}))}})({init:e=>((e,t,r)=>(e.relayUrls||((e,t)=>{const r=[...e],n=()=>{const e=1e4*Ie(t++);return e-Se(e)};let o=r.length;for(;o;){const e=Se(n()*o--);[r[o],r[e]]=[r[e],r[o]]}return r})(t,Ke(e.appId))).slice(0,e.relayUrls?e.relayUrls.length:e.relayRedundancy||5))(e,xt).map((e=>{const t=((e,t)=>{const r={},n=()=>{const o=new WebSocket(e);o.onclose=()=>{var t;null!==(t=(v=We)[b=e])&&void 0!==t||(v[b]=3333),setTimeout(n,We[e]),We[e]*=2},o.onmessage=e=>t(e.data),r.socket=o,r.url=o.url,r.ready=new Promise((t=>o.onopen=()=>{t(r),We[e]=3333})),r.send=e=>{1===o.readyState&&o.send(e)}};return n(),r})(e,(e=>{var r;const[n,o,a,i]=qe(e);if(n===lt)null===(r=yt[o])||void 0===r||r.call(yt,ht[o],a.content);else{const e=`${ke}: relay failure from ${t.url} - `;"NOTICE"===n?console.warn(e+o):"OK"!==n||a||console.warn(e+i)}}));return ft[e]=t,t.ready})),subscribe(e,t,r,n){const o=Te(64),a=Te(64);return yt[o]=yt[a]=(t,r)=>n(t,r,(async(t,r)=>e.send(await wt(t,r)))),e.send(vt(o,t)),e.send(vt(a,r)),()=>{e.send(bt(o)),e.send(bt(a)),delete yt[o],delete yt[a]}},announce:async(e,t)=>e.send(await wt(t,Ve({peerId:He})))});const xt=["eu.purplerelay.com","ftp.halifax.rwth-aachen.de/nostr","multiplexer.huszonegy.world","nostr.cool110.xyz","nostr.data.haus","nostr.grooveix.com","nostr.huszonegy.world","nostr.mom","nostr.sathoarder.com","nostr.vulpem.com","relay.fountain.fm","relay.nostraddress.com","relay.nostromo.social","relay.snort.social","relay.verified-nostr.com","yabu.me/v2"].map((e=>"wss://"+e))}));
@@ -0,0 +1 @@
1
+ var e=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).parcelRequire55a5;e.register("hsMrW",(function(r,t){var n,a;n=r.exports,a=function(){return ve},Object.defineProperty(n,"joinRoom",{get:a,set:undefined,enumerable:!0,configurable:!0});var o,s,i,c,l,d,u,f,p,y,m,w,v,g,h,b,k,P,T=e("dM3DM"),A=e("aQXMn");const{floor:S,random:D}=Math,L="Trystero",I=(e,r)=>Array(e).fill().map(r),$=e=>I(e,(()=>"0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"[S(62*D())])).join(""),E=$(20),C=Promise.all.bind(Promise),U="undefined"!=typeof window,{entries:_,fromEntries:j,keys:O}=Object,M=()=>{},H=e=>Error(`${L}: ${e}`),R=new TextEncoder,J=new TextDecoder,x=e=>R.encode(e),q=e=>J.decode(e),B=(...e)=>e.join("@"),G=JSON.stringify,N=JSON.parse,W={},z="AES-GCM",K={},Q=async e=>K[e]||(K[e]=Array.from(new Uint8Array(await crypto.subtle.digest("SHA-1",x(e)))).map((e=>e.toString(36))).join("")),V=async(e,r)=>{const t=crypto.getRandomValues(new Uint8Array(16));var n;return t.join(",")+"$"+(n=await crypto.subtle.encrypt({name:z,iv:t},await e,x(r)),btoa(String.fromCharCode.apply(null,new Uint8Array(n))))},X=async(e,r)=>{const[t,n]=r.split("$");return q(await crypto.subtle.decrypt({name:z,iv:new Uint8Array(t.split(","))},await e,(e=>{const r=atob(e);return new Uint8Array(r.length).map(((e,t)=>r.charCodeAt(t))).buffer})(n)))},F="icegatheringstatechange",Y="offer";var Z=(e,{rtcConfig:r,rtcPolyfill:t,turnConfig:n})=>{const a=new(t||RTCPeerConnection)((0,T.default)({iceServers:ee.concat(n||[])},r)),o={};let s=!1,i=!1,c=null;const l=e=>{e.binaryType="arraybuffer",e.bufferedAmountLowThreshold=65535,e.onmessage=e=>{var r;return null===(r=o.data)||void 0===r?void 0:r.call(o,e.data)},e.onopen=()=>{var e;return null===(e=o.connect)||void 0===e?void 0:e.call(o)},e.onclose=()=>{var e;return null===(e=o.close)||void 0===e?void 0:e.call(o)},e.onerror=e=>{var r;return null===(r=o.error)||void 0===r?void 0:r.call(o,e)}},d=e=>Promise.race([new Promise((r=>{const t=()=>{"complete"===e.iceGatheringState&&(e.removeEventListener(F,t),r())};e.addEventListener(F,t),t()})),new Promise((e=>setTimeout(e,5e3)))]).then((()=>({type:e.localDescription.type,sdp:e.localDescription.sdp.replace(/a=ice-options:trickle\s\n/g,"")})));return e?(c=a.createDataChannel("data"),l(c)):a.ondatachannel=({channel:e})=>{c=e,l(e)},a.onnegotiationneeded=async()=>{try{var e;s=!0,await a.setLocalDescription();const r=await d(a);null===(e=o.signal)||void 0===e||e.call(o,r)}catch(e){var r;null===(r=o.error)||void 0===r||r.call(o,e)}finally{s=!1}},a.onconnectionstatechange=()=>{var e;["disconnected","failed","closed"].includes(a.connectionState)&&(null===(e=o.close)||void 0===e||e.call(o))},a.ontrack=e=>{var r,t;null===(r=o.track)||void 0===r||r.call(o,e.track,e.streams[0]),null===(t=o.stream)||void 0===t||t.call(o,e.streams[0])},a.onremovestream=e=>{var r;return null===(r=o.stream)||void 0===r?void 0:r.call(o,e.stream)},e&&(a.canTrickleIceCandidates||a.onnegotiationneeded()),{created:Date.now(),connection:a,get channel(){return c},get isDead(){return"closed"===a.connectionState},async signal(r){var t;if("open"!==(null==c?void 0:c.readyState)||(null===(t=r.sdp)||void 0===t?void 0:t.includes("a=rtpmap")))try{if(r.type===Y){var n;if(s||"stable"!==a.signalingState&&!i){if(e)return;await C([a.setLocalDescription({type:"rollback"}),a.setRemoteDescription(r)])}else await a.setRemoteDescription(r);await a.setLocalDescription();const t=await d(a);return null===(n=o.signal)||void 0===n||n.call(o,t),t}if("answer"===r.type){i=!0;try{await a.setRemoteDescription(r)}finally{i=!1}}}catch(e){var l;null===(l=o.error)||void 0===l||l.call(o,e)}},sendData:e=>c.send(e),destroy(){null==c||c.close(),a.close(),s=!1,i=!1},setHandlers:e=>Object.assign(o,e),offerPromise:e?new Promise((e=>o.signal=r=>{r.type===Y&&e(r)})):Promise.resolve(),addStream:e=>e.getTracks().forEach((r=>a.addTrack(r,e))),removeStream:e=>a.getSenders().filter((r=>e.getTracks().includes(r.track))).forEach((e=>a.removeTrack(e))),addTrack:(e,r)=>a.addTrack(e,r),removeTrack(e){const r=a.getSenders().find((r=>r.track===e));r&&a.removeTrack(r)},replaceTrack(e,r){const t=a.getSenders().find((r=>r.track===e));if(t)return t.replaceTrack(r)}}};const ee=[...I(3,((e,r)=>`stun:stun${r||""}.l.google.com:19302`)),"stun:stun.cloudflare.com:3478"].map((e=>({urls:e}))),re=Object.getPrototypeOf(Uint8Array),te=16369,ne=255,ae="bufferedamountlow",oe=e=>"@_"+e,se={},ie={},ce={},le={},de={},ue={},fe={},pe={},ye=async e=>{if(ie[e])return ie[e];const r=(await Q(e)).slice(0,20);return ie[e]=r,ce[r]=e,r},me=async(e,r,t)=>e.send(G((0,T.default)({action:"announce",info_hash:await ye(r),peer_id:E},t))),we=(e,r,t)=>console.warn(`${L}: torrent tracker ${t?"failure":"warning"} from ${e} - ${r}`),ve=(({init:e,subscribe:r,announce:t})=>{const n={};let a,v,g,h=!1;return(b,k,P)=>{var S;const{appId:D}=b;if(null===(S=n[D])||void 0===S?void 0:S[k])return n[D][k];const $={},R={},J=B(L,D,k),W=Q(J),K=Q(B(J,E)),F=(async(e,r,t)=>crypto.subtle.importKey("raw",await crypto.subtle.digest({name:"SHA-256"},x(`${e}:${r}:${t}`)),{name:z},!1,["encrypt","decrypt"]))(b.password||"",D,k),Y=e=>async r=>({type:r.type,sdp:await e(F,r.sdp)}),ee=Y(X),se=Y(V),ie=()=>Z(!0,b),ce=(e,r,t)=>{var n;R[r]?R[r]!==e&&e.destroy():(R[r]=e,me(e,r),null===(n=$[r])||void 0===n||n.forEach(((e,r)=>{r!==t&&e.destroy()})),delete $[r])},le=(e,r)=>{R[r]===e&&delete R[r]},de=e=>(v.push(...I(e,ie)),C(v.splice(0,e).map((e=>e.offerPromise.then(se).then((r=>({peer:e,offer:r}))))))),ue=(e,r)=>null==P?void 0:P({error:`incorrect password (${b.password}) when decrypting ${r}`,appId:D,peerId:e,roomId:k});if(!b)throw H("requires a config map as the first argument");if(!D&&!b.firebaseApp)throw H("config map is missing appId field");if(!k)throw H("roomId argument required");if(!h){const r=e(b);v=I(20,ie),a=Array.isArray(r)?r:[r],h=!0,g=setInterval((()=>v=v.filter((e=>{const r=Date.now()-e.created<57333;return r||e.destroy(),r}))),59052.99)}const fe=a.map((()=>5333)),pe=[],ye=a.map((async(e,t)=>r(await e,await W,await K,(e=>async(r,t,n)=>{const[a,i]=await C([W,K]);if(r!==a&&r!==i)return;const{peerId:c,offer:l,answer:d,peer:u}="string"==typeof t?N(t):t;if(c!==E&&!R[c])if(!c||l||d){if(l){var f;if((null===(f=$[c])||void 0===f?void 0:f[e])&&E>c)return;const r=Z(!1,b);let t;r.setHandlers({connect:()=>ce(r,c,e),close:()=>le(r,c)});try{t=await ee(l)}catch(e){return void ue(c,"offer")}if(r.isDead)return;const[a,o]=await C([Q(B(J,c)),r.signal(t)]);n(a,G({peerId:E,answer:await se(o)}))}else if(d){let r;try{r=await ee(d)}catch(e){return void ue(c,"answer")}if(u)u.setHandlers({connect:()=>ce(u,c,e),close:()=>le(u,c)}),u.signal(r);else{var p;const t=null===(p=$[c])||void 0===p?void 0:p[e];t&&!t.isDead&&t.signal(r)}}}else{var y;if(null===(y=$[c])||void 0===y?void 0:y[e])return;const[[{peer:r,offer:t}],a]=await C([de(1),Q(B(J,c))]);(o=$)[s=c]||(o[s]=[]),$[c][e]=r,setTimeout((()=>((e,r)=>{var t;if(R[e])return;const n=null===(t=$[e])||void 0===t?void 0:t[r];n&&(delete $[e][r],n.destroy())})(c,e)),.9*fe[e]),r.setHandlers({connect:()=>ce(r,c,e),close:()=>le(r,c)}),n(a,G({peerId:E,offer:t}))}})(t),de)));C([W,K]).then((([e,r])=>{const n=async(a,o)=>{const s=await t(a,e,r);"number"==typeof s&&(fe[o]=s),pe[o]=setTimeout((()=>n(a,o)),fe[o])};ye.forEach((async(e,r)=>{await e,n(await a[r],r)}))}));let me=M;return(i=n)[c=D]||(i[c]={}),n[D][k]=((e,r,t)=>{const n={},a={},o={},s={},i={},c={},v={},g={onPeerJoin:M,onPeerLeave:M,onPeerStream:M,onPeerTrack:M},h=(e,r)=>(e?Array.isArray(e)?e:[e]:O(n)).flatMap((e=>{const t=n[e];return t?r(e,t):(console.warn(`${L}: no peer with id ${e} found`),[])})),b=e=>{n[e]&&(delete n[e],delete s[e],delete i[e],g.onPeerLeave(e),r(e))},k=e=>{if(a[e])return o[e];if(!e)throw H("action type argument is required");const r=x(e);if(r.byteLength>12)throw H(`action type string "${e}" (${r.byteLength}b) exceeds byte limit (12). Hint: choose a shorter name.`);const t=new Uint8Array(12);t.set(r);let s=0;return a[e]={onComplete:M,onProgress:M,setOnComplete:r=>a[e]=(0,A.default)((0,T.default)({},a[e]),{onComplete:r}),setOnProgress:r=>a[e]=(0,A.default)((0,T.default)({},a[e]),{onProgress:r}),async send(e,r,a,o){if(a&&"object"!=typeof a)throw H("action meta argument must be an object");const i=typeof e;if("undefined"===i)throw H("action data cannot be undefined");const c="string"!==i,l=e instanceof Blob,d=l||e instanceof ArrayBuffer||e instanceof re;if(a&&!d)throw H("action meta argument can only be used with binary data");const u=d?new Uint8Array(l?await e.arrayBuffer():e):x(c?G(e):e),f=a?x(G(a)):null,p=Math.ceil(u.byteLength/te)+(a?1:0)||1,y=I(p,((e,r)=>{const n=r===p-1,o=a&&0===r,i=new Uint8Array(15+(o?f.byteLength:n?u.byteLength-te*(p-(a?2:1)):te));return i.set(t),i.set([s],12),i.set([n|o<<1|d<<2|c<<3],13),i.set([Math.round((r+1)/p*ne)],14),i.set(a?o?f:u.subarray((r-1)*te,r*te):u.subarray(r*te,(r+1)*te),15),i}));return s=s+1&ne,C(h(r,(async(e,r)=>{const{channel:t}=r;let s=0;for(;s<p;){const i=y[s];if(t.bufferedAmount>t.bufferedAmountLowThreshold&&await new Promise((e=>{const r=()=>{t.removeEventListener(ae,r),e()};t.addEventListener(ae,r)})),!n[e])break;r.sendData(i),s++,null==o||o(i[14]/ne,e,a)}})))}},(l=o)[d=e]||(l[d]=[a[e].send,a[e].setOnComplete,a[e].setOnProgress])},P=(e,r)=>{const t=new Uint8Array(r),n=q(t.subarray(0,12)).replaceAll("\0",""),[o]=t.subarray(12,13),[i]=t.subarray(13,14),[c]=t.subarray(14,15),l=t.subarray(15),d=!!(1&i),v=!!(2&i),g=!!(4&i),h=!!(8&i);if(!a[n])return void console.warn(`${L}: received message with unregistered type (${n})`);(u=s)[f=e]||(u[f]={}),(p=s[e])[y=n]||(p[y]={});const b=(m=s[e][n])[w=o]||(m[w]={chunks:[]});if(v?b.meta=N(q(l)):b.chunks.push(l),a[n].onProgress(c/ne,e,b.meta),!d)return;const k=new Uint8Array(b.chunks.reduce(((e,r)=>e+r.byteLength),0));if(b.chunks.reduce(((e,r)=>(k.set(r,e),e+r.byteLength)),0),delete s[e][n][o],g)a[n].onComplete(k,e,b.meta);else{const r=q(k);a[n].onComplete(h?N(r):r,e)}},S=async()=>{await V(""),await new Promise((e=>setTimeout(e,99))),_(n).forEach((([e,r])=>{r.destroy(),delete n[e]})),t()},[D,$]=k(oe("ping")),[E,R]=k(oe("pong")),[J,B]=k(oe("signal")),[W,z]=k(oe("stream")),[K,Q]=k(oe("track")),[V,X]=k(oe("leave"));return me=(e,r)=>{var t;n[r]||(n[r]=e,e.setHandlers({data:e=>P(r,e),stream(e){g.onPeerStream(e,r,c[r]),delete c[r]},track(e,t){g.onPeerTrack(e,t,r,v[r]),delete v[r]},signal:e=>J(e,r),close:()=>b(r),error(e){console.error(e),b(r)}}),g.onPeerJoin(r),null===(t=e.drainEarlyData)||void 0===t||t.call(e,(e=>P(r,e))))},$(((e,r)=>E("",r))),R(((e,r)=>{var t;null===(t=i[r])||void 0===t||t.call(i),delete i[r]})),B(((e,r)=>{var t;return null===(t=n[r])||void 0===t?void 0:t.signal(e)})),z(((e,r)=>c[r]=e)),Q(((e,r)=>v[r]=e)),X(((e,r)=>b(r))),U&&addEventListener("beforeunload",S),{makeAction:k,leave:S,async ping(e){if(!e)throw H("ping() must be called with target peer ID");const r=Date.now();return D("",e),await new Promise((r=>i[e]=r)),Date.now()-r},getPeers:()=>j(_(n).map((([e,r])=>[e,r.connection]))),addStream:(e,r,t)=>h(r,(async(r,n)=>{t&&await W(t,r),n.addStream(e)})),removeStream:(e,r)=>h(r,((r,t)=>t.removeStream(e))),addTrack:(e,r,t,n)=>h(t,(async(t,a)=>{n&&await K(n,t),a.addTrack(e,r)})),removeTrack:(e,r)=>h(r,((r,t)=>t.removeTrack(e))),replaceTrack:(e,r,t,n)=>h(t,(async(t,a)=>{n&&await K(n,t),a.replaceTrack(e,r)})),onPeerJoin:e=>g.onPeerJoin=e,onPeerLeave:e=>g.onPeerLeave=e,onPeerStream:e=>g.onPeerStream=e,onPeerTrack:e=>g.onPeerTrack=e}})(0,(e=>delete R[e]),(()=>{delete n[D][k],pe.forEach(clearTimeout),ye.forEach((async e=>(await e)())),clearInterval(g)}))}})({init:e=>((e,r,t)=>(e.relayUrls||r).slice(0,e.relayUrls?e.relayUrls.length:e.relayRedundancy||3))(e,ge).map((e=>{const r=((e,r)=>{const t={},n=()=>{const a=new WebSocket(e);a.onclose=()=>{var r;null!==(r=(v=W)[g=e])&&void 0!==r||(v[g]=3333),setTimeout(n,W[e]),W[e]*=2},a.onmessage=e=>r(e.data),t.socket=a,t.url=a.url,t.ready=new Promise((r=>a.onopen=()=>{r(t),W[e]=3333})),t.send=e=>{1===a.readyState&&a.send(e)}};return n(),t})(e,(e=>{const r=N(e),n=r["failure reason"],a=r["warning message"],{interval:o}=r,s=ce[r.info_hash];if(n)we(t,n,!0);else{var i,c;if(a&&we(t,a),o&&1e3*o>ue[t]&&de[t][s]){const e=Math.min(1e3*o,120333);clearInterval(le[t][s]),ue[t]=e,le[t][s]=setInterval(de[t][s],e)}fe[r.offer_id]||(r.offer||r.answer)&&(fe[r.offer_id]=!0,null===(c=(i=pe[t])[s])||void 0===c||c.call(i,r))}})),{url:t}=r;return se[t]=r,pe[t]={},r.ready})),subscribe(e,r,t,n,a){const{url:o}=e,s=async()=>{const t=j((await a(10)).map((e=>[$(20),e])));pe[e.url][r]=a=>{if(a.offer)n(r,{offer:a.offer,peerId:a.peer_id},((t,n)=>me(e,r,{answer:N(n).answer,offer_id:a.offer_id,to_peer_id:a.peer_id})));else if(a.answer){const e=t[a.offer_id];e&&n(r,{answer:a.answer,peerId:a.peer_id,peer:e.peer})}},me(e,r,{numwant:10,offers:_(t).map((([e,{offer:r}])=>({offer_id:e,offer:r})))})};return ue[o]=33333,(h=de)[b=o]||(h[b]={}),de[o][r]=s,(k=le)[P=o]||(k[P]={}),le[o][r]=setInterval(s,ue[o]),s(),()=>{clearInterval(le[o][r]),delete pe[o][r],delete de[o][r]}},announce:e=>ue[e.url]});const ge=["tracker.webtorrent.dev","tracker.openwebtorrent.com","tracker.btorrent.xyz","tracker.files.fm:7073/announce"].map((e=>"wss://"+e))}));
@@ -0,0 +1 @@
1
+ !function(){var e=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).parcelRequire55a5;e.register("E0fFs",(function(n,r){var t,a;t=n.exports,a=function(){return Pe},Object.defineProperty(t,"joinRoom",{get:a,set:undefined,enumerable:!0,configurable:!0});var u,o,c,i,s,l,f,d,p,v,y,h,m,g,b,w,_,k,P,T=e("hnmIs"),A=e("bgoEC"),S=e("7j4mF"),E=e("5ENmm"),D=e("6Wo7Q"),L=e("rJmE6"),I=e("32Euv"),C=Math.floor,U=Math.random,j="Trystero",O=function(e,n){return Array(e).fill().map(n)},H=function(e){return O(e,(function(){return"0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"[C(62*U())]})).join("")},R=H(20),J=Promise.all.bind(Promise),M="undefined"!=typeof window,x=Object.entries,q=Object.fromEntries,B=Object.keys,N=function(){},F=function(e){return Error("".concat(j,": ").concat(e))},G=new TextEncoder,W=new TextDecoder,z=function(e){return G.encode(e)},K=function(e){return W.decode(e)},Q=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return n.join("@")},V=JSON.stringify,$=JSON.parse,X={},Y="AES-GCM",Z={},ee=(P=(0,T.default)((function(e){var n,r,t;return(0,I.__generator)(this,(function(a){switch(a.label){case 0:return(n=Z[e])?[3,2]:(r=Array.from,t=Uint8Array.bind,[4,crypto.subtle.digest("SHA-1",z(e))]);case 1:n=Z[e]=r.apply(Array,[new(t.apply(Uint8Array,[void 0,a.sent()]))]).map((function(e){return e.toString(36)})).join(""),a.label=2;case 2:return[2,n]}}))})),function(e){return P.apply(this,arguments)}),ne=function(){var e=(0,T.default)((function(e,n){var r,t,a,u,o,c;return(0,I.__generator)(this,(function(i){switch(i.label){case 0:return r=crypto.getRandomValues(new Uint8Array(16)),a=r.join(",")+"$",o=(u=crypto.subtle).encrypt,c=[{name:Y,iv:r}],[4,e];case 1:return[4,o.apply(u,c.concat([i.sent(),z(n)]))];case 2:return[2,a+(t=i.sent(),btoa(String.fromCharCode.apply(null,new Uint8Array(t))))]}}))}));return function(n,r){return e.apply(this,arguments)}}(),re=function(){var e=(0,T.default)((function(e,n){var r,t,a,u,o,c;return(0,I.__generator)(this,(function(i){switch(i.label){case 0:return r=(0,E.default)(n.split("$"),2),t=r[0],a=r[1],o=(u=crypto.subtle).decrypt,c=[{name:Y,iv:new Uint8Array(t.split(","))}],[4,e];case 1:return[4,o.apply(u,c.concat([i.sent(),function(e){var n=atob(e);return new Uint8Array(n.length).map((function(e,r){return n.charCodeAt(r)})).buffer}(a)]))];case 2:return[2,K.apply(void 0,[i.sent()])]}}))}));return function(n,r){return e.apply(this,arguments)}}(),te="icegatheringstatechange",ae="offer",ue=function(e,n){var r=n.rtcConfig,t=n.rtcPolyfill,a=n.turnConfig,u=new(t||RTCPeerConnection)((0,A.default)({iceServers:oe.concat(a||[])},r)),o={},c=!1,i=!1,s=null,l=function(e){e.binaryType="arraybuffer",e.bufferedAmountLowThreshold=65535,e.onmessage=function(e){var n;return null===(n=o.data)||void 0===n?void 0:n.call(o,e.data)},e.onopen=function(){var e;return null===(e=o.connect)||void 0===e?void 0:e.call(o)},e.onclose=function(){var e;return null===(e=o.close)||void 0===e?void 0:e.call(o)},e.onerror=function(e){var n;return null===(n=o.error)||void 0===n?void 0:n.call(o,e)}},f=function(e){return Promise.race([new Promise((function(n){var r=function(){"complete"===e.iceGatheringState&&(e.removeEventListener(te,r),n())};e.addEventListener(te,r),r()})),new Promise((function(e){return setTimeout(e,5e3)}))]).then((function(){return{type:e.localDescription.type,sdp:e.localDescription.sdp.replace(/a=ice-options:trickle\s\n/g,"")}}))};return e?(s=u.createDataChannel("data"),l(s)):u.ondatachannel=function(e){var n=e.channel;s=n,l(n)},u.onnegotiationneeded=(0,T.default)((function(){var e,n,r,t;return(0,I.__generator)(this,(function(a){switch(a.label){case 0:return a.trys.push([0,3,4,5]),c=!0,[4,u.setLocalDescription()];case 1:return a.sent(),[4,f(u)];case 2:return n=a.sent(),null===(e=o.signal)||void 0===e||e.call(o,n),[3,5];case 3:return r=a.sent(),null===(t=o.error)||void 0===t||t.call(o,r),[3,5];case 4:return c=!1,[7];case 5:return[2]}}))})),u.onconnectionstatechange=function(){var e;["disconnected","failed","closed"].includes(u.connectionState)&&(null===(e=o.close)||void 0===e||e.call(o))},u.ontrack=function(e){var n,r;null===(n=o.track)||void 0===n||n.call(o,e.track,e.streams[0]),null===(r=o.stream)||void 0===r||r.call(o,e.streams[0])},u.onremovestream=function(e){var n;return null===(n=o.stream)||void 0===n?void 0:n.call(o,e.stream)},e&&(u.canTrickleIceCandidates||u.onnegotiationneeded()),{created:Date.now(),connection:u,get channel(){return s},get isDead(){return"closed"===u.connectionState},signal:function(n){return(0,T.default)((function(){var r,t,a,l,d;return(0,I.__generator)(this,(function(p){switch(p.label){case 0:if("open"===(null==s?void 0:s.readyState)&&!(null===(r=n.sdp)||void 0===r?void 0:r.includes("a=rtpmap")))return[3,14];p.label=1;case 1:return p.trys.push([1,13,,14]),n.type!==ae?[3,8]:c||"stable"!==u.signalingState&&!i?e?[2]:[4,J([u.setLocalDescription({type:"rollback"}),u.setRemoteDescription(n)])]:[3,3];case 2:return p.sent(),[3,5];case 3:return[4,u.setRemoteDescription(n)];case 4:p.sent(),p.label=5;case 5:return[4,u.setLocalDescription()];case 6:return p.sent(),[4,f(u)];case 7:return a=p.sent(),[2,(null===(t=o.signal)||void 0===t||t.call(o,a),a)];case 8:if("answer"!==n.type)return[3,12];i=!0,p.label=9;case 9:return p.trys.push([9,,11,12]),[4,u.setRemoteDescription(n)];case 10:return p.sent(),[3,12];case 11:return i=!1,[7];case 12:return[3,14];case 13:return l=p.sent(),null===(d=o.error)||void 0===d||d.call(o,l),[3,14];case 14:return[2]}}))}))()},sendData:function(e){return s.send(e)},destroy:function(){null==s||s.close(),u.close(),c=!1,i=!1},setHandlers:function(e){return Object.assign(o,e)},offerPromise:e?new Promise((function(e){return o.signal=function(n){n.type===ae&&e(n)}})):Promise.resolve(),addStream:function(e){return e.getTracks().forEach((function(n){return u.addTrack(n,e)}))},removeStream:function(e){return u.getSenders().filter((function(n){return e.getTracks().includes(n.track)})).forEach((function(e){return u.removeTrack(e)}))},addTrack:function(e,n){return u.addTrack(e,n)},removeTrack:function(e){var n=u.getSenders().find((function(n){return n.track===e}));n&&u.removeTrack(n)},replaceTrack:function(e,n){var r=u.getSenders().find((function(n){return n.track===e}));if(r)return r.replaceTrack(n)}}},oe=(0,D.default)(O(3,(function(e,n){return"stun:stun".concat(n||"",".l.google.com:19302")}))).concat(["stun:stun.cloudflare.com:3478"]).map((function(e){return{urls:e}})),ce=Object.getPrototypeOf(Uint8Array),ie=16369,se=255,le="bufferedamountlow",fe=function(e){return"@_"+e},de={},pe={},ve={},ye={},he={},me={},ge={},be={},we=function(){var e=(0,T.default)((function(e){var n;return(0,I.__generator)(this,(function(r){switch(r.label){case 0:return pe[e]?[2,pe[e]]:[4,ee(e)];case 1:return n=r.sent().slice(0,20),[2,(pe[e]=n,ve[n]=e,n)]}}))}));return function(n){return e.apply(this,arguments)}}(),_e=function(){var e=(0,T.default)((function(e,n,r){var t,a;return(0,I.__generator)(this,(function(u){switch(u.label){case 0:return t=e.send,a={action:"announce"},[4,we(n)];case 1:return[2,t.apply(e,[V.apply(void 0,[A.default.apply(void 0,[(a.info_hash=u.sent(),a.peer_id=R,a),r])])])]}}))}));return function(n,r,t){return e.apply(this,arguments)}}(),ke=function(e,n,r){return console.warn("".concat(j,": torrent tracker ").concat(r?"failure":"warning"," from ").concat(e," - ").concat(n))},Pe=function(e){var n,r,t,a=e.init,m=e.subscribe,g=e.announce,b={},w=!1;return function(e,_,k){var P,C,U=e.appId;if(null===(C=b[U])||void 0===C?void 0:C[_])return b[U][_];var H={},G={},W=Q(j,U,_),X=ee(W),Z=ee(Q(W,R)),te=function(){var e=(0,T.default)((function(e,n,r){var t,a,u;return(0,I.__generator)(this,(function(o){switch(o.label){case 0:return a=(t=crypto.subtle).importKey,u=["raw"],[4,crypto.subtle.digest({name:"SHA-256"},z("".concat(e,":").concat(n,":").concat(r)))];case 1:return[2,a.apply(t,u.concat([o.sent(),{name:Y},!1,["encrypt","decrypt"]]))]}}))}));return function(n,r,t){return e.apply(this,arguments)}}()(e.password||"",U,_),ae=function(e){return function(){var n=(0,T.default)((function(n){var r;return(0,I.__generator)(this,(function(t){switch(t.label){case 0:return r={type:n.type},[4,e(te,n.sdp)];case 1:return[2,(r.sdp=t.sent(),r)]}}))}));return function(e){return n.apply(this,arguments)}}()},oe=ae(re),de=ae(ne),pe=function(){return ue(!0,e)},ve=function(e,n,r){var t;G[n]?G[n]!==e&&e.destroy():(G[n]=e,Pe(e,n),null===(t=H[n])||void 0===t||t.forEach((function(e,n){n!==r&&e.destroy()})),delete H[n])},ye=function(e,n){G[n]===e&&delete G[n]},he=function(e){return(P=r).push.apply(P,(0,D.default)(O(e,pe))),J(r.splice(0,e).map((function(e){return e.offerPromise.then(de).then((function(n){return{peer:e,offer:n}}))})))},me=function(n,r){return null==k?void 0:k({error:"incorrect password (".concat(e.password,") when decrypting ").concat(r),appId:U,peerId:n,roomId:_})},ge=function(n){return function(){var r=(0,T.default)((function(r,t,a){var c,i,s,l,f,d,p,v,y,h,m,g,b,w,_,k,P,T,A,S,D,L,C,U,j,O;return(0,I.__generator)(this,(function(I){switch(I.label){case 0:return[4,J([X,Z])];case 1:if(c=E.default.apply(void 0,[I.sent(),2]),i=c[0],s=c[1],r!==i&&r!==s)return[2];if(l="string"==typeof t?$(t):t,f=l.peerId,d=l.offer,p=l.answer,v=l.peer,f===R||G[f])return[3,16];if(f&&!d&&!p)return[3,14];if(!d)return[3,8];if((null===(y=H[f])||void 0===y?void 0:y[n])&&R>f)return[2];(h=ue(!1,e)).setHandlers({connect:function(){return ve(h,f,n)},close:function(){return ye(h,f)}}),I.label=2;case 2:return I.trys.push([2,4,,5]),[4,oe(d)];case 3:return m=I.sent(),[3,5];case 4:return I.sent(),[2,void me(f,"offer")];case 5:return h.isDead?[2]:[4,J([ee(Q(W,f)),h.signal(m)])];case 6:return g=E.default.apply(void 0,[I.sent(),2]),b=g[0],w=g[1],_=[b],k={peerId:R},[4,de(w)];case 7:return a.apply(void 0,_.concat([V.apply(void 0,[(k.answer=I.sent(),k)])])),[3,13];case 8:if(!p)return[3,13];I.label=9;case 9:return I.trys.push([9,11,,12]),[4,oe(p)];case 10:return P=I.sent(),[3,12];case 11:return I.sent(),[2,void me(f,"answer")];case 12:v?(v.setHandlers({connect:function(){return ve(v,f,n)},close:function(){return ye(v,f)}}),v.signal(P)):(A=null===(T=H[f])||void 0===T?void 0:T[n])&&!A.isDead&&A.signal(P),I.label=13;case 13:return[3,16];case 14:return(null===(S=H[f])||void 0===S?void 0:S[n])?[2]:[4,J([he(1),ee(Q(W,f))])];case 15:D=E.default.apply(void 0,[I.sent(),2]),L=(0,E.default)(D[0],1),C=L[0],U=C.peer,j=C.offer,O=D[1],(u=H)[o=f]||(u[o]=[]),H[f][n]=U,setTimeout((function(){return function(e,n){var r;if(!G[e]){var t=null===(r=H[e])||void 0===r?void 0:r[n];t&&(delete H[e][n],t.destroy())}}(f,n)}),.9*we[n]),U.setHandlers({connect:function(){return ve(U,f,n)},close:function(){return ye(U,f)}}),a(O,V({peerId:R,offer:j})),I.label=16;case 16:return[2]}}))}));return function(e,n,t){return r.apply(this,arguments)}}()};if(!e)throw F("requires a config map as the first argument");if(!U&&!e.firebaseApp)throw F("config map is missing appId field");if(!_)throw F("roomId argument required");if(!w){var be=a(e);r=O(20,pe),n=Array.isArray(be)?be:[be],w=!0,t=setInterval((function(){return r=r.filter((function(e){var n=Date.now()-e.created<57333;return n||e.destroy(),n}))}),59052.99)}var we=n.map((function(){return 5333})),_e=[],ke=n.map(function(){var e=(0,T.default)((function(e,n){var r;return(0,I.__generator)(this,(function(t){switch(t.label){case 0:return[4,e];case 1:return r=[t.sent()],[4,X];case 2:return r=r.concat(t.sent()),[4,Z];case 3:return[2,m.apply(void 0,r.concat([t.sent(),ge(n),he]))]}}))}));return function(n,r){return e.apply(this,arguments)}}());J([X,Z]).then((function(e){var r=(0,E.default)(e,2),t=r[0],a=r[1],u=function(){var e=(0,T.default)((function(e,n){var r;return(0,I.__generator)(this,(function(o){switch(o.label){case 0:return[4,g(e,t,a)];case 1:return"number"==typeof(r=o.sent())&&(we[n]=r),_e[n]=setTimeout((function(){return u(e,n)}),we[n]),[2]}}))}));return function(n,r){return e.apply(this,arguments)}}();ke.forEach(function(){var e=(0,T.default)((function(e,r){return(0,I.__generator)(this,(function(t){switch(t.label){case 0:return[4,e];case 1:return t.sent(),[4,n[r]];case 2:return u.apply(void 0,[t.sent(),r]),[2]}}))}));return function(n,r){return e.apply(this,arguments)}}())}));var Pe=N;return(c=b)[i=U]||(c[i]={}),b[U][_]=function(e,n,r){var t={},a={},u={},o={},c={},i={},m={},g={onPeerJoin:N,onPeerLeave:N,onPeerStream:N,onPeerTrack:N},b=function(e,n){return(e?Array.isArray(e)?e:[e]:B(t)).flatMap((function(e){var r=t[e];return r?n(e,r):(console.warn("".concat(j,": no peer with id ").concat(e," found")),[])}))},w=function(e){t[e]&&(delete t[e],delete o[e],delete c[e],g.onPeerLeave(e),n(e))},_=function(e){if(a[e])return u[e];if(!e)throw F("action type argument is required");var n=z(e);if(n.byteLength>12)throw F('action type string "'.concat(e,'" (').concat(n.byteLength,"b) exceeds byte limit (12). Hint: choose a shorter name."));var r=new Uint8Array(12);r.set(n);var o=0;return a[e]={onComplete:N,onProgress:N,setOnComplete:function(n){return a[e]=(0,S.default)((0,A.default)({},a[e]),{onComplete:n})},setOnProgress:function(n){return a[e]=(0,S.default)((0,A.default)({},a[e]),{onProgress:n})},send:function(e,n,a,u){return(0,T.default)((function(){var c,i,s,l,f,d,p,v,y,h,m;return(0,I.__generator)(this,(function(g){switch(g.label){case 0:if(a&&"object"!=typeof a)throw F("action meta argument must be an object");if("undefined"===(c=void 0===e?"undefined":(0,L.default)(e)))throw F("action data cannot be undefined");if(i="string"!==c,s=e instanceof Blob,l=s||e instanceof ArrayBuffer||e instanceof ce,a&&!l)throw F("action meta argument can only be used with binary data");return l?(h=Uint8Array.bind,s?[4,e.arrayBuffer()]:[3,2]):[3,4];case 1:return m=g.sent(),[3,3];case 2:m=e,g.label=3;case 3:return y=new(h.apply(Uint8Array,[void 0,m])),[3,5];case 4:y=z(i?V(e):e),g.label=5;case 5:return f=y,d=a?z(V(a)):null,p=Math.ceil(f.byteLength/ie)+(a?1:0)||1,v=O(p,(function(e,n){var t=n===p-1,u=a&&0===n,c=new Uint8Array(15+(u?d.byteLength:t?f.byteLength-ie*(p-(a?2:1)):ie));return c.set(r),c.set([o],12),c.set([t|u<<1|l<<2|i<<3],13),c.set([Math.round((n+1)/p*se)],14),c.set(a?u?d:f.subarray((n-1)*ie,n*ie):f.subarray(n*ie,(n+1)*ie),15),c})),[2,(o=o+1&se,J(b(n,function(){var e=(0,T.default)((function(e,n){var r,o,c;return(0,I.__generator)(this,(function(i){switch(i.label){case 0:r=n.channel,o=0,i.label=1;case 1:return o<p?(c=v[o],r.bufferedAmount>r.bufferedAmountLowThreshold?[4,new Promise((function(e){var n=function(){r.removeEventListener(le,n),e()};r.addEventListener(le,n)}))]:[3,3]):[3,5];case 2:i.sent(),i.label=3;case 3:if(!t[e])return[3,5];n.sendData(c),o++,null==u||u(c[14]/se,e,a),i.label=4;case 4:return[3,1];case 5:return[2]}}))}));return function(n,r){return e.apply(this,arguments)}}())))]}}))}))()}},(s=u)[l=e]||(s[l]=[a[e].send,a[e].setOnComplete,a[e].setOnProgress])},k=function(e,n){var r=new Uint8Array(n),t=K(r.subarray(0,12)).replaceAll("\0",""),u=(0,E.default)(r.subarray(12,13),1)[0],c=(0,E.default)(r.subarray(13,14),1)[0],i=(0,E.default)(r.subarray(14,15),1)[0],s=r.subarray(15),l=!!(1&c),m=!!(2&c),g=!!(4&c),b=!!(8&c);if(a[t]){(f=o)[d=e]||(f[d]={}),(p=o[e])[v=t]||(p[v]={});var w=(y=o[e][t])[h=u]||(y[h]={chunks:[]});if(m?w.meta=$(K(s)):w.chunks.push(s),a[t].onProgress(i/se,e,w.meta),l){var _=new Uint8Array(w.chunks.reduce((function(e,n){return e+n.byteLength}),0));if(w.chunks.reduce((function(e,n){return _.set(n,e),e+n.byteLength}),0),delete o[e][t][u],g)a[t].onComplete(_,e,w.meta);else{var k=K(_);a[t].onComplete(b?$(k):k,e)}}}else console.warn("".concat(j,": received message with unregistered type (").concat(t,")"))},P=function(){var e=(0,T.default)((function(){return(0,I.__generator)(this,(function(e){switch(e.label){case 0:return[4,ue("")];case 1:return e.sent(),[4,new Promise((function(e){return setTimeout(e,99)}))];case 2:return e.sent(),x(t).forEach((function(e){var n=(0,E.default)(e,2),r=n[0];n[1].destroy(),delete t[r]})),r(),[2]}}))}));return function(){return e.apply(this,arguments)}}(),D=(0,E.default)(_(fe("ping")),2),C=D[0],U=D[1],H=(0,E.default)(_(fe("pong")),2),R=H[0],G=H[1],W=(0,E.default)(_(fe("signal")),2),Q=W[0],X=W[1],Y=(0,E.default)(_(fe("stream")),2),Z=Y[0],ee=Y[1],ne=(0,E.default)(_(fe("track")),2),re=ne[0],te=ne[1],ae=(0,E.default)(_(fe("leave")),2),ue=ae[0],oe=ae[1];return Pe=function(e,n){var r;t[n]||(t[n]=e,e.setHandlers({data:function(e){return k(n,e)},stream:function(e){g.onPeerStream(e,n,i[n]),delete i[n]},track:function(e,r){g.onPeerTrack(e,r,n,m[n]),delete m[n]},signal:function(e){return Q(e,n)},close:function(){return w(n)},error:function(e){console.error(e),w(n)}}),g.onPeerJoin(n),null===(r=e.drainEarlyData)||void 0===r||r.call(e,(function(e){return k(n,e)})))},U((function(e,n){return R("",n)})),G((function(e,n){var r;null===(r=c[n])||void 0===r||r.call(c),delete c[n]})),X((function(e,n){var r;return null===(r=t[n])||void 0===r?void 0:r.signal(e)})),ee((function(e,n){return i[n]=e})),te((function(e,n){return m[n]=e})),oe((function(e,n){return w(n)})),M&&addEventListener("beforeunload",P),{makeAction:_,leave:P,ping:function(e){return(0,T.default)((function(){var n;return(0,I.__generator)(this,(function(r){switch(r.label){case 0:if(!e)throw F("ping() must be called with target peer ID");return n=Date.now(),C("",e),[4,new Promise((function(n){return c[e]=n}))];case 1:return[2,(r.sent(),Date.now()-n)]}}))}))()},getPeers:function(){return q(x(t).map((function(e){var n=(0,E.default)(e,2);return[n[0],n[1].connection]})))},addStream:function(e,n,r){return b(n,function(){var n=(0,T.default)((function(n,t){return(0,I.__generator)(this,(function(a){switch(a.label){case 0:return r?[4,Z(r,n)]:[3,2];case 1:a.sent(),a.label=2;case 2:return t.addStream(e),[2]}}))}));return function(e,r){return n.apply(this,arguments)}}())},removeStream:function(e,n){return b(n,(function(n,r){return r.removeStream(e)}))},addTrack:function(e,n,r,t){return b(r,function(){var r=(0,T.default)((function(r,a){return(0,I.__generator)(this,(function(u){switch(u.label){case 0:return t?[4,re(t,r)]:[3,2];case 1:u.sent(),u.label=2;case 2:return a.addTrack(e,n),[2]}}))}));return function(e,n){return r.apply(this,arguments)}}())},removeTrack:function(e,n){return b(n,(function(n,r){return r.removeTrack(e)}))},replaceTrack:function(e,n,r,t){return b(r,function(){var r=(0,T.default)((function(r,a){return(0,I.__generator)(this,(function(u){switch(u.label){case 0:return t?[4,re(t,r)]:[3,2];case 1:u.sent(),u.label=2;case 2:return a.replaceTrack(e,n),[2]}}))}));return function(e,n){return r.apply(this,arguments)}}())},onPeerJoin:function(e){return g.onPeerJoin=e},onPeerLeave:function(e){return g.onPeerLeave=e},onPeerStream:function(e){return g.onPeerStream=e},onPeerTrack:function(e){return g.onPeerTrack=e}}}(0,(function(e){return delete G[e]}),(function(){delete b[U][_],_e.forEach(clearTimeout),ke.forEach(function(){var e=(0,T.default)((function(e){return(0,I.__generator)(this,(function(n){switch(n.label){case 0:return[4,e];case 1:return[2,n.sent()()]}}))}));return function(n){return e.apply(this,arguments)}}()),clearInterval(t)}))}}({init:function(e){return function(e,n,r){return(e.relayUrls||n).slice(0,e.relayUrls?e.relayUrls.length:e.relayRedundancy||3)}(e,Te).map((function(e){var n=function(e,n){var r={},t=function(){var a=new WebSocket(e);a.onclose=function(){var n;null!==(n=(m=X)[g=e])&&void 0!==n||(m[g]=3333),setTimeout(t,X[e]),X[e]*=2},a.onmessage=function(e){return n(e.data)},r.socket=a,r.url=a.url,r.ready=new Promise((function(n){return a.onopen=function(){n(r),X[e]=3333}})),r.send=function(e){1===a.readyState&&a.send(e)}};return t(),r}(e,(function(e){var n=$(e),t=n["failure reason"],a=n["warning message"],u=n.interval,o=ve[n.info_hash];if(t)ke(r,t,!0);else{var c,i;if(a&&ke(r,a),u&&1e3*u>me[r]&&he[r][o]){var s=Math.min(1e3*u,120333);clearInterval(ye[r][o]),me[r]=s,ye[r][o]=setInterval(he[r][o],s)}ge[n.offer_id]||(n.offer||n.answer)&&(ge[n.offer_id]=!0,null===(i=(c=be[r])[o])||void 0===i||i.call(c,n))}})),r=n.url;return de[r]=n,be[r]={},n.ready}))},subscribe:function(e,n,r,t,a){var u=e.url,o=function(){var r=(0,T.default)((function(){var r;return(0,I.__generator)(this,(function(u){switch(u.label){case 0:return[4,a(10)];case 1:return r=q.apply(void 0,[u.sent().map((function(e){return[H(20),e]}))]),be[e.url][n]=function(a){if(a.offer)t(n,{offer:a.offer,peerId:a.peer_id},(function(r,t){return _e(e,n,{answer:$(t).answer,offer_id:a.offer_id,to_peer_id:a.peer_id})}));else if(a.answer){var u=r[a.offer_id];u&&t(n,{answer:a.answer,peerId:a.peer_id,peer:u.peer})}},_e(e,n,{numwant:10,offers:x(r).map((function(e){var n=(0,E.default)(e,2);return{offer_id:n[0],offer:n[1].offer}}))}),[2]}}))}));return function(){return r.apply(this,arguments)}}();return me[u]=33333,(b=he)[w=u]||(b[w]={}),he[u][n]=o,(_=ye)[k=u]||(_[k]={}),ye[u][n]=setInterval(o,me[u]),o(),function(){clearInterval(ye[u][n]),delete be[u][n],delete he[u][n]}},announce:function(e){return me[e.url]}}),Te=(de,["tracker.webtorrent.dev","tracker.openwebtorrent.com","tracker.btorrent.xyz","tracker.files.fm:7073/announce"].map((function(e){return"wss://"+e})))}))}();