@truebit/cli 1.131.0 → 1.132.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/build/index.mjs +1 -1
  2. package/package.json +2 -2
package/build/index.mjs CHANGED
@@ -518,7 +518,7 @@ MQCjfy+Rocm9Xue4YnwWmNJVA44fA0P5W2OpYow9OYCVRaEevL8uO1XYru5xtMPW
518
518
  rfMCMQCi85sWBbJwKKXdS6BptQFuZbT73o/gBh1qUxl/nNr12UO8Yfwr6wPLb+6N
519
519
  IwLz3/Y=
520
520
  -----END CERTIFICATE-----
521
- `;var iha=300*1e3;function Nwe(e=process.env){let t=iha;if(e.ENCLAVE_MAX_ATTESTATION_AGE_MS!==void 0){let n=Number(e.ENCLAVE_MAX_ATTESTATION_AGE_MS);if(!Number.isFinite(n)||n<=0)throw new Error("ENCLAVE_MAX_ATTESTATION_AGE_MS must be a positive number");t=n}return{awsNitroRootCaPem:OBt,maxAttestationAgeMs:t}}function CBt(e){return e.toString("hex").toLowerCase()}import{createPublicKey as Ujt,verify as cya,X509Certificate as pya}from"crypto";import{Buffer as Vjt}from"buffer";var Dwe;try{Dwe=new TextDecoder}catch{}var rt,Sm,de=0;var jwe=[],sha=105,oha=57342,fha=57343,qBt=57337;var RBt=6,X8={},WS=11281e4,Mp=1681e4;var Zh=jwe,KS=0,sn={},da,YS,JS=0,Xh=0,Ka,$0,Ya=[],$we=[],Oo,Us,GS,PBt={useRecords:!1,mapsAsObjects:!0},ZS=!1,NBt=2;try{new Function("")}catch{NBt=1/0}var wd=class e{constructor(t){if(t&&((t.keyMap||t._keyMap)&&!t.useRecords&&(t.useRecords=!1,t.mapsAsObjects=!0),t.useRecords===!1&&t.mapsAsObjects===void 0&&(t.mapsAsObjects=!0),t.getStructures&&(t.getShared=t.getStructures),t.getShared&&!t.structures&&((t.structures=[]).uninitialized=!0),t.keyMap)){this.mapKey=new Map;for(let[n,r]of Object.entries(t.keyMap))this.mapKey.set(r,n)}Object.assign(this,t)}decodeKey(t){return this.keyMap&&this.mapKey.get(t)||t}encodeKey(t){return this.keyMap&&this.keyMap.hasOwnProperty(t)?this.keyMap[t]:t}encodeKeys(t){if(!this._keyMap)return t;let n=new Map;for(let[r,a]of Object.entries(t))n.set(this._keyMap.hasOwnProperty(r)?this._keyMap[r]:r,a);return n}decodeKeys(t){if(!this._keyMap||t.constructor.name!="Map")return t;if(!this._mapKey){this._mapKey=new Map;for(let[r,a]of Object.entries(this._keyMap))this._mapKey.set(a,r)}let n={};return t.forEach((r,a)=>n[L0(this._mapKey.has(a)?this._mapKey.get(a):a)]=r),n}mapDecode(t,n){let r=this.decode(t);return this._keyMap&&r.constructor.name==="Array"?r.map(a=>this.decodeKeys(a)):r}decode(t,n){if(rt)return UBt(()=>(EX(),this?this.decode(t,n):e.prototype.decode.call(PBt,t,n)));Sm=n>-1?n:t.length,de=0,KS=0,Xh=0,YS=null,Zh=jwe,Ka=null,rt=t;try{Us=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(r){throw rt=null,t instanceof Uint8Array?r:new Error("Source must be a Uint8Array or Buffer but was a "+(t&&typeof t=="object"?t.constructor.name:typeof t))}if(this instanceof e){if(sn=this,Oo=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return da=this.structures,_X();(!da||da.length>0)&&(da=[])}else sn=PBt,(!da||da.length>0)&&(da=[]),Oo=null;return _X()}decodeMultiple(t,n){let r,a=0;try{let i=t.length;ZS=!0;let s=this?this.decode(t,i):Uwe.decode(t,i);if(n){if(n(s)===!1)return;for(;de<i;)if(a=de,n(_X())===!1)return}else{for(r=[s];de<i;)a=de,r.push(_X());return r}}catch(i){throw i.lastPosition=a,i.values=r,i}finally{ZS=!1,EX()}}};function _X(){try{let e=ln();if(Ka){if(de>=Ka.postBundlePosition){let t=new Error("Unexpected bundle position");throw t.incomplete=!0,t}de=Ka.postBundlePosition,Ka=null}if(de==Sm)da=null,rt=null,$0&&($0=null);else if(de>Sm){let t=new Error("Unexpected end of CBOR data");throw t.incomplete=!0,t}else if(!ZS)throw new Error("Data read, but end of buffer not reached");return e}catch(e){throw EX(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer"))&&(e.incomplete=!0),e}}function ln(){let e=rt[de++],t=e>>5;if(e=e&31,e>23)switch(e){case 24:e=rt[de++];break;case 25:if(t==7)return mha();e=Us.getUint16(de),de+=2;break;case 26:if(t==7){let n=Us.getFloat32(de);if(sn.useFloat32>2){let r=wX[(rt[de]&127)<<1|rt[de+1]>>7];return de+=4,(r*n+(n>0?.5:-.5)>>0)/r}return de+=4,n}if(e=Us.getUint32(de),de+=4,t===1)return-1-e;break;case 27:if(t==7){let n=Us.getFloat64(de);return de+=8,n}if(t>1){if(Us.getUint32(de)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");e=Us.getUint32(de+4)}else sn.int64AsNumber?(e=Us.getUint32(de)*4294967296,e+=Us.getUint32(de+4)):e=Us.getBigUint64(de);de+=8;break;case 31:switch(t){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let n=[],r,a=0;for(;(r=ln())!=X8;){if(a>=WS)throw new Error(`Array length exceeds ${WS}`);n[a++]=r}return t==4?n:t==3?n.join(""):Buffer.concat(n);case 5:let i;if(sn.mapsAsObjects){let s={},o=0;if(sn.keyMap)for(;(i=ln())!=X8;){if(o++>=Mp)throw new Error(`Property count exceeds ${Mp}`);s[L0(sn.decodeKey(i))]=ln()}else for(;(i=ln())!=X8;){if(o++>=Mp)throw new Error(`Property count exceeds ${Mp}`);s[L0(i)]=ln()}return s}else{GS&&(sn.mapsAsObjects=!0,GS=!1);let s=new Map;if(sn.keyMap){let o=0;for(;(i=ln())!=X8;){if(o++>=Mp)throw new Error(`Map size exceeds ${Mp}`);s.set(sn.decodeKey(i),ln())}}else{let o=0;for(;(i=ln())!=X8;){if(o++>=Mp)throw new Error(`Map size exceeds ${Mp}`);s.set(i,ln())}}return s}case 7:return X8;default:throw new Error("Invalid major type for indefinite length "+t)}default:throw new Error("Unknown token "+e)}switch(t){case 0:return e;case 1:return~e;case 2:return pha(e);case 3:if(Xh>=de)return YS.slice(de-JS,(de+=e)-JS);if(Xh==0&&Sm<140&&e<32){let a=e<16?BBt(e):cha(e);if(a!=null)return a}return DBt(e);case 4:if(e>=WS)throw new Error(`Array length exceeds ${WS}`);let n=new Array(e);for(let a=0;a<e;a++)n[a]=ln();return n;case 5:if(e>=Mp)throw new Error(`Map size exceeds ${WS}`);if(sn.mapsAsObjects){let a={};if(sn.keyMap)for(let i=0;i<e;i++)a[L0(sn.decodeKey(ln()))]=ln();else for(let i=0;i<e;i++)a[L0(ln())]=ln();return a}else{GS&&(sn.mapsAsObjects=!0,GS=!1);let a=new Map;if(sn.keyMap)for(let i=0;i<e;i++)a.set(sn.decodeKey(ln()),ln());else for(let i=0;i<e;i++)a.set(ln(),ln());return a}case 6:if(e>=qBt){let a=da[e&8191];if(a)return a.read||(a.read=Lwe(a)),a.read();if(e<65536){if(e==fha){let i=e_(),s=ln(),o=ln();Bwe(s,o);let l={};if(sn.keyMap)for(let u=2;u<i;u++){let d=sn.decodeKey(o[u-2]);l[L0(d)]=ln()}else for(let u=2;u<i;u++){let d=o[u-2];l[L0(d)]=ln()}return l}else if(e==oha){let i=e_(),s=ln();for(let o=2;o<i;o++)Bwe(s++,ln());return ln()}else if(e==qBt)return _ha();if(sn.getShared&&(Fwe(),a=da[e&8191],a))return a.read||(a.read=Lwe(a)),a.read()}}let r=Ya[e];if(r)return r.handlesRead?r(ln):r(ln());{let a=ln();for(let i=0;i<$we.length;i++){let s=$we[i](e,a);if(s!==void 0)return s}return new Co(a,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let a=(Oo||Jh())[e];if(a!==void 0)return a;throw new Error("Unknown token "+e)}default:if(isNaN(e)){let a=new Error("Unexpected end of CBOR data");throw a.incomplete=!0,a}throw new Error("Unknown CBOR token "+e)}}var MBt=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Lwe(e){if(!e)throw new Error("Structure is required in record definition");function t(){let n=rt[de++];if(n=n&31,n>23)switch(n){case 24:n=rt[de++];break;case 25:n=Us.getUint16(de),de+=2;break;case 26:n=Us.getUint32(de),de+=4;break;default:throw new Error("Expected array header, but got "+rt[de-1])}let r=this.compiledReader;for(;r;){if(r.propertyCount===n)return r(ln);r=r.next}if(this.slowReads++>=NBt){let i=this.length==n?this:this.slice(0,n);return r=sn.keyMap?new Function("r","return {"+i.map(s=>sn.decodeKey(s)).map(s=>MBt.test(s)?L0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"):new Function("r","return {"+i.map(s=>MBt.test(s)?L0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"),this.compiledReader&&(r.next=this.compiledReader),r.propertyCount=n,this.compiledReader=r,r(ln)}let a={};if(sn.keyMap)for(let i=0;i<n;i++)a[L0(sn.decodeKey(this[i]))]=ln();else for(let i=0;i<n;i++)a[L0(this[i])]=ln();return a}return e.slowReads=0,t}function L0(e){if(typeof e=="string")return e==="__proto__"?"__proto_":e;if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")return e.toString();if(e==null)return e+"";throw new Error("Invalid property name type "+typeof e)}var DBt=Qh,lha=Qh,uha=Qh,dha=Qh,$Bt=!1;function LBt(e){$Bt=!0,DBt=t(1),lha=t(2),uha=t(3),dha=t(5);function t(n){return function(a){let i=Zh[KS++];if(i==null){if(Ka)return Qh(a);let o=e(de,Sm,a,rt);if(typeof o=="string")i=o,Zh=jwe;else if(Zh=o,KS=1,Xh=1,i=Zh[0],i===void 0)throw new Error("Unexpected end of buffer")}let s=i.length;return s<=a?(de+=a,i):(YS=i,JS=de,Xh=de+s,de+=a,i.slice(0,a))}}}function Qh(e){let t;if(e<16&&(t=BBt(e)))return t;if(e>64&&Dwe)return Dwe.decode(rt.subarray(de,de+=e));let n=de+e,r=[];for(t="";de<n;){let a=rt[de++];if((a&128)===0)r.push(a);else if((a&224)===192){let i=rt[de++]&63,s=(a&31)<<6|i;s<128?r.push(65533):r.push(s)}else if((a&240)===224){let i=rt[de++]&63,s=rt[de++]&63,o=(a&31)<<12|i<<6|s;o<2048||o>=55296&&o<=57343?r.push(65533):r.push(o)}else if((a&248)===240){let i=rt[de++]&63,s=rt[de++]&63,o=rt[de++]&63,l=(a&7)<<18|i<<12|s<<6|o;l<65536||l>1114111?r.push(65533):(l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|l&1023),r.push(l))}else r.push(65533);r.length>=4096&&(t+=Ei.apply(String,r),r.length=0)}return r.length>0&&(t+=Ei.apply(String,r)),t}var Ei=String.fromCharCode;function cha(e){let t=de,n=new Array(e);for(let r=0;r<e;r++){let a=rt[de++];if((a&128)>0){de=t;return}n[r]=a}return Ei.apply(String,n)}function BBt(e){if(e<4)if(e<2){if(e===0)return"";{let t=rt[de++];if((t&128)>1){de-=1;return}return Ei(t)}}else{let t=rt[de++],n=rt[de++];if((t&128)>0||(n&128)>0){de-=2;return}if(e<3)return Ei(t,n);let r=rt[de++];if((r&128)>0){de-=3;return}return Ei(t,n,r)}else{let t=rt[de++],n=rt[de++],r=rt[de++],a=rt[de++];if((t&128)>0||(n&128)>0||(r&128)>0||(a&128)>0){de-=4;return}if(e<6){if(e===4)return Ei(t,n,r,a);{let i=rt[de++];if((i&128)>0){de-=5;return}return Ei(t,n,r,a,i)}}else if(e<8){let i=rt[de++],s=rt[de++];if((i&128)>0||(s&128)>0){de-=6;return}if(e<7)return Ei(t,n,r,a,i,s);let o=rt[de++];if((o&128)>0){de-=7;return}return Ei(t,n,r,a,i,s,o)}else{let i=rt[de++],s=rt[de++],o=rt[de++],l=rt[de++];if((i&128)>0||(s&128)>0||(o&128)>0||(l&128)>0){de-=8;return}if(e<10){if(e===8)return Ei(t,n,r,a,i,s,o,l);{let u=rt[de++];if((u&128)>0){de-=9;return}return Ei(t,n,r,a,i,s,o,l,u)}}else if(e<12){let u=rt[de++],d=rt[de++];if((u&128)>0||(d&128)>0){de-=10;return}if(e<11)return Ei(t,n,r,a,i,s,o,l,u,d);let c=rt[de++];if((c&128)>0){de-=11;return}return Ei(t,n,r,a,i,s,o,l,u,d,c)}else{let u=rt[de++],d=rt[de++],c=rt[de++],g=rt[de++];if((u&128)>0||(d&128)>0||(c&128)>0||(g&128)>0){de-=12;return}if(e<14){if(e===12)return Ei(t,n,r,a,i,s,o,l,u,d,c,g);{let m=rt[de++];if((m&128)>0){de-=13;return}return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m)}}else{let m=rt[de++],p=rt[de++];if((m&128)>0||(p&128)>0){de-=14;return}if(e<15)return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m,p);let y=rt[de++];if((y&128)>0){de-=15;return}return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m,p,y)}}}}}function pha(e){return sn.copyBuffers?Uint8Array.prototype.slice.call(rt,de,de+=e):rt.subarray(de,de+=e)}var jBt=new Float32Array(1),xX=new Uint8Array(jBt.buffer,0,4);function mha(){let e=rt[de++],t=rt[de++],n=(e&127)>>2;if(n===31)return t||e&3?NaN:e&128?-1/0:1/0;if(n===0){let r=((e&3)<<8|t)/16777216;return e&128?-r:r}return xX[3]=e&128|(n>>1)+56,xX[2]=(e&7)<<5|t>>3,xX[1]=t<<5,xX[0]=0,jBt[0]}var xSi=new Array(4096);var Co=class{constructor(t,n){this.value=t,this.tag=n}};Ya[0]=e=>new Date(e);Ya[1]=e=>new Date(Math.round(e*1e3));Ya[2]=e=>{let t=BigInt(0);for(let n=0,r=e.byteLength;n<r;n++)t=BigInt(e[n])+(t<<BigInt(8));return t};Ya[3]=e=>BigInt(-1)-Ya[2](e);Ya[4]=e=>+(e[1]+"e"+e[0]);Ya[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));var Bwe=(e,t)=>{e=e-57344;let n=da[e];n&&n.isShared&&((da.restoreStructures||(da.restoreStructures=[]))[e]=n),da[e]=t,t.read=Lwe(t)};Ya[sha]=e=>{let t=e.length,n=e[1];Bwe(e[0],n);let r={};for(let a=2;a<t;a++){let i=n[a-2];r[L0(i)]=e[a]}return r};Ya[14]=e=>Ka?Ka[0].slice(Ka.position0,Ka.position0+=e):new Co(e,14);Ya[15]=e=>Ka?Ka[1].slice(Ka.position1,Ka.position1+=e):new Co(e,15);var hha={Error,RegExp};Ya[27]=e=>(hha[e[0]]||Error)(e[1],e[2]);var FBt=e=>{if(rt[de++]!=132){let n=new Error("Packed values structure must be followed by a 4 element array");throw rt.length<de&&(n.incomplete=!0),n}let t=e();if(!t||!t.length){let n=new Error("Packed values structure must be followed by a 4 element array");throw n.incomplete=!0,n}return Oo=Oo?t.concat(Oo.slice(t.length)):t,Oo.prefixes=e(),Oo.suffixes=e(),e()};FBt.handlesRead=!0;Ya[51]=FBt;Ya[RBt]=e=>{if(!Oo)if(sn.getShared)Fwe();else return new Co(e,RBt);if(typeof e=="number")return Oo[16+(e>=0?2*e:-2*e-1)];let t=new Error("No support for non-integer packed references yet");throw e===void 0&&(t.incomplete=!0),t};Ya[28]=e=>{$0||($0=new Map,$0.id=0);let t=$0.id++,n=de,r=rt[de],a;r>>5==4?a=[]:a={};let i={target:a};$0.set(t,i);let s=e();return i.used?(Object.getPrototypeOf(a)!==Object.getPrototypeOf(s)&&(de=n,a=s,$0.set(t,{target:a}),s=e()),Object.assign(a,s)):(i.target=s,s)};Ya[28].handlesRead=!0;Ya[29]=e=>{let t=$0.get(e);return t.used=!0,t.target};Ya[258]=e=>new Set(e);(Ya[259]=e=>(sn.mapsAsObjects&&(sn.mapsAsObjects=!1,GS=!0),e())).handlesRead=!0;function Q8(e,t){return typeof e=="string"?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function Jh(){if(!Oo)if(sn.getShared)Fwe();else throw new Error("No packed values available");return Oo}var yha=1399353956;$we.push((e,t)=>{if(e>=225&&e<=255)return Q8(Jh().prefixes[e-224],t);if(e>=28704&&e<=32767)return Q8(Jh().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return Q8(Jh().prefixes[e-1879048192],t);if(e>=216&&e<=223)return Q8(t,Jh().suffixes[e-216]);if(e>=27647&&e<=28671)return Q8(t,Jh().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return Q8(t,Jh().suffixes[e-1811939328]);if(e==yha)return{packedValues:Oo,structures:da.slice(0),version:t};if(e==55799)return t});var bha=new Uint8Array(new Uint16Array([1]).buffer)[0]==1,kBt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array],gha=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<kBt.length;e++)vha(kBt[e],gha[e]);function vha(e,t){let n="get"+e.name.slice(0,-5),r;typeof e=="function"?r=e.BYTES_PER_ELEMENT:e=null;for(let a=0;a<2;a++){if(!a&&r==1)continue;let i=r==2?1:r==4?2:r==8?3:0;Ya[a?t:t-4]=r==1||a==bha?s=>{if(!e)throw new Error("Could not find typed array for code "+t);return!sn.copyBuffers&&(r===1||r===2&&!(s.byteOffset&1)||r===4&&!(s.byteOffset&3)||r===8&&!(s.byteOffset&7))?new e(s.buffer,s.byteOffset,s.byteLength>>i):new e(Uint8Array.prototype.slice.call(s,0).buffer)}:s=>{if(!e)throw new Error("Could not find typed array for code "+t);let o=new DataView(s.buffer,s.byteOffset,s.byteLength),l=s.length>>i,u=new e(l),d=o[n];for(let c=0;c<l;c++)u[c]=d.call(o,c<<i,a);return u}}}function _ha(){let e=e_(),t=de+ln();for(let r=2;r<e;r++){let a=e_();de+=a}let n=de;return de=t,Ka=[Qh(e_()),Qh(e_())],Ka.position0=0,Ka.position1=0,Ka.postBundlePosition=de,de=n,ln()}function e_(){let e=rt[de++]&31;if(e>23)switch(e){case 24:e=rt[de++];break;case 25:e=Us.getUint16(de),de+=2;break;case 26:e=Us.getUint32(de),de+=4;break}return e}function Fwe(){if(sn.getShared){let e=UBt(()=>(rt=null,sn.getShared()))||{},t=e.structures||[];sn.sharedVersion=e.version,Oo=sn.sharedValues=e.packedValues,da===!0?sn.structures=da=t:da.splice.apply(da,[0,t.length].concat(t))}}function UBt(e){let t=Sm,n=de,r=KS,a=JS,i=Xh,s=YS,o=Zh,l=$0,u=Ka,d=new Uint8Array(rt.slice(0,Sm)),c=da,g=sn,m=ZS,p=e();return Sm=t,de=n,KS=r,JS=a,Xh=i,YS=s,Zh=o,$0=l,Ka=u,rt=d,ZS=m,da=c,sn=g,Us=new DataView(rt.buffer,rt.byteOffset,rt.byteLength),p}function EX(){rt=null,$0=null,da=null}var wX=new Array(147);for(let e=0;e<256;e++)wX[e]=+("1e"+Math.floor(45.15-e*.30103));var Uwe=new wd({useRecords:!1}),xha=Uwe.decode,Eha=Uwe.decodeMultiple,SX={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};var TX;try{TX=new TextEncoder}catch{}var Gwe,KBt,OX=typeof globalThis=="object"&&globalThis.Buffer,XS=typeof OX<"u",Vwe=XS?OX.allocUnsafeSlow:Uint8Array,VBt=XS?OX:Uint8Array,HBt=256,zBt=XS?4294967296:2144337920;var Hwe,ie,Tr,te=0,Tm,ci=null,wha=61440,Sha=/[\u0080-\uFFFF]/,t0=Symbol("record-id"),Am=class extends wd{constructor(t){super(t),this.offset=0;let n,r,a,i,s,o;t=t||{};let l=VBt.prototype.utf8Write?function(P,U){return ie.utf8Write(P,U,ie.byteLength-U)}:TX&&TX.encodeInto?function(P,U){return TX.encodeInto(P,ie.subarray(U)).written}:!1,u=this,d=t.structures||t.saveStructures,c=t.maxSharedStructures;if(c==null&&(c=d?128:0),c>8190)throw new Error("Maximum maxSharedStructure is 8190");let g=t.sequential;g&&(c=0),this.structures||(this.structures=[]),this.saveStructures&&(this.saveShared=this.saveStructures);let m,p,y=t.sharedValues,b;if(y){b=Object.create(null);for(let P=0,U=y.length;P<U;P++)b[y[P]]=P}let v=[],E=0,x=0;this.mapEncode=function(P,U){return this._keyMap&&!this._mapped&&P.constructor.name==="Array"&&(P=P.map(q=>this.encodeKeys(q))),this.encode(P,U)},this.encode=function(P,U){if(ie||(ie=new Vwe(8192),Tr=new DataView(ie.buffer,0,8192),te=0),Tm=ie.length-10,Tm-te<2048?(ie=new Vwe(ie.length),Tr=new DataView(ie.buffer,0,ie.length),Tm=ie.length-10,te=0):U===Ywe&&(te=te+7&2147483640),r=te,u.useSelfDescribedHeader&&(Tr.setUint32(te,3654940416),te+=3),o=u.structuredClone?new Map:null,u.bundleStrings&&typeof P!="string"?(ci=[],ci.size=1/0):ci=null,a=u.structures,a){if(a.uninitialized){let D=u.getShared()||{};u.structures=a=D.structures||[],u.sharedVersion=D.version;let I=u.sharedValues=D.packedValues;if(I){b={};for(let T=0,R=I.length;T<R;T++)b[I[T]]=T}}let q=a.length;if(q>c&&!g&&(q=c),!a.transitions){a.transitions=Object.create(null);for(let D=0;D<q;D++){let I=a[D];if(!I)continue;let T,R=a.transitions;for(let L=0,$=I.length;L<$;L++){R[t0]===void 0&&(R[t0]=D);let H=I[L];T=R[H],T||(T=R[H]=Object.create(null)),R=T}R[t0]=D|1048576}}g||(a.nextId=q)}if(i&&(i=!1),s=a||[],p=b,t.pack){let q=new Map;if(q.values=[],q.encoder=u,q.maxValues=t.maxPrivatePackedValues||(b?16:1/0),q.objectMap=b||!1,q.samplingPackedValues=m,AX(P,q),q.values.length>0){ie[te++]=216,ie[te++]=51,Td(4);let D=q.values;w(D),Td(0),Td(0),p=Object.create(b||null);for(let I=0,T=D.length;I<T;I++)p[D[I]]=I}}Hwe=U&Wwe;try{if(Hwe)return;if(w(P),ci&&GBt(r,w),u.offset=te,o&&o.idsToInsert){te+=o.idsToInsert.length*2,te>Tm&&z(te),u.offset=te;let q=Iha(ie.subarray(r,te),o.idsToInsert);return o=null,q}return U&Ywe?(ie.start=r,ie.end=te,ie):ie.subarray(r,te)}finally{if(a){if(x<10&&x++,a.length>c&&(a.length=c),E>1e4)a.transitions=null,x=0,E=0,v.length>0&&(v=[]);else if(v.length>0&&!g){for(let q=0,D=v.length;q<D;q++)v[q][t0]=void 0;v=[]}}if(i&&u.saveShared){u.structures.length>c&&(u.structures=u.structures.slice(0,c));let q=ie.subarray(r,te);return u.updateSharedData()===!1?u.encode(P):q}U&Nha&&(te=r)}},this.findCommonStringsToPack=()=>(m=new Map,b||(b=Object.create(null)),P=>{let U=P&&P.threshold||4,q=this.pack?P.maxPrivatePackedValues||16:0;y||(y=this.sharedValues=[]);for(let[D,I]of m)I.count>U&&(b[D]=q++,y.push(D),i=!0);for(;this.saveShared&&this.updateSharedData()===!1;);m=null});let w=P=>{te>Tm&&(ie=z(te));var U=typeof P,q;if(U==="string"){if(p){let R=p[P];if(R>=0){R<16?ie[te++]=R+224:(ie[te++]=198,R&1?w(15-R>>1):w(R-16>>1));return}else if(m&&!t.pack){let L=m.get(P);L?L.count++:m.set(P,{count:1})}}let D=P.length;if(ci&&D>=4&&D<1024){if((ci.size+=D)>wha){let L,$=(ci[0]?ci[0].length*3+ci[1].length:0)+10;te+$>Tm&&(ie=z(te+$)),ie[te++]=217,ie[te++]=223,ie[te++]=249,ie[te++]=ci.position?132:130,ie[te++]=26,L=te-r,te+=4,ci.position&&GBt(r,w),ci=["",""],ci.size=0,ci.position=L}let R=Sha.test(P);ci[R?0:1]+=P,ie[te++]=R?206:207,w(D);return}let I;D<32?I=1:D<256?I=2:D<65536?I=3:I=5;let T=D*3;if(te+T>Tm&&(ie=z(te+T)),D<64||!l){let R,L,$,H=te+I;for(R=0;R<D;R++)L=P.charCodeAt(R),L<128?ie[H++]=L:L<2048?(ie[H++]=L>>6|192,ie[H++]=L&63|128):(L&64512)===55296&&(($=P.charCodeAt(R+1))&64512)===56320?(L=65536+((L&1023)<<10)+($&1023),R++,ie[H++]=L>>18|240,ie[H++]=L>>12&63|128,ie[H++]=L>>6&63|128,ie[H++]=L&63|128):(ie[H++]=L>>12|224,ie[H++]=L>>6&63|128,ie[H++]=L&63|128);q=H-te-I}else q=l(P,te+I,T);q<24?ie[te++]=96|q:q<256?(I<2&&ie.copyWithin(te+2,te+1,te+1+q),ie[te++]=120,ie[te++]=q):q<65536?(I<3&&ie.copyWithin(te+3,te+2,te+2+q),ie[te++]=121,ie[te++]=q>>8,ie[te++]=q&255):(I<5&&ie.copyWithin(te+5,te+3,te+3+q),ie[te++]=122,Tr.setUint32(te,q),te+=4),te+=q}else if(U==="number")if(!this.alwaysUseFloat&&P>>>0===P)P<24?ie[te++]=P:P<256?(ie[te++]=24,ie[te++]=P):P<65536?(ie[te++]=25,ie[te++]=P>>8,ie[te++]=P&255):(ie[te++]=26,Tr.setUint32(te,P),te+=4);else if(!this.alwaysUseFloat&&P>>0===P)P>=-24?ie[te++]=31-P:P>=-256?(ie[te++]=56,ie[te++]=~P):P>=-65536?(ie[te++]=57,Tr.setUint16(te,~P),te+=2):(ie[te++]=58,Tr.setUint32(te,~P),te+=4);else if(!this.alwaysUseFloat&&P<0&&P>=-4294967296&&Math.floor(P)===P)ie[te++]=58,Tr.setUint32(te,-1-P),te+=4;else{let D;if((D=this.useFloat32)>0&&P<4294967296&&P>=-2147483648){ie[te++]=250,Tr.setFloat32(te,P);let I;if(D<4||(I=P*wX[(ie[te]&127)<<1|ie[te+1]>>7])>>0===I){te+=4;return}else te--}ie[te++]=251,Tr.setFloat64(te,P),te+=8}else if(U==="object")if(!P)ie[te++]=246;else{if(o){let I=o.get(P);if(I){if(ie[te++]=216,ie[te++]=29,ie[te++]=25,!I.references){let T=o.idsToInsert||(o.idsToInsert=[]);I.references=[],T.push(I)}I.references.push(te-r),te+=2;return}else o.set(P,{offset:te-r})}let D=P.constructor;if(D===Object)this.skipFunction===!0&&(P=Object.fromEntries([...Object.keys(P).filter(I=>typeof P[I]!="function").map(I=>[I,P[I]])])),B(P);else if(D===Array){q=P.length,q<24?ie[te++]=128|q:Td(q);for(let I=0;I<q;I++)w(P[I])}else if(D===Map)if((this.mapsAsObjects?this.useTag259ForMaps!==!1:this.useTag259ForMaps)&&(ie[te++]=217,ie[te++]=1,ie[te++]=3),q=P.size,q<24?ie[te++]=160|q:q<256?(ie[te++]=184,ie[te++]=q):q<65536?(ie[te++]=185,ie[te++]=q>>8,ie[te++]=q&255):(ie[te++]=186,Tr.setUint32(te,q),te+=4),u.keyMap)for(let[I,T]of P)w(u.encodeKey(I)),w(T);else for(let[I,T]of P)w(I),w(T);else{for(let I=0,T=Gwe.length;I<T;I++){let R=KBt[I];if(P instanceof R){let L=Gwe[I],$=L.tag;$==null&&($=L.getTag&&L.getTag.call(this,P)),$<24?ie[te++]=192|$:$<256?(ie[te++]=216,ie[te++]=$):$<65536?(ie[te++]=217,ie[te++]=$>>8,ie[te++]=$&255):$>-1&&(ie[te++]=218,Tr.setUint32(te,$),te+=4),L.encode.call(this,P,w,z);return}}if(P[Symbol.iterator]){if(Hwe){let I=new Error("Iterable should be serialized as iterator");throw I.iteratorNotHandled=!0,I}ie[te++]=159;for(let I of P)w(I);ie[te++]=255;return}if(P[Symbol.asyncIterator]||zwe(P)){let I=new Error("Iterable/blob should be serialized as iterator");throw I.iteratorNotHandled=!0,I}if(this.useToJSON&&P.toJSON){let I=P.toJSON();if(I!==P)return w(I)}B(P)}}else if(U==="boolean")ie[te++]=P?245:244;else if(U==="bigint"){if(P<BigInt(1)<<BigInt(64)&&P>=0)ie[te++]=27,Tr.setBigUint64(te,P);else if(P>-(BigInt(1)<<BigInt(64))&&P<0)ie[te++]=59,Tr.setBigUint64(te,-P-BigInt(1));else if(this.largeBigIntToFloat)ie[te++]=251,Tr.setFloat64(te,Number(P));else{P>=BigInt(0)?ie[te++]=194:(ie[te++]=195,P=BigInt(-1)-P);let D=[];for(;P;)D.push(Number(P&BigInt(255))),P>>=BigInt(8);Kwe(new Uint8Array(D.reverse()),z);return}te+=8}else if(U==="undefined")ie[te++]=247;else throw new Error("Unknown type: "+U)},B=this.useRecords===!1?this.variableMapSize?P=>{let U=Object.keys(P),q=Object.values(P),D=U.length;D<24?ie[te++]=160|D:D<256?(ie[te++]=184,ie[te++]=D):D<65536?(ie[te++]=185,ie[te++]=D>>8,ie[te++]=D&255):(ie[te++]=186,Tr.setUint32(te,D),te+=4);let I;if(u.keyMap)for(let T=0;T<D;T++)w(u.encodeKey(U[T])),w(q[T]);else for(let T=0;T<D;T++)w(U[T]),w(q[T])}:P=>{ie[te++]=185;let U=te-r;te+=2;let q=0;if(u.keyMap)for(let D in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(D))&&(w(u.encodeKey(D)),w(P[D]),q++);else for(let D in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(D))&&(w(D),w(P[D]),q++);ie[U+++r]=q>>8,ie[U+r]=q&255}:(P,U)=>{let q,D=s.transitions||(s.transitions=Object.create(null)),I=0,T=0,R,L;if(this.keyMap){L=Object.keys(P).map(H=>this.encodeKey(H)),T=L.length;for(let H=0;H<T;H++){let ae=L[H];q=D[ae],q||(q=D[ae]=Object.create(null),I++),D=q}}else for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&(q=D[H],q||(D[t0]&1048576&&(R=D[t0]&65535),q=D[H]=Object.create(null),I++),D=q,T++);let $=D[t0];if($!==void 0)$&=65535,ie[te++]=217,ie[te++]=$>>8|224,ie[te++]=$&255;else if(L||(L=D.__keys__||(D.__keys__=Object.keys(P))),R===void 0?($=s.nextId++,$||($=0,s.nextId=1),$>=HBt&&(s.nextId=($=c)+1)):$=R,s[$]=L,$<c){ie[te++]=217,ie[te++]=$>>8|224,ie[te++]=$&255,D=s.transitions;for(let H=0;H<T;H++)(D[t0]===void 0||D[t0]&1048576)&&(D[t0]=$),D=D[L[H]];D[t0]=$|1048576,i=!0}else{if(D[t0]=$,Tr.setUint32(te,3655335680),te+=3,I&&(E+=x*I),v.length>=HBt-c&&(v.shift()[t0]=void 0),v.push(D),Td(T+2),w(57344+$),w(L),U)return;for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H]);return}if(T<24?ie[te++]=128|T:Td(T),!U)for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H])},z=P=>{let U;if(P>16777216){if(P-r>zBt)throw new Error("Encoded buffer would be larger than maximum buffer size");U=Math.min(zBt,Math.round(Math.max((P-r)*(P>67108864?1.25:2),4194304)/4096)*4096)}else U=(Math.max(P-r<<2,ie.length-1)>>12)+1<<12;let q=new Vwe(U);return Tr=new DataView(q.buffer,0,U),ie.copy?ie.copy(q,0,r,P):q.set(ie.slice(r,P)),te-=r,r=0,Tm=q.length-10,ie=q},j=100,V=1e3;this.encodeAsIterable=function(P,U){return M(P,U,F)},this.encodeAsAsyncIterable=function(P,U){return M(P,U,Z)};function*F(P,U,q){let D=P.constructor;if(D===Object){let I=u.useRecords!==!1;I?B(P,!0):WBt(Object.keys(P).length,160);for(let T in P){let R=P[T];I||w(T),R&&typeof R=="object"?U[T]?yield*F(R,U[T]):yield*ne(R,U,T):w(R)}}else if(D===Array){let I=P.length;Td(I);for(let T=0;T<I;T++){let R=P[T];R&&(typeof R=="object"||te-r>j)?U.element?yield*F(R,U.element):yield*ne(R,U,"element"):w(R)}}else if(P[Symbol.iterator]&&!P.buffer){ie[te++]=159;for(let I of P)I&&(typeof I=="object"||te-r>j)?U.element?yield*F(I,U.element):yield*ne(I,U,"element"):w(I);ie[te++]=255}else zwe(P)?(WBt(P.size,64),yield ie.subarray(r,te),yield P,Y()):P[Symbol.asyncIterator]?(ie[te++]=159,yield ie.subarray(r,te),yield P,Y(),ie[te++]=255):w(P);q&&te>r?yield ie.subarray(r,te):te-r>j&&(yield ie.subarray(r,te),Y())}function*ne(P,U,q){let D=te-r;try{w(P),te-r>j&&(yield ie.subarray(r,te),Y())}catch(I){if(I.iteratorNotHandled)U[q]={},te=r+D,yield*F.call(this,P,U[q]);else throw I}}function Y(){j=V,u.encode(null,Wwe)}function M(P,U,q){return U&&U.chunkThreshold?j=V=U.chunkThreshold:j=100,P&&typeof P=="object"?(u.encode(null,Wwe),q(P,u.iterateProperties||(u.iterateProperties={}),!0)):[u.encode(P)]}async function*Z(P,U){for(let q of F(P,U,!0)){let D=q.constructor;if(D===VBt||D===Uint8Array)yield q;else if(zwe(q)){let I=q.stream().getReader(),T;for(;!(T=await I.read()).done;)yield T.value}else if(q[Symbol.asyncIterator])for await(let I of q)Y(),I?yield*Z(I,U.async||(U.async={})):yield u.encode(I);else yield q}}}useBuffer(t){ie=t,Tr=new DataView(ie.buffer,ie.byteOffset,ie.byteLength),te=0}clearSharedData(){this.structures&&(this.structures=[]),this.sharedValues&&(this.sharedValues=void 0)}updateSharedData(){let t=this.sharedVersion||0;this.sharedVersion=t+1;let n=this.structures.slice(0),r=new IX(n,this.sharedValues,this.sharedVersion),a=this.saveShared(r,i=>(i&&i.version||0)==t);return a===!1?(r=this.getShared()||{},this.structures=r.structures||[],this.sharedValues=r.packedValues,this.sharedVersion=r.version,this.structures.nextId=this.structures.length):n.forEach((i,s)=>this.structures[s]=i),a}};function WBt(e,t){e<24?ie[te++]=t|e:e<256?(ie[te++]=t|24,ie[te++]=e):e<65536?(ie[te++]=t|25,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=t|26,Tr.setUint32(te,e),te+=4)}var IX=class{constructor(t,n,r){this.structures=t,this.packedValues=n,this.version=r}};function Td(e){e<24?ie[te++]=128|e:e<256?(ie[te++]=152,ie[te++]=e):e<65536?(ie[te++]=153,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=154,Tr.setUint32(te,e),te+=4)}var Tha=typeof Blob>"u"?function(){}:Blob;function zwe(e){if(e instanceof Tha)return!0;let t=e[Symbol.toStringTag];return t==="Blob"||t==="File"}function AX(e,t){switch(typeof e){case"string":if(e.length>3){if(t.objectMap[e]>-1||t.values.length>=t.maxValues)return;let r=t.get(e);if(r)++r.count==2&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let a=t.samplingPackedValues.get(e);a?a.count++:t.samplingPackedValues.set(e,{count:1})}}break;case"object":if(e)if(e instanceof Array)for(let r=0,a=e.length;r<a;r++)AX(e[r],t);else{let r=!t.encoder.useRecords;for(var n in e)e.hasOwnProperty(n)&&(r&&AX(n,t),AX(e[n],t))}break;case"function":console.log(e)}}var Aha=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;KBt=[Date,Set,Error,RegExp,Co,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?function(){}:BigInt64Array,Float32Array,Float64Array,IX];Gwe=[{tag:1,encode(e,t){let n=e.getTime()/1e3;(this.useTimestamp32||e.getMilliseconds()===0)&&n>=0&&n<4294967296?(ie[te++]=26,Tr.setUint32(te,n),te+=4):(ie[te++]=251,Tr.setFloat64(te,n),te+=8)}},{tag:258,encode(e,t){let n=Array.from(e);t(n)}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,n){Kwe(e,n)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||XS&&this.tagUint8Array!==!1))return 64},encode(e,t,n){Kwe(e,n)}},Sd(68,1),Sd(69,2),Sd(70,4),Sd(71,8),Sd(72,1),Sd(77,2),Sd(78,4),Sd(79,8),Sd(85,4),Sd(86,8),{encode(e,t){let n=e.packedValues||[],r=e.structures||[];if(n.values.length>0){ie[te++]=216,ie[te++]=51,Td(4);let a=n.values;t(a),Td(0),Td(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let i=0,s=a.length;i<s;i++)packedObjectMap[a[i]]=i}if(r){Tr.setUint32(te,3655335424),te+=3;let a=r.slice(0);a.unshift(57344),a.push(new Co(e.version,1399353956)),t(a)}else t(new Co(e.version,1399353956))}}];function Sd(e,t){return!Aha&&t>1&&(e-=4),{tag:e,encode:function(r,a){let i=r.byteLength,s=r.byteOffset||0,o=r.buffer||r;a(XS?OX.from(o,s,i):new Uint8Array(o,s,i))}}}function Kwe(e,t){let n=e.byteLength;n<24?ie[te++]=64+n:n<256?(ie[te++]=88,ie[te++]=n):n<65536?(ie[te++]=89,ie[te++]=n>>8,ie[te++]=n&255):(ie[te++]=90,Tr.setUint32(te,n),te+=4),te+n>=ie.length&&t(te+n),ie.set(e.buffer?e:new Uint8Array(e),te),te+=n}function Iha(e,t){let n,r=t.length*2,a=e.length-r;t.sort((i,s)=>i.offset>s.offset?1:-1);for(let i=0;i<t.length;i++){let s=t[i];s.id=i;for(let o of s.references)e[o++]=i>>8,e[o]=i&255}for(;n=t.pop();){let i=n.offset;e.copyWithin(i+r,i,a),r-=2;let s=i+r;e[s++]=216,e[s++]=28,a=i}return e}function GBt(e,t){Tr.setUint32(ci.position+e,te-ci.position-e+1);let n=ci;ci=null,t(n[0]),t(n[1])}var Jwe=new Am({useRecords:!1}),Oha=Jwe.encode,Cha=Jwe.encodeAsIterable,qha=Jwe.encodeAsAsyncIterable,{NEVER:Rha,ALWAYS:Pha,DECIMAL_ROUND:Mha,DECIMAL_FIT:kha}=SX,Ywe=512,Nha=1024,Wwe=2048;import{createRequire as sya}from"module";var oya=process.env.CBOR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()==="true";if(!oya){let e;try{typeof Ee=="function"?e=kjt():e=sya(import.meta.url)("cbor-extract"),e&&LBt(e.extractStrings)}catch{}}import{Buffer as QS}from"buffer";var Njt=18,Djt=new wd({mapsAsObjects:!1,useRecords:!1}),fya=new Am({mapsAsObjects:!1,useRecords:!1});function ty(e,t){if(e instanceof Uint8Array)return QS.from(e.buffer,e.byteOffset,e.byteLength);if(QS.isBuffer(e))return e;throw new Ga(`Expected byte string for ${t}`)}function aSe(e,t){return e==null?null:ty(e,t)}function Np(e,t){return e instanceof Map?e.get(t):e[t]}function $jt(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="bigint"){if(e>BigInt(Number.MAX_SAFE_INTEGER)||e<BigInt(Number.MIN_SAFE_INTEGER))throw new Ga(`Timestamp bigint outside JS safe integer range: ${e.toString()}`);return Number(e)}if(e instanceof Co&&e.tag===1)return $jt(e.value);let t=e==null?String(e):`${typeof e}:${String(e).slice(0,60)}`;throw new Ga(`Missing or invalid timestamp (${t})`)}function lya(e){let t;try{t=Djt.decode(e)}catch(c){throw new Ga(`Attestation payload is not valid CBOR: ${c.message}`)}if(!(t instanceof Map)&&(typeof t!="object"||t===null))throw new Ga("Attestation payload is not a map");let n=t,r=Np(n,"module_id"),a=Np(n,"digest"),i=$jt(Np(n,"timestamp")),s=Np(n,"pcrs"),o=Np(n,"certificate"),l=Np(n,"cabundle");if(typeof r!="string")throw new Ga("Missing or invalid module_id");if(typeof a!="string")throw new Ga("Missing or invalid digest");if(!(s instanceof Map))throw new Ga("Missing or invalid pcrs (expected CBOR map)");if(!Array.isArray(l))throw new Ga("Missing or invalid cabundle (expected array)");let u=new Map;for(let[c,g]of s.entries()){if(typeof c!="number")throw new Ga("Non-integer PCR index");u.set(c,ty(g,`pcrs[${c}]`))}let d=l.map((c,g)=>ty(c,`cabundle[${g}]`));return{moduleId:r,digest:a,timestamp:i,pcrs:u,certificateDer:ty(o,"certificate"),cabundleDer:d,publicKey:aSe(Np(n,"public_key"),"public_key"),userData:aSe(Np(n,"user_data"),"user_data"),nonce:aSe(Np(n,"nonce"),"nonce")}}function Ljt(e){let t;try{t=QS.from(e,"base64")}catch(o){throw new Ga(`attestation_document is not valid base64: ${o.message}`)}let n;try{n=Djt.decode(t)}catch(o){throw new Ga(`COSE document is not valid CBOR: ${o.message}`)}let r;if(n instanceof Co){if(n.tag!==Njt)throw new Ga(`Unexpected COSE tag ${n.tag}, expected ${Njt}`);r=n.value}else r=n;if(!Array.isArray(r)||r.length!==4)throw new Ga("COSE_Sign1 envelope must be a 4-element array");let a=ty(r[0],"protected header"),i=ty(r[2],"payload"),s=ty(r[3],"signature");return{protectedHeaderBytes:a,payloadBytes:i,signature:s,payload:lya(i)}}function Bjt(e,t){let n=fya.encode(["Signature1",e,QS.alloc(0),t]);return QS.from(n.buffer,n.byteOffset,n.byteLength)}import{X509Certificate as uya}from"crypto";function jjt(e,t){try{return new uya(e)}catch(n){throw new Ed(`Failed to parse ${t}: ${n.message}`)}}function dya(e,t,n){let r=Date.parse(e.validFrom),a=Date.parse(e.validTo);if(Number.isNaN(r)||Number.isNaN(a))throw new Ed(`Cannot parse validity window of ${n}`);if(t<r)throw new Ed(`${n} not yet valid at attestation time`);if(t>a)throw new Ed(`${n} expired before attestation time`)}function Fjt(e){let t=jjt(e.leafDer,"leaf certificate"),n=e.cabundleDer.map((l,u)=>jjt(l,`cabundle[${u}]`)),r=[t],a=new Set([t.fingerprint256]),i=t,s=16;for(let l=0;l<s&&i.subject!==i.issuer;l++){let u=[...n,e.trustedRoot].filter(c=>!a.has(c.fingerprint256)&&i.checkIssued(c)),d=null;for(let c of u)if(i.verify(c.publicKey)){d=c;break}if(!d)throw new Ed(`No issuer found for certificate with subject ${i.subject}`);r.push(d),a.add(d.fingerprint256),i=d}if(r[r.length-1].fingerprint256!==e.trustedRoot.fingerprint256)throw new Ed("Certificate chain does not terminate at the trusted AWS Nitro Root CA");for(let l=0;l<r.length;l++)dya(r[l],e.refTimeMs,l===0?"leaf":`chain[${l}]`);return{leaf:t,chain:r}}function mya(e){try{return new pya(e)}catch(t){throw new D0(`Failed to parse bundled AWS Nitro Root CA: ${t.message}`)}}function hya(e,t){if(!t||t.length===0)throw new wm("Attestation payload does not include a public key");let n;try{n=Ujt({key:e,format:"pem"})}catch(a){throw new wm(`Response public_key is not a valid PEM key: ${a.message}`)}let r;try{let a=n.export({type:"spki",format:"der"});r=Vjt.isBuffer(a)?a:Vjt.from(a)}catch(a){throw new wm(`Failed to encode response public key as SPKI DER: ${a.message}`)}if(!r.equals(t))throw new wm("Response public_key does not match the public key endorsed by the attestation");return Ujt({key:t,format:"der",type:"spki"})}function iSe(e,t,n=Date.now()){if(!e||typeof e.attestation_document!="string"||typeof e.public_key!="string")throw new Ga("Response missing attestation_document or public_key");let r=Ljt(e.attestation_document),a=mya(t.awsNitroRootCaPem),{leaf:i}=Fjt({leafDer:r.payload.certificateDer,cabundleDer:r.payload.cabundleDer,trustedRoot:a,refTimeMs:r.payload.timestamp}),s=Bjt(r.protectedHeaderBytes,r.payloadBytes),o=!1;try{o=cya("sha384",s,{key:i.publicKey,dsaEncoding:"ieee-p1363"},r.signature)}catch(c){throw new Z8(`COSE signature verification failed: ${c.message}`)}if(!o)throw new Z8("COSE signature did not verify against the leaf certificate");let l=hya(e.public_key,r.payload.publicKey),u=Math.abs(n-r.payload.timestamp);if(u>t.maxAttestationAgeMs)throw new zS(`Attestation timestamp is ${u}ms from local clock, exceeds maxAttestationAgeMs ${t.maxAttestationAgeMs}`);let d={};for(let[c,g]of r.payload.pcrs.entries())d[c]=CBt(g);return{publicKey:l,pcrs:d,timestamp:r.payload.timestamp,moduleId:r.payload.moduleId}}function Hjt(e){if(yya.isAxiosError(e)&&e.response?.data){let t=e.response.data;return console.log(eT.red(t.message)),typeof t=="string"?t:t.message||JSON.stringify(t)}return e instanceof Error?e.message:String(e)}async function bya(e,t){try{let n=g0({namespace:t});return(await e.post("getkey",n)).data}catch(n){return Hjt(n),console.error(eT.red("Failed to retrieve encryption key from Hub-TEE-KMS. Please try again")),null}}function gya(e){let t=typeof e.publicKey=="string"?ru.createPublicKey({key:e.publicKey,format:"pem"}):e.publicKey,n=ru.randomBytes(32),r=ru.randomBytes(12),a=ru.createCipheriv("aes-256-gcm",n,r),i=Buffer.concat([a.update(e.authString,"utf8"),a.final()]),s=a.getAuthTag(),o=Buffer.concat([i,s]),l=ru.publicEncrypt({key:t,padding:ru.constants.RSA_PKCS1_OAEP_PADDING,oaepHash:"sha256"},n);return n.fill(0),{encrypted_authString:o.toString("base64"),encrypted_key:l.toString("base64"),iv:r.toString("base64")}}async function zjt(e,t,n,r=Nwe()){try{let a=await bya(e,n);if(!a)return null;let i;try{i=iSe(a,r).publicKey}catch(o){if(o instanceof D0)return console.error(eT.red(`Enclave attestation verification failed (${o.name}): ${o.message}`)),console.error(eT.red("Refusing to encrypt credentials to an unverified public key.")),null;throw o}return{...gya({publicKey:i,authString:t}),public_key:a.public_key}}catch(a){return Hjt(a),console.error(eT.red("Failed to encrypt credentials. Please try again.")),null}}async function Wjt(e,t,n){let r=await zjt(e,n,t.namespace);if(!r)return null;let a=g0({...t,public_key:r.public_key,encrypted_authString:r.encrypted_authString,encrypted_key:r.encrypted_key,iv:r.iv});try{return await e.post("credentials",a),{ok:!0}}catch(i){return vya.isAxiosError(i)&&i.response?{ok:!1,status:i.response.status}:(b0(i),null)}}async function Gjt(e,t,n,r,a,i,s){console.log("Deploying the API Authentication Credentials");try{if(!fBt(i))throw"Invalid private key provided";if(!_ya.isAddress(s))throw"Invalid address provided";if(kne(r,a),!J8(e))throw"Invalid taskId";let o=await dYe(),l={taskId:e,namespace:t,taskName:n,method:r};console.log("Encrypting credentials...");let u=await Wjt(o,l,a);if(!u)return;if(!u.ok)if(u.status===403){console.log(sSe.yellow("TEE rejected the session (403). Fetching a fresh session key and retrying once..."));let d=await Wjt(o,l,a);if(!d)return;if(!d.ok)throw`TEE rejected credentials twice with status ${d.status}. Aborting to avoid a hot loop.`}else throw`TEE rejected credentials with status ${u.status}`;console.log("The encrypted credentials were deployed "+sSe.green("Successfully"))}catch(o){let l=o instanceof Error?o.message:String(o);console.error(sSe.red(l));return}}import Om from"colors";Rs();var xya=3e4,kX=null;async function Kjt(){if(kX&&kX.expiresAt>Date.now())return kX.chains;let n=(await(await z5()).get("chains")).data??[];return kX={chains:n,expiresAt:Date.now()+xya},n}async function Yjt(){let e;try{e=await Kjt()}catch(a){throw`Failed to fetch supported chains: ${a instanceof Error?a.message:String(a)}`}if(e.length===0){console.log(Om.yellow("No chains configured on this deployment."));return}let t=e.map(a=>({chainId:String(a.chainId),name:a.displayName,symbol:a.symbol,network:a.isTestnet?"testnet":"mainnet"})).sort((a,i)=>a.name.localeCompare(i.name)),n={chainId:Math.max(8,...t.map(a=>a.chainId.length)),name:Math.max(4,...t.map(a=>a.name.length)),symbol:Math.max(6,...t.map(a=>a.symbol.length)),network:Math.max(7,...t.map(a=>a.network.length))},r=(a,i)=>a+" ".repeat(Math.max(0,i-a.length));console.log(Om.cyan(r("chainId",n.chainId)+" "+r("name",n.name)+" "+r("symbol",n.symbol)+" network")),console.log(Om.gray("-".repeat(n.chainId)+" "+"-".repeat(n.name)+" "+"-".repeat(n.symbol)+" "+"-".repeat(n.network)));for(let a of t)console.log(Om.yellow(r(a.chainId,n.chainId))+" "+Om.white(r(a.name,n.name))+" "+Om.gray(r(a.symbol,n.symbol))+" "+(a.network==="mainnet"?Om.green(a.network):Om.gray(a.network)))}import{inspect as uba}from"util";import gs from"ora";import{v4 as dba}from"uuid";import{ethers as KX}from"ethers";var Jjt={name:"@truebit/cli",version:"1.131.0",private:!1,description:"truebit-cli is a basic command line that allows interaction between users and truebit nextgen node.",author:{name:"Truebit Co.",url:"https://truebit.io/"},license:"https://truebit.io/terms/",repository:{type:"git",url:"https://github.com/TruebitProtocol"},homepage:"https://truebit.io/",main:"build/index.mjs",module:"build/index.mjs",types:"build/types/index.d.ts",type:"module",scripts:{prebuild:"rimraf build logs","prebuild:dev":"rimraf build logs","build:dev":"tsc && chmod +x build/index.mjs",build:"NODE_ENV=production node esbuild.config.mjs && chmod +x build/index.mjs",dev:"export NODE_ENV=development && npx nodemon",test:"vitest run --passWithNoTests tests/"},dependencies:{axios:"1.17.0","cbor-x":"1.6.4",chalk:"5.6.2",colors:"1.4.0",commander:"15.0.0",ethers:"6.16.0",figlet:"1.11.0","form-data":"4.0.5","openapi-enforcer":"1.23.0",ora:"9.4.0","public-ip":"8.0.0","ts-retry":"6.0.0",uuid:"14.0.0"},bin:{truebit:"build/index.mjs"},files:["build"],devDependencies:{"@types/figlet":"1.7.0","@vitest/coverage-v8":"4.1.8",esbuild:"0.28.0",typescript:"5.9.3",vitest:"4.1.8"},engines:{node:">=22.13.0"}};ki();Rs();f0();ki();import{createInterface as Oya}from"node:readline/promises";import Dp from"chalk";Rs();import tT from"axios";import{ethers as r_}from"ethers";import{randomBytes as wya}from"crypto";import{v4 as Sya}from"uuid";ki();import{ethers as NX}from"ethers";async function Zjt(e){Kh(e);let t=Qi(),n=lr(t,Ot.AVAX),r=NX.keccak256(NX.toUtf8Bytes(e));return await n.authorization.registerAuthorization(r),r}async function oSe(e,t,n=Qt("address")){Kh(e);let r=Qi(),a=lr(r,Ot.AVAX),i=await a.authorization.getEIP712Domain(),s=await a.authorization.nonces(n),o=Math.floor(Date.now()/1e3)+3600,l={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},u=NX.keccak256(NX.toUtf8Bytes(e)),d={user:n,apiKeyHash:u,nonce:Number(s),deadline:o};if(!a.utils)throw new Error("Private key is required for signing operations");let c=await a.utils.signMeta(i,l,d);return(await uBt(n,u,o,c,t)).status==201?u:null}ki();f0();import{isTooManyTries as Xjt,retryAsync as Qjt}from"ts-retry";var eFt="0x0000000000000000000000000000000000000000";async function tFt(e){let t=!0;return e===""?(t=!1,console.log("An email address is required. Please provide your email address to proceed.")):new RegExp(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(e)?await Tya(e)&&(t=!1,console.log("The provided email address is already in use. Please enter a different email address.")):(t=!1,console.log("The email address provided is not valid. Please try again.")),t}function ny(e){return e==="Y"||e==="N"}function nFt(e){return!r_.isAddress(e)||e.length!==42||!e.startsWith("0x")}async function rFt(){let e=Qi(),t=lr(e,Ot.AVAX),n=Qt("address"),r=await Iya(),a=await Aya();Kh(a);let i=r_.keccak256(r_.toUtf8Bytes(a)),s=Math.floor(Date.now()/1e3)+3600,o=await t.taskRegistry.getEIP712Domain(),l=await t.authorization.getEIP712Domain(),u={RegisterTaskNamespaceMeta:[{name:"user",type:"address"},{name:"namespace",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},d={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},c=BigInt(await t.taskRegistry.nonces(n)),g=await t.authorization.nonces(n),m={user:r_.getAddress(n),namespace:r,nonce:c,deadline:s},p={user:n,apiKeyHash:i,nonce:Number(g),deadline:s};if(!t.utils)throw new Error("Private key is required for signing operations");let y=await t.utils.signMeta(o,u,m),b=await t.utils.signMeta(l,d,p),v={user:n,namespace:r,apiKeyHash:i,namespaceSignature:y,apiKeySignature:b,namespaceDeadline:s,apiKeyDeadline:s};try{let E=await dBt(v);if(E.status!==201)throw new Error("Registration failed with unexpected status");if(!E.data.namespaceRegistration.success)throw new Error("Namespace registration failed");if(!E.data.apiKeyRegistration.success)throw new Error("API key registration failed");return{namespace:r,apiKey:a,hashedApiKey:i}}catch(E){let x=E.message;throw new Error(`Combined registration failed: ${x}`)}}async function Tya(e){let t=await qs();try{return(await t.get(`userexistence/${e}`)).data===!0}catch(n){if(tT.isAxiosError(n)&&n.response?.status===404&&typeof n.response?.data?.message=="string"&&n.response.data.message.includes("User not found"))return!1;throw n}}async function DX(e,t){try{let n={message:"I am a Truebit User"};if(!t)throw Error("Secret.json does not exists");let r=t.privateKey,a=t.address,i=Ma.createSignedBody(n,r,a);return(await(await qs()).get(`user/${e}`,{headers:{"truebit-auth":JSON.stringify(i)}})).data}catch(n){if(tT.isAxiosError(n)&&n.response?.status===401&&n.response?.data.message.includes("Entitlement Validation Error")||tT.isAxiosError(n)&&n.response?.status==404&&n.response?.data.message&&n.response?.data.message.includes("User not found"))return null;throw tT.isAxiosError(n)?n.response?Error(`The server responding with an error -> ${n.response.data.message||n.response.status+" - "+n.response.statusText}`):n.request?Error(`The server is not responding -> ${n.message}`):Error(`There was an error in the communication with the server -> ${n.message}`):Error(typeof n=="string"?`There was an error in the communication with the server -> ${n}`:"There was an error in the communication with the server.")}}async function aFt(e){try{return await(await qs()).post("user/register",e)}catch(t){throw tT.isAxiosError(t)?t.response?Error(`The server responding with an error -> ${t.response.data.message||t.response.status+" - "+t.response.statusText}`):t.request?Error(`The server is not responding -> ${t.message}`):Error(`There was an error in the communication with the server -> ${t.message}`):Error(typeof t=="string"?`There was an error in the communication with the server -> ${t}`:"There was an error in the communication with the server.")}}async function Aya(){let e=Qi(),t=lr(e,Ot.AVAX),n="";try{await Qjt(async()=>{n=Sya();let r=r_.keccak256(r_.toUtf8Bytes(n));return await t.authorization.getPayerAddress(r)===eFt},{delay:500,maxTry:5,until:r=>r===!0})}catch(r){throw Xjt(r)?Error("Attempts to generate unique Api Key for the user exhausted."):r}return n}async function Iya(){let e=Qi(),t=lr(e,Ot.AVAX),n="";try{await Qjt(async()=>(n=wya(4).toString("hex"),await t.taskRegistry.getNamespaceOwner(n)===eFt),{delay:500,maxTry:5,until:r=>r===!0})}catch(r){throw Xjt(r)?Error("Attempts to generate unique namespace for the user exhausted."):r}return n}function iFt(e){e.fullNameAnswer="",e.emailAddressAnswer="",e.companyNameAnswer="",e.jobPositionAnswer="",e.eulaAnswer="",e.confirmRegistration=""}f0();g6();import Cya from"ora";import*as $X from"os";async function sFt(e,t,n){let r=Ps(),a=r!==null,i=0,s,o=Oya({input:process.stdin,output:process.stdout,terminal:!0});switch(a&&(nFt(r.address)?i=1:(s=await DX(r.address,r),s?i=2:i=3)),i){case 1:console.log("The wallet set in the configuration must be a valid ethereum address. (ENS not supported yet)");break;case 2:console.log(_r.SETUP_STEP1_SCENARIO1_P2(s));break;case 3:{console.log(_r.SETUP_STEP2_SCENARIO3_P1),console.log();let l={user_ip:e,date_time:ia(),os_version:$X.type+"_"+$X.release,node_version:process.version,cli_version:t};await n.sendEventToMixpanel("user_registration_begin",l);let u={confirmRegistration:"",fullNameAnswer:"",emailAddressAnswer:"",companyNameAnswer:"",jobPositionAnswer:"",eulaAnswer:""};try{for(;u.confirmRegistration!="Y";){for(u.fullNameAnswer=(await o.question(Dp.bold(" 1. Full Name: "))).trim();u.fullNameAnswer==="";)console.log("Your full name is required. Please provide your first and last name to proceed."),u.fullNameAnswer=(await o.question(Dp.bold(" 1. Full Name: "))).trim();for(u.emailAddressAnswer=(await o.question(Dp.bold(" 2. Email Address: "))).trim();!await tFt(u.emailAddressAnswer);)u.emailAddressAnswer=(await o.question(Dp.bold(" 2. Email Address: "))).trim();for(u.companyNameAnswer=(await o.question(Dp.bold(" 3. Company Name: "))).trim(),u.jobPositionAnswer=(await o.question(Dp.bold(" 4. Job Position: "))).trim();!ny(u.eulaAnswer);)u.eulaAnswer=(await o.question(Dp.bold(` 5. Accept EULA? [Y|N] (${_r.EULA_TERMS_LINK}): `))).toUpperCase();if(u.eulaAnswer=="N"){console.log(_r.EULA_REGISTRATION_NO_ACCEPTED);break}for(;!ny(u.confirmRegistration);)console.log(`
521
+ `;var iha=300*1e3;function Nwe(e=process.env){let t=iha;if(e.ENCLAVE_MAX_ATTESTATION_AGE_MS!==void 0){let n=Number(e.ENCLAVE_MAX_ATTESTATION_AGE_MS);if(!Number.isFinite(n)||n<=0)throw new Error("ENCLAVE_MAX_ATTESTATION_AGE_MS must be a positive number");t=n}return{awsNitroRootCaPem:OBt,maxAttestationAgeMs:t}}function CBt(e){return e.toString("hex").toLowerCase()}import{createPublicKey as Ujt,verify as cya,X509Certificate as pya}from"crypto";import{Buffer as Vjt}from"buffer";var Dwe;try{Dwe=new TextDecoder}catch{}var rt,Sm,de=0;var jwe=[],sha=105,oha=57342,fha=57343,qBt=57337;var RBt=6,X8={},WS=11281e4,Mp=1681e4;var Zh=jwe,KS=0,sn={},da,YS,JS=0,Xh=0,Ka,$0,Ya=[],$we=[],Oo,Us,GS,PBt={useRecords:!1,mapsAsObjects:!0},ZS=!1,NBt=2;try{new Function("")}catch{NBt=1/0}var wd=class e{constructor(t){if(t&&((t.keyMap||t._keyMap)&&!t.useRecords&&(t.useRecords=!1,t.mapsAsObjects=!0),t.useRecords===!1&&t.mapsAsObjects===void 0&&(t.mapsAsObjects=!0),t.getStructures&&(t.getShared=t.getStructures),t.getShared&&!t.structures&&((t.structures=[]).uninitialized=!0),t.keyMap)){this.mapKey=new Map;for(let[n,r]of Object.entries(t.keyMap))this.mapKey.set(r,n)}Object.assign(this,t)}decodeKey(t){return this.keyMap&&this.mapKey.get(t)||t}encodeKey(t){return this.keyMap&&this.keyMap.hasOwnProperty(t)?this.keyMap[t]:t}encodeKeys(t){if(!this._keyMap)return t;let n=new Map;for(let[r,a]of Object.entries(t))n.set(this._keyMap.hasOwnProperty(r)?this._keyMap[r]:r,a);return n}decodeKeys(t){if(!this._keyMap||t.constructor.name!="Map")return t;if(!this._mapKey){this._mapKey=new Map;for(let[r,a]of Object.entries(this._keyMap))this._mapKey.set(a,r)}let n={};return t.forEach((r,a)=>n[L0(this._mapKey.has(a)?this._mapKey.get(a):a)]=r),n}mapDecode(t,n){let r=this.decode(t);return this._keyMap&&r.constructor.name==="Array"?r.map(a=>this.decodeKeys(a)):r}decode(t,n){if(rt)return UBt(()=>(EX(),this?this.decode(t,n):e.prototype.decode.call(PBt,t,n)));Sm=n>-1?n:t.length,de=0,KS=0,Xh=0,YS=null,Zh=jwe,Ka=null,rt=t;try{Us=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(r){throw rt=null,t instanceof Uint8Array?r:new Error("Source must be a Uint8Array or Buffer but was a "+(t&&typeof t=="object"?t.constructor.name:typeof t))}if(this instanceof e){if(sn=this,Oo=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return da=this.structures,_X();(!da||da.length>0)&&(da=[])}else sn=PBt,(!da||da.length>0)&&(da=[]),Oo=null;return _X()}decodeMultiple(t,n){let r,a=0;try{let i=t.length;ZS=!0;let s=this?this.decode(t,i):Uwe.decode(t,i);if(n){if(n(s)===!1)return;for(;de<i;)if(a=de,n(_X())===!1)return}else{for(r=[s];de<i;)a=de,r.push(_X());return r}}catch(i){throw i.lastPosition=a,i.values=r,i}finally{ZS=!1,EX()}}};function _X(){try{let e=ln();if(Ka){if(de>=Ka.postBundlePosition){let t=new Error("Unexpected bundle position");throw t.incomplete=!0,t}de=Ka.postBundlePosition,Ka=null}if(de==Sm)da=null,rt=null,$0&&($0=null);else if(de>Sm){let t=new Error("Unexpected end of CBOR data");throw t.incomplete=!0,t}else if(!ZS)throw new Error("Data read, but end of buffer not reached");return e}catch(e){throw EX(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer"))&&(e.incomplete=!0),e}}function ln(){let e=rt[de++],t=e>>5;if(e=e&31,e>23)switch(e){case 24:e=rt[de++];break;case 25:if(t==7)return mha();e=Us.getUint16(de),de+=2;break;case 26:if(t==7){let n=Us.getFloat32(de);if(sn.useFloat32>2){let r=wX[(rt[de]&127)<<1|rt[de+1]>>7];return de+=4,(r*n+(n>0?.5:-.5)>>0)/r}return de+=4,n}if(e=Us.getUint32(de),de+=4,t===1)return-1-e;break;case 27:if(t==7){let n=Us.getFloat64(de);return de+=8,n}if(t>1){if(Us.getUint32(de)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");e=Us.getUint32(de+4)}else sn.int64AsNumber?(e=Us.getUint32(de)*4294967296,e+=Us.getUint32(de+4)):e=Us.getBigUint64(de);de+=8;break;case 31:switch(t){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let n=[],r,a=0;for(;(r=ln())!=X8;){if(a>=WS)throw new Error(`Array length exceeds ${WS}`);n[a++]=r}return t==4?n:t==3?n.join(""):Buffer.concat(n);case 5:let i;if(sn.mapsAsObjects){let s={},o=0;if(sn.keyMap)for(;(i=ln())!=X8;){if(o++>=Mp)throw new Error(`Property count exceeds ${Mp}`);s[L0(sn.decodeKey(i))]=ln()}else for(;(i=ln())!=X8;){if(o++>=Mp)throw new Error(`Property count exceeds ${Mp}`);s[L0(i)]=ln()}return s}else{GS&&(sn.mapsAsObjects=!0,GS=!1);let s=new Map;if(sn.keyMap){let o=0;for(;(i=ln())!=X8;){if(o++>=Mp)throw new Error(`Map size exceeds ${Mp}`);s.set(sn.decodeKey(i),ln())}}else{let o=0;for(;(i=ln())!=X8;){if(o++>=Mp)throw new Error(`Map size exceeds ${Mp}`);s.set(i,ln())}}return s}case 7:return X8;default:throw new Error("Invalid major type for indefinite length "+t)}default:throw new Error("Unknown token "+e)}switch(t){case 0:return e;case 1:return~e;case 2:return pha(e);case 3:if(Xh>=de)return YS.slice(de-JS,(de+=e)-JS);if(Xh==0&&Sm<140&&e<32){let a=e<16?BBt(e):cha(e);if(a!=null)return a}return DBt(e);case 4:if(e>=WS)throw new Error(`Array length exceeds ${WS}`);let n=new Array(e);for(let a=0;a<e;a++)n[a]=ln();return n;case 5:if(e>=Mp)throw new Error(`Map size exceeds ${WS}`);if(sn.mapsAsObjects){let a={};if(sn.keyMap)for(let i=0;i<e;i++)a[L0(sn.decodeKey(ln()))]=ln();else for(let i=0;i<e;i++)a[L0(ln())]=ln();return a}else{GS&&(sn.mapsAsObjects=!0,GS=!1);let a=new Map;if(sn.keyMap)for(let i=0;i<e;i++)a.set(sn.decodeKey(ln()),ln());else for(let i=0;i<e;i++)a.set(ln(),ln());return a}case 6:if(e>=qBt){let a=da[e&8191];if(a)return a.read||(a.read=Lwe(a)),a.read();if(e<65536){if(e==fha){let i=e_(),s=ln(),o=ln();Bwe(s,o);let l={};if(sn.keyMap)for(let u=2;u<i;u++){let d=sn.decodeKey(o[u-2]);l[L0(d)]=ln()}else for(let u=2;u<i;u++){let d=o[u-2];l[L0(d)]=ln()}return l}else if(e==oha){let i=e_(),s=ln();for(let o=2;o<i;o++)Bwe(s++,ln());return ln()}else if(e==qBt)return _ha();if(sn.getShared&&(Fwe(),a=da[e&8191],a))return a.read||(a.read=Lwe(a)),a.read()}}let r=Ya[e];if(r)return r.handlesRead?r(ln):r(ln());{let a=ln();for(let i=0;i<$we.length;i++){let s=$we[i](e,a);if(s!==void 0)return s}return new Co(a,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let a=(Oo||Jh())[e];if(a!==void 0)return a;throw new Error("Unknown token "+e)}default:if(isNaN(e)){let a=new Error("Unexpected end of CBOR data");throw a.incomplete=!0,a}throw new Error("Unknown CBOR token "+e)}}var MBt=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Lwe(e){if(!e)throw new Error("Structure is required in record definition");function t(){let n=rt[de++];if(n=n&31,n>23)switch(n){case 24:n=rt[de++];break;case 25:n=Us.getUint16(de),de+=2;break;case 26:n=Us.getUint32(de),de+=4;break;default:throw new Error("Expected array header, but got "+rt[de-1])}let r=this.compiledReader;for(;r;){if(r.propertyCount===n)return r(ln);r=r.next}if(this.slowReads++>=NBt){let i=this.length==n?this:this.slice(0,n);return r=sn.keyMap?new Function("r","return {"+i.map(s=>sn.decodeKey(s)).map(s=>MBt.test(s)?L0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"):new Function("r","return {"+i.map(s=>MBt.test(s)?L0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"),this.compiledReader&&(r.next=this.compiledReader),r.propertyCount=n,this.compiledReader=r,r(ln)}let a={};if(sn.keyMap)for(let i=0;i<n;i++)a[L0(sn.decodeKey(this[i]))]=ln();else for(let i=0;i<n;i++)a[L0(this[i])]=ln();return a}return e.slowReads=0,t}function L0(e){if(typeof e=="string")return e==="__proto__"?"__proto_":e;if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")return e.toString();if(e==null)return e+"";throw new Error("Invalid property name type "+typeof e)}var DBt=Qh,lha=Qh,uha=Qh,dha=Qh,$Bt=!1;function LBt(e){$Bt=!0,DBt=t(1),lha=t(2),uha=t(3),dha=t(5);function t(n){return function(a){let i=Zh[KS++];if(i==null){if(Ka)return Qh(a);let o=e(de,Sm,a,rt);if(typeof o=="string")i=o,Zh=jwe;else if(Zh=o,KS=1,Xh=1,i=Zh[0],i===void 0)throw new Error("Unexpected end of buffer")}let s=i.length;return s<=a?(de+=a,i):(YS=i,JS=de,Xh=de+s,de+=a,i.slice(0,a))}}}function Qh(e){let t;if(e<16&&(t=BBt(e)))return t;if(e>64&&Dwe)return Dwe.decode(rt.subarray(de,de+=e));let n=de+e,r=[];for(t="";de<n;){let a=rt[de++];if((a&128)===0)r.push(a);else if((a&224)===192){let i=rt[de++]&63,s=(a&31)<<6|i;s<128?r.push(65533):r.push(s)}else if((a&240)===224){let i=rt[de++]&63,s=rt[de++]&63,o=(a&31)<<12|i<<6|s;o<2048||o>=55296&&o<=57343?r.push(65533):r.push(o)}else if((a&248)===240){let i=rt[de++]&63,s=rt[de++]&63,o=rt[de++]&63,l=(a&7)<<18|i<<12|s<<6|o;l<65536||l>1114111?r.push(65533):(l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|l&1023),r.push(l))}else r.push(65533);r.length>=4096&&(t+=Ei.apply(String,r),r.length=0)}return r.length>0&&(t+=Ei.apply(String,r)),t}var Ei=String.fromCharCode;function cha(e){let t=de,n=new Array(e);for(let r=0;r<e;r++){let a=rt[de++];if((a&128)>0){de=t;return}n[r]=a}return Ei.apply(String,n)}function BBt(e){if(e<4)if(e<2){if(e===0)return"";{let t=rt[de++];if((t&128)>1){de-=1;return}return Ei(t)}}else{let t=rt[de++],n=rt[de++];if((t&128)>0||(n&128)>0){de-=2;return}if(e<3)return Ei(t,n);let r=rt[de++];if((r&128)>0){de-=3;return}return Ei(t,n,r)}else{let t=rt[de++],n=rt[de++],r=rt[de++],a=rt[de++];if((t&128)>0||(n&128)>0||(r&128)>0||(a&128)>0){de-=4;return}if(e<6){if(e===4)return Ei(t,n,r,a);{let i=rt[de++];if((i&128)>0){de-=5;return}return Ei(t,n,r,a,i)}}else if(e<8){let i=rt[de++],s=rt[de++];if((i&128)>0||(s&128)>0){de-=6;return}if(e<7)return Ei(t,n,r,a,i,s);let o=rt[de++];if((o&128)>0){de-=7;return}return Ei(t,n,r,a,i,s,o)}else{let i=rt[de++],s=rt[de++],o=rt[de++],l=rt[de++];if((i&128)>0||(s&128)>0||(o&128)>0||(l&128)>0){de-=8;return}if(e<10){if(e===8)return Ei(t,n,r,a,i,s,o,l);{let u=rt[de++];if((u&128)>0){de-=9;return}return Ei(t,n,r,a,i,s,o,l,u)}}else if(e<12){let u=rt[de++],d=rt[de++];if((u&128)>0||(d&128)>0){de-=10;return}if(e<11)return Ei(t,n,r,a,i,s,o,l,u,d);let c=rt[de++];if((c&128)>0){de-=11;return}return Ei(t,n,r,a,i,s,o,l,u,d,c)}else{let u=rt[de++],d=rt[de++],c=rt[de++],g=rt[de++];if((u&128)>0||(d&128)>0||(c&128)>0||(g&128)>0){de-=12;return}if(e<14){if(e===12)return Ei(t,n,r,a,i,s,o,l,u,d,c,g);{let m=rt[de++];if((m&128)>0){de-=13;return}return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m)}}else{let m=rt[de++],p=rt[de++];if((m&128)>0||(p&128)>0){de-=14;return}if(e<15)return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m,p);let y=rt[de++];if((y&128)>0){de-=15;return}return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m,p,y)}}}}}function pha(e){return sn.copyBuffers?Uint8Array.prototype.slice.call(rt,de,de+=e):rt.subarray(de,de+=e)}var jBt=new Float32Array(1),xX=new Uint8Array(jBt.buffer,0,4);function mha(){let e=rt[de++],t=rt[de++],n=(e&127)>>2;if(n===31)return t||e&3?NaN:e&128?-1/0:1/0;if(n===0){let r=((e&3)<<8|t)/16777216;return e&128?-r:r}return xX[3]=e&128|(n>>1)+56,xX[2]=(e&7)<<5|t>>3,xX[1]=t<<5,xX[0]=0,jBt[0]}var xSi=new Array(4096);var Co=class{constructor(t,n){this.value=t,this.tag=n}};Ya[0]=e=>new Date(e);Ya[1]=e=>new Date(Math.round(e*1e3));Ya[2]=e=>{let t=BigInt(0);for(let n=0,r=e.byteLength;n<r;n++)t=BigInt(e[n])+(t<<BigInt(8));return t};Ya[3]=e=>BigInt(-1)-Ya[2](e);Ya[4]=e=>+(e[1]+"e"+e[0]);Ya[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));var Bwe=(e,t)=>{e=e-57344;let n=da[e];n&&n.isShared&&((da.restoreStructures||(da.restoreStructures=[]))[e]=n),da[e]=t,t.read=Lwe(t)};Ya[sha]=e=>{let t=e.length,n=e[1];Bwe(e[0],n);let r={};for(let a=2;a<t;a++){let i=n[a-2];r[L0(i)]=e[a]}return r};Ya[14]=e=>Ka?Ka[0].slice(Ka.position0,Ka.position0+=e):new Co(e,14);Ya[15]=e=>Ka?Ka[1].slice(Ka.position1,Ka.position1+=e):new Co(e,15);var hha={Error,RegExp};Ya[27]=e=>(hha[e[0]]||Error)(e[1],e[2]);var FBt=e=>{if(rt[de++]!=132){let n=new Error("Packed values structure must be followed by a 4 element array");throw rt.length<de&&(n.incomplete=!0),n}let t=e();if(!t||!t.length){let n=new Error("Packed values structure must be followed by a 4 element array");throw n.incomplete=!0,n}return Oo=Oo?t.concat(Oo.slice(t.length)):t,Oo.prefixes=e(),Oo.suffixes=e(),e()};FBt.handlesRead=!0;Ya[51]=FBt;Ya[RBt]=e=>{if(!Oo)if(sn.getShared)Fwe();else return new Co(e,RBt);if(typeof e=="number")return Oo[16+(e>=0?2*e:-2*e-1)];let t=new Error("No support for non-integer packed references yet");throw e===void 0&&(t.incomplete=!0),t};Ya[28]=e=>{$0||($0=new Map,$0.id=0);let t=$0.id++,n=de,r=rt[de],a;r>>5==4?a=[]:a={};let i={target:a};$0.set(t,i);let s=e();return i.used?(Object.getPrototypeOf(a)!==Object.getPrototypeOf(s)&&(de=n,a=s,$0.set(t,{target:a}),s=e()),Object.assign(a,s)):(i.target=s,s)};Ya[28].handlesRead=!0;Ya[29]=e=>{let t=$0.get(e);return t.used=!0,t.target};Ya[258]=e=>new Set(e);(Ya[259]=e=>(sn.mapsAsObjects&&(sn.mapsAsObjects=!1,GS=!0),e())).handlesRead=!0;function Q8(e,t){return typeof e=="string"?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function Jh(){if(!Oo)if(sn.getShared)Fwe();else throw new Error("No packed values available");return Oo}var yha=1399353956;$we.push((e,t)=>{if(e>=225&&e<=255)return Q8(Jh().prefixes[e-224],t);if(e>=28704&&e<=32767)return Q8(Jh().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return Q8(Jh().prefixes[e-1879048192],t);if(e>=216&&e<=223)return Q8(t,Jh().suffixes[e-216]);if(e>=27647&&e<=28671)return Q8(t,Jh().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return Q8(t,Jh().suffixes[e-1811939328]);if(e==yha)return{packedValues:Oo,structures:da.slice(0),version:t};if(e==55799)return t});var bha=new Uint8Array(new Uint16Array([1]).buffer)[0]==1,kBt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array],gha=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<kBt.length;e++)vha(kBt[e],gha[e]);function vha(e,t){let n="get"+e.name.slice(0,-5),r;typeof e=="function"?r=e.BYTES_PER_ELEMENT:e=null;for(let a=0;a<2;a++){if(!a&&r==1)continue;let i=r==2?1:r==4?2:r==8?3:0;Ya[a?t:t-4]=r==1||a==bha?s=>{if(!e)throw new Error("Could not find typed array for code "+t);return!sn.copyBuffers&&(r===1||r===2&&!(s.byteOffset&1)||r===4&&!(s.byteOffset&3)||r===8&&!(s.byteOffset&7))?new e(s.buffer,s.byteOffset,s.byteLength>>i):new e(Uint8Array.prototype.slice.call(s,0).buffer)}:s=>{if(!e)throw new Error("Could not find typed array for code "+t);let o=new DataView(s.buffer,s.byteOffset,s.byteLength),l=s.length>>i,u=new e(l),d=o[n];for(let c=0;c<l;c++)u[c]=d.call(o,c<<i,a);return u}}}function _ha(){let e=e_(),t=de+ln();for(let r=2;r<e;r++){let a=e_();de+=a}let n=de;return de=t,Ka=[Qh(e_()),Qh(e_())],Ka.position0=0,Ka.position1=0,Ka.postBundlePosition=de,de=n,ln()}function e_(){let e=rt[de++]&31;if(e>23)switch(e){case 24:e=rt[de++];break;case 25:e=Us.getUint16(de),de+=2;break;case 26:e=Us.getUint32(de),de+=4;break}return e}function Fwe(){if(sn.getShared){let e=UBt(()=>(rt=null,sn.getShared()))||{},t=e.structures||[];sn.sharedVersion=e.version,Oo=sn.sharedValues=e.packedValues,da===!0?sn.structures=da=t:da.splice.apply(da,[0,t.length].concat(t))}}function UBt(e){let t=Sm,n=de,r=KS,a=JS,i=Xh,s=YS,o=Zh,l=$0,u=Ka,d=new Uint8Array(rt.slice(0,Sm)),c=da,g=sn,m=ZS,p=e();return Sm=t,de=n,KS=r,JS=a,Xh=i,YS=s,Zh=o,$0=l,Ka=u,rt=d,ZS=m,da=c,sn=g,Us=new DataView(rt.buffer,rt.byteOffset,rt.byteLength),p}function EX(){rt=null,$0=null,da=null}var wX=new Array(147);for(let e=0;e<256;e++)wX[e]=+("1e"+Math.floor(45.15-e*.30103));var Uwe=new wd({useRecords:!1}),xha=Uwe.decode,Eha=Uwe.decodeMultiple,SX={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};var TX;try{TX=new TextEncoder}catch{}var Gwe,KBt,OX=typeof globalThis=="object"&&globalThis.Buffer,XS=typeof OX<"u",Vwe=XS?OX.allocUnsafeSlow:Uint8Array,VBt=XS?OX:Uint8Array,HBt=256,zBt=XS?4294967296:2144337920;var Hwe,ie,Tr,te=0,Tm,ci=null,wha=61440,Sha=/[\u0080-\uFFFF]/,t0=Symbol("record-id"),Am=class extends wd{constructor(t){super(t),this.offset=0;let n,r,a,i,s,o;t=t||{};let l=VBt.prototype.utf8Write?function(P,U){return ie.utf8Write(P,U,ie.byteLength-U)}:TX&&TX.encodeInto?function(P,U){return TX.encodeInto(P,ie.subarray(U)).written}:!1,u=this,d=t.structures||t.saveStructures,c=t.maxSharedStructures;if(c==null&&(c=d?128:0),c>8190)throw new Error("Maximum maxSharedStructure is 8190");let g=t.sequential;g&&(c=0),this.structures||(this.structures=[]),this.saveStructures&&(this.saveShared=this.saveStructures);let m,p,y=t.sharedValues,b;if(y){b=Object.create(null);for(let P=0,U=y.length;P<U;P++)b[y[P]]=P}let v=[],E=0,x=0;this.mapEncode=function(P,U){return this._keyMap&&!this._mapped&&P.constructor.name==="Array"&&(P=P.map(q=>this.encodeKeys(q))),this.encode(P,U)},this.encode=function(P,U){if(ie||(ie=new Vwe(8192),Tr=new DataView(ie.buffer,0,8192),te=0),Tm=ie.length-10,Tm-te<2048?(ie=new Vwe(ie.length),Tr=new DataView(ie.buffer,0,ie.length),Tm=ie.length-10,te=0):U===Ywe&&(te=te+7&2147483640),r=te,u.useSelfDescribedHeader&&(Tr.setUint32(te,3654940416),te+=3),o=u.structuredClone?new Map:null,u.bundleStrings&&typeof P!="string"?(ci=[],ci.size=1/0):ci=null,a=u.structures,a){if(a.uninitialized){let D=u.getShared()||{};u.structures=a=D.structures||[],u.sharedVersion=D.version;let I=u.sharedValues=D.packedValues;if(I){b={};for(let T=0,R=I.length;T<R;T++)b[I[T]]=T}}let q=a.length;if(q>c&&!g&&(q=c),!a.transitions){a.transitions=Object.create(null);for(let D=0;D<q;D++){let I=a[D];if(!I)continue;let T,R=a.transitions;for(let L=0,$=I.length;L<$;L++){R[t0]===void 0&&(R[t0]=D);let H=I[L];T=R[H],T||(T=R[H]=Object.create(null)),R=T}R[t0]=D|1048576}}g||(a.nextId=q)}if(i&&(i=!1),s=a||[],p=b,t.pack){let q=new Map;if(q.values=[],q.encoder=u,q.maxValues=t.maxPrivatePackedValues||(b?16:1/0),q.objectMap=b||!1,q.samplingPackedValues=m,AX(P,q),q.values.length>0){ie[te++]=216,ie[te++]=51,Td(4);let D=q.values;w(D),Td(0),Td(0),p=Object.create(b||null);for(let I=0,T=D.length;I<T;I++)p[D[I]]=I}}Hwe=U&Wwe;try{if(Hwe)return;if(w(P),ci&&GBt(r,w),u.offset=te,o&&o.idsToInsert){te+=o.idsToInsert.length*2,te>Tm&&z(te),u.offset=te;let q=Iha(ie.subarray(r,te),o.idsToInsert);return o=null,q}return U&Ywe?(ie.start=r,ie.end=te,ie):ie.subarray(r,te)}finally{if(a){if(x<10&&x++,a.length>c&&(a.length=c),E>1e4)a.transitions=null,x=0,E=0,v.length>0&&(v=[]);else if(v.length>0&&!g){for(let q=0,D=v.length;q<D;q++)v[q][t0]=void 0;v=[]}}if(i&&u.saveShared){u.structures.length>c&&(u.structures=u.structures.slice(0,c));let q=ie.subarray(r,te);return u.updateSharedData()===!1?u.encode(P):q}U&Nha&&(te=r)}},this.findCommonStringsToPack=()=>(m=new Map,b||(b=Object.create(null)),P=>{let U=P&&P.threshold||4,q=this.pack?P.maxPrivatePackedValues||16:0;y||(y=this.sharedValues=[]);for(let[D,I]of m)I.count>U&&(b[D]=q++,y.push(D),i=!0);for(;this.saveShared&&this.updateSharedData()===!1;);m=null});let w=P=>{te>Tm&&(ie=z(te));var U=typeof P,q;if(U==="string"){if(p){let R=p[P];if(R>=0){R<16?ie[te++]=R+224:(ie[te++]=198,R&1?w(15-R>>1):w(R-16>>1));return}else if(m&&!t.pack){let L=m.get(P);L?L.count++:m.set(P,{count:1})}}let D=P.length;if(ci&&D>=4&&D<1024){if((ci.size+=D)>wha){let L,$=(ci[0]?ci[0].length*3+ci[1].length:0)+10;te+$>Tm&&(ie=z(te+$)),ie[te++]=217,ie[te++]=223,ie[te++]=249,ie[te++]=ci.position?132:130,ie[te++]=26,L=te-r,te+=4,ci.position&&GBt(r,w),ci=["",""],ci.size=0,ci.position=L}let R=Sha.test(P);ci[R?0:1]+=P,ie[te++]=R?206:207,w(D);return}let I;D<32?I=1:D<256?I=2:D<65536?I=3:I=5;let T=D*3;if(te+T>Tm&&(ie=z(te+T)),D<64||!l){let R,L,$,H=te+I;for(R=0;R<D;R++)L=P.charCodeAt(R),L<128?ie[H++]=L:L<2048?(ie[H++]=L>>6|192,ie[H++]=L&63|128):(L&64512)===55296&&(($=P.charCodeAt(R+1))&64512)===56320?(L=65536+((L&1023)<<10)+($&1023),R++,ie[H++]=L>>18|240,ie[H++]=L>>12&63|128,ie[H++]=L>>6&63|128,ie[H++]=L&63|128):(ie[H++]=L>>12|224,ie[H++]=L>>6&63|128,ie[H++]=L&63|128);q=H-te-I}else q=l(P,te+I,T);q<24?ie[te++]=96|q:q<256?(I<2&&ie.copyWithin(te+2,te+1,te+1+q),ie[te++]=120,ie[te++]=q):q<65536?(I<3&&ie.copyWithin(te+3,te+2,te+2+q),ie[te++]=121,ie[te++]=q>>8,ie[te++]=q&255):(I<5&&ie.copyWithin(te+5,te+3,te+3+q),ie[te++]=122,Tr.setUint32(te,q),te+=4),te+=q}else if(U==="number")if(!this.alwaysUseFloat&&P>>>0===P)P<24?ie[te++]=P:P<256?(ie[te++]=24,ie[te++]=P):P<65536?(ie[te++]=25,ie[te++]=P>>8,ie[te++]=P&255):(ie[te++]=26,Tr.setUint32(te,P),te+=4);else if(!this.alwaysUseFloat&&P>>0===P)P>=-24?ie[te++]=31-P:P>=-256?(ie[te++]=56,ie[te++]=~P):P>=-65536?(ie[te++]=57,Tr.setUint16(te,~P),te+=2):(ie[te++]=58,Tr.setUint32(te,~P),te+=4);else if(!this.alwaysUseFloat&&P<0&&P>=-4294967296&&Math.floor(P)===P)ie[te++]=58,Tr.setUint32(te,-1-P),te+=4;else{let D;if((D=this.useFloat32)>0&&P<4294967296&&P>=-2147483648){ie[te++]=250,Tr.setFloat32(te,P);let I;if(D<4||(I=P*wX[(ie[te]&127)<<1|ie[te+1]>>7])>>0===I){te+=4;return}else te--}ie[te++]=251,Tr.setFloat64(te,P),te+=8}else if(U==="object")if(!P)ie[te++]=246;else{if(o){let I=o.get(P);if(I){if(ie[te++]=216,ie[te++]=29,ie[te++]=25,!I.references){let T=o.idsToInsert||(o.idsToInsert=[]);I.references=[],T.push(I)}I.references.push(te-r),te+=2;return}else o.set(P,{offset:te-r})}let D=P.constructor;if(D===Object)this.skipFunction===!0&&(P=Object.fromEntries([...Object.keys(P).filter(I=>typeof P[I]!="function").map(I=>[I,P[I]])])),B(P);else if(D===Array){q=P.length,q<24?ie[te++]=128|q:Td(q);for(let I=0;I<q;I++)w(P[I])}else if(D===Map)if((this.mapsAsObjects?this.useTag259ForMaps!==!1:this.useTag259ForMaps)&&(ie[te++]=217,ie[te++]=1,ie[te++]=3),q=P.size,q<24?ie[te++]=160|q:q<256?(ie[te++]=184,ie[te++]=q):q<65536?(ie[te++]=185,ie[te++]=q>>8,ie[te++]=q&255):(ie[te++]=186,Tr.setUint32(te,q),te+=4),u.keyMap)for(let[I,T]of P)w(u.encodeKey(I)),w(T);else for(let[I,T]of P)w(I),w(T);else{for(let I=0,T=Gwe.length;I<T;I++){let R=KBt[I];if(P instanceof R){let L=Gwe[I],$=L.tag;$==null&&($=L.getTag&&L.getTag.call(this,P)),$<24?ie[te++]=192|$:$<256?(ie[te++]=216,ie[te++]=$):$<65536?(ie[te++]=217,ie[te++]=$>>8,ie[te++]=$&255):$>-1&&(ie[te++]=218,Tr.setUint32(te,$),te+=4),L.encode.call(this,P,w,z);return}}if(P[Symbol.iterator]){if(Hwe){let I=new Error("Iterable should be serialized as iterator");throw I.iteratorNotHandled=!0,I}ie[te++]=159;for(let I of P)w(I);ie[te++]=255;return}if(P[Symbol.asyncIterator]||zwe(P)){let I=new Error("Iterable/blob should be serialized as iterator");throw I.iteratorNotHandled=!0,I}if(this.useToJSON&&P.toJSON){let I=P.toJSON();if(I!==P)return w(I)}B(P)}}else if(U==="boolean")ie[te++]=P?245:244;else if(U==="bigint"){if(P<BigInt(1)<<BigInt(64)&&P>=0)ie[te++]=27,Tr.setBigUint64(te,P);else if(P>-(BigInt(1)<<BigInt(64))&&P<0)ie[te++]=59,Tr.setBigUint64(te,-P-BigInt(1));else if(this.largeBigIntToFloat)ie[te++]=251,Tr.setFloat64(te,Number(P));else{P>=BigInt(0)?ie[te++]=194:(ie[te++]=195,P=BigInt(-1)-P);let D=[];for(;P;)D.push(Number(P&BigInt(255))),P>>=BigInt(8);Kwe(new Uint8Array(D.reverse()),z);return}te+=8}else if(U==="undefined")ie[te++]=247;else throw new Error("Unknown type: "+U)},B=this.useRecords===!1?this.variableMapSize?P=>{let U=Object.keys(P),q=Object.values(P),D=U.length;D<24?ie[te++]=160|D:D<256?(ie[te++]=184,ie[te++]=D):D<65536?(ie[te++]=185,ie[te++]=D>>8,ie[te++]=D&255):(ie[te++]=186,Tr.setUint32(te,D),te+=4);let I;if(u.keyMap)for(let T=0;T<D;T++)w(u.encodeKey(U[T])),w(q[T]);else for(let T=0;T<D;T++)w(U[T]),w(q[T])}:P=>{ie[te++]=185;let U=te-r;te+=2;let q=0;if(u.keyMap)for(let D in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(D))&&(w(u.encodeKey(D)),w(P[D]),q++);else for(let D in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(D))&&(w(D),w(P[D]),q++);ie[U+++r]=q>>8,ie[U+r]=q&255}:(P,U)=>{let q,D=s.transitions||(s.transitions=Object.create(null)),I=0,T=0,R,L;if(this.keyMap){L=Object.keys(P).map(H=>this.encodeKey(H)),T=L.length;for(let H=0;H<T;H++){let ae=L[H];q=D[ae],q||(q=D[ae]=Object.create(null),I++),D=q}}else for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&(q=D[H],q||(D[t0]&1048576&&(R=D[t0]&65535),q=D[H]=Object.create(null),I++),D=q,T++);let $=D[t0];if($!==void 0)$&=65535,ie[te++]=217,ie[te++]=$>>8|224,ie[te++]=$&255;else if(L||(L=D.__keys__||(D.__keys__=Object.keys(P))),R===void 0?($=s.nextId++,$||($=0,s.nextId=1),$>=HBt&&(s.nextId=($=c)+1)):$=R,s[$]=L,$<c){ie[te++]=217,ie[te++]=$>>8|224,ie[te++]=$&255,D=s.transitions;for(let H=0;H<T;H++)(D[t0]===void 0||D[t0]&1048576)&&(D[t0]=$),D=D[L[H]];D[t0]=$|1048576,i=!0}else{if(D[t0]=$,Tr.setUint32(te,3655335680),te+=3,I&&(E+=x*I),v.length>=HBt-c&&(v.shift()[t0]=void 0),v.push(D),Td(T+2),w(57344+$),w(L),U)return;for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H]);return}if(T<24?ie[te++]=128|T:Td(T),!U)for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H])},z=P=>{let U;if(P>16777216){if(P-r>zBt)throw new Error("Encoded buffer would be larger than maximum buffer size");U=Math.min(zBt,Math.round(Math.max((P-r)*(P>67108864?1.25:2),4194304)/4096)*4096)}else U=(Math.max(P-r<<2,ie.length-1)>>12)+1<<12;let q=new Vwe(U);return Tr=new DataView(q.buffer,0,U),ie.copy?ie.copy(q,0,r,P):q.set(ie.slice(r,P)),te-=r,r=0,Tm=q.length-10,ie=q},j=100,V=1e3;this.encodeAsIterable=function(P,U){return M(P,U,F)},this.encodeAsAsyncIterable=function(P,U){return M(P,U,Z)};function*F(P,U,q){let D=P.constructor;if(D===Object){let I=u.useRecords!==!1;I?B(P,!0):WBt(Object.keys(P).length,160);for(let T in P){let R=P[T];I||w(T),R&&typeof R=="object"?U[T]?yield*F(R,U[T]):yield*ne(R,U,T):w(R)}}else if(D===Array){let I=P.length;Td(I);for(let T=0;T<I;T++){let R=P[T];R&&(typeof R=="object"||te-r>j)?U.element?yield*F(R,U.element):yield*ne(R,U,"element"):w(R)}}else if(P[Symbol.iterator]&&!P.buffer){ie[te++]=159;for(let I of P)I&&(typeof I=="object"||te-r>j)?U.element?yield*F(I,U.element):yield*ne(I,U,"element"):w(I);ie[te++]=255}else zwe(P)?(WBt(P.size,64),yield ie.subarray(r,te),yield P,Y()):P[Symbol.asyncIterator]?(ie[te++]=159,yield ie.subarray(r,te),yield P,Y(),ie[te++]=255):w(P);q&&te>r?yield ie.subarray(r,te):te-r>j&&(yield ie.subarray(r,te),Y())}function*ne(P,U,q){let D=te-r;try{w(P),te-r>j&&(yield ie.subarray(r,te),Y())}catch(I){if(I.iteratorNotHandled)U[q]={},te=r+D,yield*F.call(this,P,U[q]);else throw I}}function Y(){j=V,u.encode(null,Wwe)}function M(P,U,q){return U&&U.chunkThreshold?j=V=U.chunkThreshold:j=100,P&&typeof P=="object"?(u.encode(null,Wwe),q(P,u.iterateProperties||(u.iterateProperties={}),!0)):[u.encode(P)]}async function*Z(P,U){for(let q of F(P,U,!0)){let D=q.constructor;if(D===VBt||D===Uint8Array)yield q;else if(zwe(q)){let I=q.stream().getReader(),T;for(;!(T=await I.read()).done;)yield T.value}else if(q[Symbol.asyncIterator])for await(let I of q)Y(),I?yield*Z(I,U.async||(U.async={})):yield u.encode(I);else yield q}}}useBuffer(t){ie=t,Tr=new DataView(ie.buffer,ie.byteOffset,ie.byteLength),te=0}clearSharedData(){this.structures&&(this.structures=[]),this.sharedValues&&(this.sharedValues=void 0)}updateSharedData(){let t=this.sharedVersion||0;this.sharedVersion=t+1;let n=this.structures.slice(0),r=new IX(n,this.sharedValues,this.sharedVersion),a=this.saveShared(r,i=>(i&&i.version||0)==t);return a===!1?(r=this.getShared()||{},this.structures=r.structures||[],this.sharedValues=r.packedValues,this.sharedVersion=r.version,this.structures.nextId=this.structures.length):n.forEach((i,s)=>this.structures[s]=i),a}};function WBt(e,t){e<24?ie[te++]=t|e:e<256?(ie[te++]=t|24,ie[te++]=e):e<65536?(ie[te++]=t|25,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=t|26,Tr.setUint32(te,e),te+=4)}var IX=class{constructor(t,n,r){this.structures=t,this.packedValues=n,this.version=r}};function Td(e){e<24?ie[te++]=128|e:e<256?(ie[te++]=152,ie[te++]=e):e<65536?(ie[te++]=153,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=154,Tr.setUint32(te,e),te+=4)}var Tha=typeof Blob>"u"?function(){}:Blob;function zwe(e){if(e instanceof Tha)return!0;let t=e[Symbol.toStringTag];return t==="Blob"||t==="File"}function AX(e,t){switch(typeof e){case"string":if(e.length>3){if(t.objectMap[e]>-1||t.values.length>=t.maxValues)return;let r=t.get(e);if(r)++r.count==2&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let a=t.samplingPackedValues.get(e);a?a.count++:t.samplingPackedValues.set(e,{count:1})}}break;case"object":if(e)if(e instanceof Array)for(let r=0,a=e.length;r<a;r++)AX(e[r],t);else{let r=!t.encoder.useRecords;for(var n in e)e.hasOwnProperty(n)&&(r&&AX(n,t),AX(e[n],t))}break;case"function":console.log(e)}}var Aha=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;KBt=[Date,Set,Error,RegExp,Co,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?function(){}:BigInt64Array,Float32Array,Float64Array,IX];Gwe=[{tag:1,encode(e,t){let n=e.getTime()/1e3;(this.useTimestamp32||e.getMilliseconds()===0)&&n>=0&&n<4294967296?(ie[te++]=26,Tr.setUint32(te,n),te+=4):(ie[te++]=251,Tr.setFloat64(te,n),te+=8)}},{tag:258,encode(e,t){let n=Array.from(e);t(n)}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,n){Kwe(e,n)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||XS&&this.tagUint8Array!==!1))return 64},encode(e,t,n){Kwe(e,n)}},Sd(68,1),Sd(69,2),Sd(70,4),Sd(71,8),Sd(72,1),Sd(77,2),Sd(78,4),Sd(79,8),Sd(85,4),Sd(86,8),{encode(e,t){let n=e.packedValues||[],r=e.structures||[];if(n.values.length>0){ie[te++]=216,ie[te++]=51,Td(4);let a=n.values;t(a),Td(0),Td(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let i=0,s=a.length;i<s;i++)packedObjectMap[a[i]]=i}if(r){Tr.setUint32(te,3655335424),te+=3;let a=r.slice(0);a.unshift(57344),a.push(new Co(e.version,1399353956)),t(a)}else t(new Co(e.version,1399353956))}}];function Sd(e,t){return!Aha&&t>1&&(e-=4),{tag:e,encode:function(r,a){let i=r.byteLength,s=r.byteOffset||0,o=r.buffer||r;a(XS?OX.from(o,s,i):new Uint8Array(o,s,i))}}}function Kwe(e,t){let n=e.byteLength;n<24?ie[te++]=64+n:n<256?(ie[te++]=88,ie[te++]=n):n<65536?(ie[te++]=89,ie[te++]=n>>8,ie[te++]=n&255):(ie[te++]=90,Tr.setUint32(te,n),te+=4),te+n>=ie.length&&t(te+n),ie.set(e.buffer?e:new Uint8Array(e),te),te+=n}function Iha(e,t){let n,r=t.length*2,a=e.length-r;t.sort((i,s)=>i.offset>s.offset?1:-1);for(let i=0;i<t.length;i++){let s=t[i];s.id=i;for(let o of s.references)e[o++]=i>>8,e[o]=i&255}for(;n=t.pop();){let i=n.offset;e.copyWithin(i+r,i,a),r-=2;let s=i+r;e[s++]=216,e[s++]=28,a=i}return e}function GBt(e,t){Tr.setUint32(ci.position+e,te-ci.position-e+1);let n=ci;ci=null,t(n[0]),t(n[1])}var Jwe=new Am({useRecords:!1}),Oha=Jwe.encode,Cha=Jwe.encodeAsIterable,qha=Jwe.encodeAsAsyncIterable,{NEVER:Rha,ALWAYS:Pha,DECIMAL_ROUND:Mha,DECIMAL_FIT:kha}=SX,Ywe=512,Nha=1024,Wwe=2048;import{createRequire as sya}from"module";var oya=process.env.CBOR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()==="true";if(!oya){let e;try{typeof Ee=="function"?e=kjt():e=sya(import.meta.url)("cbor-extract"),e&&LBt(e.extractStrings)}catch{}}import{Buffer as QS}from"buffer";var Njt=18,Djt=new wd({mapsAsObjects:!1,useRecords:!1}),fya=new Am({mapsAsObjects:!1,useRecords:!1});function ty(e,t){if(e instanceof Uint8Array)return QS.from(e.buffer,e.byteOffset,e.byteLength);if(QS.isBuffer(e))return e;throw new Ga(`Expected byte string for ${t}`)}function aSe(e,t){return e==null?null:ty(e,t)}function Np(e,t){return e instanceof Map?e.get(t):e[t]}function $jt(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="bigint"){if(e>BigInt(Number.MAX_SAFE_INTEGER)||e<BigInt(Number.MIN_SAFE_INTEGER))throw new Ga(`Timestamp bigint outside JS safe integer range: ${e.toString()}`);return Number(e)}if(e instanceof Co&&e.tag===1)return $jt(e.value);let t=e==null?String(e):`${typeof e}:${String(e).slice(0,60)}`;throw new Ga(`Missing or invalid timestamp (${t})`)}function lya(e){let t;try{t=Djt.decode(e)}catch(c){throw new Ga(`Attestation payload is not valid CBOR: ${c.message}`)}if(!(t instanceof Map)&&(typeof t!="object"||t===null))throw new Ga("Attestation payload is not a map");let n=t,r=Np(n,"module_id"),a=Np(n,"digest"),i=$jt(Np(n,"timestamp")),s=Np(n,"pcrs"),o=Np(n,"certificate"),l=Np(n,"cabundle");if(typeof r!="string")throw new Ga("Missing or invalid module_id");if(typeof a!="string")throw new Ga("Missing or invalid digest");if(!(s instanceof Map))throw new Ga("Missing or invalid pcrs (expected CBOR map)");if(!Array.isArray(l))throw new Ga("Missing or invalid cabundle (expected array)");let u=new Map;for(let[c,g]of s.entries()){if(typeof c!="number")throw new Ga("Non-integer PCR index");u.set(c,ty(g,`pcrs[${c}]`))}let d=l.map((c,g)=>ty(c,`cabundle[${g}]`));return{moduleId:r,digest:a,timestamp:i,pcrs:u,certificateDer:ty(o,"certificate"),cabundleDer:d,publicKey:aSe(Np(n,"public_key"),"public_key"),userData:aSe(Np(n,"user_data"),"user_data"),nonce:aSe(Np(n,"nonce"),"nonce")}}function Ljt(e){let t;try{t=QS.from(e,"base64")}catch(o){throw new Ga(`attestation_document is not valid base64: ${o.message}`)}let n;try{n=Djt.decode(t)}catch(o){throw new Ga(`COSE document is not valid CBOR: ${o.message}`)}let r;if(n instanceof Co){if(n.tag!==Njt)throw new Ga(`Unexpected COSE tag ${n.tag}, expected ${Njt}`);r=n.value}else r=n;if(!Array.isArray(r)||r.length!==4)throw new Ga("COSE_Sign1 envelope must be a 4-element array");let a=ty(r[0],"protected header"),i=ty(r[2],"payload"),s=ty(r[3],"signature");return{protectedHeaderBytes:a,payloadBytes:i,signature:s,payload:lya(i)}}function Bjt(e,t){let n=fya.encode(["Signature1",e,QS.alloc(0),t]);return QS.from(n.buffer,n.byteOffset,n.byteLength)}import{X509Certificate as uya}from"crypto";function jjt(e,t){try{return new uya(e)}catch(n){throw new Ed(`Failed to parse ${t}: ${n.message}`)}}function dya(e,t,n){let r=Date.parse(e.validFrom),a=Date.parse(e.validTo);if(Number.isNaN(r)||Number.isNaN(a))throw new Ed(`Cannot parse validity window of ${n}`);if(t<r)throw new Ed(`${n} not yet valid at attestation time`);if(t>a)throw new Ed(`${n} expired before attestation time`)}function Fjt(e){let t=jjt(e.leafDer,"leaf certificate"),n=e.cabundleDer.map((l,u)=>jjt(l,`cabundle[${u}]`)),r=[t],a=new Set([t.fingerprint256]),i=t,s=16;for(let l=0;l<s&&i.subject!==i.issuer;l++){let u=[...n,e.trustedRoot].filter(c=>!a.has(c.fingerprint256)&&i.checkIssued(c)),d=null;for(let c of u)if(i.verify(c.publicKey)){d=c;break}if(!d)throw new Ed(`No issuer found for certificate with subject ${i.subject}`);r.push(d),a.add(d.fingerprint256),i=d}if(r[r.length-1].fingerprint256!==e.trustedRoot.fingerprint256)throw new Ed("Certificate chain does not terminate at the trusted AWS Nitro Root CA");for(let l=0;l<r.length;l++)dya(r[l],e.refTimeMs,l===0?"leaf":`chain[${l}]`);return{leaf:t,chain:r}}function mya(e){try{return new pya(e)}catch(t){throw new D0(`Failed to parse bundled AWS Nitro Root CA: ${t.message}`)}}function hya(e,t){if(!t||t.length===0)throw new wm("Attestation payload does not include a public key");let n;try{n=Ujt({key:e,format:"pem"})}catch(a){throw new wm(`Response public_key is not a valid PEM key: ${a.message}`)}let r;try{let a=n.export({type:"spki",format:"der"});r=Vjt.isBuffer(a)?a:Vjt.from(a)}catch(a){throw new wm(`Failed to encode response public key as SPKI DER: ${a.message}`)}if(!r.equals(t))throw new wm("Response public_key does not match the public key endorsed by the attestation");return Ujt({key:t,format:"der",type:"spki"})}function iSe(e,t,n=Date.now()){if(!e||typeof e.attestation_document!="string"||typeof e.public_key!="string")throw new Ga("Response missing attestation_document or public_key");let r=Ljt(e.attestation_document),a=mya(t.awsNitroRootCaPem),{leaf:i}=Fjt({leafDer:r.payload.certificateDer,cabundleDer:r.payload.cabundleDer,trustedRoot:a,refTimeMs:r.payload.timestamp}),s=Bjt(r.protectedHeaderBytes,r.payloadBytes),o=!1;try{o=cya("sha384",s,{key:i.publicKey,dsaEncoding:"ieee-p1363"},r.signature)}catch(c){throw new Z8(`COSE signature verification failed: ${c.message}`)}if(!o)throw new Z8("COSE signature did not verify against the leaf certificate");let l=hya(e.public_key,r.payload.publicKey),u=Math.abs(n-r.payload.timestamp);if(u>t.maxAttestationAgeMs)throw new zS(`Attestation timestamp is ${u}ms from local clock, exceeds maxAttestationAgeMs ${t.maxAttestationAgeMs}`);let d={};for(let[c,g]of r.payload.pcrs.entries())d[c]=CBt(g);return{publicKey:l,pcrs:d,timestamp:r.payload.timestamp,moduleId:r.payload.moduleId}}function Hjt(e){if(yya.isAxiosError(e)&&e.response?.data){let t=e.response.data;return console.log(eT.red(t.message)),typeof t=="string"?t:t.message||JSON.stringify(t)}return e instanceof Error?e.message:String(e)}async function bya(e,t){try{let n=g0({namespace:t});return(await e.post("getkey",n)).data}catch(n){return Hjt(n),console.error(eT.red("Failed to retrieve encryption key from Hub-TEE-KMS. Please try again")),null}}function gya(e){let t=typeof e.publicKey=="string"?ru.createPublicKey({key:e.publicKey,format:"pem"}):e.publicKey,n=ru.randomBytes(32),r=ru.randomBytes(12),a=ru.createCipheriv("aes-256-gcm",n,r),i=Buffer.concat([a.update(e.authString,"utf8"),a.final()]),s=a.getAuthTag(),o=Buffer.concat([i,s]),l=ru.publicEncrypt({key:t,padding:ru.constants.RSA_PKCS1_OAEP_PADDING,oaepHash:"sha256"},n);return n.fill(0),{encrypted_authString:o.toString("base64"),encrypted_key:l.toString("base64"),iv:r.toString("base64")}}async function zjt(e,t,n,r=Nwe()){try{let a=await bya(e,n);if(!a)return null;let i;try{i=iSe(a,r).publicKey}catch(o){if(o instanceof D0)return console.error(eT.red(`Enclave attestation verification failed (${o.name}): ${o.message}`)),console.error(eT.red("Refusing to encrypt credentials to an unverified public key.")),null;throw o}return{...gya({publicKey:i,authString:t}),public_key:a.public_key}}catch(a){return Hjt(a),console.error(eT.red("Failed to encrypt credentials. Please try again.")),null}}async function Wjt(e,t,n){let r=await zjt(e,n,t.namespace);if(!r)return null;let a=g0({...t,public_key:r.public_key,encrypted_authString:r.encrypted_authString,encrypted_key:r.encrypted_key,iv:r.iv});try{return await e.post("credentials",a),{ok:!0}}catch(i){return vya.isAxiosError(i)&&i.response?{ok:!1,status:i.response.status}:(b0(i),null)}}async function Gjt(e,t,n,r,a,i,s){console.log("Deploying the API Authentication Credentials");try{if(!fBt(i))throw"Invalid private key provided";if(!_ya.isAddress(s))throw"Invalid address provided";if(kne(r,a),!J8(e))throw"Invalid taskId";let o=await dYe(),l={taskId:e,namespace:t,taskName:n,method:r};console.log("Encrypting credentials...");let u=await Wjt(o,l,a);if(!u)return;if(!u.ok)if(u.status===403){console.log(sSe.yellow("TEE rejected the session (403). Fetching a fresh session key and retrying once..."));let d=await Wjt(o,l,a);if(!d)return;if(!d.ok)throw`TEE rejected credentials twice with status ${d.status}. Aborting to avoid a hot loop.`}else throw`TEE rejected credentials with status ${u.status}`;console.log("The encrypted credentials were deployed "+sSe.green("Successfully"))}catch(o){let l=o instanceof Error?o.message:String(o);console.error(sSe.red(l));return}}import Om from"colors";Rs();var xya=3e4,kX=null;async function Kjt(){if(kX&&kX.expiresAt>Date.now())return kX.chains;let n=(await(await z5()).get("chains")).data??[];return kX={chains:n,expiresAt:Date.now()+xya},n}async function Yjt(){let e;try{e=await Kjt()}catch(a){throw`Failed to fetch supported chains: ${a instanceof Error?a.message:String(a)}`}if(e.length===0){console.log(Om.yellow("No chains configured on this deployment."));return}let t=e.map(a=>({chainId:String(a.chainId),name:a.displayName,symbol:a.symbol,network:a.isTestnet?"testnet":"mainnet"})).sort((a,i)=>a.name.localeCompare(i.name)),n={chainId:Math.max(8,...t.map(a=>a.chainId.length)),name:Math.max(4,...t.map(a=>a.name.length)),symbol:Math.max(6,...t.map(a=>a.symbol.length)),network:Math.max(7,...t.map(a=>a.network.length))},r=(a,i)=>a+" ".repeat(Math.max(0,i-a.length));console.log(Om.cyan(r("chainId",n.chainId)+" "+r("name",n.name)+" "+r("symbol",n.symbol)+" network")),console.log(Om.gray("-".repeat(n.chainId)+" "+"-".repeat(n.name)+" "+"-".repeat(n.symbol)+" "+"-".repeat(n.network)));for(let a of t)console.log(Om.yellow(r(a.chainId,n.chainId))+" "+Om.white(r(a.name,n.name))+" "+Om.gray(r(a.symbol,n.symbol))+" "+(a.network==="mainnet"?Om.green(a.network):Om.gray(a.network)))}import{inspect as uba}from"util";import gs from"ora";import{v4 as dba}from"uuid";import{ethers as KX}from"ethers";var Jjt={name:"@truebit/cli",version:"1.132.1",private:!1,description:"truebit-cli is a basic command line that allows interaction between users and truebit nextgen node.",author:{name:"Truebit Co.",url:"https://truebit.io/"},license:"https://truebit.io/terms/",repository:{type:"git",url:"https://github.com/TruebitProtocol"},homepage:"https://truebit.io/",main:"build/index.mjs",module:"build/index.mjs",types:"build/types/index.d.ts",type:"module",scripts:{prebuild:"rimraf build logs","prebuild:dev":"rimraf build logs","build:dev":"tsc && chmod +x build/index.mjs",build:"NODE_ENV=production node esbuild.config.mjs && chmod +x build/index.mjs",dev:"export NODE_ENV=development && npx nodemon",test:"vitest run --passWithNoTests tests/"},dependencies:{axios:"1.17.0","cbor-x":"1.6.4",chalk:"5.6.2",colors:"1.4.0",commander:"15.0.0",ethers:"6.16.0",figlet:"1.11.0","form-data":"4.0.5","openapi-enforcer":"1.23.0",ora:"9.4.0","public-ip":"8.0.0","ts-retry":"6.0.0",uuid:"14.0.0"},bin:{truebit:"build/index.mjs"},files:["build"],devDependencies:{"@types/figlet":"1.7.0","@vitest/coverage-v8":"4.1.8",esbuild:"0.28.0",typescript:"5.9.3",vitest:"4.1.8"},engines:{node:">=22.13.0"}};ki();Rs();f0();ki();import{createInterface as Oya}from"node:readline/promises";import Dp from"chalk";Rs();import tT from"axios";import{ethers as r_}from"ethers";import{randomBytes as wya}from"crypto";import{v4 as Sya}from"uuid";ki();import{ethers as NX}from"ethers";async function Zjt(e){Kh(e);let t=Qi(),n=lr(t,Ot.AVAX),r=NX.keccak256(NX.toUtf8Bytes(e));return await n.authorization.registerAuthorization(r),r}async function oSe(e,t,n=Qt("address")){Kh(e);let r=Qi(),a=lr(r,Ot.AVAX),i=await a.authorization.getEIP712Domain(),s=await a.authorization.nonces(n),o=Math.floor(Date.now()/1e3)+3600,l={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},u=NX.keccak256(NX.toUtf8Bytes(e)),d={user:n,apiKeyHash:u,nonce:Number(s),deadline:o};if(!a.utils)throw new Error("Private key is required for signing operations");let c=await a.utils.signMeta(i,l,d);return(await uBt(n,u,o,c,t)).status==201?u:null}ki();f0();import{isTooManyTries as Xjt,retryAsync as Qjt}from"ts-retry";var eFt="0x0000000000000000000000000000000000000000";async function tFt(e){let t=!0;return e===""?(t=!1,console.log("An email address is required. Please provide your email address to proceed.")):new RegExp(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(e)?await Tya(e)&&(t=!1,console.log("The provided email address is already in use. Please enter a different email address.")):(t=!1,console.log("The email address provided is not valid. Please try again.")),t}function ny(e){return e==="Y"||e==="N"}function nFt(e){return!r_.isAddress(e)||e.length!==42||!e.startsWith("0x")}async function rFt(){let e=Qi(),t=lr(e,Ot.AVAX),n=Qt("address"),r=await Iya(),a=await Aya();Kh(a);let i=r_.keccak256(r_.toUtf8Bytes(a)),s=Math.floor(Date.now()/1e3)+3600,o=await t.taskRegistry.getEIP712Domain(),l=await t.authorization.getEIP712Domain(),u={RegisterTaskNamespaceMeta:[{name:"user",type:"address"},{name:"namespace",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},d={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},c=BigInt(await t.taskRegistry.nonces(n)),g=await t.authorization.nonces(n),m={user:r_.getAddress(n),namespace:r,nonce:c,deadline:s},p={user:n,apiKeyHash:i,nonce:Number(g),deadline:s};if(!t.utils)throw new Error("Private key is required for signing operations");let y=await t.utils.signMeta(o,u,m),b=await t.utils.signMeta(l,d,p),v={user:n,namespace:r,apiKeyHash:i,namespaceSignature:y,apiKeySignature:b,namespaceDeadline:s,apiKeyDeadline:s};try{let E=await dBt(v);if(E.status!==201)throw new Error("Registration failed with unexpected status");if(!E.data.namespaceRegistration.success)throw new Error("Namespace registration failed");if(!E.data.apiKeyRegistration.success)throw new Error("API key registration failed");return{namespace:r,apiKey:a,hashedApiKey:i}}catch(E){let x=E.message;throw new Error(`Combined registration failed: ${x}`)}}async function Tya(e){let t=await qs();try{return(await t.get(`userexistence/${e}`)).data===!0}catch(n){if(tT.isAxiosError(n)&&n.response?.status===404&&typeof n.response?.data?.message=="string"&&n.response.data.message.includes("User not found"))return!1;throw n}}async function DX(e,t){try{let n={message:"I am a Truebit User"};if(!t)throw Error("Secret.json does not exists");let r=t.privateKey,a=t.address,i=Ma.createSignedBody(n,r,a);return(await(await qs()).get(`user/${e}`,{headers:{"truebit-auth":JSON.stringify(i)}})).data}catch(n){if(tT.isAxiosError(n)&&n.response?.status===401&&n.response?.data.message.includes("Entitlement Validation Error")||tT.isAxiosError(n)&&n.response?.status==404&&n.response?.data.message&&n.response?.data.message.includes("User not found"))return null;throw tT.isAxiosError(n)?n.response?Error(`The server responding with an error -> ${n.response.data.message||n.response.status+" - "+n.response.statusText}`):n.request?Error(`The server is not responding -> ${n.message}`):Error(`There was an error in the communication with the server -> ${n.message}`):Error(typeof n=="string"?`There was an error in the communication with the server -> ${n}`:"There was an error in the communication with the server.")}}async function aFt(e){try{return await(await qs()).post("user/register",e)}catch(t){throw tT.isAxiosError(t)?t.response?Error(`The server responding with an error -> ${t.response.data.message||t.response.status+" - "+t.response.statusText}`):t.request?Error(`The server is not responding -> ${t.message}`):Error(`There was an error in the communication with the server -> ${t.message}`):Error(typeof t=="string"?`There was an error in the communication with the server -> ${t}`:"There was an error in the communication with the server.")}}async function Aya(){let e=Qi(),t=lr(e,Ot.AVAX),n="";try{await Qjt(async()=>{n=Sya();let r=r_.keccak256(r_.toUtf8Bytes(n));return await t.authorization.getPayerAddress(r)===eFt},{delay:500,maxTry:5,until:r=>r===!0})}catch(r){throw Xjt(r)?Error("Attempts to generate unique Api Key for the user exhausted."):r}return n}async function Iya(){let e=Qi(),t=lr(e,Ot.AVAX),n="";try{await Qjt(async()=>(n=wya(4).toString("hex"),await t.taskRegistry.getNamespaceOwner(n)===eFt),{delay:500,maxTry:5,until:r=>r===!0})}catch(r){throw Xjt(r)?Error("Attempts to generate unique namespace for the user exhausted."):r}return n}function iFt(e){e.fullNameAnswer="",e.emailAddressAnswer="",e.companyNameAnswer="",e.jobPositionAnswer="",e.eulaAnswer="",e.confirmRegistration=""}f0();g6();import Cya from"ora";import*as $X from"os";async function sFt(e,t,n){let r=Ps(),a=r!==null,i=0,s,o=Oya({input:process.stdin,output:process.stdout,terminal:!0});switch(a&&(nFt(r.address)?i=1:(s=await DX(r.address,r),s?i=2:i=3)),i){case 1:console.log("The wallet set in the configuration must be a valid ethereum address. (ENS not supported yet)");break;case 2:console.log(_r.SETUP_STEP1_SCENARIO1_P2(s));break;case 3:{console.log(_r.SETUP_STEP2_SCENARIO3_P1),console.log();let l={user_ip:e,date_time:ia(),os_version:$X.type+"_"+$X.release,node_version:process.version,cli_version:t};await n.sendEventToMixpanel("user_registration_begin",l);let u={confirmRegistration:"",fullNameAnswer:"",emailAddressAnswer:"",companyNameAnswer:"",jobPositionAnswer:"",eulaAnswer:""};try{for(;u.confirmRegistration!="Y";){for(u.fullNameAnswer=(await o.question(Dp.bold(" 1. Full Name: "))).trim();u.fullNameAnswer==="";)console.log("Your full name is required. Please provide your first and last name to proceed."),u.fullNameAnswer=(await o.question(Dp.bold(" 1. Full Name: "))).trim();for(u.emailAddressAnswer=(await o.question(Dp.bold(" 2. Email Address: "))).trim();!await tFt(u.emailAddressAnswer);)u.emailAddressAnswer=(await o.question(Dp.bold(" 2. Email Address: "))).trim();for(u.companyNameAnswer=(await o.question(Dp.bold(" 3. Company Name: "))).trim(),u.jobPositionAnswer=(await o.question(Dp.bold(" 4. Job Position: "))).trim();!ny(u.eulaAnswer);)u.eulaAnswer=(await o.question(Dp.bold(` 5. Accept EULA? [Y|N] (${_r.EULA_TERMS_LINK}): `))).toUpperCase();if(u.eulaAnswer=="N"){console.log(_r.EULA_REGISTRATION_NO_ACCEPTED);break}for(;!ny(u.confirmRegistration);)console.log(`
522
522
  Is the information provided above correct?`),u.confirmRegistration=(await o.question(Dp.bold("Press [Y] to confirm or [N] to edit: "))).toUpperCase();u.confirmRegistration=="N"&&(console.log(`
523
523
  Please provide the following information:`),iFt(u))}}catch(g){if(g.name==="AbortError"||g.message.includes("Ctrl+C")){let m=g.message,p=l;p.error_details=m,p.date_time=ia();let y={fullname:u.fullNameAnswer,email:u.emailAddressAnswer,company:u.companyNameAnswer,role:u.jobPositionAnswer};p.user_info=JSON.stringify(y),await n.sendEventToMixpanel("user_registration_failed",p),process.exit(0)}}if(u.eulaAnswer=="N")break;let d=l;console.log(),console.log("By completing registration, you'll be automatically subscribed to our newsletter."),console.log("To opt-out, please follow the steps described in our documentation portal."),console.log();let c=Cya({text:Dp.bold("... registering your account."),stream:process.stdout}).start();try{let{namespace:g,apiKey:m}=await rFt(),p={name:u.fullNameAnswer,email:u.emailAddressAnswer,walletAddress:r?.address,company:u.companyNameAnswer,jobDescription:u.jobPositionAnswer,EULA:Ma.createSignedBody({ip:await FC(),date:new Date().toISOString()},r.privateKey),defaultNamespace:g,defaultApiKey:m};await aFt(p),c.stop(),console.log(_r.SETUP_STEP2_SCENARIO3_P2(u,r.address,g,m)),d.distinct_id=p.walletAddress,d.date_time=ia(),d.fullname=p.name,d.email=p.email,d.company=p.company,d.role=p.jobDescription,d.namespace=p.defaultNamespace,d.api_key=m,d.wallet_address=p.walletAddress,await n.sendEventToMixpanel("user_registration_success",d),await n.registerUserMixpanel(d.wallet_address,qya(d))}catch(g){c.stop();let m=g.message,p=l;p.error_details=m,p.date_time=ia();let y={fullname:u.fullNameAnswer,email:u.emailAddressAnswer,company:u.companyNameAnswer,role:u.jobPositionAnswer};p.user_info=JSON.stringify(y),await n.sendEventToMixpanel("user_registration_failed",p);let b=m?m.match(/CreateUserValidation - (.*?.*)/)?.[1]:null;if(b)throw Error(b);if(m.includes("Sender doesn't have enough funds to send tx"))throw Error("We are currently experiencing technical difficulties. Please try again later.");console.error(_r.SETUP_STEP2_UNHANDLED_ERROR),process.exit(1)}finally{c.clear()}break}default:throw Error("An unexpected error occurred.")}o.close()}function qya(e){return{apiKey:e.api_key,name:e.fullname,email:e.email,ip:e.user_ip,company:e.company,role:e.role,namespace:e.namespace,walletAddress:e.wallet_address}}import{setDefaultAutoSelectFamily as cba}from"node:net";import Rya from"chalk";ki();g6();import{createInterface as Pya}from"node:readline/promises";import*as LX from"os";async function oFt(e,t,n){let r=Ps(),a=r!==null,i;switch(a?a&&!r.eula?i=2:i=3:i=1,i){case 1:case 2:{let s=Pya({input:process.stdin,output:process.stdout,terminal:!0}),o="",l={user_ip:e,date_time:ia(),os_version:LX.type+"_"+LX.release,node_version:process.version,cli_version:t};for(console.log(_r.EULA_INSTALLATION);!ny(o);)o=(await s.question(Rya.bold(`
524
524
  Have you read, and do you accept the Terms of Use? [Y|N]: `))).toUpperCase(),await n.sendEventToMixpanel("TOS_shown",l);if(o=="N")throw l.date_time=ia(),await n.sendEventToMixpanel("TOS_rejected",l),_r.EULA_INSTALLATION_NO_ACCEPTED;l.date_time=ia(),await n.sendEventToMixpanel("TOS_accepted",l);let u=Math.round(new Date().getTime()).toString();if(i===1){let d={...pfe(),eula:u};hYe(d)}else i===2&&hx({eula:u});s.close()}break;default:break}}ki();g6();async function bs(e=!1){let t=Ps(),n=t!==null,r=null,a;switch(n?n&&(!t.privateKey||!t.address)?a=2:(r=await DX(t.address,t),r?a=4:a=3):a=1,a){case 1:case 2:case 3:console.log(_r.USER_NO_REGISTERED),process.exit(1);break;case 4:e&&console.log(`You are logged in as: ${r?.name} - ${r?.email}`);break}}import{createInterface as Mya}from"node:readline/promises";g6();ki();import kya from"chalk";async function fFt(){console.log(kya.bold(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truebit/cli",
3
- "version": "1.131.0",
3
+ "version": "1.132.1",
4
4
  "private": false,
5
5
  "description": "truebit-cli is a basic command line that allows interaction between users and truebit nextgen node.",
6
6
  "author": {
@@ -56,5 +56,5 @@
56
56
  "engines": {
57
57
  "node": ">=22.13.0"
58
58
  },
59
- "gitHead": "0709740d269071e907ca1aad6f6f481628b95091"
59
+ "gitHead": "b9409bdf1c9d75bcf5541d8a27bed4d3eb4d4ffd"
60
60
  }