meshcore-hashtag-cracker 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* MeshCore Hashtag Room Cracker v1.
|
|
2
|
+
* MeshCore Hashtag Room Cracker v1.2.0
|
|
3
3
|
* https://github.com/jkingsman/meshcore-hashtag-cracker
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2026 Jack Kingsman
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
*
|
|
13
13
|
* See LICENSE.md for full license texts.
|
|
14
14
|
*/
|
|
15
|
-
"use strict";var MeshCoreCracker=(()=>{var Ua=Object.create;var q0=Object.defineProperty;var Oa=Object.getOwnPropertyDescriptor;var Va=Object.getOwnPropertyNames;var Na=Object.getPrototypeOf,Ma=Object.prototype.hasOwnProperty;var Ia=(t,e,r)=>e in t?q0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var U0=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var za=(t,e)=>()=>(t&&(e=t(t=0)),e);var I=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Bn=(t,e)=>{for(var r in e)q0(t,r,{get:e[r],enumerable:!0})},bn=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Va(e))!Ma.call(t,a)&&a!==r&&q0(t,a,{get:()=>e[a],enumerable:!(n=Oa(e,a))||n.enumerable});return t};var at=(t,e,r)=>(r=t!=null?Ua(Na(t)):{},bn(e||!t||!t.__esModule?q0(r,"default",{value:t,enumerable:!0}):r,t)),Cn=t=>bn(q0({},"__esModule",{value:!0}),t);var Se=(t,e,r)=>Ia(t,typeof e!="symbol"?e+"":e,r);var de=I(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.RequestType=oe.AdvertFlags=oe.DeviceRole=oe.PayloadVersion=oe.ControlSubType=oe.PayloadType=oe.RouteType=void 0;var An;(function(t){t[t.TransportFlood=0]="TransportFlood",t[t.Flood=1]="Flood",t[t.Direct=2]="Direct",t[t.TransportDirect=3]="TransportDirect"})(An||(oe.RouteType=An={}));var _n;(function(t){t[t.Request=0]="Request",t[t.Response=1]="Response",t[t.TextMessage=2]="TextMessage",t[t.Ack=3]="Ack",t[t.Advert=4]="Advert",t[t.GroupText=5]="GroupText",t[t.GroupData=6]="GroupData",t[t.AnonRequest=7]="AnonRequest",t[t.Path=8]="Path",t[t.Trace=9]="Trace",t[t.Multipart=10]="Multipart",t[t.Control=11]="Control",t[t.RawCustom=15]="RawCustom"})(_n||(oe.PayloadType=_n={}));var En;(function(t){t[t.NodeDiscoverReq=128]="NodeDiscoverReq",t[t.NodeDiscoverResp=144]="NodeDiscoverResp"})(En||(oe.ControlSubType=En={}));var Dn;(function(t){t[t.Version1=0]="Version1",t[t.Version2=1]="Version2",t[t.Version3=2]="Version3",t[t.Version4=3]="Version4"})(Dn||(oe.PayloadVersion=Dn={}));var Fn;(function(t){t[t.Unknown=0]="Unknown",t[t.ChatNode=1]="ChatNode",t[t.Repeater=2]="Repeater",t[t.RoomServer=3]="RoomServer",t[t.Sensor=4]="Sensor"})(Fn||(oe.DeviceRole=Fn={}));var wn;(function(t){t[t.HasLocation=16]="HasLocation",t[t.HasFeature1=32]="HasFeature1",t[t.HasFeature2=64]="HasFeature2",t[t.HasName=128]="HasName"})(wn||(oe.AdvertFlags=wn={}));var Sn;(function(t){t[t.GetStats=1]="GetStats",t[t.Keepalive=2]="Keepalive",t[t.GetTelemetryData=3]="GetTelemetryData",t[t.GetMinMaxAvgData=4]="GetMinMaxAvgData",t[t.GetAccessList=5]="GetAccessList"})(Sn||(oe.RequestType=Sn={}))});var ae=I(f0=>{"use strict";Object.defineProperty(f0,"__esModule",{value:!0});f0.byteToHex=Tn;f0.bytesToHex=La;f0.numberToHex=Ka;f0.hexToBytes=Ga;function Tn(t){return t.toString(16).padStart(2,"0").toUpperCase()}function La(t){return Array.from(t).map(Tn).join("")}function Ka(t,e=8){return(t>>>0).toString(16).padStart(e,"0").toUpperCase()}function Ga(t){let e=t.replace(/\s/g,"").toUpperCase();if(!/^[0-9A-F]*$/.test(e))throw new Error("Invalid hex string: invalid characters at position 0");if(e.length%2!==0)throw new Error("Invalid hex string: odd length");let r=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)r[n/2]=parseInt(e.substr(n,2),16);return r}});var d0=I(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.getRouteTypeName=ja;Ve.getPayloadTypeName=Wa;Ve.getPayloadVersionName=$a;Ve.getDeviceRoleName=Xa;Ve.getRequestTypeName=Za;Ve.getControlSubTypeName=Ya;var Z=de();function ja(t){switch(t){case Z.RouteType.Flood:return"Flood";case Z.RouteType.Direct:return"Direct";case Z.RouteType.TransportFlood:return"TransportFlood";case Z.RouteType.TransportDirect:return"TransportDirect";default:return`Unknown (${t})`}}function Wa(t){switch(t){case Z.PayloadType.RawCustom:return"RawCustom";case Z.PayloadType.Trace:return"Trace";case Z.PayloadType.Advert:return"Advert";case Z.PayloadType.GroupText:return"GroupText";case Z.PayloadType.GroupData:return"GroupData";case Z.PayloadType.Request:return"Request";case Z.PayloadType.Response:return"Response";case Z.PayloadType.TextMessage:return"TextMessage";case Z.PayloadType.AnonRequest:return"AnonRequest";case Z.PayloadType.Ack:return"Ack";case Z.PayloadType.Path:return"Path";case Z.PayloadType.Multipart:return"Multipart";case Z.PayloadType.Control:return"Control";default:return`Unknown (0x${t.toString(16)})`}}function $a(t){switch(t){case Z.PayloadVersion.Version1:return"Version 1";case Z.PayloadVersion.Version2:return"Version 2";case Z.PayloadVersion.Version3:return"Version 3";case Z.PayloadVersion.Version4:return"Version 4";default:return`Unknown (${t})`}}function Xa(t){switch(t){case Z.DeviceRole.Unknown:return"Unknown";case Z.DeviceRole.ChatNode:return"Chat Node";case Z.DeviceRole.Repeater:return"Repeater";case Z.DeviceRole.RoomServer:return"Room Server";case Z.DeviceRole.Sensor:return"Sensor";default:return`Unknown (${t})`}}function Za(t){switch(t){case Z.RequestType.GetStats:return"Get Stats";case Z.RequestType.Keepalive:return"Keepalive (deprecated)";case Z.RequestType.GetTelemetryData:return"Get Telemetry Data";case Z.RequestType.GetMinMaxAvgData:return"Get Min/Max/Avg Data";case Z.RequestType.GetAccessList:return"Get Access List";default:return`Unknown (${t})`}}function Ya(t){switch(t){case Z.ControlSubType.NodeDiscoverReq:return"Node Discover Request";case Z.ControlSubType.NodeDiscoverResp:return"Node Discover Response";default:return`Unknown (0x${t.toString(16)})`}}});var it=I(()=>{});var j=I((ot,Pn)=>{(function(t,e){typeof ot=="object"?Pn.exports=ot=e():typeof define=="function"&&define.amd?define([],e):t.CryptoJS=e()})(ot,function(){var t=t||(function(e,r){var n;if(typeof window<"u"&&window.crypto&&(n=window.crypto),typeof self<"u"&&self.crypto&&(n=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<"u"&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<"u"&&global.crypto&&(n=global.crypto),!n&&typeof U0=="function")try{n=it()}catch{}var a=function(){if(n){if(typeof n.getRandomValues=="function")try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes=="function")try{return n.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},s=Object.create||(function(){function l(){}return function(h){var b;return l.prototype=h,b=new l,l.prototype=null,b}})(),x={},i=x.lib={},c=i.Base=(function(){return{extend:function(l){var h=s(this);return l&&h.mixIn(l),(!h.hasOwnProperty("init")||this.init===h.init)&&(h.init=function(){h.$super.init.apply(this,arguments)}),h.init.prototype=h,h.$super=this,h},create:function(){var l=this.extend();return l.init.apply(l,arguments),l},init:function(){},mixIn:function(l){for(var h in l)l.hasOwnProperty(h)&&(this[h]=l[h]);l.hasOwnProperty("toString")&&(this.toString=l.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),d=i.WordArray=c.extend({init:function(l,h){l=this.words=l||[],h!=r?this.sigBytes=h:this.sigBytes=l.length*4},toString:function(l){return(l||f).stringify(this)},concat:function(l){var h=this.words,b=l.words,B=this.sigBytes,C=l.sigBytes;if(this.clamp(),B%4)for(var v=0;v<C;v++){var S=b[v>>>2]>>>24-v%4*8&255;h[B+v>>>2]|=S<<24-(B+v)%4*8}else for(var T=0;T<C;T+=4)h[B+T>>>2]=b[T>>>2];return this.sigBytes+=C,this},clamp:function(){var l=this.words,h=this.sigBytes;l[h>>>2]&=4294967295<<32-h%4*8,l.length=e.ceil(h/4)},clone:function(){var l=c.clone.call(this);return l.words=this.words.slice(0),l},random:function(l){for(var h=[],b=0;b<l;b+=4)h.push(a());return new d.init(h,l)}}),o=x.enc={},f=o.Hex={stringify:function(l){for(var h=l.words,b=l.sigBytes,B=[],C=0;C<b;C++){var v=h[C>>>2]>>>24-C%4*8&255;B.push((v>>>4).toString(16)),B.push((v&15).toString(16))}return B.join("")},parse:function(l){for(var h=l.length,b=[],B=0;B<h;B+=2)b[B>>>3]|=parseInt(l.substr(B,2),16)<<24-B%8*4;return new d.init(b,h/2)}},u=o.Latin1={stringify:function(l){for(var h=l.words,b=l.sigBytes,B=[],C=0;C<b;C++){var v=h[C>>>2]>>>24-C%4*8&255;B.push(String.fromCharCode(v))}return B.join("")},parse:function(l){for(var h=l.length,b=[],B=0;B<h;B++)b[B>>>2]|=(l.charCodeAt(B)&255)<<24-B%4*8;return new d.init(b,h)}},p=o.Utf8={stringify:function(l){try{return decodeURIComponent(escape(u.stringify(l)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(l){return u.parse(unescape(encodeURIComponent(l)))}},y=i.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(l){typeof l=="string"&&(l=p.parse(l)),this._data.concat(l),this._nDataBytes+=l.sigBytes},_process:function(l){var h,b=this._data,B=b.words,C=b.sigBytes,v=this.blockSize,S=v*4,T=C/S;l?T=e.ceil(T):T=e.max((T|0)-this._minBufferSize,0);var R=T*v,q=e.min(R*4,C);if(R){for(var _=0;_<R;_+=v)this._doProcessBlock(B,_);h=B.splice(0,R),b.sigBytes-=q}return new d.init(h,q)},clone:function(){var l=c.clone.call(this);return l._data=this._data.clone(),l},_minBufferSize:0}),g=i.Hasher=y.extend({cfg:c.extend(),init:function(l){this.cfg=this.cfg.extend(l),this.reset()},reset:function(){y.reset.call(this),this._doReset()},update:function(l){return this._append(l),this._process(),this},finalize:function(l){l&&this._append(l);var h=this._doFinalize();return h},blockSize:512/32,_createHelper:function(l){return function(h,b){return new l.init(b).finalize(h)}},_createHmacHelper:function(l){return function(h,b){return new m.HMAC.init(l,b).finalize(h)}}}),m=x.algo={};return x})(Math);return t})});var O0=I((ct,kn)=>{(function(t,e){typeof ct=="object"?kn.exports=ct=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ct,function(t){return(function(e){var r=t,n=r.lib,a=n.Base,s=n.WordArray,x=r.x64={},i=x.Word=a.extend({init:function(d,o){this.high=d,this.low=o}}),c=x.WordArray=a.extend({init:function(d,o){d=this.words=d||[],o!=e?this.sigBytes=o:this.sigBytes=d.length*8},toX32:function(){for(var d=this.words,o=d.length,f=[],u=0;u<o;u++){var p=d[u];f.push(p.high),f.push(p.low)}return s.create(f,this.sigBytes)},clone:function(){for(var d=a.clone.call(this),o=d.words=this.words.slice(0),f=o.length,u=0;u<f;u++)o[u]=o[u].clone();return d}})})(),t})});var Rn=I((xt,Hn)=>{(function(t,e){typeof xt=="object"?Hn.exports=xt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(xt,function(t){return(function(){if(typeof ArrayBuffer=="function"){var e=t,r=e.lib,n=r.WordArray,a=n.init,s=n.init=function(x){if(x instanceof ArrayBuffer&&(x=new Uint8Array(x)),(x instanceof Int8Array||typeof Uint8ClampedArray<"u"&&x instanceof Uint8ClampedArray||x instanceof Int16Array||x instanceof Uint16Array||x instanceof Int32Array||x instanceof Uint32Array||x instanceof Float32Array||x instanceof Float64Array)&&(x=new Uint8Array(x.buffer,x.byteOffset,x.byteLength)),x instanceof Uint8Array){for(var i=x.byteLength,c=[],d=0;d<i;d++)c[d>>>2]|=x[d]<<24-d%4*8;a.call(this,c,i)}else a.apply(this,arguments)};s.prototype=n}})(),t.lib.WordArray})});var Un=I((ut,qn)=>{(function(t,e){typeof ut=="object"?qn.exports=ut=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ut,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=e.enc,s=a.Utf16=a.Utf16BE={stringify:function(i){for(var c=i.words,d=i.sigBytes,o=[],f=0;f<d;f+=2){var u=c[f>>>2]>>>16-f%4*8&65535;o.push(String.fromCharCode(u))}return o.join("")},parse:function(i){for(var c=i.length,d=[],o=0;o<c;o++)d[o>>>1]|=i.charCodeAt(o)<<16-o%2*16;return n.create(d,c*2)}};a.Utf16LE={stringify:function(i){for(var c=i.words,d=i.sigBytes,o=[],f=0;f<d;f+=2){var u=x(c[f>>>2]>>>16-f%4*8&65535);o.push(String.fromCharCode(u))}return o.join("")},parse:function(i){for(var c=i.length,d=[],o=0;o<c;o++)d[o>>>1]|=x(i.charCodeAt(o)<<16-o%2*16);return n.create(d,c*2)}};function x(i){return i<<8&4278255360|i>>>8&16711935}})(),t.enc.Utf16})});var Ne=I((ft,On)=>{(function(t,e){typeof ft=="object"?On.exports=ft=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ft,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=e.enc,s=a.Base64={stringify:function(i){var c=i.words,d=i.sigBytes,o=this._map;i.clamp();for(var f=[],u=0;u<d;u+=3)for(var p=c[u>>>2]>>>24-u%4*8&255,y=c[u+1>>>2]>>>24-(u+1)%4*8&255,g=c[u+2>>>2]>>>24-(u+2)%4*8&255,m=p<<16|y<<8|g,l=0;l<4&&u+l*.75<d;l++)f.push(o.charAt(m>>>6*(3-l)&63));var h=o.charAt(64);if(h)for(;f.length%4;)f.push(h);return f.join("")},parse:function(i){var c=i.length,d=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var f=0;f<d.length;f++)o[d.charCodeAt(f)]=f}var u=d.charAt(64);if(u){var p=i.indexOf(u);p!==-1&&(c=p)}return x(i,c,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function x(i,c,d){for(var o=[],f=0,u=0;u<c;u++)if(u%4){var p=d[i.charCodeAt(u-1)]<<u%4*2,y=d[i.charCodeAt(u)]>>>6-u%4*2,g=p|y;o[f>>>2]|=g<<24-f%4*8,f++}return n.create(o,f)}})(),t.enc.Base64})});var Nn=I((dt,Vn)=>{(function(t,e){typeof dt=="object"?Vn.exports=dt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(dt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=e.enc,s=a.Base64url={stringify:function(i,c){c===void 0&&(c=!0);var d=i.words,o=i.sigBytes,f=c?this._safe_map:this._map;i.clamp();for(var u=[],p=0;p<o;p+=3)for(var y=d[p>>>2]>>>24-p%4*8&255,g=d[p+1>>>2]>>>24-(p+1)%4*8&255,m=d[p+2>>>2]>>>24-(p+2)%4*8&255,l=y<<16|g<<8|m,h=0;h<4&&p+h*.75<o;h++)u.push(f.charAt(l>>>6*(3-h)&63));var b=f.charAt(64);if(b)for(;u.length%4;)u.push(b);return u.join("")},parse:function(i,c){c===void 0&&(c=!0);var d=i.length,o=c?this._safe_map:this._map,f=this._reverseMap;if(!f){f=this._reverseMap=[];for(var u=0;u<o.length;u++)f[o.charCodeAt(u)]=u}var p=o.charAt(64);if(p){var y=i.indexOf(p);y!==-1&&(d=y)}return x(i,d,f)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function x(i,c,d){for(var o=[],f=0,u=0;u<c;u++)if(u%4){var p=d[i.charCodeAt(u-1)]<<u%4*2,y=d[i.charCodeAt(u)]>>>6-u%4*2,g=p|y;o[f>>>2]|=g<<24-f%4*8,f++}return n.create(o,f)}})(),t.enc.Base64url})});var Me=I((lt,Mn)=>{(function(t,e){typeof lt=="object"?Mn.exports=lt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(lt,function(t){return(function(e){var r=t,n=r.lib,a=n.WordArray,s=n.Hasher,x=r.algo,i=[];(function(){for(var p=0;p<64;p++)i[p]=e.abs(e.sin(p+1))*4294967296|0})();var c=x.MD5=s.extend({_doReset:function(){this._hash=new a.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,y){for(var g=0;g<16;g++){var m=y+g,l=p[m];p[m]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360}var h=this._hash.words,b=p[y+0],B=p[y+1],C=p[y+2],v=p[y+3],S=p[y+4],T=p[y+5],R=p[y+6],q=p[y+7],_=p[y+8],A=p[y+9],H=p[y+10],w=p[y+11],z=p[y+12],O=p[y+13],L=p[y+14],K=p[y+15],D=h[0],P=h[1],k=h[2],F=h[3];D=d(D,P,k,F,b,7,i[0]),F=d(F,D,P,k,B,12,i[1]),k=d(k,F,D,P,C,17,i[2]),P=d(P,k,F,D,v,22,i[3]),D=d(D,P,k,F,S,7,i[4]),F=d(F,D,P,k,T,12,i[5]),k=d(k,F,D,P,R,17,i[6]),P=d(P,k,F,D,q,22,i[7]),D=d(D,P,k,F,_,7,i[8]),F=d(F,D,P,k,A,12,i[9]),k=d(k,F,D,P,H,17,i[10]),P=d(P,k,F,D,w,22,i[11]),D=d(D,P,k,F,z,7,i[12]),F=d(F,D,P,k,O,12,i[13]),k=d(k,F,D,P,L,17,i[14]),P=d(P,k,F,D,K,22,i[15]),D=o(D,P,k,F,B,5,i[16]),F=o(F,D,P,k,R,9,i[17]),k=o(k,F,D,P,w,14,i[18]),P=o(P,k,F,D,b,20,i[19]),D=o(D,P,k,F,T,5,i[20]),F=o(F,D,P,k,H,9,i[21]),k=o(k,F,D,P,K,14,i[22]),P=o(P,k,F,D,S,20,i[23]),D=o(D,P,k,F,A,5,i[24]),F=o(F,D,P,k,L,9,i[25]),k=o(k,F,D,P,v,14,i[26]),P=o(P,k,F,D,_,20,i[27]),D=o(D,P,k,F,O,5,i[28]),F=o(F,D,P,k,C,9,i[29]),k=o(k,F,D,P,q,14,i[30]),P=o(P,k,F,D,z,20,i[31]),D=f(D,P,k,F,T,4,i[32]),F=f(F,D,P,k,_,11,i[33]),k=f(k,F,D,P,w,16,i[34]),P=f(P,k,F,D,L,23,i[35]),D=f(D,P,k,F,B,4,i[36]),F=f(F,D,P,k,S,11,i[37]),k=f(k,F,D,P,q,16,i[38]),P=f(P,k,F,D,H,23,i[39]),D=f(D,P,k,F,O,4,i[40]),F=f(F,D,P,k,b,11,i[41]),k=f(k,F,D,P,v,16,i[42]),P=f(P,k,F,D,R,23,i[43]),D=f(D,P,k,F,A,4,i[44]),F=f(F,D,P,k,z,11,i[45]),k=f(k,F,D,P,K,16,i[46]),P=f(P,k,F,D,C,23,i[47]),D=u(D,P,k,F,b,6,i[48]),F=u(F,D,P,k,q,10,i[49]),k=u(k,F,D,P,L,15,i[50]),P=u(P,k,F,D,T,21,i[51]),D=u(D,P,k,F,z,6,i[52]),F=u(F,D,P,k,v,10,i[53]),k=u(k,F,D,P,H,15,i[54]),P=u(P,k,F,D,B,21,i[55]),D=u(D,P,k,F,_,6,i[56]),F=u(F,D,P,k,K,10,i[57]),k=u(k,F,D,P,R,15,i[58]),P=u(P,k,F,D,O,21,i[59]),D=u(D,P,k,F,S,6,i[60]),F=u(F,D,P,k,w,10,i[61]),k=u(k,F,D,P,C,15,i[62]),P=u(P,k,F,D,A,21,i[63]),h[0]=h[0]+D|0,h[1]=h[1]+P|0,h[2]=h[2]+k|0,h[3]=h[3]+F|0},_doFinalize:function(){var p=this._data,y=p.words,g=this._nDataBytes*8,m=p.sigBytes*8;y[m>>>5]|=128<<24-m%32;var l=e.floor(g/4294967296),h=g;y[(m+64>>>9<<4)+15]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,y[(m+64>>>9<<4)+14]=(h<<8|h>>>24)&16711935|(h<<24|h>>>8)&4278255360,p.sigBytes=(y.length+1)*4,this._process();for(var b=this._hash,B=b.words,C=0;C<4;C++){var v=B[C];B[C]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360}return b},clone:function(){var p=s.clone.call(this);return p._hash=this._hash.clone(),p}});function d(p,y,g,m,l,h,b){var B=p+(y&g|~y&m)+l+b;return(B<<h|B>>>32-h)+y}function o(p,y,g,m,l,h,b){var B=p+(y&m|g&~m)+l+b;return(B<<h|B>>>32-h)+y}function f(p,y,g,m,l,h,b){var B=p+(y^g^m)+l+b;return(B<<h|B>>>32-h)+y}function u(p,y,g,m,l,h,b){var B=p+(g^(y|~m))+l+b;return(B<<h|B>>>32-h)+y}r.MD5=s._createHelper(c),r.HmacMD5=s._createHmacHelper(c)})(Math),t.MD5})});var Pr=I((ht,In)=>{(function(t,e){typeof ht=="object"?In.exports=ht=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ht,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=r.Hasher,s=e.algo,x=[],i=s.SHA1=a.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(c,d){for(var o=this._hash.words,f=o[0],u=o[1],p=o[2],y=o[3],g=o[4],m=0;m<80;m++){if(m<16)x[m]=c[d+m]|0;else{var l=x[m-3]^x[m-8]^x[m-14]^x[m-16];x[m]=l<<1|l>>>31}var h=(f<<5|f>>>27)+g+x[m];m<20?h+=(u&p|~u&y)+1518500249:m<40?h+=(u^p^y)+1859775393:m<60?h+=(u&p|u&y|p&y)-1894007588:h+=(u^p^y)-899497514,g=y,y=p,p=u<<30|u>>>2,u=f,f=h}o[0]=o[0]+f|0,o[1]=o[1]+u|0,o[2]=o[2]+p|0,o[3]=o[3]+y|0,o[4]=o[4]+g|0},_doFinalize:function(){var c=this._data,d=c.words,o=this._nDataBytes*8,f=c.sigBytes*8;return d[f>>>5]|=128<<24-f%32,d[(f+64>>>9<<4)+14]=Math.floor(o/4294967296),d[(f+64>>>9<<4)+15]=o,c.sigBytes=d.length*4,this._process(),this._hash},clone:function(){var c=a.clone.call(this);return c._hash=this._hash.clone(),c}});e.SHA1=a._createHelper(i),e.HmacSHA1=a._createHmacHelper(i)})(),t.SHA1})});var l0=I((pt,zn)=>{(function(t,e){typeof pt=="object"?zn.exports=pt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(pt,function(t){return(function(e){var r=t,n=r.lib,a=n.WordArray,s=n.Hasher,x=r.algo,i=[],c=[];(function(){function f(g){for(var m=e.sqrt(g),l=2;l<=m;l++)if(!(g%l))return!1;return!0}function u(g){return(g-(g|0))*4294967296|0}for(var p=2,y=0;y<64;)f(p)&&(y<8&&(i[y]=u(e.pow(p,1/2))),c[y]=u(e.pow(p,1/3)),y++),p++})();var d=[],o=x.SHA256=s.extend({_doReset:function(){this._hash=new a.init(i.slice(0))},_doProcessBlock:function(f,u){for(var p=this._hash.words,y=p[0],g=p[1],m=p[2],l=p[3],h=p[4],b=p[5],B=p[6],C=p[7],v=0;v<64;v++){if(v<16)d[v]=f[u+v]|0;else{var S=d[v-15],T=(S<<25|S>>>7)^(S<<14|S>>>18)^S>>>3,R=d[v-2],q=(R<<15|R>>>17)^(R<<13|R>>>19)^R>>>10;d[v]=T+d[v-7]+q+d[v-16]}var _=h&b^~h&B,A=y&g^y&m^g&m,H=(y<<30|y>>>2)^(y<<19|y>>>13)^(y<<10|y>>>22),w=(h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25),z=C+w+_+c[v]+d[v],O=H+A;C=B,B=b,b=h,h=l+z|0,l=m,m=g,g=y,y=z+O|0}p[0]=p[0]+y|0,p[1]=p[1]+g|0,p[2]=p[2]+m|0,p[3]=p[3]+l|0,p[4]=p[4]+h|0,p[5]=p[5]+b|0,p[6]=p[6]+B|0,p[7]=p[7]+C|0},_doFinalize:function(){var f=this._data,u=f.words,p=this._nDataBytes*8,y=f.sigBytes*8;return u[y>>>5]|=128<<24-y%32,u[(y+64>>>9<<4)+14]=e.floor(p/4294967296),u[(y+64>>>9<<4)+15]=p,f.sigBytes=u.length*4,this._process(),this._hash},clone:function(){var f=s.clone.call(this);return f._hash=this._hash.clone(),f}});r.SHA256=s._createHelper(o),r.HmacSHA256=s._createHmacHelper(o)})(Math),t.SHA256})});var Kn=I((yt,Ln)=>{(function(t,e,r){typeof yt=="object"?Ln.exports=yt=e(j(),l0()):typeof define=="function"&&define.amd?define(["./core","./sha256"],e):e(t.CryptoJS)})(yt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=e.algo,s=a.SHA256,x=a.SHA224=s.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var i=s._doFinalize.call(this);return i.sigBytes-=4,i}});e.SHA224=s._createHelper(x),e.HmacSHA224=s._createHmacHelper(x)})(),t.SHA224})});var kr=I((vt,Gn)=>{(function(t,e,r){typeof vt=="object"?Gn.exports=vt=e(j(),O0()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(vt,function(t){return(function(){var e=t,r=e.lib,n=r.Hasher,a=e.x64,s=a.Word,x=a.WordArray,i=e.algo;function c(){return s.create.apply(s,arguments)}var d=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],o=[];(function(){for(var u=0;u<80;u++)o[u]=c()})();var f=i.SHA512=n.extend({_doReset:function(){this._hash=new x.init([new s.init(1779033703,4089235720),new s.init(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new s.init(528734635,4215389547),new s.init(1541459225,327033209)])},_doProcessBlock:function(u,p){for(var y=this._hash.words,g=y[0],m=y[1],l=y[2],h=y[3],b=y[4],B=y[5],C=y[6],v=y[7],S=g.high,T=g.low,R=m.high,q=m.low,_=l.high,A=l.low,H=h.high,w=h.low,z=b.high,O=b.low,L=B.high,K=B.low,D=C.high,P=C.low,k=v.high,F=v.low,X=S,J=T,ie=R,G=q,De=_,qe=A,T0=H,Ge=w,he=z,xe=O,c0=L,je=K,P0=D,Ue=P,x0=k,We=F,ue=0;ue<80;ue++){var fe,Be,u0=o[ue];if(ue<16)Be=u0.high=u[p+ue*2]|0,fe=u0.low=u[p+ue*2+1]|0;else{var j0=o[ue-15],Fe=j0.high,$e=j0.low,Er=(Fe>>>1|$e<<31)^(Fe>>>8|$e<<24)^Fe>>>7,W0=($e>>>1|Fe<<31)^($e>>>8|Fe<<24)^($e>>>7|Fe<<25),$0=o[ue-2],we=$0.high,Xe=$0.low,X0=(we>>>19|Xe<<13)^(we<<3|Xe>>>29)^we>>>6,Z0=(Xe>>>19|we<<13)^(Xe<<3|we>>>29)^(Xe>>>6|we<<26),Y0=o[ue-7],J0=Y0.high,Dr=Y0.low,Q0=o[ue-16],Fr=Q0.high,et=Q0.low;fe=W0+Dr,Be=Er+J0+(fe>>>0<W0>>>0?1:0),fe=fe+Z0,Be=Be+X0+(fe>>>0<Z0>>>0?1:0),fe=fe+et,Be=Be+Fr+(fe>>>0<et>>>0?1:0),u0.high=Be,u0.low=fe}var wr=he&c0^~he&P0,k0=xe&je^~xe&Ue,tt=X&ie^X&De^ie&De,rt=J&G^J&qe^G&qe,Sr=(X>>>28|J<<4)^(X<<30|J>>>2)^(X<<25|J>>>7),nt=(J>>>28|X<<4)^(J<<30|X>>>2)^(J<<25|X>>>7),Ze=(he>>>14|xe<<18)^(he>>>18|xe<<14)^(he<<23|xe>>>9),H0=(xe>>>14|he<<18)^(xe>>>18|he<<14)^(xe<<23|he>>>9),st=d[ue],E=st.high,U=st.low,N=We+H0,W=x0+Ze+(N>>>0<We>>>0?1:0),N=N+k0,W=W+wr+(N>>>0<k0>>>0?1:0),N=N+U,W=W+E+(N>>>0<U>>>0?1:0),N=N+fe,W=W+Be+(N>>>0<fe>>>0?1:0),Y=nt+rt,ee=Sr+tt+(Y>>>0<nt>>>0?1:0);x0=P0,We=Ue,P0=c0,Ue=je,c0=he,je=xe,xe=Ge+N|0,he=T0+W+(xe>>>0<Ge>>>0?1:0)|0,T0=De,Ge=qe,De=ie,qe=G,ie=X,G=J,J=N+Y|0,X=W+ee+(J>>>0<N>>>0?1:0)|0}T=g.low=T+J,g.high=S+X+(T>>>0<J>>>0?1:0),q=m.low=q+G,m.high=R+ie+(q>>>0<G>>>0?1:0),A=l.low=A+qe,l.high=_+De+(A>>>0<qe>>>0?1:0),w=h.low=w+Ge,h.high=H+T0+(w>>>0<Ge>>>0?1:0),O=b.low=O+xe,b.high=z+he+(O>>>0<xe>>>0?1:0),K=B.low=K+je,B.high=L+c0+(K>>>0<je>>>0?1:0),P=C.low=P+Ue,C.high=D+P0+(P>>>0<Ue>>>0?1:0),F=v.low=F+We,v.high=k+x0+(F>>>0<We>>>0?1:0)},_doFinalize:function(){var u=this._data,p=u.words,y=this._nDataBytes*8,g=u.sigBytes*8;p[g>>>5]|=128<<24-g%32,p[(g+128>>>10<<5)+30]=Math.floor(y/4294967296),p[(g+128>>>10<<5)+31]=y,u.sigBytes=p.length*4,this._process();var m=this._hash.toX32();return m},clone:function(){var u=n.clone.call(this);return u._hash=this._hash.clone(),u},blockSize:1024/32});e.SHA512=n._createHelper(f),e.HmacSHA512=n._createHmacHelper(f)})(),t.SHA512})});var Wn=I((gt,jn)=>{(function(t,e,r){typeof gt=="object"?jn.exports=gt=e(j(),O0(),kr()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./sha512"],e):e(t.CryptoJS)})(gt,function(t){return(function(){var e=t,r=e.x64,n=r.Word,a=r.WordArray,s=e.algo,x=s.SHA512,i=s.SHA384=x.extend({_doReset:function(){this._hash=new a.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var c=x._doFinalize.call(this);return c.sigBytes-=16,c}});e.SHA384=x._createHelper(i),e.HmacSHA384=x._createHmacHelper(i)})(),t.SHA384})});var Xn=I((mt,$n)=>{(function(t,e,r){typeof mt=="object"?$n.exports=mt=e(j(),O0()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(mt,function(t){return(function(e){var r=t,n=r.lib,a=n.WordArray,s=n.Hasher,x=r.x64,i=x.Word,c=r.algo,d=[],o=[],f=[];(function(){for(var y=1,g=0,m=0;m<24;m++){d[y+5*g]=(m+1)*(m+2)/2%64;var l=g%5,h=(2*y+3*g)%5;y=l,g=h}for(var y=0;y<5;y++)for(var g=0;g<5;g++)o[y+5*g]=g+(2*y+3*g)%5*5;for(var b=1,B=0;B<24;B++){for(var C=0,v=0,S=0;S<7;S++){if(b&1){var T=(1<<S)-1;T<32?v^=1<<T:C^=1<<T-32}b&128?b=b<<1^113:b<<=1}f[B]=i.create(C,v)}})();var u=[];(function(){for(var y=0;y<25;y++)u[y]=i.create()})();var p=c.SHA3=s.extend({cfg:s.cfg.extend({outputLength:512}),_doReset:function(){for(var y=this._state=[],g=0;g<25;g++)y[g]=new i.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(y,g){for(var m=this._state,l=this.blockSize/2,h=0;h<l;h++){var b=y[g+2*h],B=y[g+2*h+1];b=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,B=(B<<8|B>>>24)&16711935|(B<<24|B>>>8)&4278255360;var C=m[h];C.high^=B,C.low^=b}for(var v=0;v<24;v++){for(var S=0;S<5;S++){for(var T=0,R=0,q=0;q<5;q++){var C=m[S+5*q];T^=C.high,R^=C.low}var _=u[S];_.high=T,_.low=R}for(var S=0;S<5;S++)for(var A=u[(S+4)%5],H=u[(S+1)%5],w=H.high,z=H.low,T=A.high^(w<<1|z>>>31),R=A.low^(z<<1|w>>>31),q=0;q<5;q++){var C=m[S+5*q];C.high^=T,C.low^=R}for(var O=1;O<25;O++){var T,R,C=m[O],L=C.high,K=C.low,D=d[O];D<32?(T=L<<D|K>>>32-D,R=K<<D|L>>>32-D):(T=K<<D-32|L>>>64-D,R=L<<D-32|K>>>64-D);var P=u[o[O]];P.high=T,P.low=R}var k=u[0],F=m[0];k.high=F.high,k.low=F.low;for(var S=0;S<5;S++)for(var q=0;q<5;q++){var O=S+5*q,C=m[O],X=u[O],J=u[(S+1)%5+5*q],ie=u[(S+2)%5+5*q];C.high=X.high^~J.high&ie.high,C.low=X.low^~J.low&ie.low}var C=m[0],G=f[v];C.high^=G.high,C.low^=G.low}},_doFinalize:function(){var y=this._data,g=y.words,m=this._nDataBytes*8,l=y.sigBytes*8,h=this.blockSize*32;g[l>>>5]|=1<<24-l%32,g[(e.ceil((l+1)/h)*h>>>5)-1]|=128,y.sigBytes=g.length*4,this._process();for(var b=this._state,B=this.cfg.outputLength/8,C=B/8,v=[],S=0;S<C;S++){var T=b[S],R=T.high,q=T.low;R=(R<<8|R>>>24)&16711935|(R<<24|R>>>8)&4278255360,q=(q<<8|q>>>24)&16711935|(q<<24|q>>>8)&4278255360,v.push(q),v.push(R)}return new a.init(v,B)},clone:function(){for(var y=s.clone.call(this),g=y._state=this._state.slice(0),m=0;m<25;m++)g[m]=g[m].clone();return y}});r.SHA3=s._createHelper(p),r.HmacSHA3=s._createHmacHelper(p)})(Math),t.SHA3})});var Yn=I((Bt,Zn)=>{(function(t,e){typeof Bt=="object"?Zn.exports=Bt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(Bt,function(t){return(function(e){var r=t,n=r.lib,a=n.WordArray,s=n.Hasher,x=r.algo,i=a.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=a.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),d=a.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),o=a.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),f=a.create([0,1518500249,1859775393,2400959708,2840853838]),u=a.create([1352829926,1548603684,1836072691,2053994217,0]),p=x.RIPEMD160=s.extend({_doReset:function(){this._hash=a.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(B,C){for(var v=0;v<16;v++){var S=C+v,T=B[S];B[S]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360}var R=this._hash.words,q=f.words,_=u.words,A=i.words,H=c.words,w=d.words,z=o.words,O,L,K,D,P,k,F,X,J,ie;k=O=R[0],F=L=R[1],X=K=R[2],J=D=R[3],ie=P=R[4];for(var G,v=0;v<80;v+=1)G=O+B[C+A[v]]|0,v<16?G+=y(L,K,D)+q[0]:v<32?G+=g(L,K,D)+q[1]:v<48?G+=m(L,K,D)+q[2]:v<64?G+=l(L,K,D)+q[3]:G+=h(L,K,D)+q[4],G=G|0,G=b(G,w[v]),G=G+P|0,O=P,P=D,D=b(K,10),K=L,L=G,G=k+B[C+H[v]]|0,v<16?G+=h(F,X,J)+_[0]:v<32?G+=l(F,X,J)+_[1]:v<48?G+=m(F,X,J)+_[2]:v<64?G+=g(F,X,J)+_[3]:G+=y(F,X,J)+_[4],G=G|0,G=b(G,z[v]),G=G+ie|0,k=ie,ie=J,J=b(X,10),X=F,F=G;G=R[1]+K+J|0,R[1]=R[2]+D+ie|0,R[2]=R[3]+P+k|0,R[3]=R[4]+O+F|0,R[4]=R[0]+L+X|0,R[0]=G},_doFinalize:function(){var B=this._data,C=B.words,v=this._nDataBytes*8,S=B.sigBytes*8;C[S>>>5]|=128<<24-S%32,C[(S+64>>>9<<4)+14]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,B.sigBytes=(C.length+1)*4,this._process();for(var T=this._hash,R=T.words,q=0;q<5;q++){var _=R[q];R[q]=(_<<8|_>>>24)&16711935|(_<<24|_>>>8)&4278255360}return T},clone:function(){var B=s.clone.call(this);return B._hash=this._hash.clone(),B}});function y(B,C,v){return B^C^v}function g(B,C,v){return B&C|~B&v}function m(B,C,v){return(B|~C)^v}function l(B,C,v){return B&v|C&~v}function h(B,C,v){return B^(C|~v)}function b(B,C){return B<<C|B>>>32-C}r.RIPEMD160=s._createHelper(p),r.HmacRIPEMD160=s._createHmacHelper(p)})(Math),t.RIPEMD160})});var V0=I((bt,Jn)=>{(function(t,e){typeof bt=="object"?Jn.exports=bt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(bt,function(t){(function(){var e=t,r=e.lib,n=r.Base,a=e.enc,s=a.Utf8,x=e.algo,i=x.HMAC=n.extend({init:function(c,d){c=this._hasher=new c.init,typeof d=="string"&&(d=s.parse(d));var o=c.blockSize,f=o*4;d.sigBytes>f&&(d=c.finalize(d)),d.clamp();for(var u=this._oKey=d.clone(),p=this._iKey=d.clone(),y=u.words,g=p.words,m=0;m<o;m++)y[m]^=1549556828,g[m]^=909522486;u.sigBytes=p.sigBytes=f,this.reset()},reset:function(){var c=this._hasher;c.reset(),c.update(this._iKey)},update:function(c){return this._hasher.update(c),this},finalize:function(c){var d=this._hasher,o=d.finalize(c);d.reset();var f=d.finalize(this._oKey.clone().concat(o));return f}})})()})});var es=I((Ct,Qn)=>{(function(t,e,r){typeof Ct=="object"?Qn.exports=Ct=e(j(),l0(),V0()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(Ct,function(t){return(function(){var e=t,r=e.lib,n=r.Base,a=r.WordArray,s=e.algo,x=s.SHA256,i=s.HMAC,c=s.PBKDF2=n.extend({cfg:n.extend({keySize:128/32,hasher:x,iterations:25e4}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,o){for(var f=this.cfg,u=i.create(f.hasher,d),p=a.create(),y=a.create([1]),g=p.words,m=y.words,l=f.keySize,h=f.iterations;g.length<l;){var b=u.update(o).finalize(y);u.reset();for(var B=b.words,C=B.length,v=b,S=1;S<h;S++){v=u.finalize(v),u.reset();for(var T=v.words,R=0;R<C;R++)B[R]^=T[R]}p.concat(b),m[0]++}return p.sigBytes=l*4,p}});e.PBKDF2=function(d,o,f){return c.create(f).compute(d,o)}})(),t.PBKDF2})});var Te=I((At,ts)=>{(function(t,e,r){typeof At=="object"?ts.exports=At=e(j(),Pr(),V0()):typeof define=="function"&&define.amd?define(["./core","./sha1","./hmac"],e):e(t.CryptoJS)})(At,function(t){return(function(){var e=t,r=e.lib,n=r.Base,a=r.WordArray,s=e.algo,x=s.MD5,i=s.EvpKDF=n.extend({cfg:n.extend({keySize:128/32,hasher:x,iterations:1}),init:function(c){this.cfg=this.cfg.extend(c)},compute:function(c,d){for(var o,f=this.cfg,u=f.hasher.create(),p=a.create(),y=p.words,g=f.keySize,m=f.iterations;y.length<g;){o&&u.update(o),o=u.update(c).finalize(d),u.reset();for(var l=1;l<m;l++)o=u.finalize(o),u.reset();p.concat(o)}return p.sigBytes=g*4,p}});e.EvpKDF=function(c,d,o){return i.create(o).compute(c,d)}})(),t.EvpKDF})});var se=I((_t,rs)=>{(function(t,e,r){typeof _t=="object"?rs.exports=_t=e(j(),Te()):typeof define=="function"&&define.amd?define(["./core","./evpkdf"],e):e(t.CryptoJS)})(_t,function(t){t.lib.Cipher||(function(e){var r=t,n=r.lib,a=n.Base,s=n.WordArray,x=n.BufferedBlockAlgorithm,i=r.enc,c=i.Utf8,d=i.Base64,o=r.algo,f=o.EvpKDF,u=n.Cipher=x.extend({cfg:a.extend(),createEncryptor:function(_,A){return this.create(this._ENC_XFORM_MODE,_,A)},createDecryptor:function(_,A){return this.create(this._DEC_XFORM_MODE,_,A)},init:function(_,A,H){this.cfg=this.cfg.extend(H),this._xformMode=_,this._key=A,this.reset()},reset:function(){x.reset.call(this),this._doReset()},process:function(_){return this._append(_),this._process()},finalize:function(_){_&&this._append(_);var A=this._doFinalize();return A},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:(function(){function _(A){return typeof A=="string"?q:S}return function(A){return{encrypt:function(H,w,z){return _(w).encrypt(A,H,w,z)},decrypt:function(H,w,z){return _(w).decrypt(A,H,w,z)}}}})()}),p=n.StreamCipher=u.extend({_doFinalize:function(){var _=this._process(!0);return _},blockSize:1}),y=r.mode={},g=n.BlockCipherMode=a.extend({createEncryptor:function(_,A){return this.Encryptor.create(_,A)},createDecryptor:function(_,A){return this.Decryptor.create(_,A)},init:function(_,A){this._cipher=_,this._iv=A}}),m=y.CBC=(function(){var _=g.extend();_.Encryptor=_.extend({processBlock:function(H,w){var z=this._cipher,O=z.blockSize;A.call(this,H,w,O),z.encryptBlock(H,w),this._prevBlock=H.slice(w,w+O)}}),_.Decryptor=_.extend({processBlock:function(H,w){var z=this._cipher,O=z.blockSize,L=H.slice(w,w+O);z.decryptBlock(H,w),A.call(this,H,w,O),this._prevBlock=L}});function A(H,w,z){var O,L=this._iv;L?(O=L,this._iv=e):O=this._prevBlock;for(var K=0;K<z;K++)H[w+K]^=O[K]}return _})(),l=r.pad={},h=l.Pkcs7={pad:function(_,A){for(var H=A*4,w=H-_.sigBytes%H,z=w<<24|w<<16|w<<8|w,O=[],L=0;L<w;L+=4)O.push(z);var K=s.create(O,w);_.concat(K)},unpad:function(_){var A=_.words[_.sigBytes-1>>>2]&255;_.sigBytes-=A}},b=n.BlockCipher=u.extend({cfg:u.cfg.extend({mode:m,padding:h}),reset:function(){var _;u.reset.call(this);var A=this.cfg,H=A.iv,w=A.mode;this._xformMode==this._ENC_XFORM_MODE?_=w.createEncryptor:(_=w.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==_?this._mode.init(this,H&&H.words):(this._mode=_.call(w,this,H&&H.words),this._mode.__creator=_)},_doProcessBlock:function(_,A){this._mode.processBlock(_,A)},_doFinalize:function(){var _,A=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(A.pad(this._data,this.blockSize),_=this._process(!0)):(_=this._process(!0),A.unpad(_)),_},blockSize:128/32}),B=n.CipherParams=a.extend({init:function(_){this.mixIn(_)},toString:function(_){return(_||this.formatter).stringify(this)}}),C=r.format={},v=C.OpenSSL={stringify:function(_){var A,H=_.ciphertext,w=_.salt;return w?A=s.create([1398893684,1701076831]).concat(w).concat(H):A=H,A.toString(d)},parse:function(_){var A,H=d.parse(_),w=H.words;return w[0]==1398893684&&w[1]==1701076831&&(A=s.create(w.slice(2,4)),w.splice(0,4),H.sigBytes-=16),B.create({ciphertext:H,salt:A})}},S=n.SerializableCipher=a.extend({cfg:a.extend({format:v}),encrypt:function(_,A,H,w){w=this.cfg.extend(w);var z=_.createEncryptor(H,w),O=z.finalize(A),L=z.cfg;return B.create({ciphertext:O,key:H,iv:L.iv,algorithm:_,mode:L.mode,padding:L.padding,blockSize:_.blockSize,formatter:w.format})},decrypt:function(_,A,H,w){w=this.cfg.extend(w),A=this._parse(A,w.format);var z=_.createDecryptor(H,w).finalize(A.ciphertext);return z},_parse:function(_,A){return typeof _=="string"?A.parse(_,this):_}}),T=r.kdf={},R=T.OpenSSL={execute:function(_,A,H,w,z){if(w||(w=s.random(64/8)),z)var O=f.create({keySize:A+H,hasher:z}).compute(_,w);else var O=f.create({keySize:A+H}).compute(_,w);var L=s.create(O.words.slice(A),H*4);return O.sigBytes=A*4,B.create({key:O,iv:L,salt:w})}},q=n.PasswordBasedCipher=S.extend({cfg:S.cfg.extend({kdf:R}),encrypt:function(_,A,H,w){w=this.cfg.extend(w);var z=w.kdf.execute(H,_.keySize,_.ivSize,w.salt,w.hasher);w.iv=z.iv;var O=S.encrypt.call(this,_,A,z.key,w);return O.mixIn(z),O},decrypt:function(_,A,H,w){w=this.cfg.extend(w),A=this._parse(A,w.format);var z=w.kdf.execute(H,_.keySize,_.ivSize,A.salt,w.hasher);w.iv=z.iv;var O=S.decrypt.call(this,_,A,z.key,w);return O}})})()})});var ss=I((Et,ns)=>{(function(t,e,r){typeof Et=="object"?ns.exports=Et=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Et,function(t){return t.mode.CFB=(function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(n,a){var s=this._cipher,x=s.blockSize;r.call(this,n,a,x,s),this._prevBlock=n.slice(a,a+x)}}),e.Decryptor=e.extend({processBlock:function(n,a){var s=this._cipher,x=s.blockSize,i=n.slice(a,a+x);r.call(this,n,a,x,s),this._prevBlock=i}});function r(n,a,s,x){var i,c=this._iv;c?(i=c.slice(0),this._iv=void 0):i=this._prevBlock,x.encryptBlock(i,0);for(var d=0;d<s;d++)n[a+d]^=i[d]}return e})(),t.mode.CFB})});var is=I((Dt,as)=>{(function(t,e,r){typeof Dt=="object"?as.exports=Dt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Dt,function(t){return t.mode.CTR=(function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,a){var s=this._cipher,x=s.blockSize,i=this._iv,c=this._counter;i&&(c=this._counter=i.slice(0),this._iv=void 0);var d=c.slice(0);s.encryptBlock(d,0),c[x-1]=c[x-1]+1|0;for(var o=0;o<x;o++)n[a+o]^=d[o]}});return e.Decryptor=r,e})(),t.mode.CTR})});var cs=I((Ft,os)=>{(function(t,e,r){typeof Ft=="object"?os.exports=Ft=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ft,function(t){return t.mode.CTRGladman=(function(){var e=t.lib.BlockCipherMode.extend();function r(s){if((s>>24&255)===255){var x=s>>16&255,i=s>>8&255,c=s&255;x===255?(x=0,i===255?(i=0,c===255?c=0:++c):++i):++x,s=0,s+=x<<16,s+=i<<8,s+=c}else s+=1<<24;return s}function n(s){return(s[0]=r(s[0]))===0&&(s[1]=r(s[1])),s}var a=e.Encryptor=e.extend({processBlock:function(s,x){var i=this._cipher,c=i.blockSize,d=this._iv,o=this._counter;d&&(o=this._counter=d.slice(0),this._iv=void 0),n(o);var f=o.slice(0);i.encryptBlock(f,0);for(var u=0;u<c;u++)s[x+u]^=f[u]}});return e.Decryptor=a,e})(),t.mode.CTRGladman})});var us=I((wt,xs)=>{(function(t,e,r){typeof wt=="object"?xs.exports=wt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(wt,function(t){return t.mode.OFB=(function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,a){var s=this._cipher,x=s.blockSize,i=this._iv,c=this._keystream;i&&(c=this._keystream=i.slice(0),this._iv=void 0),s.encryptBlock(c,0);for(var d=0;d<x;d++)n[a+d]^=c[d]}});return e.Decryptor=r,e})(),t.mode.OFB})});var ds=I((St,fs)=>{(function(t,e,r){typeof St=="object"?fs.exports=St=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(St,function(t){return t.mode.ECB=(function(){var e=t.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(r,n){this._cipher.encryptBlock(r,n)}}),e.Decryptor=e.extend({processBlock:function(r,n){this._cipher.decryptBlock(r,n)}}),e})(),t.mode.ECB})});var hs=I((Tt,ls)=>{(function(t,e,r){typeof Tt=="object"?ls.exports=Tt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Tt,function(t){return t.pad.AnsiX923={pad:function(e,r){var n=e.sigBytes,a=r*4,s=a-n%a,x=n+s-1;e.clamp(),e.words[x>>>2]|=s<<24-x%4*8,e.sigBytes+=s},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Ansix923})});var ys=I((Pt,ps)=>{(function(t,e,r){typeof Pt=="object"?ps.exports=Pt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Pt,function(t){return t.pad.Iso10126={pad:function(e,r){var n=r*4,a=n-e.sigBytes%n;e.concat(t.lib.WordArray.random(a-1)).concat(t.lib.WordArray.create([a<<24],1))},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Iso10126})});var gs=I((kt,vs)=>{(function(t,e,r){typeof kt=="object"?vs.exports=kt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(kt,function(t){return t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,r)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971})});var Bs=I((Ht,ms)=>{(function(t,e,r){typeof Ht=="object"?ms.exports=Ht=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ht,function(t){return t.pad.ZeroPadding={pad:function(e,r){var n=r*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var r=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(r[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},t.pad.ZeroPadding})});var Cs=I((Rt,bs)=>{(function(t,e,r){typeof Rt=="object"?bs.exports=Rt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Rt,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})});var _s=I((qt,As)=>{(function(t,e,r){typeof qt=="object"?As.exports=qt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(qt,function(t){return(function(e){var r=t,n=r.lib,a=n.CipherParams,s=r.enc,x=s.Hex,i=r.format,c=i.Hex={stringify:function(d){return d.ciphertext.toString(x)},parse:function(d){var o=x.parse(d);return a.create({ciphertext:o})}}})(),t.format.Hex})});var Ds=I((Ut,Es)=>{(function(t,e,r){typeof Ut=="object"?Es.exports=Ut=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Ut,function(t){return(function(){var e=t,r=e.lib,n=r.BlockCipher,a=e.algo,s=[],x=[],i=[],c=[],d=[],o=[],f=[],u=[],p=[],y=[];(function(){for(var l=[],h=0;h<256;h++)h<128?l[h]=h<<1:l[h]=h<<1^283;for(var b=0,B=0,h=0;h<256;h++){var C=B^B<<1^B<<2^B<<3^B<<4;C=C>>>8^C&255^99,s[b]=C,x[C]=b;var v=l[b],S=l[v],T=l[S],R=l[C]*257^C*16843008;i[b]=R<<24|R>>>8,c[b]=R<<16|R>>>16,d[b]=R<<8|R>>>24,o[b]=R;var R=T*16843009^S*65537^v*257^b*16843008;f[C]=R<<24|R>>>8,u[C]=R<<16|R>>>16,p[C]=R<<8|R>>>24,y[C]=R,b?(b=v^l[l[l[T^v]]],B^=l[l[B]]):b=B=1}})();var g=[0,1,2,4,8,16,32,64,128,27,54],m=a.AES=n.extend({_doReset:function(){var l;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var h=this._keyPriorReset=this._key,b=h.words,B=h.sigBytes/4,C=this._nRounds=B+6,v=(C+1)*4,S=this._keySchedule=[],T=0;T<v;T++)T<B?S[T]=b[T]:(l=S[T-1],T%B?B>6&&T%B==4&&(l=s[l>>>24]<<24|s[l>>>16&255]<<16|s[l>>>8&255]<<8|s[l&255]):(l=l<<8|l>>>24,l=s[l>>>24]<<24|s[l>>>16&255]<<16|s[l>>>8&255]<<8|s[l&255],l^=g[T/B|0]<<24),S[T]=S[T-B]^l);for(var R=this._invKeySchedule=[],q=0;q<v;q++){var T=v-q;if(q%4)var l=S[T];else var l=S[T-4];q<4||T<=4?R[q]=l:R[q]=f[s[l>>>24]]^u[s[l>>>16&255]]^p[s[l>>>8&255]]^y[s[l&255]]}}},encryptBlock:function(l,h){this._doCryptBlock(l,h,this._keySchedule,i,c,d,o,s)},decryptBlock:function(l,h){var b=l[h+1];l[h+1]=l[h+3],l[h+3]=b,this._doCryptBlock(l,h,this._invKeySchedule,f,u,p,y,x);var b=l[h+1];l[h+1]=l[h+3],l[h+3]=b},_doCryptBlock:function(l,h,b,B,C,v,S,T){for(var R=this._nRounds,q=l[h]^b[0],_=l[h+1]^b[1],A=l[h+2]^b[2],H=l[h+3]^b[3],w=4,z=1;z<R;z++){var O=B[q>>>24]^C[_>>>16&255]^v[A>>>8&255]^S[H&255]^b[w++],L=B[_>>>24]^C[A>>>16&255]^v[H>>>8&255]^S[q&255]^b[w++],K=B[A>>>24]^C[H>>>16&255]^v[q>>>8&255]^S[_&255]^b[w++],D=B[H>>>24]^C[q>>>16&255]^v[_>>>8&255]^S[A&255]^b[w++];q=O,_=L,A=K,H=D}var O=(T[q>>>24]<<24|T[_>>>16&255]<<16|T[A>>>8&255]<<8|T[H&255])^b[w++],L=(T[_>>>24]<<24|T[A>>>16&255]<<16|T[H>>>8&255]<<8|T[q&255])^b[w++],K=(T[A>>>24]<<24|T[H>>>16&255]<<16|T[q>>>8&255]<<8|T[_&255])^b[w++],D=(T[H>>>24]<<24|T[q>>>16&255]<<16|T[_>>>8&255]<<8|T[A&255])^b[w++];l[h]=O,l[h+1]=L,l[h+2]=K,l[h+3]=D},keySize:256/32});e.AES=n._createHelper(m)})(),t.AES})});var ws=I((Ot,Fs)=>{(function(t,e,r){typeof Ot=="object"?Fs.exports=Ot=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Ot,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=r.BlockCipher,s=e.algo,x=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],i=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],d=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],o=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],f=s.DES=a.extend({_doReset:function(){for(var g=this._key,m=g.words,l=[],h=0;h<56;h++){var b=x[h]-1;l[h]=m[b>>>5]>>>31-b%32&1}for(var B=this._subKeys=[],C=0;C<16;C++){for(var v=B[C]=[],S=c[C],h=0;h<24;h++)v[h/6|0]|=l[(i[h]-1+S)%28]<<31-h%6,v[4+(h/6|0)]|=l[28+(i[h+24]-1+S)%28]<<31-h%6;v[0]=v[0]<<1|v[0]>>>31;for(var h=1;h<7;h++)v[h]=v[h]>>>(h-1)*4+3;v[7]=v[7]<<5|v[7]>>>27}for(var T=this._invSubKeys=[],h=0;h<16;h++)T[h]=B[15-h]},encryptBlock:function(g,m){this._doCryptBlock(g,m,this._subKeys)},decryptBlock:function(g,m){this._doCryptBlock(g,m,this._invSubKeys)},_doCryptBlock:function(g,m,l){this._lBlock=g[m],this._rBlock=g[m+1],u.call(this,4,252645135),u.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),u.call(this,1,1431655765);for(var h=0;h<16;h++){for(var b=l[h],B=this._lBlock,C=this._rBlock,v=0,S=0;S<8;S++)v|=d[S][((C^b[S])&o[S])>>>0];this._lBlock=C,this._rBlock=B^v}var T=this._lBlock;this._lBlock=this._rBlock,this._rBlock=T,u.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),g[m]=this._lBlock,g[m+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function u(g,m){var l=(this._lBlock>>>g^this._rBlock)&m;this._rBlock^=l,this._lBlock^=l<<g}function p(g,m){var l=(this._rBlock>>>g^this._lBlock)&m;this._lBlock^=l,this._rBlock^=l<<g}e.DES=a._createHelper(f);var y=s.TripleDES=a.extend({_doReset:function(){var g=this._key,m=g.words;if(m.length!==2&&m.length!==4&&m.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var l=m.slice(0,2),h=m.length<4?m.slice(0,2):m.slice(2,4),b=m.length<6?m.slice(0,2):m.slice(4,6);this._des1=f.createEncryptor(n.create(l)),this._des2=f.createEncryptor(n.create(h)),this._des3=f.createEncryptor(n.create(b))},encryptBlock:function(g,m){this._des1.encryptBlock(g,m),this._des2.decryptBlock(g,m),this._des3.encryptBlock(g,m)},decryptBlock:function(g,m){this._des3.decryptBlock(g,m),this._des2.encryptBlock(g,m),this._des1.decryptBlock(g,m)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=a._createHelper(y)})(),t.TripleDES})});var Ts=I((Vt,Ss)=>{(function(t,e,r){typeof Vt=="object"?Ss.exports=Vt=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Vt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,a=e.algo,s=a.RC4=n.extend({_doReset:function(){for(var c=this._key,d=c.words,o=c.sigBytes,f=this._S=[],u=0;u<256;u++)f[u]=u;for(var u=0,p=0;u<256;u++){var y=u%o,g=d[y>>>2]>>>24-y%4*8&255;p=(p+f[u]+g)%256;var m=f[u];f[u]=f[p],f[p]=m}this._i=this._j=0},_doProcessBlock:function(c,d){c[d]^=x.call(this)},keySize:256/32,ivSize:0});function x(){for(var c=this._S,d=this._i,o=this._j,f=0,u=0;u<4;u++){d=(d+1)%256,o=(o+c[d])%256;var p=c[d];c[d]=c[o],c[o]=p,f|=c[(c[d]+c[o])%256]<<24-u*8}return this._i=d,this._j=o,f}e.RC4=n._createHelper(s);var i=a.RC4Drop=s.extend({cfg:s.cfg.extend({drop:192}),_doReset:function(){s._doReset.call(this);for(var c=this.cfg.drop;c>0;c--)x.call(this)}});e.RC4Drop=n._createHelper(i)})(),t.RC4})});var ks=I((Nt,Ps)=>{(function(t,e,r){typeof Nt=="object"?Ps.exports=Nt=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Nt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,a=e.algo,s=[],x=[],i=[],c=a.Rabbit=n.extend({_doReset:function(){for(var o=this._key.words,f=this.cfg.iv,u=0;u<4;u++)o[u]=(o[u]<<8|o[u]>>>24)&16711935|(o[u]<<24|o[u]>>>8)&4278255360;var p=this._X=[o[0],o[3]<<16|o[2]>>>16,o[1],o[0]<<16|o[3]>>>16,o[2],o[1]<<16|o[0]>>>16,o[3],o[2]<<16|o[1]>>>16],y=this._C=[o[2]<<16|o[2]>>>16,o[0]&4294901760|o[1]&65535,o[3]<<16|o[3]>>>16,o[1]&4294901760|o[2]&65535,o[0]<<16|o[0]>>>16,o[2]&4294901760|o[3]&65535,o[1]<<16|o[1]>>>16,o[3]&4294901760|o[0]&65535];this._b=0;for(var u=0;u<4;u++)d.call(this);for(var u=0;u<8;u++)y[u]^=p[u+4&7];if(f){var g=f.words,m=g[0],l=g[1],h=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,b=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,B=h>>>16|b&4294901760,C=b<<16|h&65535;y[0]^=h,y[1]^=B,y[2]^=b,y[3]^=C,y[4]^=h,y[5]^=B,y[6]^=b,y[7]^=C;for(var u=0;u<4;u++)d.call(this)}},_doProcessBlock:function(o,f){var u=this._X;d.call(this),s[0]=u[0]^u[5]>>>16^u[3]<<16,s[1]=u[2]^u[7]>>>16^u[5]<<16,s[2]=u[4]^u[1]>>>16^u[7]<<16,s[3]=u[6]^u[3]>>>16^u[1]<<16;for(var p=0;p<4;p++)s[p]=(s[p]<<8|s[p]>>>24)&16711935|(s[p]<<24|s[p]>>>8)&4278255360,o[f+p]^=s[p]},blockSize:128/32,ivSize:64/32});function d(){for(var o=this._X,f=this._C,u=0;u<8;u++)x[u]=f[u];f[0]=f[0]+1295307597+this._b|0,f[1]=f[1]+3545052371+(f[0]>>>0<x[0]>>>0?1:0)|0,f[2]=f[2]+886263092+(f[1]>>>0<x[1]>>>0?1:0)|0,f[3]=f[3]+1295307597+(f[2]>>>0<x[2]>>>0?1:0)|0,f[4]=f[4]+3545052371+(f[3]>>>0<x[3]>>>0?1:0)|0,f[5]=f[5]+886263092+(f[4]>>>0<x[4]>>>0?1:0)|0,f[6]=f[6]+1295307597+(f[5]>>>0<x[5]>>>0?1:0)|0,f[7]=f[7]+3545052371+(f[6]>>>0<x[6]>>>0?1:0)|0,this._b=f[7]>>>0<x[7]>>>0?1:0;for(var u=0;u<8;u++){var p=o[u]+f[u],y=p&65535,g=p>>>16,m=((y*y>>>17)+y*g>>>15)+g*g,l=((p&4294901760)*p|0)+((p&65535)*p|0);i[u]=m^l}o[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,o[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,o[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,o[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,o[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,o[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,o[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,o[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}e.Rabbit=n._createHelper(c)})(),t.Rabbit})});var Rs=I((Mt,Hs)=>{(function(t,e,r){typeof Mt=="object"?Hs.exports=Mt=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Mt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,a=e.algo,s=[],x=[],i=[],c=a.RabbitLegacy=n.extend({_doReset:function(){var o=this._key.words,f=this.cfg.iv,u=this._X=[o[0],o[3]<<16|o[2]>>>16,o[1],o[0]<<16|o[3]>>>16,o[2],o[1]<<16|o[0]>>>16,o[3],o[2]<<16|o[1]>>>16],p=this._C=[o[2]<<16|o[2]>>>16,o[0]&4294901760|o[1]&65535,o[3]<<16|o[3]>>>16,o[1]&4294901760|o[2]&65535,o[0]<<16|o[0]>>>16,o[2]&4294901760|o[3]&65535,o[1]<<16|o[1]>>>16,o[3]&4294901760|o[0]&65535];this._b=0;for(var y=0;y<4;y++)d.call(this);for(var y=0;y<8;y++)p[y]^=u[y+4&7];if(f){var g=f.words,m=g[0],l=g[1],h=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,b=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,B=h>>>16|b&4294901760,C=b<<16|h&65535;p[0]^=h,p[1]^=B,p[2]^=b,p[3]^=C,p[4]^=h,p[5]^=B,p[6]^=b,p[7]^=C;for(var y=0;y<4;y++)d.call(this)}},_doProcessBlock:function(o,f){var u=this._X;d.call(this),s[0]=u[0]^u[5]>>>16^u[3]<<16,s[1]=u[2]^u[7]>>>16^u[5]<<16,s[2]=u[4]^u[1]>>>16^u[7]<<16,s[3]=u[6]^u[3]>>>16^u[1]<<16;for(var p=0;p<4;p++)s[p]=(s[p]<<8|s[p]>>>24)&16711935|(s[p]<<24|s[p]>>>8)&4278255360,o[f+p]^=s[p]},blockSize:128/32,ivSize:64/32});function d(){for(var o=this._X,f=this._C,u=0;u<8;u++)x[u]=f[u];f[0]=f[0]+1295307597+this._b|0,f[1]=f[1]+3545052371+(f[0]>>>0<x[0]>>>0?1:0)|0,f[2]=f[2]+886263092+(f[1]>>>0<x[1]>>>0?1:0)|0,f[3]=f[3]+1295307597+(f[2]>>>0<x[2]>>>0?1:0)|0,f[4]=f[4]+3545052371+(f[3]>>>0<x[3]>>>0?1:0)|0,f[5]=f[5]+886263092+(f[4]>>>0<x[4]>>>0?1:0)|0,f[6]=f[6]+1295307597+(f[5]>>>0<x[5]>>>0?1:0)|0,f[7]=f[7]+3545052371+(f[6]>>>0<x[6]>>>0?1:0)|0,this._b=f[7]>>>0<x[7]>>>0?1:0;for(var u=0;u<8;u++){var p=o[u]+f[u],y=p&65535,g=p>>>16,m=((y*y>>>17)+y*g>>>15)+g*g,l=((p&4294901760)*p|0)+((p&65535)*p|0);i[u]=m^l}o[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,o[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,o[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,o[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,o[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,o[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,o[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,o[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}e.RabbitLegacy=n._createHelper(c)})(),t.RabbitLegacy})});var Us=I((It,qs)=>{(function(t,e,r){typeof It=="object"?qs.exports=It=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(It,function(t){return(function(){var e=t,r=e.lib,n=r.BlockCipher,a=e.algo;let s=16,x=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],i=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function d(y,g){let m=g>>24&255,l=g>>16&255,h=g>>8&255,b=g&255,B=y.sbox[0][m]+y.sbox[1][l];return B=B^y.sbox[2][h],B=B+y.sbox[3][b],B}function o(y,g,m){let l=g,h=m,b;for(let B=0;B<s;++B)l=l^y.pbox[B],h=d(y,l)^h,b=l,l=h,h=b;return b=l,l=h,h=b,h=h^y.pbox[s],l=l^y.pbox[s+1],{left:l,right:h}}function f(y,g,m){let l=g,h=m,b;for(let B=s+1;B>1;--B)l=l^y.pbox[B],h=d(y,l)^h,b=l,l=h,h=b;return b=l,l=h,h=b,h=h^y.pbox[1],l=l^y.pbox[0],{left:l,right:h}}function u(y,g,m){for(let C=0;C<4;C++){y.sbox[C]=[];for(let v=0;v<256;v++)y.sbox[C][v]=i[C][v]}let l=0;for(let C=0;C<s+2;C++)y.pbox[C]=x[C]^g[l],l++,l>=m&&(l=0);let h=0,b=0,B=0;for(let C=0;C<s+2;C+=2)B=o(y,h,b),h=B.left,b=B.right,y.pbox[C]=h,y.pbox[C+1]=b;for(let C=0;C<4;C++)for(let v=0;v<256;v+=2)B=o(y,h,b),h=B.left,b=B.right,y.sbox[C][v]=h,y.sbox[C][v+1]=b;return!0}var p=a.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var y=this._keyPriorReset=this._key,g=y.words,m=y.sigBytes/4;u(c,g,m)}},encryptBlock:function(y,g){var m=o(c,y[g],y[g+1]);y[g]=m.left,y[g+1]=m.right},decryptBlock:function(y,g){var m=f(c,y[g],y[g+1]);y[g]=m.left,y[g+1]=m.right},blockSize:64/32,keySize:128/32,ivSize:64/32});e.Blowfish=n._createHelper(p)})(),t.Blowfish})});var Hr=I((zt,Os)=>{(function(t,e,r){typeof zt=="object"?Os.exports=zt=e(j(),O0(),Rn(),Un(),Ne(),Nn(),Me(),Pr(),l0(),Kn(),kr(),Wn(),Xn(),Yn(),V0(),es(),Te(),se(),ss(),is(),cs(),us(),ds(),hs(),ys(),gs(),Bs(),Cs(),_s(),Ds(),ws(),Ts(),ks(),Rs(),Us()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./lib-typedarrays","./enc-utf16","./enc-base64","./enc-base64url","./md5","./sha1","./sha256","./sha224","./sha512","./sha384","./sha3","./ripemd160","./hmac","./pbkdf2","./evpkdf","./cipher-core","./mode-cfb","./mode-ctr","./mode-ctr-gladman","./mode-ofb","./mode-ecb","./pad-ansix923","./pad-iso10126","./pad-iso97971","./pad-zeropadding","./pad-nopadding","./format-hex","./aes","./tripledes","./rc4","./rabbit","./rabbit-legacy","./blowfish"],e):t.CryptoJS=e(t.CryptoJS)})(zt,function(t){return t})});var Kt=I(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.ChannelCrypto=void 0;var le=Hr(),h0=ae(),Rr=class{static decryptGroupTextMessage(e,r,n){try{let a=(0,h0.hexToBytes)(n),s=(0,h0.hexToBytes)(r),x=new Uint8Array(32);x.set(a,0);let i=(0,le.HmacSHA256)(le.enc.Hex.parse(e),le.enc.Hex.parse((0,h0.bytesToHex)(x))),d=(0,h0.hexToBytes)(i.toString(le.enc.Hex)).slice(0,2);if(d[0]!==s[0]||d[1]!==s[1])return{success:!1,error:"MAC verification failed"};let o=le.enc.Hex.parse(n),f=le.enc.Hex.parse(e),u=le.AES.decrypt(le.lib.CipherParams.create({ciphertext:f}),o,{mode:le.mode.ECB,padding:le.pad.NoPadding}),p=(0,h0.hexToBytes)(u.toString(le.enc.Hex));if(!p||p.length<5)return{success:!1,error:"Decrypted content too short"};let y=p[0]|p[1]<<8|p[2]<<16|p[3]<<24,g=p[4],m=p.slice(5),h=new TextDecoder("utf-8").decode(m),b=h.indexOf("\0");b>=0&&(h=h.substring(0,b));let B=h.indexOf(": "),C,v;if(B>0&&B<50){let S=h.substring(0,B);/[:\[\]]/.test(S)?v=h:(C=S,v=h.substring(B+2))}else v=h;return{success:!0,data:{timestamp:y,flags:g,sender:C,message:v}}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Decryption failed"}}}static calculateChannelHash(e){let r=(0,le.SHA256)(le.enc.Hex.parse(e));return(0,h0.hexToBytes)(r.toString(le.enc.Hex))[0].toString(16).padStart(2,"0")}};Lt.ChannelCrypto=Rr});var Ur=I(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.MeshCoreKeyStore=void 0;var Ja=Kt(),qr=class{constructor(e){this.nodeKeys=new Map,this.channelHashToKeys=new Map,e?.channelSecrets&&this.addChannelSecrets(e.channelSecrets),e?.nodeKeys&&Object.entries(e.nodeKeys).forEach(([r,n])=>{this.addNodeKey(r,n)})}addNodeKey(e,r){let n=e.toUpperCase();this.nodeKeys.set(n,r)}hasChannelKey(e){let r=e.toLowerCase();return this.channelHashToKeys.has(r)}hasNodeKey(e){let r=e.toUpperCase();return this.nodeKeys.has(r)}getChannelKeys(e){let r=e.toLowerCase();return this.channelHashToKeys.get(r)||[]}getNodeKey(e){let r=e.toUpperCase();return this.nodeKeys.get(r)}addChannelSecrets(e){for(let r of e){let n=Ja.ChannelCrypto.calculateChannelHash(r).toLowerCase();this.channelHashToKeys.has(n)||this.channelHashToKeys.set(n,[]),this.channelHashToKeys.get(n).push(r)}}};Gt.MeshCoreKeyStore=qr});var aa={};Bn(aa,{CURVE:()=>Gs,ExtendedPoint:()=>_e,Point:()=>_e,etc:()=>Zr,getPublicKey:()=>oi,getPublicKeyAsync:()=>ii,sign:()=>xi,signAsync:()=>ci,utils:()=>di,verify:()=>fi,verifyAsync:()=>ui});var Gs,ce,jt,Vs,Ns,Or,Vr,Qa,Ae,N0,ye,ei,js,ti,e0,Zt,Ir,Ws,zr,Pe,Ms,Lr,Ie,$s,ri,M0,Xs,Wt,Qe,V,Zs,Ys,ni,Is,Nr,Ce,_e,ke,p0,Js,Kr,be,si,zs,ai,$t,Gr,jr,Qs,Wr,$r,ii,oi,ea,ta,ra,ci,xi,Xr,na,ui,fi,Zr,di,Xt,li,sa,Mr,hi,Ls,Ks,pi,ia=za(()=>{Gs={p:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,n:0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,h:8n,a:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecn,d:0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,Gx:0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,Gy:0x6666666666666666666666666666666666666666666666666666666666666658n},{p:ce,n:jt,Gx:Vs,Gy:Ns,a:Or,d:Vr}=Gs,Qa=8n,Ae=32,N0=64,ye=(t="")=>{throw new Error(t)},ei=t=>typeof t=="bigint",js=t=>typeof t=="string",ti=t=>t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array",e0=(t,e)=>!ti(t)||typeof e=="number"&&e>0&&t.length!==e?ye("Uint8Array expected"):t,Zt=t=>new Uint8Array(t),Ir=t=>Uint8Array.from(t),Ws=(t,e)=>t.toString(16).padStart(e,"0"),zr=t=>Array.from(e0(t)).map(e=>Ws(e,2)).join(""),Pe={_0:48,_9:57,A:65,F:70,a:97,f:102},Ms=t=>{if(t>=Pe._0&&t<=Pe._9)return t-Pe._0;if(t>=Pe.A&&t<=Pe.F)return t-(Pe.A-10);if(t>=Pe.a&&t<=Pe.f)return t-(Pe.a-10)},Lr=t=>{let e="hex invalid";if(!js(t))return ye(e);let r=t.length,n=r/2;if(r%2)return ye(e);let a=Zt(n);for(let s=0,x=0;s<n;s++,x+=2){let i=Ms(t.charCodeAt(x)),c=Ms(t.charCodeAt(x+1));if(i===void 0||c===void 0)return ye(e);a[s]=i*16+c}return a},Ie=(t,e)=>e0(js(t)?Lr(t):Ir(e0(t)),e),$s=()=>globalThis?.crypto,ri=()=>$s()?.subtle??ye("crypto.subtle must be defined"),M0=(...t)=>{let e=Zt(t.reduce((n,a)=>n+e0(a).length,0)),r=0;return t.forEach(n=>{e.set(n,r),r+=n.length}),e},Xs=(t=Ae)=>$s().getRandomValues(Zt(t)),Wt=BigInt,Qe=(t,e,r,n="bad number: out of range")=>ei(t)&&e<=t&&t<r?t:ye(n),V=(t,e=ce)=>{let r=t%e;return r>=0n?r:e+r},Zs=t=>V(t,jt),Ys=(t,e)=>{(t===0n||e<=0n)&&ye("no inverse n="+t+" mod="+e);let r=V(t,e),n=e,a=0n,s=1n,x=1n,i=0n;for(;r!==0n;){let c=n/r,d=n%r,o=a-x*c,f=s-i*c;n=r,r=d,a=x,s=i,x=o,i=f}return n===1n?V(a,e):ye("no inverse")},ni=t=>{let e=Zr[t];return typeof e!="function"&&ye("hashes."+t+" not set"),e},Is=t=>t instanceof _e?t:ye("Point expected"),Nr=2n**256n,Ce=class Ce{constructor(e,r,n,a){Se(this,"ex");Se(this,"ey");Se(this,"ez");Se(this,"et");let s=Nr;this.ex=Qe(e,0n,s),this.ey=Qe(r,0n,s),this.ez=Qe(n,1n,s),this.et=Qe(a,0n,s),Object.freeze(this)}static fromAffine(e){return new Ce(e.x,e.y,1n,V(e.x*e.y))}static fromBytes(e,r=!1){let n=Vr,a=Ir(e0(e,Ae)),s=e[31];a[31]=s&-129;let x=Kr(a);Qe(x,0n,r?Nr:ce);let c=V(x*x),d=V(c-1n),o=V(n*c+1n),{isValid:f,value:u}=ai(d,o);f||ye("bad point: y not sqrt");let p=(u&1n)===1n,y=(s&128)!==0;return!r&&u===0n&&y&&ye("bad point: x==0, isLastByteOdd"),y!==p&&(u=V(-u)),new Ce(u,x,1n,V(u*x))}assertValidity(){let e=Or,r=Vr,n=this;if(n.is0())throw new Error("bad point: ZERO");let{ex:a,ey:s,ez:x,et:i}=n,c=V(a*a),d=V(s*s),o=V(x*x),f=V(o*o),u=V(c*e),p=V(o*V(u+d)),y=V(f+V(r*V(c*d)));if(p!==y)throw new Error("bad point: equation left != right (1)");let g=V(a*s),m=V(x*i);if(g!==m)throw new Error("bad point: equation left != right (2)");return this}equals(e){let{ex:r,ey:n,ez:a}=this,{ex:s,ey:x,ez:i}=Is(e),c=V(r*i),d=V(s*a),o=V(n*i),f=V(x*a);return c===d&&o===f}is0(){return this.equals(p0)}negate(){return new Ce(V(-this.ex),this.ey,this.ez,V(-this.et))}double(){let{ex:e,ey:r,ez:n}=this,a=Or,s=V(e*e),x=V(r*r),i=V(2n*V(n*n)),c=V(a*s),d=e+r,o=V(V(d*d)-s-x),f=c+x,u=f-i,p=c-x,y=V(o*u),g=V(f*p),m=V(o*p),l=V(u*f);return new Ce(y,g,l,m)}add(e){let{ex:r,ey:n,ez:a,et:s}=this,{ex:x,ey:i,ez:c,et:d}=Is(e),o=Or,f=Vr,u=V(r*x),p=V(n*i),y=V(s*f*d),g=V(a*c),m=V((r+n)*(x+i)-u-p),l=V(g-y),h=V(g+y),b=V(p-o*u),B=V(m*l),C=V(h*b),v=V(m*b),S=V(l*h);return new Ce(B,C,S,v)}multiply(e,r=!0){if(!r&&(e===0n||this.is0()))return p0;if(Qe(e,1n,jt),e===1n)return this;if(this.equals(ke))return pi(e).p;let n=p0,a=ke;for(let s=this;e>0n;s=s.double(),e>>=1n)e&1n?n=n.add(s):r&&(a=a.add(s));return n}toAffine(){let{ex:e,ey:r,ez:n}=this;if(this.equals(p0))return{x:0n,y:1n};let a=Ys(n,ce);return V(n*a)!==1n&&ye("invalid inverse"),{x:V(e*a),y:V(r*a)}}toBytes(){let{x:e,y:r}=this.assertValidity().toAffine(),n=Js(r);return n[31]|=e&1n?128:0,n}toHex(){return zr(this.toBytes())}clearCofactor(){return this.multiply(Wt(Qa),!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){let e=this.multiply(jt/2n,!1).double();return jt%2n&&(e=e.add(this)),e.is0()}static fromHex(e,r){return Ce.fromBytes(Ie(e),r)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(){return this.toBytes()}};Se(Ce,"BASE"),Se(Ce,"ZERO");_e=Ce,ke=new _e(Vs,Ns,1n,V(Vs*Ns)),p0=new _e(0n,1n,1n,0n);_e.BASE=ke;_e.ZERO=p0;Js=t=>Lr(Ws(Qe(t,0n,Nr),N0)).reverse(),Kr=t=>Wt("0x"+zr(Ir(e0(t)).reverse())),be=(t,e)=>{let r=t;for(;e-- >0n;)r*=r,r%=ce;return r},si=t=>{let r=t*t%ce*t%ce,n=be(r,2n)*r%ce,a=be(n,1n)*t%ce,s=be(a,5n)*a%ce,x=be(s,10n)*s%ce,i=be(x,20n)*x%ce,c=be(i,40n)*i%ce,d=be(c,80n)*c%ce,o=be(d,80n)*c%ce,f=be(o,10n)*s%ce;return{pow_p_5_8:be(f,2n)*t%ce,b2:r}},zs=0x2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0n,ai=(t,e)=>{let r=V(e*e*e),n=V(r*r*e),a=si(t*n).pow_p_5_8,s=V(t*r*a),x=V(e*s*s),i=s,c=V(s*zs),d=x===t,o=x===V(-t),f=x===V(-t*zs);return d&&(s=i),(o||f)&&(s=c),(V(s)&1n)===1n&&(s=V(-s)),{isValid:d||o,value:s}},$t=t=>Zs(Kr(t)),Gr=(...t)=>Zr.sha512Async(...t),jr=(...t)=>ni("sha512Sync")(...t),Qs=t=>{let e=t.slice(0,Ae);e[0]&=248,e[31]&=127,e[31]|=64;let r=t.slice(Ae,N0),n=$t(e),a=ke.multiply(n),s=a.toBytes();return{head:e,prefix:r,scalar:n,point:a,pointBytes:s}},Wr=t=>Gr(Ie(t,Ae)).then(Qs),$r=t=>Qs(jr(Ie(t,Ae))),ii=t=>Wr(t).then(e=>e.pointBytes),oi=t=>$r(t).pointBytes,ea=t=>Gr(t.hashable).then(t.finish),ta=t=>t.finish(jr(t.hashable)),ra=(t,e,r)=>{let{pointBytes:n,scalar:a}=t,s=$t(e),x=ke.multiply(s).toBytes();return{hashable:M0(x,n,r),finish:d=>{let o=Zs(s+$t(d)*a);return e0(M0(x,Js(o)),N0)}}},ci=async(t,e)=>{let r=Ie(t),n=await Wr(e),a=await Gr(n.prefix,r);return ea(ra(n,a,r))},xi=(t,e)=>{let r=Ie(t),n=$r(e),a=jr(n.prefix,r);return ta(ra(n,a,r))},Xr={zip215:!0},na=(t,e,r,n=Xr)=>{t=Ie(t,N0),e=Ie(e),r=Ie(r,Ae);let{zip215:a}=n,s,x,i,c,d=Uint8Array.of();try{s=_e.fromHex(r,a),x=_e.fromHex(t.slice(0,Ae),a),i=Kr(t.slice(Ae,N0)),c=ke.multiply(i,!1),d=M0(x.toBytes(),s.toBytes(),e)}catch{}return{hashable:d,finish:f=>{if(c==null||!a&&s.isSmallOrder())return!1;let u=$t(f);return x.add(s.multiply(u,!1)).add(c.negate()).clearCofactor().is0()}}},ui=async(t,e,r,n=Xr)=>ea(na(t,e,r,n)),fi=(t,e,r,n=Xr)=>ta(na(t,e,r,n)),Zr={sha512Async:async(...t)=>{let e=ri(),r=M0(...t);return Zt(await e.digest("SHA-512",r.buffer))},sha512Sync:void 0,bytesToHex:zr,hexToBytes:Lr,concatBytes:M0,mod:V,invert:Ys,randomBytes:Xs},di={getExtendedPublicKeyAsync:Wr,getExtendedPublicKey:$r,randomPrivateKey:()=>Xs(Ae),precompute:(t=8,e=ke)=>(e.multiply(3n),e)},Xt=8,li=256,sa=Math.ceil(li/Xt)+1,Mr=2**(Xt-1),hi=()=>{let t=[],e=ke,r=e;for(let n=0;n<sa;n++){r=e,t.push(r);for(let a=1;a<Mr;a++)r=r.add(e),t.push(r);e=r.double()}return t},Ks=(t,e)=>{let r=e.negate();return t?r:e},pi=t=>{let e=Ls||(Ls=hi()),r=p0,n=ke,a=2**Xt,s=a,x=Wt(a-1),i=Wt(Xt);for(let c=0;c<sa;c++){let d=Number(t&x);t>>=i,d>Mr&&(d-=s,t+=1n);let o=c*Mr,f=o,u=o+Math.abs(d)-1,p=c%2!==0,y=d<0;d===0?n=n.add(Ks(p,e[f])):r=r.add(Ks(y,e[u]))}return{p:r,f:n}}});var oa=I(()=>{});var xa=I((ca,Yt)=>{var Yr=(()=>{var t=typeof document<"u"?document.currentScript?.src:void 0;return(async function(e={}){var r,n=e,a=typeof window=="object",s=typeof WorkerGlobalScope<"u",x=typeof process=="object"&&process.versions?.node&&process.type!="renderer",i=[],c="./this.program",d=(E,U)=>{throw U};typeof __filename<"u"?t=__filename:s&&(t=self.location.href);var o="";function f(E){return n.locateFile?n.locateFile(E,o):o+E}var u,p;if(x){var y=oa();o=__dirname+"/",p=E=>{E=b(E)?new URL(E):E;var U=y.readFileSync(E);return U},u=async(E,U=!0)=>{E=b(E)?new URL(E):E;var N=y.readFileSync(E,U?void 0:"utf8");return N},process.argv.length>1&&(c=process.argv[1].replace(/\\/g,"/")),i=process.argv.slice(2),d=(E,U)=>{throw process.exitCode=E,U}}else if(a||s){try{o=new URL(".",t).href}catch{}s&&(p=E=>{var U=new XMLHttpRequest;return U.open("GET",E,!1),U.responseType="arraybuffer",U.send(null),new Uint8Array(U.response)}),u=async E=>{if(b(E))return new Promise((N,W)=>{var Y=new XMLHttpRequest;Y.open("GET",E,!0),Y.responseType="arraybuffer",Y.onload=()=>{if(Y.status==200||Y.status==0&&Y.response){N(Y.response);return}W(Y.status)},Y.onerror=W,Y.send(null)});var U=await fetch(E,{credentials:"same-origin"});if(U.ok)return U.arrayBuffer();throw new Error(U.status+" : "+U.url)}}var g=console.log.bind(console),m=console.error.bind(console),l,h=!1,b=E=>E.startsWith("file://"),B,C,v,S,T,R,q,_,A,H,w,z,O,L=!1;function K(){var E=v.buffer;n.HEAP8=S=new Int8Array(E),R=new Int16Array(E),n.HEAPU8=T=new Uint8Array(E),q=new Uint16Array(E),n.HEAP32=_=new Int32Array(E),n.HEAPU32=A=new Uint32Array(E),H=new Float32Array(E),w=new Float64Array(E),z=new BigInt64Array(E),O=new BigUint64Array(E)}function D(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)fe(n.preRun.shift());Ue(ue)}function P(){L=!0,Ze.b()}function k(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)We(n.postRun.shift());Ue(x0)}var F=0,X=null;function J(E){F++,n.monitorRunDependencies?.(F)}function ie(E){if(F--,n.monitorRunDependencies?.(F),F==0&&X){var U=X;X=null,U()}}function G(E){n.onAbort?.(E),E="Aborted("+E+")",m(E),h=!0,E+=". Build with -sASSERTIONS for more info.";var U=new WebAssembly.RuntimeError(E);throw C?.(U),U}var De;function qe(){return f("orlp-ed25519.wasm")}function T0(E){if(E==De&&l)return new Uint8Array(l);if(p)return p(E);throw"both async and sync fetching of the wasm failed"}async function Ge(E){if(!l)try{var U=await u(E);return new Uint8Array(U)}catch{}return T0(E)}async function he(E,U){try{var N=await Ge(E),W=await WebAssembly.instantiate(N,U);return W}catch(Y){m(`failed to asynchronously prepare wasm: ${Y}`),G(Y)}}async function xe(E,U,N){if(!E&&typeof WebAssembly.instantiateStreaming=="function"&&!b(U)&&!x)try{var W=fetch(U,{credentials:"same-origin"}),Y=await WebAssembly.instantiateStreaming(W,N);return Y}catch(ee){m(`wasm streaming compile failed: ${ee}`),m("falling back to ArrayBuffer instantiation")}return he(U,N)}function c0(){return{a:nt}}async function je(){function E(ee,Q){return Ze=ee.exports,v=Ze.a,K(),Sr(Ze),ie("wasm-instantiate"),Ze}J("wasm-instantiate");function U(ee){return E(ee.instance)}var N=c0();if(n.instantiateWasm)return new Promise((ee,Q)=>{n.instantiateWasm(N,(re,Oe)=>{ee(E(re,Oe))})});De??(De=qe());var W=await xe(l,De,N),Y=U(W);return Y}class P0{constructor(U){Se(this,"name","ExitStatus");this.message=`Program terminated with exit(${U})`,this.status=U}}var Ue=E=>{for(;E.length>0;)E.shift()(n)},x0=[],We=E=>x0.push(E),ue=[],fe=E=>ue.push(E),Be=!0,u0=E=>k0(E),j0=()=>rt(),Fe=E=>{var U=n["_"+E];return U},$e=(E,U)=>{S.set(E,U)},Er=E=>{for(var U=0,N=0;N<E.length;++N){var W=E.charCodeAt(N);W<=127?U++:W<=2047?U+=2:W>=55296&&W<=57343?(U+=4,++N):U+=3}return U},W0=(E,U,N,W)=>{if(!(W>0))return 0;for(var Y=N,ee=N+W-1,Q=0;Q<E.length;++Q){var re=E.codePointAt(Q);if(re<=127){if(N>=ee)break;U[N++]=re}else if(re<=2047){if(N+1>=ee)break;U[N++]=192|re>>6,U[N++]=128|re&63}else if(re<=65535){if(N+2>=ee)break;U[N++]=224|re>>12,U[N++]=128|re>>6&63,U[N++]=128|re&63}else{if(N+3>=ee)break;U[N++]=240|re>>18,U[N++]=128|re>>12&63,U[N++]=128|re>>6&63,U[N++]=128|re&63,Q++}}return U[N]=0,N-Y},$0=(E,U,N)=>W0(E,T,U,N),we=E=>tt(E),Xe=E=>{var U=Er(E)+1,N=we(U);return $0(E,N,U),N},X0=typeof TextDecoder<"u"?new TextDecoder:void 0,Z0=(E,U=0,N=NaN)=>{for(var W=U+N,Y=U;E[Y]&&!(Y>=W);)++Y;if(Y-U>16&&E.buffer&&X0)return X0.decode(E.subarray(U,Y));for(var ee="";U<Y;){var Q=E[U++];if(!(Q&128)){ee+=String.fromCharCode(Q);continue}var re=E[U++]&63;if((Q&224)==192){ee+=String.fromCharCode((Q&31)<<6|re);continue}var Oe=E[U++]&63;if((Q&240)==224?Q=(Q&15)<<12|re<<6|Oe:Q=(Q&7)<<18|re<<12|Oe<<6|E[U++]&63,Q<65536)ee+=String.fromCharCode(Q);else{var Ye=Q-65536;ee+=String.fromCharCode(55296|Ye>>10,56320|Ye&1023)}}return ee},Y0=(E,U)=>E?Z0(T,E,U):"",J0=(E,U,N,W,Y)=>{var ee={string:pe=>{var R0=0;return pe!=null&&pe!==0&&(R0=Xe(pe)),R0},array:pe=>{var R0=we(pe.length);return $e(pe,R0),R0}};function Q(pe){return U==="string"?Y0(pe):U==="boolean"?!!pe:pe}var re=Fe(E),Oe=[],Ye=0;if(W)for(var Je=0;Je<W.length;Je++){var mn=ee[N[Je]];mn?(Ye===0&&(Ye=j0()),Oe[Je]=mn(W[Je])):Oe[Je]=W[Je]}var Tr=re(...Oe);function qa(pe){return Ye!==0&&u0(Ye),Q(pe)}return Tr=qa(Tr),Tr},Dr=(E,U,N,W)=>{var Y=!N||N.every(Q=>Q==="number"||Q==="boolean"),ee=U!=="string";return ee&&Y&&!W?Fe(E):(...Q)=>J0(E,U,N,Q,W)};n.noExitRuntime&&(Be=n.noExitRuntime),n.print&&(g=n.print),n.printErr&&(m=n.printErr),n.wasmBinary&&(l=n.wasmBinary),n.arguments&&(i=n.arguments),n.thisProgram&&(c=n.thisProgram),n.ccall=J0,n.cwrap=Dr;var Q0,Fr,et,wr,k0,tt,rt;function Sr(E){n._orlp_derive_public_key=Q0=E.c,n._orlp_validate_keypair=Fr=E.d,n._orlp_sign=et=E.e,n._orlp_verify=wr=E.f,k0=E.g,tt=E.h,rt=E.i}var nt={},Ze=await je();function H0(){if(F>0){X=H0;return}if(D(),F>0){X=H0;return}function E(){n.calledRun=!0,!h&&(P(),B?.(n),n.onRuntimeInitialized?.(),k())}n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),E()},1)):E()}function st(){if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()()}return st(),H0(),L?r=n:r=new Promise((E,U)=>{B=E,C=U}),r})})();typeof ca=="object"&&typeof Yt=="object"?(Yt.exports=Yr,Yt.exports.default=Yr):typeof define=="function"&&define.amd&&define([],()=>Yr)});var Qt=I(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});y0.derivePublicKey=vi;y0.validateKeyPair=gi;y0.sign=mi;y0.verify=Bi;var ge=ae(),yi=xa();async function Jt(){return await yi()}async function vi(t){let e=await Jt(),r=(0,ge.hexToBytes)(t);if(r.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`);let n=1024,a=1088;if(e.HEAPU8.set(r,n),e.ccall("orlp_derive_public_key","number",["number","number"],[a,n])!==0)throw new Error("orlp key derivation failed: invalid private key");let x=new Uint8Array(32);return x.set(e.HEAPU8.subarray(a,a+32)),(0,ge.bytesToHex)(x)}async function gi(t,e){try{let r=await Jt(),n=(0,ge.hexToBytes)(t),a=(0,ge.hexToBytes)(e);if(n.length!==64||a.length!==32)return!1;let s=2048,x=2112;return r.HEAPU8.set(n,s),r.HEAPU8.set(a,x),r.ccall("orlp_validate_keypair","number",["number","number"],[x,s])===1}catch{return!1}}async function mi(t,e,r){let n=await Jt(),a=(0,ge.hexToBytes)(t),s=(0,ge.hexToBytes)(e),x=(0,ge.hexToBytes)(r);if(s.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${s.length}`);if(x.length!==32)throw new Error(`Invalid public key length: expected 32 bytes, got ${x.length}`);let i=1e5,c=2e5,d=3e5,o=4e5;n.HEAPU8.set(a,i),n.HEAPU8.set(s,c),n.HEAPU8.set(x,d),n.ccall("orlp_sign","void",["number","number","number","number","number"],[o,i,a.length,d,c]);let f=new Uint8Array(64);return f.set(n.HEAPU8.subarray(o,o+64)),(0,ge.bytesToHex)(f)}async function Bi(t,e,r){try{let n=await Jt(),a=(0,ge.hexToBytes)(t),s=(0,ge.hexToBytes)(e),x=(0,ge.hexToBytes)(r);if(a.length!==64||x.length!==32)return!1;let i=5e5,c=6e5,d=7e5;return n.HEAPU8.set(a,c),n.HEAPU8.set(s,i),n.HEAPU8.set(x,d),n.ccall("orlp_verify","number",["number","number","number","number"],[c,i,s.length,d])===1}catch{return!1}}});var en=I(Ee=>{"use strict";var bi=Ee&&Ee.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,a)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Ci=Ee&&Ee.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Ai=Ee&&Ee.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[n.length]=a);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),a=0;a<n.length;a++)n[a]!=="default"&&bi(r,e,n[a]);return Ci(r,e),r}})();Object.defineProperty(Ee,"__esModule",{value:!0});Ee.Ed25519SignatureVerifier=void 0;var Qr=Ai((ia(),Cn(aa))),ze=ae(),ua=Qt();async function _i(t){if(typeof globalThis<"u"&&globalThis.crypto&&globalThis.crypto.subtle){let e=await globalThis.crypto.subtle.digest("SHA-512",t);return new Uint8Array(e)}if(typeof U0<"u")try{let{createHash:e}=it();return e("sha512").update(t).digest()}catch{}throw new Error("No SHA-512 implementation available")}function Ei(t){if(typeof U0<"u")try{let{createHash:e}=it();return e("sha512").update(t).digest()}catch{}try{let e=Hr(),r=e.lib.WordArray.create(t),n=e.SHA512(r),a=new Uint8Array(64);for(let s=0;s<16;s++){let x=n.words[s]||0;a[s*4]=x>>>24&255,a[s*4+1]=x>>>16&255,a[s*4+2]=x>>>8&255,a[s*4+3]=x&255}return a}catch{throw new Error("No SHA-512 implementation available for synchronous operation")}}Qr.etc.sha512Async=_i;try{Qr.etc.sha512Sync=Ei}catch(t){console.debug("Could not set up synchronous SHA-512:",t)}var Jr=class{static async verifyAdvertisementSignature(e,r,n,a){try{let s=(0,ze.hexToBytes)(e),x=(0,ze.hexToBytes)(r),i=(0,ze.hexToBytes)(a),c=this.constructAdvertSignedMessage(e,n,i);return await Qr.verify(x,c,s)}catch(s){return console.error("Ed25519 signature verification failed:",s),!1}}static constructAdvertSignedMessage(e,r,n){let a=(0,ze.hexToBytes)(e),s=new Uint8Array(4);s[0]=r&255,s[1]=r>>8&255,s[2]=r>>16&255,s[3]=r>>24&255;let x=new Uint8Array(36+n.length);return x.set(a,0),x.set(s,32),x.set(n,36),x}static getSignedMessageDescription(e,r,n){return`Public Key: ${e} + Timestamp: ${r} (${new Date(r*1e3).toISOString()}) + App Data: ${n}`}static getSignedMessageHex(e,r,n){let a=(0,ze.hexToBytes)(n),s=this.constructAdvertSignedMessage(e,r,a);return(0,ze.bytesToHex)(s)}static async derivePublicKey(e){try{let r=(0,ze.hexToBytes)(e);if(r.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`);return await(0,ua.derivePublicKey)(e)}catch(r){throw new Error(`Failed to derive public key: ${r instanceof Error?r.message:"Unknown error"}`)}}static derivePublicKeySync(e){try{let r=(0,ze.hexToBytes)(e);throw r.length!==64?new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`):new Error("Synchronous key derivation not supported with WASM. Use derivePublicKey() instead.")}catch(r){throw new Error(`Failed to derive public key: ${r instanceof Error?r.message:"Unknown error"}`)}}static async validateKeyPair(e,r){try{return await(0,ua.validateKeyPair)(e,r)}catch{return!1}}};Ee.Ed25519SignatureVerifier=Jr});var fa=I(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.AdvertPayloadDecoder=void 0;var ne=de(),Le=ae(),Di=d0(),Fi=en(),tn=class{static decode(e,r){try{if(e.length<101){let u={type:ne.PayloadType.Advert,version:ne.PayloadVersion.Version1,isValid:!1,errors:["Advertisement payload too short"],publicKey:"",timestamp:0,signature:"",appData:{flags:0,deviceRole:ne.DeviceRole.ChatNode,hasLocation:!1,hasName:!1}};return r?.includeSegments&&(u.segments=[{name:"Invalid Advert Data",description:"Advert payload too short (minimum 101 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,Le.bytesToHex)(e)}]),u}let n=[],a=r?.segmentOffset||0,s=0,x=(0,Le.bytesToHex)(e.subarray(s,s+32));r?.includeSegments&&n.push({name:"Public Key",description:"Ed25519 public key",startByte:a+s,endByte:a+s+31,value:x}),s+=32;let i=this.readUint32LE(e,s);if(r?.includeSegments){let u=new Date(i*1e3);n.push({name:"Timestamp",description:`${i} (${u.toISOString().slice(0,19)}Z)`,startByte:a+s,endByte:a+s+3,value:(0,Le.bytesToHex)(e.subarray(s,s+4))})}s+=4;let c=(0,Le.bytesToHex)(e.subarray(s,s+64));r?.includeSegments&&n.push({name:"Signature",description:"Ed25519 signature",startByte:a+s,endByte:a+s+63,value:c}),s+=64;let d=e[s];if(r?.includeSegments){let u=d.toString(2).padStart(8,"0"),p=this.parseDeviceRole(d),g=` | Bits 0-3 (Role): ${(0,Di.getDeviceRoleName)(p)} | Bit 4 (Location): ${d&ne.AdvertFlags.HasLocation?"Yes":"No"} | Bit 7 (Name): ${d&ne.AdvertFlags.HasName?"Yes":"No"}`;n.push({name:"App Flags",description:`Binary: ${u}${g}`,startByte:a+s,endByte:a+s,value:d.toString(16).padStart(2,"0").toUpperCase()})}s+=1;let o={type:ne.PayloadType.Advert,version:ne.PayloadVersion.Version1,isValid:!0,publicKey:x,timestamp:i,signature:c,appData:{flags:d,deviceRole:this.parseDeviceRole(d),hasLocation:!!(d&ne.AdvertFlags.HasLocation),hasName:!!(d&ne.AdvertFlags.HasName)}},f=s;if(d&ne.AdvertFlags.HasLocation&&e.length>=f+8){let u=this.readInt32LE(e,f)/1e6,p=this.readInt32LE(e,f+4)/1e6;o.appData.location={latitude:Math.round(u*1e6)/1e6,longitude:Math.round(p*1e6)/1e6},r?.includeSegments&&(n.push({name:"Latitude",description:`${u}\xB0 (${u})`,startByte:a+f,endByte:a+f+3,value:(0,Le.bytesToHex)(e.subarray(f,f+4))}),n.push({name:"Longitude",description:`${p}\xB0 (${p})`,startByte:a+f+4,endByte:a+f+7,value:(0,Le.bytesToHex)(e.subarray(f+4,f+8))})),f+=8}if(d&ne.AdvertFlags.HasFeature1&&(f+=2),d&ne.AdvertFlags.HasFeature2&&(f+=2),d&ne.AdvertFlags.HasName&&e.length>f){let u=e.subarray(f),p=new TextDecoder("utf-8").decode(u).replace(/\0.*$/,"");o.appData.name=this.sanitizeControlCharacters(p)||p,r?.includeSegments&&n.push({name:"Node Name",description:`Node name: "${o.appData.name}"`,startByte:a+f,endByte:a+e.length-1,value:(0,Le.bytesToHex)(u)})}return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:ne.PayloadType.Advert,version:ne.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode advertisement payload"],publicKey:"",timestamp:0,signature:"",appData:{flags:0,deviceRole:ne.DeviceRole.ChatNode,hasLocation:!1,hasName:!1}}}}static async decodeWithVerification(e,r){let n=this.decode(e,r);if(!n||!n.isValid)return n;try{let s=e.subarray(100),x=(0,Le.bytesToHex)(s),i=await Fi.Ed25519SignatureVerifier.verifyAdvertisementSignature(n.publicKey,n.signature,n.timestamp,x);n.signatureValid=i,i||(n.signatureError="Ed25519 signature verification failed",n.isValid=!1,n.errors||(n.errors=[]),n.errors.push("Invalid Ed25519 signature"))}catch(a){n.signatureValid=!1,n.signatureError=a instanceof Error?a.message:"Signature verification error",n.isValid=!1,n.errors||(n.errors=[]),n.errors.push("Signature verification failed: "+(a instanceof Error?a.message:"Unknown error"))}return n}static parseDeviceRole(e){switch(e&15){case 1:return ne.DeviceRole.ChatNode;case 2:return ne.DeviceRole.Repeater;case 3:return ne.DeviceRole.RoomServer;case 4:return ne.DeviceRole.Sensor;default:return ne.DeviceRole.ChatNode}}static readUint32LE(e,r){return e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24}static readInt32LE(e,r){let n=this.readUint32LE(e,r);return n>2147483647?n-4294967296:n}static sanitizeControlCharacters(e){return e&&e.trim().replace(/[\x00-\x1F\x7F]/g,"")||null}};er.AdvertPayloadDecoder=tn});var da=I(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.TracePayloadDecoder=void 0;var v0=de(),g0=ae(),rn=class{static decode(e,r,n){try{if(e.length<9){let g={type:v0.PayloadType.Trace,version:v0.PayloadVersion.Version1,isValid:!1,errors:["Trace payload too short (need at least tag(4) + auth(4) + flags(1))"],traceTag:"00000000",authCode:0,flags:0,pathHashes:[]};return n?.includeSegments&&(g.segments=[{name:"Invalid Trace Data",description:"Trace payload too short (minimum 9 bytes required)",startByte:n.segmentOffset||0,endByte:(n.segmentOffset||0)+e.length-1,value:(0,g0.bytesToHex)(e)}]),g}let a=0,s=[],x=n?.segmentOffset||0,i=this.readUint32LE(e,a),c=(0,g0.numberToHex)(i,8);n?.includeSegments&&s.push({name:"Trace Tag",description:`Unique identifier for this trace: 0x${i.toString(16).padStart(8,"0")}`,startByte:x+a,endByte:x+a+3,value:(0,g0.bytesToHex)(e.slice(a,a+4))}),a+=4;let d=this.readUint32LE(e,a);n?.includeSegments&&s.push({name:"Auth Code",description:`Authentication/verification code: ${d}`,startByte:x+a,endByte:x+a+3,value:(0,g0.bytesToHex)(e.slice(a,a+4))}),a+=4;let o=e[a];n?.includeSegments&&s.push({name:"Flags",description:`Application-defined control flags: 0x${o.toString(16).padStart(2,"0")} (${o.toString(2).padStart(8,"0")}b)`,startByte:x+a,endByte:x+a,value:o.toString(16).padStart(2,"0").toUpperCase()}),a+=1;let f=[],u=a;for(;a<e.length;)f.push((0,g0.byteToHex)(e[a])),a++;if(n?.includeSegments&&f.length>0){let g=f.join(" ");s.push({name:"Path Hashes",description:`Node hashes in trace path: ${g}`,startByte:x+u,endByte:x+e.length-1,value:(0,g0.bytesToHex)(e.slice(u))})}let p;r&&r.length>0&&(p=r.map(g=>{let m=parseInt(g,16);return(m>127?m-256:m)/4}));let y={type:v0.PayloadType.Trace,version:v0.PayloadVersion.Version1,isValid:!0,traceTag:c,authCode:d,flags:o,pathHashes:f,snrValues:p};return n?.includeSegments&&(y.segments=s),y}catch(a){return{type:v0.PayloadType.Trace,version:v0.PayloadVersion.Version1,isValid:!1,errors:[a instanceof Error?a.message:"Failed to decode trace payload"],traceTag:"00000000",authCode:0,flags:0,pathHashes:[]}}}static readUint32LE(e,r){return e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24}};tr.TracePayloadDecoder=rn});var la=I(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.GroupTextPayloadDecoder=void 0;var m0=de(),wi=Kt(),rr=ae(),nn=class{static decode(e,r){try{if(e.length<3){let o={type:m0.PayloadType.GroupText,version:m0.PayloadVersion.Version1,isValid:!1,errors:["GroupText payload too short (need at least channel_hash(1) + MAC(2))"],channelHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(o.segments=[{name:"Invalid GroupText Data",description:"GroupText payload too short (minimum 3 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,rr.bytesToHex)(e)}]),o}let n=[],a=r?.segmentOffset||0,s=0,x=(0,rr.byteToHex)(e[s]);r?.includeSegments&&n.push({name:"Channel Hash",description:"First byte of SHA256 of channel's shared key",startByte:a+s,endByte:a+s,value:x}),s+=1;let i=(0,rr.bytesToHex)(e.subarray(s,s+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data",startByte:a+s,endByte:a+s+1,value:i}),s+=2;let c=(0,rr.bytesToHex)(e.subarray(s));r?.includeSegments&&e.length>s&&n.push({name:"Ciphertext",description:"Encrypted message content (timestamp + flags + message)",startByte:a+s,endByte:a+e.length-1,value:c});let d={type:m0.PayloadType.GroupText,version:m0.PayloadVersion.Version1,isValid:!0,channelHash:x,cipherMac:i,ciphertext:c,ciphertextLength:e.length-3};if(r?.keyStore&&r.keyStore.hasChannelKey(x)){let o=r.keyStore.getChannelKeys(x);for(let f of o){let u=wi.ChannelCrypto.decryptGroupTextMessage(c,i,f);if(u.success&&u.data){d.decrypted={timestamp:u.data.timestamp,flags:u.data.flags,sender:u.data.sender,message:u.data.message};break}}}return r?.includeSegments&&(d.segments=n),d}catch(n){return{type:m0.PayloadType.GroupText,version:m0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode GroupText payload"],channelHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};nr.GroupTextPayloadDecoder=nn});var ha=I(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.RequestPayloadDecoder=void 0;var He=de(),I0=ae(),sn=class{static decode(e,r){try{if(e.length<4){let f={type:He.PayloadType.Request,version:He.PayloadVersion.Version1,isValid:!1,errors:["Request payload too short (minimum 4 bytes: dest hash + source hash + MAC)"],timestamp:0,requestType:He.RequestType.GetStats,requestData:"",destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:""};return r?.includeSegments&&(f.segments=[{name:"Invalid Request Data",description:"Request payload too short (minimum 4 bytes required: 1 for dest hash + 1 for source hash + 2 for MAC)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,I0.bytesToHex)(e)}]),f}let n=[],a=r?.segmentOffset||0,s=0,x=(0,I0.bytesToHex)(e.subarray(s,s+1));r?.includeSegments&&n.push({name:"Destination Hash",description:`First byte of destination node public key: 0x${x}`,startByte:a+s,endByte:a+s,value:x}),s+=1;let i=(0,I0.bytesToHex)(e.subarray(s,s+1));r?.includeSegments&&n.push({name:"Source Hash",description:`First byte of source node public key: 0x${i}`,startByte:a+s,endByte:a+s,value:i}),s+=1;let c=(0,I0.bytesToHex)(e.subarray(s,s+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data verification (2 bytes)",startByte:a+s,endByte:a+s+1,value:c}),s+=2;let d=(0,I0.bytesToHex)(e.subarray(s));r?.includeSegments&&e.length>s&&n.push({name:"Ciphertext",description:`Encrypted message data (${e.length-s} bytes). Contains encrypted plaintext with this structure:
|
|
15
|
+
"use strict";var MeshCoreCracker=(()=>{var Ua=Object.create;var q0=Object.defineProperty;var Oa=Object.getOwnPropertyDescriptor;var Va=Object.getOwnPropertyNames;var Na=Object.getPrototypeOf,Ma=Object.prototype.hasOwnProperty;var Ia=(t,e,r)=>e in t?q0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var U0=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var za=(t,e)=>()=>(t&&(e=t(t=0)),e);var I=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Bn=(t,e)=>{for(var r in e)q0(t,r,{get:e[r],enumerable:!0})},bn=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Va(e))!Ma.call(t,a)&&a!==r&&q0(t,a,{get:()=>e[a],enumerable:!(n=Oa(e,a))||n.enumerable});return t};var at=(t,e,r)=>(r=t!=null?Ua(Na(t)):{},bn(e||!t||!t.__esModule?q0(r,"default",{value:t,enumerable:!0}):r,t)),Cn=t=>bn(q0({},"__esModule",{value:!0}),t);var Se=(t,e,r)=>Ia(t,typeof e!="symbol"?e+"":e,r);var de=I(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.RequestType=oe.AdvertFlags=oe.DeviceRole=oe.PayloadVersion=oe.ControlSubType=oe.PayloadType=oe.RouteType=void 0;var An;(function(t){t[t.TransportFlood=0]="TransportFlood",t[t.Flood=1]="Flood",t[t.Direct=2]="Direct",t[t.TransportDirect=3]="TransportDirect"})(An||(oe.RouteType=An={}));var _n;(function(t){t[t.Request=0]="Request",t[t.Response=1]="Response",t[t.TextMessage=2]="TextMessage",t[t.Ack=3]="Ack",t[t.Advert=4]="Advert",t[t.GroupText=5]="GroupText",t[t.GroupData=6]="GroupData",t[t.AnonRequest=7]="AnonRequest",t[t.Path=8]="Path",t[t.Trace=9]="Trace",t[t.Multipart=10]="Multipart",t[t.Control=11]="Control",t[t.RawCustom=15]="RawCustom"})(_n||(oe.PayloadType=_n={}));var En;(function(t){t[t.NodeDiscoverReq=128]="NodeDiscoverReq",t[t.NodeDiscoverResp=144]="NodeDiscoverResp"})(En||(oe.ControlSubType=En={}));var Dn;(function(t){t[t.Version1=0]="Version1",t[t.Version2=1]="Version2",t[t.Version3=2]="Version3",t[t.Version4=3]="Version4"})(Dn||(oe.PayloadVersion=Dn={}));var Fn;(function(t){t[t.Unknown=0]="Unknown",t[t.ChatNode=1]="ChatNode",t[t.Repeater=2]="Repeater",t[t.RoomServer=3]="RoomServer",t[t.Sensor=4]="Sensor"})(Fn||(oe.DeviceRole=Fn={}));var wn;(function(t){t[t.HasLocation=16]="HasLocation",t[t.HasFeature1=32]="HasFeature1",t[t.HasFeature2=64]="HasFeature2",t[t.HasName=128]="HasName"})(wn||(oe.AdvertFlags=wn={}));var Sn;(function(t){t[t.GetStats=1]="GetStats",t[t.Keepalive=2]="Keepalive",t[t.GetTelemetryData=3]="GetTelemetryData",t[t.GetMinMaxAvgData=4]="GetMinMaxAvgData",t[t.GetAccessList=5]="GetAccessList"})(Sn||(oe.RequestType=Sn={}))});var ae=I(f0=>{"use strict";Object.defineProperty(f0,"__esModule",{value:!0});f0.byteToHex=Tn;f0.bytesToHex=La;f0.numberToHex=Ka;f0.hexToBytes=Ga;function Tn(t){return t.toString(16).padStart(2,"0").toUpperCase()}function La(t){return Array.from(t).map(Tn).join("")}function Ka(t,e=8){return(t>>>0).toString(16).padStart(e,"0").toUpperCase()}function Ga(t){let e=t.replace(/\s/g,"").toUpperCase();if(!/^[0-9A-F]*$/.test(e))throw new Error("Invalid hex string: invalid characters at position 0");if(e.length%2!==0)throw new Error("Invalid hex string: odd length");let r=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)r[n/2]=parseInt(e.substr(n,2),16);return r}});var d0=I(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.getRouteTypeName=ja;Ve.getPayloadTypeName=Wa;Ve.getPayloadVersionName=$a;Ve.getDeviceRoleName=Xa;Ve.getRequestTypeName=Za;Ve.getControlSubTypeName=Ya;var Z=de();function ja(t){switch(t){case Z.RouteType.Flood:return"Flood";case Z.RouteType.Direct:return"Direct";case Z.RouteType.TransportFlood:return"TransportFlood";case Z.RouteType.TransportDirect:return"TransportDirect";default:return`Unknown (${t})`}}function Wa(t){switch(t){case Z.PayloadType.RawCustom:return"RawCustom";case Z.PayloadType.Trace:return"Trace";case Z.PayloadType.Advert:return"Advert";case Z.PayloadType.GroupText:return"GroupText";case Z.PayloadType.GroupData:return"GroupData";case Z.PayloadType.Request:return"Request";case Z.PayloadType.Response:return"Response";case Z.PayloadType.TextMessage:return"TextMessage";case Z.PayloadType.AnonRequest:return"AnonRequest";case Z.PayloadType.Ack:return"Ack";case Z.PayloadType.Path:return"Path";case Z.PayloadType.Multipart:return"Multipart";case Z.PayloadType.Control:return"Control";default:return`Unknown (0x${t.toString(16)})`}}function $a(t){switch(t){case Z.PayloadVersion.Version1:return"Version 1";case Z.PayloadVersion.Version2:return"Version 2";case Z.PayloadVersion.Version3:return"Version 3";case Z.PayloadVersion.Version4:return"Version 4";default:return`Unknown (${t})`}}function Xa(t){switch(t){case Z.DeviceRole.Unknown:return"Unknown";case Z.DeviceRole.ChatNode:return"Chat Node";case Z.DeviceRole.Repeater:return"Repeater";case Z.DeviceRole.RoomServer:return"Room Server";case Z.DeviceRole.Sensor:return"Sensor";default:return`Unknown (${t})`}}function Za(t){switch(t){case Z.RequestType.GetStats:return"Get Stats";case Z.RequestType.Keepalive:return"Keepalive (deprecated)";case Z.RequestType.GetTelemetryData:return"Get Telemetry Data";case Z.RequestType.GetMinMaxAvgData:return"Get Min/Max/Avg Data";case Z.RequestType.GetAccessList:return"Get Access List";default:return`Unknown (${t})`}}function Ya(t){switch(t){case Z.ControlSubType.NodeDiscoverReq:return"Node Discover Request";case Z.ControlSubType.NodeDiscoverResp:return"Node Discover Response";default:return`Unknown (0x${t.toString(16)})`}}});var it=I(()=>{});var j=I((ot,Pn)=>{(function(t,e){typeof ot=="object"?Pn.exports=ot=e():typeof define=="function"&&define.amd?define([],e):t.CryptoJS=e()})(ot,function(){var t=t||(function(e,r){var n;if(typeof window<"u"&&window.crypto&&(n=window.crypto),typeof self<"u"&&self.crypto&&(n=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<"u"&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<"u"&&global.crypto&&(n=global.crypto),!n&&typeof U0=="function")try{n=it()}catch{}var a=function(){if(n){if(typeof n.getRandomValues=="function")try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes=="function")try{return n.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},s=Object.create||(function(){function l(){}return function(h){var b;return l.prototype=h,b=new l,l.prototype=null,b}})(),c={},i=c.lib={},x=i.Base=(function(){return{extend:function(l){var h=s(this);return l&&h.mixIn(l),(!h.hasOwnProperty("init")||this.init===h.init)&&(h.init=function(){h.$super.init.apply(this,arguments)}),h.init.prototype=h,h.$super=this,h},create:function(){var l=this.extend();return l.init.apply(l,arguments),l},init:function(){},mixIn:function(l){for(var h in l)l.hasOwnProperty(h)&&(this[h]=l[h]);l.hasOwnProperty("toString")&&(this.toString=l.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),d=i.WordArray=x.extend({init:function(l,h){l=this.words=l||[],h!=r?this.sigBytes=h:this.sigBytes=l.length*4},toString:function(l){return(l||f).stringify(this)},concat:function(l){var h=this.words,b=l.words,B=this.sigBytes,C=l.sigBytes;if(this.clamp(),B%4)for(var v=0;v<C;v++){var S=b[v>>>2]>>>24-v%4*8&255;h[B+v>>>2]|=S<<24-(B+v)%4*8}else for(var T=0;T<C;T+=4)h[B+T>>>2]=b[T>>>2];return this.sigBytes+=C,this},clamp:function(){var l=this.words,h=this.sigBytes;l[h>>>2]&=4294967295<<32-h%4*8,l.length=e.ceil(h/4)},clone:function(){var l=x.clone.call(this);return l.words=this.words.slice(0),l},random:function(l){for(var h=[],b=0;b<l;b+=4)h.push(a());return new d.init(h,l)}}),o=c.enc={},f=o.Hex={stringify:function(l){for(var h=l.words,b=l.sigBytes,B=[],C=0;C<b;C++){var v=h[C>>>2]>>>24-C%4*8&255;B.push((v>>>4).toString(16)),B.push((v&15).toString(16))}return B.join("")},parse:function(l){for(var h=l.length,b=[],B=0;B<h;B+=2)b[B>>>3]|=parseInt(l.substr(B,2),16)<<24-B%8*4;return new d.init(b,h/2)}},u=o.Latin1={stringify:function(l){for(var h=l.words,b=l.sigBytes,B=[],C=0;C<b;C++){var v=h[C>>>2]>>>24-C%4*8&255;B.push(String.fromCharCode(v))}return B.join("")},parse:function(l){for(var h=l.length,b=[],B=0;B<h;B++)b[B>>>2]|=(l.charCodeAt(B)&255)<<24-B%4*8;return new d.init(b,h)}},p=o.Utf8={stringify:function(l){try{return decodeURIComponent(escape(u.stringify(l)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(l){return u.parse(unescape(encodeURIComponent(l)))}},y=i.BufferedBlockAlgorithm=x.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(l){typeof l=="string"&&(l=p.parse(l)),this._data.concat(l),this._nDataBytes+=l.sigBytes},_process:function(l){var h,b=this._data,B=b.words,C=b.sigBytes,v=this.blockSize,S=v*4,T=C/S;l?T=e.ceil(T):T=e.max((T|0)-this._minBufferSize,0);var R=T*v,q=e.min(R*4,C);if(R){for(var _=0;_<R;_+=v)this._doProcessBlock(B,_);h=B.splice(0,R),b.sigBytes-=q}return new d.init(h,q)},clone:function(){var l=x.clone.call(this);return l._data=this._data.clone(),l},_minBufferSize:0}),g=i.Hasher=y.extend({cfg:x.extend(),init:function(l){this.cfg=this.cfg.extend(l),this.reset()},reset:function(){y.reset.call(this),this._doReset()},update:function(l){return this._append(l),this._process(),this},finalize:function(l){l&&this._append(l);var h=this._doFinalize();return h},blockSize:512/32,_createHelper:function(l){return function(h,b){return new l.init(b).finalize(h)}},_createHmacHelper:function(l){return function(h,b){return new m.HMAC.init(l,b).finalize(h)}}}),m=c.algo={};return c})(Math);return t})});var O0=I((ct,kn)=>{(function(t,e){typeof ct=="object"?kn.exports=ct=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ct,function(t){return(function(e){var r=t,n=r.lib,a=n.Base,s=n.WordArray,c=r.x64={},i=c.Word=a.extend({init:function(d,o){this.high=d,this.low=o}}),x=c.WordArray=a.extend({init:function(d,o){d=this.words=d||[],o!=e?this.sigBytes=o:this.sigBytes=d.length*8},toX32:function(){for(var d=this.words,o=d.length,f=[],u=0;u<o;u++){var p=d[u];f.push(p.high),f.push(p.low)}return s.create(f,this.sigBytes)},clone:function(){for(var d=a.clone.call(this),o=d.words=this.words.slice(0),f=o.length,u=0;u<f;u++)o[u]=o[u].clone();return d}})})(),t})});var Rn=I((xt,Hn)=>{(function(t,e){typeof xt=="object"?Hn.exports=xt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(xt,function(t){return(function(){if(typeof ArrayBuffer=="function"){var e=t,r=e.lib,n=r.WordArray,a=n.init,s=n.init=function(c){if(c instanceof ArrayBuffer&&(c=new Uint8Array(c)),(c instanceof Int8Array||typeof Uint8ClampedArray<"u"&&c instanceof Uint8ClampedArray||c instanceof Int16Array||c instanceof Uint16Array||c instanceof Int32Array||c instanceof Uint32Array||c instanceof Float32Array||c instanceof Float64Array)&&(c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)),c instanceof Uint8Array){for(var i=c.byteLength,x=[],d=0;d<i;d++)x[d>>>2]|=c[d]<<24-d%4*8;a.call(this,x,i)}else a.apply(this,arguments)};s.prototype=n}})(),t.lib.WordArray})});var Un=I((ut,qn)=>{(function(t,e){typeof ut=="object"?qn.exports=ut=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ut,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=e.enc,s=a.Utf16=a.Utf16BE={stringify:function(i){for(var x=i.words,d=i.sigBytes,o=[],f=0;f<d;f+=2){var u=x[f>>>2]>>>16-f%4*8&65535;o.push(String.fromCharCode(u))}return o.join("")},parse:function(i){for(var x=i.length,d=[],o=0;o<x;o++)d[o>>>1]|=i.charCodeAt(o)<<16-o%2*16;return n.create(d,x*2)}};a.Utf16LE={stringify:function(i){for(var x=i.words,d=i.sigBytes,o=[],f=0;f<d;f+=2){var u=c(x[f>>>2]>>>16-f%4*8&65535);o.push(String.fromCharCode(u))}return o.join("")},parse:function(i){for(var x=i.length,d=[],o=0;o<x;o++)d[o>>>1]|=c(i.charCodeAt(o)<<16-o%2*16);return n.create(d,x*2)}};function c(i){return i<<8&4278255360|i>>>8&16711935}})(),t.enc.Utf16})});var Ne=I((ft,On)=>{(function(t,e){typeof ft=="object"?On.exports=ft=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ft,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=e.enc,s=a.Base64={stringify:function(i){var x=i.words,d=i.sigBytes,o=this._map;i.clamp();for(var f=[],u=0;u<d;u+=3)for(var p=x[u>>>2]>>>24-u%4*8&255,y=x[u+1>>>2]>>>24-(u+1)%4*8&255,g=x[u+2>>>2]>>>24-(u+2)%4*8&255,m=p<<16|y<<8|g,l=0;l<4&&u+l*.75<d;l++)f.push(o.charAt(m>>>6*(3-l)&63));var h=o.charAt(64);if(h)for(;f.length%4;)f.push(h);return f.join("")},parse:function(i){var x=i.length,d=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var f=0;f<d.length;f++)o[d.charCodeAt(f)]=f}var u=d.charAt(64);if(u){var p=i.indexOf(u);p!==-1&&(x=p)}return c(i,x,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function c(i,x,d){for(var o=[],f=0,u=0;u<x;u++)if(u%4){var p=d[i.charCodeAt(u-1)]<<u%4*2,y=d[i.charCodeAt(u)]>>>6-u%4*2,g=p|y;o[f>>>2]|=g<<24-f%4*8,f++}return n.create(o,f)}})(),t.enc.Base64})});var Nn=I((dt,Vn)=>{(function(t,e){typeof dt=="object"?Vn.exports=dt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(dt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=e.enc,s=a.Base64url={stringify:function(i,x){x===void 0&&(x=!0);var d=i.words,o=i.sigBytes,f=x?this._safe_map:this._map;i.clamp();for(var u=[],p=0;p<o;p+=3)for(var y=d[p>>>2]>>>24-p%4*8&255,g=d[p+1>>>2]>>>24-(p+1)%4*8&255,m=d[p+2>>>2]>>>24-(p+2)%4*8&255,l=y<<16|g<<8|m,h=0;h<4&&p+h*.75<o;h++)u.push(f.charAt(l>>>6*(3-h)&63));var b=f.charAt(64);if(b)for(;u.length%4;)u.push(b);return u.join("")},parse:function(i,x){x===void 0&&(x=!0);var d=i.length,o=x?this._safe_map:this._map,f=this._reverseMap;if(!f){f=this._reverseMap=[];for(var u=0;u<o.length;u++)f[o.charCodeAt(u)]=u}var p=o.charAt(64);if(p){var y=i.indexOf(p);y!==-1&&(d=y)}return c(i,d,f)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function c(i,x,d){for(var o=[],f=0,u=0;u<x;u++)if(u%4){var p=d[i.charCodeAt(u-1)]<<u%4*2,y=d[i.charCodeAt(u)]>>>6-u%4*2,g=p|y;o[f>>>2]|=g<<24-f%4*8,f++}return n.create(o,f)}})(),t.enc.Base64url})});var Me=I((lt,Mn)=>{(function(t,e){typeof lt=="object"?Mn.exports=lt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(lt,function(t){return(function(e){var r=t,n=r.lib,a=n.WordArray,s=n.Hasher,c=r.algo,i=[];(function(){for(var p=0;p<64;p++)i[p]=e.abs(e.sin(p+1))*4294967296|0})();var x=c.MD5=s.extend({_doReset:function(){this._hash=new a.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,y){for(var g=0;g<16;g++){var m=y+g,l=p[m];p[m]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360}var h=this._hash.words,b=p[y+0],B=p[y+1],C=p[y+2],v=p[y+3],S=p[y+4],T=p[y+5],R=p[y+6],q=p[y+7],_=p[y+8],A=p[y+9],H=p[y+10],w=p[y+11],z=p[y+12],O=p[y+13],L=p[y+14],K=p[y+15],D=h[0],P=h[1],k=h[2],F=h[3];D=d(D,P,k,F,b,7,i[0]),F=d(F,D,P,k,B,12,i[1]),k=d(k,F,D,P,C,17,i[2]),P=d(P,k,F,D,v,22,i[3]),D=d(D,P,k,F,S,7,i[4]),F=d(F,D,P,k,T,12,i[5]),k=d(k,F,D,P,R,17,i[6]),P=d(P,k,F,D,q,22,i[7]),D=d(D,P,k,F,_,7,i[8]),F=d(F,D,P,k,A,12,i[9]),k=d(k,F,D,P,H,17,i[10]),P=d(P,k,F,D,w,22,i[11]),D=d(D,P,k,F,z,7,i[12]),F=d(F,D,P,k,O,12,i[13]),k=d(k,F,D,P,L,17,i[14]),P=d(P,k,F,D,K,22,i[15]),D=o(D,P,k,F,B,5,i[16]),F=o(F,D,P,k,R,9,i[17]),k=o(k,F,D,P,w,14,i[18]),P=o(P,k,F,D,b,20,i[19]),D=o(D,P,k,F,T,5,i[20]),F=o(F,D,P,k,H,9,i[21]),k=o(k,F,D,P,K,14,i[22]),P=o(P,k,F,D,S,20,i[23]),D=o(D,P,k,F,A,5,i[24]),F=o(F,D,P,k,L,9,i[25]),k=o(k,F,D,P,v,14,i[26]),P=o(P,k,F,D,_,20,i[27]),D=o(D,P,k,F,O,5,i[28]),F=o(F,D,P,k,C,9,i[29]),k=o(k,F,D,P,q,14,i[30]),P=o(P,k,F,D,z,20,i[31]),D=f(D,P,k,F,T,4,i[32]),F=f(F,D,P,k,_,11,i[33]),k=f(k,F,D,P,w,16,i[34]),P=f(P,k,F,D,L,23,i[35]),D=f(D,P,k,F,B,4,i[36]),F=f(F,D,P,k,S,11,i[37]),k=f(k,F,D,P,q,16,i[38]),P=f(P,k,F,D,H,23,i[39]),D=f(D,P,k,F,O,4,i[40]),F=f(F,D,P,k,b,11,i[41]),k=f(k,F,D,P,v,16,i[42]),P=f(P,k,F,D,R,23,i[43]),D=f(D,P,k,F,A,4,i[44]),F=f(F,D,P,k,z,11,i[45]),k=f(k,F,D,P,K,16,i[46]),P=f(P,k,F,D,C,23,i[47]),D=u(D,P,k,F,b,6,i[48]),F=u(F,D,P,k,q,10,i[49]),k=u(k,F,D,P,L,15,i[50]),P=u(P,k,F,D,T,21,i[51]),D=u(D,P,k,F,z,6,i[52]),F=u(F,D,P,k,v,10,i[53]),k=u(k,F,D,P,H,15,i[54]),P=u(P,k,F,D,B,21,i[55]),D=u(D,P,k,F,_,6,i[56]),F=u(F,D,P,k,K,10,i[57]),k=u(k,F,D,P,R,15,i[58]),P=u(P,k,F,D,O,21,i[59]),D=u(D,P,k,F,S,6,i[60]),F=u(F,D,P,k,w,10,i[61]),k=u(k,F,D,P,C,15,i[62]),P=u(P,k,F,D,A,21,i[63]),h[0]=h[0]+D|0,h[1]=h[1]+P|0,h[2]=h[2]+k|0,h[3]=h[3]+F|0},_doFinalize:function(){var p=this._data,y=p.words,g=this._nDataBytes*8,m=p.sigBytes*8;y[m>>>5]|=128<<24-m%32;var l=e.floor(g/4294967296),h=g;y[(m+64>>>9<<4)+15]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,y[(m+64>>>9<<4)+14]=(h<<8|h>>>24)&16711935|(h<<24|h>>>8)&4278255360,p.sigBytes=(y.length+1)*4,this._process();for(var b=this._hash,B=b.words,C=0;C<4;C++){var v=B[C];B[C]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360}return b},clone:function(){var p=s.clone.call(this);return p._hash=this._hash.clone(),p}});function d(p,y,g,m,l,h,b){var B=p+(y&g|~y&m)+l+b;return(B<<h|B>>>32-h)+y}function o(p,y,g,m,l,h,b){var B=p+(y&m|g&~m)+l+b;return(B<<h|B>>>32-h)+y}function f(p,y,g,m,l,h,b){var B=p+(y^g^m)+l+b;return(B<<h|B>>>32-h)+y}function u(p,y,g,m,l,h,b){var B=p+(g^(y|~m))+l+b;return(B<<h|B>>>32-h)+y}r.MD5=s._createHelper(x),r.HmacMD5=s._createHmacHelper(x)})(Math),t.MD5})});var Pr=I((ht,In)=>{(function(t,e){typeof ht=="object"?In.exports=ht=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ht,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=r.Hasher,s=e.algo,c=[],i=s.SHA1=a.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(x,d){for(var o=this._hash.words,f=o[0],u=o[1],p=o[2],y=o[3],g=o[4],m=0;m<80;m++){if(m<16)c[m]=x[d+m]|0;else{var l=c[m-3]^c[m-8]^c[m-14]^c[m-16];c[m]=l<<1|l>>>31}var h=(f<<5|f>>>27)+g+c[m];m<20?h+=(u&p|~u&y)+1518500249:m<40?h+=(u^p^y)+1859775393:m<60?h+=(u&p|u&y|p&y)-1894007588:h+=(u^p^y)-899497514,g=y,y=p,p=u<<30|u>>>2,u=f,f=h}o[0]=o[0]+f|0,o[1]=o[1]+u|0,o[2]=o[2]+p|0,o[3]=o[3]+y|0,o[4]=o[4]+g|0},_doFinalize:function(){var x=this._data,d=x.words,o=this._nDataBytes*8,f=x.sigBytes*8;return d[f>>>5]|=128<<24-f%32,d[(f+64>>>9<<4)+14]=Math.floor(o/4294967296),d[(f+64>>>9<<4)+15]=o,x.sigBytes=d.length*4,this._process(),this._hash},clone:function(){var x=a.clone.call(this);return x._hash=this._hash.clone(),x}});e.SHA1=a._createHelper(i),e.HmacSHA1=a._createHmacHelper(i)})(),t.SHA1})});var l0=I((pt,zn)=>{(function(t,e){typeof pt=="object"?zn.exports=pt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(pt,function(t){return(function(e){var r=t,n=r.lib,a=n.WordArray,s=n.Hasher,c=r.algo,i=[],x=[];(function(){function f(g){for(var m=e.sqrt(g),l=2;l<=m;l++)if(!(g%l))return!1;return!0}function u(g){return(g-(g|0))*4294967296|0}for(var p=2,y=0;y<64;)f(p)&&(y<8&&(i[y]=u(e.pow(p,1/2))),x[y]=u(e.pow(p,1/3)),y++),p++})();var d=[],o=c.SHA256=s.extend({_doReset:function(){this._hash=new a.init(i.slice(0))},_doProcessBlock:function(f,u){for(var p=this._hash.words,y=p[0],g=p[1],m=p[2],l=p[3],h=p[4],b=p[5],B=p[6],C=p[7],v=0;v<64;v++){if(v<16)d[v]=f[u+v]|0;else{var S=d[v-15],T=(S<<25|S>>>7)^(S<<14|S>>>18)^S>>>3,R=d[v-2],q=(R<<15|R>>>17)^(R<<13|R>>>19)^R>>>10;d[v]=T+d[v-7]+q+d[v-16]}var _=h&b^~h&B,A=y&g^y&m^g&m,H=(y<<30|y>>>2)^(y<<19|y>>>13)^(y<<10|y>>>22),w=(h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25),z=C+w+_+x[v]+d[v],O=H+A;C=B,B=b,b=h,h=l+z|0,l=m,m=g,g=y,y=z+O|0}p[0]=p[0]+y|0,p[1]=p[1]+g|0,p[2]=p[2]+m|0,p[3]=p[3]+l|0,p[4]=p[4]+h|0,p[5]=p[5]+b|0,p[6]=p[6]+B|0,p[7]=p[7]+C|0},_doFinalize:function(){var f=this._data,u=f.words,p=this._nDataBytes*8,y=f.sigBytes*8;return u[y>>>5]|=128<<24-y%32,u[(y+64>>>9<<4)+14]=e.floor(p/4294967296),u[(y+64>>>9<<4)+15]=p,f.sigBytes=u.length*4,this._process(),this._hash},clone:function(){var f=s.clone.call(this);return f._hash=this._hash.clone(),f}});r.SHA256=s._createHelper(o),r.HmacSHA256=s._createHmacHelper(o)})(Math),t.SHA256})});var Kn=I((yt,Ln)=>{(function(t,e,r){typeof yt=="object"?Ln.exports=yt=e(j(),l0()):typeof define=="function"&&define.amd?define(["./core","./sha256"],e):e(t.CryptoJS)})(yt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=e.algo,s=a.SHA256,c=a.SHA224=s.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var i=s._doFinalize.call(this);return i.sigBytes-=4,i}});e.SHA224=s._createHelper(c),e.HmacSHA224=s._createHmacHelper(c)})(),t.SHA224})});var kr=I((vt,Gn)=>{(function(t,e,r){typeof vt=="object"?Gn.exports=vt=e(j(),O0()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(vt,function(t){return(function(){var e=t,r=e.lib,n=r.Hasher,a=e.x64,s=a.Word,c=a.WordArray,i=e.algo;function x(){return s.create.apply(s,arguments)}var d=[x(1116352408,3609767458),x(1899447441,602891725),x(3049323471,3964484399),x(3921009573,2173295548),x(961987163,4081628472),x(1508970993,3053834265),x(2453635748,2937671579),x(2870763221,3664609560),x(3624381080,2734883394),x(310598401,1164996542),x(607225278,1323610764),x(1426881987,3590304994),x(1925078388,4068182383),x(2162078206,991336113),x(2614888103,633803317),x(3248222580,3479774868),x(3835390401,2666613458),x(4022224774,944711139),x(264347078,2341262773),x(604807628,2007800933),x(770255983,1495990901),x(1249150122,1856431235),x(1555081692,3175218132),x(1996064986,2198950837),x(2554220882,3999719339),x(2821834349,766784016),x(2952996808,2566594879),x(3210313671,3203337956),x(3336571891,1034457026),x(3584528711,2466948901),x(113926993,3758326383),x(338241895,168717936),x(666307205,1188179964),x(773529912,1546045734),x(1294757372,1522805485),x(1396182291,2643833823),x(1695183700,2343527390),x(1986661051,1014477480),x(2177026350,1206759142),x(2456956037,344077627),x(2730485921,1290863460),x(2820302411,3158454273),x(3259730800,3505952657),x(3345764771,106217008),x(3516065817,3606008344),x(3600352804,1432725776),x(4094571909,1467031594),x(275423344,851169720),x(430227734,3100823752),x(506948616,1363258195),x(659060556,3750685593),x(883997877,3785050280),x(958139571,3318307427),x(1322822218,3812723403),x(1537002063,2003034995),x(1747873779,3602036899),x(1955562222,1575990012),x(2024104815,1125592928),x(2227730452,2716904306),x(2361852424,442776044),x(2428436474,593698344),x(2756734187,3733110249),x(3204031479,2999351573),x(3329325298,3815920427),x(3391569614,3928383900),x(3515267271,566280711),x(3940187606,3454069534),x(4118630271,4000239992),x(116418474,1914138554),x(174292421,2731055270),x(289380356,3203993006),x(460393269,320620315),x(685471733,587496836),x(852142971,1086792851),x(1017036298,365543100),x(1126000580,2618297676),x(1288033470,3409855158),x(1501505948,4234509866),x(1607167915,987167468),x(1816402316,1246189591)],o=[];(function(){for(var u=0;u<80;u++)o[u]=x()})();var f=i.SHA512=n.extend({_doReset:function(){this._hash=new c.init([new s.init(1779033703,4089235720),new s.init(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new s.init(528734635,4215389547),new s.init(1541459225,327033209)])},_doProcessBlock:function(u,p){for(var y=this._hash.words,g=y[0],m=y[1],l=y[2],h=y[3],b=y[4],B=y[5],C=y[6],v=y[7],S=g.high,T=g.low,R=m.high,q=m.low,_=l.high,A=l.low,H=h.high,w=h.low,z=b.high,O=b.low,L=B.high,K=B.low,D=C.high,P=C.low,k=v.high,F=v.low,X=S,J=T,ie=R,G=q,De=_,qe=A,T0=H,Ge=w,he=z,xe=O,c0=L,je=K,P0=D,Ue=P,x0=k,We=F,ue=0;ue<80;ue++){var fe,Be,u0=o[ue];if(ue<16)Be=u0.high=u[p+ue*2]|0,fe=u0.low=u[p+ue*2+1]|0;else{var j0=o[ue-15],Fe=j0.high,$e=j0.low,Er=(Fe>>>1|$e<<31)^(Fe>>>8|$e<<24)^Fe>>>7,W0=($e>>>1|Fe<<31)^($e>>>8|Fe<<24)^($e>>>7|Fe<<25),$0=o[ue-2],we=$0.high,Xe=$0.low,X0=(we>>>19|Xe<<13)^(we<<3|Xe>>>29)^we>>>6,Z0=(Xe>>>19|we<<13)^(Xe<<3|we>>>29)^(Xe>>>6|we<<26),Y0=o[ue-7],J0=Y0.high,Dr=Y0.low,Q0=o[ue-16],Fr=Q0.high,et=Q0.low;fe=W0+Dr,Be=Er+J0+(fe>>>0<W0>>>0?1:0),fe=fe+Z0,Be=Be+X0+(fe>>>0<Z0>>>0?1:0),fe=fe+et,Be=Be+Fr+(fe>>>0<et>>>0?1:0),u0.high=Be,u0.low=fe}var wr=he&c0^~he&P0,k0=xe&je^~xe&Ue,tt=X&ie^X&De^ie&De,rt=J&G^J&qe^G&qe,Sr=(X>>>28|J<<4)^(X<<30|J>>>2)^(X<<25|J>>>7),nt=(J>>>28|X<<4)^(J<<30|X>>>2)^(J<<25|X>>>7),Ze=(he>>>14|xe<<18)^(he>>>18|xe<<14)^(he<<23|xe>>>9),H0=(xe>>>14|he<<18)^(xe>>>18|he<<14)^(xe<<23|he>>>9),st=d[ue],E=st.high,U=st.low,N=We+H0,W=x0+Ze+(N>>>0<We>>>0?1:0),N=N+k0,W=W+wr+(N>>>0<k0>>>0?1:0),N=N+U,W=W+E+(N>>>0<U>>>0?1:0),N=N+fe,W=W+Be+(N>>>0<fe>>>0?1:0),Y=nt+rt,ee=Sr+tt+(Y>>>0<nt>>>0?1:0);x0=P0,We=Ue,P0=c0,Ue=je,c0=he,je=xe,xe=Ge+N|0,he=T0+W+(xe>>>0<Ge>>>0?1:0)|0,T0=De,Ge=qe,De=ie,qe=G,ie=X,G=J,J=N+Y|0,X=W+ee+(J>>>0<N>>>0?1:0)|0}T=g.low=T+J,g.high=S+X+(T>>>0<J>>>0?1:0),q=m.low=q+G,m.high=R+ie+(q>>>0<G>>>0?1:0),A=l.low=A+qe,l.high=_+De+(A>>>0<qe>>>0?1:0),w=h.low=w+Ge,h.high=H+T0+(w>>>0<Ge>>>0?1:0),O=b.low=O+xe,b.high=z+he+(O>>>0<xe>>>0?1:0),K=B.low=K+je,B.high=L+c0+(K>>>0<je>>>0?1:0),P=C.low=P+Ue,C.high=D+P0+(P>>>0<Ue>>>0?1:0),F=v.low=F+We,v.high=k+x0+(F>>>0<We>>>0?1:0)},_doFinalize:function(){var u=this._data,p=u.words,y=this._nDataBytes*8,g=u.sigBytes*8;p[g>>>5]|=128<<24-g%32,p[(g+128>>>10<<5)+30]=Math.floor(y/4294967296),p[(g+128>>>10<<5)+31]=y,u.sigBytes=p.length*4,this._process();var m=this._hash.toX32();return m},clone:function(){var u=n.clone.call(this);return u._hash=this._hash.clone(),u},blockSize:1024/32});e.SHA512=n._createHelper(f),e.HmacSHA512=n._createHmacHelper(f)})(),t.SHA512})});var Wn=I((gt,jn)=>{(function(t,e,r){typeof gt=="object"?jn.exports=gt=e(j(),O0(),kr()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./sha512"],e):e(t.CryptoJS)})(gt,function(t){return(function(){var e=t,r=e.x64,n=r.Word,a=r.WordArray,s=e.algo,c=s.SHA512,i=s.SHA384=c.extend({_doReset:function(){this._hash=new a.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var x=c._doFinalize.call(this);return x.sigBytes-=16,x}});e.SHA384=c._createHelper(i),e.HmacSHA384=c._createHmacHelper(i)})(),t.SHA384})});var Xn=I((mt,$n)=>{(function(t,e,r){typeof mt=="object"?$n.exports=mt=e(j(),O0()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(mt,function(t){return(function(e){var r=t,n=r.lib,a=n.WordArray,s=n.Hasher,c=r.x64,i=c.Word,x=r.algo,d=[],o=[],f=[];(function(){for(var y=1,g=0,m=0;m<24;m++){d[y+5*g]=(m+1)*(m+2)/2%64;var l=g%5,h=(2*y+3*g)%5;y=l,g=h}for(var y=0;y<5;y++)for(var g=0;g<5;g++)o[y+5*g]=g+(2*y+3*g)%5*5;for(var b=1,B=0;B<24;B++){for(var C=0,v=0,S=0;S<7;S++){if(b&1){var T=(1<<S)-1;T<32?v^=1<<T:C^=1<<T-32}b&128?b=b<<1^113:b<<=1}f[B]=i.create(C,v)}})();var u=[];(function(){for(var y=0;y<25;y++)u[y]=i.create()})();var p=x.SHA3=s.extend({cfg:s.cfg.extend({outputLength:512}),_doReset:function(){for(var y=this._state=[],g=0;g<25;g++)y[g]=new i.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(y,g){for(var m=this._state,l=this.blockSize/2,h=0;h<l;h++){var b=y[g+2*h],B=y[g+2*h+1];b=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,B=(B<<8|B>>>24)&16711935|(B<<24|B>>>8)&4278255360;var C=m[h];C.high^=B,C.low^=b}for(var v=0;v<24;v++){for(var S=0;S<5;S++){for(var T=0,R=0,q=0;q<5;q++){var C=m[S+5*q];T^=C.high,R^=C.low}var _=u[S];_.high=T,_.low=R}for(var S=0;S<5;S++)for(var A=u[(S+4)%5],H=u[(S+1)%5],w=H.high,z=H.low,T=A.high^(w<<1|z>>>31),R=A.low^(z<<1|w>>>31),q=0;q<5;q++){var C=m[S+5*q];C.high^=T,C.low^=R}for(var O=1;O<25;O++){var T,R,C=m[O],L=C.high,K=C.low,D=d[O];D<32?(T=L<<D|K>>>32-D,R=K<<D|L>>>32-D):(T=K<<D-32|L>>>64-D,R=L<<D-32|K>>>64-D);var P=u[o[O]];P.high=T,P.low=R}var k=u[0],F=m[0];k.high=F.high,k.low=F.low;for(var S=0;S<5;S++)for(var q=0;q<5;q++){var O=S+5*q,C=m[O],X=u[O],J=u[(S+1)%5+5*q],ie=u[(S+2)%5+5*q];C.high=X.high^~J.high&ie.high,C.low=X.low^~J.low&ie.low}var C=m[0],G=f[v];C.high^=G.high,C.low^=G.low}},_doFinalize:function(){var y=this._data,g=y.words,m=this._nDataBytes*8,l=y.sigBytes*8,h=this.blockSize*32;g[l>>>5]|=1<<24-l%32,g[(e.ceil((l+1)/h)*h>>>5)-1]|=128,y.sigBytes=g.length*4,this._process();for(var b=this._state,B=this.cfg.outputLength/8,C=B/8,v=[],S=0;S<C;S++){var T=b[S],R=T.high,q=T.low;R=(R<<8|R>>>24)&16711935|(R<<24|R>>>8)&4278255360,q=(q<<8|q>>>24)&16711935|(q<<24|q>>>8)&4278255360,v.push(q),v.push(R)}return new a.init(v,B)},clone:function(){for(var y=s.clone.call(this),g=y._state=this._state.slice(0),m=0;m<25;m++)g[m]=g[m].clone();return y}});r.SHA3=s._createHelper(p),r.HmacSHA3=s._createHmacHelper(p)})(Math),t.SHA3})});var Yn=I((Bt,Zn)=>{(function(t,e){typeof Bt=="object"?Zn.exports=Bt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(Bt,function(t){return(function(e){var r=t,n=r.lib,a=n.WordArray,s=n.Hasher,c=r.algo,i=a.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),x=a.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),d=a.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),o=a.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),f=a.create([0,1518500249,1859775393,2400959708,2840853838]),u=a.create([1352829926,1548603684,1836072691,2053994217,0]),p=c.RIPEMD160=s.extend({_doReset:function(){this._hash=a.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(B,C){for(var v=0;v<16;v++){var S=C+v,T=B[S];B[S]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360}var R=this._hash.words,q=f.words,_=u.words,A=i.words,H=x.words,w=d.words,z=o.words,O,L,K,D,P,k,F,X,J,ie;k=O=R[0],F=L=R[1],X=K=R[2],J=D=R[3],ie=P=R[4];for(var G,v=0;v<80;v+=1)G=O+B[C+A[v]]|0,v<16?G+=y(L,K,D)+q[0]:v<32?G+=g(L,K,D)+q[1]:v<48?G+=m(L,K,D)+q[2]:v<64?G+=l(L,K,D)+q[3]:G+=h(L,K,D)+q[4],G=G|0,G=b(G,w[v]),G=G+P|0,O=P,P=D,D=b(K,10),K=L,L=G,G=k+B[C+H[v]]|0,v<16?G+=h(F,X,J)+_[0]:v<32?G+=l(F,X,J)+_[1]:v<48?G+=m(F,X,J)+_[2]:v<64?G+=g(F,X,J)+_[3]:G+=y(F,X,J)+_[4],G=G|0,G=b(G,z[v]),G=G+ie|0,k=ie,ie=J,J=b(X,10),X=F,F=G;G=R[1]+K+J|0,R[1]=R[2]+D+ie|0,R[2]=R[3]+P+k|0,R[3]=R[4]+O+F|0,R[4]=R[0]+L+X|0,R[0]=G},_doFinalize:function(){var B=this._data,C=B.words,v=this._nDataBytes*8,S=B.sigBytes*8;C[S>>>5]|=128<<24-S%32,C[(S+64>>>9<<4)+14]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,B.sigBytes=(C.length+1)*4,this._process();for(var T=this._hash,R=T.words,q=0;q<5;q++){var _=R[q];R[q]=(_<<8|_>>>24)&16711935|(_<<24|_>>>8)&4278255360}return T},clone:function(){var B=s.clone.call(this);return B._hash=this._hash.clone(),B}});function y(B,C,v){return B^C^v}function g(B,C,v){return B&C|~B&v}function m(B,C,v){return(B|~C)^v}function l(B,C,v){return B&v|C&~v}function h(B,C,v){return B^(C|~v)}function b(B,C){return B<<C|B>>>32-C}r.RIPEMD160=s._createHelper(p),r.HmacRIPEMD160=s._createHmacHelper(p)})(Math),t.RIPEMD160})});var V0=I((bt,Jn)=>{(function(t,e){typeof bt=="object"?Jn.exports=bt=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(bt,function(t){(function(){var e=t,r=e.lib,n=r.Base,a=e.enc,s=a.Utf8,c=e.algo,i=c.HMAC=n.extend({init:function(x,d){x=this._hasher=new x.init,typeof d=="string"&&(d=s.parse(d));var o=x.blockSize,f=o*4;d.sigBytes>f&&(d=x.finalize(d)),d.clamp();for(var u=this._oKey=d.clone(),p=this._iKey=d.clone(),y=u.words,g=p.words,m=0;m<o;m++)y[m]^=1549556828,g[m]^=909522486;u.sigBytes=p.sigBytes=f,this.reset()},reset:function(){var x=this._hasher;x.reset(),x.update(this._iKey)},update:function(x){return this._hasher.update(x),this},finalize:function(x){var d=this._hasher,o=d.finalize(x);d.reset();var f=d.finalize(this._oKey.clone().concat(o));return f}})})()})});var es=I((Ct,Qn)=>{(function(t,e,r){typeof Ct=="object"?Qn.exports=Ct=e(j(),l0(),V0()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(Ct,function(t){return(function(){var e=t,r=e.lib,n=r.Base,a=r.WordArray,s=e.algo,c=s.SHA256,i=s.HMAC,x=s.PBKDF2=n.extend({cfg:n.extend({keySize:128/32,hasher:c,iterations:25e4}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,o){for(var f=this.cfg,u=i.create(f.hasher,d),p=a.create(),y=a.create([1]),g=p.words,m=y.words,l=f.keySize,h=f.iterations;g.length<l;){var b=u.update(o).finalize(y);u.reset();for(var B=b.words,C=B.length,v=b,S=1;S<h;S++){v=u.finalize(v),u.reset();for(var T=v.words,R=0;R<C;R++)B[R]^=T[R]}p.concat(b),m[0]++}return p.sigBytes=l*4,p}});e.PBKDF2=function(d,o,f){return x.create(f).compute(d,o)}})(),t.PBKDF2})});var Te=I((At,ts)=>{(function(t,e,r){typeof At=="object"?ts.exports=At=e(j(),Pr(),V0()):typeof define=="function"&&define.amd?define(["./core","./sha1","./hmac"],e):e(t.CryptoJS)})(At,function(t){return(function(){var e=t,r=e.lib,n=r.Base,a=r.WordArray,s=e.algo,c=s.MD5,i=s.EvpKDF=n.extend({cfg:n.extend({keySize:128/32,hasher:c,iterations:1}),init:function(x){this.cfg=this.cfg.extend(x)},compute:function(x,d){for(var o,f=this.cfg,u=f.hasher.create(),p=a.create(),y=p.words,g=f.keySize,m=f.iterations;y.length<g;){o&&u.update(o),o=u.update(x).finalize(d),u.reset();for(var l=1;l<m;l++)o=u.finalize(o),u.reset();p.concat(o)}return p.sigBytes=g*4,p}});e.EvpKDF=function(x,d,o){return i.create(o).compute(x,d)}})(),t.EvpKDF})});var se=I((_t,rs)=>{(function(t,e,r){typeof _t=="object"?rs.exports=_t=e(j(),Te()):typeof define=="function"&&define.amd?define(["./core","./evpkdf"],e):e(t.CryptoJS)})(_t,function(t){t.lib.Cipher||(function(e){var r=t,n=r.lib,a=n.Base,s=n.WordArray,c=n.BufferedBlockAlgorithm,i=r.enc,x=i.Utf8,d=i.Base64,o=r.algo,f=o.EvpKDF,u=n.Cipher=c.extend({cfg:a.extend(),createEncryptor:function(_,A){return this.create(this._ENC_XFORM_MODE,_,A)},createDecryptor:function(_,A){return this.create(this._DEC_XFORM_MODE,_,A)},init:function(_,A,H){this.cfg=this.cfg.extend(H),this._xformMode=_,this._key=A,this.reset()},reset:function(){c.reset.call(this),this._doReset()},process:function(_){return this._append(_),this._process()},finalize:function(_){_&&this._append(_);var A=this._doFinalize();return A},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:(function(){function _(A){return typeof A=="string"?q:S}return function(A){return{encrypt:function(H,w,z){return _(w).encrypt(A,H,w,z)},decrypt:function(H,w,z){return _(w).decrypt(A,H,w,z)}}}})()}),p=n.StreamCipher=u.extend({_doFinalize:function(){var _=this._process(!0);return _},blockSize:1}),y=r.mode={},g=n.BlockCipherMode=a.extend({createEncryptor:function(_,A){return this.Encryptor.create(_,A)},createDecryptor:function(_,A){return this.Decryptor.create(_,A)},init:function(_,A){this._cipher=_,this._iv=A}}),m=y.CBC=(function(){var _=g.extend();_.Encryptor=_.extend({processBlock:function(H,w){var z=this._cipher,O=z.blockSize;A.call(this,H,w,O),z.encryptBlock(H,w),this._prevBlock=H.slice(w,w+O)}}),_.Decryptor=_.extend({processBlock:function(H,w){var z=this._cipher,O=z.blockSize,L=H.slice(w,w+O);z.decryptBlock(H,w),A.call(this,H,w,O),this._prevBlock=L}});function A(H,w,z){var O,L=this._iv;L?(O=L,this._iv=e):O=this._prevBlock;for(var K=0;K<z;K++)H[w+K]^=O[K]}return _})(),l=r.pad={},h=l.Pkcs7={pad:function(_,A){for(var H=A*4,w=H-_.sigBytes%H,z=w<<24|w<<16|w<<8|w,O=[],L=0;L<w;L+=4)O.push(z);var K=s.create(O,w);_.concat(K)},unpad:function(_){var A=_.words[_.sigBytes-1>>>2]&255;_.sigBytes-=A}},b=n.BlockCipher=u.extend({cfg:u.cfg.extend({mode:m,padding:h}),reset:function(){var _;u.reset.call(this);var A=this.cfg,H=A.iv,w=A.mode;this._xformMode==this._ENC_XFORM_MODE?_=w.createEncryptor:(_=w.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==_?this._mode.init(this,H&&H.words):(this._mode=_.call(w,this,H&&H.words),this._mode.__creator=_)},_doProcessBlock:function(_,A){this._mode.processBlock(_,A)},_doFinalize:function(){var _,A=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(A.pad(this._data,this.blockSize),_=this._process(!0)):(_=this._process(!0),A.unpad(_)),_},blockSize:128/32}),B=n.CipherParams=a.extend({init:function(_){this.mixIn(_)},toString:function(_){return(_||this.formatter).stringify(this)}}),C=r.format={},v=C.OpenSSL={stringify:function(_){var A,H=_.ciphertext,w=_.salt;return w?A=s.create([1398893684,1701076831]).concat(w).concat(H):A=H,A.toString(d)},parse:function(_){var A,H=d.parse(_),w=H.words;return w[0]==1398893684&&w[1]==1701076831&&(A=s.create(w.slice(2,4)),w.splice(0,4),H.sigBytes-=16),B.create({ciphertext:H,salt:A})}},S=n.SerializableCipher=a.extend({cfg:a.extend({format:v}),encrypt:function(_,A,H,w){w=this.cfg.extend(w);var z=_.createEncryptor(H,w),O=z.finalize(A),L=z.cfg;return B.create({ciphertext:O,key:H,iv:L.iv,algorithm:_,mode:L.mode,padding:L.padding,blockSize:_.blockSize,formatter:w.format})},decrypt:function(_,A,H,w){w=this.cfg.extend(w),A=this._parse(A,w.format);var z=_.createDecryptor(H,w).finalize(A.ciphertext);return z},_parse:function(_,A){return typeof _=="string"?A.parse(_,this):_}}),T=r.kdf={},R=T.OpenSSL={execute:function(_,A,H,w,z){if(w||(w=s.random(64/8)),z)var O=f.create({keySize:A+H,hasher:z}).compute(_,w);else var O=f.create({keySize:A+H}).compute(_,w);var L=s.create(O.words.slice(A),H*4);return O.sigBytes=A*4,B.create({key:O,iv:L,salt:w})}},q=n.PasswordBasedCipher=S.extend({cfg:S.cfg.extend({kdf:R}),encrypt:function(_,A,H,w){w=this.cfg.extend(w);var z=w.kdf.execute(H,_.keySize,_.ivSize,w.salt,w.hasher);w.iv=z.iv;var O=S.encrypt.call(this,_,A,z.key,w);return O.mixIn(z),O},decrypt:function(_,A,H,w){w=this.cfg.extend(w),A=this._parse(A,w.format);var z=w.kdf.execute(H,_.keySize,_.ivSize,A.salt,w.hasher);w.iv=z.iv;var O=S.decrypt.call(this,_,A,z.key,w);return O}})})()})});var ss=I((Et,ns)=>{(function(t,e,r){typeof Et=="object"?ns.exports=Et=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Et,function(t){return t.mode.CFB=(function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(n,a){var s=this._cipher,c=s.blockSize;r.call(this,n,a,c,s),this._prevBlock=n.slice(a,a+c)}}),e.Decryptor=e.extend({processBlock:function(n,a){var s=this._cipher,c=s.blockSize,i=n.slice(a,a+c);r.call(this,n,a,c,s),this._prevBlock=i}});function r(n,a,s,c){var i,x=this._iv;x?(i=x.slice(0),this._iv=void 0):i=this._prevBlock,c.encryptBlock(i,0);for(var d=0;d<s;d++)n[a+d]^=i[d]}return e})(),t.mode.CFB})});var is=I((Dt,as)=>{(function(t,e,r){typeof Dt=="object"?as.exports=Dt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Dt,function(t){return t.mode.CTR=(function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,a){var s=this._cipher,c=s.blockSize,i=this._iv,x=this._counter;i&&(x=this._counter=i.slice(0),this._iv=void 0);var d=x.slice(0);s.encryptBlock(d,0),x[c-1]=x[c-1]+1|0;for(var o=0;o<c;o++)n[a+o]^=d[o]}});return e.Decryptor=r,e})(),t.mode.CTR})});var cs=I((Ft,os)=>{(function(t,e,r){typeof Ft=="object"?os.exports=Ft=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ft,function(t){return t.mode.CTRGladman=(function(){var e=t.lib.BlockCipherMode.extend();function r(s){if((s>>24&255)===255){var c=s>>16&255,i=s>>8&255,x=s&255;c===255?(c=0,i===255?(i=0,x===255?x=0:++x):++i):++c,s=0,s+=c<<16,s+=i<<8,s+=x}else s+=1<<24;return s}function n(s){return(s[0]=r(s[0]))===0&&(s[1]=r(s[1])),s}var a=e.Encryptor=e.extend({processBlock:function(s,c){var i=this._cipher,x=i.blockSize,d=this._iv,o=this._counter;d&&(o=this._counter=d.slice(0),this._iv=void 0),n(o);var f=o.slice(0);i.encryptBlock(f,0);for(var u=0;u<x;u++)s[c+u]^=f[u]}});return e.Decryptor=a,e})(),t.mode.CTRGladman})});var us=I((wt,xs)=>{(function(t,e,r){typeof wt=="object"?xs.exports=wt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(wt,function(t){return t.mode.OFB=(function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,a){var s=this._cipher,c=s.blockSize,i=this._iv,x=this._keystream;i&&(x=this._keystream=i.slice(0),this._iv=void 0),s.encryptBlock(x,0);for(var d=0;d<c;d++)n[a+d]^=x[d]}});return e.Decryptor=r,e})(),t.mode.OFB})});var ds=I((St,fs)=>{(function(t,e,r){typeof St=="object"?fs.exports=St=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(St,function(t){return t.mode.ECB=(function(){var e=t.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(r,n){this._cipher.encryptBlock(r,n)}}),e.Decryptor=e.extend({processBlock:function(r,n){this._cipher.decryptBlock(r,n)}}),e})(),t.mode.ECB})});var hs=I((Tt,ls)=>{(function(t,e,r){typeof Tt=="object"?ls.exports=Tt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Tt,function(t){return t.pad.AnsiX923={pad:function(e,r){var n=e.sigBytes,a=r*4,s=a-n%a,c=n+s-1;e.clamp(),e.words[c>>>2]|=s<<24-c%4*8,e.sigBytes+=s},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Ansix923})});var ys=I((Pt,ps)=>{(function(t,e,r){typeof Pt=="object"?ps.exports=Pt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Pt,function(t){return t.pad.Iso10126={pad:function(e,r){var n=r*4,a=n-e.sigBytes%n;e.concat(t.lib.WordArray.random(a-1)).concat(t.lib.WordArray.create([a<<24],1))},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Iso10126})});var gs=I((kt,vs)=>{(function(t,e,r){typeof kt=="object"?vs.exports=kt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(kt,function(t){return t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,r)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971})});var Bs=I((Ht,ms)=>{(function(t,e,r){typeof Ht=="object"?ms.exports=Ht=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ht,function(t){return t.pad.ZeroPadding={pad:function(e,r){var n=r*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var r=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(r[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},t.pad.ZeroPadding})});var Cs=I((Rt,bs)=>{(function(t,e,r){typeof Rt=="object"?bs.exports=Rt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Rt,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})});var _s=I((qt,As)=>{(function(t,e,r){typeof qt=="object"?As.exports=qt=e(j(),se()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(qt,function(t){return(function(e){var r=t,n=r.lib,a=n.CipherParams,s=r.enc,c=s.Hex,i=r.format,x=i.Hex={stringify:function(d){return d.ciphertext.toString(c)},parse:function(d){var o=c.parse(d);return a.create({ciphertext:o})}}})(),t.format.Hex})});var Ds=I((Ut,Es)=>{(function(t,e,r){typeof Ut=="object"?Es.exports=Ut=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Ut,function(t){return(function(){var e=t,r=e.lib,n=r.BlockCipher,a=e.algo,s=[],c=[],i=[],x=[],d=[],o=[],f=[],u=[],p=[],y=[];(function(){for(var l=[],h=0;h<256;h++)h<128?l[h]=h<<1:l[h]=h<<1^283;for(var b=0,B=0,h=0;h<256;h++){var C=B^B<<1^B<<2^B<<3^B<<4;C=C>>>8^C&255^99,s[b]=C,c[C]=b;var v=l[b],S=l[v],T=l[S],R=l[C]*257^C*16843008;i[b]=R<<24|R>>>8,x[b]=R<<16|R>>>16,d[b]=R<<8|R>>>24,o[b]=R;var R=T*16843009^S*65537^v*257^b*16843008;f[C]=R<<24|R>>>8,u[C]=R<<16|R>>>16,p[C]=R<<8|R>>>24,y[C]=R,b?(b=v^l[l[l[T^v]]],B^=l[l[B]]):b=B=1}})();var g=[0,1,2,4,8,16,32,64,128,27,54],m=a.AES=n.extend({_doReset:function(){var l;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var h=this._keyPriorReset=this._key,b=h.words,B=h.sigBytes/4,C=this._nRounds=B+6,v=(C+1)*4,S=this._keySchedule=[],T=0;T<v;T++)T<B?S[T]=b[T]:(l=S[T-1],T%B?B>6&&T%B==4&&(l=s[l>>>24]<<24|s[l>>>16&255]<<16|s[l>>>8&255]<<8|s[l&255]):(l=l<<8|l>>>24,l=s[l>>>24]<<24|s[l>>>16&255]<<16|s[l>>>8&255]<<8|s[l&255],l^=g[T/B|0]<<24),S[T]=S[T-B]^l);for(var R=this._invKeySchedule=[],q=0;q<v;q++){var T=v-q;if(q%4)var l=S[T];else var l=S[T-4];q<4||T<=4?R[q]=l:R[q]=f[s[l>>>24]]^u[s[l>>>16&255]]^p[s[l>>>8&255]]^y[s[l&255]]}}},encryptBlock:function(l,h){this._doCryptBlock(l,h,this._keySchedule,i,x,d,o,s)},decryptBlock:function(l,h){var b=l[h+1];l[h+1]=l[h+3],l[h+3]=b,this._doCryptBlock(l,h,this._invKeySchedule,f,u,p,y,c);var b=l[h+1];l[h+1]=l[h+3],l[h+3]=b},_doCryptBlock:function(l,h,b,B,C,v,S,T){for(var R=this._nRounds,q=l[h]^b[0],_=l[h+1]^b[1],A=l[h+2]^b[2],H=l[h+3]^b[3],w=4,z=1;z<R;z++){var O=B[q>>>24]^C[_>>>16&255]^v[A>>>8&255]^S[H&255]^b[w++],L=B[_>>>24]^C[A>>>16&255]^v[H>>>8&255]^S[q&255]^b[w++],K=B[A>>>24]^C[H>>>16&255]^v[q>>>8&255]^S[_&255]^b[w++],D=B[H>>>24]^C[q>>>16&255]^v[_>>>8&255]^S[A&255]^b[w++];q=O,_=L,A=K,H=D}var O=(T[q>>>24]<<24|T[_>>>16&255]<<16|T[A>>>8&255]<<8|T[H&255])^b[w++],L=(T[_>>>24]<<24|T[A>>>16&255]<<16|T[H>>>8&255]<<8|T[q&255])^b[w++],K=(T[A>>>24]<<24|T[H>>>16&255]<<16|T[q>>>8&255]<<8|T[_&255])^b[w++],D=(T[H>>>24]<<24|T[q>>>16&255]<<16|T[_>>>8&255]<<8|T[A&255])^b[w++];l[h]=O,l[h+1]=L,l[h+2]=K,l[h+3]=D},keySize:256/32});e.AES=n._createHelper(m)})(),t.AES})});var ws=I((Ot,Fs)=>{(function(t,e,r){typeof Ot=="object"?Fs.exports=Ot=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Ot,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,a=r.BlockCipher,s=e.algo,c=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],i=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],x=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],d=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],o=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],f=s.DES=a.extend({_doReset:function(){for(var g=this._key,m=g.words,l=[],h=0;h<56;h++){var b=c[h]-1;l[h]=m[b>>>5]>>>31-b%32&1}for(var B=this._subKeys=[],C=0;C<16;C++){for(var v=B[C]=[],S=x[C],h=0;h<24;h++)v[h/6|0]|=l[(i[h]-1+S)%28]<<31-h%6,v[4+(h/6|0)]|=l[28+(i[h+24]-1+S)%28]<<31-h%6;v[0]=v[0]<<1|v[0]>>>31;for(var h=1;h<7;h++)v[h]=v[h]>>>(h-1)*4+3;v[7]=v[7]<<5|v[7]>>>27}for(var T=this._invSubKeys=[],h=0;h<16;h++)T[h]=B[15-h]},encryptBlock:function(g,m){this._doCryptBlock(g,m,this._subKeys)},decryptBlock:function(g,m){this._doCryptBlock(g,m,this._invSubKeys)},_doCryptBlock:function(g,m,l){this._lBlock=g[m],this._rBlock=g[m+1],u.call(this,4,252645135),u.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),u.call(this,1,1431655765);for(var h=0;h<16;h++){for(var b=l[h],B=this._lBlock,C=this._rBlock,v=0,S=0;S<8;S++)v|=d[S][((C^b[S])&o[S])>>>0];this._lBlock=C,this._rBlock=B^v}var T=this._lBlock;this._lBlock=this._rBlock,this._rBlock=T,u.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),g[m]=this._lBlock,g[m+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function u(g,m){var l=(this._lBlock>>>g^this._rBlock)&m;this._rBlock^=l,this._lBlock^=l<<g}function p(g,m){var l=(this._rBlock>>>g^this._lBlock)&m;this._lBlock^=l,this._rBlock^=l<<g}e.DES=a._createHelper(f);var y=s.TripleDES=a.extend({_doReset:function(){var g=this._key,m=g.words;if(m.length!==2&&m.length!==4&&m.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var l=m.slice(0,2),h=m.length<4?m.slice(0,2):m.slice(2,4),b=m.length<6?m.slice(0,2):m.slice(4,6);this._des1=f.createEncryptor(n.create(l)),this._des2=f.createEncryptor(n.create(h)),this._des3=f.createEncryptor(n.create(b))},encryptBlock:function(g,m){this._des1.encryptBlock(g,m),this._des2.decryptBlock(g,m),this._des3.encryptBlock(g,m)},decryptBlock:function(g,m){this._des3.decryptBlock(g,m),this._des2.encryptBlock(g,m),this._des1.decryptBlock(g,m)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=a._createHelper(y)})(),t.TripleDES})});var Ts=I((Vt,Ss)=>{(function(t,e,r){typeof Vt=="object"?Ss.exports=Vt=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Vt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,a=e.algo,s=a.RC4=n.extend({_doReset:function(){for(var x=this._key,d=x.words,o=x.sigBytes,f=this._S=[],u=0;u<256;u++)f[u]=u;for(var u=0,p=0;u<256;u++){var y=u%o,g=d[y>>>2]>>>24-y%4*8&255;p=(p+f[u]+g)%256;var m=f[u];f[u]=f[p],f[p]=m}this._i=this._j=0},_doProcessBlock:function(x,d){x[d]^=c.call(this)},keySize:256/32,ivSize:0});function c(){for(var x=this._S,d=this._i,o=this._j,f=0,u=0;u<4;u++){d=(d+1)%256,o=(o+x[d])%256;var p=x[d];x[d]=x[o],x[o]=p,f|=x[(x[d]+x[o])%256]<<24-u*8}return this._i=d,this._j=o,f}e.RC4=n._createHelper(s);var i=a.RC4Drop=s.extend({cfg:s.cfg.extend({drop:192}),_doReset:function(){s._doReset.call(this);for(var x=this.cfg.drop;x>0;x--)c.call(this)}});e.RC4Drop=n._createHelper(i)})(),t.RC4})});var ks=I((Nt,Ps)=>{(function(t,e,r){typeof Nt=="object"?Ps.exports=Nt=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Nt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,a=e.algo,s=[],c=[],i=[],x=a.Rabbit=n.extend({_doReset:function(){for(var o=this._key.words,f=this.cfg.iv,u=0;u<4;u++)o[u]=(o[u]<<8|o[u]>>>24)&16711935|(o[u]<<24|o[u]>>>8)&4278255360;var p=this._X=[o[0],o[3]<<16|o[2]>>>16,o[1],o[0]<<16|o[3]>>>16,o[2],o[1]<<16|o[0]>>>16,o[3],o[2]<<16|o[1]>>>16],y=this._C=[o[2]<<16|o[2]>>>16,o[0]&4294901760|o[1]&65535,o[3]<<16|o[3]>>>16,o[1]&4294901760|o[2]&65535,o[0]<<16|o[0]>>>16,o[2]&4294901760|o[3]&65535,o[1]<<16|o[1]>>>16,o[3]&4294901760|o[0]&65535];this._b=0;for(var u=0;u<4;u++)d.call(this);for(var u=0;u<8;u++)y[u]^=p[u+4&7];if(f){var g=f.words,m=g[0],l=g[1],h=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,b=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,B=h>>>16|b&4294901760,C=b<<16|h&65535;y[0]^=h,y[1]^=B,y[2]^=b,y[3]^=C,y[4]^=h,y[5]^=B,y[6]^=b,y[7]^=C;for(var u=0;u<4;u++)d.call(this)}},_doProcessBlock:function(o,f){var u=this._X;d.call(this),s[0]=u[0]^u[5]>>>16^u[3]<<16,s[1]=u[2]^u[7]>>>16^u[5]<<16,s[2]=u[4]^u[1]>>>16^u[7]<<16,s[3]=u[6]^u[3]>>>16^u[1]<<16;for(var p=0;p<4;p++)s[p]=(s[p]<<8|s[p]>>>24)&16711935|(s[p]<<24|s[p]>>>8)&4278255360,o[f+p]^=s[p]},blockSize:128/32,ivSize:64/32});function d(){for(var o=this._X,f=this._C,u=0;u<8;u++)c[u]=f[u];f[0]=f[0]+1295307597+this._b|0,f[1]=f[1]+3545052371+(f[0]>>>0<c[0]>>>0?1:0)|0,f[2]=f[2]+886263092+(f[1]>>>0<c[1]>>>0?1:0)|0,f[3]=f[3]+1295307597+(f[2]>>>0<c[2]>>>0?1:0)|0,f[4]=f[4]+3545052371+(f[3]>>>0<c[3]>>>0?1:0)|0,f[5]=f[5]+886263092+(f[4]>>>0<c[4]>>>0?1:0)|0,f[6]=f[6]+1295307597+(f[5]>>>0<c[5]>>>0?1:0)|0,f[7]=f[7]+3545052371+(f[6]>>>0<c[6]>>>0?1:0)|0,this._b=f[7]>>>0<c[7]>>>0?1:0;for(var u=0;u<8;u++){var p=o[u]+f[u],y=p&65535,g=p>>>16,m=((y*y>>>17)+y*g>>>15)+g*g,l=((p&4294901760)*p|0)+((p&65535)*p|0);i[u]=m^l}o[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,o[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,o[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,o[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,o[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,o[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,o[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,o[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}e.Rabbit=n._createHelper(x)})(),t.Rabbit})});var Rs=I((Mt,Hs)=>{(function(t,e,r){typeof Mt=="object"?Hs.exports=Mt=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Mt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,a=e.algo,s=[],c=[],i=[],x=a.RabbitLegacy=n.extend({_doReset:function(){var o=this._key.words,f=this.cfg.iv,u=this._X=[o[0],o[3]<<16|o[2]>>>16,o[1],o[0]<<16|o[3]>>>16,o[2],o[1]<<16|o[0]>>>16,o[3],o[2]<<16|o[1]>>>16],p=this._C=[o[2]<<16|o[2]>>>16,o[0]&4294901760|o[1]&65535,o[3]<<16|o[3]>>>16,o[1]&4294901760|o[2]&65535,o[0]<<16|o[0]>>>16,o[2]&4294901760|o[3]&65535,o[1]<<16|o[1]>>>16,o[3]&4294901760|o[0]&65535];this._b=0;for(var y=0;y<4;y++)d.call(this);for(var y=0;y<8;y++)p[y]^=u[y+4&7];if(f){var g=f.words,m=g[0],l=g[1],h=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,b=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,B=h>>>16|b&4294901760,C=b<<16|h&65535;p[0]^=h,p[1]^=B,p[2]^=b,p[3]^=C,p[4]^=h,p[5]^=B,p[6]^=b,p[7]^=C;for(var y=0;y<4;y++)d.call(this)}},_doProcessBlock:function(o,f){var u=this._X;d.call(this),s[0]=u[0]^u[5]>>>16^u[3]<<16,s[1]=u[2]^u[7]>>>16^u[5]<<16,s[2]=u[4]^u[1]>>>16^u[7]<<16,s[3]=u[6]^u[3]>>>16^u[1]<<16;for(var p=0;p<4;p++)s[p]=(s[p]<<8|s[p]>>>24)&16711935|(s[p]<<24|s[p]>>>8)&4278255360,o[f+p]^=s[p]},blockSize:128/32,ivSize:64/32});function d(){for(var o=this._X,f=this._C,u=0;u<8;u++)c[u]=f[u];f[0]=f[0]+1295307597+this._b|0,f[1]=f[1]+3545052371+(f[0]>>>0<c[0]>>>0?1:0)|0,f[2]=f[2]+886263092+(f[1]>>>0<c[1]>>>0?1:0)|0,f[3]=f[3]+1295307597+(f[2]>>>0<c[2]>>>0?1:0)|0,f[4]=f[4]+3545052371+(f[3]>>>0<c[3]>>>0?1:0)|0,f[5]=f[5]+886263092+(f[4]>>>0<c[4]>>>0?1:0)|0,f[6]=f[6]+1295307597+(f[5]>>>0<c[5]>>>0?1:0)|0,f[7]=f[7]+3545052371+(f[6]>>>0<c[6]>>>0?1:0)|0,this._b=f[7]>>>0<c[7]>>>0?1:0;for(var u=0;u<8;u++){var p=o[u]+f[u],y=p&65535,g=p>>>16,m=((y*y>>>17)+y*g>>>15)+g*g,l=((p&4294901760)*p|0)+((p&65535)*p|0);i[u]=m^l}o[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,o[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,o[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,o[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,o[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,o[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,o[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,o[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}e.RabbitLegacy=n._createHelper(x)})(),t.RabbitLegacy})});var Us=I((It,qs)=>{(function(t,e,r){typeof It=="object"?qs.exports=It=e(j(),Ne(),Me(),Te(),se()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(It,function(t){return(function(){var e=t,r=e.lib,n=r.BlockCipher,a=e.algo;let s=16,c=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],i=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var x={pbox:[],sbox:[]};function d(y,g){let m=g>>24&255,l=g>>16&255,h=g>>8&255,b=g&255,B=y.sbox[0][m]+y.sbox[1][l];return B=B^y.sbox[2][h],B=B+y.sbox[3][b],B}function o(y,g,m){let l=g,h=m,b;for(let B=0;B<s;++B)l=l^y.pbox[B],h=d(y,l)^h,b=l,l=h,h=b;return b=l,l=h,h=b,h=h^y.pbox[s],l=l^y.pbox[s+1],{left:l,right:h}}function f(y,g,m){let l=g,h=m,b;for(let B=s+1;B>1;--B)l=l^y.pbox[B],h=d(y,l)^h,b=l,l=h,h=b;return b=l,l=h,h=b,h=h^y.pbox[1],l=l^y.pbox[0],{left:l,right:h}}function u(y,g,m){for(let C=0;C<4;C++){y.sbox[C]=[];for(let v=0;v<256;v++)y.sbox[C][v]=i[C][v]}let l=0;for(let C=0;C<s+2;C++)y.pbox[C]=c[C]^g[l],l++,l>=m&&(l=0);let h=0,b=0,B=0;for(let C=0;C<s+2;C+=2)B=o(y,h,b),h=B.left,b=B.right,y.pbox[C]=h,y.pbox[C+1]=b;for(let C=0;C<4;C++)for(let v=0;v<256;v+=2)B=o(y,h,b),h=B.left,b=B.right,y.sbox[C][v]=h,y.sbox[C][v+1]=b;return!0}var p=a.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var y=this._keyPriorReset=this._key,g=y.words,m=y.sigBytes/4;u(x,g,m)}},encryptBlock:function(y,g){var m=o(x,y[g],y[g+1]);y[g]=m.left,y[g+1]=m.right},decryptBlock:function(y,g){var m=f(x,y[g],y[g+1]);y[g]=m.left,y[g+1]=m.right},blockSize:64/32,keySize:128/32,ivSize:64/32});e.Blowfish=n._createHelper(p)})(),t.Blowfish})});var Hr=I((zt,Os)=>{(function(t,e,r){typeof zt=="object"?Os.exports=zt=e(j(),O0(),Rn(),Un(),Ne(),Nn(),Me(),Pr(),l0(),Kn(),kr(),Wn(),Xn(),Yn(),V0(),es(),Te(),se(),ss(),is(),cs(),us(),ds(),hs(),ys(),gs(),Bs(),Cs(),_s(),Ds(),ws(),Ts(),ks(),Rs(),Us()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./lib-typedarrays","./enc-utf16","./enc-base64","./enc-base64url","./md5","./sha1","./sha256","./sha224","./sha512","./sha384","./sha3","./ripemd160","./hmac","./pbkdf2","./evpkdf","./cipher-core","./mode-cfb","./mode-ctr","./mode-ctr-gladman","./mode-ofb","./mode-ecb","./pad-ansix923","./pad-iso10126","./pad-iso97971","./pad-zeropadding","./pad-nopadding","./format-hex","./aes","./tripledes","./rc4","./rabbit","./rabbit-legacy","./blowfish"],e):t.CryptoJS=e(t.CryptoJS)})(zt,function(t){return t})});var Kt=I(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.ChannelCrypto=void 0;var le=Hr(),h0=ae(),Rr=class{static decryptGroupTextMessage(e,r,n){try{let a=(0,h0.hexToBytes)(n),s=(0,h0.hexToBytes)(r),c=new Uint8Array(32);c.set(a,0);let i=(0,le.HmacSHA256)(le.enc.Hex.parse(e),le.enc.Hex.parse((0,h0.bytesToHex)(c))),d=(0,h0.hexToBytes)(i.toString(le.enc.Hex)).slice(0,2);if(d[0]!==s[0]||d[1]!==s[1])return{success:!1,error:"MAC verification failed"};let o=le.enc.Hex.parse(n),f=le.enc.Hex.parse(e),u=le.AES.decrypt(le.lib.CipherParams.create({ciphertext:f}),o,{mode:le.mode.ECB,padding:le.pad.NoPadding}),p=(0,h0.hexToBytes)(u.toString(le.enc.Hex));if(!p||p.length<5)return{success:!1,error:"Decrypted content too short"};let y=p[0]|p[1]<<8|p[2]<<16|p[3]<<24,g=p[4],m=p.slice(5),h=new TextDecoder("utf-8").decode(m),b=h.indexOf("\0");b>=0&&(h=h.substring(0,b));let B=h.indexOf(": "),C,v;if(B>0&&B<50){let S=h.substring(0,B);/[:\[\]]/.test(S)?v=h:(C=S,v=h.substring(B+2))}else v=h;return{success:!0,data:{timestamp:y,flags:g,sender:C,message:v}}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Decryption failed"}}}static calculateChannelHash(e){let r=(0,le.SHA256)(le.enc.Hex.parse(e));return(0,h0.hexToBytes)(r.toString(le.enc.Hex))[0].toString(16).padStart(2,"0")}};Lt.ChannelCrypto=Rr});var Ur=I(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.MeshCoreKeyStore=void 0;var Ja=Kt(),qr=class{constructor(e){this.nodeKeys=new Map,this.channelHashToKeys=new Map,e?.channelSecrets&&this.addChannelSecrets(e.channelSecrets),e?.nodeKeys&&Object.entries(e.nodeKeys).forEach(([r,n])=>{this.addNodeKey(r,n)})}addNodeKey(e,r){let n=e.toUpperCase();this.nodeKeys.set(n,r)}hasChannelKey(e){let r=e.toLowerCase();return this.channelHashToKeys.has(r)}hasNodeKey(e){let r=e.toUpperCase();return this.nodeKeys.has(r)}getChannelKeys(e){let r=e.toLowerCase();return this.channelHashToKeys.get(r)||[]}getNodeKey(e){let r=e.toUpperCase();return this.nodeKeys.get(r)}addChannelSecrets(e){for(let r of e){let n=Ja.ChannelCrypto.calculateChannelHash(r).toLowerCase();this.channelHashToKeys.has(n)||this.channelHashToKeys.set(n,[]),this.channelHashToKeys.get(n).push(r)}}};Gt.MeshCoreKeyStore=qr});var aa={};Bn(aa,{CURVE:()=>Gs,ExtendedPoint:()=>_e,Point:()=>_e,etc:()=>Zr,getPublicKey:()=>oi,getPublicKeyAsync:()=>ii,sign:()=>xi,signAsync:()=>ci,utils:()=>di,verify:()=>fi,verifyAsync:()=>ui});var Gs,ce,jt,Vs,Ns,Or,Vr,Qa,Ae,N0,ye,ei,js,ti,e0,Zt,Ir,Ws,zr,Pe,Ms,Lr,Ie,$s,ri,M0,Xs,Wt,Qe,V,Zs,Ys,ni,Is,Nr,Ce,_e,ke,p0,Js,Kr,be,si,zs,ai,$t,Gr,jr,Qs,Wr,$r,ii,oi,ea,ta,ra,ci,xi,Xr,na,ui,fi,Zr,di,Xt,li,sa,Mr,hi,Ls,Ks,pi,ia=za(()=>{Gs={p:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,n:0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,h:8n,a:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecn,d:0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,Gx:0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,Gy:0x6666666666666666666666666666666666666666666666666666666666666658n},{p:ce,n:jt,Gx:Vs,Gy:Ns,a:Or,d:Vr}=Gs,Qa=8n,Ae=32,N0=64,ye=(t="")=>{throw new Error(t)},ei=t=>typeof t=="bigint",js=t=>typeof t=="string",ti=t=>t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array",e0=(t,e)=>!ti(t)||typeof e=="number"&&e>0&&t.length!==e?ye("Uint8Array expected"):t,Zt=t=>new Uint8Array(t),Ir=t=>Uint8Array.from(t),Ws=(t,e)=>t.toString(16).padStart(e,"0"),zr=t=>Array.from(e0(t)).map(e=>Ws(e,2)).join(""),Pe={_0:48,_9:57,A:65,F:70,a:97,f:102},Ms=t=>{if(t>=Pe._0&&t<=Pe._9)return t-Pe._0;if(t>=Pe.A&&t<=Pe.F)return t-(Pe.A-10);if(t>=Pe.a&&t<=Pe.f)return t-(Pe.a-10)},Lr=t=>{let e="hex invalid";if(!js(t))return ye(e);let r=t.length,n=r/2;if(r%2)return ye(e);let a=Zt(n);for(let s=0,c=0;s<n;s++,c+=2){let i=Ms(t.charCodeAt(c)),x=Ms(t.charCodeAt(c+1));if(i===void 0||x===void 0)return ye(e);a[s]=i*16+x}return a},Ie=(t,e)=>e0(js(t)?Lr(t):Ir(e0(t)),e),$s=()=>globalThis?.crypto,ri=()=>$s()?.subtle??ye("crypto.subtle must be defined"),M0=(...t)=>{let e=Zt(t.reduce((n,a)=>n+e0(a).length,0)),r=0;return t.forEach(n=>{e.set(n,r),r+=n.length}),e},Xs=(t=Ae)=>$s().getRandomValues(Zt(t)),Wt=BigInt,Qe=(t,e,r,n="bad number: out of range")=>ei(t)&&e<=t&&t<r?t:ye(n),V=(t,e=ce)=>{let r=t%e;return r>=0n?r:e+r},Zs=t=>V(t,jt),Ys=(t,e)=>{(t===0n||e<=0n)&&ye("no inverse n="+t+" mod="+e);let r=V(t,e),n=e,a=0n,s=1n,c=1n,i=0n;for(;r!==0n;){let x=n/r,d=n%r,o=a-c*x,f=s-i*x;n=r,r=d,a=c,s=i,c=o,i=f}return n===1n?V(a,e):ye("no inverse")},ni=t=>{let e=Zr[t];return typeof e!="function"&&ye("hashes."+t+" not set"),e},Is=t=>t instanceof _e?t:ye("Point expected"),Nr=2n**256n,Ce=class Ce{constructor(e,r,n,a){Se(this,"ex");Se(this,"ey");Se(this,"ez");Se(this,"et");let s=Nr;this.ex=Qe(e,0n,s),this.ey=Qe(r,0n,s),this.ez=Qe(n,1n,s),this.et=Qe(a,0n,s),Object.freeze(this)}static fromAffine(e){return new Ce(e.x,e.y,1n,V(e.x*e.y))}static fromBytes(e,r=!1){let n=Vr,a=Ir(e0(e,Ae)),s=e[31];a[31]=s&-129;let c=Kr(a);Qe(c,0n,r?Nr:ce);let x=V(c*c),d=V(x-1n),o=V(n*x+1n),{isValid:f,value:u}=ai(d,o);f||ye("bad point: y not sqrt");let p=(u&1n)===1n,y=(s&128)!==0;return!r&&u===0n&&y&&ye("bad point: x==0, isLastByteOdd"),y!==p&&(u=V(-u)),new Ce(u,c,1n,V(u*c))}assertValidity(){let e=Or,r=Vr,n=this;if(n.is0())throw new Error("bad point: ZERO");let{ex:a,ey:s,ez:c,et:i}=n,x=V(a*a),d=V(s*s),o=V(c*c),f=V(o*o),u=V(x*e),p=V(o*V(u+d)),y=V(f+V(r*V(x*d)));if(p!==y)throw new Error("bad point: equation left != right (1)");let g=V(a*s),m=V(c*i);if(g!==m)throw new Error("bad point: equation left != right (2)");return this}equals(e){let{ex:r,ey:n,ez:a}=this,{ex:s,ey:c,ez:i}=Is(e),x=V(r*i),d=V(s*a),o=V(n*i),f=V(c*a);return x===d&&o===f}is0(){return this.equals(p0)}negate(){return new Ce(V(-this.ex),this.ey,this.ez,V(-this.et))}double(){let{ex:e,ey:r,ez:n}=this,a=Or,s=V(e*e),c=V(r*r),i=V(2n*V(n*n)),x=V(a*s),d=e+r,o=V(V(d*d)-s-c),f=x+c,u=f-i,p=x-c,y=V(o*u),g=V(f*p),m=V(o*p),l=V(u*f);return new Ce(y,g,l,m)}add(e){let{ex:r,ey:n,ez:a,et:s}=this,{ex:c,ey:i,ez:x,et:d}=Is(e),o=Or,f=Vr,u=V(r*c),p=V(n*i),y=V(s*f*d),g=V(a*x),m=V((r+n)*(c+i)-u-p),l=V(g-y),h=V(g+y),b=V(p-o*u),B=V(m*l),C=V(h*b),v=V(m*b),S=V(l*h);return new Ce(B,C,S,v)}multiply(e,r=!0){if(!r&&(e===0n||this.is0()))return p0;if(Qe(e,1n,jt),e===1n)return this;if(this.equals(ke))return pi(e).p;let n=p0,a=ke;for(let s=this;e>0n;s=s.double(),e>>=1n)e&1n?n=n.add(s):r&&(a=a.add(s));return n}toAffine(){let{ex:e,ey:r,ez:n}=this;if(this.equals(p0))return{x:0n,y:1n};let a=Ys(n,ce);return V(n*a)!==1n&&ye("invalid inverse"),{x:V(e*a),y:V(r*a)}}toBytes(){let{x:e,y:r}=this.assertValidity().toAffine(),n=Js(r);return n[31]|=e&1n?128:0,n}toHex(){return zr(this.toBytes())}clearCofactor(){return this.multiply(Wt(Qa),!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){let e=this.multiply(jt/2n,!1).double();return jt%2n&&(e=e.add(this)),e.is0()}static fromHex(e,r){return Ce.fromBytes(Ie(e),r)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(){return this.toBytes()}};Se(Ce,"BASE"),Se(Ce,"ZERO");_e=Ce,ke=new _e(Vs,Ns,1n,V(Vs*Ns)),p0=new _e(0n,1n,1n,0n);_e.BASE=ke;_e.ZERO=p0;Js=t=>Lr(Ws(Qe(t,0n,Nr),N0)).reverse(),Kr=t=>Wt("0x"+zr(Ir(e0(t)).reverse())),be=(t,e)=>{let r=t;for(;e-- >0n;)r*=r,r%=ce;return r},si=t=>{let r=t*t%ce*t%ce,n=be(r,2n)*r%ce,a=be(n,1n)*t%ce,s=be(a,5n)*a%ce,c=be(s,10n)*s%ce,i=be(c,20n)*c%ce,x=be(i,40n)*i%ce,d=be(x,80n)*x%ce,o=be(d,80n)*x%ce,f=be(o,10n)*s%ce;return{pow_p_5_8:be(f,2n)*t%ce,b2:r}},zs=0x2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0n,ai=(t,e)=>{let r=V(e*e*e),n=V(r*r*e),a=si(t*n).pow_p_5_8,s=V(t*r*a),c=V(e*s*s),i=s,x=V(s*zs),d=c===t,o=c===V(-t),f=c===V(-t*zs);return d&&(s=i),(o||f)&&(s=x),(V(s)&1n)===1n&&(s=V(-s)),{isValid:d||o,value:s}},$t=t=>Zs(Kr(t)),Gr=(...t)=>Zr.sha512Async(...t),jr=(...t)=>ni("sha512Sync")(...t),Qs=t=>{let e=t.slice(0,Ae);e[0]&=248,e[31]&=127,e[31]|=64;let r=t.slice(Ae,N0),n=$t(e),a=ke.multiply(n),s=a.toBytes();return{head:e,prefix:r,scalar:n,point:a,pointBytes:s}},Wr=t=>Gr(Ie(t,Ae)).then(Qs),$r=t=>Qs(jr(Ie(t,Ae))),ii=t=>Wr(t).then(e=>e.pointBytes),oi=t=>$r(t).pointBytes,ea=t=>Gr(t.hashable).then(t.finish),ta=t=>t.finish(jr(t.hashable)),ra=(t,e,r)=>{let{pointBytes:n,scalar:a}=t,s=$t(e),c=ke.multiply(s).toBytes();return{hashable:M0(c,n,r),finish:d=>{let o=Zs(s+$t(d)*a);return e0(M0(c,Js(o)),N0)}}},ci=async(t,e)=>{let r=Ie(t),n=await Wr(e),a=await Gr(n.prefix,r);return ea(ra(n,a,r))},xi=(t,e)=>{let r=Ie(t),n=$r(e),a=jr(n.prefix,r);return ta(ra(n,a,r))},Xr={zip215:!0},na=(t,e,r,n=Xr)=>{t=Ie(t,N0),e=Ie(e),r=Ie(r,Ae);let{zip215:a}=n,s,c,i,x,d=Uint8Array.of();try{s=_e.fromHex(r,a),c=_e.fromHex(t.slice(0,Ae),a),i=Kr(t.slice(Ae,N0)),x=ke.multiply(i,!1),d=M0(c.toBytes(),s.toBytes(),e)}catch{}return{hashable:d,finish:f=>{if(x==null||!a&&s.isSmallOrder())return!1;let u=$t(f);return c.add(s.multiply(u,!1)).add(x.negate()).clearCofactor().is0()}}},ui=async(t,e,r,n=Xr)=>ea(na(t,e,r,n)),fi=(t,e,r,n=Xr)=>ta(na(t,e,r,n)),Zr={sha512Async:async(...t)=>{let e=ri(),r=M0(...t);return Zt(await e.digest("SHA-512",r.buffer))},sha512Sync:void 0,bytesToHex:zr,hexToBytes:Lr,concatBytes:M0,mod:V,invert:Ys,randomBytes:Xs},di={getExtendedPublicKeyAsync:Wr,getExtendedPublicKey:$r,randomPrivateKey:()=>Xs(Ae),precompute:(t=8,e=ke)=>(e.multiply(3n),e)},Xt=8,li=256,sa=Math.ceil(li/Xt)+1,Mr=2**(Xt-1),hi=()=>{let t=[],e=ke,r=e;for(let n=0;n<sa;n++){r=e,t.push(r);for(let a=1;a<Mr;a++)r=r.add(e),t.push(r);e=r.double()}return t},Ks=(t,e)=>{let r=e.negate();return t?r:e},pi=t=>{let e=Ls||(Ls=hi()),r=p0,n=ke,a=2**Xt,s=a,c=Wt(a-1),i=Wt(Xt);for(let x=0;x<sa;x++){let d=Number(t&c);t>>=i,d>Mr&&(d-=s,t+=1n);let o=x*Mr,f=o,u=o+Math.abs(d)-1,p=x%2!==0,y=d<0;d===0?n=n.add(Ks(p,e[f])):r=r.add(Ks(y,e[u]))}return{p:r,f:n}}});var oa=I(()=>{});var xa=I((ca,Yt)=>{var Yr=(()=>{var t=typeof document<"u"?document.currentScript?.src:void 0;return(async function(e={}){var r,n=e,a=typeof window=="object",s=typeof WorkerGlobalScope<"u",c=typeof process=="object"&&process.versions?.node&&process.type!="renderer",i=[],x="./this.program",d=(E,U)=>{throw U};typeof __filename<"u"?t=__filename:s&&(t=self.location.href);var o="";function f(E){return n.locateFile?n.locateFile(E,o):o+E}var u,p;if(c){var y=oa();o=__dirname+"/",p=E=>{E=b(E)?new URL(E):E;var U=y.readFileSync(E);return U},u=async(E,U=!0)=>{E=b(E)?new URL(E):E;var N=y.readFileSync(E,U?void 0:"utf8");return N},process.argv.length>1&&(x=process.argv[1].replace(/\\/g,"/")),i=process.argv.slice(2),d=(E,U)=>{throw process.exitCode=E,U}}else if(a||s){try{o=new URL(".",t).href}catch{}s&&(p=E=>{var U=new XMLHttpRequest;return U.open("GET",E,!1),U.responseType="arraybuffer",U.send(null),new Uint8Array(U.response)}),u=async E=>{if(b(E))return new Promise((N,W)=>{var Y=new XMLHttpRequest;Y.open("GET",E,!0),Y.responseType="arraybuffer",Y.onload=()=>{if(Y.status==200||Y.status==0&&Y.response){N(Y.response);return}W(Y.status)},Y.onerror=W,Y.send(null)});var U=await fetch(E,{credentials:"same-origin"});if(U.ok)return U.arrayBuffer();throw new Error(U.status+" : "+U.url)}}var g=console.log.bind(console),m=console.error.bind(console),l,h=!1,b=E=>E.startsWith("file://"),B,C,v,S,T,R,q,_,A,H,w,z,O,L=!1;function K(){var E=v.buffer;n.HEAP8=S=new Int8Array(E),R=new Int16Array(E),n.HEAPU8=T=new Uint8Array(E),q=new Uint16Array(E),n.HEAP32=_=new Int32Array(E),n.HEAPU32=A=new Uint32Array(E),H=new Float32Array(E),w=new Float64Array(E),z=new BigInt64Array(E),O=new BigUint64Array(E)}function D(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)fe(n.preRun.shift());Ue(ue)}function P(){L=!0,Ze.b()}function k(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)We(n.postRun.shift());Ue(x0)}var F=0,X=null;function J(E){F++,n.monitorRunDependencies?.(F)}function ie(E){if(F--,n.monitorRunDependencies?.(F),F==0&&X){var U=X;X=null,U()}}function G(E){n.onAbort?.(E),E="Aborted("+E+")",m(E),h=!0,E+=". Build with -sASSERTIONS for more info.";var U=new WebAssembly.RuntimeError(E);throw C?.(U),U}var De;function qe(){return f("orlp-ed25519.wasm")}function T0(E){if(E==De&&l)return new Uint8Array(l);if(p)return p(E);throw"both async and sync fetching of the wasm failed"}async function Ge(E){if(!l)try{var U=await u(E);return new Uint8Array(U)}catch{}return T0(E)}async function he(E,U){try{var N=await Ge(E),W=await WebAssembly.instantiate(N,U);return W}catch(Y){m(`failed to asynchronously prepare wasm: ${Y}`),G(Y)}}async function xe(E,U,N){if(!E&&typeof WebAssembly.instantiateStreaming=="function"&&!b(U)&&!c)try{var W=fetch(U,{credentials:"same-origin"}),Y=await WebAssembly.instantiateStreaming(W,N);return Y}catch(ee){m(`wasm streaming compile failed: ${ee}`),m("falling back to ArrayBuffer instantiation")}return he(U,N)}function c0(){return{a:nt}}async function je(){function E(ee,Q){return Ze=ee.exports,v=Ze.a,K(),Sr(Ze),ie("wasm-instantiate"),Ze}J("wasm-instantiate");function U(ee){return E(ee.instance)}var N=c0();if(n.instantiateWasm)return new Promise((ee,Q)=>{n.instantiateWasm(N,(re,Oe)=>{ee(E(re,Oe))})});De??(De=qe());var W=await xe(l,De,N),Y=U(W);return Y}class P0{constructor(U){Se(this,"name","ExitStatus");this.message=`Program terminated with exit(${U})`,this.status=U}}var Ue=E=>{for(;E.length>0;)E.shift()(n)},x0=[],We=E=>x0.push(E),ue=[],fe=E=>ue.push(E),Be=!0,u0=E=>k0(E),j0=()=>rt(),Fe=E=>{var U=n["_"+E];return U},$e=(E,U)=>{S.set(E,U)},Er=E=>{for(var U=0,N=0;N<E.length;++N){var W=E.charCodeAt(N);W<=127?U++:W<=2047?U+=2:W>=55296&&W<=57343?(U+=4,++N):U+=3}return U},W0=(E,U,N,W)=>{if(!(W>0))return 0;for(var Y=N,ee=N+W-1,Q=0;Q<E.length;++Q){var re=E.codePointAt(Q);if(re<=127){if(N>=ee)break;U[N++]=re}else if(re<=2047){if(N+1>=ee)break;U[N++]=192|re>>6,U[N++]=128|re&63}else if(re<=65535){if(N+2>=ee)break;U[N++]=224|re>>12,U[N++]=128|re>>6&63,U[N++]=128|re&63}else{if(N+3>=ee)break;U[N++]=240|re>>18,U[N++]=128|re>>12&63,U[N++]=128|re>>6&63,U[N++]=128|re&63,Q++}}return U[N]=0,N-Y},$0=(E,U,N)=>W0(E,T,U,N),we=E=>tt(E),Xe=E=>{var U=Er(E)+1,N=we(U);return $0(E,N,U),N},X0=typeof TextDecoder<"u"?new TextDecoder:void 0,Z0=(E,U=0,N=NaN)=>{for(var W=U+N,Y=U;E[Y]&&!(Y>=W);)++Y;if(Y-U>16&&E.buffer&&X0)return X0.decode(E.subarray(U,Y));for(var ee="";U<Y;){var Q=E[U++];if(!(Q&128)){ee+=String.fromCharCode(Q);continue}var re=E[U++]&63;if((Q&224)==192){ee+=String.fromCharCode((Q&31)<<6|re);continue}var Oe=E[U++]&63;if((Q&240)==224?Q=(Q&15)<<12|re<<6|Oe:Q=(Q&7)<<18|re<<12|Oe<<6|E[U++]&63,Q<65536)ee+=String.fromCharCode(Q);else{var Ye=Q-65536;ee+=String.fromCharCode(55296|Ye>>10,56320|Ye&1023)}}return ee},Y0=(E,U)=>E?Z0(T,E,U):"",J0=(E,U,N,W,Y)=>{var ee={string:pe=>{var R0=0;return pe!=null&&pe!==0&&(R0=Xe(pe)),R0},array:pe=>{var R0=we(pe.length);return $e(pe,R0),R0}};function Q(pe){return U==="string"?Y0(pe):U==="boolean"?!!pe:pe}var re=Fe(E),Oe=[],Ye=0;if(W)for(var Je=0;Je<W.length;Je++){var mn=ee[N[Je]];mn?(Ye===0&&(Ye=j0()),Oe[Je]=mn(W[Je])):Oe[Je]=W[Je]}var Tr=re(...Oe);function qa(pe){return Ye!==0&&u0(Ye),Q(pe)}return Tr=qa(Tr),Tr},Dr=(E,U,N,W)=>{var Y=!N||N.every(Q=>Q==="number"||Q==="boolean"),ee=U!=="string";return ee&&Y&&!W?Fe(E):(...Q)=>J0(E,U,N,Q,W)};n.noExitRuntime&&(Be=n.noExitRuntime),n.print&&(g=n.print),n.printErr&&(m=n.printErr),n.wasmBinary&&(l=n.wasmBinary),n.arguments&&(i=n.arguments),n.thisProgram&&(x=n.thisProgram),n.ccall=J0,n.cwrap=Dr;var Q0,Fr,et,wr,k0,tt,rt;function Sr(E){n._orlp_derive_public_key=Q0=E.c,n._orlp_validate_keypair=Fr=E.d,n._orlp_sign=et=E.e,n._orlp_verify=wr=E.f,k0=E.g,tt=E.h,rt=E.i}var nt={},Ze=await je();function H0(){if(F>0){X=H0;return}if(D(),F>0){X=H0;return}function E(){n.calledRun=!0,!h&&(P(),B?.(n),n.onRuntimeInitialized?.(),k())}n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),E()},1)):E()}function st(){if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()()}return st(),H0(),L?r=n:r=new Promise((E,U)=>{B=E,C=U}),r})})();typeof ca=="object"&&typeof Yt=="object"?(Yt.exports=Yr,Yt.exports.default=Yr):typeof define=="function"&&define.amd&&define([],()=>Yr)});var Qt=I(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});y0.derivePublicKey=vi;y0.validateKeyPair=gi;y0.sign=mi;y0.verify=Bi;var ge=ae(),yi=xa();async function Jt(){return await yi()}async function vi(t){let e=await Jt(),r=(0,ge.hexToBytes)(t);if(r.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`);let n=1024,a=1088;if(e.HEAPU8.set(r,n),e.ccall("orlp_derive_public_key","number",["number","number"],[a,n])!==0)throw new Error("orlp key derivation failed: invalid private key");let c=new Uint8Array(32);return c.set(e.HEAPU8.subarray(a,a+32)),(0,ge.bytesToHex)(c)}async function gi(t,e){try{let r=await Jt(),n=(0,ge.hexToBytes)(t),a=(0,ge.hexToBytes)(e);if(n.length!==64||a.length!==32)return!1;let s=2048,c=2112;return r.HEAPU8.set(n,s),r.HEAPU8.set(a,c),r.ccall("orlp_validate_keypair","number",["number","number"],[c,s])===1}catch{return!1}}async function mi(t,e,r){let n=await Jt(),a=(0,ge.hexToBytes)(t),s=(0,ge.hexToBytes)(e),c=(0,ge.hexToBytes)(r);if(s.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${s.length}`);if(c.length!==32)throw new Error(`Invalid public key length: expected 32 bytes, got ${c.length}`);let i=1e5,x=2e5,d=3e5,o=4e5;n.HEAPU8.set(a,i),n.HEAPU8.set(s,x),n.HEAPU8.set(c,d),n.ccall("orlp_sign","void",["number","number","number","number","number"],[o,i,a.length,d,x]);let f=new Uint8Array(64);return f.set(n.HEAPU8.subarray(o,o+64)),(0,ge.bytesToHex)(f)}async function Bi(t,e,r){try{let n=await Jt(),a=(0,ge.hexToBytes)(t),s=(0,ge.hexToBytes)(e),c=(0,ge.hexToBytes)(r);if(a.length!==64||c.length!==32)return!1;let i=5e5,x=6e5,d=7e5;return n.HEAPU8.set(a,x),n.HEAPU8.set(s,i),n.HEAPU8.set(c,d),n.ccall("orlp_verify","number",["number","number","number","number"],[x,i,s.length,d])===1}catch{return!1}}});var en=I(Ee=>{"use strict";var bi=Ee&&Ee.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,a)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Ci=Ee&&Ee.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Ai=Ee&&Ee.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[n.length]=a);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),a=0;a<n.length;a++)n[a]!=="default"&&bi(r,e,n[a]);return Ci(r,e),r}})();Object.defineProperty(Ee,"__esModule",{value:!0});Ee.Ed25519SignatureVerifier=void 0;var Qr=Ai((ia(),Cn(aa))),ze=ae(),ua=Qt();async function _i(t){if(typeof globalThis<"u"&&globalThis.crypto&&globalThis.crypto.subtle){let e=await globalThis.crypto.subtle.digest("SHA-512",t);return new Uint8Array(e)}if(typeof U0<"u")try{let{createHash:e}=it();return e("sha512").update(t).digest()}catch{}throw new Error("No SHA-512 implementation available")}function Ei(t){if(typeof U0<"u")try{let{createHash:e}=it();return e("sha512").update(t).digest()}catch{}try{let e=Hr(),r=e.lib.WordArray.create(t),n=e.SHA512(r),a=new Uint8Array(64);for(let s=0;s<16;s++){let c=n.words[s]||0;a[s*4]=c>>>24&255,a[s*4+1]=c>>>16&255,a[s*4+2]=c>>>8&255,a[s*4+3]=c&255}return a}catch{throw new Error("No SHA-512 implementation available for synchronous operation")}}Qr.etc.sha512Async=_i;try{Qr.etc.sha512Sync=Ei}catch(t){console.debug("Could not set up synchronous SHA-512:",t)}var Jr=class{static async verifyAdvertisementSignature(e,r,n,a){try{let s=(0,ze.hexToBytes)(e),c=(0,ze.hexToBytes)(r),i=(0,ze.hexToBytes)(a),x=this.constructAdvertSignedMessage(e,n,i);return await Qr.verify(c,x,s)}catch(s){return console.error("Ed25519 signature verification failed:",s),!1}}static constructAdvertSignedMessage(e,r,n){let a=(0,ze.hexToBytes)(e),s=new Uint8Array(4);s[0]=r&255,s[1]=r>>8&255,s[2]=r>>16&255,s[3]=r>>24&255;let c=new Uint8Array(36+n.length);return c.set(a,0),c.set(s,32),c.set(n,36),c}static getSignedMessageDescription(e,r,n){return`Public Key: ${e} + Timestamp: ${r} (${new Date(r*1e3).toISOString()}) + App Data: ${n}`}static getSignedMessageHex(e,r,n){let a=(0,ze.hexToBytes)(n),s=this.constructAdvertSignedMessage(e,r,a);return(0,ze.bytesToHex)(s)}static async derivePublicKey(e){try{let r=(0,ze.hexToBytes)(e);if(r.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`);return await(0,ua.derivePublicKey)(e)}catch(r){throw new Error(`Failed to derive public key: ${r instanceof Error?r.message:"Unknown error"}`)}}static derivePublicKeySync(e){try{let r=(0,ze.hexToBytes)(e);throw r.length!==64?new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`):new Error("Synchronous key derivation not supported with WASM. Use derivePublicKey() instead.")}catch(r){throw new Error(`Failed to derive public key: ${r instanceof Error?r.message:"Unknown error"}`)}}static async validateKeyPair(e,r){try{return await(0,ua.validateKeyPair)(e,r)}catch{return!1}}};Ee.Ed25519SignatureVerifier=Jr});var fa=I(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.AdvertPayloadDecoder=void 0;var ne=de(),Le=ae(),Di=d0(),Fi=en(),tn=class{static decode(e,r){try{if(e.length<101){let u={type:ne.PayloadType.Advert,version:ne.PayloadVersion.Version1,isValid:!1,errors:["Advertisement payload too short"],publicKey:"",timestamp:0,signature:"",appData:{flags:0,deviceRole:ne.DeviceRole.ChatNode,hasLocation:!1,hasName:!1}};return r?.includeSegments&&(u.segments=[{name:"Invalid Advert Data",description:"Advert payload too short (minimum 101 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,Le.bytesToHex)(e)}]),u}let n=[],a=r?.segmentOffset||0,s=0,c=(0,Le.bytesToHex)(e.subarray(s,s+32));r?.includeSegments&&n.push({name:"Public Key",description:"Ed25519 public key",startByte:a+s,endByte:a+s+31,value:c}),s+=32;let i=this.readUint32LE(e,s);if(r?.includeSegments){let u=new Date(i*1e3);n.push({name:"Timestamp",description:`${i} (${u.toISOString().slice(0,19)}Z)`,startByte:a+s,endByte:a+s+3,value:(0,Le.bytesToHex)(e.subarray(s,s+4))})}s+=4;let x=(0,Le.bytesToHex)(e.subarray(s,s+64));r?.includeSegments&&n.push({name:"Signature",description:"Ed25519 signature",startByte:a+s,endByte:a+s+63,value:x}),s+=64;let d=e[s];if(r?.includeSegments){let u=d.toString(2).padStart(8,"0"),p=this.parseDeviceRole(d),g=` | Bits 0-3 (Role): ${(0,Di.getDeviceRoleName)(p)} | Bit 4 (Location): ${d&ne.AdvertFlags.HasLocation?"Yes":"No"} | Bit 7 (Name): ${d&ne.AdvertFlags.HasName?"Yes":"No"}`;n.push({name:"App Flags",description:`Binary: ${u}${g}`,startByte:a+s,endByte:a+s,value:d.toString(16).padStart(2,"0").toUpperCase()})}s+=1;let o={type:ne.PayloadType.Advert,version:ne.PayloadVersion.Version1,isValid:!0,publicKey:c,timestamp:i,signature:x,appData:{flags:d,deviceRole:this.parseDeviceRole(d),hasLocation:!!(d&ne.AdvertFlags.HasLocation),hasName:!!(d&ne.AdvertFlags.HasName)}},f=s;if(d&ne.AdvertFlags.HasLocation&&e.length>=f+8){let u=this.readInt32LE(e,f)/1e6,p=this.readInt32LE(e,f+4)/1e6;o.appData.location={latitude:Math.round(u*1e6)/1e6,longitude:Math.round(p*1e6)/1e6},r?.includeSegments&&(n.push({name:"Latitude",description:`${u}\xB0 (${u})`,startByte:a+f,endByte:a+f+3,value:(0,Le.bytesToHex)(e.subarray(f,f+4))}),n.push({name:"Longitude",description:`${p}\xB0 (${p})`,startByte:a+f+4,endByte:a+f+7,value:(0,Le.bytesToHex)(e.subarray(f+4,f+8))})),f+=8}if(d&ne.AdvertFlags.HasFeature1&&(f+=2),d&ne.AdvertFlags.HasFeature2&&(f+=2),d&ne.AdvertFlags.HasName&&e.length>f){let u=e.subarray(f),p=new TextDecoder("utf-8").decode(u).replace(/\0.*$/,"");o.appData.name=this.sanitizeControlCharacters(p)||p,r?.includeSegments&&n.push({name:"Node Name",description:`Node name: "${o.appData.name}"`,startByte:a+f,endByte:a+e.length-1,value:(0,Le.bytesToHex)(u)})}return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:ne.PayloadType.Advert,version:ne.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode advertisement payload"],publicKey:"",timestamp:0,signature:"",appData:{flags:0,deviceRole:ne.DeviceRole.ChatNode,hasLocation:!1,hasName:!1}}}}static async decodeWithVerification(e,r){let n=this.decode(e,r);if(!n||!n.isValid)return n;try{let s=e.subarray(100),c=(0,Le.bytesToHex)(s),i=await Fi.Ed25519SignatureVerifier.verifyAdvertisementSignature(n.publicKey,n.signature,n.timestamp,c);n.signatureValid=i,i||(n.signatureError="Ed25519 signature verification failed",n.isValid=!1,n.errors||(n.errors=[]),n.errors.push("Invalid Ed25519 signature"))}catch(a){n.signatureValid=!1,n.signatureError=a instanceof Error?a.message:"Signature verification error",n.isValid=!1,n.errors||(n.errors=[]),n.errors.push("Signature verification failed: "+(a instanceof Error?a.message:"Unknown error"))}return n}static parseDeviceRole(e){switch(e&15){case 1:return ne.DeviceRole.ChatNode;case 2:return ne.DeviceRole.Repeater;case 3:return ne.DeviceRole.RoomServer;case 4:return ne.DeviceRole.Sensor;default:return ne.DeviceRole.ChatNode}}static readUint32LE(e,r){return e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24}static readInt32LE(e,r){let n=this.readUint32LE(e,r);return n>2147483647?n-4294967296:n}static sanitizeControlCharacters(e){return e&&e.trim().replace(/[\x00-\x1F\x7F]/g,"")||null}};er.AdvertPayloadDecoder=tn});var da=I(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.TracePayloadDecoder=void 0;var v0=de(),g0=ae(),rn=class{static decode(e,r,n){try{if(e.length<9){let g={type:v0.PayloadType.Trace,version:v0.PayloadVersion.Version1,isValid:!1,errors:["Trace payload too short (need at least tag(4) + auth(4) + flags(1))"],traceTag:"00000000",authCode:0,flags:0,pathHashes:[]};return n?.includeSegments&&(g.segments=[{name:"Invalid Trace Data",description:"Trace payload too short (minimum 9 bytes required)",startByte:n.segmentOffset||0,endByte:(n.segmentOffset||0)+e.length-1,value:(0,g0.bytesToHex)(e)}]),g}let a=0,s=[],c=n?.segmentOffset||0,i=this.readUint32LE(e,a),x=(0,g0.numberToHex)(i,8);n?.includeSegments&&s.push({name:"Trace Tag",description:`Unique identifier for this trace: 0x${i.toString(16).padStart(8,"0")}`,startByte:c+a,endByte:c+a+3,value:(0,g0.bytesToHex)(e.slice(a,a+4))}),a+=4;let d=this.readUint32LE(e,a);n?.includeSegments&&s.push({name:"Auth Code",description:`Authentication/verification code: ${d}`,startByte:c+a,endByte:c+a+3,value:(0,g0.bytesToHex)(e.slice(a,a+4))}),a+=4;let o=e[a];n?.includeSegments&&s.push({name:"Flags",description:`Application-defined control flags: 0x${o.toString(16).padStart(2,"0")} (${o.toString(2).padStart(8,"0")}b)`,startByte:c+a,endByte:c+a,value:o.toString(16).padStart(2,"0").toUpperCase()}),a+=1;let f=[],u=a;for(;a<e.length;)f.push((0,g0.byteToHex)(e[a])),a++;if(n?.includeSegments&&f.length>0){let g=f.join(" ");s.push({name:"Path Hashes",description:`Node hashes in trace path: ${g}`,startByte:c+u,endByte:c+e.length-1,value:(0,g0.bytesToHex)(e.slice(u))})}let p;r&&r.length>0&&(p=r.map(g=>{let m=parseInt(g,16);return(m>127?m-256:m)/4}));let y={type:v0.PayloadType.Trace,version:v0.PayloadVersion.Version1,isValid:!0,traceTag:x,authCode:d,flags:o,pathHashes:f,snrValues:p};return n?.includeSegments&&(y.segments=s),y}catch(a){return{type:v0.PayloadType.Trace,version:v0.PayloadVersion.Version1,isValid:!1,errors:[a instanceof Error?a.message:"Failed to decode trace payload"],traceTag:"00000000",authCode:0,flags:0,pathHashes:[]}}}static readUint32LE(e,r){return e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24}};tr.TracePayloadDecoder=rn});var la=I(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.GroupTextPayloadDecoder=void 0;var m0=de(),wi=Kt(),rr=ae(),nn=class{static decode(e,r){try{if(e.length<3){let o={type:m0.PayloadType.GroupText,version:m0.PayloadVersion.Version1,isValid:!1,errors:["GroupText payload too short (need at least channel_hash(1) + MAC(2))"],channelHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(o.segments=[{name:"Invalid GroupText Data",description:"GroupText payload too short (minimum 3 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,rr.bytesToHex)(e)}]),o}let n=[],a=r?.segmentOffset||0,s=0,c=(0,rr.byteToHex)(e[s]);r?.includeSegments&&n.push({name:"Channel Hash",description:"First byte of SHA256 of channel's shared key",startByte:a+s,endByte:a+s,value:c}),s+=1;let i=(0,rr.bytesToHex)(e.subarray(s,s+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data",startByte:a+s,endByte:a+s+1,value:i}),s+=2;let x=(0,rr.bytesToHex)(e.subarray(s));r?.includeSegments&&e.length>s&&n.push({name:"Ciphertext",description:"Encrypted message content (timestamp + flags + message)",startByte:a+s,endByte:a+e.length-1,value:x});let d={type:m0.PayloadType.GroupText,version:m0.PayloadVersion.Version1,isValid:!0,channelHash:c,cipherMac:i,ciphertext:x,ciphertextLength:e.length-3};if(r?.keyStore&&r.keyStore.hasChannelKey(c)){let o=r.keyStore.getChannelKeys(c);for(let f of o){let u=wi.ChannelCrypto.decryptGroupTextMessage(x,i,f);if(u.success&&u.data){d.decrypted={timestamp:u.data.timestamp,flags:u.data.flags,sender:u.data.sender,message:u.data.message};break}}}return r?.includeSegments&&(d.segments=n),d}catch(n){return{type:m0.PayloadType.GroupText,version:m0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode GroupText payload"],channelHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};nr.GroupTextPayloadDecoder=nn});var ha=I(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.RequestPayloadDecoder=void 0;var He=de(),I0=ae(),sn=class{static decode(e,r){try{if(e.length<4){let f={type:He.PayloadType.Request,version:He.PayloadVersion.Version1,isValid:!1,errors:["Request payload too short (minimum 4 bytes: dest hash + source hash + MAC)"],timestamp:0,requestType:He.RequestType.GetStats,requestData:"",destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:""};return r?.includeSegments&&(f.segments=[{name:"Invalid Request Data",description:"Request payload too short (minimum 4 bytes required: 1 for dest hash + 1 for source hash + 2 for MAC)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,I0.bytesToHex)(e)}]),f}let n=[],a=r?.segmentOffset||0,s=0,c=(0,I0.bytesToHex)(e.subarray(s,s+1));r?.includeSegments&&n.push({name:"Destination Hash",description:`First byte of destination node public key: 0x${c}`,startByte:a+s,endByte:a+s,value:c}),s+=1;let i=(0,I0.bytesToHex)(e.subarray(s,s+1));r?.includeSegments&&n.push({name:"Source Hash",description:`First byte of source node public key: 0x${i}`,startByte:a+s,endByte:a+s,value:i}),s+=1;let x=(0,I0.bytesToHex)(e.subarray(s,s+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data verification (2 bytes)",startByte:a+s,endByte:a+s+1,value:x}),s+=2;let d=(0,I0.bytesToHex)(e.subarray(s));r?.includeSegments&&e.length>s&&n.push({name:"Ciphertext",description:`Encrypted message data (${e.length-s} bytes). Contains encrypted plaintext with this structure:
|
|
16
16
|
\u2022 Timestamp (4 bytes) - send time as unix timestamp
|
|
17
17
|
\u2022 Request Type (1 byte) - type of request (GetStats, GetTelemetryData, etc.)
|
|
18
|
-
\u2022 Request Data (remaining bytes) - additional request-specific data`,startByte:a+s,endByte:a+e.length-1,value:d});let o={type:He.PayloadType.Request,version:He.PayloadVersion.Version1,isValid:!0,timestamp:0,requestType:He.RequestType.GetStats,requestData:"",destinationHash:
|
|
18
|
+
\u2022 Request Data (remaining bytes) - additional request-specific data`,startByte:a+s,endByte:a+e.length-1,value:d});let o={type:He.PayloadType.Request,version:He.PayloadVersion.Version1,isValid:!0,timestamp:0,requestType:He.RequestType.GetStats,requestData:"",destinationHash:c,sourceHash:i,cipherMac:x,ciphertext:d};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:He.PayloadType.Request,version:He.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode request payload"],timestamp:0,requestType:He.RequestType.GetStats,requestData:"",destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:""}}}};sr.RequestPayloadDecoder=sn});var pa=I(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.ResponsePayloadDecoder=void 0;var B0=de(),z0=ae(),an=class{static decode(e,r){try{if(e.length<4){let f={type:B0.PayloadType.Response,version:B0.PayloadVersion.Version1,isValid:!1,errors:["Response payload too short (minimum 4 bytes: dest + source + MAC)"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(f.segments=[{name:"Invalid Response Data",description:"Response payload too short (minimum 4 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,z0.bytesToHex)(e)}]),f}let n=[],a=r?.segmentOffset||0,s=0,c=(0,z0.byteToHex)(e[s]);r?.includeSegments&&n.push({name:"Destination Hash",description:"First byte of destination node public key",startByte:a+s,endByte:a+s,value:c}),s+=1;let i=(0,z0.byteToHex)(e[s]);r?.includeSegments&&n.push({name:"Source Hash",description:"First byte of source node public key",startByte:a+s,endByte:a+s,value:i}),s+=1;let x=(0,z0.bytesToHex)(e.subarray(s,s+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data in next field",startByte:a+s,endByte:a+s+1,value:x}),s+=2;let d=(0,z0.bytesToHex)(e.subarray(s));r?.includeSegments&&e.length>s&&n.push({name:"Ciphertext",description:"Encrypted response data (tag + content)",startByte:a+s,endByte:a+e.length-1,value:d});let o={type:B0.PayloadType.Response,version:B0.PayloadVersion.Version1,isValid:!0,destinationHash:c,sourceHash:i,cipherMac:x,ciphertext:d,ciphertextLength:e.length-4};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:B0.PayloadType.Response,version:B0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode response payload"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};ar.ResponsePayloadDecoder=an});var ya=I(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.AnonRequestPayloadDecoder=void 0;var b0=de(),L0=ae(),on=class{static decode(e,r){try{if(e.length<35){let f={type:b0.PayloadType.AnonRequest,version:b0.PayloadVersion.Version1,isValid:!1,errors:["AnonRequest payload too short (minimum 35 bytes: dest + public key + MAC)"],destinationHash:"",senderPublicKey:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(f.segments=[{name:"Invalid AnonRequest Data",description:"AnonRequest payload too short (minimum 35 bytes required: 1 for dest hash + 32 for public key + 2 for MAC)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,L0.bytesToHex)(e)}]),f}let n=[],a=r?.segmentOffset||0,s=0,c=(0,L0.byteToHex)(e[0]);r?.includeSegments&&n.push({name:"Destination Hash",description:`First byte of destination node public key: 0x${c}`,startByte:a+s,endByte:a+s,value:c}),s+=1;let i=(0,L0.bytesToHex)(e.subarray(1,33));r?.includeSegments&&n.push({name:"Sender Public Key",description:"Ed25519 public key of the sender (32 bytes)",startByte:a+s,endByte:a+s+31,value:i}),s+=32;let x=(0,L0.bytesToHex)(e.subarray(33,35));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data verification (2 bytes)",startByte:a+s,endByte:a+s+1,value:x}),s+=2;let d=(0,L0.bytesToHex)(e.subarray(35));r?.includeSegments&&e.length>35&&n.push({name:"Ciphertext",description:`Encrypted message data (${e.length-35} bytes). Contains encrypted plaintext with this structure:
|
|
19
19
|
\u2022 Timestamp (4 bytes) - send time as unix timestamp
|
|
20
20
|
\u2022 Sync Timestamp (4 bytes) - room server only, sender's "sync messages SINCE x" timestamp
|
|
21
|
-
\u2022 Password (remaining bytes) - password for repeater/room`,startByte:a+s,endByte:a+e.length-1,value:d});let o={type:b0.PayloadType.AnonRequest,version:b0.PayloadVersion.Version1,isValid:!0,destinationHash:x,senderPublicKey:i,cipherMac:c,ciphertext:d,ciphertextLength:e.length-35};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:b0.PayloadType.AnonRequest,version:b0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode AnonRequest payload"],destinationHash:"",senderPublicKey:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};ir.AnonRequestPayloadDecoder=on});var va=I(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.AckPayloadDecoder=void 0;var C0=de(),cn=ae(),xn=class{static decode(e,r){try{if(e.length<4){let i={type:C0.PayloadType.Ack,version:C0.PayloadVersion.Version1,isValid:!1,errors:["Ack payload too short (minimum 4 bytes for checksum)"],checksum:""};return r?.includeSegments&&(i.segments=[{name:"Invalid Ack Data",description:"Ack payload too short (minimum 4 bytes required for checksum)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,cn.bytesToHex)(e)}]),i}let n=[],a=r?.segmentOffset||0,s=(0,cn.bytesToHex)(e.subarray(0,4));r?.includeSegments&&n.push({name:"Checksum",description:`CRC checksum of message timestamp, text, and sender pubkey: 0x${s}`,startByte:a,endByte:a+3,value:s}),r?.includeSegments&&e.length>4&&n.push({name:"Additional Data",description:"Extra data in Ack payload",startByte:a+4,endByte:a+e.length-1,value:(0,cn.bytesToHex)(e.subarray(4))});let x={type:C0.PayloadType.Ack,version:C0.PayloadVersion.Version1,isValid:!0,checksum:s};return r?.includeSegments&&(x.segments=n),x}catch(n){return{type:C0.PayloadType.Ack,version:C0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode Ack payload"],checksum:""}}}};or.AckPayloadDecoder=xn});var ma=I(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.PathPayloadDecoder=void 0;var Ke=de(),ga=ae(),un=class{static decode(e){try{if(e.length<2)return{type:Ke.PayloadType.Path,version:Ke.PayloadVersion.Version1,isValid:!1,errors:["Path payload too short (minimum 2 bytes: path length + extra type)"],pathLength:0,pathHashes:[],extraType:0,extraData:""};let r=e[0];if(e.length<1+r+1)return{type:Ke.PayloadType.Path,version:Ke.PayloadVersion.Version1,isValid:!1,errors:[`Path payload too short (need ${1+r+1} bytes for path length + path + extra type)`],pathLength:r,pathHashes:[],extraType:0,extraData:""};let n=[];for(let x=0;x<r;x++)n.push((0,ga.byteToHex)(e[1+x]));let a=e[1+r],s="";return e.length>1+r+1&&(s=(0,ga.bytesToHex)(e.subarray(1+r+1))),{type:Ke.PayloadType.Path,version:Ke.PayloadVersion.Version1,isValid:!0,pathLength:r,pathHashes:n,extraType:a,extraData:s}}catch(r){return{type:Ke.PayloadType.Path,version:Ke.PayloadVersion.Version1,isValid:!1,errors:[r instanceof Error?r.message:"Failed to decode Path payload"],pathLength:0,pathHashes:[],extraType:0,extraData:""}}}};cr.PathPayloadDecoder=un});var Ba=I(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.TextMessagePayloadDecoder=void 0;var A0=de(),K0=ae(),fn=class{static decode(e,r){try{if(e.length<4){let f={type:A0.PayloadType.TextMessage,version:A0.PayloadVersion.Version1,isValid:!1,errors:["TextMessage payload too short (minimum 4 bytes: dest + source + MAC)"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(f.segments=[{name:"Invalid TextMessage Data",description:"TextMessage payload too short (minimum 4 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,K0.bytesToHex)(e)}]),f}let n=[],a=r?.segmentOffset||0,s=0,x=(0,K0.byteToHex)(e[s]);r?.includeSegments&&n.push({name:"Destination Hash",description:"First byte of destination node public key",startByte:a+s,endByte:a+s,value:x}),s+=1;let i=(0,K0.byteToHex)(e[s]);r?.includeSegments&&n.push({name:"Source Hash",description:"First byte of source node public key",startByte:a+s,endByte:a+s,value:i}),s+=1;let c=(0,K0.bytesToHex)(e.subarray(s,s+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data in next field",startByte:a+s,endByte:a+s+1,value:c}),s+=2;let d=(0,K0.bytesToHex)(e.subarray(s));r?.includeSegments&&e.length>s&&n.push({name:"Ciphertext",description:"Encrypted message data (timestamp + message text)",startByte:a+s,endByte:a+e.length-1,value:d});let o={type:A0.PayloadType.TextMessage,version:A0.PayloadVersion.Version1,isValid:!0,destinationHash:x,sourceHash:i,cipherMac:c,ciphertext:d,ciphertextLength:e.length-4};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:A0.PayloadType.TextMessage,version:A0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode TextMessage payload"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};xr.TextMessagePayloadDecoder=fn});var ba=I(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.ControlPayloadDecoder=void 0;var te=de(),t0=ae(),Si=d0(),dn=class{static decode(e,r){try{if(e.length<1)return this.createErrorPayload("Control payload too short (minimum 1 byte required)",e,r);let a=e[0]&240;switch(a){case te.ControlSubType.NodeDiscoverReq:return this.decodeDiscoverReq(e,r);case te.ControlSubType.NodeDiscoverResp:return this.decodeDiscoverResp(e,r);default:return this.createErrorPayload(`Unknown control sub-type: 0x${a.toString(16).padStart(2,"0")}`,e,r)}}catch(n){return this.createErrorPayload(n instanceof Error?n.message:"Failed to decode control payload",e,r)}}static decodeDiscoverReq(e,r){let n=[],a=r?.segmentOffset??0;if(e.length<6){let p={type:te.PayloadType.Control,version:te.PayloadVersion.Version1,isValid:!1,errors:["DISCOVER_REQ payload too short (minimum 6 bytes required)"],subType:te.ControlSubType.NodeDiscoverReq,rawFlags:e[0],prefixOnly:!1,typeFilter:0,typeFilterNames:[],tag:0,since:0};return r?.includeSegments&&(p.segments=[{name:"Invalid DISCOVER_REQ Data",description:"DISCOVER_REQ payload too short (minimum 6 bytes required)",startByte:a,endByte:a+e.length-1,value:(0,t0.bytesToHex)(e)}]),p}let s=0,x=e[s],i=(x&1)!==0;r?.includeSegments&&n.push({name:"Flags",description:`Sub-type: DISCOVER_REQ (0x8) | Prefix Only: ${i}`,startByte:a+s,endByte:a+s,value:x.toString(16).padStart(2,"0").toUpperCase()}),s+=1;let c=e[s],d=this.parseTypeFilter(c);r?.includeSegments&&n.push({name:"Type Filter",description:`Filter mask: 0b${c.toString(2).padStart(8,"0")} | Types: ${d.length>0?d.join(", "):"None"}`,startByte:a+s,endByte:a+s,value:c.toString(16).padStart(2,"0").toUpperCase()}),s+=1;let o=this.readUint32LE(e,s);r?.includeSegments&&n.push({name:"Tag",description:`Random tag for response matching: 0x${o.toString(16).padStart(8,"0")}`,startByte:a+s,endByte:a+s+3,value:(0,t0.bytesToHex)(e.slice(s,s+4))}),s+=4;let f=0;if(e.length>=s+4&&(f=this.readUint32LE(e,s),r?.includeSegments)){let p=f>0?new Date(f*1e3).toISOString().slice(0,19)+"Z":"N/A";n.push({name:"Since",description:`Filter timestamp: ${f} (${p})`,startByte:a+s,endByte:a+s+3,value:(0,t0.bytesToHex)(e.slice(s,s+4))})}let u={type:te.PayloadType.Control,version:te.PayloadVersion.Version1,isValid:!0,subType:te.ControlSubType.NodeDiscoverReq,rawFlags:x,prefixOnly:i,typeFilter:c,typeFilterNames:d,tag:o,since:f};return r?.includeSegments&&(u.segments=n),u}static decodeDiscoverResp(e,r){let n=[],a=r?.segmentOffset??0;if(e.length<14){let h={type:te.PayloadType.Control,version:te.PayloadVersion.Version1,isValid:!1,errors:["DISCOVER_RESP payload too short (minimum 14 bytes required)"],subType:te.ControlSubType.NodeDiscoverResp,rawFlags:e.length>0?e[0]:0,nodeType:te.DeviceRole.Unknown,nodeTypeName:"Unknown",snr:0,tag:0,publicKey:"",publicKeyLength:0};return r?.includeSegments&&(h.segments=[{name:"Invalid DISCOVER_RESP Data",description:"DISCOVER_RESP payload too short (minimum 14 bytes required)",startByte:a,endByte:a+e.length-1,value:(0,t0.bytesToHex)(e)}]),h}let s=0,x=e[s],i=x&15,c=(0,Si.getDeviceRoleName)(i);r?.includeSegments&&n.push({name:"Flags",description:`Sub-type: DISCOVER_RESP (0x9) | Node Type: ${c}`,startByte:a+s,endByte:a+s,value:x.toString(16).padStart(2,"0").toUpperCase()}),s+=1;let d=e[s],o=d>127?d-256:d,f=o/4;r?.includeSegments&&n.push({name:"SNR",description:`Inbound SNR: ${f.toFixed(2)} dB (raw: ${d}, signed: ${o})`,startByte:a+s,endByte:a+s,value:d.toString(16).padStart(2,"0").toUpperCase()}),s+=1;let u=this.readUint32LE(e,s);r?.includeSegments&&n.push({name:"Tag",description:`Reflected tag from request: 0x${u.toString(16).padStart(8,"0")}`,startByte:a+s,endByte:a+s+3,value:(0,t0.bytesToHex)(e.slice(s,s+4))}),s+=4;let y=e.length-s,g=e.slice(s,s+y),m=(0,t0.bytesToHex)(g);if(r?.includeSegments){let h=y===32?"Full Public Key":"Public Key Prefix";n.push({name:h,description:`${h} (${y} bytes)`,startByte:a+s,endByte:a+s+y-1,value:m})}let l={type:te.PayloadType.Control,version:te.PayloadVersion.Version1,isValid:!0,subType:te.ControlSubType.NodeDiscoverResp,rawFlags:x,nodeType:i,nodeTypeName:c,snr:f,tag:u,publicKey:m,publicKeyLength:y};return r?.includeSegments&&(l.segments=n),l}static parseTypeFilter(e){let r=[];return e&1<<te.DeviceRole.ChatNode&&r.push("Chat"),e&1<<te.DeviceRole.Repeater&&r.push("Repeater"),e&1<<te.DeviceRole.RoomServer&&r.push("Room"),e&1<<te.DeviceRole.Sensor&&r.push("Sensor"),r}static createErrorPayload(e,r,n){let a={type:te.PayloadType.Control,version:te.PayloadVersion.Version1,isValid:!1,errors:[e],subType:te.ControlSubType.NodeDiscoverReq,rawFlags:r.length>0?r[0]:0,prefixOnly:!1,typeFilter:0,typeFilterNames:[],tag:0,since:0};return n?.includeSegments&&(a.segments=[{name:"Invalid Control Data",description:e,startByte:n.segmentOffset??0,endByte:(n.segmentOffset??0)+r.length-1,value:(0,t0.bytesToHex)(r)}]),a}static readUint32LE(e,r){return(e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24)>>>0}};ur.ControlPayloadDecoder=dn});var hn=I(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.MeshCorePacketDecoder=void 0;var $=de(),me=ae(),_0=d0(),Ti=Ur(),Ca=fa(),Pi=da(),ki=la(),Hi=ha(),Ri=pa(),qi=ya(),Ui=va(),Oi=ma(),Vi=Ba(),Ni=ba(),ln=class{static decode(e,r){return this.parseInternal(e,!1,r).packet}static async decodeWithVerification(e,r){return(await this.parseInternalAsync(e,!1,r)).packet}static analyzeStructure(e,r){return this.parseInternal(e,!0,r).structure}static async analyzeStructureWithVerification(e,r){return(await this.parseInternalAsync(e,!0,r)).structure}static parseInternal(e,r,n){let a=(0,me.hexToBytes)(e),s=[];if(a.length<2){let x={messageHash:"",routeType:$.RouteType.Flood,payloadType:$.PayloadType.RawCustom,payloadVersion:$.PayloadVersion.Version1,pathLength:0,path:null,payload:{raw:"",decoded:null},totalBytes:a.length,isValid:!1,errors:["Packet too short (minimum 2 bytes required)"]},i={segments:[],totalBytes:a.length,rawHex:e.toUpperCase(),messageHash:"",payload:{segments:[],hex:"",startByte:0,type:"Unknown"}};return{packet:x,structure:i}}try{let x=0,i=a[0],c=i&3,d=i>>2&15,o=i>>6&3;r&&s.push({name:"Header",description:"Header byte breakdown",startByte:0,endByte:0,value:`0x${i.toString(16).padStart(2,"0")}`,headerBreakdown:{fullBinary:i.toString(2).padStart(8,"0"),fields:[{bits:"0-1",field:"Route Type",value:(0,_0.getRouteTypeName)(c),binary:(i&3).toString(2).padStart(2,"0")},{bits:"2-5",field:"Payload Type",value:(0,_0.getPayloadTypeName)(d),binary:(i>>2&15).toString(2).padStart(4,"0")},{bits:"6-7",field:"Version",value:o.toString(),binary:(i>>6&3).toString(2).padStart(2,"0")}]}}),x=1;let f;if(c===$.RouteType.TransportFlood||c===$.RouteType.TransportDirect){if(a.length<x+4)throw new Error("Packet too short for transport codes");let v=a[x]|a[x+1]<<8,S=a[x+2]|a[x+3]<<8;if(f=[v,S],r){let T=a[x]|a[x+1]<<8|a[x+2]<<16|a[x+3]<<24;s.push({name:"Transport Code",description:"Used for Direct/Response routing",startByte:x,endByte:x+3,value:`0x${T.toString(16).padStart(8,"0")}`})}x+=4}if(a.length<x+1)throw new Error("Packet too short for path length");let u=a[x];if(r){let v=`Path contains ${u} bytes`;c===$.RouteType.Direct||c===$.RouteType.TransportDirect?v=`For "Direct" packets, this contains routing instructions. ${u} bytes of routing instructions (decreases as packet travels)`:(c===$.RouteType.Flood||c===$.RouteType.TransportFlood)&&(v=`${u} bytes showing route taken (increases as packet floods)`),s.push({name:"Path Length",description:v,startByte:x,endByte:x,value:`0x${u.toString(16).padStart(2,"0")}`})}if(x+=1,a.length<x+u)throw new Error("Packet too short for path data");let p=a.subarray(x,x+u),y=u>0?Array.from(p).map(me.byteToHex):null;if(r&&u>0)if(d===$.PayloadType.Trace){let v=[];for(let S=0;S<u;S++){let T=a[x+S],q=(T>127?T-256:T)/4;v.push(`${q.toFixed(2)}dB (0x${T.toString(16).padStart(2,"0")})`)}s.push({name:"Path SNR Data",description:`SNR values collected during trace: ${v.join(", ")}`,startByte:x,endByte:x+u-1,value:(0,me.bytesToHex)(a.slice(x,x+u))})}else{let v="Routing path information";c===$.RouteType.Direct||c===$.RouteType.TransportDirect?v="Routing instructions (bytes are stripped at each hop as packet travels to destination)":(c===$.RouteType.Flood||c===$.RouteType.TransportFlood)&&(v="Historical route taken (bytes are added as packet floods through network)"),s.push({name:"Path Data",description:v,startByte:x,endByte:x+u-1,value:(0,me.bytesToHex)(a.slice(x,x+u))})}x+=u;let g=a.subarray(x),m=(0,me.bytesToHex)(g);r&&a.length>x&&s.push({name:"Payload",description:`${(0,_0.getPayloadTypeName)(d)} payload data`,startByte:x,endByte:a.length-1,value:(0,me.bytesToHex)(a.slice(x))});let l=null,h=[];if(d===$.PayloadType.Advert){let v=Ca.AdvertPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Trace){let v=Pi.TracePayloadDecoder.decode(g,y,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.GroupText){let v=ki.GroupTextPayloadDecoder.decode(g,{...n,includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Request){let v=Hi.RequestPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Response){let v=Ri.ResponsePayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.AnonRequest){let v=qi.AnonRequestPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Ack){let v=Ui.AckPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Path)l=Oi.PathPayloadDecoder.decode(g);else if(d===$.PayloadType.TextMessage){let v=Vi.TextMessagePayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Control){let v=Ni.ControlPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}r&&h.length===0&&a.length>x&&h.push({name:`${(0,_0.getPayloadTypeName)(d)} Payload`,description:`Raw ${(0,_0.getPayloadTypeName)(d)} payload data (${g.length} bytes)`,startByte:0,endByte:g.length-1,value:(0,me.bytesToHex)(g)});let b=this.calculateMessageHash(a,c,d,o),B={messageHash:b,routeType:c,payloadType:d,payloadVersion:o,transportCodes:f,pathLength:u,path:y,payload:{raw:m,decoded:l},totalBytes:a.length,isValid:!0},C={segments:s,totalBytes:a.length,rawHex:e.toUpperCase(),messageHash:b,payload:{segments:h,hex:m,startByte:x,type:(0,_0.getPayloadTypeName)(d)}};return{packet:B,structure:C}}catch(x){let i={messageHash:"",routeType:$.RouteType.Flood,payloadType:$.PayloadType.RawCustom,payloadVersion:$.PayloadVersion.Version1,pathLength:0,path:null,payload:{raw:"",decoded:null},totalBytes:a.length,isValid:!1,errors:[x instanceof Error?x.message:"Unknown decoding error"]},c={segments:[],totalBytes:a.length,rawHex:e.toUpperCase(),messageHash:"",payload:{segments:[],hex:"",startByte:0,type:"Unknown"}};return{packet:i,structure:c}}}static async parseInternalAsync(e,r,n){let a=this.parseInternal(e,r,n);if(a.packet.payloadType===$.PayloadType.Advert&&a.packet.payload.decoded)try{let s=a.packet.payload.decoded,x=await Ca.AdvertPayloadDecoder.decodeWithVerification((0,me.hexToBytes)(a.packet.payload.raw),{includeSegments:r,segmentOffset:0});x&&(a.packet.payload.decoded=x,x.isValid||(a.packet.isValid=!1,a.packet.errors=x.errors||["Invalid advertisement signature"]),r&&x.segments&&(a.structure.payload.segments=x.segments,delete x.segments))}catch(s){console.error("Signature verification failed:",s)}return a}static validate(e){let r=(0,me.hexToBytes)(e),n=[];if(r.length<2)return n.push("Packet too short (minimum 2 bytes required)"),{isValid:!1,errors:n};try{let a=1,x=r[0]&3;if((x===$.RouteType.TransportFlood||x===$.RouteType.TransportDirect)&&(r.length<a+4&&n.push("Packet too short for transport codes"),a+=4),r.length<a+1)n.push("Packet too short for path length");else{let i=r[a];a+=1,r.length<a+i&&n.push("Packet too short for path data"),a+=i}a>=r.length&&n.push("No payload data found")}catch(a){n.push(a instanceof Error?a.message:"Validation error")}return{isValid:n.length===0,errors:n.length>0?n:void 0}}static calculateMessageHash(e,r,n,a){if(n===$.PayloadType.Trace&&e.length>=13){let o=1;if((r===$.RouteType.TransportFlood||r===$.RouteType.TransportDirect)&&(o+=4),e.length>o){let f=e[o];o+=1+f}if(e.length>=o+4){let f=e[o]|e[o+1]<<8|e[o+2]<<16|e[o+3]<<24;return(0,me.numberToHex)(f,8)}}let s=n<<2|a<<6,x=1;if((r===$.RouteType.TransportFlood||r===$.RouteType.TransportDirect)&&(x+=4),e.length>x){let o=e[x];x+=1+o}let i=e.slice(x),c=[s,...Array.from(i)],d=0;for(let o=0;o<c.length;o++)d=(d<<5)-d+c[o]&4294967295;return(0,me.numberToHex)(d,8)}static createKeyStore(e){return new Ti.MeshCoreKeyStore(e)}};fr.MeshCorePacketDecoder=ln});var yn=I(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});E0.createAuthToken=Mi;E0.verifyAuthToken=Ii;E0.parseAuthToken=zi;E0.decodeAuthTokenPayload=Li;var _a=Qt(),Ea=ae();function Aa(t){let e="";if(typeof Buffer<"u")e=Buffer.from(t).toString("base64");else{let r=String.fromCharCode(...Array.from(t));e=btoa(r)}return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function pn(t){let e=t.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));{let r=atob(e),n=new Uint8Array(r.length);for(let a=0;a<r.length;a++)n[a]=r.charCodeAt(a);return n}}async function Mi(t,e,r){let n={alg:"Ed25519",typ:"JWT"};t.publicKey?t.publicKey=t.publicKey.toUpperCase():t.publicKey=r.toUpperCase(),t.iat||(t.iat=Math.floor(Date.now()/1e3));let a=JSON.stringify(n),s=JSON.stringify(t),x=new TextEncoder().encode(a),i=new TextEncoder().encode(s),c=Aa(x),d=Aa(i),o=`${c}.${d}`,f=new TextEncoder().encode(o),u=(0,Ea.bytesToHex)(f),p=await(0,_a.sign)(u,e,t.publicKey);return`${c}.${d}.${p}`}async function Ii(t,e){try{let r=t.split(".");if(r.length!==3)return null;let[n,a,s]=r,x=pn(n),i=pn(a),c=new TextDecoder().decode(x),d=new TextDecoder().decode(i),o=JSON.parse(c),f=JSON.parse(d);if(o.alg!=="Ed25519"||o.typ!=="JWT"||!f.publicKey||!f.iat||e&&f.publicKey.toUpperCase()!==e.toUpperCase()||f.exp&&Math.floor(Date.now()/1e3)>f.exp)return null;let u=`${n}.${a}`,p=new TextEncoder().encode(u),y=(0,Ea.bytesToHex)(p);return await(0,_a.verify)(s,y,f.publicKey)?f:null}catch{return null}}function zi(t){try{let e=t.split(".");return e.length!==3?null:{header:e[0],payload:e[1],signature:e[2]}}catch{return null}}function Li(t){try{let e=t.split(".");if(e.length!==3)return null;let r=pn(e[1]),n=new TextDecoder().decode(r);return JSON.parse(n)}catch{return null}}});var Da=I(M=>{"use strict";var Ki=M&&M.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,a)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Gi=M&&M.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),vn=M&&M.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[n.length]=a);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),a=0;a<n.length;a++)n[a]!=="default"&&Ki(r,e,n[a]);return Gi(r,e),r}})();Object.defineProperty(M,"__esModule",{value:!0});M.Utils=M.decodeAuthTokenPayload=M.parseAuthToken=M.verifyAuthToken=M.createAuthToken=M.getControlSubTypeName=M.getRequestTypeName=M.getDeviceRoleName=M.getPayloadVersionName=M.getPayloadTypeName=M.getRouteTypeName=M.numberToHex=M.byteToHex=M.bytesToHex=M.hexToBytes=M.Ed25519SignatureVerifier=M.ChannelCrypto=M.MeshCoreKeyStore=M.ControlSubType=M.RequestType=M.AdvertFlags=M.DeviceRole=M.PayloadVersion=M.PayloadType=M.RouteType=M.MeshCoreDecoder=M.MeshCorePacketDecoder=void 0;var ji=hn();Object.defineProperty(M,"MeshCorePacketDecoder",{enumerable:!0,get:function(){return ji.MeshCorePacketDecoder}});var Wi=hn();Object.defineProperty(M,"MeshCoreDecoder",{enumerable:!0,get:function(){return Wi.MeshCorePacketDecoder}});var r0=de();Object.defineProperty(M,"RouteType",{enumerable:!0,get:function(){return r0.RouteType}});Object.defineProperty(M,"PayloadType",{enumerable:!0,get:function(){return r0.PayloadType}});Object.defineProperty(M,"PayloadVersion",{enumerable:!0,get:function(){return r0.PayloadVersion}});Object.defineProperty(M,"DeviceRole",{enumerable:!0,get:function(){return r0.DeviceRole}});Object.defineProperty(M,"AdvertFlags",{enumerable:!0,get:function(){return r0.AdvertFlags}});Object.defineProperty(M,"RequestType",{enumerable:!0,get:function(){return r0.RequestType}});Object.defineProperty(M,"ControlSubType",{enumerable:!0,get:function(){return r0.ControlSubType}});var $i=Ur();Object.defineProperty(M,"MeshCoreKeyStore",{enumerable:!0,get:function(){return $i.MeshCoreKeyStore}});var Xi=Kt();Object.defineProperty(M,"ChannelCrypto",{enumerable:!0,get:function(){return Xi.ChannelCrypto}});var Zi=en();Object.defineProperty(M,"Ed25519SignatureVerifier",{enumerable:!0,get:function(){return Zi.Ed25519SignatureVerifier}});var lr=ae();Object.defineProperty(M,"hexToBytes",{enumerable:!0,get:function(){return lr.hexToBytes}});Object.defineProperty(M,"bytesToHex",{enumerable:!0,get:function(){return lr.bytesToHex}});Object.defineProperty(M,"byteToHex",{enumerable:!0,get:function(){return lr.byteToHex}});Object.defineProperty(M,"numberToHex",{enumerable:!0,get:function(){return lr.numberToHex}});var D0=d0();Object.defineProperty(M,"getRouteTypeName",{enumerable:!0,get:function(){return D0.getRouteTypeName}});Object.defineProperty(M,"getPayloadTypeName",{enumerable:!0,get:function(){return D0.getPayloadTypeName}});Object.defineProperty(M,"getPayloadVersionName",{enumerable:!0,get:function(){return D0.getPayloadVersionName}});Object.defineProperty(M,"getDeviceRoleName",{enumerable:!0,get:function(){return D0.getDeviceRoleName}});Object.defineProperty(M,"getRequestTypeName",{enumerable:!0,get:function(){return D0.getRequestTypeName}});Object.defineProperty(M,"getControlSubTypeName",{enumerable:!0,get:function(){return D0.getControlSubTypeName}});var hr=yn();Object.defineProperty(M,"createAuthToken",{enumerable:!0,get:function(){return hr.createAuthToken}});Object.defineProperty(M,"verifyAuthToken",{enumerable:!0,get:function(){return hr.verifyAuthToken}});Object.defineProperty(M,"parseAuthToken",{enumerable:!0,get:function(){return hr.parseAuthToken}});Object.defineProperty(M,"decodeAuthTokenPayload",{enumerable:!0,get:function(){return hr.decodeAuthTokenPayload}});var Yi=vn(d0()),Ji=vn(ae()),Qi=vn(yn()),dr=Qt();M.Utils={...Yi,...Ji,...Qi,derivePublicKey:dr.derivePublicKey,validateKeyPair:dr.validateKeyPair,sign:dr.sign,verify:dr.verify}});var wa=I((pr,Fa)=>{(function(t,e,r){typeof pr=="object"?Fa.exports=pr=e(j(),l0(),V0()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(pr,function(t){return t.HmacSHA256})});var Ta=I((yr,Sa)=>{(function(t,e){typeof yr=="object"?Sa.exports=yr=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(yr,function(t){return t.enc.Hex})});var no={};Bn(no,{DEFAULT_VALID_SECONDS:()=>w0,GroupTextCracker:()=>Ar,PUBLIC_KEY:()=>a0,PUBLIC_ROOM_NAME:()=>F0,countNamesForLength:()=>Re,deriveKeyFromRoomName:()=>i0,getChannelHash:()=>o0,indexToRoomName:()=>ve,isTimestampValid:()=>gr,isValidUtf8:()=>mr,isWebGpuSupported:()=>Cr,roomNameToIndex:()=>vr,verifyMac:()=>S0});var _r=at(Da(),1);var gn=at(l0(),1),Pa=at(wa(),1),s0=at(Ta(),1),ka="abcdefghijklmnopqrstuvwxyz0123456789",n0=ka.length,Ha=ka+"-",F0="[[public room]]",a0="8b3387e9c5cdea6ac9e5edbaa115cd72",w0=720*60*60;function vr(t){if(!t||t.length===0)return null;let e=t.length,r=0,n=1;for(let a=0;a<e;a++){let s=t[a],x=Ha.indexOf(s);if(x===-1)return null;let i=a===0,c=a===e-1,d=i||c?36:37;if((i||c)&&x===36)return null;r+=x*n,n*=d}return{length:e,index:r}}function ve(t,e){if(t<=0)return null;let r="",n=e,a=!1;for(let s=0;s<t;s++){let x=s===0,i=s===t-1,c=x||i?36:37,d=n%c;n=Math.floor(n/c);let o=d===36;if(o&&a)return null;a=o,r+=Ha[d]}return r}function i0(t){return t===F0?a0:(0,gn.default)(t).toString(s0.default).substring(0,32)}function o0(t){return(0,gn.default)(s0.default.parse(t)).toString(s0.default).substring(0,2)}function S0(t,e,r){let n=r.padEnd(64,"0");return(0,Pa.default)(s0.default.parse(t),s0.default.parse(n)).toString(s0.default).substring(0,4).toLowerCase()===e.toLowerCase()}function Re(t){if(t===1)return n0;if(t===2)return n0*n0;let e=n0,r=1;for(let a=2;a<=t-2;a++){let s=(e+r)*n0,x=e;e=s,r=x}let n=t>2?e+r:1;return n0*n*n0}function gr(t,e=w0,r){let n=r??Math.floor(Date.now()/1e3);return t<=n&&t>=n-e}function mr(t){return!t.includes("\uFFFD")}var br=class br{constructor(){this.device=null;this.pipeline=null;this.bindGroupLayout=null;this.paramsBuffer=null;this.matchCountBuffer=null;this.matchIndicesBuffer=null;this.ciphertextBuffer=null;this.ciphertextBufferSize=0;this.matchCountReadBuffers=[null,null];this.matchIndicesReadBuffers=[null,null];this.currentReadBufferIndex=0;this.bindGroup=null;this.bindGroupDirty=!0;this.shaderCode=`
|
|
21
|
+
\u2022 Password (remaining bytes) - password for repeater/room`,startByte:a+s,endByte:a+e.length-1,value:d});let o={type:b0.PayloadType.AnonRequest,version:b0.PayloadVersion.Version1,isValid:!0,destinationHash:c,senderPublicKey:i,cipherMac:x,ciphertext:d,ciphertextLength:e.length-35};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:b0.PayloadType.AnonRequest,version:b0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode AnonRequest payload"],destinationHash:"",senderPublicKey:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};ir.AnonRequestPayloadDecoder=on});var va=I(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.AckPayloadDecoder=void 0;var C0=de(),cn=ae(),xn=class{static decode(e,r){try{if(e.length<4){let i={type:C0.PayloadType.Ack,version:C0.PayloadVersion.Version1,isValid:!1,errors:["Ack payload too short (minimum 4 bytes for checksum)"],checksum:""};return r?.includeSegments&&(i.segments=[{name:"Invalid Ack Data",description:"Ack payload too short (minimum 4 bytes required for checksum)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,cn.bytesToHex)(e)}]),i}let n=[],a=r?.segmentOffset||0,s=(0,cn.bytesToHex)(e.subarray(0,4));r?.includeSegments&&n.push({name:"Checksum",description:`CRC checksum of message timestamp, text, and sender pubkey: 0x${s}`,startByte:a,endByte:a+3,value:s}),r?.includeSegments&&e.length>4&&n.push({name:"Additional Data",description:"Extra data in Ack payload",startByte:a+4,endByte:a+e.length-1,value:(0,cn.bytesToHex)(e.subarray(4))});let c={type:C0.PayloadType.Ack,version:C0.PayloadVersion.Version1,isValid:!0,checksum:s};return r?.includeSegments&&(c.segments=n),c}catch(n){return{type:C0.PayloadType.Ack,version:C0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode Ack payload"],checksum:""}}}};or.AckPayloadDecoder=xn});var ma=I(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.PathPayloadDecoder=void 0;var Ke=de(),ga=ae(),un=class{static decode(e){try{if(e.length<2)return{type:Ke.PayloadType.Path,version:Ke.PayloadVersion.Version1,isValid:!1,errors:["Path payload too short (minimum 2 bytes: path length + extra type)"],pathLength:0,pathHashes:[],extraType:0,extraData:""};let r=e[0];if(e.length<1+r+1)return{type:Ke.PayloadType.Path,version:Ke.PayloadVersion.Version1,isValid:!1,errors:[`Path payload too short (need ${1+r+1} bytes for path length + path + extra type)`],pathLength:r,pathHashes:[],extraType:0,extraData:""};let n=[];for(let c=0;c<r;c++)n.push((0,ga.byteToHex)(e[1+c]));let a=e[1+r],s="";return e.length>1+r+1&&(s=(0,ga.bytesToHex)(e.subarray(1+r+1))),{type:Ke.PayloadType.Path,version:Ke.PayloadVersion.Version1,isValid:!0,pathLength:r,pathHashes:n,extraType:a,extraData:s}}catch(r){return{type:Ke.PayloadType.Path,version:Ke.PayloadVersion.Version1,isValid:!1,errors:[r instanceof Error?r.message:"Failed to decode Path payload"],pathLength:0,pathHashes:[],extraType:0,extraData:""}}}};cr.PathPayloadDecoder=un});var Ba=I(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.TextMessagePayloadDecoder=void 0;var A0=de(),K0=ae(),fn=class{static decode(e,r){try{if(e.length<4){let f={type:A0.PayloadType.TextMessage,version:A0.PayloadVersion.Version1,isValid:!1,errors:["TextMessage payload too short (minimum 4 bytes: dest + source + MAC)"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(f.segments=[{name:"Invalid TextMessage Data",description:"TextMessage payload too short (minimum 4 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,K0.bytesToHex)(e)}]),f}let n=[],a=r?.segmentOffset||0,s=0,c=(0,K0.byteToHex)(e[s]);r?.includeSegments&&n.push({name:"Destination Hash",description:"First byte of destination node public key",startByte:a+s,endByte:a+s,value:c}),s+=1;let i=(0,K0.byteToHex)(e[s]);r?.includeSegments&&n.push({name:"Source Hash",description:"First byte of source node public key",startByte:a+s,endByte:a+s,value:i}),s+=1;let x=(0,K0.bytesToHex)(e.subarray(s,s+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data in next field",startByte:a+s,endByte:a+s+1,value:x}),s+=2;let d=(0,K0.bytesToHex)(e.subarray(s));r?.includeSegments&&e.length>s&&n.push({name:"Ciphertext",description:"Encrypted message data (timestamp + message text)",startByte:a+s,endByte:a+e.length-1,value:d});let o={type:A0.PayloadType.TextMessage,version:A0.PayloadVersion.Version1,isValid:!0,destinationHash:c,sourceHash:i,cipherMac:x,ciphertext:d,ciphertextLength:e.length-4};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:A0.PayloadType.TextMessage,version:A0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode TextMessage payload"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};xr.TextMessagePayloadDecoder=fn});var ba=I(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.ControlPayloadDecoder=void 0;var te=de(),t0=ae(),Si=d0(),dn=class{static decode(e,r){try{if(e.length<1)return this.createErrorPayload("Control payload too short (minimum 1 byte required)",e,r);let a=e[0]&240;switch(a){case te.ControlSubType.NodeDiscoverReq:return this.decodeDiscoverReq(e,r);case te.ControlSubType.NodeDiscoverResp:return this.decodeDiscoverResp(e,r);default:return this.createErrorPayload(`Unknown control sub-type: 0x${a.toString(16).padStart(2,"0")}`,e,r)}}catch(n){return this.createErrorPayload(n instanceof Error?n.message:"Failed to decode control payload",e,r)}}static decodeDiscoverReq(e,r){let n=[],a=r?.segmentOffset??0;if(e.length<6){let p={type:te.PayloadType.Control,version:te.PayloadVersion.Version1,isValid:!1,errors:["DISCOVER_REQ payload too short (minimum 6 bytes required)"],subType:te.ControlSubType.NodeDiscoverReq,rawFlags:e[0],prefixOnly:!1,typeFilter:0,typeFilterNames:[],tag:0,since:0};return r?.includeSegments&&(p.segments=[{name:"Invalid DISCOVER_REQ Data",description:"DISCOVER_REQ payload too short (minimum 6 bytes required)",startByte:a,endByte:a+e.length-1,value:(0,t0.bytesToHex)(e)}]),p}let s=0,c=e[s],i=(c&1)!==0;r?.includeSegments&&n.push({name:"Flags",description:`Sub-type: DISCOVER_REQ (0x8) | Prefix Only: ${i}`,startByte:a+s,endByte:a+s,value:c.toString(16).padStart(2,"0").toUpperCase()}),s+=1;let x=e[s],d=this.parseTypeFilter(x);r?.includeSegments&&n.push({name:"Type Filter",description:`Filter mask: 0b${x.toString(2).padStart(8,"0")} | Types: ${d.length>0?d.join(", "):"None"}`,startByte:a+s,endByte:a+s,value:x.toString(16).padStart(2,"0").toUpperCase()}),s+=1;let o=this.readUint32LE(e,s);r?.includeSegments&&n.push({name:"Tag",description:`Random tag for response matching: 0x${o.toString(16).padStart(8,"0")}`,startByte:a+s,endByte:a+s+3,value:(0,t0.bytesToHex)(e.slice(s,s+4))}),s+=4;let f=0;if(e.length>=s+4&&(f=this.readUint32LE(e,s),r?.includeSegments)){let p=f>0?new Date(f*1e3).toISOString().slice(0,19)+"Z":"N/A";n.push({name:"Since",description:`Filter timestamp: ${f} (${p})`,startByte:a+s,endByte:a+s+3,value:(0,t0.bytesToHex)(e.slice(s,s+4))})}let u={type:te.PayloadType.Control,version:te.PayloadVersion.Version1,isValid:!0,subType:te.ControlSubType.NodeDiscoverReq,rawFlags:c,prefixOnly:i,typeFilter:x,typeFilterNames:d,tag:o,since:f};return r?.includeSegments&&(u.segments=n),u}static decodeDiscoverResp(e,r){let n=[],a=r?.segmentOffset??0;if(e.length<14){let h={type:te.PayloadType.Control,version:te.PayloadVersion.Version1,isValid:!1,errors:["DISCOVER_RESP payload too short (minimum 14 bytes required)"],subType:te.ControlSubType.NodeDiscoverResp,rawFlags:e.length>0?e[0]:0,nodeType:te.DeviceRole.Unknown,nodeTypeName:"Unknown",snr:0,tag:0,publicKey:"",publicKeyLength:0};return r?.includeSegments&&(h.segments=[{name:"Invalid DISCOVER_RESP Data",description:"DISCOVER_RESP payload too short (minimum 14 bytes required)",startByte:a,endByte:a+e.length-1,value:(0,t0.bytesToHex)(e)}]),h}let s=0,c=e[s],i=c&15,x=(0,Si.getDeviceRoleName)(i);r?.includeSegments&&n.push({name:"Flags",description:`Sub-type: DISCOVER_RESP (0x9) | Node Type: ${x}`,startByte:a+s,endByte:a+s,value:c.toString(16).padStart(2,"0").toUpperCase()}),s+=1;let d=e[s],o=d>127?d-256:d,f=o/4;r?.includeSegments&&n.push({name:"SNR",description:`Inbound SNR: ${f.toFixed(2)} dB (raw: ${d}, signed: ${o})`,startByte:a+s,endByte:a+s,value:d.toString(16).padStart(2,"0").toUpperCase()}),s+=1;let u=this.readUint32LE(e,s);r?.includeSegments&&n.push({name:"Tag",description:`Reflected tag from request: 0x${u.toString(16).padStart(8,"0")}`,startByte:a+s,endByte:a+s+3,value:(0,t0.bytesToHex)(e.slice(s,s+4))}),s+=4;let y=e.length-s,g=e.slice(s,s+y),m=(0,t0.bytesToHex)(g);if(r?.includeSegments){let h=y===32?"Full Public Key":"Public Key Prefix";n.push({name:h,description:`${h} (${y} bytes)`,startByte:a+s,endByte:a+s+y-1,value:m})}let l={type:te.PayloadType.Control,version:te.PayloadVersion.Version1,isValid:!0,subType:te.ControlSubType.NodeDiscoverResp,rawFlags:c,nodeType:i,nodeTypeName:x,snr:f,tag:u,publicKey:m,publicKeyLength:y};return r?.includeSegments&&(l.segments=n),l}static parseTypeFilter(e){let r=[];return e&1<<te.DeviceRole.ChatNode&&r.push("Chat"),e&1<<te.DeviceRole.Repeater&&r.push("Repeater"),e&1<<te.DeviceRole.RoomServer&&r.push("Room"),e&1<<te.DeviceRole.Sensor&&r.push("Sensor"),r}static createErrorPayload(e,r,n){let a={type:te.PayloadType.Control,version:te.PayloadVersion.Version1,isValid:!1,errors:[e],subType:te.ControlSubType.NodeDiscoverReq,rawFlags:r.length>0?r[0]:0,prefixOnly:!1,typeFilter:0,typeFilterNames:[],tag:0,since:0};return n?.includeSegments&&(a.segments=[{name:"Invalid Control Data",description:e,startByte:n.segmentOffset??0,endByte:(n.segmentOffset??0)+r.length-1,value:(0,t0.bytesToHex)(r)}]),a}static readUint32LE(e,r){return(e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24)>>>0}};ur.ControlPayloadDecoder=dn});var hn=I(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.MeshCorePacketDecoder=void 0;var $=de(),me=ae(),_0=d0(),Ti=Ur(),Ca=fa(),Pi=da(),ki=la(),Hi=ha(),Ri=pa(),qi=ya(),Ui=va(),Oi=ma(),Vi=Ba(),Ni=ba(),ln=class{static decode(e,r){return this.parseInternal(e,!1,r).packet}static async decodeWithVerification(e,r){return(await this.parseInternalAsync(e,!1,r)).packet}static analyzeStructure(e,r){return this.parseInternal(e,!0,r).structure}static async analyzeStructureWithVerification(e,r){return(await this.parseInternalAsync(e,!0,r)).structure}static parseInternal(e,r,n){let a=(0,me.hexToBytes)(e),s=[];if(a.length<2){let c={messageHash:"",routeType:$.RouteType.Flood,payloadType:$.PayloadType.RawCustom,payloadVersion:$.PayloadVersion.Version1,pathLength:0,path:null,payload:{raw:"",decoded:null},totalBytes:a.length,isValid:!1,errors:["Packet too short (minimum 2 bytes required)"]},i={segments:[],totalBytes:a.length,rawHex:e.toUpperCase(),messageHash:"",payload:{segments:[],hex:"",startByte:0,type:"Unknown"}};return{packet:c,structure:i}}try{let c=0,i=a[0],x=i&3,d=i>>2&15,o=i>>6&3;r&&s.push({name:"Header",description:"Header byte breakdown",startByte:0,endByte:0,value:`0x${i.toString(16).padStart(2,"0")}`,headerBreakdown:{fullBinary:i.toString(2).padStart(8,"0"),fields:[{bits:"0-1",field:"Route Type",value:(0,_0.getRouteTypeName)(x),binary:(i&3).toString(2).padStart(2,"0")},{bits:"2-5",field:"Payload Type",value:(0,_0.getPayloadTypeName)(d),binary:(i>>2&15).toString(2).padStart(4,"0")},{bits:"6-7",field:"Version",value:o.toString(),binary:(i>>6&3).toString(2).padStart(2,"0")}]}}),c=1;let f;if(x===$.RouteType.TransportFlood||x===$.RouteType.TransportDirect){if(a.length<c+4)throw new Error("Packet too short for transport codes");let v=a[c]|a[c+1]<<8,S=a[c+2]|a[c+3]<<8;if(f=[v,S],r){let T=a[c]|a[c+1]<<8|a[c+2]<<16|a[c+3]<<24;s.push({name:"Transport Code",description:"Used for Direct/Response routing",startByte:c,endByte:c+3,value:`0x${T.toString(16).padStart(8,"0")}`})}c+=4}if(a.length<c+1)throw new Error("Packet too short for path length");let u=a[c];if(r){let v=`Path contains ${u} bytes`;x===$.RouteType.Direct||x===$.RouteType.TransportDirect?v=`For "Direct" packets, this contains routing instructions. ${u} bytes of routing instructions (decreases as packet travels)`:(x===$.RouteType.Flood||x===$.RouteType.TransportFlood)&&(v=`${u} bytes showing route taken (increases as packet floods)`),s.push({name:"Path Length",description:v,startByte:c,endByte:c,value:`0x${u.toString(16).padStart(2,"0")}`})}if(c+=1,a.length<c+u)throw new Error("Packet too short for path data");let p=a.subarray(c,c+u),y=u>0?Array.from(p).map(me.byteToHex):null;if(r&&u>0)if(d===$.PayloadType.Trace){let v=[];for(let S=0;S<u;S++){let T=a[c+S],q=(T>127?T-256:T)/4;v.push(`${q.toFixed(2)}dB (0x${T.toString(16).padStart(2,"0")})`)}s.push({name:"Path SNR Data",description:`SNR values collected during trace: ${v.join(", ")}`,startByte:c,endByte:c+u-1,value:(0,me.bytesToHex)(a.slice(c,c+u))})}else{let v="Routing path information";x===$.RouteType.Direct||x===$.RouteType.TransportDirect?v="Routing instructions (bytes are stripped at each hop as packet travels to destination)":(x===$.RouteType.Flood||x===$.RouteType.TransportFlood)&&(v="Historical route taken (bytes are added as packet floods through network)"),s.push({name:"Path Data",description:v,startByte:c,endByte:c+u-1,value:(0,me.bytesToHex)(a.slice(c,c+u))})}c+=u;let g=a.subarray(c),m=(0,me.bytesToHex)(g);r&&a.length>c&&s.push({name:"Payload",description:`${(0,_0.getPayloadTypeName)(d)} payload data`,startByte:c,endByte:a.length-1,value:(0,me.bytesToHex)(a.slice(c))});let l=null,h=[];if(d===$.PayloadType.Advert){let v=Ca.AdvertPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Trace){let v=Pi.TracePayloadDecoder.decode(g,y,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.GroupText){let v=ki.GroupTextPayloadDecoder.decode(g,{...n,includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Request){let v=Hi.RequestPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Response){let v=Ri.ResponsePayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.AnonRequest){let v=qi.AnonRequestPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Ack){let v=Ui.AckPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Path)l=Oi.PathPayloadDecoder.decode(g);else if(d===$.PayloadType.TextMessage){let v=Vi.TextMessagePayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===$.PayloadType.Control){let v=Ni.ControlPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}r&&h.length===0&&a.length>c&&h.push({name:`${(0,_0.getPayloadTypeName)(d)} Payload`,description:`Raw ${(0,_0.getPayloadTypeName)(d)} payload data (${g.length} bytes)`,startByte:0,endByte:g.length-1,value:(0,me.bytesToHex)(g)});let b=this.calculateMessageHash(a,x,d,o),B={messageHash:b,routeType:x,payloadType:d,payloadVersion:o,transportCodes:f,pathLength:u,path:y,payload:{raw:m,decoded:l},totalBytes:a.length,isValid:!0},C={segments:s,totalBytes:a.length,rawHex:e.toUpperCase(),messageHash:b,payload:{segments:h,hex:m,startByte:c,type:(0,_0.getPayloadTypeName)(d)}};return{packet:B,structure:C}}catch(c){let i={messageHash:"",routeType:$.RouteType.Flood,payloadType:$.PayloadType.RawCustom,payloadVersion:$.PayloadVersion.Version1,pathLength:0,path:null,payload:{raw:"",decoded:null},totalBytes:a.length,isValid:!1,errors:[c instanceof Error?c.message:"Unknown decoding error"]},x={segments:[],totalBytes:a.length,rawHex:e.toUpperCase(),messageHash:"",payload:{segments:[],hex:"",startByte:0,type:"Unknown"}};return{packet:i,structure:x}}}static async parseInternalAsync(e,r,n){let a=this.parseInternal(e,r,n);if(a.packet.payloadType===$.PayloadType.Advert&&a.packet.payload.decoded)try{let s=a.packet.payload.decoded,c=await Ca.AdvertPayloadDecoder.decodeWithVerification((0,me.hexToBytes)(a.packet.payload.raw),{includeSegments:r,segmentOffset:0});c&&(a.packet.payload.decoded=c,c.isValid||(a.packet.isValid=!1,a.packet.errors=c.errors||["Invalid advertisement signature"]),r&&c.segments&&(a.structure.payload.segments=c.segments,delete c.segments))}catch(s){console.error("Signature verification failed:",s)}return a}static validate(e){let r=(0,me.hexToBytes)(e),n=[];if(r.length<2)return n.push("Packet too short (minimum 2 bytes required)"),{isValid:!1,errors:n};try{let a=1,c=r[0]&3;if((c===$.RouteType.TransportFlood||c===$.RouteType.TransportDirect)&&(r.length<a+4&&n.push("Packet too short for transport codes"),a+=4),r.length<a+1)n.push("Packet too short for path length");else{let i=r[a];a+=1,r.length<a+i&&n.push("Packet too short for path data"),a+=i}a>=r.length&&n.push("No payload data found")}catch(a){n.push(a instanceof Error?a.message:"Validation error")}return{isValid:n.length===0,errors:n.length>0?n:void 0}}static calculateMessageHash(e,r,n,a){if(n===$.PayloadType.Trace&&e.length>=13){let o=1;if((r===$.RouteType.TransportFlood||r===$.RouteType.TransportDirect)&&(o+=4),e.length>o){let f=e[o];o+=1+f}if(e.length>=o+4){let f=e[o]|e[o+1]<<8|e[o+2]<<16|e[o+3]<<24;return(0,me.numberToHex)(f,8)}}let s=n<<2|a<<6,c=1;if((r===$.RouteType.TransportFlood||r===$.RouteType.TransportDirect)&&(c+=4),e.length>c){let o=e[c];c+=1+o}let i=e.slice(c),x=[s,...Array.from(i)],d=0;for(let o=0;o<x.length;o++)d=(d<<5)-d+x[o]&4294967295;return(0,me.numberToHex)(d,8)}static createKeyStore(e){return new Ti.MeshCoreKeyStore(e)}};fr.MeshCorePacketDecoder=ln});var yn=I(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});E0.createAuthToken=Mi;E0.verifyAuthToken=Ii;E0.parseAuthToken=zi;E0.decodeAuthTokenPayload=Li;var _a=Qt(),Ea=ae();function Aa(t){let e="";if(typeof Buffer<"u")e=Buffer.from(t).toString("base64");else{let r=String.fromCharCode(...Array.from(t));e=btoa(r)}return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function pn(t){let e=t.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));{let r=atob(e),n=new Uint8Array(r.length);for(let a=0;a<r.length;a++)n[a]=r.charCodeAt(a);return n}}async function Mi(t,e,r){let n={alg:"Ed25519",typ:"JWT"};t.publicKey?t.publicKey=t.publicKey.toUpperCase():t.publicKey=r.toUpperCase(),t.iat||(t.iat=Math.floor(Date.now()/1e3));let a=JSON.stringify(n),s=JSON.stringify(t),c=new TextEncoder().encode(a),i=new TextEncoder().encode(s),x=Aa(c),d=Aa(i),o=`${x}.${d}`,f=new TextEncoder().encode(o),u=(0,Ea.bytesToHex)(f),p=await(0,_a.sign)(u,e,t.publicKey);return`${x}.${d}.${p}`}async function Ii(t,e){try{let r=t.split(".");if(r.length!==3)return null;let[n,a,s]=r,c=pn(n),i=pn(a),x=new TextDecoder().decode(c),d=new TextDecoder().decode(i),o=JSON.parse(x),f=JSON.parse(d);if(o.alg!=="Ed25519"||o.typ!=="JWT"||!f.publicKey||!f.iat||e&&f.publicKey.toUpperCase()!==e.toUpperCase()||f.exp&&Math.floor(Date.now()/1e3)>f.exp)return null;let u=`${n}.${a}`,p=new TextEncoder().encode(u),y=(0,Ea.bytesToHex)(p);return await(0,_a.verify)(s,y,f.publicKey)?f:null}catch{return null}}function zi(t){try{let e=t.split(".");return e.length!==3?null:{header:e[0],payload:e[1],signature:e[2]}}catch{return null}}function Li(t){try{let e=t.split(".");if(e.length!==3)return null;let r=pn(e[1]),n=new TextDecoder().decode(r);return JSON.parse(n)}catch{return null}}});var Da=I(M=>{"use strict";var Ki=M&&M.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,a)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Gi=M&&M.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),vn=M&&M.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[n.length]=a);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),a=0;a<n.length;a++)n[a]!=="default"&&Ki(r,e,n[a]);return Gi(r,e),r}})();Object.defineProperty(M,"__esModule",{value:!0});M.Utils=M.decodeAuthTokenPayload=M.parseAuthToken=M.verifyAuthToken=M.createAuthToken=M.getControlSubTypeName=M.getRequestTypeName=M.getDeviceRoleName=M.getPayloadVersionName=M.getPayloadTypeName=M.getRouteTypeName=M.numberToHex=M.byteToHex=M.bytesToHex=M.hexToBytes=M.Ed25519SignatureVerifier=M.ChannelCrypto=M.MeshCoreKeyStore=M.ControlSubType=M.RequestType=M.AdvertFlags=M.DeviceRole=M.PayloadVersion=M.PayloadType=M.RouteType=M.MeshCoreDecoder=M.MeshCorePacketDecoder=void 0;var ji=hn();Object.defineProperty(M,"MeshCorePacketDecoder",{enumerable:!0,get:function(){return ji.MeshCorePacketDecoder}});var Wi=hn();Object.defineProperty(M,"MeshCoreDecoder",{enumerable:!0,get:function(){return Wi.MeshCorePacketDecoder}});var r0=de();Object.defineProperty(M,"RouteType",{enumerable:!0,get:function(){return r0.RouteType}});Object.defineProperty(M,"PayloadType",{enumerable:!0,get:function(){return r0.PayloadType}});Object.defineProperty(M,"PayloadVersion",{enumerable:!0,get:function(){return r0.PayloadVersion}});Object.defineProperty(M,"DeviceRole",{enumerable:!0,get:function(){return r0.DeviceRole}});Object.defineProperty(M,"AdvertFlags",{enumerable:!0,get:function(){return r0.AdvertFlags}});Object.defineProperty(M,"RequestType",{enumerable:!0,get:function(){return r0.RequestType}});Object.defineProperty(M,"ControlSubType",{enumerable:!0,get:function(){return r0.ControlSubType}});var $i=Ur();Object.defineProperty(M,"MeshCoreKeyStore",{enumerable:!0,get:function(){return $i.MeshCoreKeyStore}});var Xi=Kt();Object.defineProperty(M,"ChannelCrypto",{enumerable:!0,get:function(){return Xi.ChannelCrypto}});var Zi=en();Object.defineProperty(M,"Ed25519SignatureVerifier",{enumerable:!0,get:function(){return Zi.Ed25519SignatureVerifier}});var lr=ae();Object.defineProperty(M,"hexToBytes",{enumerable:!0,get:function(){return lr.hexToBytes}});Object.defineProperty(M,"bytesToHex",{enumerable:!0,get:function(){return lr.bytesToHex}});Object.defineProperty(M,"byteToHex",{enumerable:!0,get:function(){return lr.byteToHex}});Object.defineProperty(M,"numberToHex",{enumerable:!0,get:function(){return lr.numberToHex}});var D0=d0();Object.defineProperty(M,"getRouteTypeName",{enumerable:!0,get:function(){return D0.getRouteTypeName}});Object.defineProperty(M,"getPayloadTypeName",{enumerable:!0,get:function(){return D0.getPayloadTypeName}});Object.defineProperty(M,"getPayloadVersionName",{enumerable:!0,get:function(){return D0.getPayloadVersionName}});Object.defineProperty(M,"getDeviceRoleName",{enumerable:!0,get:function(){return D0.getDeviceRoleName}});Object.defineProperty(M,"getRequestTypeName",{enumerable:!0,get:function(){return D0.getRequestTypeName}});Object.defineProperty(M,"getControlSubTypeName",{enumerable:!0,get:function(){return D0.getControlSubTypeName}});var hr=yn();Object.defineProperty(M,"createAuthToken",{enumerable:!0,get:function(){return hr.createAuthToken}});Object.defineProperty(M,"verifyAuthToken",{enumerable:!0,get:function(){return hr.verifyAuthToken}});Object.defineProperty(M,"parseAuthToken",{enumerable:!0,get:function(){return hr.parseAuthToken}});Object.defineProperty(M,"decodeAuthTokenPayload",{enumerable:!0,get:function(){return hr.decodeAuthTokenPayload}});var Yi=vn(d0()),Ji=vn(ae()),Qi=vn(yn()),dr=Qt();M.Utils={...Yi,...Ji,...Qi,derivePublicKey:dr.derivePublicKey,validateKeyPair:dr.validateKeyPair,sign:dr.sign,verify:dr.verify}});var wa=I((pr,Fa)=>{(function(t,e,r){typeof pr=="object"?Fa.exports=pr=e(j(),l0(),V0()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(pr,function(t){return t.HmacSHA256})});var Ta=I((yr,Sa)=>{(function(t,e){typeof yr=="object"?Sa.exports=yr=e(j()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(yr,function(t){return t.enc.Hex})});var no={};Bn(no,{DEFAULT_VALID_SECONDS:()=>w0,GroupTextCracker:()=>Ar,PUBLIC_KEY:()=>a0,PUBLIC_ROOM_NAME:()=>F0,countNamesForLength:()=>Re,deriveKeyFromRoomName:()=>i0,getChannelHash:()=>o0,indexToRoomName:()=>ve,isTimestampValid:()=>gr,isValidUtf8:()=>mr,isWebGpuSupported:()=>Cr,roomNameToIndex:()=>vr,verifyMac:()=>S0});var _r=at(Da(),1);var gn=at(l0(),1),Pa=at(wa(),1),s0=at(Ta(),1),ka="abcdefghijklmnopqrstuvwxyz0123456789",n0=ka.length,Ha=ka+"-",F0="[[public room]]",a0="8b3387e9c5cdea6ac9e5edbaa115cd72",w0=720*60*60;function vr(t){if(!t||t.length===0)return null;let e=t.length,r=0,n=1;for(let a=0;a<e;a++){let s=t[a],c=Ha.indexOf(s);if(c===-1)return null;let i=a===0,x=a===e-1,d=i||x?36:37;if((i||x)&&c===36)return null;r+=c*n,n*=d}return{length:e,index:r}}function ve(t,e){if(t<=0)return null;let r="",n=e,a=!1;for(let s=0;s<t;s++){let c=s===0,i=s===t-1,x=c||i?36:37,d=n%x;n=Math.floor(n/x);let o=d===36;if(o&&a)return null;a=o,r+=Ha[d]}return r}function i0(t){return t===F0?a0:(0,gn.default)(t).toString(s0.default).substring(0,32)}function o0(t){return(0,gn.default)(s0.default.parse(t)).toString(s0.default).substring(0,2)}function S0(t,e,r){let n=r.padEnd(64,"0");return(0,Pa.default)(s0.default.parse(t),s0.default.parse(n)).toString(s0.default).substring(0,4).toLowerCase()===e.toLowerCase()}function Re(t){if(t===1)return n0;if(t===2)return n0*n0;let e=n0,r=1;for(let a=2;a<=t-2;a++){let s=(e+r)*n0,c=e;e=s,r=c}let n=t>2?e+r:1;return n0*n*n0}function gr(t,e=w0,r){let n=r??Math.floor(Date.now()/1e3);return t<=n&&t>=n-e}function mr(t){return!t.includes("\uFFFD")}var br=class br{constructor(){this.device=null;this.pipeline=null;this.bindGroupLayout=null;this.paramsBuffer=null;this.matchCountBuffer=null;this.matchIndicesBuffer=null;this.ciphertextBuffer=null;this.ciphertextBufferSize=0;this.matchCountReadBuffers=[null,null];this.matchIndicesReadBuffers=[null,null];this.currentReadBufferIndex=0;this.bindGroup=null;this.bindGroupDirty=!0;this.shaderCode=`
|
|
22
22
|
// SHA256 round constants
|
|
23
23
|
const K: array<u32, 64> = array<u32, 64>(
|
|
24
24
|
0x428a2f98u, 0x71374491u, 0xb5c0fbcfu, 0xe9b5dba5u, 0x3956c25bu, 0x59f111f1u, 0x923f82a4u, 0xab1c5ed5u,
|
|
@@ -404,8 +404,8 @@ fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
|
|
|
404
404
|
process_candidate(name_idx);
|
|
405
405
|
}
|
|
406
406
|
}
|
|
407
|
-
`}async init(){if(!navigator.gpu)return console.warn("WebGPU not supported"),!1;try{let e=await navigator.gpu.requestAdapter();if(!e)return console.warn("No GPU adapter found"),!1;this.device=await e.requestDevice(),this.bindGroupLayout=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.COMPUTE,buffer:{type:"uniform"}},{binding:1,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}},{binding:2,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}},{binding:3,visibility:GPUShaderStage.COMPUTE,buffer:{type:"read-only-storage"}}]}),this.paramsBuffer=this.device.createBuffer({size:32,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.matchCountBuffer=this.device.createBuffer({size:4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST}),this.matchIndicesBuffer=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC});for(let a=0;a<2;a++)this.matchCountReadBuffers[a]=this.device.createBuffer({size:4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.matchIndicesReadBuffers[a]=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST});let r=this.device.createShaderModule({code:this.shaderCode}),n=this.device.createPipelineLayout({bindGroupLayouts:[this.bindGroupLayout]});return this.pipeline=this.device.createComputePipeline({layout:n,compute:{module:r,entryPoint:"main"}}),!0}catch(e){return console.error("WebGPU initialization failed:",e),!1}}isAvailable(){return this.device!==null&&this.pipeline!==null}indexToRoomName(e,r){return ve(r,e)}countNamesForLength(e){return Re(e)}async runBatch(e,r,n,a,s,
|
|
408
|
-
`).map(s=>s.trim().toLowerCase()).filter(s=>s.length>0);this.wordlist=a.filter(Ra)}setWordlist(e){this.wordlist=e.map(r=>r.trim().toLowerCase()).filter(Ra)}abort(){this.abortFlag=!0}isGpuAvailable(){return Cr()}async decodePacket(e){let r=e.trim().replace(/\s+/g,"").replace(/^0x/i,"");if(!r||!/^[0-9a-fA-F]+$/.test(r))return null;try{let a=(await _r.MeshCorePacketDecoder.decodeWithVerification(r,{})).payload?.decoded;return!a?.channelHash||!a?.ciphertext||!a?.cipherMac?null:{channelHash:a.channelHash,ciphertext:a.ciphertext,cipherMac:a.cipherMac,isGroupText:!0}}catch{return null}}async crack(e,r,n){this.abortFlag=!1,this.useTimestampFilter=r?.useTimestampFilter??!0,this.useUtf8Filter=r?.useUtf8Filter??!0,this.validSeconds=r?.validSeconds??w0,this.useCpu=r?.forceCpu??!1;let a=r?.maxLength??8,s=r?.startingLength??1,
|
|
407
|
+
`}async init(){if(!navigator.gpu)return console.warn("WebGPU not supported"),!1;try{let e=await navigator.gpu.requestAdapter();if(!e)return console.warn("No GPU adapter found"),!1;this.device=await e.requestDevice(),this.bindGroupLayout=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.COMPUTE,buffer:{type:"uniform"}},{binding:1,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}},{binding:2,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}},{binding:3,visibility:GPUShaderStage.COMPUTE,buffer:{type:"read-only-storage"}}]}),this.paramsBuffer=this.device.createBuffer({size:32,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.matchCountBuffer=this.device.createBuffer({size:4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST}),this.matchIndicesBuffer=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC});for(let a=0;a<2;a++)this.matchCountReadBuffers[a]=this.device.createBuffer({size:4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.matchIndicesReadBuffers[a]=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST});let r=this.device.createShaderModule({code:this.shaderCode}),n=this.device.createPipelineLayout({bindGroupLayouts:[this.bindGroupLayout]});return this.pipeline=this.device.createComputePipeline({layout:n,compute:{module:r,entryPoint:"main"}}),!0}catch(e){return console.error("WebGPU initialization failed:",e),!1}}isAvailable(){return this.device!==null&&this.pipeline!==null}indexToRoomName(e,r){return ve(r,e)}countNamesForLength(e){return Re(e)}async runBatch(e,r,n,a,s,c){if(!this.device||!this.pipeline||!this.bindGroupLayout||!this.paramsBuffer||!this.matchCountBuffer||!this.matchIndicesBuffer||!this.matchCountReadBuffers[0]||!this.matchCountReadBuffers[1]||!this.matchIndicesReadBuffers[0]||!this.matchIndicesReadBuffers[1])throw new Error("GPU not initialized");let i=this.currentReadBufferIndex;this.currentReadBufferIndex=1-this.currentReadBufferIndex;let x=this.matchCountReadBuffers[i],d=this.matchIndicesReadBuffers[i],o=s&&c?1:0,f,u=0,p=0;if(o){let C=new Uint8Array(s.length/2);for(let q=0;q<C.length;q++)C[q]=parseInt(s.substr(q*2,2),16);u=C.length*8;let v=Math.ceil(C.length/4)*4,S=new Uint8Array(v);S.set(C),f=new Uint32Array(v/4);for(let q=0;q<f.length;q++)f[q]=S[q*4]<<24|S[q*4+1]<<16|S[q*4+2]<<8|S[q*4+3];let T=parseInt(c.substr(0,2),16),R=parseInt(c.substr(2,2),16);p=T<<24|R<<16}else f=new Uint32Array([0]);let y=Math.max(f.length*4,4);(!this.ciphertextBuffer||this.ciphertextBufferSize<y)&&(this.ciphertextBuffer&&this.ciphertextBuffer.destroy(),this.ciphertextBuffer=this.device.createBuffer({size:y,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.ciphertextBufferSize=y,this.bindGroupDirty=!0);let g=new Uint32Array([e,n,r,a,p,f.length,u,o]);this.device.queue.writeBuffer(this.paramsBuffer,0,g),this.device.queue.writeBuffer(this.ciphertextBuffer,0,f),this.device.queue.writeBuffer(this.matchCountBuffer,0,br.ZERO_DATA),(this.bindGroupDirty||!this.bindGroup)&&(this.bindGroup=this.device.createBindGroup({layout:this.bindGroupLayout,entries:[{binding:0,resource:{buffer:this.paramsBuffer}},{binding:1,resource:{buffer:this.matchCountBuffer}},{binding:2,resource:{buffer:this.matchIndicesBuffer}},{binding:3,resource:{buffer:this.ciphertextBuffer}}]}),this.bindGroupDirty=!1);let m=this.device.createCommandEncoder(),l=m.beginComputePass();l.setPipeline(this.pipeline),l.setBindGroup(0,this.bindGroup),l.dispatchWorkgroups(Math.ceil(a/(256*16))),l.end(),m.copyBufferToBuffer(this.matchCountBuffer,0,x,0,4),m.copyBufferToBuffer(this.matchIndicesBuffer,0,d,0,1024*4),this.device.queue.submit([m.finish()]),await x.mapAsync(GPUMapMode.READ);let b=new Uint32Array(x.getMappedRange())[0];x.unmap();let B=[];if(b>0){await d.mapAsync(GPUMapMode.READ);let C=new Uint32Array(d.getMappedRange());for(let v=0;v<Math.min(b,1024);v++)B.push(C[v]);d.unmap()}return B}destroy(){this.paramsBuffer?.destroy(),this.matchCountBuffer?.destroy(),this.matchIndicesBuffer?.destroy(),this.ciphertextBuffer?.destroy(),this.matchCountReadBuffers[0]?.destroy(),this.matchCountReadBuffers[1]?.destroy(),this.matchIndicesReadBuffers[0]?.destroy(),this.matchIndicesReadBuffers[1]?.destroy(),this.paramsBuffer=null,this.matchCountBuffer=null,this.matchIndicesBuffer=null,this.ciphertextBuffer=null,this.ciphertextBufferSize=0,this.matchCountReadBuffers=[null,null],this.matchIndicesReadBuffers=[null,null],this.currentReadBufferIndex=0,this.bindGroup=null,this.bindGroupDirty=!0,this.device&&(this.device.destroy(),this.device=null),this.pipeline=null,this.bindGroupLayout=null}};br.ZERO_DATA=new Uint32Array([0]);var Br=br;function Cr(){return typeof navigator<"u"&&"gpu"in navigator}var G0=class{runBatch(e,r,n,a,s,c){let i=[],x=e.toString(16).padStart(2,"0"),d=!!(s&&c);for(let o=0;o<a;o++){let f=n+o,u=ve(r,f);if(!u)continue;let p=i0("#"+u);o0(p)===x&&(d&&!S0(s,c,p)||i.push(f))}return i}destroy(){}};var eo=/^[a-z0-9-]+$/,to=/^[a-z0-9].*[a-z0-9]$|^[a-z0-9]$/,ro=/--/;function Ra(t){return!(!t||t.length===0||!eo.test(t)||t.length>1&&!to.test(t)||ro.test(t))}var Ar=class{constructor(){this.gpuInstance=null;this.cpuInstance=null;this.wordlist=[];this.abortFlag=!1;this.useTimestampFilter=!0;this.useUtf8Filter=!0;this.validSeconds=w0;this.useCpu=!1}async loadWordlist(e){let r=await fetch(e);if(!r.ok)throw new Error(`Failed to load wordlist: ${r.status} ${r.statusText}`);let a=(await r.text()).split(`
|
|
408
|
+
`).map(s=>s.trim().toLowerCase()).filter(s=>s.length>0);this.wordlist=a.filter(Ra)}setWordlist(e){this.wordlist=e.map(r=>r.trim().toLowerCase()).filter(Ra)}abort(){this.abortFlag=!0}isGpuAvailable(){return Cr()}async decodePacket(e){let r=e.trim().replace(/\s+/g,"").replace(/^0x/i,"");if(!r||!/^[0-9a-fA-F]+$/.test(r))return null;try{let a=(await _r.MeshCorePacketDecoder.decodeWithVerification(r,{})).payload?.decoded;return!a?.channelHash||!a?.ciphertext||!a?.cipherMac?null:{channelHash:a.channelHash,ciphertext:a.ciphertext,cipherMac:a.cipherMac,isGroupText:!0}}catch{return null}}async crack(e,r,n){this.abortFlag=!1,this.useTimestampFilter=r?.useTimestampFilter??!0,this.useUtf8Filter=r?.useUtf8Filter??!0,this.validSeconds=r?.validSeconds??w0,this.useCpu=r?.forceCpu??!1;let a=r?.maxLength??8,s=r?.startingLength??1,c=r?.useDictionary??!0,i=r?.startFromType??"bruteforce",x=await this.decodePacket(e);if(!x)return{found:!1,error:"Invalid packet or not a GroupText packet"};let{channelHash:d,ciphertext:o,cipherMac:f}=x,u=parseInt(d,16);this.useCpu?this.cpuInstance||(this.cpuInstance=new G0):this.gpuInstance||(this.gpuInstance=new Br,await this.gpuInstance.init()||(this.useCpu=!0,this.cpuInstance=new G0));let p=performance.now(),y=0,g=performance.now(),m=s,l=0,h=0,b=!1;if(r?.startFrom){let A=r.startFrom.toLowerCase();if(i==="dictionary"){let H=this.wordlist.indexOf(A);H>=0&&(h=H+1)}else{b=!0;let H=vr(A);H&&(m=Math.max(s,H.length),l=H.index+1,l>=Re(m)&&(m++,l=0))}}let B=0;c&&!b&&this.wordlist.length>0&&(B+=this.wordlist.length-h);for(let A=m;A<=a;A++)B+=Re(A);B-=l;let C=(A,H,w)=>{if(!n)return;let O=(performance.now()-p)/1e3,L=O>0?Math.round(y/O):0,K=B-y,D=L>0?K/L:0;n({checked:y,total:B,percent:B>0?Math.min(100,y/B*100):0,rateKeysPerSec:L,etaSeconds:D,elapsedSeconds:O,currentLength:H,currentPosition:w,phase:A})},v=A=>{if(!S0(o,f,A))return{valid:!1};let H=_r.ChannelCrypto.decryptGroupTextMessage(o,f,A);return!H.success||!H.data?{valid:!1}:this.useTimestampFilter&&!gr(H.data.timestamp,this.validSeconds)?{valid:!1}:this.useUtf8Filter&&!mr(H.data.message)?{valid:!1}:{valid:!0,message:H.data.message}};if(!b&&h===0&&m===s&&l===0){C("public-key",0,F0);let A=o0(a0);if(d===A){let H=v(a0);if(H.valid)return{found:!0,roomName:F0,key:a0,decryptedMessage:H.message}}}if(c&&!b&&this.wordlist.length>0)for(let A=h;A<this.wordlist.length;A++){if(this.abortFlag)return{found:!1,aborted:!0,resumeFrom:this.wordlist[A],resumeType:"dictionary"};let H=this.wordlist[A],w=i0("#"+H),z=o0(w);if(parseInt(z,16)===u){let L=v(w);if(L.valid)return{found:!0,roomName:H,key:w,decryptedMessage:L.message,resumeFrom:H,resumeType:"dictionary"}}y++;let O=performance.now();O-g>=200&&(C("wordlist",H.length,H),g=O,await new Promise(L=>setTimeout(L,0)))}let S=this.useCpu?1024:32768,T=1e3,R=S,q=!1;for(let A=m;A<=a;A++){if(this.abortFlag)return{found:!1,aborted:!0,resumeFrom:ve(A,0)||void 0,resumeType:"bruteforce"};let H=Re(A),w=A===m?l:0;for(;w<H;){if(this.abortFlag)return{found:!1,aborted:!0,resumeFrom:ve(A,w)||void 0,resumeType:"bruteforce"};let z=Math.min(R,H-w),O=performance.now(),L;this.useCpu?L=this.cpuInstance.runBatch(u,A,w,z,o,f):L=await this.gpuInstance.runBatch(u,A,w,z,o,f);let K=performance.now()-O;if(y+=z,!this.useCpu&&!q&&z>=S&&K>0){let P=T/K,k=Math.round(z*P),F=Math.pow(2,Math.round(Math.log2(Math.max(S,k))));R=Math.max(S,F),q=!0}for(let P of L){let k=ve(A,P);if(!k)continue;let F=i0("#"+k),X=v(F);if(X.valid)return{found:!0,roomName:k,key:F,decryptedMessage:X.message,resumeFrom:k,resumeType:"bruteforce"}}w+=z;let D=performance.now();if(D-g>=200){let P=ve(A,Math.min(w,H-1))||"";C("bruteforce",A,P),g=D,await new Promise(k=>setTimeout(k,0))}}}return{found:!1,resumeFrom:ve(a,Re(a)-1)||void 0,resumeType:"bruteforce"}}destroy(){this.gpuInstance&&(this.gpuInstance.destroy(),this.gpuInstance=null),this.cpuInstance&&(this.cpuInstance.destroy(),this.cpuInstance=null)}};return Cn(no);})();
|
|
409
409
|
/*! Bundled license information:
|
|
410
410
|
|
|
411
411
|
crypto-js/ripemd160.js:
|